/* Sign-in page. Same colours and type as the dashboard (styles.css), with the dashboard's AAA tokens (app.css):
   every text >= 7:1 and every control border >= 4.5:1 in dark and light; every text >= 18px at <= 480px. */
:root{--muted:#bccfd8;--quiet:#bccfd8;--orange2:#ffc49f;--danger:#ffb8ba;--line-strong:#94aebd;--btn-bg:#ff965c;--btn-text:#071824;--danger-bg:rgba(255,184,186,.09)}
html[data-theme='light']{--muted:#34505f;--quiet:#34505f;--orange2:#7d300e;--danger:#8a2431;--line-strong:#56707e;--btn-bg:#7d300e;--btn-text:#ffffff;--danger-bg:rgba(138,36,49,.06)}
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 14px;background:radial-gradient(1200px 500px at 85% -10%,rgba(249,140,76,.13),transparent 60%),var(--bg)}
.login-wrap{width:100%;max-width:440px}
.login-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:30px 28px 22px}
.login-brand{margin:0 0 28px;padding:0}
.login-card h1{font-size:26px;letter-spacing:-.6px;margin:0 0 8px}
.login-lead{color:var(--muted);font-size:15px;line-height:1.55;margin:0 0 20px}
.login-card label{display:block;font-size:13px;font-weight:760;letter-spacing:.4px;color:var(--muted);margin:16px 0 7px}
.login-card input{width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--surface2);border:1px solid var(--line-strong);border-radius:10px;padding:12px 13px;min-height:48px}
.login-card input:focus-visible{outline:3px solid var(--orange2);outline-offset:1px;border-color:var(--orange2)}
.login-hint{display:block;color:var(--quiet);font-size:13px;margin-top:7px;line-height:1.5}
.login-error{color:var(--danger);font-size:15px;line-height:1.5;margin:16px 0 0;border-left:3px solid var(--danger);padding:9px 12px;background:var(--danger-bg);border-radius:0 8px 8px 0}
.login-card .primary-button{background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-text)}
.login-card .ghost-button{border-color:var(--line-strong);color:var(--text)}
.login-button{width:100%;margin-top:22px;min-height:48px;font-size:15px}
.login-link{width:100%;margin-top:10px;min-height:46px;font-size:15px}
.login-foot{color:var(--quiet);font-size:13px;line-height:1.5;text-align:center;margin:22px 0 0}
@media(max-width:480px){
  .login-body{padding:18px 12px}
  .login-card{padding:24px 18px 20px}
  .login-card h1{font-size:26px}
  .login-lead,.login-card label,.login-card input,.login-hint,.login-error,.login-button,.login-link,.login-foot{font-size:18px}
  .login-brand{margin-bottom:22px}
  .login-brand .brand-words b{font-size:18px;letter-spacing:1px}
  .login-brand .brand-words span{font-size:18px;letter-spacing:1.4px}
}
@media(max-width:360px){.login-card{padding:20px 14px 18px}.login-brand{gap:9px}.login-brand .brand-logo{width:48px;height:52px}.login-brand .brand-logo img{width:42px;height:46px}}
