:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:#12233f;background:#f5f7fb;
  --navy:#071d3b;--navy2:#0d315d;--gold:#e6ae2f;--gold2:#ffcf5a;
  --ink:#14233b;--muted:#64748b;--line:#dfe6ef;--surface:#fff;--danger:#a92222;--success:#176c43;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{min-height:100vh;background:#f3f6fa}
a{color:#b27a09;text-decoration:none}a:hover{text-decoration:underline}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(480px,.95fr)}
.brand-panel{
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
  padding:56px;background:
  radial-gradient(circle at 48% 36%,rgba(255,205,84,.17),transparent 34%),
  linear-gradient(145deg,#06182f,#0c2b52 58%,#071c38);
  color:#fff;
}
.brand-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.05),transparent 48%);pointer-events:none}
.brand-copy{position:relative;z-index:1;width:min(100%,650px)}
.hero-compass{display:block;width:min(66vw,520px);max-width:78%;margin:0 auto 24px;filter:drop-shadow(0 20px 35px rgba(0,0,0,.28))}
.brand-kicker{font-size:12px;letter-spacing:.18em;font-weight:800;color:#ffd66f;margin:10px 0 14px}
.brand-copy h1{font-size:clamp(38px,4.2vw,68px);line-height:1.01;letter-spacing:-.035em;margin:0 0 20px}
.brand-copy p{max-width:610px;font-size:18px;line-height:1.65;color:#d9e5f4;margin:0}
.return-chip{display:inline-block;margin-top:28px;padding:10px 14px;border:1px solid rgba(255,214,111,.35);border-radius:999px;background:rgba(255,255,255,.07);font-size:13px;color:#edf4ff}
.form-panel{display:flex;align-items:center;justify-content:center;padding:48px 36px;background:linear-gradient(180deg,#fbfcfe,#f3f6fa)}
.form-card{width:min(100%,540px);background:#fff;border:1px solid #e4e9f0;border-radius:26px;padding:42px;box-shadow:0 26px 70px rgba(14,33,62,.13)}
.compact-logo{display:block;width:112px;height:112px;object-fit:contain;margin:0 0 10px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:850;color:#9b6d11;margin-bottom:12px}
.form-card h2{font-size:34px;line-height:1.12;letter-spacing:-.025em;margin:0 0 9px;color:var(--ink)}
.lead{color:var(--muted);line-height:1.55;margin:0 0 24px}
label{display:block;font-size:14px;font-weight:720;color:#28374e;margin:16px 0 0}
input[type=text],input[type=email],input[type=password],input:not([type]){
  width:100%;margin-top:8px;padding:13px 14px;border:1px solid #ccd6e3;border-radius:11px;background:#fbfcfe;color:#162338;font:inherit;outline:none;
}
input:focus{border-color:#d7a52e;box-shadow:0 0 0 4px rgba(230,174,47,.14);background:#fff}
.password-wrap{position:relative}.password-wrap input{padding-right:68px}
.showpass{position:absolute;right:10px;top:50%;transform:translateY(-41%);border:0;background:transparent;color:#9b6d11;font-weight:750;cursor:pointer}
.form-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0 4px;font-size:13px}
.check{display:flex;align-items:center;gap:7px;margin:0;font-weight:600;color:#526176}.check input{width:17px;height:17px;accent-color:#d2a127}
.primary-btn,.secondary-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;border-radius:12px;font-weight:820;font-size:15px;cursor:pointer;text-decoration:none}
.primary-btn{margin-top:22px;border:1px solid #071d3b;background:linear-gradient(180deg,#102b4e,#071d3b);color:#fff;box-shadow:0 10px 22px rgba(7,29,59,.18)}
.primary-btn:hover{text-decoration:none;filter:brightness(1.05)}
.secondary-btn{border:1px solid #d9e0e9;background:#f8fafc;color:#17263c}
.secondary-btn:hover{text-decoration:none;background:#f1f5f9}
.button-link{margin-top:18px}
.divider{display:flex;align-items:center;gap:14px;color:#8793a5;font-size:12px;margin:24px 0 15px}.divider:before,.divider:after{content:"";height:1px;background:#e3e8ef;flex:1}
.back-link{display:block;text-align:center;margin-top:20px;color:#6a778a;font-size:13px}
.alert{border-radius:12px;padding:12px 14px;margin:16px 0;font-size:14px;line-height:1.45}
.alert.error{background:#fff2f2;border:1px solid #ffcaca;color:var(--danger)}
.alert.success{background:#edf9f3;border:1px solid #bde7cf;color:var(--success)}
.alert.info{background:#f2f6fb;border:1px solid #d4dfec;color:#40536d}

@media(max-width:980px){
  .auth-shell{grid-template-columns:1fr}
  .brand-panel{min-height:320px;padding:34px}
  .brand-copy{text-align:center}.brand-copy p{margin-left:auto;margin-right:auto}
  .hero-compass{width:220px;margin-bottom:14px}
  .brand-copy h1{font-size:38px}
  .return-chip{margin-top:18px}
  .form-panel{padding:28px 18px 44px}
}
@media(max-width:560px){
  .brand-panel{min-height:225px;padding:22px 18px}
  .hero-compass{width:125px;margin-bottom:8px}
  .brand-kicker{font-size:10px;margin:4px 0 8px}
  .brand-copy h1{font-size:27px;margin-bottom:8px}
  .brand-copy p{font-size:13px;line-height:1.45}
  .return-chip{font-size:11px;padding:7px 10px;margin-top:11px}
  .form-panel{padding:16px 10px 30px}
  .form-card{padding:24px 20px;border-radius:19px}
  .compact-logo{width:82px;height:82px}
  .form-card h2{font-size:27px}
  .form-row{align-items:flex-start;flex-direction:column;gap:9px}
}