.access-page{background:var(--bg,#f3f6f1);place-items:center;min-height:100vh;padding:24px;display:grid}.access-card{gap:15px;width:min(460px,100%);padding:36px;display:grid}.access-card h1{font-size:30px}.access-card h2{font-size:19px}.access-card form,.access-card label{gap:10px;display:grid}.access-card form{gap:20px}.access-card input{font:inherit;border:1px solid var(--line,#d8dfd5);border-radius:8px;width:100%;padding:12px}.access-card .error-banner,.access-card .notice{overflow-wrap:anywhere}.access-card input{min-width:0}.access-card .button{min-height:44px}@media (width<=768px){.access-page{min-height:100svh;padding:calc(24px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.access-page input{font-size:16px}.access-card{padding:28px 24px}}.logout-dialog{width:min(400px,100% - 32px);max-height:calc(100% - 32px);color:var(--ink);overflow:auto}.logout-dialog::backdrop{background:#172a20a8}.logout-dialog h2{margin-bottom:8px;font-size:20px}.logout-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.logout-actions .button{min-height:44px}.logout-confirm{color:#fff;background:#a8322d}:root{color:#253830;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green:#285542;--ink:#253830;--text:#253830;--forest:#285542;--muted:#687b6e;--line:#e4e8df;--bg:#f5f6f2;background:#f5f6f2;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a,input,select,textarea{outline-offset:4px}button{border:0}a{color:var(--green)}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-1px;font-size:34px;font-weight:650;line-height:1.5}h2{font-weight:600}h3{font-size:17px;font-weight:600}p{color:#68796d;font-size:14px;line-height:1.85}.eyebrow{letter-spacing:2px;color:#95a18d;margin-bottom:11px;font-size:9px;font-weight:600}.button{border-radius:7px;justify-content:center;align-items:center;gap:11px;padding:12px 18px;font-size:12px;font-weight:550;transition:transform .15s,background .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{color:#f2f6ea;background:#315b40}.button.ghost{color:#50654c;background:#eff2e9;border:1px solid #dce4d5}.muted{color:#97a08e}.small{font-size:10px}.panel{border:1px solid var(--line);background:#fffefb;border-radius:12px;padding:25px}.error-banner{color:#a45946;background:#fff1eb;border:1px solid #edd5c9;border-radius:8px;margin:15px 0;padding:14px 18px;font-size:12px;line-height:1.8}.notice{color:#758369;background:#eef2e8;border:1px solid #dee7d4;border-radius:8px;padding:14px 17px;font-size:11px;line-height:1.9}.loading{color:#93a185;justify-content:center;align-items:center;gap:10px;min-height:200px;font-size:13px;display:flex}.spinner{border:2px solid #dfe7d6;border-top-color:#4c7152;border-radius:50%;width:18px;height:18px;animation:1s linear infinite spin}.note{color:#9aa58d;font-size:10px;line-height:1.85}@keyframes spin{to{transform:rotate(360deg)}}.module-error{text-align:center;justify-items:center;gap:16px;padding:40px 24px;display:grid}
