:root{--brand:#1f4e7a;--link:#245c8f;--bg:#eef0f3;--text:#1c2430;--text2:#3c4756;--muted:#5b6878;--muted2:#6b7889;--muted3:#7a8697;--border:#c3cbd6;--border2:#dbe1e9;--border3:#e6eaef;--onbrand2:#d3dde8;--onbrand3:#9fb3c8;--check:#9fc4e6;--infobg:#e8f0f8}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}
.serif{font-family:Georgia,"Times New Roman",serif;font-weight:600}
a{color:var(--link)} a:hover{color:#173d61}
input{font:inherit;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:6px;height:44px;padding:0 14px;font-size:15px;width:100%}
input:focus{outline:2px solid var(--link);outline-offset:1px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 24px;border:0;border-radius:6px;background:var(--brand);color:#fff;font:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;width:100%}
label{font-size:13px;font-weight:500}
.hint{font-size:13px;color:var(--muted);line-height:1.6}
.logo{display:flex;align-items:center;gap:12px;font-size:22px} .logo svg{width:32px;height:32px}
.footer{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px;color:var(--muted2)} .footer a{color:var(--muted2);text-decoration:none}

/* sign-in */
.signin{min-height:100%;display:grid;grid-template-columns:560px 1fr}
.panel{background:var(--brand);color:#fff;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between}
.panel h1{font-size:36px;line-height:1.2;margin:0 0 20px}
.panel p{font-size:16px;line-height:1.6;color:var(--onbrand2);margin:0 0 20px;max-width:400px}
.panel ul{list-style:none;padding:0;margin:0;font-size:14px;color:var(--onbrand2)}
.panel li{display:flex;gap:10px;align-items:center;margin-bottom:10px} .panel li svg{width:16px;height:16px;color:var(--check)}
.panel .note{font-size:12px;color:var(--onbrand3);line-height:1.6}
.formcol{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 96px;position:relative}
form{width:400px;display:flex;flex-direction:column;gap:20px;margin:0}
form h2{font-size:24px;margin:0 0 6px} form .sub{font-size:14px;color:var(--muted);margin:0}
.field{display:flex;flex-direction:column;gap:6px}
.formcol .footer{position:absolute;right:96px;bottom:32px}
@media(max-width:900px){
  .signin{grid-template-columns:1fr}
  .panel{padding:28px 24px 24px} .panel h1{font-size:26px;margin-bottom:8px} .panel p{font-size:14px} .panel ul,.panel .note{display:none}
  .logo{font-size:18px} .logo svg{width:26px;height:26px}
  .formcol{padding:28px 24px;justify-content:space-between;align-items:stretch}
  form{width:100%} input{height:48px;font-size:16px} .btn{height:50px;font-size:16px}
  .formcol .footer{position:static;justify-content:center;margin-top:28px}
}

/* centered pages (link-sent, 404) */
.center{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px;text-align:center}
.center .logo{color:var(--brand);font-size:20px} .center .logo svg{width:30px;height:30px}
.card{width:100%;max-width:440px;padding:40px;background:#fff;border:1px solid var(--border2);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:16px}
.card .icon{width:56px;height:56px;border-radius:50%;background:var(--infobg);display:flex;align-items:center;justify-content:center;color:var(--brand)} .card .icon svg{width:28px;height:28px}
.card h1{font-size:22px;margin:0} .card p{margin:0;font-size:15px;color:var(--muted);line-height:1.6}
.big{font-size:72px;line-height:1;color:var(--brand);margin:0}
.center h1.t{font-size:20px;margin:0} .center p{max-width:420px;font-size:15px;color:var(--muted);margin:0}
.center .btn{width:auto;height:44px}

/* doc pages (privacy, terms) */
.doc{background:#fff;min-height:100%;display:flex;flex-direction:column}
.doc header{height:68px;padding:0 64px;display:flex;align-items:center;border-bottom:1px solid var(--border3);color:var(--brand)}
.doc header .logo{font-size:17px} .doc header .logo svg{width:24px;height:24px}
.doc main{flex:1;padding:56px 64px;max-width:760px}
.doc h1{font-size:32px;margin:0 0 8px} .doc .date{font-size:13px;color:var(--muted3);margin:0 0 32px}
.doc h2{font-size:18px;margin:0 0 8px} .doc p{font-size:15px;line-height:1.7;color:var(--text2);margin:0 0 28px}
.doc footer{height:56px;padding:0 64px;display:flex;align-items:center;border-top:1px solid var(--border3)}
@media(max-width:900px){.doc header,.doc main,.doc footer{padding-left:24px;padding-right:24px} .doc main{padding-top:32px} .doc h1{font-size:26px}}
