/* Shared form controls. The package name field is the visual reference. */
input:not([type]),
input:is([type="text"],[type="password"],[type="url"],[type="email"],[type="tel"],[type="number"],[type="search"],[type="date"],[type="time"],[type="datetime-local"],[type="month"],[type="week"]),
select,
textarea, textarea.textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 9px 14px;
    border: 1.5px solid var(--border, #e1e5ed);
    border-radius: 9px;
    color: var(--text, #253044);
    background: var(--bg, #f4f5f8);
    font: inherit;
    font-size: 14px;
    line-height: 1.45;
    transition: border-color .2s, background-color .2s;
}
input:not([type]):focus,
input:is([type="text"],[type="password"],[type="url"],[type="email"],[type="tel"],[type="number"],[type="search"],[type="date"],[type="time"],[type="datetime-local"],[type="month"],[type="week"]):focus,
select:focus,
textarea:focus, textarea.textarea:focus {
    border-color: var(--primary, #4f6ef7);
    background: var(--card, #fff);
    outline: none;
}
input:not([type]):disabled,
input:is([type="text"],[type="password"],[type="url"],[type="email"],[type="tel"],[type="number"],[type="search"],[type="date"],[type="time"],[type="datetime-local"],[type="month"],[type="week"]):disabled,
select:disabled,
textarea:disabled {
    opacity: .55;
    cursor: not-allowed;
}
input::placeholder, textarea::placeholder { color: var(--text3, #8b93a2); }
textarea, textarea.textarea { min-height: 90px; max-width: 100%; resize: vertical; }
.filters > input, .filters > select { width: auto; min-width: 120px; flex: 1 1 150px; }
@media (max-width: 600px) {
    input:not([type]),
    input:is([type="text"],[type="password"],[type="url"],[type="email"],[type="tel"],[type="number"],[type="search"],[type="date"],[type="time"],[type="datetime-local"],[type="month"],[type="week"]),
    select, textarea { font-size: 16px; }
}

/* Login and registration inputs sit on pale fields over a dark page. */
.login-card #loginForm input { color: #111827; }
.login-card #loginForm input::placeholder { color: #374151; opacity: 1; }
