.auth-shell{background:var(--night);color:var(--ivory);font-family:var(--font-sans);overflow-x:hidden}.auth-shell ::selection{background:var(--burgundy);color:var(--ivory)}.scene{position:fixed;inset:0;z-index:0;overflow:hidden;background:var(--night)}.scene__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.96) contrast(1.05);opacity:0;transform:scale(1.04);animation:heroIn 1.8s var(--ease-out) forwards,heroScale 2.4s var(--ease-out) forwards}@keyframes heroIn{to{opacity:1}}@keyframes heroScale{to{transform:scale(1)}}.scene:after,.scene:before{content:"";position:absolute;inset:0;pointer-events:none}.scene:before{background:linear-gradient(180deg,rgba(11,8,7,.32),rgba(11,8,7,.14) 14%,transparent 28%)}.scene:after{background:linear-gradient(180deg,transparent,transparent 60%,rgba(11,8,7,.3) 78%,rgba(8,5,4,.62))}.auth-page{position:relative;z-index:10;min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;padding:32px 32px 24px}.auth-top{display:flex;flex-direction:column;align-items:center;gap:20px}.auth-brand{text-align:center}.auth-brand__title{font-family:var(--font-serif);font-size:clamp(28px,4vw,44px);line-height:1;letter-spacing:.32em;color:var(--ivory);padding-left:.32em;text-shadow:0 2px 24px rgba(0,0,0,.55);animation:rise 1s var(--ease-out) .8s forwards}.auth-brand__tagline,.auth-brand__title{display:block;font-weight:500;text-transform:uppercase;opacity:0}.auth-brand__tagline{margin-top:12px;font-family:var(--font-sans);font-size:11px;letter-spacing:.42em;color:var(--ivory-70);padding-left:.42em;text-shadow:0 1px 12px rgba(0,0,0,.5);animation:rise .9s var(--ease-out) .92s forwards}.auth-brand__rule{display:block;width:32px;height:1px;background:var(--gold-warm);margin:18px auto 0;transform:scaleX(0);transform-origin:center;animation:drawRule .6s var(--ease-out) 1.08s forwards}@keyframes drawRule{to{transform:scaleX(1)}}.auth-bottom{display:flex;flex-direction:column;align-items:center;gap:24px}.auth-form-zone{width:100%;max-width:380px}.auth-field{position:relative;margin-bottom:22px;opacity:0;animation:rise .7s var(--ease-out) forwards}.auth-field--email{animation-delay:1.18s}.auth-field--password{animation-delay:1.24s;margin-bottom:28px}.auth-field input:-webkit-autofill,.auth-field input:-webkit-autofill:focus,.auth-field input:-webkit-autofill:hover{-webkit-text-fill-color:var(--ivory);-webkit-box-shadow:inset 0 0 0 1000px transparent;transition:background-color 9999s ease-in-out 0s;-webkit-background-clip:text}.auth-eye{position:absolute;right:0;top:50%;transform:translateY(-50%);width:32px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;cursor:pointer;color:var(--ivory-55);transition:color .24s var(--ease-out)}.auth-eye:hover{color:var(--ivory)}.auth-eye:focus-visible{outline:2px solid var(--gold-warm);outline-offset:2px}.auth-enter{width:100%;height:54px;background:var(--ivory);border:1px solid var(--ivory);border-radius:0;color:var(--charcoal);font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;cursor:pointer;padding-left:.32em;transition:color .38s var(--ease-out),background-color .38s var(--ease-out),border-color .38s var(--ease-out);box-shadow:0 14px 42px -10px rgba(0,0,0,.55);opacity:0;animation:rise .7s var(--ease-out) 1.32s forwards}.auth-enter:hover:not(:disabled){background:var(--burgundy);border-color:var(--burgundy);color:var(--ivory)}.auth-enter:focus-visible{outline:2px solid var(--gold-warm);outline-offset:3px}.auth-enter:disabled{opacity:.5;cursor:not-allowed}.auth-aux{margin-top:22px;display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--font-sans);font-size:11.5px;letter-spacing:.04em;color:var(--ivory-70);text-shadow:0 1px 8px rgba(0,0,0,.4);opacity:0;animation:rise .7s var(--ease-out) 1.4s forwards}.auth-aux a{position:relative;color:inherit;text-decoration:none;padding:4px 2px;transition:color .24s var(--ease-out)}.auth-aux a:hover{color:var(--ivory)}.auth-aux a:after{content:"";position:absolute;left:2px;right:2px;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease-out)}.auth-aux a:hover:after{transform:scaleX(1)}.auth-aux a:focus-visible{outline:2px solid var(--gold-warm);outline-offset:3px}.auth-aux__sep{color:var(--ivory-25)}.auth-footer{text-align:center;font-family:var(--font-sans);font-size:9px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--ivory-40);padding-left:.32em;text-shadow:0 1px 8px rgba(0,0,0,.4);opacity:0;animation:rise .8s var(--ease-out) 1.5s forwards}.auth-footer__dot{color:var(--ivory-25);padding:0 8px}.auth-error{margin-top:6px;font-family:var(--font-sans);font-size:11px;letter-spacing:.04em;color:var(--error-soft);text-shadow:0 1px 8px rgba(0,0,0,.5)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.auth-page{padding:24px 22px 20px}.auth-brand__title{font-size:clamp(24px,8vw,32px);letter-spacing:.28em}.auth-brand__tagline{font-size:9.5px;letter-spacing:.36em;margin-top:10px}.auth-brand__rule{margin:14px auto 0}.auth-top{gap:16px}.auth-form-zone{max-width:100%}.auth-enter{height:50px;font-size:11px;letter-spacing:.28em}.auth-aux{font-size:11px;gap:10px}.auth-footer{font-size:8.5px;letter-spacing:.24em;line-height:1.7}.auth-footer__dot{padding:0 6px}.auth-bottom{gap:18px}}@media (min-width:1280px){.auth-page{padding:40px 48px 32px}.auth-form-zone{max-width:400px}}@media (min-width:1600px){.auth-page{padding:48px 64px 40px}.auth-form-zone{max-width:420px}}@media (prefers-reduced-motion:reduce){.auth-aux,.auth-brand__rule,.auth-brand__tagline,.auth-brand__title,.auth-enter,.auth-field,.auth-footer,.scene__image{animation:none!important;opacity:1!important;transform:none!important}.auth-brand__rule{transform:scaleX(1)!important}.scene__image{transform:scale(1)}}@media (forced-colors:active){.auth-enter{border:1px solid CanvasText}}.auth-field select:has(option[value=""]:checked){color:var(--ivory-55)}.auth-field select option{color:var(--charcoal)}