/* Sign-in, forgotten password and reset pages: one small stylesheet, no app code.
   These pages are served before a session exists, so they stay independent of the app shell. */
:root{--paper:#F7F5F1;--ink:#231B16;--ink2:#6A5F55;--line:#E2DAD0;--gold:#C98A2C;--gold-deep:#8F5A14;
      --gold-soft:#F7EDDB;--stop:#A63D3D;--go:#2F6B4F;--r:8px}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);
     font:400 15.5px/1.5 "Source Sans 3","Segoe UI",system-ui,sans-serif}
main.card{margin:auto}

/* the same masthead as the front page, so the way back is always in the same place */
.site-head{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:13px 30px;
  border-bottom:1px solid var(--line);background:rgba(252,251,249,.94)}
.site-head .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;margin:0}
.site-head .brand img{height:28px;width:auto;display:block}
.site-head .brand-name{font-weight:600;font-size:.96rem;letter-spacing:.24em;text-transform:uppercase;line-height:1.05;display:block}
.site-head .brand-tag{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.6rem;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin-top:4px}
.site-head .beta{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.6rem;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-deep);border:1px solid #E6D3AE;background:var(--gold-soft);
  border-radius:2px;padding:4px 8px;margin-left:6px}
.site-head nav{margin-left:auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.site-head nav a{text-decoration:none;color:var(--ink2);font-size:.88rem}
.site-head nav a:hover{color:var(--ink)}
.site-head nav a.cta{color:#fff;background:var(--ink);padding:8px 16px;border-radius:2px;font-weight:600;font-size:.85rem}
.site-head nav a.cta:hover{background:var(--gold-deep)}
@media (max-width:640px){
  .site-head{padding:12px 16px;gap:12px}
  .site-head nav{gap:14px;width:100%;margin-left:0}
}
.card{width:100%;max-width:380px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);
      border-radius:var(--r);padding:28px 28px 24px;box-shadow:0 1px 3px rgba(35,27,22,.06)}
.brand{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.brand img{height:30px;width:auto;display:block}
.brand-name{font-weight:700;font-size:1.02rem;letter-spacing:.16em;text-transform:uppercase;line-height:1.05}
.brand-tag{display:block;font-size:.7rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-deep);margin-top:3px}
h1{font-size:1.2rem;font-weight:600;margin:0 0 4px}
p.hint{margin:0 0 18px;color:var(--ink2);font-size:.9rem}
label{display:block;font-size:.9rem;color:var(--ink2);margin-top:14px}
input{font:inherit;width:100%;margin-top:5px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink)}
input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
button{font:600 15.5px/1 "Source Sans 3",system-ui,sans-serif;width:100%;margin-top:20px;padding:11px 16px;border:1px solid var(--ink);
       border-radius:var(--r);background:var(--ink);color:#fff;cursor:pointer}
button:hover{background:var(--gold-deep);border-color:var(--gold-deep)}
button:disabled{opacity:.6;cursor:default}
.msg{margin-top:14px;min-height:1.2em;font-size:.9rem;color:var(--stop)}
.msg.good{color:var(--go)}
.foot{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink2)}
.foot a,.hint a{color:var(--gold-deep)}
[hidden]{display:none !important}
