/* ============================================================
   MOH Government Healthcare — Master Stylesheet
   ============================================================ */

:root {
    --gov-dark:    #0d1b2a;
    --gov-navy:    #1a3a5c;
    --gov-blue:    #1d5fa6;
    --gov-accent:  #c8a84b;
    --gov-light:   #f0f4f8;
    --gov-border:  #d0dae6;
    --gov-text:    #1e2d3d;
    --gov-muted:   #6b7f93;
    --success:     #1a7a4a;
    --danger:      #b52b2b;
    --warning:     #c8a84b;
    --card-bg:     #ffffff;
    --body-bg:     #f0f4f8;
    --input-bg:    #ffffff;
    --input-color: #1e2d3d;
    --row-hover:   #f5f8fc;
    --list-bg:     #ffffff;
    --page-link-bg:#ffffff;
}

/* ── Dark theme variable overrides ── */
[data-theme="dark"] {
    --gov-light:   #0f1923;
    --gov-border:  #2a3a4a;
    --gov-text:    #d0dae6;
    --gov-muted:   #7a90a4;
    --card-bg:     #162030;
    --body-bg:     #0f1923;
    --input-bg:    #1c2d3f;
    --input-color: #d0dae6;
    --row-hover:   #1c2d3f;
    --list-bg:     #162030;
    --page-link-bg:#162030;
}

/* ── Base ── */
html, body {
    height: 100%;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    font-size: 0.9rem;
}
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: var(--body-bg) !important;
    color: var(--gov-text) !important;
    transition: background-color 0.2s, color 0.2s;
}
main { flex: 1; }

/* ── Navbar ── */
.gov-navbar {
    background: var(--gov-dark) !important;
    border-bottom: 3px solid var(--gov-accent);
    padding: 0.6rem 0;
}
.gov-navbar .navbar-brand { font-size: 1rem; letter-spacing: 0.03em; }
.gov-navbar .nav-link { color: rgba(255,255,255,0.75) !important; font-size: 0.82rem; padding: 0.4rem 0.75rem; border-radius: 4px; transition: background 0.15s; }
.gov-navbar .nav-link:hover,
.gov-navbar .nav-link.active { background: rgba(255,255,255,0.1); color: #fff !important; }

/* ── Banner ── */
.gov-banner { background: var(--gov-navy); font-size: 0.72rem; letter-spacing: 0.04em; }

/* ── Page Header ── */
.page-header {
    background: linear-gradient(135deg, var(--gov-dark) 0%, var(--gov-navy) 100%);
    color: #fff;
    padding: 1.5rem 1.5rem 1.2rem;
    border-bottom: 3px solid var(--gov-accent);
    margin-bottom: 1.5rem;
}
[data-theme="dark"] .page-header { background: linear-gradient(135deg, #060e16 0%, #0f1f33 100%); }
.page-header h1 { font-size: 1.4rem; font-weight: 700; margin: 0; letter-spacing: 0.02em; }
.page-header .breadcrumb { margin: 0; font-size: 0.75rem; }
.page-header .breadcrumb-item,
.page-header .breadcrumb-item a { color: rgba(255,255,255,0.6); text-decoration: none; }
.page-header .breadcrumb-item.active { color: var(--gov-accent); }
.page-header .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.3); }

/* ── Stat Cards ── */
.stat-card {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--gov-border) !important;
    border-radius: 6px;
    padding: 1.2rem 1.4rem;
    border-left: 4px solid var(--gov-blue) !important;
    transition: box-shadow 0.15s, background-color 0.2s;
}
.stat-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
.stat-card.accent  { border-left-color: var(--gov-accent) !important; }
.stat-card.success { border-left-color: var(--success) !important; }
.stat-card.danger  { border-left-color: var(--danger) !important; }
.stat-card .stat-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--gov-muted); font-weight: 600; }
.stat-card .stat-value { font-size: 1.6rem; font-weight: 700; color: var(--gov-text); line-height: 1.2; margin: 0.2rem 0; }
.stat-card .stat-sub   { font-size: 0.75rem; color: var(--gov-muted); }
.stat-card .stat-icon  { font-size: 2rem; color: var(--gov-border); }

