/* Hyb-wep — hybrid PV + wind energy tool (same layout and look as wind-wep) */
:root {
    --hyb-primary: #1e6b52;
    --hyb-primary-dark: #14513d;
    --hyb-secondary: #8fd3b8;
    --hyb-pv: #e08e0b;
    --hyb-wind: #2471a3;
    --hyb-hyb: #1e8449;
}
[data-bs-theme="dark"] {
    --hyb-primary-text: #7dd3b0;
    --hyb-pv: #f5b041;
    --hyb-wind: #5dade2;
    --hyb-hyb: #52be80;
    color-scheme: dark;
    /* Same palette as SimPV2's dark mode */
    --dm-bg: #111518; --dm-surface: #1a1f24; --dm-surface-2: #222930; --dm-surface-3: #2b333b;
    --dm-border: #353e47; --dm-text: #e4e8ec; --dm-muted: #9aa5b1; --dm-link: #6ea8fe;
    --bs-body-bg: var(--dm-surface); --bs-body-bg-rgb: 26, 31, 36;
    --bs-secondary-bg: var(--dm-surface-3); --bs-tertiary-bg: var(--dm-surface-2); --bs-tertiary-bg-rgb: 34, 41, 48;
    --bs-body-color: var(--dm-text); --bs-emphasis-color: #f3f5f7; --bs-secondary-color: var(--dm-muted);
    --bs-border-color: var(--dm-border); --bs-link-color: var(--dm-link); --bs-link-color-rgb: 110, 168, 254;
}

/* Keep side-by-side fields aligned when a label wraps onto two lines */
.align-fields-bottom > [class*="col-"] { display: flex; flex-direction: column; justify-content: flex-end; }
.align-fields-bottom > .form-text, .align-fields-bottom > #splitPreview { justify-content: flex-start; }

body { font-family: 'Segoe UI', system-ui, -apple-system, 'Noto Sans Arabic', sans-serif; background: #f4f6f9; }

/* Navbar */
.app-navbar { background-color: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .1); }
.brand-logo { height: 55px; width: auto; margin-inline-end: 12px; }
.brand-title { font-size: 1.1rem; color: var(--hyb-primary) !important; font-weight: 800; line-height: 1.2; white-space: normal; }
.brand-sub { font-size: .8rem; color: #444; font-weight: 700; margin-top: 2px; }
.nav-pill { display: flex; align-items: center; justify-content: center; height: 40px; font-size: .85rem;
            font-weight: 600; white-space: nowrap; padding: 0 .9rem; box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075); }
