/* Shared rules for every page. Page-specific CSS lives in each page's $pageStyles. */
.positive { color: #198754; }
.negative { color: #dc3545; }
#toastHost { z-index: 1090; }
.table .btn-sm { min-width: 2.2rem; }
.navbar .form-select-sm { max-width: 260px; }
.stat-card { border-left: 4px solid #dee2e6; }
.stat-label { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.03em; color: #6c757d; }
.stat-value { font-size: 1.6rem; font-weight: 700; line-height: 1.2; }
.stat-sub { font-size: 0.8rem; color: #6c757d; min-height: 1.2em; }
.level-badge { font-size: 1.1rem; padding: 0.4em 0.7em; }
.level-1, .level-2 { background: #198754 !important; color: #fff; }
.level-3, .level-4 { background: #0d6efd !important; color: #fff; }
.level-5, .level-6 { background: #fd7e14 !important; color: #fff; }
.level-7, .level-8 { background: #dc3545 !important; color: #fff; }
.level-nc { background: #6c757d !important; color: #fff; }
.req { color: #dc3545; }
.help-text { font-size: 0.85rem; color: #6c757d; }
.source-ref { font-size: 0.75rem; color: #6c757d; font-style: italic; }
td.num, th.num { text-align: right; white-space: nowrap; }
@media print {
    .no-print { display: none !important; }
}

/* Client switcher in the navbar */
.client-switch .dropdown-toggle { max-width: 16rem; }
.client-menu { min-width: 18rem; max-height: 60vh; overflow-y: auto; }

/* Public auth pages (set_password.php, forgot.php) */
body.auth-bg { background: linear-gradient(135deg, #1b4332 0%, #2d6a4f 60%, #40916c 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; }
body.auth-bg .login-card { max-width: 420px; width: 100%; border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,0.3); }
