:root{
  --auth-navy:#10182d;
  --auth-text:#172033;
  --auth-muted:#69758b;
  --auth-line:#dce3ef;
  --auth-surface:#ffffff;
  --auth-blue:#2574ff;
  --auth-purple:#8a2be2;
  --auth-pink:#d7279f;
  --auth-cyan:#00b8d9;
  --auth-green:#18ad64;
  --auth-orange:#ff7b21;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--auth-text);
  background:#eef3fb;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{min-height:100vh}
button,input{font:inherit}
a{color:inherit}
.auth-page{
  background:
    radial-gradient(circle at 8% 8%,rgba(37,116,255,.13),transparent 29%),
    radial-gradient(circle at 92% 12%,rgba(215,39,159,.13),transparent 28%),
    linear-gradient(145deg,#edf4ff 0%,#f9f5ff 48%,#f5fbff 100%);
}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(470px,.92fr)}
.auth-showcase{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(34px,5vw,76px);color:#fff;background:linear-gradient(145deg,#10182d 0%,#182450 45%,#542171 100%)}
.auth-showcase:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(37,116,255,.20),transparent 42%),radial-gradient(circle at 72% 38%,rgba(215,39,159,.31),transparent 30%);pointer-events:none}
.auth-showcase:after{content:"";position:absolute;width:530px;height:530px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-210px;bottom:-170px;box-shadow:0 0 0 78px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018);pointer-events:none}
.auth-orb{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}
.auth-orb-one{width:210px;height:210px;right:9%;top:8%;background:linear-gradient(145deg,rgba(0,184,217,.46),rgba(37,116,255,.12));box-shadow:0 35px 100px rgba(0,184,217,.23)}
.auth-orb-two{width:145px;height:145px;left:-45px;bottom:12%;background:linear-gradient(145deg,rgba(255,123,33,.28),rgba(215,39,159,.35))}
.showcase-brand{position:relative;z-index:2;display:flex;align-items:center;min-height:92px}
.showcase-brand .brand,.mobile-brand .brand{display:flex!important;align-items:center!important}
.showcase-brand .login-logo{display:block;max-width:270px!important;max-height:92px!important;width:auto!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 14px 24px rgba(0,0,0,.22))}
.showcase-brand .brand-mark{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,var(--auth-blue),var(--auth-purple));font-weight:900;box-shadow:0 18px 40px rgba(37,116,255,.3)}
.showcase-copy{position:relative;z-index:2;max-width:760px;margin:70px 0 48px}
.showcase-kicker{display:inline-flex;padding:9px 14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);border-radius:999px;text-transform:uppercase;letter-spacing:.14em;font-size:.73rem;font-weight:900;color:#dfe8ff}
.showcase-copy h1{max-width:720px;margin:22px 0 18px;font-size:clamp(2.65rem,5vw,5.25rem);line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.showcase-copy p{max-width:650px;margin:0;color:#c7d2ea;font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.72}
.feature-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-width:820px}
.feature-card{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);backdrop-filter:blur(14px);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.12)}
.feature-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;font-size:1.25rem;font-weight:900}
.feature-blue .feature-icon{background:rgba(37,116,255,.28);color:#8ebcff}.feature-green .feature-icon{background:rgba(24,173,100,.25);color:#7bf2af}.feature-purple .feature-icon{background:rgba(215,39,159,.23);color:#ff9ee0}
.feature-card strong,.feature-card small{display:block}.feature-card strong{font-size:.94rem}.feature-card small{color:#aebbd4;margin-top:3px;font-size:.77rem}
.showcase-footer{position:relative;z-index:2;margin:24px 0 0;color:#8190b0;font-size:.82rem}
.auth-panel{display:grid;place-items:center;padding:clamp(24px,5vw,72px);position:relative}
.mobile-brand{display:none}
.auth-card{width:min(545px,100%);padding:clamp(28px,4vw,48px);background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.78);border-radius:30px;box-shadow:0 35px 90px rgba(36,47,87,.16);backdrop-filter:blur(18px)}
.auth-heading{margin-bottom:26px}.auth-eyebrow{display:inline-flex;color:var(--auth-purple);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:900}.auth-heading h2{margin:9px 0 8px;font-size:clamp(2rem,4vw,2.7rem);line-height:1.05;letter-spacing:-.045em}.auth-heading p{margin:0;color:var(--auth-muted);line-height:1.6}
.auth-alert{display:flex;gap:12px;align-items:flex-start;padding:14px 15px;border-radius:15px;margin:0 0 20px;border:1px solid}.auth-alert>span{flex:0 0 30px;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:900}.auth-alert strong,.auth-alert p{display:block;margin:0}.auth-alert p{font-size:.88rem;margin-top:2px}.auth-alert-error{background:#fff1f2;border-color:#ffc9cf;color:#9f1730}.auth-alert-error>span{background:#ffdce0}.auth-alert-success{background:#ecfdf3;border-color:#b9ebcf;color:#06653c}.auth-alert-success>span{background:#cff4de}
.auth-form{display:grid;gap:17px}.auth-field{display:grid;gap:8px;color:#2a3448;font-weight:800;font-size:.91rem}.input-wrap{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;color:#8b97ad;font-weight:900;z-index:1}.input-wrap input{width:100%;height:58px;padding:0 72px 0 46px;border:1px solid #ced8e8;border-radius:15px;background:#fbfcff;color:#172033;outline:0;transition:border-color .2s,box-shadow .2s,background .2s}.input-wrap input:focus{border-color:var(--auth-blue);background:#fff;box-shadow:0 0 0 4px rgba(37,116,255,.12),0 11px 30px rgba(37,116,255,.08)}.input-wrap input::placeholder{color:#9aa5b8}.password-toggle{position:absolute;right:11px;border:0;background:#edf2fa;color:#42516a;padding:8px 10px;border-radius:10px;font-weight:800;font-size:.76rem;cursor:pointer}.password-toggle:hover{background:#e3eaf5}
.auth-options{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.86rem}.auth-options a{color:#5d3fd3;font-weight:800;text-decoration:none}.auth-options a:hover{text-decoration:underline}.remember-option{display:flex;align-items:center;gap:8px;color:#59667c}.remember-option input{width:17px;height:17px;accent-color:var(--auth-purple)}
.primary-login-button{height:58px;border:0;border-radius:15px;color:#fff;background:linear-gradient(100deg,var(--auth-blue),var(--auth-purple) 58%,var(--auth-pink));box-shadow:0 16px 35px rgba(110,52,218,.27);font-weight:900;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:11px;cursor:pointer;transition:transform .2s,box-shadow .2s}.primary-login-button:hover{transform:translateY(-2px);box-shadow:0 21px 40px rgba(110,52,218,.34)}.primary-login-button:active{transform:translateY(0)}
.auth-divider{display:flex;align-items:center;gap:14px;margin:25px 0;color:#8d98aa;font-size:.77rem;text-align:center}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e1e6ef}.auth-divider span{white-space:nowrap}
.passkey-button{width:100%;min-height:70px;border:1px solid #d7dfec;border-radius:16px;background:#f5f8fc;color:#243047;display:flex;align-items:center;text-align:left;gap:13px;padding:12px 15px;cursor:pointer;transition:.2s}.passkey-button:hover{background:#eef3fb;border-color:#bbc8dc;transform:translateY(-1px)}.passkey-button:disabled{opacity:.72;cursor:wait}.passkey-symbol{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#eee7ff,#e1f5ff);color:#6533ca;font-size:1.25rem}.passkey-button strong,.passkey-button small{display:block}.passkey-button strong{font-size:.91rem}.passkey-button small{font-size:.76rem;color:#748098;margin-top:3px}.button-spinner{width:28px;height:28px;border:3px solid #d8dff0;border-top-color:var(--auth-purple);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.register-prompt{display:flex;justify-content:center;gap:7px;align-items:center;margin-top:25px;color:#727e92;font-size:.88rem}.register-prompt a{font-weight:900;color:#5d3fd3;text-decoration:none}.register-prompt a:hover{text-decoration:underline}.security-note{text-align:center;margin:22px 0 0;color:#98a2b3;font-size:.72rem;line-height:1.5}.security-note span{color:#18ad64;margin-right:5px}
@media(max-width:1100px){.auth-shell{grid-template-columns:minmax(0,.85fr) minmax(450px,1.15fr)}.feature-grid{grid-template-columns:1fr}.feature-card:nth-child(n+3){display:none}.showcase-copy h1{font-size:clamp(2.5rem,5vw,4rem)}}
@media(max-width:820px){.auth-shell{display:block}.auth-showcase{display:none}.auth-panel{min-height:100vh;padding:24px}.mobile-brand{display:flex;justify-content:center;align-items:center;min-height:100px;margin-bottom:18px}.mobile-brand .login-logo{display:block;max-width:240px!important;max-height:90px!important;width:auto!important;height:auto!important;object-fit:contain!important}.mobile-brand .brand-mark{width:60px;height:60px;border-radius:19px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--auth-blue),var(--auth-purple));font-weight:900}.auth-card{border-radius:25px}}
@media(max-width:520px){.auth-panel{padding:18px}.auth-card{padding:24px 20px}.auth-heading h2{font-size:2rem}.auth-options{align-items:flex-start}.register-prompt{flex-direction:column}.input-wrap input{height:55px}.primary-login-button{height:55px}}
@media(prefers-color-scheme:dark){
  :root{color-scheme:dark}
  .auth-page{background:radial-gradient(circle at 8% 8%,rgba(37,116,255,.12),transparent 29%),radial-gradient(circle at 92% 12%,rgba(215,39,159,.11),transparent 28%),linear-gradient(145deg,#090f1d,#11182a 52%,#101628)}
  .auth-card{background:rgba(18,25,43,.93);border-color:rgba(255,255,255,.08);box-shadow:0 35px 90px rgba(0,0,0,.35)}
  .auth-heading h2,.auth-field{color:#f6f8ff}.auth-heading p,.remember-option,.register-prompt,.security-note{color:#aeb9cc}.auth-eyebrow,.auth-options a,.register-prompt a{color:#bc99ff}
  .input-wrap input{background:#141d30;border-color:#34415a;color:#f7f9ff}.input-wrap input:focus{background:#18233a;border-color:#628fff}.input-wrap input::placeholder{color:#77839a}.input-icon{color:#92a0b8}.password-toggle{background:#253149;color:#d8e0ef}.password-toggle:hover{background:#2d3a55}
  .auth-divider{color:#758199}.auth-divider:before,.auth-divider:after{background:#2d3850}.passkey-button{background:#172136;border-color:#34415a;color:#f3f6ff}.passkey-button:hover{background:#1c2941}.passkey-button small{color:#a4b0c5}.passkey-symbol{background:linear-gradient(145deg,#2c2450,#173246);color:#c3a7ff}
  .auth-alert-error{background:#351a22;border-color:#6b2b3b;color:#ffb0ba}.auth-alert-error>span{background:#55212e}.auth-alert-success{background:#123326;border-color:#235b43;color:#9af0c1}.auth-alert-success>span{background:#194b34}
}
