.auth-body { background:#030b18; color:#e4ecf5; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.auth-layout { display:grid; grid-template-columns:1fr 1fr; min-height:100vh; }
.auth-brand-panel { display:flex; flex-direction:column; padding:38px 54px 26px; border-right:1px solid #183044; background:radial-gradient(ellipse at 50% 38%,#09233b 0%,#030b18 62%); position:relative; overflow:hidden; }
.auth-wordmark { display:flex; align-items:center; gap:9px; color:#e7edf5; text-decoration:none; font-weight:800; font-size:1.1rem; letter-spacing:.08em; }
.auth-wordmark span:not(.brand-dot) { font-weight:500; color:#b6c3d5; }
.brand-dot { width:9px; height:9px; border-radius:50%; background:#00c8f4; box-shadow:0 0 16px #00c8f4; }
.auth-brand-content { margin:auto; max-width:430px; padding:28px 0; }
.auth-logo-frame { width:min(100%,360px); margin:0 auto 18px; }
.auth-reference-logo { display:block; width:100%; height:auto; border-radius:28px; box-shadow:0 0 64px #00aaff0d; }
.auth-kicker { font-size:.62rem; font-weight:700; letter-spacing:.2em; color:#6ebcdd; }
.auth-brand-content h1 { font-size:clamp(1.9rem,3vw,2.75rem); line-height:1.13; font-weight:750; letter-spacing:-.045em; margin:18px 0; }
.auth-brand-content h1 span { color:#00c8f4; }
.auth-brand-content p { max-width:380px; font-size:.88rem; line-height:1.8; color:#8b9db3; margin:0; }
.auth-brand-footer { display:flex; align-items:center; gap:14px; font-size:.64rem; color:#778aa3; }
.brand-line { width:38px; height:1px; background:#00c8f4; box-shadow:0 0 10px #00c8f4; }
.auth-form-panel { display:flex; flex-direction:column; padding:42px 50px 24px; background:linear-gradient(145deg,#0b1627,#07101e); }
.auth-form-container { max-width:440px; width:100%; margin:auto; padding:20px 0; }
.auth-back { color:#8b9db3; text-decoration:none; font-size:.73rem; display:inline-flex; gap:8px; align-items:center; margin-bottom:48px; }
.auth-back:hover { color:#00c8f4; }
.auth-back .ti-icon,.auth-security .ti-icon { filter:brightness(0) invert(.7); }
.auth-section-label { display:flex; align-items:center; gap:9px; color:#75bbd6; font-size:.61rem; font-weight:650; letter-spacing:.14em; margin-bottom:16px; }
.auth-section-label span { width:6px; height:6px; background:#00c8f4; border-radius:50%; }
.auth-form-container h2 { font-size:2rem; font-weight:750; letter-spacing:-.045em; margin-bottom:12px; }
.auth-form-container h2>span { color:#00c8f4; }
.auth-intro { font-size:.85rem; color:#8b9db3; line-height:1.75; margin-bottom:30px; }
.auth-field { margin-bottom:20px; }
.auth-field label { display:block; font-weight:600; color:#dce5ee; font-size:.78rem; margin-bottom:9px; }
.auth-field .form-control { background:#0a1729; color:#eaf0f8; border:1px solid #25374e; border-radius:10px; padding:13px 15px; font-size:.85rem; min-height:49px; }
.auth-field .form-control::placeholder { color:#73859b; }
.auth-field .form-control:focus { background:#0a1729; color:#eaf0f8; border-color:#00c8f4; box-shadow:0 0 0 3px #00c8f41a; }
.auth-field .form-control[aria-invalid=true] { border-color:#e97178; }
.password-input { position:relative; }
.password-input input { padding-right:48px!important; }
.password-toggle { position:absolute; top:50%; right:10px; transform:translateY(-50%); border:0; border-radius:6px; background:transparent; padding:6px; }
.password-toggle .ti-icon { filter:brightness(0) invert(.7); }
.auth-form .brand-button { margin-top:5px; font-size:.85rem; }
.auth-error { background:#411c2b; border:1px solid #6b2c3d; border-radius:9px; color:#ffc5cc; padding:12px 14px; margin-bottom:20px; font-size:.78rem; }
.auth-error p,.field-errors p { margin:0; }
.field-errors { color:#ffb5be; font-size:.72rem; margin-top:7px; line-height:1.6; }
.field-help { color:#8b9db3; font-size:.67rem; line-height:1.6; margin-top:7px; }
.first-access-card { display:flex; gap:13px; padding:20px; margin-top:26px; border:1px solid #1e3b51; border-radius:12px; background:linear-gradient(110deg,#0b2031,#0b192b); }
.first-access-icon { display:grid; place-items:center; background:#00c8f413; width:35px; height:35px; flex-shrink:0; border-radius:9px; }
.first-access-icon .ti-icon { filter:brightness(0) invert(.8); }
.first-access-card h3 { font-size:.8rem; font-weight:650; margin:0 0 6px; }
.first-access-card p { color:#8b9db3; font-size:.72rem; line-height:1.7; margin:0 0 10px; }
.first-access-card a { color:#00c8f4; text-decoration:none; font-size:.73rem; font-weight:600; }
.first-access-card a .ti-icon { filter:brightness(0) invert(.8); width:15px; height:15px; margin-left:5px; }
.auth-security { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:26px; color:#8395ac; font-size:.65rem; }
.auth-security .ti-icon { width:15px; height:15px; }
.auth-footer { display:flex; justify-content:space-between; font-size:.64rem; color:#778aa3; margin-top:25px; }
.auth-mobile-logo { display:none; }
.auth-login-link { display:block; text-align:center; margin-top:18px; font-size:.75rem; color:#91b7ce; }
.setup-form .auth-field { margin-bottom:14px; }
.auth-body a:focus-visible,.auth-body button:focus-visible { outline:2px solid #00c8f4; outline-offset:4px; }
@media(min-width:1600px) { .auth-brand-panel { padding-left:80px; padding-right:80px; } }
@media(max-width:991.98px) { .auth-brand-panel { padding:30px; } .auth-form-panel { padding:30px; } .auth-form-container h2 { font-size:1.7rem; } .auth-reference-logo { border-radius:20px; } }
@media(max-width:767.98px) { .auth-layout { grid-template-columns:1fr; } .auth-brand-panel { display:none; } .auth-form-panel { min-height:100vh; padding:20px 24px; } .auth-form-container { padding:0; } .auth-back { margin-bottom:15px; } .auth-mobile-logo { display:block; width:135px; height:135px; border-radius:20px; margin:0 auto 25px; } .auth-form-container h2 { font-size:1.8rem; } .auth-security { line-height:1.7; align-items:flex-start; } .auth-footer { margin-top:32px; } }

.auth-account-switch { text-align:center; color:#8fa6bd; font-size:.75rem; margin:22px 0 0; }
.auth-account-switch a { color:#00c8f4; font-weight:600; text-decoration:none; margin-left:4px; }
