.auth{display:grid;grid-template-columns:55fr 45fr;min-height:100vh}.auth .brand{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:clamp(2.25rem,4vw,3.5rem);background:var(--bg);isolation:isolate}.auth .brand:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(120% 90% at 38% 42%,oklch(.168 .012 259/.9) 0,oklch(.135 .011 260/.55) 38%,transparent 72%),var(--bg)}.auth .brand:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;z-index:1;background:linear-gradient(to bottom,transparent,var(--border-strong) 22%,var(--border-strong) 78%,transparent);box-shadow:18px 0 60px oklch(0 0 0/.45)}.auth .brand__rings{position:absolute;z-index:-1;right:-14%;top:50%;transform:translateY(-50%);width:min(46vw,720px);aspect-ratio:1;opacity:.5;pointer-events:none;-webkit-mask-image:radial-gradient(closest-side,#000 60%,transparent 100%);mask-image:radial-gradient(closest-side,#000 60%,transparent 100%)}.auth .brand__rings circle{fill:none;stroke:oklch(1 0 0/.1);stroke-width:1}.auth .brand__rings .arc{fill:none;stroke:var(--orange-500);stroke-width:2;opacity:.5;stroke-linecap:round}.auth .wordmark{display:inline-flex;align-items:center;gap:.6rem}.auth .iso{width:30px;height:30px;flex:none}.auth .wordmark__text{font-family:var(--font-display);font-weight:800;letter-spacing:-.035em;line-height:1;font-size:1.45rem;color:var(--text)}.auth .wordmark__text .plus{color:var(--orange-500)}.auth .brand .wordmark__text{font-size:1.6rem}.auth .brand__body{flex:1 1;display:flex;flex-direction:column;justify-content:center;gap:1.5rem;max-width:30rem;padding:clamp(2rem,5vh,4rem) 0}.auth .brand__headline{font-family:var(--font-display);font-weight:800;font-size:clamp(2.25rem,3.4vw,3rem);line-height:1.08;letter-spacing:-.02em;color:var(--text)}.auth .brand__headline .accent{color:var(--orange-500)}.auth .brand__sub{font-family:var(--font-mono);font-weight:500;font-size:var(--text-sm);letter-spacing:.04em;color:var(--text-muted)}.auth .features{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.auth .feature{display:flex;align-items:center;gap:.95rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem 1.05rem;box-shadow:var(--shadow-sm)}.auth .feature__icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:var(--radius-full);background:var(--primary-soft);color:var(--orange-400)}.auth .feature__icon svg{width:19px;height:19px}.auth .feature__title{font-size:var(--text-sm);font-weight:600;color:var(--text);line-height:1.2;display:block}.auth .feature__desc{font-size:var(--text-xs);font-weight:400;color:var(--text-muted);line-height:1.3;margin-top:2px;display:block}.auth .brand__footer{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.02em;color:var(--text-subtle)}.auth .panel{display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);padding:clamp(1.5rem,4vw,3rem)}.auth .form-wrap{width:100%;max-width:400px}.auth .compact-head{display:none}.auth .login-form{display:flex;flex-direction:column}.auth .eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin-bottom:.9rem}.auth .eyebrow:before{content:"";width:18px;height:1px;background:var(--primary)}.auth .form__title{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);line-height:1.08;letter-spacing:-.02em;color:var(--text)}.auth .form__sub{font-size:var(--text-sm);font-weight:400;color:var(--text-muted);margin-top:.5rem;margin-bottom:2rem}.auth .field{margin-bottom:1.1rem}.auth .field__label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text);margin-bottom:.45rem}.auth .input-shell{position:relative;display:flex;align-items:center}.auth .login-input{width:100%;min-height:44px;padding:12px 16px;background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base);transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.auth .login-input::placeholder{color:var(--text-subtle)}.auth .login-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.auth .login-input--pass{padding-right:46px}.auth .pass-toggle{position:absolute;right:8px;width:32px;height:32px;display:grid;place-items:center;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-subtle);transition:color var(--dur-fast) var(--ease-out)}.auth .pass-toggle:hover{color:var(--text-muted)}.auth .pass-toggle.is-on{color:var(--primary)}.auth .pass-toggle svg{width:19px;height:19px}.auth .forgot-row{display:flex;justify-content:flex-end;margin-top:-.25rem;margin-bottom:.5rem}.auth .forgot{font-size:var(--text-sm);font-weight:500;color:var(--text-muted);background:none;border:none;cursor:pointer;transition:color var(--dur-fast) var(--ease-out)}.auth .forgot:hover{color:var(--primary)}.auth .form__error{display:flex;align-items:flex-start;gap:.5rem;font-size:var(--text-xs);font-weight:400;color:var(--danger);margin:.25rem 0 1rem}.auth .form__error svg{width:15px;height:15px;flex:none;margin-top:1px}.auth .login-btn{position:relative;width:100%;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:700;background:var(--primary);color:var(--on-primary);margin-top:.6rem;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),opacity var(--dur-base)}.auth .login-btn:hover{background:var(--primary-hover)}.auth .login-btn:active{background:var(--primary-press);transform:translateY(1px) scale(.99)}.auth .login-btn.is-emph{box-shadow:var(--glow-primary);animation:loginGlow 2s var(--ease-out) infinite}.auth .login-btn:disabled{cursor:progress}@keyframes loginGlow{0%,to{box-shadow:0 0 0 1px oklch(.723 .188 47/.4),0 8px 32px oklch(.723 .188 47/.28)}50%{box-shadow:0 0 0 1px oklch(.723 .188 47/.4),0 8px 32px oklch(.723 .188 47/.18)}}.auth .btn__spinner{width:16px;height:16px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:loginSpin .7s linear infinite}@keyframes loginSpin{to{transform:rotate(1turn)}}.auth .divider{display:flex;align-items:center;gap:.85rem;margin:1.5rem 0 1.1rem;font-size:var(--text-xs);color:var(--text-subtle)}.auth .divider:after,.auth .divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth .btn--secondary{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:var(--surface);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;opacity:.55;cursor:not-allowed}.auth .btn--secondary .soon{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);border:1px solid var(--border);border-radius:var(--radius-xs);padding:1px 6px;margin-left:.35rem}.auth .form__legal{margin-top:1.6rem;text-align:center;font-size:var(--text-xs);font-weight:400;color:var(--text-subtle);line-height:1.5}.auth .form__legal a{color:var(--text-muted);transition:color var(--dur-fast) var(--ease-out)}.auth .form__legal a:hover{color:var(--primary)}.auth .form__admin-link{margin-top:.85rem;text-align:center;font-size:var(--text-xs)}.auth .form__admin-link a{color:var(--text-muted);font-weight:600;text-decoration:none}.auth .form__admin-link a:hover{color:var(--primary);text-decoration:underline}.auth .login-form.is-loading .forgot,.auth .login-form.is-loading .login-input,.auth .login-form.is-loading .pass-toggle{opacity:.5;pointer-events:none}.auth .login-form.is-loading .login-btn{animation:none;box-shadow:none}@keyframes loginRiseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes loginFormIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes loginSweep{0%{stroke-dasharray:0 999;opacity:0}to{stroke-dasharray:520 999;opacity:.5}}@media (prefers-reduced-motion:no-preference){.auth.is-play .anim{opacity:0;transform:translateY(14px);animation:loginRiseIn var(--dur-slow) var(--ease-out) both}.auth.is-play .brand .wordmark{animation-delay:60ms}.auth.is-play .brand__headline{animation-delay:.16s}.auth.is-play .brand__sub{animation-delay:.26s}.auth.is-play .feature:first-child{animation-delay:.38s}.auth.is-play .feature:nth-child(2){animation-delay:.47s}.auth.is-play .feature:nth-child(3){animation-delay:.56s}.auth.is-play .brand__footer{animation-delay:.68s}.auth.is-play .login-form{animation:loginFormIn var(--dur-slow) var(--ease-out) both}.auth.is-play .brand__rings .arc{animation:loginSweep 1.4s var(--ease-out) .2s both;transform-origin:center}}@media (max-width:959px){.auth{display:flex;flex-direction:column;background:var(--bg-elevated)}.auth .brand{display:none}.auth .panel{flex:1 1;align-items:flex-start;padding-top:clamp(2rem,6vh,4rem)}.auth .form-wrap{max-width:480px}.auth .compact-head{display:flex;flex-direction:column;gap:1rem;padding:clamp(1.75rem,4vw,2.5rem) clamp(1.5rem,4vw,3rem) 0;width:100%;max-width:480px;margin:0 auto}.auth .compact-head__brandline{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);line-height:1.1;letter-spacing:-.02em;color:var(--text)}.auth .compact-head__brandline .accent{color:var(--orange-500)}.auth .compact-head__sub{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-muted)}}@media (max-width:599px){.auth{background:var(--bg)}.auth .panel{background:transparent;padding:1.5rem 24px 2.5rem}.auth .compact-head{padding:1.75rem 0 0;gap:.65rem;max-width:none}.auth .compact-head__brandline{display:none}.auth .form-wrap{max-width:none}.auth .form__sub{margin-bottom:1.5rem}}