:root { --navy:#0a315a; --navy-dark:#061b31; --line:#d6e0e8; --ink:#172433; --muted:#647587; --bg:#eaf0f5; --danger:#b52b2f; --radius:6px; }
* { box-sizing:border-box; }
html,body { min-width:320px; min-height:100%; margin:0; }
body { min-height:100vh; background:linear-gradient(145deg,#e6eef4 0%,#f7fafc 55%,#dfe9f1 100%); color:var(--ink); font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif; font-size:16px; }
.auth-shell { display:grid; min-height:100vh; grid-template-columns:minmax(360px, .85fr) minmax(520px, 1.15fr); }
.auth-brand { position:relative; display:flex; overflow:hidden; flex-direction:column; justify-content:space-between; padding:clamp(34px,6vw,78px); background:linear-gradient(155deg,#061b31,#0a315a 58%,#155b8f); color:#fff; }
.auth-brand::after { position:absolute; right:-150px; bottom:-150px; width:420px; height:420px; border:64px solid rgba(255,255,255,.055); border-radius:50%; content:""; }
.auth-logo { position:relative; z-index:1; display:flex; align-items:center; gap:14px; }
.auth-logo-mark { display:grid; width:50px; height:50px; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:var(--radius); background:rgba(255,255,255,.08); }
.auth-logo-mark svg { width:28px; height:28px; }
.auth-logo strong,.auth-logo small { display:block; }.auth-logo strong { font-size:1.12rem; }.auth-logo small { color:#b5cadb; }
.auth-message { position:relative; z-index:1; max-width:600px; margin:auto 0; padding:60px 0; }
.auth-message span { color:#8fc9ec; font-size:.75rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.auth-message h1 { margin:10px 0 14px; font-size:clamp(2rem,5vw,3.7rem); line-height:1.04; }
.auth-message p { max-width:520px; margin:0; color:#c3d4e1; font-size:1.03rem; line-height:1.65; }
.auth-foot { position:relative; z-index:1; color:#9db4c6; font-size:.78rem; }
.auth-main { display:grid; place-items:center; padding:28px; }
.auth-card { width:min(100%,480px); padding:clamp(26px,5vw,42px); border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 22px 60px rgba(22,55,83,.12); }
.auth-card h2 { margin:0; color:var(--navy-dark); font-size:1.65rem; }.auth-card>.lead { margin:7px 0 26px; color:var(--muted); }
.auth-field { margin-bottom:16px; }.auth-field label { display:block; margin-bottom:6px; color:#405164; font-size:.78rem; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.auth-input { width:100%; min-height:48px; padding:10px 12px; border:1px solid #bfcbd6; border-radius:var(--radius); outline:0; background:#fff; color:var(--ink); font:inherit; }
.auth-input:focus { border-color:#195b8f; box-shadow:0 0 0 3px rgba(25,91,143,.13); }
.auth-button { display:flex; width:100%; min-height:48px; align-items:center; justify-content:center; gap:8px; margin-top:8px; border:1px solid var(--navy); border-radius:var(--radius); background:var(--navy); color:#fff; font:inherit; font-weight:800; cursor:pointer; }
.auth-button:hover { background:var(--navy-dark); }.auth-button svg { width:19px; height:19px; }
.auth-links { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; font-size:.86rem; }.auth-links a { color:#195b8f; font-weight:700; text-decoration:none; }
.auth-alert { display:flex; gap:9px; margin-bottom:18px; padding:11px 12px; border:1px solid #e8b5b8; border-radius:var(--radius); background:#fdecee; color:#922126; font-size:.88rem; }.auth-alert.success { border-color:#a9d6bf; background:#e8f6ef; color:#12673f; }
.auth-note { margin-top:18px; padding:12px; border:1px solid var(--line); border-radius:var(--radius); background:#f5f8fa; color:var(--muted); font-size:.8rem; }
.auth-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.auth-grid .wide { grid-column:span 2; }
.icon { width:1.25rem;height:1.25rem;fill:none;stroke:currentColor; }
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-brand{min-height:260px;padding:28px}.auth-message{padding:38px 0 20px}.auth-message h1{font-size:2.15rem}.auth-foot{display:none}.auth-main{padding:22px 16px 36px}.auth-card{margin-top:-34px;position:relative;z-index:3}}
@media(max-width:520px){.auth-brand{min-height:230px;padding:22px}.auth-message p{display:none}.auth-main{padding:16px 12px 28px}.auth-card{padding:23px 18px}.auth-grid{grid-template-columns:1fr}.auth-grid .wide{grid-column:auto}.auth-links{align-items:flex-start;flex-direction:column}}

