.auth-page{--amber:var(--ft-amber);--amber-brand:var(--ft-amber-brand);--green:var(--ft-green);--red:var(--ft-red);--black:var(--ft-black);--dark:var(--ft-dark);--panel:var(--ft-panel);--border:var(--ft-border);--text:var(--ft-text);--muted:var(--ft-muted);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative}.auth-page .auth-topbar{justify-content:space-between;align-items:center;width:100%;max-width:420px;margin-bottom:.75rem;display:flex}.auth-page .logo{text-align:center;flex:1}.auth-page .logo a{line-height:0;text-decoration:none;display:inline-block}.auth-page .auth-theme-toggle{position:absolute;top:2rem;right:2rem}.auth-card{background:var(--panel);border:1px solid var(--border);width:100%;max-width:420px;padding:1.75rem 1.75rem 1.5rem;position:relative}.auth-title{font-family:var(--font-bebas-neue), sans-serif;text-align:center;letter-spacing:.04em;color:var(--text);margin-bottom:1.1rem;font-size:1.6rem}.auth-subtitle{text-align:center;color:var(--muted);margin-bottom:1.2rem;font-size:.9rem}.form-group{margin-bottom:.7rem}.form-group label{font-family:var(--font-dm-mono), monospace;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.3rem;font-size:.7rem;display:block}.form-group input{background:var(--dark);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-dm-sans), sans-serif;outline:none;padding:.6rem .85rem;font-size:.9rem;transition:border-color .2s}.form-group input:focus{border-color:var(--amber)}.auth-page .btn-primary{background:var(--amber-brand);width:100%;color:var(--ft-ink-on-amber);font-family:var(--font-dm-sans), sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;margin-top:.25rem;padding:.7rem 2rem;font-size:.9rem;font-weight:500;transition:all .2s}.auth-page .btn-primary:hover:not(:disabled){background:#ffbe50}.auth-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.divider{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:1rem;margin:.9rem 0;font-size:.75rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.btn-oauth{background:var(--dark);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-dm-sans), sans-serif;cursor:pointer;justify-content:center;align-items:center;gap:.6rem;margin-bottom:.3rem;padding:.6rem 1rem;font-size:.85rem;transition:all .2s;display:flex}.btn-oauth:hover:not(:disabled){border-color:var(--amber);background:var(--panel)}.btn-oauth:disabled{opacity:.5;cursor:not-allowed}.btn-oauth svg{width:18px;height:18px}.form-check{color:var(--muted);align-items:flex-start;gap:.5rem;margin-bottom:.75rem;font-size:.78rem;line-height:1.35;display:flex}.form-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--amber);cursor:pointer;flex-shrink:0;margin-top:.15rem}.form-check label{cursor:pointer;font-family:var(--font-dm-sans), sans-serif}.form-check a{color:var(--amber);text-decoration:none}.form-check a:hover{text-decoration:underline}.auth-links{text-align:center;color:var(--muted);margin-top:.85rem;font-size:.85rem}.auth-links a{color:var(--amber);text-decoration:none}.auth-links a:hover{text-decoration:underline}.forgot-link{text-align:right;color:var(--muted);margin-bottom:.5rem;font-size:.8rem;text-decoration:none;display:block}.forgot-link:hover{color:var(--amber)}.msg{margin-bottom:.75rem;padding:.55rem .85rem;font-size:.8rem}.msg.error{color:var(--red);background:#ef44441f;border:1px solid #ef444440}.msg.success{color:var(--green);background:#22c55e1f;border:1px solid #22c55e40}