/* ── Gov Cards ── */
.gov-card {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--gov-border) !important;
    border-radius: 6px;
    overflow: hidden;
    transition: background-color 0.2s;
}
.gov-card .gov-card-header {
    background: var(--gov-navy);
    color: #fff;
    padding: 0.7rem 1.2rem;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.gov-card .gov-card-body { padding: 1.2rem; }

/* ── Tables ── */
.gov-table { font-size: 0.82rem; margin: 0; }
.gov-table thead th {
    background: var(--gov-dark) !important;
    color: rgba(255,255,255,0.85) !important;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    border: none !important;
    padding: 0.65rem 0.9rem;
    white-space: nowrap;
}
.gov-table tbody tr { border-bottom: 1px solid var(--gov-border) !important; transition: background 0.1s; }
.gov-table tbody tr:hover { background-color: var(--row-hover) !important; }
.gov-table tbody td {
    padding: 0.6rem 0.9rem;
    vertical-align: middle;
    border: none !important;
    background-color: transparent !important;
    color: var(--gov-text) !important;
}

/* ── Badges ── */
.badge-org-1 { background: #1d5fa6 !important; color: #fff !important; }
.badge-org-2 { background: #1a7a4a !important; color: #fff !important; }

/* ── Progress bars ── */
.gov-progress { height: 6px; border-radius: 3px; background: var(--gov-border); }
.gov-progress .bar { height: 100%; border-radius: 3px; background: var(--gov-blue); }

/* ── Org Cards ── */
.org-card {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--gov-border) !important;
    border-radius: 6px;
    overflow: hidden;
}
.org-card .org-header { padding: 1.2rem 1.4rem; color: #fff; position: relative; }
.org-card.org-1 .org-header { background: linear-gradient(135deg, #1a3a5c, #1d5fa6); }
.org-card.org-2 .org-header { background: linear-gradient(135deg, #1a4a2e, #1a7a4a); }
.org-card .org-header h5 { font-size: 1rem; font-weight: 700; margin: 0; }
.org-card .org-header .org-region { font-size: 0.75rem; opacity: 0.75; }

/* ── Cost bar ── */
.cost-bar-wrap { display: flex; gap: 2px; height: 8px; border-radius: 4px; overflow: hidden; }
.cost-bar-wrap .seg { height: 100%; }
.seg-elec  { background: #1d5fa6; }
.seg-staff { background: #c8a84b; }
.seg-equip { background: #1a7a4a; }
.seg-maint { background: #b52b2b; }

/* ── Maps ── */
#map          { height: 580px; border-radius: 0 0 6px 6px; }
#analyticsMap { height: 500px; border-radius: 0 0 6px 6px; }

.leaflet-popup-content-wrapper {
    background: var(--card-bg) !important;
    color: var(--gov-text) !important;
    border-radius: 4px;
    font-size: 0.82rem;
}
.leaflet-popup-tip { background: var(--card-bg) !important; }
.popup-title { font-weight: 700; color: var(--gov-text); margin-bottom: 0.4rem; font-size: 0.9rem; }
.popup-row   { display: flex; justify-content: space-between; gap: 1rem; padding: 2px 0; border-bottom: 1px solid var(--gov-border); }
.popup-row:last-child { border: none; }
.popup-label { color: var(--gov-muted); font-size: 0.75rem; }
.popup-val   { font-weight: 600; font-size: 0.78rem; }

/* ── Footer ── */
.gov-footer { background: var(--gov-dark) !important; border-top: 3px solid var(--gov-accent); }

/* ── Form controls ── */
.form-select,
.form-control {
    background-color: var(--input-bg) !important;
    color: var(--input-color) !important;
    border-color: var(--gov-border) !important;
    transition: background-color 0.2s, color 0.2s;
}
.form-select:focus,
.form-control:focus {
    background-color: var(--input-bg) !important;
    color: var(--input-color) !important;
    border-color: var(--gov-blue) !important;
    box-shadow: 0 0 0 0.2rem rgba(29,95,166,0.25) !important;
}
/* Fix dropdown option visibility in dark mode */
[data-theme="dark"] .form-select option {
    background-color: #1c2d3f;
    color: #d0dae6;
}

/* ── List group ── */
.list-group-item {
    background-color: var(--list-bg) !important;
    border-color: var(--gov-border) !important;
    color: var(--gov-text) !important;
    transition: background-color 0.15s;
}
.list-group-item:hover,
.list-group-item-action:hover { background-color: var(--row-hover) !important; }

/* ── Pagination ── */
.page-link {
    background-color: var(--page-link-bg) !important;
    border-color: var(--gov-border) !important;
    color: var(--gov-text) !important;
}
.page-item.active .page-link {
    background-color: var(--gov-blue) !important;
    border-color: var(--gov-blue) !important;
    color: #fff !important;
}
.page-item.disabled .page-link { opacity: 0.4; }

/* ── Buttons ── */
.btn-outline-secondary {
    color: var(--gov-muted) !important;
    border-color: var(--gov-border) !important;
}
.btn-outline-secondary:hover {
    background-color: var(--row-hover) !important;
    color: var(--gov-text) !important;
}

/* ── Alert ── */
[data-theme="dark"] .alert-warning {
    background-color: #2a2010 !important;
    border-color: #5a4a20 !important;
    color: #e0c060 !important;
}

/* ── Pre / code ── */
[data-theme="dark"] pre.bg-light {
    background-color: #1c2d3f !important;
    color: #c8daf0 !important;
    border-color: var(--gov-border) !important;
}

/* ── Utilities ── */
.text-gov-accent { color: var(--gov-accent) !important; }
.text-gov-muted  { color: var(--gov-muted)  !important; }
.bg-gov-dark     { background: var(--gov-dark) !important; }
.border-gov      { border-color: var(--gov-border) !important; }
.funding-gap-positive { color: var(--success); }
.funding-gap-negative { color: var(--danger); }

/* ── Multiplier badge ── */
.multiplier-badge {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 3px;
    font-size: 0.72rem;
    font-weight: 700;
    background: #e8f0fe;
    color: var(--gov-blue);
}
.multiplier-badge.high { background: #fdecea; color: var(--danger); }
[data-theme="dark"] .multiplier-badge      { background: #1a2f4a; color: #7eb3f5; }
[data-theme="dark"] .multiplier-badge.high { background: #3a1010; color: #f08080; }

/* ── ICD / DRG badges ── */
.icd-badge {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 3px;
    font-size: 0.72rem;
    font-weight: 700;
    background: #e8f0fe;
    color: #1d5fa6;
    letter-spacing: 0.04em;
    font-family: 'Courier New', monospace;
}
.drg-badge {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 3px;
    font-size: 0.7rem;
    font-weight: 600;
    background: #f0fff4;
    color: #1a7a4a;
    border: 1px solid #c3e6cb;
}
[data-theme="dark"] .icd-badge { background: #1a2f4a; color: #7eb3f5; }
[data-theme="dark"] .drg-badge { background: #0f2a1a; color: #5ecb8a; border-color: #1a4a2e; }

/* ── Section divider ── */
.section-divider {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.section-divider::before,
.section-divider::after { content: ''; flex: 1; height: 1px; background: var(--gov-border); }
.section-divider span   { white-space: nowrap; color: var(--gov-navy); }
[data-theme="dark"] .section-divider span { color: #7eb3f5; }

/* ── Analytics nav highlight ── */
.nav-link-analytics {
    background: rgba(200,168,75,0.15) !important;
    color: var(--gov-accent) !important;
    border: 1px solid rgba(200,168,75,0.3);
}
.nav-link-analytics:hover,
.nav-link-analytics.active {
    background: rgba(200,168,75,0.3) !important;
    color: var(--gov-accent) !important;
}

/* ── Small action button ── */
.btn-xs-gov {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    font-size: 0.72rem;
    font-weight: 600;
    border-radius: 3px;
    background: #e8f0fe;
    color: #1d5fa6;
    border: 1px solid #c5d8f5;
    text-decoration: none;
    transition: background 0.15s;
}
.btn-xs-gov:hover { background: #1d5fa6; color: #fff; }
[data-theme="dark"] .btn-xs-gov { background: #1a2f4a; color: #7eb3f5; border-color: #2a4a6a; }
[data-theme="dark"] .btn-xs-gov:hover { background: var(--gov-blue); color: #fff; }

/* ── UI Toggle Buttons (dark/lang) ── */
.ui-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.7rem;
    font-size: 0.78rem;
    font-weight: 600;
    border-radius: 4px;
    border: 1px solid rgba(255,255,255,0.25);
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.85);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.ui-toggle-btn:hover { background: rgba(255,255,255,0.18); color: #fff; }
.ui-toggle-lang { border-color: rgba(200,168,75,0.5); color: var(--gov-accent); }
.ui-toggle-lang:hover { background: rgba(200,168,75,0.2); color: var(--gov-accent); }

/* ── Responsive ── */
@media (max-width: 768px) {
    .stat-card .stat-value { font-size: 1.2rem; }
    .page-header h1 { font-size: 1.1rem; }
}

/* ============================================================
   RTL SUPPORT — [dir="rtl"]
   ============================================================ */
[dir="rtl"] body { font-family: 'Segoe UI', 'Tahoma', system-ui, sans-serif; }

[dir="rtl"] .stat-card { border-left: none !important; border-right: 4px solid var(--gov-blue) !important; }
[dir="rtl"] .stat-card.accent  { border-right-color: var(--gov-accent) !important; }
[dir="rtl"] .stat-card.success { border-right-color: var(--success) !important; }
[dir="rtl"] .stat-card.danger  { border-right-color: var(--danger) !important; }

[dir="rtl"] .navbar-nav.ms-auto { margin-right: auto !important; margin-left: 0 !important; }
[dir="rtl"] .text-md-end { text-align: left !important; }

[dir="rtl"] .gov-table td,
[dir="rtl"] .gov-table th { text-align: right; }
[dir="rtl"] .gov-table td .icd-badge,
[dir="rtl"] .gov-table td .multiplier-badge { direction: ltr; unicode-bidi: embed; }

[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before { content: "\\"; float: right; padding-right: 0; padding-left: 0.5rem; }

[dir="rtl"] .me-1 { margin-right: 0 !important; margin-left: 0.25rem !important; }
[dir="rtl"] .me-2 { margin-right: 0 !important; margin-left: 0.5rem  !important; }
[dir="rtl"] .ms-auto { margin-right: auto !important; margin-left: 0 !important; }
[dir="rtl"] .ms-2    { margin-right: 0.5rem !important; margin-left: 0 !important; }

[dir="rtl"] .cost-bar-wrap { direction: ltr; }
[dir="rtl"] .gov-card-header { flex-direction: row-reverse; justify-content: flex-end; }
[dir="rtl"] .gov-card-header .ms-auto { margin-right: 0 !important; margin-left: auto !important; }
[dir="rtl"] .page-header { text-align: right; }
[dir="rtl"] .pagination { flex-direction: row-reverse; }
[dir="rtl"] .section-divider { flex-direction: row-reverse; }
[dir="rtl"] .form-label { display: block; text-align: right; }
[dir="rtl"] .gov-footer .row { flex-direction: row-reverse; }
[dir="rtl"] .hospital-btn { border-left: none !important; border-right: 3px solid currentColor; }
