:root{--auth-font:"Plus Jakarta Sans", system-ui, sans-serif;--auth-card:#fff;--auth-ink:#0f172a;--auth-muted:#64748b;--auth-input-border:#0f172a1f;--auth-accent:#0d9488;--auth-accent-hover:#0f766e;--auth-accent-ring:#0d948838;--auth-accent-glow:#0d948852;--auth-safe-top:env(safe-area-inset-top,0);--auth-safe-right:env(safe-area-inset-right,0);--auth-safe-bottom:env(safe-area-inset-bottom,0);--auth-safe-left:env(safe-area-inset-left,0)}html.auth-theme--teal{--auth-accent:#0d9488;--auth-accent-hover:#0f766e;--auth-accent-ring:#0d948838;--auth-accent-glow:#0d948852}html.auth-theme--slate{--auth-accent:#475569;--auth-accent-hover:#334155;--auth-accent-ring:#47556947;--auth-accent-glow:#3341554d}html.auth-theme--violet{--auth-accent:#7c3aed;--auth-accent-hover:#6d28d9;--auth-accent-ring:#7c3aed38;--auth-accent-glow:#7c3aed52}html.auth-theme--ocean{--auth-accent:#0284c7;--auth-accent-hover:#0369a1;--auth-accent-ring:#0284c73d;--auth-accent-glow:#0284c757}html.auth-page{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}.auth-body{box-sizing:border-box;width:100%;max-width:100vw;min-height:100dvh;font-family:var(--auth-font);color:var(--auth-ink);padding:var(--auth-safe-top) var(--auth-safe-right) var(--auth-safe-bottom) var(--auth-safe-left);background:#f1f5f9;margin:0}html.auth-layout--split .auth-body{flex-direction:column;min-height:100dvh;display:flex}@media (width>=992px){html.auth-layout--split .auth-body{flex-direction:row;align-items:stretch}}.auth-theme--teal .auth-brand-panel{background:linear-gradient(145deg,#0f172a 0%,#134e4a 45%,#0d9488 100%)}.auth-theme--slate .auth-brand-panel{background:linear-gradient(145deg,#020617 0%,#1e293b 50%,#334155 100%)}.auth-theme--violet .auth-brand-panel{background:linear-gradient(145deg,#1e1b4b 0%,#4c1d95 50%,#7c3aed 100%)}.auth-theme--ocean .auth-brand-panel{background:linear-gradient(145deg,#0c4a6e 0%,#0369a1 50%,#0284c7 100%)}.auth-brand-panel{color:#fff;box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:center;width:100%;max-width:100%;min-height:clamp(200px,38vh,320px);padding:clamp(1.25rem,4vw,2.5rem) clamp(1rem,4vw,2rem);display:flex;position:relative;overflow:hidden}@media (height<=520px) and (orientation:landscape){.auth-brand-panel{min-height:auto;padding:1rem 1.25rem}}@media (width>=992px){.auth-brand-panel{align-self:stretch;width:44%;min-height:auto;padding:2.5rem 2rem}}.auth-brand-panel:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 80%,#ffffff1f 0%,#0000 45%),radial-gradient(circle at 80% 30%,#ffffff14 0%,#0000 40%);position:absolute;inset:0}.auth-brand-panel .auth-brand-inner{z-index:1;position:relative}.auth-brand-panel .auth-brand-logo{filter:drop-shadow(0 4px 12px #0003);width:auto;max-height:56px;margin-bottom:1.25rem}.auth-brand-panel .auth-brand-headline{letter-spacing:-.03em;word-wrap:break-word;margin:0 0 .75rem;font-size:clamp(1.35rem,5vw,2rem);font-weight:800;line-height:1.2}.auth-brand-panel .auth-brand-sub{opacity:.92;max-width:28rem;margin:0;font-size:clamp(.88rem,2.8vw,.95rem);line-height:1.55}.auth-form-panel{box-sizing:border-box;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:clamp(1rem,3vw,1.25rem);width:100%;min-width:0;padding:clamp(1rem,4vw,2rem) clamp(.75rem,3vw,1.25rem);display:flex}@media (width>=992px){.auth-form-panel{flex:1 1 0;align-self:stretch;width:56%;min-height:auto}}.auth-form-panel--has-cover{position:relative;overflow:hidden}@media (width>=992px){.auth-form-panel--has-cover{flex:1 1 0;align-self:stretch;min-height:0}}@media (width<=991.98px){.auth-form-panel--has-cover{flex:auto;min-height:52dvh}}.auth-form-panel__inner{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.25rem;width:100%;min-height:0;display:flex}.auth-form-panel--has-cover:not(.auth-form-panel--revealed) .auth-form-panel__inner{-webkit-user-select:none;user-select:none}.auth-form-panel--revealed .auth-login-cover{opacity:0;visibility:hidden;pointer-events:none}@media (prefers-reduced-motion:no-preference){.auth-form-panel--revealed .auth-login-cover{transition:opacity .35s,visibility .35s}}.auth-login-cover{z-index:5;cursor:pointer;text-align:center;background:#0f172a;border:none;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0}.auth-login-cover:focus{outline:3px solid var(--auth-accent);outline-offset:-3px}.auth-login-cover:focus:not(:focus-visible){outline:none}.auth-login-cover:focus-visible{outline:3px solid var(--auth-accent);outline-offset:-3px}.auth-login-cover__img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.auth-login-cover__shade{pointer-events:none;background:linear-gradient(#0f172a33 0%,#0f172a59 55%,#0f172ae0 100%);position:absolute;inset:0}.auth-login-cover__content{z-index:1;min-height:100%;padding:clamp(1.25rem,5vw,2.5rem) clamp(1rem,4vw,1.5rem) clamp(1.5rem,5vw,2.75rem);padding-bottom:calc(clamp(1.5rem, 5vw, 2.75rem) + var(--auth-safe-bottom));box-sizing:border-box;pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:center;gap:.65rem;display:flex;position:relative}.auth-login-cover__title{letter-spacing:-.03em;color:#fff;text-shadow:0 2px 24px #00000073;word-wrap:break-word;width:100%;max-width:22rem;font-size:clamp(1.15rem,4.5vw,1.85rem);font-weight:800;line-height:1.2}.auth-login-cover__sub{color:#ffffffeb;text-shadow:0 1px 12px #0006;width:100%;max-width:24rem;font-size:clamp(.85rem,2.8vw,.95rem);line-height:1.45}.auth-login-cover__cta{letter-spacing:.06em;text-transform:uppercase;color:#ffffffe0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a59;border:1px solid #ffffff59;border-radius:999px;margin-top:.35rem;padding:.5rem .9rem;font-size:.8rem;font-weight:700;display:inline-block}.auth-footer-links{text-align:center;width:100%;max-width:420px;color:var(--auth-muted);flex-shrink:0;font-size:.875rem;line-height:1.5}.auth-footer-links a{color:var(--auth-accent);font-weight:600;text-decoration:none}.auth-footer-links a:hover{text-decoration:underline}.auth-footer-links .auth-footer-sep{opacity:.6;margin:0 .35rem}.auth-forgot{text-align:center;margin-top:1rem;font-size:.875rem}.auth-forgot a{color:var(--auth-accent);font-weight:600;text-decoration:none}.auth-forgot a:hover{text-decoration:underline}html.auth-layout--centered .auth-brand-panel{display:none}html.auth-layout--centered .auth-form-panel{background:radial-gradient(80% 50% at 50% -20%,#0d94881f,#0000),linear-gradient(#f8fafc 0%,#f1f5f9 100%);width:100%;min-height:100dvh}html.auth-layout--centered.auth-theme--slate .auth-form-panel{background:radial-gradient(80% 50% at 50% -20%,#33415526,#0000),linear-gradient(#f8fafc 0%,#f1f5f9 100%)}html.auth-layout--centered.auth-theme--violet .auth-form-panel{background:radial-gradient(80% 50% at 50% -20%,#7c3aed1f,#0000),linear-gradient(#f8fafc 0%,#f1f5f9 100%)}html.auth-layout--centered.auth-theme--ocean .auth-form-panel{background:radial-gradient(80% 50% at 50% -20%,#0284c726,#0000),linear-gradient(#f8fafc 0%,#f1f5f9 100%)}.auth-field{margin-bottom:1rem}.auth-check-row{color:var(--auth-ink);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem;display:flex}.auth-check-input{border:1px solid var(--auth-input-border);width:1rem;height:1rem;accent-color:var(--auth-accent);cursor:pointer;border-radius:.25rem;flex-shrink:0}.auth-submit-wrap{margin-top:.25rem}.auth-card{background:var(--auth-card);border:1px solid #0f172a0f;border-radius:clamp(14px,3vw,18px);flex-shrink:0;width:100%;max-width:420px;overflow:hidden;box-shadow:0 4px 6px #0f172a0a,0 24px 48px #0f172a1a}html.auth-theme--teal .auth-card{border-color:#0d94881a}html.auth-theme--slate .auth-card{border-color:#4755691f}html.auth-theme--violet .auth-card{border-color:#7c3aed1f}html.auth-theme--ocean .auth-card{border-color:#0284c71f}.auth-card-header{padding:clamp(1.1rem,3.5vw,1.5rem) clamp(1rem,4vw,1.75rem) .5rem}.auth-card-title{letter-spacing:-.02em;color:var(--auth-ink);word-wrap:break-word;margin:0;font-size:clamp(1.15rem,4vw,1.35rem);font-weight:800}.auth-card-body{padding:clamp(.85rem,3vw,1rem) clamp(1rem,4vw,1.75rem) clamp(1.25rem,4vw,1.75rem)}.auth-help-text{color:var(--auth-muted);margin-bottom:1.25rem;font-size:.875rem;line-height:1.5}.auth-alert{border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.auth-alert--success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.auth-alert--error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.auth-form-label{text-transform:uppercase;letter-spacing:.04em;color:var(--auth-muted);margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.auth-password-wrap{position:relative}.auth-form-control--has-toggle{padding-right:2.75rem}.auth-password-toggle{cursor:pointer;color:var(--auth-muted);background:0 0;border:none;border-radius:4px;align-items:center;padding:.2rem;line-height:0;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.auth-password-toggle:hover{color:var(--auth-ink)}.auth-password-toggle:focus{outline:none}.auth-password-toggle:focus-visible{outline:2px solid var(--auth-accent);outline-offset:2px}.auth-form-control{width:100%;max-width:100%;color:var(--auth-ink);background:#f8fafc;padding:.65rem .85rem;font-size:16px;display:block}@media (width>=480px){.auth-form-control{font-size:.95rem}}.auth-form-control{border:1px solid var(--auth-input-border);box-sizing:border-box;border-radius:10px;transition:border-color .15s,box-shadow .15s}.auth-form-control:focus{border-color:var(--auth-accent);outline:none;box-shadow:0 0 0 3px #0d948833}.auth-form-control.is-invalid{border-color:#dc2626}.auth-btn-primary{width:100%;min-height:2.75rem;padding:.75rem 1rem;font-size:16px;font-weight:700;display:block}@media (width>=480px){.auth-btn-primary{font-size:.95rem}}.auth-btn-primary{color:#fff;background:linear-gradient(135deg, var(--auth-accent) 0%, var(--auth-accent-hover) 100%);cursor:pointer;box-shadow:0 4px 14px var(--auth-accent-glow);border:none;border-radius:10px;transition:transform .15s,box-shadow .2s}@media (hover:hover) and (pointer:fine){.auth-btn-primary:hover{box-shadow:0 8px 22px var(--auth-accent-glow);transform:translateY(-1px)}}.auth-btn-primary:active{transform:translateY(0)}.auth-footer-note{text-align:center;width:100%;max-width:420px;color:var(--auth-muted);flex-shrink:0;margin:0;padding:0 .5rem;font-size:.8rem}.invalid-feedback{color:#b91c1c;margin-top:.25rem;font-size:.8rem;display:block}.form-check{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem;display:flex}.form-check-input{width:1rem;height:1rem}.mb-3{margin-bottom:1rem}.d-grid{display:grid}
