:root{--auth-ink:#18231d;--auth-muted:#69736c;--auth-lime:#c0f65c}
.login-page{box-sizing:border-box;min-height:100vh;min-height:100dvh;margin:0;padding:48px 20px;display:grid;place-items:center;background:#f4f6f3;color:var(--auth-ink);font:16px/1.5 Arial,Helvetica,sans-serif}
.login-page *{box-sizing:border-box}.login-card{width:min(100%,460px);padding:38px 40px;background:#fff;border:1px solid #e2e8e2;border-radius:20px;box-shadow:0 18px 65px #15231c0d}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:40px;font-size:14px;font-weight:800;line-height:1.2;letter-spacing:1.2px}.login-logo{background:var(--auth-lime);padding:13px 11px;border-radius:12px;font-size:25px;letter-spacing:0}
.login-eyebrow{color:#6b7d6e;font-size:11px;font-weight:bold;letter-spacing:1.7px}.login-card h1{font-size:29px;line-height:1.17;letter-spacing:-.8px;margin:10px 0 12px}.login-intro{margin:0 0 28px;color:var(--auth-muted);font-size:15px}.login-card label{display:block;margin:18px 0 7px;font-size:14px;font-weight:600}.login-card input{width:100%;min-width:0;padding:13px 14px;border:1px solid #cfd9cc;border-radius:9px;font:inherit;color:var(--auth-ink);background:white}.login-card input:focus{outline:2px solid #6c983b;outline-offset:2px}.login-card button{font:inherit;cursor:pointer}.login-card button:disabled{cursor:wait;opacity:.65}.login-card button:focus-visible,.login-card a:focus-visible{outline:2px solid #52762e;outline-offset:4px}.password-field{position:relative}.password-field input{padding-right:100px}.password-field button{position:absolute;right:6px;top:6px;bottom:6px;padding:6px 9px;background:#f1f5ed;color:#34462b;border:0;border-radius:6px;font-size:12px}.auth-primary{width:100%;margin-top:24px;border:0;border-radius:9px;background:var(--auth-lime);color:var(--auth-ink);padding:14px 20px;font-weight:700!important}.login-help{color:var(--auth-muted);font-size:12px;margin:24px 0 0;padding-top:22px;border-top:1px solid #e2e8e2}.auth-notice,.auth-error{border-radius:8px;padding:11px 13px;font-size:14px;line-height:1.5}.auth-notice{background:#eaf2dd;color:#3d5b25}.auth-error{background:#fff0e6;color:#933e21}.auth-error:empty{display:none}[hidden]{display:none!important}
.account-header{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.account-header .profile{max-width:320px;text-align:right}.account-button{white-space:nowrap}.account-dialog{width:min(460px,94vw)}.account-identity{color:var(--auth-muted);font-size:14px;margin:0 0 24px;overflow-wrap:anywhere}.account-dialog h3{margin-bottom:14px}.account-dialog .password-hint{margin-top:-6px}.account-dialog .form-actions{justify-content:flex-end}.account-logout{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;margin-top:24px;border-top:1px solid #e2e8e2}.account-logout p{margin:0;max-width:220px}.auth-success{color:#345226;font-size:14px}.session-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.session-actions a{text-decoration:none;color:var(--auth-ink);display:inline-block}.session-actions .primary{font-size:14px}.session-info{font-size:14px;line-height:1.6}.session-dialog{width:min(510px,94vw)}.session-dialog h2{margin-bottom:14px}
@media(max-width:700px){header{align-items:flex-start;gap:16px}.account-header{gap:8px;max-width:48%}.account-header .profile{font-size:12px}.account-button{font-size:12px;padding:8px}.account-dialog{padding:22px}}
@media(max-width:480px){.login-page{padding:20px 16px}.login-card{padding:28px 24px;border-radius:16px}.login-brand{margin-bottom:30px}.login-card h1{font-size:26px}.account-logout{align-items:flex-start}.session-actions>*{width:100%;text-align:center}}
