/* Authenticated appearance-aware form controls. Loaded after the theme tokens. */
input[type="text"], input[type="email"], input[type="password"], input[type="number"],
input[type="date"], input[type="search"], input[type="tel"], input[type="url"],
select, textarea, .form-control {
    color: var(--text-primary) !important;
    background: var(--input-background) !important;
    border: 1px solid var(--border) !important;
}
input::placeholder, textarea::placeholder { color: var(--subtle); opacity: 1; }
input:focus, select:focus, textarea:focus, .form-control:focus {
    color: var(--text-primary) !important;
    background: var(--input-background-focus) !important;
    border-color: var(--accent-2) !important;
    box-shadow: var(--focus-ring) !important;
}
select, option { color: var(--text-primary); background: var(--surface-2); }
input[readonly] { background: var(--surface-3) !important; color: var(--text-muted) !important; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--accent-2); background: var(--surface-2) !important; border-color: var(--border-strong) !important; }
input[type="checkbox"]:checked, input[type="radio"]:checked { background-color: var(--accent-2) !important; border-color: var(--accent-2) !important; }
.theme-primary { background: var(--primary-background) !important; color: var(--primary-foreground) !important; }
.theme-primary:hover { box-shadow: 0 0 24px rgba(var(--accent-rgb), .30); }
:focus-visible { outline-color: rgba(var(--accent-rgb), .55); }
