/* Theme tokens — X-inspired dark mode */

:root {
    --theme-bg: #f3f4f6;
    --theme-surface: #ffffff;
    --theme-surface-2: #f9fafb;
    --theme-border: #e5e7eb;
    --theme-border-soft: #f3f4f6;
    --theme-text: #0f1419;
    --theme-text-muted: #536471;
    --theme-primary: #2563eb;
    --theme-primary-hover: #1d4ed8;
    --theme-icon: #536471;
    --theme-hover: rgba(15, 20, 25, 0.06);
    --theme-shadow: 0 1px 2px rgba(15, 20, 25, 0.08);
}

html[data-theme="dark"] {
    color-scheme: dark;
    --theme-bg: #000000;
    --theme-surface: #16181c;
    --theme-surface-2: #202327;
    --theme-border: #2f3336;
    --theme-border-soft: #2f3336;
    --theme-text: #e7e9ea;
    --theme-text-muted: #71767b;
    --theme-primary: #1d9bf0;
    --theme-primary-hover: #1a8cd8;
    --theme-icon: #e7e9ea;
    --theme-hover: rgba(231, 233, 234, 0.1);
    --theme-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] body {
    background: var(--theme-bg);
    color: var(--theme-text);
}

/* ——— Theme toggle button ——— */

