/* Sign-in and first-run pages. Served without a session, so it holds nothing
   but the brand tokens from phronesislabs.net and two small forms. */
@font-face{font-family:"Hanken Grotesk";src:url("/pub/fonts/HankenGrotesk.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap}
:root{--navy:#15263F;--navy-deep:#122036;--cream:#F7F6F2;--paper:#FAF8F2;--orange:#EE5A1A;--orange-aa:#CA4210;--orange-aa-hover:#B23A0E;--line:#E7E2D6;--ink:#454E5E;--muted:#646B79;
--sans:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:var(--sans);background:var(--navy-deep);color:var(--ink);display:grid;place-items:center;min-height:100vh;padding:24px}
.card{background:var(--paper);border-radius:14px;padding:36px 32px;width:100%;max-width:400px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:26px;background:var(--navy);border-radius:10px;padding:14px 16px}
.brand img{height:40px;width:auto}
.brand span{color:var(--cream);font-weight:600;font-size:18px;letter-spacing:-.01em}
.brand small{display:block;font-weight:400;font-size:12px;color:#C4CEDE;letter-spacing:.08em;text-transform:uppercase}
h1{font-size:22px;font-weight:600;color:var(--navy);margin:0 0 6px;letter-spacing:-.02em}
p{margin:0 0 18px;font-size:14px;line-height:1.5}
label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin:14px 0 6px}
input{width:100%;font:inherit;font-size:16px;padding:11px 12px;border:1px solid #CFC9BA;border-radius:8px;background:#fff;color:var(--navy)}
input:focus{outline:2px solid var(--orange-aa);outline-offset:1px;border-color:var(--orange-aa)}
button{width:100%;margin-top:22px;font:inherit;font-weight:600;font-size:16px;padding:12px;border:0;border-radius:8px;background:var(--orange-aa);color:#fff;cursor:pointer}
button:hover{background:var(--orange-aa-hover)}
button:disabled{opacity:.6;cursor:default}
.msg{margin:16px 0 0;font-size:14px;color:#A12A1D;min-height:20px}
.hint{font-size:12px;color:var(--muted);margin-top:6px}