.nav-pill-green { background-color: #eff5f1; color: var(--hyb-primary); border: 1px solid #d5e3d9; }
.nav-pill-grey { background-color: #f8f9fa; color: var(--hyb-primary); border: 1px solid #dee2e6; }
.nav-pill-blue { background-color: #eaf2f8; color: var(--hyb-primary); border: 1px solid #85c1e9; }
.nav-pill:hover { filter: brightness(.96); color: var(--hyb-primary); }
.theme-toggle { height: 40px; width: 40px; padding: 0; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.lang-btn { height: 40px; padding: 0 10px; font-size: .85rem; }
.lang-code { width: 25px; }

/* Buttons and colours */
.bg-hyb { background: var(--hyb-primary) !important; }
.btn-hyb { background: var(--hyb-primary); color: #fff; border: none; }
.btn-hyb:hover, .btn-hyb:focus-visible { background: var(--hyb-primary-dark); color: #fff; }
.btn-hyb:disabled { background: var(--hyb-primary); color: #fff; opacity: .65; }
.text-primary-hyb { color: var(--hyb-primary); }
.text-pv { color: var(--hyb-pv) !important; }
.text-wind { color: var(--hyb-wind) !important; }
.text-hyb { color: var(--hyb-hyb) !important; }

/* Cards and form */
.card { border-radius: 12px; box-shadow: 0 2px 8px rgba(0, 0, 0, .08); }
.card-header { font-weight: 600; border-radius: 12px 12px 0 0 !important; }
.section-title { color: var(--hyb-primary); font-weight: 700; font-size: 1.2rem; border-bottom: 2px solid var(--hyb-secondary);
                 padding-bottom: 6px; margin-bottom: 15px; }
.section-title.section-sm { font-size: 1rem; margin-bottom: 10px; }
.form-label { font-weight: 600; color: #2c3e50; font-size: .9rem; }
/* Input groups: site boxes, PV sub-titles and the grey notes under a field */
.site-box { border: 1px solid var(--bs-border-color); border-inline-start: 4px solid var(--hyb-pv); border-radius: 10px;
            padding: .5rem .75rem .65rem; background: var(--bs-tertiary-bg); }
.site-box.site-wind { border-inline-start-color: var(--hyb-wind); }
.site-box-title { font-size: .85rem; font-weight: 700; margin-bottom: .25rem; }
.sub-title { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--bs-secondary-color);
             display: flex; align-items: center; gap: .4rem; margin: .6rem 0 .35rem; }
.sub-title::after { content: ""; flex: 1; border-bottom: 1px dashed var(--bs-border-color); }
:lang(ar) .sub-title { text-transform: none; letter-spacing: 0; }
.field-note { font-size: .78rem; color: var(--bs-secondary-color); background: var(--bs-tertiary-bg); border-radius: 6px;
              padding: .3rem .55rem; line-height: 1.45; }
.field-note:empty { display: none; }
.field-note.text-danger { color: var(--bs-danger) !important; }
.lock-icon { color: var(--bs-secondary-color); font-size: .75rem; }
.lock-icon.unlocked { display: none; }
[data-access]:disabled { cursor: not-allowed; }
.summary-row { display: flex; justify-content: space-between; gap: .5rem; margin-bottom: .25rem; }
.summary-row strong { text-align: end; }

/* KPI */
.kpi-box { padding: 20px; border-radius: 12px; background: linear-gradient(135deg, #145a32 0%, #1e8449 100%); color: #fff;
           text-align: center; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
/* Font shrinks with the window so large plants (millions of MWh) stay on one line */
.kpi-box h3 { font-size: clamp(1.15rem, 1.9vw, 2rem); font-weight: 800; margin: 10px 0 5px; white-space: nowrap;
              max-width: 100%; overflow: hidden; }
.kpi-box p { margin: 0; opacity: .9; font-weight: 500; font-size: .9rem; }
.kpi-cf { background: linear-gradient(135deg, #1a5276 0%, #3498db 100%); }
.kpi-co2 { background: linear-gradient(135deg, #0e6655 0%, #1abc9c 100%); }
.kpi-units { background: linear-gradient(135deg, #6c3483 0%, #8e44ad 100%); }

/* Tabs */
.tab-content { background: #fff; border: 1px solid #dee2e6; border-top: none; padding: 20px; border-radius: 0 0 12px 12px; }
.nav-tabs .nav-link.active { color: var(--hyb-primary); border-bottom: 3px solid var(--hyb-primary); font-weight: 700; }
#authModal .tab-content { background: transparent; padding: 0; }
.progress { height: 8px; }
.progress-bar { background: var(--hyb-primary); width: 100%; }

/* Map */
#mapContainer { height: 450px; border-radius: 8px; z-index: 1; }
.site-marker { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px;
               border-radius: 50%; color: #fff; font-size: 18px; border: 2px solid #fff;
               box-shadow: 0 2px 6px rgba(0, 0, 0, .4); }
.site-marker.pv { background: var(--hyb-pv); }
.site-marker.wind { background: var(--hyb-wind); }

/* Analysis */
.small-label { font-size: .8rem; }
.confidence-input { max-width: 64px; }
.header-yellow { background-color: #ffc107; }
.header-blue { background-color: #0d6efd; }
.header-green { background-color: #198754; }
.stats-box { font-size: .9rem; line-height: 1.6; color: #495057; }
.stats-box strong { color: #2c3e50; }
#chartContainer { position: relative; height: 400px; width: 100%; }
.chart-empty { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
               color: var(--bs-secondary-color); text-align: center; }
.chart-empty i { font-size: 3rem; opacity: .5; }
.table-wrapper { max-height: 250px; overflow-y: auto; }
.table-wrapper.expanded { max-height: 800px; }
.table-wrapper th, .table-wrapper td { white-space: nowrap; }
.chart-md { position: relative; height: 300px; width: 100%; }
.chart-sm { position: relative; height: 240px; width: 100%; }

/* Comparison and LCOE */
.results-table td, .results-table th { white-space: nowrap; }
.results-table td:first-child { font-weight: 600; white-space: normal; }
.info-item { background: var(--bs-tertiary-bg); border-radius: 8px; padding: 8px 10px; height: 100%; }
.info-item b { display: block; font-size: .95rem; }
.info-item small { color: var(--bs-secondary-color); }
.lcoe-table { font-size: .95rem; background-color: #fff; }
.lcoe-table td:first-child { font-weight: 600; }
.lcoe-table tr.lcoe-highlight > td { background-color: #d1e7dd; font-weight: 700; }
.rate-input { min-width: 80px; }
.empty-state { text-align: center; color: var(--bs-secondary-color); padding: 70px 10px; }
.empty-state i { font-size: 3rem; opacity: .5; }
.help-text li { margin-bottom: .35rem; }

/* ===================== Dark mode ===================== */
[data-bs-theme="dark"] body { background: var(--dm-bg); }
[data-bs-theme="dark"] .app-navbar { background-color: var(--dm-surface); box-shadow: 0 2px 10px rgba(0, 0, 0, .5); }
[data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .input-group-text { background-color: var(--dm-surface-2); border-color: var(--dm-border); color: var(--dm-text); }
[data-bs-theme="dark"] .form-control::placeholder { color: #75808b; }
[data-bs-theme="dark"] .card-header:not([class*="bg-"]):not(.header-yellow), [data-bs-theme="dark"] .card-footer:not([class*="bg-"]) { background-color: var(--dm-surface-2); border-color: var(--dm-border); }
[data-bs-theme="dark"] .brand-title,
[data-bs-theme="dark"] .section-title:not(.text-pv):not(.text-wind),
[data-bs-theme="dark"] .text-primary-hyb,
[data-bs-theme="dark"] .nav-tabs .nav-link.active,
[data-bs-theme="dark"] .nav-pill { color: var(--hyb-primary-text) !important; }
[data-bs-theme="dark"] .brand-sub { color: var(--bs-secondary-color); }
[data-bs-theme="dark"] .nav-tabs .nav-link.active { border-bottom-color: var(--hyb-primary-text); }
[data-bs-theme="dark"] .section-title { border-bottom-color: #2e6b55; }
[data-bs-theme="dark"] .form-label { color: var(--bs-body-color); }
[data-bs-theme="dark"] .tab-content { background: var(--bs-body-bg); border-color: var(--bs-border-color); }
[data-bs-theme="dark"] .card { box-shadow: 0 2px 8px rgba(0, 0, 0, .45); }
[data-bs-theme="dark"] .bg-light { background-color: var(--bs-tertiary-bg) !important; }
[data-bs-theme="dark"] .text-dark:not(.header-yellow):not(.bg-warning) { color: var(--bs-emphasis-color) !important; }
[data-bs-theme="dark"] .bg-warning.text-dark, [data-bs-theme="dark"] .header-yellow,
[data-bs-theme="dark"] .bg-warning.text-dark *, [data-bs-theme="dark"] .header-yellow * { color: #212529 !important; }
[data-bs-theme="dark"] .card-header.bg-info { background-color: #0b6e8a !important; }
[data-bs-theme="dark"] .nav-pill-green { background-color: #1d2a23; border-color: #2f4538; }
[data-bs-theme="dark"] .nav-pill-grey { background-color: var(--bs-tertiary-bg); border-color: var(--bs-border-color); }
[data-bs-theme="dark"] .nav-pill-blue { background-color: #182a3a; border-color: #2b4d6b; }
[data-bs-theme="dark"] .btn-outline-success { --bs-btn-color: #4ade80; --bs-btn-border-color: #3fbf73; }
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-color: #7cb4ff; --bs-btn-border-color: #5c9cf5; }
[data-bs-theme="dark"] .btn-outline-secondary { --bs-btn-color: #c3cad2; --bs-btn-border-color: #8b949e; }
[data-bs-theme="dark"] .btn-outline-dark {
    --bs-btn-color: #dee2e6; --bs-btn-border-color: #8b949e;
    --bs-btn-hover-color: #111518; --bs-btn-hover-bg: #dee2e6; --bs-btn-hover-border-color: #dee2e6;
    --bs-btn-active-color: #111518; --bs-btn-active-bg: #f8f9fa; --bs-btn-active-border-color: #f8f9fa;
}
[data-bs-theme="dark"] .table-light { --bs-table-bg: var(--bs-tertiary-bg); --bs-table-color: var(--bs-emphasis-color); --bs-table-border-color: var(--bs-border-color); }
[data-bs-theme="dark"] .stats-box { color: var(--bs-secondary-color); }
[data-bs-theme="dark"] .stats-box strong { color: var(--bs-emphasis-color); }
[data-bs-theme="dark"] .lcoe-table { background-color: var(--bs-body-bg); }
[data-bs-theme="dark"] .lcoe-table tr.lcoe-highlight > td { background-color: rgba(25, 135, 84, .28); }
/* Leaflet map: as in SimPV2, the tiles keep their own colours; only the controls go dark */
[data-bs-theme="dark"] .leaflet-bar a,
[data-bs-theme="dark"] .leaflet-control-layers,
[data-bs-theme="dark"] .leaflet-popup-content-wrapper,
[data-bs-theme="dark"] .leaflet-popup-tip { background-color: var(--dm-surface-2); color: var(--dm-text); border-color: var(--dm-border); }
[data-bs-theme="dark"] .leaflet-control-attribution { background: rgba(26, 31, 36, .8) !important; color: var(--dm-muted); }
[data-bs-theme="dark"] .leaflet-control-attribution a { color: var(--dm-link); }
[data-bs-theme="dark"] .leaflet-container { background: var(--dm-surface-2); }

@media (max-width: 575.98px) {
    .brand-logo { height: 42px; }
    .brand-title { font-size: .95rem; }
    .brand-sub { display: none; }
    #mapContainer { height: 360px; }
    #chartContainer { height: 320px; }
    .tab-content { padding: .75rem; }
    .nav-tabs .nav-link { padding: .4rem .55rem; font-size: .85rem; }
    .kpi-box { padding: 14px 8px; }
    .kpi-box h3 { font-size: 1.5rem; }
}

/* ============ Ustadh assistant (assistant.js) ============ */
/* OostadH (أستاذ): the same blue in every project (wind-wep, SimPV2, SimGH2) */
:root { --u-primary: #1a5276; --u-primary-dark: #154360; --u-primary-text: #1a5276; --u-secondary: #85c1e9; }
[data-bs-theme="dark"] { --u-primary-text: #8cc4f0; }
.ustadh { position: fixed; z-index: 1070; width: 64px; height: 78px; cursor: pointer; left: 0; top: 0;
          transition: left .35s ease, top .35s ease; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .25)); }
.ustadh:focus-visible { outline: 3px solid var(--u-secondary); outline-offset: 2px; border-radius: 12px; }
.ustadh .ustadh-svg { animation: ustadh-float 3.2s ease-in-out infinite; display: block; }
.ustadh.away .ustadh-svg { animation: none; }
@keyframes ustadh-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.ustadh-svg .u-line, .ustadh-svg .u-arm { stroke: #283a4e; stroke-width: 3; stroke-linecap: round; }
.ustadh-svg .u-arm { stroke-width: 4; transform-box: fill-box; }
.ustadh-svg .u-ant { fill: #facc15; stroke: #283a4e; stroke-width: 2; }
.ustadh-svg .u-head { fill: #ecf3f9; stroke: #283a4e; stroke-width: 3; }
.ustadh-svg .u-brand { fill: var(--u-primary); stroke: #283a4e; stroke-width: 2; }
.ustadh-svg .u-body { stroke-width: 3; }
.ustadh-svg .u-face { fill: #1e293b; }
.ustadh-svg .u-eye, .ustadh-svg .u-chest { fill: #38bdf8; }
.ustadh-svg .u-eye { transform-box: fill-box; transform-origin: center; animation: ustadh-blink 4.5s infinite; }
@keyframes ustadh-blink { 0%, 94%, 100% { transform: scaleY(1); } 96% { transform: scaleY(.15); } }
.ustadh-svg .u-mouth { fill: none; stroke: #38bdf8; stroke-width: 2; stroke-linecap: round; }
.ustadh-svg .u-mouth-talk { fill: #38bdf8; display: none; }
.ustadh.talk .u-mouth { display: none; }
.ustadh.talk .u-mouth-talk { display: inline; animation: ustadh-talk .25s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center; }
@keyframes ustadh-talk { from { transform: scaleY(.4); } to { transform: scaleY(1.1); } }
.ustadh.talk .u-arm-r { transform-origin: 0 0; transform: rotate(-60deg); transition: transform .2s; }
.ustadh.think .u-ant { fill: #4ade80; animation: ustadh-pulse .6s ease-in-out infinite alternate; }
@keyframes ustadh-pulse { from { opacity: .5; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
    .ustadh, .ustadh * { animation: none !important; transition: none !important; }
}
/* keep the toasts above the robot */
body.ustadh-on .toast-container { margin-bottom: 90px; }

.ustadh-bubble { position: fixed; z-index: 1071; max-width: min(330px, calc(100vw - 16px)); padding: .6rem .8rem;
                 background: var(--bs-body-bg); color: var(--bs-body-color); border: 1px solid var(--u-primary);
                 border-radius: 14px; box-shadow: 0 8px 24px rgba(0, 0, 0, .18); font-size: .85rem; line-height: 1.45; cursor: default; }
.ustadh-bubble.warn { border-color: #f0ad4e; background: #fff8e6; color: #5c4400; }
[data-bs-theme="dark"] .ustadh-bubble.warn { background: #3a2f12; color: #ffe29a; }
.ustadh-bubble-title { font-weight: 700; color: var(--u-primary); margin-bottom: .2rem; }
[data-bs-theme="dark"] .ustadh-bubble-title { color: var(--u-primary-text); }
.ustadh-bubble.warn .ustadh-bubble-title { color: inherit; }
.ustadh-bubble-text { white-space: pre-line; }

.ustadh-chat { position: fixed; z-index: 1072; bottom: 104px; inset-inline-end: 18px; width: min(370px, calc(100vw - 32px));
               height: min(540px, calc(100vh - 130px)); display: none; flex-direction: column; overflow: hidden;
               background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: 16px;
               box-shadow: 0 12px 36px rgba(0, 0, 0, .25); }
.ustadh-chat.open { display: flex; }
.ustadh-head { display: flex; align-items: center; gap: .6rem; padding: .6rem .75rem; color: #fff;
               background: linear-gradient(135deg, var(--u-primary), var(--u-primary-dark)); }
.ustadh-head-avatar { background: rgba(255, 255, 255, .15); border-radius: 50%; width: 42px; height: 42px;
                      display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ustadh-name { font-weight: 800; font-size: 1.05rem; line-height: 1.1; }
.ustadh-status { font-size: .72rem; opacity: .85; }
.ustadh-status::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%;
                         background: #4ade80; margin-inline-end: 5px; vertical-align: middle; }
.ustadh-icon-btn { background: transparent; border: 0; color: #fff; width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0; }
.ustadh-icon-btn:hover, .ustadh-icon-btn:focus-visible { background: rgba(255, 255, 255, .18); }
.ustadh-msgs { flex: 1; overflow-y: auto; padding: .75rem; background: var(--bs-tertiary-bg); display: flex; flex-direction: column; gap: .5rem; }
.ustadh-row { display: flex; align-items: flex-end; gap: .4rem; max-width: 92%; }
.ustadh-row.user { align-self: flex-end; }
.ustadh-avatar { flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--bs-body-bg);
                 border: 1px solid var(--bs-border-color); display: flex; align-items: center; justify-content: center; }
.ustadh-msg { padding: .5rem .7rem; border-radius: 14px; font-size: .86rem; line-height: 1.45; white-space: pre-line;
              background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); overflow-wrap: anywhere; }
.ustadh-row.bot .ustadh-msg { border-end-start-radius: 4px; }
.ustadh-row.user .ustadh-msg { background: var(--u-primary); color: #fff; border-color: var(--u-primary); border-end-end-radius: 4px; }
.ustadh-chips { display: flex; flex-wrap: wrap; gap: .35rem; padding-inline-start: 2.1rem; }
.ustadh-chip { border: 1px solid var(--u-secondary); background: var(--bs-body-bg); color: var(--u-primary);
               border-radius: 999px; font-size: .78rem; padding: .25rem .65rem; text-align: start; }
[data-bs-theme="dark"] .ustadh-chip { color: var(--u-primary-text); }
.ustadh-chip:hover, .ustadh-chip:focus-visible { background: var(--u-primary); color: #fff; }
.ustadh-typing { display: flex; gap: 4px; align-items: center; min-height: 1.6rem; }
.ustadh-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--bs-secondary-color); animation: ustadh-dot 1s infinite; }
.ustadh-typing span:nth-child(2) { animation-delay: .15s; }
.ustadh-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes ustadh-dot { 0%, 60%, 100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
.ustadh-form { display: flex; gap: .4rem; padding: .55rem; border-top: 1px solid var(--bs-border-color); background: var(--bs-body-bg); }
.ustadh-form .form-control { border-radius: 999px; }
.ustadh-form .ustadh-send { border-radius: 50%; width: 34px; height: 34px; padding: 0; flex-shrink: 0;
                            background: var(--u-primary); border-color: var(--u-primary); color: #fff; }
.ustadh-form .ustadh-send:hover, .ustadh-form .ustadh-send:focus-visible { background: var(--u-primary-dark); color: #fff; }
[dir="rtl"] .ustadh-form .bi-send-fill { display: inline-block; transform: scaleX(-1); }
@media (max-width: 575.98px) {
    .ustadh-chat { inset-inline: 8px; width: auto; bottom: 96px; height: min(520px, calc(100vh - 120px)); }
}

/* ---- Windows and tools ported from wind-wep / SimPV2 ---- */
.modal-hero-icon { font-size: 4.5rem; display: inline-block; }
.contact-avatar { width: 50px; height: 50px; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contact-card .card { transition: transform .2s; }
.contact-card:hover .card, .contact-card:focus .card { transform: scale(1.02); }
.gcr-canvas { width: 100%; max-width: 100%; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); border-radius: 8px; }
.model-image { max-height: 60vh; width: auto; background: #fff; padding: 6px; }
.busy-overlay { position: fixed; inset: 0; z-index: 2000; background: rgba(0, 0, 0, .35); display: flex; align-items: center; justify-content: center; }
.busy-box { background: var(--bs-body-bg); color: var(--bs-body-color); border-radius: 12px; padding: 22px 28px; text-align: center; min-width: 220px; max-width: 90vw; }
#cmpBody td, #cmpBody th { white-space: nowrap; }
[data-bs-theme="dark"] .driver-popover { background-color: var(--dm-surface-2); color: var(--dm-text); }
[data-bs-theme="dark"] .driver-popover-title, [data-bs-theme="dark"] .driver-popover-description { color: var(--dm-text); }
[data-bs-theme="dark"] .driver-popover-arrow { border-color: var(--dm-surface-2); }
[data-bs-theme="dark"] .driver-popover-footer button { background-color: var(--dm-surface-3); color: var(--dm-text); text-shadow: none; border-color: var(--dm-border); }
