.auth-shell{min-height:100vh;min-block-size:100dvh;display:grid;align-content:start;gap:1.5rem;padding:1.2rem;animation:auth-fade-up .5s ease-out both}.auth-local-header,.auth-card{width:min(100%,720px);margin:0 auto}.auth-local-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.auth-brand{text-decoration:none;display:grid;gap:.25rem;align-items:start;color:var(--auth-text-strong, var(--color-text-primary))}.auth-brand__logo{width:8.5rem;height:auto}.auth-brand__caption{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--auth-text-muted, var(--color-text-secondary))}.auth-back-link{font-family:var(--font-ui);color:var(--auth-link-color, var(--color-text-secondary));text-underline-offset:.2rem;font-size:.8rem;font-weight:600}.auth-card{background:var(--auth-surface-card, var(--color-surface-primary));border:1px solid var(--auth-border, var(--color-border-subtle));border-radius:1.15rem;box-shadow:var(--auth-shadow-card, var(--shadow-subtle));padding:1.45rem;display:grid;gap:1.25rem;position:relative;overflow:hidden;animation:auth-fade-up .6s ease-out both}.auth-card:before{content:"";position:absolute;inset:-120% 35% auto -35%;height:160%;background:radial-gradient(circle,rgb(var(--color-action-accent-rgb)/20%) 0%,transparent 68%);pointer-events:none;transform:translateZ(0);animation:auth-orb-drift 8s ease-in-out infinite}.auth-card--narrow{max-width:500px}.auth-kicker{margin:0;font-family:var(--font-ui);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--auth-text-muted, var(--color-text-secondary))}.auth-copy h1{margin:0;font-size:clamp(1.95rem,3.2vw,2.7rem);line-height:1.08;letter-spacing:-.01em;color:var(--auth-text-heading, var(--color-text-primary))}.auth-copy p{margin:.35rem 0 0;color:var(--auth-text-body, var(--color-text-secondary));font-family:var(--font-ui);font-size:.9rem;line-height:1.45;max-width:40ch}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.35rem;border:1px solid var(--auth-tabs-border, var(--color-border-subtle));background:var(--auth-tabs-bg, rgba(255, 255, 255, .72));border-radius:.9rem}.auth-tabs button{border:none;background:transparent;padding:.68rem .7rem;border-radius:.62rem;font-family:var(--font-ui);font-size:.9rem;font-weight:700;color:var(--auth-tab-text, var(--color-text-secondary));cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.auth-tabs button.is-active{background:var(--auth-tab-active-bg, var(--color-action-primary));color:var(--auth-tab-active-text, var(--color-text-on-dark));box-shadow:var(--auth-tab-active-shadow, none)}.auth-tabs button:hover:not(.is-active){transform:translateY(-1px)}.auth-panel{display:block}.auth-panel--hidden{display:none}.auth-form{display:grid;gap:.9rem}.auth-field{display:grid;gap:.45rem}.auth-field label{font-family:var(--font-ui);font-size:.78rem;color:var(--auth-label-color, var(--color-text-primary));letter-spacing:.03em;text-transform:uppercase;font-weight:700}.auth-field input,.auth-field select{border:1px solid var(--auth-input-border, var(--color-border-subtle));border-radius:.62rem;padding:.76rem .82rem;font-family:var(--font-ui);font-size:1rem;line-height:1.3;color:var(--auth-input-text, var(--color-text-primary));background:var(--auth-input-bg, var(--color-surface-primary));transition:border-color .2s ease,box-shadow .2s ease}.auth-field input[aria-invalid=true],.auth-field select[aria-invalid=true]{border-color:var(--auth-error, var(--color-state-danger));box-shadow:0 0 0 3px color-mix(in srgb,var(--auth-error, var(--color-state-danger)) 13%,transparent)}.auth-hint{margin:0;font-family:var(--font-ui);font-size:.74rem;color:var(--auth-text-muted, var(--color-text-secondary));line-height:1.35}.field-error{min-height:1rem;margin:0;font-family:var(--font-ui);font-size:.74rem;color:var(--auth-error, var(--color-state-danger));font-weight:600;line-height:1.3}.auth-submit{margin-top:.5rem;border:none;border-radius:.72rem;padding:.9rem 1rem;background:var(--auth-button-bg, var(--color-action-primary));color:var(--auth-button-text, var(--color-text-on-dark));font-family:var(--font-ui);font-size:.95rem;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:var(--auth-button-shadow, none);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--auth-button-shadow-hover, var(--auth-button-shadow, none));filter:saturate(1.06)}.auth-submit:disabled{opacity:60%;cursor:not-allowed;box-shadow:none}.auth-actions{display:grid;gap:.75rem}.auth-secondary{border:1px solid var(--auth-border, var(--color-border-subtle));border-radius:.72rem;padding:.88rem 1rem;background:transparent;color:var(--auth-link-color, var(--color-text-secondary));font-family:var(--font-ui);font-size:.92rem;font-weight:700;cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.auth-secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--auth-link-color, white) 52%,transparent);background:color-mix(in srgb,var(--auth-link-color, white) 7%,transparent)}.auth-secondary:disabled{opacity:60%;cursor:not-allowed}.auth-status{min-height:1.3rem;padding:.78rem .9rem;margin:0;border:1px solid transparent;border-radius:.72rem;font-family:var(--font-ui);font-size:.83rem;line-height:1.45;animation:auth-fade-up .35s ease-out both}.auth-status[data-tone=info]{color:var(--auth-status-info-text, var(--color-text-secondary));background:var(--auth-status-info-bg, rgba(255, 255, 255, .62));border-color:var(--auth-status-info-border, var(--auth-border, var(--color-border-subtle)))}.auth-status[data-tone=success]{color:color-mix(in srgb,var(--color-state-success),black 40%);background:color-mix(in srgb,var(--color-state-success) 8%,white);border-color:color-mix(in srgb,var(--color-state-success) 15%,transparent)}.auth-status[data-tone=error]{color:color-mix(in srgb,var(--color-state-danger),black 30%);background:color-mix(in srgb,var(--color-state-danger) 8%,white);border-color:color-mix(in srgb,var(--color-state-danger) 15%,transparent)}.auth-back-link:focus-visible,.auth-brand:focus-visible,.auth-tabs button:focus-visible,.auth-field input:focus-visible,.auth-field select:focus-visible,.auth-submit:focus-visible,.auth-secondary:focus-visible{outline:2px solid var(--auth-focus-ring, rgb(var(--color-action-accent-rgb)));outline-offset:2px}.auth-field input:focus-visible,.auth-field select:focus-visible{border-color:var(--auth-focus-ring, rgb(var(--color-action-accent-rgb)));box-shadow:0 0 0 3px color-mix(in srgb,var(--auth-focus-ring, white) 22%,transparent)}@media(width>=768px){.auth-shell{padding:2.5rem 2.25rem;align-content:center}.auth-brand__logo{width:10rem}.auth-card{padding:1.9rem;gap:1.35rem}.auth-tabs button{font-size:.94rem}}@media(prefers-reduced-motion:reduce){.auth-shell,.auth-card,.auth-status{animation:none}.auth-card:before{animation:none}.auth-tabs button,.auth-submit,.auth-secondary{transition:none}}@keyframes auth-fade-up{0%{opacity:0%;transform:translateY(10px)}to{opacity:100%;transform:translateY(0)}}@keyframes auth-orb-drift{0%{transform:translate3d(-2%,0,0);opacity:35%}50%{transform:translate3d(4%,6%,0);opacity:75%}to{transform:translate3d(-2%,0,0);opacity:35%}}.qr-placeholder{background:#fff;padding:2rem;border-radius:1rem;margin:1.5rem 0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;color:var(--color-surface-dark);text-align:center}.loader{border-top:3px solid var(--color-action-accent);border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
