/* Shared auth styles for login/register/admin pages */
:root{ --primary:#667eea; --accent:#4f5fd6; }
*{ box-sizing:border-box; }
body{ margin:0; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial; background: linear-gradient(180deg,#f7fbff 0%, #fbfdff 100%); min-height:100vh; display:flex; align-items:center; justify-content:center; }

.card{ width:100%; max-width:520px; background:#fff; border-radius:12px; padding:36px; box-shadow:0 12px 40px rgba(33,47,88,0.06); }
.brand{ display:flex; gap:12px; align-items:center; margin-bottom:12px; }
.logo{ width:46px; height:46px; border-radius:8px; background:linear-gradient(135deg,var(--primary),var(--accent)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }

h1{ margin:0; font-size:20px; color:#111827; }
.hint{ color:#6b7280; margin-top:6px; font-size:13px; }

.error{ background:#fff6f6; color:#b91c1c; padding:10px 12px; border-radius:8px; margin-bottom:12px; border:1px solid rgba(185,28,28,0.06); }
.success{ background:#f4ffef; color:#166534; padding:10px 12px; border-radius:8px; margin-bottom:12px; border:1px solid rgba(16,185,129,0.06); }

.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-group{ margin-bottom:12px; }
label{ display:block; font-size:13px; color:#374151; margin-bottom:6px; }
input{ width:100%; padding:12px 14px; border:1px solid #e6e9ef; border-radius:8px; background:#fbfdff; }
input:focus{ outline:none; border-color:var(--primary); box-shadow:0 0 0 4px rgba(102,126,234,0.06); }

button[type=submit]{ margin-top:6px; width:100%; padding:12px; border-radius:8px; border:none; color:#fff; background:linear-gradient(90deg,var(--primary),var(--accent)); font-weight:600; cursor:pointer; box-shadow:0 8px 20px rgba(79,95,214,0.12); }

.small-note{ margin-top:12px; font-size:13px; color:#6b7280; text-align:center; }

@media (max-width:640px){ .form-grid{ grid-template-columns:1fr; } .card{ padding:20px; } }
