:root{--color-bg:#f5f5f7;--color-surface:#fff;--color-border:#e5e5ea;--color-text:#1c1c1e;--color-text-muted:#6b7280;--color-primary:#111827;--color-primary-hover:#1f2937;--color-error:#b91c1c;--color-error-bg:#fef2f2;--radius:8px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px}*,:before,:after{box-sizing:border-box}body{color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}#root{min-height:100svh}button{font:inherit;cursor:pointer}input{font:inherit}.login-page{min-height:100svh;padding:var(--space-4);place-items:center;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:360px;padding:var(--space-8);gap:var(--space-6);flex-direction:column;display:flex}.login-card h1{margin:0;font-size:24px;font-weight:600}.login-card__subtitle{color:var(--color-text-muted);margin:0;font-size:14px}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-form__field{gap:var(--space-2);flex-direction:column;display:flex}.login-form__field label{font-size:14px;font-weight:500}.login-form__field input{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.login-form__field input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.login-form__error{padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-error-bg);color:var(--color-error);margin:0;font-size:14px}.login-form button[type=submit]{padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-primary);color:#fff;border:0;font-weight:500}.login-form button[type=submit]:hover:not(:disabled){background:var(--color-primary-hover)}.login-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.dashboard{min-height:100svh;padding:var(--space-6) var(--space-8);gap:var(--space-4);flex-direction:column;display:flex}.dashboard__header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.dashboard__header h1{margin:0;font-size:24px;font-weight:600}.dashboard__header button{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.dashboard__header button:hover{background:var(--color-bg)}
