:root{
  color-scheme:dark;
  --ink:#eef6ff;
  --muted:#91a9c2;
  --line:#213a53;
  --blue:#68aaff;
  --navy:#06101b;
  --danger:#ff9b9b;
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{
  min-height:100vh;
  min-height:100dvh;
  overflow-x:hidden;
  background:#06101b;
  color:var(--ink);
  font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
button,input{font:inherit}
.auth-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr)}
.welcome-panel{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  min-height:100dvh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:clamp(34px,5vw,76px);
  background:radial-gradient(circle at 14% 82%,rgba(42,134,255,.28),transparent 30%),radial-gradient(circle at 88% 12%,rgba(50,179,255,.18),transparent 28%),linear-gradient(145deg,#0d2945 0%,#091b2e 48%,#07131f 100%);
  border-right:1px solid rgba(139,190,255,.14);
}
.brand{position:relative;z-index:2;display:flex;align-items:center;gap:14px}
.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,#83beff,#4c95f5);box-shadow:0 12px 30px rgba(42,132,248,.28);color:#06111e;font-weight:900;letter-spacing:-.04em}
.brand-mark span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(6,17,30,.2);border-radius:12px}
.brand-copy{display:grid;line-height:1.2}
.brand-copy strong{font-size:18px;letter-spacing:-.02em}
.brand-copy small{margin-top:5px;color:#91abc7;font-size:10px;font-weight:800;letter-spacing:.18em}
.welcome-copy{position:relative;z-index:2;max-width:680px;margin:auto 0 42px}
.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:#78b5ff;font-size:12px;font-weight:800;letter-spacing:.15em}
.status-dot{width:8px;height:8px;border-radius:50%;background:#55e6a5;box-shadow:0 0 0 6px rgba(85,230,165,.1)}
.welcome-copy h1{max-width:640px;margin:0;font-size:clamp(42px,5vw,72px);line-height:1.04;letter-spacing:-.055em;text-wrap:balance}
.welcome-lead{max-width:570px;margin:26px 0 0;color:#a9bfd6;font-size:clamp(17px,1.5vw,21px)}
.feature-list{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:760px}
.feature{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid rgba(134,185,242,.15);border-radius:16px;background:rgba(8,25,41,.54);backdrop-filter:blur(12px)}
.feature-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:rgba(94,164,255,.13);color:#7cb6ff;font-size:10px;font-weight:900;letter-spacing:.08em}
.feature div{display:grid;gap:4px}.feature strong{font-size:13px}.feature small{color:#8fa9c3;font-size:11px;line-height:1.35}
.welcome-foot{position:relative;z-index:2;margin:34px 0 0;color:#62809d;font-size:10px;font-weight:800;letter-spacing:.18em}
.orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);opacity:.68}
.orb-one{width:330px;height:330px;right:-170px;top:22%;border:1px solid rgba(109,177,255,.24);box-shadow:inset 0 0 80px rgba(40,123,220,.13)}
.orb-two{width:190px;height:190px;left:12%;bottom:-110px;border:1px solid rgba(109,177,255,.18)}
.grid-lines{position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(100,171,246,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(100,171,246,.045) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,transparent 0,#000 25%,#000 75%,transparent 100%)}
.login-panel{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:clamp(24px,5vw,72px);background:radial-gradient(circle at 50% 0,rgba(43,107,174,.12),transparent 42%),#07111d}
.login-card{width:min(100%,460px)}
.login-card header{margin-bottom:34px}
.login-card header h2{margin:0;font-size:clamp(34px,4vw,48px);line-height:1.1;letter-spacing:-.045em}
.login-card header>p:last-child{margin:13px 0 0;color:var(--muted)}
.mobile-brand{display:none}
form>label,.label-row label{display:block;margin:19px 0 8px;color:#c7d6e5;font-size:13px;font-weight:750}
.label-row{display:flex;align-items:center;justify-content:space-between}
.field-wrap{position:relative}
.field-icon{position:absolute;left:16px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:#6f8ba5;pointer-events:none}
.field-icon svg,.lock svg,.submit svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
input{width:100%;height:56px;padding:0 52px 0 50px;border:1px solid var(--line);border-radius:14px;outline:0;background:#091725;color:#f7fbff;transition:border-color .18s,box-shadow .18s,background .18s}
input::placeholder{color:#607991}
input:hover{border-color:#315372}
input:focus{border-color:var(--blue);background:#0b1b2b;box-shadow:0 0 0 4px rgba(104,170,255,.13)}
input:user-invalid{border-color:#b9555f}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:9px;border:0;border-radius:9px;background:transparent;color:#86a2bd;font-size:12px;font-weight:750;cursor:pointer}
.password-toggle:hover,.password-toggle:focus-visible{background:#12283d;color:#cfe5fb;outline:0}
.error{min-height:24px;margin:11px 0 2px;color:var(--danger);font-size:13px;font-weight:650}
.submit{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:56px;margin-top:8px;border:0;border-radius:14px;background:linear-gradient(135deg,#76b4ff,#4a96f7);box-shadow:0 14px 32px rgba(45,131,242,.22);color:#06111e;font-weight:850;cursor:pointer;transition:transform .16s,filter .16s,box-shadow .16s}
.submit:hover{filter:brightness(1.08);box-shadow:0 18px 38px rgba(45,131,242,.3);transform:translateY(-1px)}
.submit:focus-visible{outline:3px solid rgba(133,192,255,.4);outline-offset:3px}
.submit:disabled{cursor:wait;filter:saturate(.65);transform:none;opacity:.8}
.submit svg{position:absolute;right:19px;width:21px;height:21px}
.spinner{display:none;width:18px;height:18px;border:2px solid rgba(6,17,30,.3);border-top-color:#06111e;border-radius:50%;animation:spin .7s linear infinite}
.submit[aria-busy="true"] .spinner{display:block}
.submit[aria-busy="true"]>svg{display:none}
.login-card footer{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:30px;color:#67829c;font-size:11px;text-align:center}
.lock{width:15px;height:15px;color:#6f91b2}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:980px){.auth-shell{grid-template-columns:minmax(330px,.8fr) minmax(420px,1.2fr)}.feature-list{grid-template-columns:1fr}.feature:nth-child(n+3){display:none}.welcome-copy h1{font-size:clamp(38px,5vw,54px)}}
@media(max-width:760px){body{background:#07111d}.auth-shell{display:block}.welcome-panel{display:none}.login-panel{min-height:100vh;min-height:100dvh;place-items:start center;padding:max(28px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}.mobile-brand{display:flex;width:min(100%,460px);margin:4px auto clamp(44px,10vh,92px)}.login-card header{margin-bottom:28px}.login-card header h2{font-size:38px}}
@media(max-width:420px){.login-panel{padding-left:18px;padding-right:18px}.brand-mark{width:47px;height:47px}.brand-mark span{width:38px;height:38px}.mobile-brand{margin-bottom:50px}.login-card header h2{font-size:34px}.login-card header>p:last-child{font-size:14px}input,.submit{height:54px}}
@media(max-height:700px) and (min-width:761px){.welcome-panel,.login-panel{padding-top:28px;padding-bottom:28px}.welcome-copy{margin-bottom:24px}.feature-list{display:none}.login-card header{margin-bottom:18px}.login-card header h2{font-size:36px}.login-card footer{margin-top:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
