.auth-shell{--auth-ease-out:cubic-bezier(.23, 1, .32, 1);--auth-radius:14px;grid-template-columns:1fr;min-height:100vh;display:grid}@media (min-width:960px){.auth-shell{grid-template-columns:1.1fr 1fr}}.auth-hero{background:radial-gradient(ellipse at 20% 0%, var(--portal-bg-stop-1), transparent 55%), radial-gradient(ellipse at 80% 100%, var(--portal-bg-stop-2), transparent 55%), var(--portal-base-bg);border-right:1px solid var(--glass-border);flex-direction:column;justify-content:space-between;padding:clamp(40px,8vw,96px) clamp(32px,5vw,72px);display:none;position:relative;overflow:hidden}@media (min-width:960px){.auth-hero{display:flex}}.auth-hero:before{content:"";background:radial-gradient(circle, var(--portal-glow) 0%, transparent 70%);opacity:.5;pointer-events:none;width:520px;height:520px;position:absolute;bottom:-30%;left:-10%}.auth-hero__brand{letter-spacing:-.03em;color:#fff;font-size:28px;font-weight:800}.auth-hero__h1{letter-spacing:-.04em;color:#fff;text-wrap:balance;max-width:520px;font-size:clamp(38px,4.6vw,56px);font-weight:800;line-height:1.04;position:relative}.auth-hero__h1 em{background:linear-gradient(100deg, var(--portal-accent-bright-1), var(--portal-accent-bright-2));-webkit-text-fill-color:transparent;color:var(--portal-accent-bright-1);-webkit-background-clip:text;background-clip:text;font-style:normal}.auth-hero__lead{color:var(--color-ink-soft);max-width:460px;margin-top:18px;font-size:17px;line-height:1.65;position:relative}.auth-hero__foot{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink-dim);font-size:11px}.auth-hero__top{z-index:1;position:relative}.auth-hero__brand{letter-spacing:-.02em;color:#fff;align-items:center;gap:12px;font-size:22px;font-weight:800;text-decoration:none;display:inline-flex}.auth-hero__brand-mark{background:linear-gradient(135deg, var(--portal-accent-bright-1), var(--portal-accent));color:#fff;letter-spacing:-.04em;width:38px;height:38px;box-shadow:0 8px 24px -8px var(--portal-glow);border-radius:11px;justify-content:center;align-items:center;font-size:18px;font-weight:900;display:inline-flex}.auth-hero__center{z-index:1;position:relative}.auth-hero__features{gap:10px;max-width:480px;margin:40px 0 0;padding:0;list-style:none;display:grid}.auth-hero__feature{color:var(--color-ink-soft);transition:background .18s var(--auth-ease-out), border-color .18s var(--auth-ease-out), transform .18s var(--auth-ease-out);border:1px solid #0000;border-radius:14px;grid-template-columns:42px 1fr;align-items:center;gap:14px;padding:12px 14px;display:grid}@media (hover:hover) and (pointer:fine){.auth-hero__feature:hover{background:var(--glass-bg);border-color:var(--glass-border);transform:translate(3px)}}.auth-hero__feature-icon{background:linear-gradient(150deg, color-mix(in oklab, var(--portal-accent) 26%, transparent), color-mix(in oklab, var(--portal-accent) 8%, transparent));border:1px solid color-mix(in oklab, var(--portal-accent-bright-1) 22%, transparent);width:42px;height:42px;color:var(--portal-accent-bright-1);border-radius:12px;justify-content:center;align-items:center;display:inline-flex;font-size:22px!important}.auth-hero__feature-text{flex-direction:column;gap:2px;line-height:1.4;display:flex}.auth-hero__feature-text strong{color:var(--color-ink);font-size:15px;font-weight:600}.auth-hero__feature-text span{color:var(--color-ink-muted);font-size:13px}.auth-hero__badges{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.auth-hero__badge{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:999px;padding:6px 11px;font-size:10px}.auth-form-side{background:radial-gradient(ellipse at 80% 0%, var(--portal-bg-stop-2), transparent 60%), radial-gradient(ellipse at 0% 100%, var(--portal-bg-stop-1), transparent 60%), var(--portal-base-bg);place-items:center;padding:clamp(40px,6vw,80px) clamp(20px,5vw,56px);display:grid;position:relative}.auth-card{background:var(--glass-bg);border:1px solid var(--glass-border);width:100%;max-width:440px;-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:24px;padding:clamp(28px,4vw,40px);position:relative;box-shadow:inset 0 1px #ffffff14,0 1px 3px #00000059,0 40px 90px -40px #000000b3}.auth-card:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--portal-accent-bright-1) 55%, transparent), transparent);pointer-events:none;border-radius:24px 24px 0 0;height:1px;position:absolute;inset:0 0 auto}.auth-portal-badge{letter-spacing:.01em;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--portal-accent-bright-1);border-radius:999px;align-items:center;gap:6px;margin-bottom:14px;padding:5px 11px 5px 9px;font-size:12px;font-weight:600;display:inline-flex}.auth-portal-badge .material-symbols-outlined{font-size:15px}.auth-portal-badge--admin{color:#6b9478;background:#8b5cf624;border-color:#8b5cf666}.auth-card--admin{border-color:#8b5cf673;box-shadow:inset 0 1px #ffffff14,0 0 0 1px #8b5cf61f,0 1px 3px #00000059,0 30px 80px -36px #0009}.auth-card__title{letter-spacing:-.035em;color:var(--color-ink);margin:0 0 7px;font-size:27px;font-weight:800;line-height:1.15}.auth-card__lead{color:var(--color-ink-muted);margin:0 0 24px;font-size:15px;line-height:1.6}.auth-form{gap:16px;display:grid}.auth-field{gap:6px;display:grid}.auth-field label{color:var(--color-ink);font-size:13px;font-weight:600}.auth-field input{color:var(--color-ink);border:1.5px solid var(--glass-border);border-radius:var(--auth-radius);min-height:50px;transition:border-color .16s var(--auth-ease-out), box-shadow .16s var(--auth-ease-out), background .16s var(--auth-ease-out);background:#ffffff08;padding:14px 16px;font-size:15px;box-shadow:inset 0 1px 1px #0000002e}.auth-field input::placeholder{color:var(--color-ink-dim)}@media (hover:hover) and (pointer:fine){.auth-field input:hover:not(:focus){background:#ffffff0d;border-color:#fff3}}.auth-field input:focus{border-color:var(--portal-accent-bright-1);box-shadow:0 0 0 3px var(--portal-glow), 0 1px 1px #0000002e inset;background:#ffffff0f;outline:none}.auth-field input[aria-invalid=true]{border-color:var(--color-danger,#f43f5e);box-shadow:0 0 0 3px color-mix(in oklab, var(--color-danger,#f43f5e) 20%, transparent)}.auth-field input:focus-visible{outline:2px solid var(--portal-accent-bright-1,var(--portal-accent));outline-offset:2px}.auth-submit{letter-spacing:-.01em;background:linear-gradient(180deg, color-mix(in oklab, var(--portal-accent) 88%, white), var(--portal-accent));color:#fff;border-radius:var(--auth-radius);cursor:pointer;width:100%;min-height:52px;transition:transform .16s var(--auth-ease-out), box-shadow .16s var(--auth-ease-out), filter .16s var(--auth-ease-out);box-shadow:0 1px 0 #ffffff40 inset, 0 12px 28px -12px var(--portal-glow);border:none;margin-top:2px;padding:14px 24px;font-size:15px;font-weight:700;position:relative}@media (hover:hover) and (pointer:fine){.auth-submit:hover{filter:brightness(1.06);box-shadow:0 1px 0 #ffffff4d inset, 0 18px 38px -12px var(--portal-glow);transform:translateY(-1px)}}.auth-submit:active{transform:scale(.985)}.auth-submit:disabled{opacity:.62;cursor:not-allowed;filter:none;transform:none}.auth-submit:focus-visible{outline:2px solid var(--portal-accent-bright-1);outline-offset:3px}.auth-foot{color:var(--color-ink-muted);text-align:center;margin-top:22px;font-size:14px}.auth-foot a{color:var(--portal-accent-bright-1);font-weight:600}.auth-foot a:hover{color:var(--portal-accent-bright-2)}.auth-divider{color:var(--color-ink-dim);letter-spacing:.04em;text-transform:lowercase;align-items:center;gap:14px;margin:18px 0;font-size:12px;font-weight:500;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--glass-border) 60%);flex:1;height:1px}.auth-divider:after{background:linear-gradient(90deg, var(--glass-border), transparent 40%)}.auth-sso{flex-direction:column;gap:10px;margin-bottom:8px;display:flex}.auth-sso__btn{border:1.5px solid var(--glass-border);border-radius:var(--auth-radius);background:var(--glass-bg);color:var(--color-ink);cursor:pointer;min-height:50px;transition:background .16s var(--auth-ease-out), border-color .16s var(--auth-ease-out), transform .12s var(--auth-ease-out);justify-content:center;align-items:center;gap:12px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.auth-sso__btn svg{flex-shrink:0}@media (hover:hover) and (pointer:fine){.auth-sso__btn:hover{background:var(--glass-bg-hover);border-color:#ffffff3d}}.auth-sso__btn:active{transform:scale(.985)}.auth-sso__btn:focus-visible{outline:2px solid var(--portal-accent-bright-1);outline-offset:2px}.auth-sso__btn:disabled{opacity:.6;cursor:not-allowed}.auth-aux{justify-content:space-between;align-items:center;margin-top:-4px;font-size:13px;display:flex}.auth-aux__remember{color:var(--color-ink-muted);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.auth-aux__remember input{width:16px;height:16px;accent-color:var(--portal-accent);cursor:pointer}.auth-aux__link{color:var(--portal-accent-bright-1);font-weight:600}.auth-aux__link:hover{color:var(--portal-accent-bright-2)}.auth-hero:after{content:"";background:radial-gradient(circle, var(--portal-glow) 0%, transparent 70%);opacity:.35;pointer-events:none;width:420px;height:420px;position:absolute;top:-15%;right:-10%}.auth-field--pwd{position:relative}.auth-field--pwd input{padding-right:48px}.auth-pwd-toggle{height:48px;color:var(--color-ink-dim);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 4px;transition:color .15s;display:inline-flex;position:absolute;bottom:0;right:14px}.auth-pwd-toggle:hover{color:var(--color-ink-muted)}.auth-confirm-icon{background:color-mix(in oklab, var(--color-success) 14%, transparent);border:1px solid color-mix(in oklab, var(--color-success) 32%, transparent);width:64px;height:64px;color:var(--color-success);border-radius:18px;justify-content:center;align-items:center;margin-bottom:20px;display:inline-flex}.auth-confirm-icon--accent{background:var(--glass-bg);border-color:var(--glass-border);color:var(--portal-accent-bright-1)}@media (prefers-reduced-motion:no-preference){.auth-hero__brand-mark{animation:4s ease-in-out infinite pulse-brand}@keyframes pulse-brand{0%,to{box-shadow:0 0 #60a5fa00}50%{box-shadow:0 0 0 8px #60a5fa1f}}}@media (max-width:959px){.auth-shell{background:radial-gradient(ellipse at 20% 0%, var(--portal-bg-stop-1), transparent 55%), radial-gradient(ellipse at 80% 100%, var(--portal-bg-stop-2), transparent 55%), var(--portal-base-bg)}}@keyframes auth-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-card-rise{0%{opacity:0;transform:translateY(22px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes auth-fade-in{0%{opacity:0}to{opacity:1}}@keyframes auth-confirm-pulse{0%,to{box-shadow:0 0 #10b98100}50%{box-shadow:0 0 0 8px #10b9812e}}@media (prefers-reduced-motion:no-preference){.auth-card{animation:.36s cubic-bezier(.23,1,.32,1) both auth-card-rise}.auth-form>*{animation:.36s cubic-bezier(.23,1,.32,1) both auth-fade-up}.auth-form>:first-child{animation-delay:60ms}.auth-form>:nth-child(2){animation-delay:.1s}.auth-form>:nth-child(3){animation-delay:.14s}.auth-form>:nth-child(4){animation-delay:.18s}.auth-form>:nth-child(5){animation-delay:.22s}.auth-form>:nth-child(6){animation-delay:.26s}.auth-form>:nth-child(n+7){animation-delay:.3s}.auth-hero__center{animation:.4s ease-out .1s both auth-fade-in}.auth-hero__features li{animation:.32s ease-out both auth-fade-up}.auth-hero__features li:first-child{animation-delay:.12s}.auth-hero__features li:nth-child(2){animation-delay:.18s}.auth-hero__features li:nth-child(3){animation-delay:.24s}.auth-hero__features li:nth-child(4){animation-delay:.3s}.auth-confirm-icon{animation:.32s ease-out both auth-fade-up}.auth-confirm-icon:not(.auth-confirm-icon--accent){animation:.32s ease-out both auth-fade-up,2s ease-in-out .6s 3 auth-confirm-pulse}}.auth-pwd-toggle:focus-visible{outline:2px solid var(--portal-accent);outline-offset:2px;border-radius:4px}.auth-field{gap:7px}.auth-field label{color:var(--color-ink);letter-spacing:.01em;font-size:13px;font-weight:600}@media (prefers-reduced-motion:no-preference){.auth-form .alert{animation:.2s ease-out both auth-fade-up}}.auth-strength{gap:7px;margin-top:-6px;display:grid}.auth-strength__bars{gap:5px;display:flex}.auth-strength__bar{background:var(--glass-border);height:5px;transition:background .22s var(--auth-ease-out), box-shadow .22s var(--auth-ease-out);border-radius:999px;flex:1}.auth-strength__bar[data-on=true]{background:var(--bar-color);box-shadow:0 0 8px -1px color-mix(in oklab, var(--bar-color) 60%, transparent)}.auth-strength__label{letter-spacing:.01em;font-size:12px;font-weight:600}.auth-legal{color:var(--color-ink-dim);margin:2px 0 0;font-size:12px;line-height:1.6}.auth-legal a{color:var(--color-ink-muted);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--glass-border);text-decoration-color:var(--glass-border);transition:color .15s var(--auth-ease-out), text-decoration-color .15s var(--auth-ease-out)}.auth-legal a:hover{color:var(--color-ink);-webkit-text-decoration-color:var(--portal-accent-bright-1);text-decoration-color:var(--portal-accent-bright-1)}.auth-aux{margin-top:-2px;margin-bottom:2px}.auth-aux__link{transition:color .15s var(--auth-ease-out)}.auth-foot a{text-underline-offset:2px;transition:color .15s var(--auth-ease-out)}.auth-portal-badge{-webkit-backdrop-filter:blur(8px)}.auth-submit{justify-content:center;align-items:center;gap:10px;display:inline-flex}.auth-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-spinner{animation-duration:1.4s}}.auth-form{gap:20px}.auth-card__title{margin-bottom:6px}.auth-card__lead{margin-bottom:24px}.auth-persona-choice{gap:10px;margin-bottom:18px;display:grid}.auth-persona-choice>span{color:var(--color-ink-muted);font-size:12px;font-weight:700}.auth-persona-choice>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.auth-persona-choice__item{border:1px solid var(--glass-border);min-height:76px;color:var(--color-ink);transition:background .16s var(--auth-ease-out), border-color .16s var(--auth-ease-out), transform .12s var(--auth-ease-out);background:#ffffff08;border-radius:12px;gap:3px;padding:12px;text-decoration:none;display:grid}.auth-persona-choice__item:hover,.auth-persona-choice__item[data-active=true]{border-color:color-mix(in oklab, var(--portal-accent-bright-1) 42%, transparent);background:color-mix(in oklab, var(--portal-accent) 10%, transparent)}.auth-persona-choice__item:active{transform:scale(.985)}.auth-persona-choice__item:focus-visible{outline:2px solid var(--portal-accent-bright-1);outline-offset:2px}.auth-persona-choice__item strong{font-size:14px}.auth-persona-choice__item small{color:var(--color-ink-muted);font-size:12px;line-height:1.35}@media (max-width:520px){.auth-persona-choice>div{grid-template-columns:1fr}}.auth-aux__remember{gap:10px;min-height:44px;padding:4px 0}.auth-aux__link{align-items:center;min-height:44px;display:inline-flex}.auth-hero__features{border-top:1px solid #ffffff14;margin-top:36px;padding-top:28px}@media (prefers-reduced-motion:no-preference){.auth-submit:active{transform:scale(.985)}}
