:root{--brand-dark: hsl(221 46% 12%);--brand-dark-soft: hsl(221 40% 18%);--brand-primary: hsl(15 82% 51%);--brand-primary-soft: hsl(15 82% 51% / .14);--brand-accent: hsl(207 63% 64%);--surface: #ffffff;--ink: hsl(221 46% 15%);--ink-muted: hsl(221 20% 45%);--border: hsl(221 20% 88%);--danger: hsl(0 72% 51%);--danger-soft: hsl(0 86% 97%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{font-family:Inter var,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--ink);background:var(--brand-dark);-webkit-font-smoothing:antialiased}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(max-width:860px){.auth-shell{grid-template-columns:1fr}}.auth-shell__brand{position:relative;display:none;flex-direction:column;justify-content:space-between;overflow:hidden;padding:3rem;background:radial-gradient(120% 140% at 15% 10%,var(--brand-dark-soft) 0%,var(--brand-dark) 60%);color:#fff}@media(min-width:860px){.auth-shell__brand{display:flex}}.auth-shell__wordmark{display:flex;align-items:center;gap:.6rem;font-size:1.05rem;font-weight:800;letter-spacing:-.01em}.auth-shell__wordmark svg{width:1.6rem;height:1.6rem;flex-shrink:0}.auth-shell__art{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.auth-shell__art svg{width:min(100%,22rem);height:auto}.auth-shell__copy{max-width:26rem}.auth-shell__headline{font-size:1.7rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}.auth-shell__subhead{margin-top:.6rem;font-size:.95rem;color:#d4e2ed;line-height:1.55}.auth-shell__panel{display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;background:var(--surface)}.auth-card{width:100%;max-width:24rem}.auth-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:var(--brand-primary)}.auth-title{margin-top:.85rem;font-size:1.9rem;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.auth-subtitle{margin-top:.5rem;font-size:.9rem;color:var(--ink-muted);line-height:1.5}.auth-error{margin-top:1.25rem;display:flex;align-items:flex-start;gap:.55rem;padding:.75rem 1rem;border-radius:.85rem;background:var(--danger-soft);border:1px solid hsl(0 72% 51% / .25);color:var(--danger);font-size:.85rem;line-height:1.4}.auth-form{margin-top:1.75rem;display:flex;flex-direction:column;gap:.35rem}.auth-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-top:1.1rem}.auth-label:first-of-type{margin-top:0}.auth-input{margin-top:.4rem;height:2.85rem;padding:0 1rem;border-radius:.7rem;border:1.5px solid var(--border);font-size:.95rem;color:var(--ink);background:#fff;transition:border-color .12s ease,box-shadow .12s ease}.auth-input::placeholder{color:#a1a9ba}.auth-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-soft)}.auth-forgot{align-self:flex-end;margin-top:.5rem;font-size:.8rem;font-weight:600;color:var(--brand-accent);text-decoration:none}.auth-forgot:hover{text-decoration:underline}.auth-button{margin-top:1.5rem;height:2.9rem;display:flex;align-items:center;justify-content:center;border-radius:999px;border:none;background:var(--brand-primary);color:#fff;font-weight:700;font-size:.95rem;text-decoration:none;cursor:pointer;transition:filter .12s ease,transform .12s ease}.auth-button:hover:not(:disabled){filter:brightness(1.06)}.auth-button:active:not(:disabled){transform:scale(.98)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-button:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}.auth-footer{margin-top:1.75rem;text-align:center;font-size:.85rem;color:var(--ink-muted)}.auth-footer a{color:var(--brand-primary);font-weight:700;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-loading{display:flex;align-items:center;gap:.6rem;margin-top:1.75rem;font-size:.9rem;color:var(--ink-muted)}.auth-spinner{width:1.1rem;height:1.1rem;border-radius:50%;border:2px solid var(--border);border-top-color:var(--brand-primary);animation:auth-spin .7s linear infinite;flex-shrink:0}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.auth-spinner{animation-duration:1.4s}}
