:root{--auth-navy:#091321;--auth-navy-2:#13213a;--auth-gold:#d2aa57;--auth-gold-soft:#f0d696;--auth-paper:#f4f6fa;--auth-card:#fff;--auth-text:#152033;--auth-muted:#6f7b8f;--auth-line:#dfe5ed;--auth-danger:#b42318;--auth-success:#0f8a5f}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--auth-paper);color:var(--auth-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(480px,.84fr)}
.auth-brand-panel{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;padding:clamp(2.5rem,5vw,5.5rem);background:radial-gradient(circle at 88% 12%,rgba(67,104,158,.24),transparent 28%),radial-gradient(circle at 16% 88%,rgba(210,170,87,.12),transparent 24%),linear-gradient(145deg,var(--auth-navy),var(--auth-navy-2));color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:3rem}
.auth-brand-panel:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.auth-brand-panel:after{content:"";position:absolute;z-index:-1;width:520px;height:520px;border:1px solid rgba(210,170,87,.18);border-radius:50%;right:-220px;bottom:-180px;box-shadow:0 0 0 72px rgba(210,170,87,.025),0 0 0 144px rgba(210,170,87,.018)}
.auth-brand{display:inline-flex;align-items:center;width:max-content;color:#fff;text-decoration:none}
.auth-brand img{display:block;width:min(300px,72vw);height:auto}
.auth-brand-copy{position:relative;z-index:1;max-width:760px}
.eyebrow{margin:0 0 .85rem;color:var(--auth-gold-soft);font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.auth-brand-copy h1{max-width:760px;margin:0;font-size:clamp(2.8rem,4.7vw,5.25rem);font-weight:750;line-height:1.02;letter-spacing:-.055em;text-wrap:balance}
.auth-brand-copy>p:last-child{max-width:650px;margin:1.5rem 0 0;color:#c7d0dd;font-size:1.08rem;line-height:1.75}
.auth-trust-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;list-style:none;padding:0;margin:0;color:#dce4ef}
.auth-trust-list li{display:flex;align-items:flex-start;gap:.65rem;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.035);font-size:.82rem;line-height:1.45;backdrop-filter:blur(10px)}
.auth-trust-list li:before{content:"✓";display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:rgba(210,170,87,.12);color:var(--auth-gold-soft);font-weight:900}
.auth-form-panel{position:relative;display:grid;place-items:center;min-height:100vh;padding:clamp(1.5rem,4vw,4.5rem);background:linear-gradient(180deg,#f7f9fc 0%,#eef2f7 100%)}
.auth-form-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.9),transparent 36%);pointer-events:none}
.auth-card{position:relative;z-index:1;width:min(100%,500px);padding:clamp(2rem,4vw,3.5rem);border:1px solid rgba(212,219,229,.95);border-radius:28px;background:rgba(255,255,255,.97);box-shadow:0 30px 80px rgba(21,32,51,.12),inset 0 1px 0 rgba(255,255,255,.95)}
.auth-card-head{margin-bottom:1.75rem}
.auth-card-head h2{margin:.15rem 0 .65rem;font-size:clamp(1.7rem,2.2vw,2.15rem);line-height:1.18;letter-spacing:-.035em}
.auth-card-head>p:last-child{margin:0;color:var(--auth-muted);font-size:.98rem;line-height:1.6}
.auth-form{display:grid;gap:1.05rem}
.auth-field{display:grid;gap:.52rem}
.auth-field label{color:#344054;font-size:.78rem;font-weight:800}
.auth-control{display:block;width:100%;min-height:56px;padding:.9rem 1rem;border:1px solid var(--auth-line);border-radius:14px;background:#fff;color:var(--auth-text);font:inherit;font-size:.96rem;line-height:1.3;outline:none;appearance:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.auth-control::placeholder{color:#a5afbd}
.auth-control:hover{border-color:#c8d0dc}
.auth-control:focus{border-color:var(--auth-gold);box-shadow:0 0 0 4px rgba(210,170,87,.14);background:#fff}
.code-input{text-align:center;letter-spacing:.28em;font-size:1.25rem;font-weight:800}
.auth-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;margin-top:.2rem;padding:.85rem 1.05rem;border:0;border-radius:14px;background:linear-gradient(135deg,#111e33,#0a1424);color:#fff;font:inherit;font-size:.9rem;font-weight:850;cursor:pointer;box-shadow:0 14px 30px rgba(15,23,42,.18);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.auth-submit:hover{transform:translateY(-1px);background:linear-gradient(135deg,#182943,#0d1b31);box-shadow:0 18px 36px rgba(15,23,42,.22)}
.auth-submit:focus-visible{outline:3px solid rgba(210,170,87,.35);outline-offset:3px}
.auth-submit span:last-child{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.1);font-size:1rem}
.auth-security-note{display:flex;align-items:flex-start;gap:.7rem;margin-top:1.2rem;padding:.85rem 1rem;border:1px solid #e8ebf0;border-radius:13px;background:#f8fafc;color:#6f7b8f}
.auth-security-note>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#e7f6ef;color:var(--auth-success);font-size:.72rem;font-weight:900}
.auth-security-note p{margin:0;font-size:.78rem;line-height:1.5}
.auth-footnote,.auth-secondary-link{display:block;margin:1.25rem 0 0;color:var(--auth-muted);font-size:.84rem;text-align:center}
.auth-secondary-link{text-decoration:none;font-weight:750}.auth-secondary-link:hover{color:#25324a}
.alert{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid transparent;border-radius:12px;font-size:.84rem;line-height:1.5}
.alert-success{border-color:#b7ead7;background:#ecfdf5;color:#067647}.alert-info{border-color:#b9dcff;background:#eff8ff;color:#175cd3}.alert-warning{border-color:#fedf89;background:#fffaeb;color:#93370d}.alert-danger{border-color:#fecdca;background:#fef3f2;color:var(--auth-danger)}
.alert ul{margin:.45rem 0 0;padding-left:1.15rem}
@media(max-width:1100px){.auth-shell{grid-template-columns:1fr minmax(440px,.9fr)}.auth-brand-copy h1{font-size:clamp(2.5rem,4.4vw,4rem)}.auth-trust-list{grid-template-columns:1fr}.auth-trust-list li:nth-child(n+3){display:none}}
@media(max-width:860px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{min-height:360px;padding:2rem 1.4rem 5.5rem;gap:2rem}.auth-brand img{width:220px}.auth-brand-copy h1{font-size:2.45rem;max-width:620px}.auth-brand-copy>p:last-child{font-size:.95rem}.auth-trust-list{display:none}.auth-form-panel{min-height:auto;padding:0 1rem 2rem}.auth-card{margin-top:-3.5rem;padding:2rem;border-radius:22px}}
@media(max-width:520px){.auth-brand-panel{min-height:330px}.auth-brand-copy h1{font-size:2rem}.auth-brand-copy>p:last-child{font-size:.88rem}.auth-card{padding:1.5rem}.auth-card-head h2{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
