:root{
  color-scheme: light;
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-soft:#f8fbff;
  --primary:#0b6bff;
  --primary-2:#155eef;
  --sidebar:#061936;
  --text:#101828;
  --muted:#667085;
  --border:#e4e7ec;
  --success:#12b76a;
  --danger:#f04438;
  --shadow:0 24px 70px rgba(16,24,40,.12);
  --radius:28px;
}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 16% 8%,rgba(11,107,255,.12),transparent 30%),radial-gradient(circle at 88% 18%,rgba(19,181,216,.12),transparent 30%),linear-gradient(180deg,#fbfdff 0%,var(--bg) 54%,#edf3fb 100%);overflow-x:hidden}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}
body.login-page,body.auth-page{min-height:100vh;min-height:100dvh}
body.login-page::before,body.auth-page::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(11,107,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(11,107,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 84%)}
.login-shell{width:min(1180px,calc(100% - 48px));min-height:100vh;min-height:100dvh;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(410px,.8fr);align-items:center;gap:28px;padding:34px 0}
.login-brand-panel,.login-card,.auth-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:rgba(255,255,255,.90);backdrop-filter:blur(14px)}
.login-brand-panel{min-height:640px;display:flex;align-items:flex-end;padding:44px;background:linear-gradient(145deg,#061936 0%,#082450 58%,#0b6bff 145%);color:#fff;border-color:rgba(255,255,255,.12)}
.login-brand-panel::before,.login-card::before,.auth-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 15%,rgba(11,107,255,.16),transparent 34%),radial-gradient(circle at 84% 88%,rgba(19,181,216,.12),transparent 38%)}
.login-brand-panel::before{background:radial-gradient(circle at 22% 16%,rgba(33,212,243,.20),transparent 34%),radial-gradient(circle at 82% 88%,rgba(255,255,255,.10),transparent 38%)}
.brand-orbit{position:absolute;width:520px;height:520px;right:-150px;top:-150px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 100px rgba(255,255,255,.08) inset}.brand-orbit::before,.brand-orbit::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.brand-orbit::before{inset:70px}.brand-orbit::after{inset:140px}.brand-content{position:relative;z-index:1;max-width:650px}.brand-logo-large{width:min(410px,82%);height:auto;margin-bottom:48px;display:block;filter:drop-shadow(0 16px 32px rgba(0,0,0,.24))}.brand-content h1{font-size:clamp(40px,5vw,68px);line-height:1;margin:0 0 18px;font-weight:900;letter-spacing:-.045em;color:#fff}.brand-content p{font-size:clamp(18px,1.7vw,23px);line-height:1.45;color:#dbeafe;max-width:680px;margin:0 0 26px}.brand-badges{display:flex;flex-wrap:wrap;gap:10px}.brand-badges span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#f8fbff;border-radius:999px;padding:10px 14px;font-weight:800;font-size:13px}
.login-card{width:100%;max-width:520px;justify-self:end;padding:38px}.login-card-header{position:relative;z-index:1;display:flex;align-items:center;gap:18px;margin-bottom:24px}.login-logo{width:190px;max-width:45%;height:auto;display:block}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.14em;color:var(--primary);font-size:12px;font-weight:900;margin-bottom:6px}.login-card h2,.auth-title{font-size:clamp(34px,4vw,48px);line-height:1;margin:0;letter-spacing:-.04em;color:var(--text);font-weight:900}.login-description,.auth-subtitle{position:relative;z-index:1;color:var(--muted);font-size:17px;line-height:1.5;margin:0 0 28px}.login-form,.auth-form{position:relative;z-index:1;display:grid;gap:13px}.login-form label,.auth-field label{font-weight:850;font-size:14px;color:#344054;margin-top:4px}.login-form input,.auth-field input{width:100%;border:1px solid var(--border);border-radius:16px;padding:16px 18px;background:#fff;color:var(--text);font-size:16px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;-webkit-appearance:none;appearance:none}.login-form input:focus,.auth-field input:focus{border-color:#84caff;box-shadow:0 0 0 4px rgba(11,107,255,.12);background:#fff}.login-actions,.auth-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;flex-wrap:wrap}.btn-login,.auth-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:0;border-radius:16px;padding:14px 24px;color:#fff!important;font-weight:900;font-size:16px;cursor:pointer;text-decoration:none;background:linear-gradient(135deg,var(--primary),#168bff);box-shadow:0 12px 30px rgba(11,107,255,.24);min-width:132px}.btn-login:hover,.auth-btn:hover{filter:brightness(1.04);transform:translateY(-1px);text-decoration:none}.forgot-link,.auth-link{color:var(--primary);text-decoration:none;font-weight:800}.forgot-link:hover,.auth-link:hover{text-decoration:underline}.login-alert,.auth-alert{position:relative;z-index:1;border:1px solid #fecdca;background:#fef3f2;color:#b42318;border-radius:14px;padding:13px 15px;margin-bottom:18px;font-weight:750}.auth-alert.success{border-color:#abefc6;background:#ecfdf3;color:#067647}.login-footer-note{position:relative;z-index:1;margin-top:32px;padding-top:18px;border-top:1px solid var(--border);display:grid;gap:5px;color:var(--text)}.login-footer-note span{font-weight:850;font-size:13px;letter-spacing:.04em}.login-footer-note small{color:var(--muted);line-height:1.4}
.auth-shell{min-height:100vh;min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:32px}.auth-card{width:min(100%,560px);padding:40px}.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:16px;margin-bottom:34px}.auth-brand img{height:72px;width:auto;object-fit:contain}.auth-btn.secondary{background:#fff;color:#344054!important;border:1px solid var(--border);box-shadow:0 1px 2px rgba(16,24,40,.05)}.auth-note{position:relative;z-index:1;color:var(--muted);font-size:14px;line-height:1.5;margin-top:14px;word-break:break-word}
@media (max-width:1024px){.login-shell{width:min(760px,calc(100% - 32px));grid-template-columns:1fr;gap:18px;align-items:start;padding:22px 0}.login-brand-panel{min-height:auto;padding:28px;align-items:center}.brand-logo-large{width:280px;margin:0 0 22px}.brand-content h1{font-size:42px}.brand-content p{font-size:18px}.login-card{max-width:none;justify-self:stretch;padding:30px}}
@media (max-width:640px){.login-shell{width:100%;min-height:100dvh;padding:12px;gap:12px}.login-brand-panel{display:none}.login-card,.auth-card{border-radius:24px;padding:24px 20px}.login-card{min-height:calc(100dvh - 24px);display:flex;flex-direction:column;justify-content:center}.login-card-header{flex-direction:column;align-items:flex-start;gap:14px}.login-logo{max-width:none;width:220px}.login-description,.auth-subtitle{font-size:16px}.login-actions,.auth-actions{align-items:stretch;flex-direction:column}.btn-login,.auth-btn{width:100%}.forgot-link{text-align:center;padding:6px 0}.auth-shell{padding:16px;align-items:flex-start;padding-top:24px}.auth-brand{justify-content:center;margin-bottom:28px}.auth-brand img{height:64px;max-width:260px}}
