:root {
    --sl-primary: #0f5f78;
    --sl-primary-strong: #0b4a5f;
    --sl-accent: #19a7a0;
    --sl-accent-soft: #e7f7f5;
    --sl-navy: #12364a;
    --sl-bg: #f4f8fa;
    --sl-surface: #ffffff;
    --sl-surface-soft: #f8fbfc;
    --sl-border: #dbe7ec;
    --sl-text: #18313f;
    --sl-muted: #66808d;
    --sl-success: #16866f;
    --sl-warning: #b7791f;
    --sl-danger: #c23b4a;
    --sl-shadow: 0 8px 24px rgba(18,54,74,.07);
    --sl-radius: 14px;
    /* Legacy portal variables mapped to the same clinical system. */
    --fb-blue: var(--sl-primary);
    --fb-primary: var(--sl-primary);
    --fb-dark: var(--sl-navy);
    --fb-accent: var(--sl-accent);
    --fb-green: var(--sl-success);
    --fb-red: var(--sl-danger);
    --fb-yellow: var(--sl-warning);
    --fb-bg: var(--sl-bg);
    --fb-card: var(--sl-surface);
    --fb-border: var(--sl-border);
    --fb-text: var(--sl-text);
    --fb-muted: var(--sl-muted);
    --fb-hover: #edf5f7;
    --inv-primary: var(--sl-primary);
    --inv-accent: var(--sl-accent);
    --sl-green: var(--sl-success);
    --primary: var(--sl-primary);
    --primary-dark: var(--sl-primary-strong);
    --accent: var(--sl-accent);
    --text-main: var(--sl-text);
    --text-muted: var(--sl-muted);
    --surface: var(--sl-surface);
    --border: var(--sl-border);
    --radius: var(--sl-radius);
    --muted: var(--sl-muted);
}
html { zoom: 1 !important; }
body { background: var(--sl-bg) !important; color: var(--sl-text) !important; }
*, *::before, *::after { box-sizing: border-box; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid rgba(25,167,160,.28) !important; outline-offset: 2px; }

.slms-top-nav { background: linear-gradient(110deg, var(--sl-navy), var(--sl-primary)) !important; height: 64px !important; }
.nav-link:hover, .nav-link.active { background: rgba(25,167,160,.18) !important; }
.nav-brand, .nav-user { border-color: rgba(255,255,255,.12) !important; }
.slms-main { padding: 22px !important; min-height: calc(100vh - 64px) !important; }
.slms-secondary-topbar { border-radius: var(--sl-radius) !important; box-shadow: var(--sl-shadow) !important; }

.card, .neo-card, .rs-main, .rs-tab, .sl-section, .catalog-stat-card { border-color: var(--sl-border) !important; box-shadow: var(--sl-shadow) !important; }
.card-header { background: var(--sl-surface-soft) !important; }
.btn-primary, .btn-sl-add, .btn-save { background: var(--sl-primary) !important; border-color: var(--sl-primary) !important; }
.btn-primary:hover, .btn-sl-add:hover, .btn-save:hover { background: var(--sl-primary-strong) !important; border-color: var(--sl-primary-strong) !important; }
.btn-success, .btn-sl-save { background: var(--sl-accent) !important; border-color: var(--sl-accent) !important; }
.btn-success:hover, .btn-sl-save:hover { background: #148b85 !important; border-color: #148b85 !important; }
.btn-outline-primary { color: var(--sl-primary) !important; border-color: #9dc6d1 !important; }
.btn-outline-primary:hover { background: var(--sl-primary) !important; color: #fff !important; }
.badge.bg-success, .badge-status.badge-normal { background: var(--sl-success) !important; }
.text-primary { color: var(--sl-primary) !important; }
.text-success { color: var(--sl-success) !important; }

.form-control, .form-select, .neo-input, .sl-input, .inline-edit, .rs-input, .rs-remark, textarea, select, input {
    border-color: var(--sl-border);
}
.form-control:focus, .form-select:focus, .neo-input:focus, .sl-input:focus, .inline-edit:focus, .rs-input:focus, .rs-remark:focus, textarea:focus, select:focus, input:focus {
    border-color: var(--sl-accent) !important;
    box-shadow: 0 0 0 3px rgba(25,167,160,.12) !important;
}
.table thead th { background: #eef5f7 !important; color: #496571 !important; }
.table tbody tr:hover { background: rgba(25,167,160,.035) !important; }

/* Clinical status palette: neutral teal + restrained alert colors. */
.row-high { border-left-color: var(--sl-warning) !important; background: #fffaf0 !important; }
.row-high .rs-input:not([readonly]) { border-color: var(--sl-warning) !important; color: #8a5a0b !important; }
.row-low { border-left-color: var(--sl-primary) !important; background: #f3f9fb !important; }
.row-low .rs-input:not([readonly]) { border-color: var(--sl-primary) !important; color: var(--sl-primary-strong) !important; }
.row-normal { border-left-color: var(--sl-success) !important; background: #f2fbf8 !important; }
.row-normal .rs-input:not([readonly]) { border-color: var(--sl-success) !important; color: #176d5b !important; }
.row-critical { border-left-color: var(--sl-danger) !important; background: #fff4f5 !important; }
.row-critical .rs-input:not([readonly]) { border-color: var(--sl-danger) !important; color: #9d2938 !important; }
.badge-high { background: var(--sl-warning) !important; }
.badge-low { background: var(--sl-primary) !important; }
.badge-normal { background: var(--sl-success) !important; }
.badge-critical { background: var(--sl-danger) !important; }

/* Remove the mixed social-media look from the result entry screen. */
.rs-shell, .rs-grid { background: var(--sl-bg) !important; }
.rs-header { background: rgba(255,255,255,.97) !important; border-color: var(--sl-border) !important; }
.rs-avatar { background: var(--sl-primary) !important; }
.rs-tab.active { background: var(--sl-primary) !important; border-color: var(--sl-primary) !important; box-shadow: 0 6px 16px rgba(15,95,120,.18) !important; }
.rs-save-bar { border-color: var(--sl-border) !important; }

/* Consistent density across portals. */
.dashboard-header { background: linear-gradient(115deg, var(--sl-navy), var(--sl-primary)) !important; border-radius: var(--sl-radius) !important; }
.sl-section-header { background: linear-gradient(100deg, var(--sl-primary-strong), var(--sl-primary)) !important; }
.builder-sticky-header { background: linear-gradient(110deg, var(--sl-navy), var(--sl-primary)) !important; }

@media (max-width: 900px) {
    .slms-main { padding: 12px !important; }
    .slms-top-nav { height: auto !important; min-height: 64px; }
    .nav-brand { padding: 0 12px !important; }
}
