/* public/css/auth.css */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --bg:#0f0f11; --surface:#18181c; --border:#2e2e38; --accent:#c8f135; --text:#eeeef2; --muted:#7a7a8c; --muted2:#3a3a48; --danger:#f87171; --ff:'Sora',sans-serif; }
html, body { min-height: 100vh; background: var(--bg); color: var(--text); font-family: var(--ff); display: flex; align-items: center; justify-content: center; }
.auth-wrap { width: 100%; max-width: 400px; padding: 24px; }
.auth-card { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 32px; }
.auth-logo { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; margin-bottom: 24px; }
.logo-mark { width: 32px; height: 32px; background: var(--accent); border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.logo-mark svg { width: 18px; height: 18px; }
h1 { font-size: 20px; font-weight: 500; letter-spacing: -0.02em; margin-bottom: 4px; }
.auth-sub { font-size: 13px; color: var(--muted); margin-bottom: 24px; }
form label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 14px; }
form label input { display: block; width: 100%; margin-top: 5px; background: var(--muted2); border: 1px solid var(--border); border-radius: 8px; padding: 10px 13px; font-size: 14px; color: var(--text); font-family: var(--ff); outline: none; transition: border-color 0.12s; }
form label input:focus { border-color: var(--accent); }
form label input::placeholder { color: #555568; }
.btn-primary { width: 100%; padding: 11px; background: var(--accent); color: #0f0f11; border: none; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; font-family: var(--ff); margin-top: 4px; transition: background 0.12s; }
.btn-primary:hover { background: #d4f550; }
.btn-primary:disabled { opacity: 0.6; cursor: not-allowed; }
.auth-links { margin-top: 18px; font-size: 13px; color: var(--muted); text-align: center; display: flex; align-items: center; justify-content: center; gap: 8px; }
.auth-links a { color: var(--accent); text-decoration: none; }
.alert { background: rgba(248,113,113,0.1); border: 1px solid rgba(248,113,113,0.3); color: var(--danger); border-radius: 8px; padding: 10px 13px; font-size: 13px; margin-bottom: 16px; }
.hidden { display: none !important; }
