.login-page{display:grid;grid-template-columns:1fr;min-height:100vh;font-family:var(--font-sans,"Inter",system-ui,sans-serif);color:var(--foreground,#0c0e12);background-color:var(--background,#f4f1ec)}@media (min-width:1024px){.login-page{grid-template-columns:1fr 1fr}}.login-image-panel{display:none;position:relative;overflow:hidden;background-color:var(--primary,#1e40af)}@media (min-width:1024px){.login-image-panel{display:block}}.login-image-panel img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:.55;filter:saturate(.6)}.login-image-overlay{position:absolute;inset:0;background:linear-gradient(160deg,color-mix(in srgb,var(--primary,#1e40af) 35%,transparent) 0,color-mix(in srgb,var(--primary,#1e40af) 75%,transparent) 55%,color-mix(in srgb,var(--primary,#1e40af) 92%,#0a1a3a) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:3.5rem}.login-eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-mono,"JetBrains Mono","SF Mono",monospace);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:hsla(0,0%,100%,.85);font-weight:500;margin-bottom:1rem}.login-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent,#38bdf8)}.login-image-tagline{font-family:var(--font-heading,"Inter Tight","Inter",sans-serif);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;color:#fff;line-height:1.05;letter-spacing:-.02em;max-width:18ch;margin:0}.login-image-subtitle{font-size:1rem;line-height:1.55;color:hsla(0,0%,100%,.82);margin:.85rem 0 0;max-width:38ch}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem}@media (min-width:640px){.login-form-panel{padding:3rem 2rem}}.login-form-wrapper{width:100%;max-width:420px}.login-logo{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;margin-bottom:2.25rem}.login-logo-text{font-size:1.25rem;color:var(--foreground,#0c0e12);letter-spacing:-.045em}.login-heading,.login-logo-text{font-family:var(--font-heading,"Inter Tight","Inter",sans-serif);font-weight:800}.login-heading{font-size:clamp(1.5rem,2.5vw,2rem);color:var(--foreground);margin:0 0 .4rem;letter-spacing:-.02em;line-height:1.05}.login-subheading{font-size:.9375rem;color:var(--muted-foreground);margin:0 0 2rem;line-height:1.5}.login-card{background-color:var(--card,#fff);border:1px solid var(--border);border-radius:var(--radius-lg,8px);padding:2rem}.login-error{background-color:color-mix(in srgb,var(--destructive) 12%,transparent);border:1px solid color-mix(in srgb,var(--destructive) 40%,transparent);color:var(--destructive);padding:.7rem .95rem;border-radius:var(--radius-sm,4px);font-size:.8125rem;margin-bottom:1rem}.login-social-stack{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.login-social-btn{width:100%;padding:.7rem 1rem;border-radius:var(--radius,4px);border:1px solid var(--border);background-color:var(--card);color:var(--foreground);font-size:.875rem;font-weight:500;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s,border-color .15s;display:flex;align-items:center;justify-content:center;gap:.625rem}.login-social-btn:hover{background-color:var(--muted);border-color:var(--muted-foreground)}.login-social-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.login-divider{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.login-divider-line{flex:1;height:1px;background-color:var(--border)}.login-divider-text{font-family:var(--font-mono,"JetBrains Mono","SF Mono",monospace);font-size:11px;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.18em;font-weight:500}.login-field{margin-bottom:1rem}.login-label{display:block;font-size:.8125rem;font-weight:600;color:var(--foreground);margin-bottom:.4rem}.login-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.login-input{width:100%;padding:.7rem .9rem;border-radius:var(--radius,4px);border:1px solid var(--border);background-color:var(--card);color:var(--foreground);font-size:.9375rem;outline:none;font-family:var(--font-sans);transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.login-input::-moz-placeholder{color:var(--muted-foreground);opacity:.7}.login-input::placeholder{color:var(--muted-foreground);opacity:.7}.login-input-otp{text-align:center;font-size:1.5rem;letter-spacing:.3em;font-family:var(--font-mono,"SF Mono","Fira Code",ui-monospace,monospace)}.login-submit{width:100%;padding:.85rem 1.5rem;border-radius:var(--radius,4px);border:none;background-color:var(--primary);color:var(--primary-foreground);font-size:.9375rem;font-weight:700;cursor:pointer;font-family:var(--font-sans);transition:background-color .15s,opacity .15s,transform .1s;letter-spacing:-.005em}.login-submit:hover{background-color:color-mix(in srgb,var(--primary) 88%,#000)}.login-submit:active{transform:translateY(1px)}.login-submit:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-weight:600;font-size:.8125rem;font-family:var(--font-sans);padding:0;transition:color .15s}.login-link-btn:hover{color:color-mix(in srgb,var(--primary) 75%,#000)}.login-link-btn:disabled{opacity:.5;cursor:not-allowed}.login-link-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm,2px)}.login-text-link{color:var(--primary);font-weight:600;text-decoration:none;transition:color .15s}.login-text-link:hover{color:color-mix(in srgb,var(--primary) 75%,#000);text-decoration:underline;text-underline-offset:3px}.login-text-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm,2px)}.login-text-link-sm{color:var(--primary);font-weight:600;font-size:.75rem;text-decoration:none;transition:color .15s}.login-text-link-sm:hover{color:color-mix(in srgb,var(--primary) 75%,#000)}.login-text-link-sm:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm,2px)}.login-footer-text{text-align:center;font-size:.875rem;color:var(--muted-foreground);margin-top:1.5rem}.login-back-link{text-align:center;font-size:.8125rem;margin-top:1.5rem}.login-back-link a{color:var(--muted-foreground);text-decoration:none;transition:color .15s}.login-back-link a:hover{color:var(--foreground)}.login-mode-switch{text-align:center;margin-top:1rem}.login-otp-actions{display:flex;justify-content:space-between;margin-top:1rem}.login-otp-info{font-size:.875rem;color:var(--muted-foreground);margin-bottom:1rem;line-height:1.5}.login-otp-info strong{color:var(--foreground)}.login-spinner{width:2rem;height:2rem;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}.login-loading-screen{min-height:100vh;background-color:var(--background);display:flex;align-items:center;justify-content:center}.login-strength-bar{display:flex;gap:4px;margin-bottom:6px}.login-strength-segment{flex:1;height:3px;border-radius:2px;background-color:var(--border);transition:background-color .2s}.login-strength-label{font-size:.75rem;font-weight:600;margin-bottom:6px}.login-hint-list{display:flex;flex-wrap:wrap;gap:4px 12px}.login-hint-item{font-size:.6875rem;display:flex;align-items:center;gap:4px}.login-success-icon{width:56px;height:56px;border-radius:50%;background-color:color-mix(in srgb,var(--primary) 12%,transparent);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.login-waiver{display:flex;align-items:flex-start;gap:.625rem;margin-bottom:1rem}.login-waiver input[type=checkbox]{margin-top:3px;flex-shrink:0;accent-color:var(--primary)}.login-waiver-text{line-height:1.5}.login-terms-text,.login-waiver-text{font-size:.6875rem;color:var(--muted-foreground)}.login-terms-text{text-align:center;margin-top:1rem}.login-status-msg{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;color:var(--muted-foreground);margin-bottom:1rem}@keyframes login-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-fade-in{animation:login-fade-in .3s ease-out}