.auth-shell{--ink:#0d1130;--ink-2:#232a63;--paper:#ffffff;--card:#ffffff;--brand:#5b4df0;--brand-d:#4a3fd6;--mint:#a99bff;--text:#12163a;--muted:#6b7090;--line:#e6e8f2;--err:#d6455d;--on-dark:#f1f0ff;--on-dark-m:#b9bdf0;--font-auth-display:var(--font-sora),"Sora",sans-serif;--font-auth-body:var(--font-dm-sans),"DM Sans",system-ui,sans-serif;min-height:100vh;min-height:100dvh;font-family:var(--font-auth-body);background:var(--paper);color:var(--text);-webkit-font-smoothing:antialiased;box-sizing:border-box}@media (prefers-color-scheme:dark){.auth-shell:not([data-theme=light]){--paper:#0d0c24;--card:#17153a;--text:#f1f0ff;--muted:#a9a7d3;--line:#2c2a5c;--brand:#8173ff;--brand-d:#9a8fff}}.auth-shell *,.auth-shell :after,.auth-shell :before{box-sizing:border-box}.auth-shell .auth-main{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.auth-shell .auth-panel{background:radial-gradient(900px 420px at 90% -10%,rgba(139,92,246,.45),transparent 60%),linear-gradient(160deg,#0d1130,#161b4a 55%,#232a63);color:var(--on-dark);padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;gap:clamp(24px,4vw,44px);position:relative;overflow:hidden}.auth-shell .auth-panel:before{content:"";position:absolute;inset:-30% -20% auto auto;width:70%;aspect-ratio:1;background:radial-gradient(circle,rgba(91,75,232,.55),transparent 65%);pointer-events:none}.auth-shell .auth-brand{display:flex;align-items:center;gap:14px;position:relative;text-decoration:none;color:inherit}.auth-shell .auth-logo{width:48px;height:48px;border-radius:14px;background:var(--brand);display:grid;place-items:center;font:800 24px var(--font-auth-display);color:#fff}.auth-shell .auth-brand b{display:block;font:700 20px var(--font-auth-display);color:var(--on-dark)}.auth-shell .auth-brand span{font-size:14px;color:var(--on-dark-m);font-weight:400}.auth-shell .auth-panel h1{font:800 clamp(2rem,4.2vw,3.5rem) /1.05 var(--font-auth-display);letter-spacing:-.02em;max-width:14ch;position:relative;color:var(--on-dark);margin:0}.auth-shell .auth-lead{color:var(--on-dark-m);font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.6;max-width:46ch;position:relative;margin:0}.auth-shell .auth-feats{list-style:none;padding:0;margin:auto 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;position:relative}.auth-shell .auth-feats li{display:flex;gap:14px;padding:16px 0;border-top:1px solid rgba(255,255,255,.12)}.auth-shell .auth-feats .auth-feat-icon,.auth-shell .auth-feats svg{flex:none;width:22px;height:22px;stroke:var(--mint);color:var(--mint);margin-top:2px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-shell .auth-feats b{display:block;font-weight:600;font-size:15px;color:var(--on-dark)}.auth-shell .auth-feats small{display:block;color:var(--on-dark-m);font-size:13.5px;line-height:1.45;margin-top:2px}.auth-shell .auth-side{display:grid;place-items:center;padding:clamp(20px,4vw,56px);background:var(--paper)}.auth-shell .auth-card{width:100%;max-width:440px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,4vw,40px);box-shadow:0 1px 2px rgba(20,24,70,.04),0 24px 56px -28px rgba(40,30,140,.28);color:var(--text)}.auth-shell .auth-card h2{font:800 clamp(1.8rem,3vw,2.3rem) /1.1 var(--font-auth-display);letter-spacing:-.02em;color:var(--text);margin:0}.auth-shell .auth-sub{color:var(--muted);margin:8px 0 28px;line-height:1.5;font-size:15px}.auth-shell .auth-field{margin-bottom:20px;display:flex;flex-direction:column;gap:0}.auth-shell .auth-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.auth-shell .auth-field .auth-label,.auth-shell .auth-field label{font-weight:600;font-size:15px;color:var(--text);line-height:1.3}.auth-shell .auth-req{color:var(--err);font-style:normal;margin-left:2px}.auth-shell .auth-card a{color:var(--brand);text-decoration:none;font-weight:500}.auth-shell .auth-card a:hover{text-decoration:underline}.auth-shell .auth-input-wrap{position:relative;margin-top:8px}.auth-shell .auth-card [data-slot=input],.auth-shell .auth-card input:not([type=checkbox]):not([type=radio]),.auth-shell .auth-card select,.auth-shell .auth-input-wrap input{width:100%!important;height:52px!important;min-height:52px!important;border-radius:12px!important;border:1.5px solid var(--line)!important;background:transparent!important;color:var(--text)!important;font:inherit!important;font-size:16px!important;padding:0 16px!important;box-shadow:none!important}.auth-shell .auth-card input::placeholder{color:var(--muted)!important;opacity:.7!important}.auth-shell .auth-card [data-slot=input]:focus-within,.auth-shell .auth-card a:focus-visible,.auth-shell .auth-card button:focus-visible,.auth-shell .auth-card input:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent)!important;outline-offset:2px!important;border-color:var(--brand)!important}.auth-shell .auth-input-wrap input.auth-pw,.auth-shell .auth-input-wrap input[type=password]{padding-right:52px!important}.auth-shell .auth-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:none;border-radius:10px;color:var(--muted);cursor:pointer;display:grid;place-items:center;padding:0}.auth-shell .auth-eye svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}.auth-shell .auth-err{color:var(--err);font-size:13.5px;margin-top:6px}.auth-shell .auth-field.bad [data-slot=input],.auth-shell .auth-field.bad input{border-color:var(--err)!important}.auth-shell .auth-alert{border-radius:12px;border:1px solid color-mix(in srgb,var(--err) 25%,transparent);background:color-mix(in srgb,var(--err) 10%,transparent);color:var(--err)}.auth-shell .auth-alert,.auth-shell .auth-ok{padding:10px 12px;font-size:14px;margin-bottom:16px}.auth-shell .auth-ok{border-radius:12px;border:1px solid color-mix(in srgb,#0f9d6b 25%,transparent);background:#e2f6ee;color:#0f9d6b}.auth-shell .auth-btn,.auth-shell .auth-card .auth-btn-primary,.auth-shell .auth-card button[type=submit]{width:100%!important;height:52px!important;min-height:52px!important;border:0!important;border-radius:12px!important;background:var(--brand)!important;background-image:none!important;color:#fff!important;font:600 16px var(--font-auth-body)!important;cursor:pointer;transition:background .15s,transform .1s;box-shadow:none!important}.auth-shell .auth-btn:hover,.auth-shell .auth-card .auth-btn-primary:hover,.auth-shell .auth-card .auth-btn-primary[data-hovered=true],.auth-shell .auth-card button[type=submit]:hover{background:var(--brand-d)!important}.auth-shell .auth-btn:active,.auth-shell .auth-card .auth-btn-primary:active{transform:scale(.99)}.auth-shell .auth-btn[disabled],.auth-shell .auth-card .auth-btn-primary[data-disabled=true],.auth-shell .auth-card .auth-btn-primary[disabled]{opacity:.7;cursor:wait}.auth-shell .auth-btn-secondary{width:100%!important;height:52px!important;min-height:52px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:transparent!important;background-image:none!important;color:var(--text)!important;font:600 16px var(--font-auth-body)!important;box-shadow:none!important}.auth-shell .auth-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.auth-shell .auth-chip{border:1px solid var(--line);border-radius:12px;padding:12px 4px;text-align:center;font-size:13px;font-weight:500;color:var(--muted);text-decoration:none;display:block;transition:border-color .15s,color .15s}.auth-shell .auth-chip:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}.auth-shell .auth-chip .auth-chip-icon,.auth-shell .auth-chip svg{display:block;margin:0 auto 6px;width:20px;height:20px;stroke:var(--brand);color:var(--brand);fill:none;stroke-width:1.8}.auth-shell .auth-foot{text-align:center;color:var(--muted);font-size:15px;display:grid;gap:10px}.auth-shell .auth-foot .auth-back,.auth-shell .auth-foot a.auth-back{color:var(--muted);font-weight:500}.auth-shell .auth-form{display:flex;flex-direction:column}.auth-shell .auth-steps{display:flex;align-items:center;gap:8px;margin-bottom:20px}.auth-shell .auth-steps i{height:6px;flex:1;border-radius:999px;background:var(--line);display:block}.auth-shell .auth-steps i.on{background:var(--brand)}.auth-shell .auth-otp{display:flex;flex-direction:row;justify-content:space-between;gap:8px}.auth-shell .auth-otp input{width:100%!important;max-width:52px;height:52px!important;text-align:center!important;font-size:18px!important;font-weight:600!important;padding:0!important}.auth-shell .auth-strength{list-style:none;padding:0;margin:-8px 0 16px;font-size:12px;color:var(--muted)}.auth-shell .auth-strength li.ok{color:#0f9d6b}.auth-shell .auth-subjects{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.auth-shell .auth-subject{border-radius:12px;border:1px solid var(--line);padding:8px 14px;font-size:14px;font-weight:500;color:var(--muted);background:transparent;cursor:pointer}.auth-shell .auth-subject.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}.auth-shell .auth-pair{display:flex;gap:10px}@media (max-width:1000px){.auth-shell .auth-main{grid-template-columns:1fr}.auth-shell .auth-panel{padding-bottom:32px}.auth-shell .auth-panel h1{max-width:20ch}.auth-shell .auth-feats{margin-top:0}.auth-shell .auth-side{padding-top:0;margin-top:-24px}.auth-shell .auth-card{position:relative}}@media (max-width:560px){.auth-shell .auth-panel{padding:24px 20px 48px}.auth-shell .auth-feats,.auth-shell .auth-lead{display:none}.auth-shell .auth-panel h1{font-size:1.9rem}.auth-shell .auth-side{padding:0 14px 24px;margin-top:-28px}.auth-shell .auth-card{border-radius:20px}.auth-shell .auth-chips{gap:8px}}@media (max-width:360px){.auth-shell .auth-chips{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.auth-shell *{transition:none!important}}.auth-shell .auth-visual{position:relative;margin:0;border-radius:22px;overflow:hidden;min-height:0;flex:1 1 auto;max-height:340px;border:1px solid rgba(255,255,255,.1);background:#1b2058}.auth-shell .auth-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}.auth-shell .auth-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(13,17,48,.75))}.auth-shell .auth-visual-badge{position:absolute;left:16px;bottom:16px;z-index:1;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.95);color:#12163a;box-shadow:0 12px 28px -12px rgba(13,17,48,.6);font-size:13px;line-height:1.3}.auth-shell .auth-visual-badge b{display:block;font:700 15px var(--font-auth-display);color:#12163a}.auth-shell .auth-visual-badge span{color:#6b7090}.auth-shell .auth-visual-dot{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eeecff;color:#5b4df0;flex:none}.auth-shell .auth-feats.compact li{padding:12px 0}@media (max-height:760px){.auth-shell .auth-visual{display:none}}.auth-shell .auth-check{display:inline-flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--muted);cursor:pointer;line-height:1.45}.auth-shell .auth-check input{width:18px;height:18px;margin-top:1px;accent-color:var(--brand);flex:none}.auth-shell .auth-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:-4px}.auth-shell .auth-meter i{height:5px;border-radius:999px;background:var(--line)}.auth-shell .auth-meter[data-level="1"] i:nth-child(-n+1){background:#d6455d}.auth-shell .auth-meter[data-level="2"] i:nth-child(-n+2){background:#e8a23a}.auth-shell .auth-meter[data-level="3"] i:nth-child(-n+3){background:#8b5cf6}.auth-shell .auth-meter[data-level="4"] i:nth-child(-n+4){background:#0f9d6b}.auth-shell .auth-meter-label{margin:6px 0 0;font-size:12.5px;font-weight:600;color:var(--muted)}@media (max-width:1000px){.auth-shell .auth-visual{max-height:220px;flex:none}}@media (max-width:560px){.auth-shell .auth-visual{display:none}}.auth-shell .auth-brand .auth-logo{color:#ffffff;font:700 22px var(--font-auth-display);background:linear-gradient(135deg,#5b4df0,#8b5cf6);box-shadow:0 8px 20px -6px rgba(91,77,240,.7)}.auth-shell .auth-check{margin:2px 0 6px}@media (min-width:1001px) and (min-height:761px){.auth-shell .auth-feats.compact{display:none}.auth-shell .auth-visual{margin-top:auto;max-height:360px}}.auth-shell .auth-form+.auth-foot{margin-top:20px}@media (max-width:1000px){.auth-shell .auth-main{grid-template-rows:auto 1fr}.auth-shell .auth-side{align-items:start}}