.dash-theme-toggle {
    position: relative;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.dash-theme-toggle__icon {
    width: 18px;
    height: 18px;
    display: block;
}

.dash-theme-toggle__icon--sun {
    display: none;
}

html[data-theme="dark"] .dash-theme-toggle__icon--moon {
    display: none;
}

html[data-theme="dark"] .dash-theme-toggle__icon--sun {
    display: block;
}

/* ——— Shell & navigation ——— */

html[data-theme="dark"] .app-modern-page,
html[data-theme="dark"] .dashboard-page {
    background: var(--theme-bg);
}

html[data-theme="dark"] .dash-sidebar,
html[data-theme="dark"] .dash-rail--nav,
html[data-theme="dark"] .dash-rail--feed {
    background: var(--theme-bg);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .dash-profile {
    background: var(--theme-surface);
}

html[data-theme="dark"] .dash-profile-role,
html[data-theme="dark"] .dash-breadcrumb,
html[data-theme="dark"] .dash-kpi-label,
html[data-theme="dark"] .dash-feed-time,
html[data-theme="dark"] .dash-table th {
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .dash-breadcrumb strong,
html[data-theme="dark"] .dash-nav-summary,
html[data-theme="dark"] .dash-profile-name,
html[data-theme="dark"] .dash-topbar-titles h1,
html[data-theme="dark"] .dash-card h2,
html[data-theme="dark"] .dash-feed-section h3,
html[data-theme="dark"] .dash-kpi-value {
    color: var(--theme-text);
}

html[data-theme="dark"] .dash-nav-row:hover,
html[data-theme="dark"] .dash-nav a:hover,
html[data-theme="dark"] .dash-nav-link:hover {
    background: var(--theme-hover);
    color: var(--theme-text);
}

html[data-theme="dark"] .dash-nav a,
html[data-theme="dark"] .dash-nav-link {
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .dash-nav a.active,
html[data-theme="dark"] .dash-nav-link.active {
    background: rgba(29, 155, 240, 0.12);
    color: var(--theme-primary);
}

html[data-theme="dark"] .dash-nav-group {
    border-color: var(--theme-border);
}

html[data-theme="dark"] .dash-icon-btn,
html[data-theme="dark"] .dash-menu-toggle,
html[data-theme="dark"] .dash-sidebar-close {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    color: var(--theme-icon);
}

html[data-theme="dark"] .dash-icon-btn:hover,
html[data-theme="dark"] .dash-menu-toggle:hover,
html[data-theme="dark"] .dash-sidebar-close:hover {
    background: var(--theme-hover);
    color: var(--theme-text);
}

html[data-theme="dark"] .dash-theme-toggle[aria-pressed="true"] {
    color: #ffd400;
}

/* ——— Cards, KPIs, tables ——— */

html[data-theme="dark"] .dash-kpi,
html[data-theme="dark"] .dash-card,
html[data-theme="dark"] .section,
html[data-theme="dark"] .demo-banner,
html[data-theme="dark"] .login-box,
html[data-theme="dark"] .error-card {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    box-shadow: var(--theme-shadow);
}

html[data-theme="dark"] .dash-kpi-tone-sky { background: #0d2137; }
html[data-theme="dark"] .dash-kpi-tone-lavender { background: #221a33; }
html[data-theme="dark"] .dash-kpi-tone-mint { background: #0f2a22; }
html[data-theme="dark"] .dash-kpi-tone-peach { background: #2a1f14; }
html[data-theme="dark"] .dash-kpi-tone-rose { background: #2a1418; }
html[data-theme="dark"] .dash-kpi-tone-slate { background: var(--theme-surface-2); }

html[data-theme="dark"] .dash-table td,
html[data-theme="dark"] .data-table td,
html[data-theme="dark"] .dash-feed-item,
html[data-theme="dark"] .dash-hbar-track {
    border-color: var(--theme-border);
}

html[data-theme="dark"] .dash-table td,
html[data-theme="dark"] .data-table td,
html[data-theme="dark"] .dash-feed-body a {
    color: var(--theme-text);
}

html[data-theme="dark"] .dash-feed-body a:hover {
    color: var(--theme-primary);
}

html[data-theme="dark"] .dash-feed-icon,
html[data-theme="dark"] .dash-contact-avatar {
    background: var(--theme-surface-2);
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .dash-donut::after {
    background: var(--theme-surface);
}

html[data-theme="dark"] .dash-search {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    color: var(--theme-text-muted);
}

/* ——— Panel components ——— */

html[data-theme="dark"] .card-grid .card,
html[data-theme="dark"] .svc-mgmt__head,
html[data-theme="dark"] .svc-mgmt-panel,
html[data-theme="dark"] .svc-form-aside,
html[data-theme="dark"] .svc-form-main,
html[data-theme="dark"] .svc-mgmt-card,
html[data-theme="dark"] .svc-pick__hero,
html[data-theme="dark"] .svc-pick-card,
html[data-theme="dark"] .case-wizard__frame,
html[data-theme="dark"] .case-form__shell,
html[data-theme="dark"] .svc-wizard-hero__icon {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-theme="dark"] .svc-mgmt__sub,
html[data-theme="dark"] .svc-mgmt__crumb,
html[data-theme="dark"] .meta-row,
html[data-theme="dark"] .empty,
html[data-theme="dark"] .empty-state {
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .svc-mgmt__crumb a {
    color: var(--theme-primary);
}

html[data-theme="dark"] .btn {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-theme="dark"] .btn:hover {
    background: var(--theme-hover);
}

html[data-theme="dark"] .btn-primary {
    background: var(--theme-primary);
    border-color: var(--theme-primary);
    color: #ffffff;
}

html[data-theme="dark"] .btn-primary:hover {
    background: var(--theme-primary-hover);
    border-color: var(--theme-primary-hover);
}

html[data-theme="dark"] .form-grid input,
html[data-theme="dark"] .form-grid select,
html[data-theme="dark"] .form-grid textarea,
html[data-theme="dark"] .filter-bar input,
html[data-theme="dark"] .filter-bar select,
html[data-theme="dark"] .svc-field__input,
html[data-theme="dark"] .case-field__input,
html[data-theme="dark"] .form-control {
    background: var(--theme-bg);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-theme="dark"] .form-grid input::placeholder,
html[data-theme="dark"] .form-grid textarea::placeholder {
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .tabs {
    border-color: var(--theme-border);
}

html[data-theme="dark"] .tabs a {
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .tabs a.active {
    color: var(--theme-primary);
    border-bottom-color: var(--theme-primary);
}

html[data-theme="dark"] .flash-success {
    background: rgba(0, 186, 124, 0.15);
    color: #00ba7c;
}

html[data-theme="dark"] .flash-warning,
html[data-theme="dark"] .flash-error {
    background: rgba(244, 33, 46, 0.12);
    color: #f4212e;
}

html[data-theme="dark"] .demo-banner {
    background: rgba(255, 212, 0, 0.12);
    border-color: rgba(255, 212, 0, 0.35);
    color: #ffd400;
}

html[data-theme="dark"] .dash-overlay {
    background: rgba(91, 112, 131, 0.4);
}

html[data-theme="dark"] a {
    color: var(--theme-primary);
}

html[data-theme="dark"] .login-page,
html[data-theme="dark"] .error-shell {
    background: var(--theme-bg);
}

html[data-theme="dark"] .login-hint {
    background: var(--theme-surface-2);
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .login-hint code {
    background: var(--theme-border);
}

html[data-theme="dark"] .case-stepper__connector {
    background: var(--theme-border);
}

html[data-theme="dark"] .case-stepper__item.is-active .case-stepper__connector {
    opacity: 0.85;
}

html[data-theme="dark"] .case-review-box,
html[data-theme="dark"] .case-review {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .status-badge,
html[data-theme="dark"] .priority-badge {
    background: var(--theme-surface-2);
    color: var(--theme-text-muted);
}

/* ——— Service wizards (toned down for dark) ——— */

html[data-theme="dark"] .svc-wizard-hero {
    background: var(--theme-surface) !important;
    border-color: var(--theme-border) !important;
    box-shadow: var(--theme-shadow) !important;
}

html[data-theme="dark"] .svc-wizard-hero h1,
html[data-theme="dark"] .svc-wizard-hero__eyebrow {
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .svc-wizard-hero__icon {
    background: var(--theme-surface-2) !important;
    border-color: var(--theme-border) !important;
    color: var(--theme-primary) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .svc-wizard-frame {
    border-color: var(--theme-border) !important;
}

html[data-theme="dark"] .case-stepper__node {
    background: var(--theme-surface);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .case-stepper__title,
html[data-theme="dark"] .case-stepper__eyebrow,
html[data-theme="dark"] .case-wizard__panel-title,
html[data-theme="dark"] .case-wizard__panel-desc,
html[data-theme="dark"] .case-field__label,
html[data-theme="dark"] .svc-wizard-subsection__title {
    color: var(--theme-text);
}

html[data-theme="dark"] .case-field__help {
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .svc-wizard-callout {
    background: rgba(29, 155, 240, 0.12);
    border-color: rgba(29, 155, 240, 0.35);
    color: var(--theme-primary);
}

html[data-theme="dark"] .svc-wizard-subsection {
    border-color: var(--theme-border);
}

html[data-theme="dark"] .svc-pick-card:hover {
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .svc-pick-card h2,
html[data-theme="dark"] .svc-pick-card__desc,
html[data-theme="dark"] .svc-mgmt-card h2 {
    color: var(--theme-text);
}

html[data-theme="dark"] .svc-pick-card__tags li {
    background: var(--theme-surface-2);
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .shamsi-clock-face {
    background: var(--theme-surface);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .shamsi-clock-face text,
html[data-theme="dark"] .shamsi-clock-date {
    fill: var(--theme-text);
    color: var(--theme-text);
}

/* ——— Passenger list ——— */

html[data-theme="dark"] .passenger-list-header h1,
html[data-theme="dark"] .passenger-list-kpi__value {
    color: var(--theme-text);
}

html[data-theme="dark"] .passenger-list-header__meta,
html[data-theme="dark"] .passenger-list-kpi__label,
html[data-theme="dark"] .passenger-list-row__sub,
html[data-theme="dark"] .passenger-list-row__meta,
html[data-theme="dark"] .passenger-list-empty {
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .passenger-list-kpi,
html[data-theme="dark"] .passenger-list-filters,
html[data-theme="dark"] .passenger-list-row,
html[data-theme="dark"] .passenger-list-empty {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    box-shadow: var(--theme-shadow);
}

html[data-theme="dark"] .passenger-list-kpi.is-active {
    background: rgba(29, 155, 240, 0.12);
    border-color: var(--theme-primary);
}

html[data-theme="dark"] .passenger-list-kpi.is-active .passenger-list-kpi__label {
    color: var(--theme-primary);
}

html[data-theme="dark"] .passenger-list-filters__field label {
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .passenger-list-filters__field input,
html[data-theme="dark"] .passenger-list-filters__field select {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-theme="dark"] .passenger-list-filters__actions {
    border-top-color: var(--theme-border);
}

html[data-theme="dark"] .passenger-list-row:hover {
    border-color: rgba(29, 155, 240, 0.45);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .passenger-list-avatar {
    background: rgba(29, 155, 240, 0.15);
    border-color: rgba(29, 155, 240, 0.35);
    color: var(--theme-primary);
}

html[data-theme="dark"] .passenger-list-row__name {
    color: var(--theme-primary);
}

html[data-theme="dark"] .passenger-list-row__meta span strong {
    color: var(--theme-text);
}

html[data-theme="dark"] .passenger-list-dest-tag {
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.35);
    color: #4ade80;
}

html[data-theme="dark"] .passenger-list-metric {
    background: var(--theme-surface-2);
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .passenger-list-metric--cases {
    background: rgba(29, 155, 240, 0.12);
    color: var(--theme-primary);
}

html[data-theme="dark"] .passenger-list-metric--notes {
    background: rgba(251, 191, 36, 0.15);
    color: #fbbf24;
}

/* ——— Passenger profile & form ——— */

html[data-theme="dark"] .passenger-profile-card,
html[data-theme="dark"] .passenger-profile-tabs,
html[data-theme="dark"] .passenger-profile-stat,
html[data-theme="dark"] .passenger-profile-panel,
html[data-theme="dark"] .passenger-form-frame,
html[data-theme="dark"] .passenger-form-preview {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    box-shadow: var(--theme-shadow);
}

html[data-theme="dark"] .passenger-profile-card__name,
html[data-theme="dark"] .passenger-profile-panel__title,
html[data-theme="dark"] .passenger-profile-stat__value,
html[data-theme="dark"] .passenger-form-header h1,
html[data-theme="dark"] .passenger-form-section__title,
html[data-theme="dark"] .passenger-form-preview__name,
html[data-theme="dark"] .passenger-profile-timeline__title,
html[data-theme="dark"] .passenger-profile-row__title {
    color: var(--theme-text);
}

html[data-theme="dark"] .passenger-profile-card__subtitle,
html[data-theme="dark"] .passenger-profile-panel__desc,
html[data-theme="dark"] .passenger-profile-header__meta,
html[data-theme="dark"] .passenger-profile-contact__label,
html[data-theme="dark"] .passenger-profile-meta-list__row dt,
html[data-theme="dark"] .passenger-profile-empty,
html[data-theme="dark"] .passenger-form-header__desc,
html[data-theme="dark"] .passenger-form-section__desc,
html[data-theme="dark"] .passenger-form-preview__hint,
html[data-theme="dark"] .passenger-profile-timeline__sub,
html[data-theme="dark"] .passenger-profile-row__meta {
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .passenger-profile-avatar,
html[data-theme="dark"] .passenger-form-preview__avatar {
    background: rgba(29, 155, 240, 0.15);
    border-color: rgba(29, 155, 240, 0.35);
    color: var(--theme-primary);
}

html[data-theme="dark"] .passenger-profile-tag {
    background: var(--theme-surface-2);
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .passenger-profile-tabs__link.is-active {
    background: rgba(29, 155, 240, 0.12);
    color: var(--theme-primary);
}

html[data-theme="dark"] .passenger-profile-tabs__link:hover {
    background: var(--theme-hover);
    color: var(--theme-text);
}

html[data-theme="dark"] .passenger-profile-notes {
    background: rgba(251, 191, 36, 0.12);
    border-color: rgba(251, 191, 36, 0.35);
    color: #fbbf24;
}

html[data-theme="dark"] .passenger-profile-timeline__item,
html[data-theme="dark"] .passenger-profile-case-row,
html[data-theme="dark"] .passenger-profile-contract-row,
html[data-theme="dark"] .passenger-profile-followup-row {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .passenger-profile-row__code {
    color: var(--theme-primary);
}

html[data-theme="dark"] .passenger-field input,
html[data-theme="dark"] .passenger-field select,
html[data-theme="dark"] .passenger-field textarea {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-theme="dark"] .passenger-form-stepper,
html[data-theme="dark"] .passenger-form-actions {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .passenger-form-preview__note {
    background: rgba(29, 155, 240, 0.12);
    border-color: rgba(29, 155, 240, 0.35);
    color: var(--theme-primary);
}

html[data-theme="dark"] .passenger-avatar {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .passenger-avatar__img--vector {
    background: var(--theme-surface);
}

/* ——— Service management hub ——— */

html[data-theme="dark"] .svc-hub__hero,
html[data-theme="dark"] .svc-hub-kpi,
html[data-theme="dark"] .svc-hub__panel {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    box-shadow: var(--theme-shadow);
}

html[data-theme="dark"] .svc-hub__hero {
    background: linear-gradient(135deg, var(--theme-surface) 0%, var(--theme-surface-2) 100%);
}

html[data-theme="dark"] .svc-hub__hero h1,
html[data-theme="dark"] .svc-hub__panel-title,
html[data-theme="dark"] .svc-hub-kpi__value {
    color: var(--theme-text);
}

html[data-theme="dark"] .svc-hub__lead,
html[data-theme="dark"] .svc-hub__panel-desc,
html[data-theme="dark"] .svc-hub-kpi__label,
html[data-theme="dark"] .svc-hub-case-chip__meta {
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .svc-hub-kpi--accent {
    background: rgba(29, 155, 240, 0.1);
    border-color: rgba(29, 155, 240, 0.35);
}

html[data-theme="dark"] .svc-hub-kpi--accent .svc-hub-kpi__value {
    color: var(--theme-primary);
}

html[data-theme="dark"] .svc-hub__panel-head {
    border-bottom-color: var(--theme-border);
}

html[data-theme="dark"] .svc-hub-case-chip {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .svc-hub-case-chip:hover {
    background: rgba(29, 155, 240, 0.1);
    border-color: rgba(29, 155, 240, 0.35);
}

html[data-theme="dark"] .svc-hub-case-chip__code {
    color: var(--theme-primary);
}

html[data-theme="dark"] .svc-pick-card {
    background: var(--theme-surface);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .svc-hub-card__cta {
    background: var(--theme-surface-2);
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .svc-type-hub__hero,
html[data-theme="dark"] .svc-type-hub__shortcuts {
    background: var(--theme-surface);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .svc-type-hub__hero h1,
html[data-theme="dark"] .svc-type-hub__section-title,
html[data-theme="dark"] .svc-type-hub-service-row__traveler {
    color: var(--theme-text);
}

html[data-theme="dark"] .svc-type-hub__desc,
html[data-theme="dark"] .svc-type-hub-service-row__sub,
html[data-theme="dark"] .svc-type-hub-empty {
    color: var(--theme-text-muted);
}

html[data-theme="dark"] .svc-type-hub__icon {
    background: var(--theme-surface-2);
    color: var(--theme-primary);
}

html[data-theme="dark"] .svc-type-hub-shortcut {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .svc-type-hub-shortcut:hover {
    background: rgba(29, 155, 240, 0.1);
    border-color: rgba(29, 155, 240, 0.35);
}

html[data-theme="dark"] .svc-type-hub-shortcut__label {
    color: var(--theme-text);
}

html[data-theme="dark"] .svc-type-hub-service-row {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .svc-type-hub-service-row--overdue {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.35);
}

html[data-theme="dark"] .svc-type-hub-service-row__case {
    color: var(--theme-primary);
}

/* File manager dark mode */
html[data-theme="dark"] .fm-top h1,
html[data-theme="dark"] .fm-empty h2,
html[data-theme="dark"] .fm-detail__head h2,
html[data-theme="dark"] .fm-modal__head h2,
html[data-theme="dark"] .fm-cell-name strong,
html[data-theme="dark"] .fm-card__main h3,
html[data-theme="dark"] .fm-sidebar__brand strong,
html[data-theme="dark"] .fm-kpi span {
    color: var(--theme-text);
}

html[data-theme="dark"] .fm-sidebar,
html[data-theme="dark"] .fm-panel,
html[data-theme="dark"] .fm-detail,
html[data-theme="dark"] .fm-modal__dialog,
html[data-theme="dark"] .fm-kpi,
html[data-theme="dark"] .fm-card {
    background: var(--theme-surface);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .fm-sidebar {
    background: linear-gradient(180deg, var(--theme-surface) 0%, var(--theme-surface-2) 100%);
}

html[data-theme="dark"] .fm-top {
    background: linear-gradient(120deg, #0f172a 0%, #1e293b 50%, #1e3a8a 100%);
}

html[data-theme="dark"] .fm-panel__bar,
html[data-theme="dark"] .fm-table thead,
html[data-theme="dark"] .fm-modal__foot {
    background: var(--theme-surface-2);
}

html[data-theme="dark"] .fm-search__wrap input,
html[data-theme="dark"] .fm-search select,
html[data-theme="dark"] .fm-modal__body input,
html[data-theme="dark"] .fm-modal__body select,
html[data-theme="dark"] .fm-modal__body textarea {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-theme="dark"] .fm-nav__item.is-active {
    background: rgba(29, 155, 240, 0.12);
    color: var(--theme-primary);
}

html[data-theme="dark"] .fm-table tbody tr:hover,
html[data-theme="dark"] .fm-table tbody tr.is-selected {
    background: rgba(29, 155, 240, 0.06);
}

html[data-theme="dark"] .fm-icon-btn {
    background: var(--theme-surface-2);
}

html[data-theme="dark"] .fm-icon-btn--share {
    background: rgba(29, 155, 240, 0.15);
}

html[data-theme="dark"] .fm-storage-card {
    background: var(--theme-surface-2);
}

/* Follow-up hub dark mode */
html[data-theme="dark"] .fu-sidebar,
html[data-theme="dark"] .fu-panel,
html[data-theme="dark"] .fu-filters,
html[data-theme="dark"] .fu-kpi,
html[data-theme="dark"] .fu-card,
html[data-theme="dark"] .fu-form-card {
    background: var(--theme-surface);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .fu-sidebar {
    background: linear-gradient(180deg, var(--theme-surface) 0%, var(--theme-surface-2) 100%);
}

html[data-theme="dark"] .fu-top {
    background: linear-gradient(120deg, #0f172a 0%, #1e293b 50%, #312e81 100%);
}

html[data-theme="dark"] .fu-top h1,
html[data-theme="dark"] .fu-detail-header h1,
html[data-theme="dark"] .fu-card h2,
html[data-theme="dark"] .fu-row__title,
html[data-theme="dark"] .fu-sidebar__brand strong,
html[data-theme="dark"] .fu-kpi__value,
html[data-theme="dark"] .fu-dl dd {
    color: var(--theme-text);
}

html[data-theme="dark"] .fu-filters input,
html[data-theme="dark"] .fu-filters select,
html[data-theme="dark"] .fu-form-card input,
html[data-theme="dark"] .fu-form-card select,
html[data-theme="dark"] .fu-form-card textarea,
html[data-theme="dark"] .fu-action-form input,
html[data-theme="dark"] .fu-action-form select,
html[data-theme="dark"] .fu-action-form textarea {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-theme="dark"] .fu-table th {
    background: var(--theme-surface-2);
}

html[data-theme="dark"] .fu-table tbody tr:hover {
    background: rgba(29, 155, 240, 0.06);
}

html[data-theme="dark"] .fu-nav__item.is-active {
    background: rgba(29, 155, 240, 0.12);
    color: var(--theme-primary);
}

html[data-theme="dark"] .fu-form-header,
html[data-theme="dark"] .fu-form-section,
html[data-theme="dark"] .fu-form-layout__footer {
    background: var(--theme-surface);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .fu-form-header h1,
html[data-theme="dark"] .fu-form-section__head h2 {
    color: var(--theme-text);
}

html[data-theme="dark"] .fu-input {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-theme="dark"] .fu-tag-picker label {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
    color: var(--theme-text-muted, #94a3b8);
}

html[data-theme="dark"] .fu-form-section__head {
    border-color: var(--theme-border);
}

.btn-followup {
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    color: #6d28d9;
}

.btn-followup:hover {
    background: #ede9fe;
    border-color: #c4b5fd;
    color: #5b21b6;
    text-decoration: none;
}

.service-detail-head__row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

html[data-theme="dark"] .fu-form-tips ul {
    color: var(--theme-text-muted, #94a3b8);
}

html[data-theme="dark"] .fu-link-banner {
    background: linear-gradient(120deg, rgba(37, 99, 235, 0.12) 0%, rgba(109, 40, 217, 0.12) 100%);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .fu-link-card {
    background: var(--theme-surface);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .fu-dropzone {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .btn-followup {
    background: rgba(109, 40, 217, 0.15);
    border-color: rgba(167, 139, 250, 0.35);
    color: #c4b5fd;
}

html[data-theme="dark"] .fu-search-bar,
html[data-theme="dark"] .fu-advanced,
html[data-theme="dark"] .fu-filter-chip {
    background: var(--theme-surface-2);
    border-color: var(--theme-border);
}

html[data-theme="dark"] .fu-search-bar__input,
html[data-theme="dark"] .fu-search-bar__scope,
html[data-theme="dark"] .fu-toolbar__select,
html[data-theme="dark"] .fu-advanced__field input,
html[data-theme="dark"] .fu-advanced__field select {
    background: var(--theme-surface);
    border-color: var(--theme-border);
    color: var(--theme-text);
}

html[data-theme="dark"] .fu-quick-link {
    background: var(--theme-surface-2);
    color: var(--theme-text);
}

html[data-theme="dark"] .fu-th-sort {
    color: var(--theme-text-muted, #94a3b8);
}

/* Service workflow strip (expert service detail) */
.svc-workflow {
    padding: 0.65rem 0.85rem;
    margin-bottom: 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
}

.svc-workflow__steps {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.svc-workflow__step {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    color: #64748b;
}

.svc-workflow__step.is-done { color: #0f766e; }
.svc-workflow__step.is-active { color: #0f172a; font-weight: 600; }

.svc-workflow__dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    background: #cbd5e1;
}

.svc-workflow__step.is-done .svc-workflow__dot { background: #14b8a6; }
.svc-workflow__step.is-active .svc-workflow__dot {
    background: #0d9488;
    box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.25);
}

.svc-workflow__sep {
    flex: 0 0 1.25rem;
    height: 2px;
    margin: 0 0.15rem;
    background: #e2e8f0;
    list-style: none;
}

.svc-workflow__hint {
    margin: 0.45rem 0 0;
    font-size: 0.8125rem;
    color: #475569;
}

/* ——— Dark mode: mobile hub & panel surfaces ——— */
@media (max-width: 1024px) {
    html[data-theme="dark"] .section,
    html[data-theme="dark"] .ct-list-search,
    html[data-theme="dark"] .ct-list-card,
    html[data-theme="dark"] .ct-list-stat,
    html[data-theme="dark"] .ct-hub-nav,
    html[data-theme="dark"] .acct-hub-nav,
    html[data-theme="dark"] .us-sidebar,
    html[data-theme="dark"] .us-card,
    html[data-theme="dark"] .fm-sidebar,
    html[data-theme="dark"] .vacct-coa-table-wrap {
        background: var(--theme-surface);
        border-color: var(--theme-border);
        color: var(--theme-text);
    }

    html[data-theme="dark"] .ct-list-card__title,
    html[data-theme="dark"] .ct-detail-hero__title,
    html[data-theme="dark"] .home-command__title {
        color: var(--theme-text);
    }

    html[data-theme="dark"] .ct-list-search__field input,
    html[data-theme="dark"] .ct-list-search__field select,
    html[data-theme="dark"] .filter-bar input,
    html[data-theme="dark"] .filter-bar select {
        background: var(--theme-surface-2);
        border-color: var(--theme-border);
        color: var(--theme-text);
    }

    html[data-theme="dark"] .dash-overlay.is-visible {
        background: rgba(0, 0, 0, 0.65);
    }

    html[data-theme="dark"] .dash-sidebar.is-open {
        box-shadow: -8px 0 32px rgba(0, 0, 0, 0.45);
    }
}
