/* System light / dark theme — follows device preference */

html {
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    /* Landing */
    --ink: #f1f5f9;
    --ink-muted: #cbd5e1;
    --ink-light: #94a3b8;
    --surface: #0f172a;
    --surface-muted: #1e293b;
    --border: #334155;
    --green-50: rgba(6, 78, 59, 0.35);
    --green-100: rgba(6, 95, 70, 0.4);
    --green-800: #6ee7b7;
    --green-brand: #047857;
    --green-brand-hover: #059669;
    --green-brand-text: #ecfdf5;
    --shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
    --shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.45);

    /* Admin dashboard */
    --dash-bg: #0b1220;
    --dash-text: #f3f4f6;
    --dash-muted: #d1d5db;
    --dash-border: #374151;
    --dash-card: #111827;
    --dash-input-bg: #1f2937;
    --user-field-bg: #1f2937;
    --user-field-icon-bg: #243044;
    --dash-green: #4ade80;
    --dash-green-dark: #065f46;
    --dash-green-active: #047857;
    --dash-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
    --dash-shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.45);

    /* Auth */
    --auth-ink: #f1f5f9;
    --auth-muted: #cbd5e1;
    --auth-border: #334155;
    --auth-input-bg: #1e293b;
    --auth-card-bg: #1e293b;
    --auth-success-icon-bg: rgba(6, 95, 70, 0.35);
    --auth-green: #059669;
    --auth-green-dark: #065f46;
    --auth-green-deep: #064e3b;

    /* Portals */
    --portal-ink: #f1f5f9;
    --portal-muted: #cbd5e1;
    --portal-muted-light: #94a3b8;
    --portal-border: #334155;
    --portal-surface: #0f172a;
    --portal-green-800: #065f46;
    --portal-green-700: #047857;
    --portal-green-600: #059669;
    --portal-green-100: rgba(6, 95, 70, 0.35);
    --portal-green-50: rgba(6, 78, 59, 0.25);

    /* Admin login (split) */
    --admin-green: #064e3b;
    --admin-green-dark: #052e16;
    --admin-green-deep: #065f46;
    --admin-lime: #86efac;
    --admin-white: #111827;
    --admin-text: #f3f4f6;
    --admin-muted: #d1d5db;
    --admin-input-bg: #1f2937;
    --admin-card-bg: #1f2937;
    --admin-border: #374151;

    /* User / rider dashboard */
    --user-bg: #0b1220;
    --user-text: #f3f4f6;
    --user-muted: #d1d5db;
    --user-border: #374151;
    --user-card: #111827;
    --user-green: #4ade80;
    --user-green-dark: #065f46;
    --user-green-active: #047857;
    --user-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
    --user-shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.45);
    --user-surface-subtle: #1f2937;

    /* Driver portal auth */
    --text: #f1f5f9;
    --muted: #cbd5e1;
    --border: #334155;
    --surface: #111827;
    --bg: #0f172a;
  }

  /* Base text & placeholders */
  body.landing {
    color: var(--ink);
  }

  body.admin-body {
    background: var(--dash-bg);
    color: var(--dash-text);
  }

  body.user-body {
    background: var(--user-bg);
    color: var(--user-text);
  }

  body.auth-page {
    background: var(--bg);
    color: var(--text);
  }

  body.portal-page {
    color: var(--portal-ink);
  }

  body.auth-login-page,
  body.auth-signup-page {
    color: var(--auth-ink);
  }

  ::placeholder {
    color: #94a3b8;
    opacity: 1;
  }

  body.auth-login-page {
    background: #0f172a;
  }

  .auth-login__brand {
    background: linear-gradient(165deg, #064e3b 0%, #052e16 48%, #022c22 100%);
    color: #ecfdf5;
  }

  .auth-login__brand::before {
    background:
      radial-gradient(circle at 85% 15%, rgba(52, 211, 153, 0.14), transparent 42%),
      radial-gradient(circle at 10% 90%, rgba(255, 255, 255, 0.05), transparent 50%);
  }

  .auth-login__eyebrow {
    color: #86efac;
  }

  .auth-login__stat strong {
    color: #ecfdf5;
  }

  .auth-login__panel {
    background: #111827;
  }

  .auth-login__flash {
    background: rgba(6, 95, 70, 0.25);
    border-color: rgba(16, 185, 129, 0.35);
    color: #a7f3d0;
  }

  .auth-login__flash--error {
    background: rgba(127, 29, 29, 0.35);
    border-color: rgba(248, 113, 113, 0.35);
    color: #fecaca;
  }

  .flash-dismissible__close:hover {
    background: rgba(255, 255, 255, 0.08);
  }

  .auth-login__social-btn {
    background: #1e293b;
    color: var(--auth-ink);
  }

  .auth-login__submit {
    color: #ecfdf5;
    background: #065f46;
  }

  .auth-login__submit:hover {
    background: #047857;
  }

  .auth-login__link--strong,
  .auth-login__link:hover {
    color: #6ee7b7;
  }

  .landing-hero,
  .landing-partners,
  .landing-section--muted {
    background: var(--surface);
  }

  .landing-hero::before {
    background:
      radial-gradient(ellipse 110% 95% at 0% 0%, rgba(6, 95, 70, 0.22) 0%, transparent 82%),
      radial-gradient(ellipse 85% 75% at 6% 18%, rgba(4, 120, 87, 0.18) 0%, transparent 78%);
  }

  .landing-header {
    background: rgba(15, 23, 42, 0.92);
    border-bottom-color: var(--border);
  }

  .landing-feature-card,
  .landing-step-card,
  .landing-testimonial,
  .landing-price-card,
  .landing-city-pill,
  .landing-audience-card--rider,
  .landing-faq__item {
    background: var(--surface-muted);
    border-color: var(--border);
  }

  .landing-audience-card--driver {
    background: linear-gradient(145deg, #065f46, #064e3b);
  }

  .landing-hero__ui-card,
  .landing-hero__ride-opt {
    background: #1e293b;
    color: var(--ink);
  }

  .landing-hero__ui-field {
    background: #0f172a;
  }

  .landing-footer {
    background: #0b1220;
    border-top-color: var(--border);
  }

  body.portal-page {
    background:
      radial-gradient(ellipse 90% 70% at 0% 0%, rgba(6, 95, 70, 0.2), transparent 58%),
      radial-gradient(ellipse 80% 60% at 100% 0%, rgba(16, 185, 129, 0.12), transparent 55%),
      var(--portal-surface);
  }

  body.portal-page::before {
    opacity: 0.35;
  }

  .portal-header {
    background: rgba(15, 23, 42, 0.92);
    border-bottom-color: var(--portal-border);
  }

  .portal-card {
    background: var(--surface-muted);
    border-color: var(--portal-border);
  }

  .portal-feature__icon {
    background: var(--portal-green-50);
  }

  .portal-card__icon {
    background: linear-gradient(145deg, #047857, #064e3b);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
  }

  .portal-card__eyebrow {
    color: #6ee7b7;
  }

  .admin-topbar {
    background: rgba(17, 24, 39, 0.92);
    border-bottom-color: var(--dash-border);
  }

  .admin-topbar__search {
    background: #1f2937;
  }

  .admin-topbar__search input {
    color: var(--dash-text);
  }

  .admin-icon-btn,
  .admin-logout-btn {
    background: var(--dash-card);
    border-color: var(--dash-border);
    color: var(--dash-muted);
  }

  .admin-icon-btn:hover,
  .admin-logout-btn:hover {
    background: #1f2937;
    color: var(--dash-text);
  }

  .admin-sidebar {
    background: var(--dash-card);
    border-right-color: var(--dash-border);
  }

  .admin-nav-item:hover {
    background: #1f2937;
    color: var(--dash-text);
  }

  .admin-nav-item,
  .admin-nav-item svg {
    color: var(--dash-muted);
  }

  .admin-nav-item:hover svg {
    color: var(--dash-text);
  }

  .admin-nav-item.is-active {
    color: #fff;
  }

  .admin-nav-item.is-active svg {
    color: #fff;
  }

  .admin-sidebar__badge {
    color: #6ee7b7;
    background: rgba(6, 95, 70, 0.35);
  }

  .admin-topbar__search svg {
    color: #94a3b8;
  }

  .admin-topbar__search input::placeholder {
    color: #94a3b8;
  }

  .kpi-card,
  .dash-card {
    background: var(--dash-card);
    border-color: var(--dash-border);
  }

  .admin-panel-right {
    background: var(--admin-white);
  }

  .admin-panel-left {
    background: linear-gradient(165deg, #064e3b 0%, #052e16 52%, #022c22 100%);
    color: #ecfdf5;
  }

  .admin-panel-left .admin-brand__name,
  .admin-panel-left .admin-brand__tag,
  .admin-panel-left .admin-headline {
    color: #ecfdf5;
  }

  .admin-panel-left .admin-eyebrow {
    color: #86efac;
  }

  .admin-panel-left .admin-description,
  .admin-panel-left .admin-link-muted {
    color: rgba(236, 253, 245, 0.82);
  }

  .admin-panel-left .admin-link-muted:hover {
    color: #ecfdf5;
  }

  .admin-panel-left .admin-stat-card {
    background: rgba(0, 0, 0, 0.2);
    border-color: rgba(255, 255, 255, 0.1);
  }

  .admin-panel-left .admin-stat-card__label {
    color: rgba(236, 253, 245, 0.72);
  }

  .admin-panel-left__footer {
    color: rgba(236, 253, 245, 0.55);
  }

  .admin-field input {
    background: var(--admin-input-bg);
    color: var(--admin-text);
    border-color: var(--admin-border);
  }

  .admin-field input:focus {
    border-color: #059669;
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.22);
    background: var(--admin-input-bg);
  }

  .admin-btn-submit {
    color: #ecfdf5;
    background: #065f46;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
  }

  .admin-btn-submit:hover {
    background: #047857;
    color: #ecfdf5;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.32);
  }

  .admin-btn-submit:active {
    background: #064e3b;
    color: #ecfdf5;
  }

  .admin-security-card__icon {
    color: #6ee7b7;
  }

  .admin-security-card {
    background: var(--admin-card-bg);
    border-color: var(--admin-border);
  }

  .driver-flash {
    background: rgba(6, 95, 70, 0.25);
    color: #a7f3d0;
  }

  .driver-flash--error {
    background: rgba(127, 29, 29, 0.35);
    color: #fecaca;
  }

  .landing-flash--error,
  .portal-flash--error {
    background: rgba(127, 29, 29, 0.35);
    border-color: rgba(248, 113, 113, 0.35);
    color: #fecaca;
  }

  .landing-flash--success,
  .portal-flash--success {
    background: rgba(6, 95, 70, 0.25);
    border-color: rgba(16, 185, 129, 0.35);
    color: #a7f3d0;
  }

  .landing-flash--info {
    background: rgba(30, 64, 175, 0.25);
    border-color: rgba(96, 165, 250, 0.35);
    color: #bfdbfe;
  }

  /* Landing — FAQ, testimonials, accents */
  .landing-faq {
    background: var(--surface-muted);
    border-color: var(--border);
  }

  .landing-faq__item {
    border-bottom-color: var(--border);
  }

  .landing-faq__item summary,
  .landing-faq__item[open] summary:hover {
    color: var(--ink);
    background: transparent;
  }

  .landing-faq__item summary:hover {
    background: rgba(255, 255, 255, 0.04);
  }

  .landing-faq__answer p {
    color: var(--ink-muted);
  }

  .landing-faq__close {
    background: var(--surface);
    color: var(--ink-muted);
  }

  .landing-faq__close:hover {
    background: var(--border);
    color: var(--ink);
  }

  .landing-testimonial p {
    color: var(--ink);
  }

  .landing-testimonial footer {
    border-top-color: var(--border);
  }

  .landing-testimonial footer strong {
    color: var(--ink);
  }

  .landing-testimonial footer small {
    color: var(--ink-muted);
  }

  .landing-testimonial__quote-mark {
    color: rgba(16, 185, 129, 0.35);
  }

  .landing-hero__ride-opt--active {
    background: rgba(6, 95, 70, 0.25);
  }

  /* Auth — forms & signup */
  .auth-login__panel,
  .auth-signup__panel {
    background: #111827;
  }

  .auth-login__field input,
  .auth-signup__select,
  .auth-signup__otp input {
    background: var(--auth-input-bg);
    color: var(--auth-ink);
    border-color: var(--auth-border);
  }

  .auth-login__field input:focus,
  .auth-signup__select:focus,
  .auth-signup__otp input:focus {
    background: #243044;
    border-color: #34d399;
  }

  .auth-login__divider span {
    background: #111827;
  }

  .auth-login__social-btn:hover {
    background: #243044;
  }

  .auth-signup__upload {
    background: var(--auth-input-bg);
    border-color: var(--auth-border);
  }

  .auth-signup__upload.is-selected {
    border-color: rgba(16, 185, 129, 0.45);
    background: rgba(6, 95, 70, 0.2);
  }

  .auth-signup__upload-copy strong {
    color: var(--auth-ink);
  }

  .auth-signup__upload-copy span,
  .auth-signup__upload-name,
  .auth-signup__field-hint,
  .auth-signup__otp-hint,
  .auth-signup__resend-timer {
    color: var(--auth-muted);
  }

  .auth-signup__upload-btn {
    background: #1e293b;
    color: var(--auth-ink);
    border-color: var(--auth-border);
  }

  .auth-signup__upload-btn:hover {
    background: #243044;
  }

  .auth-signup__vehicle-label,
  .auth-signup__vehicle-copy strong {
    color: var(--auth-ink);
  }

  .auth-signup__vehicle-card {
    background: var(--auth-input-bg);
    border-color: var(--auth-border);
  }

  .auth-signup__vehicle-card.is-selected {
    background: rgba(6, 95, 70, 0.14);
    border-color: #34d399;
    box-shadow: 0 0 0 1px rgba(52, 211, 153, 0.12);
  }

  .auth-signup__vehicle-card.is-selected .auth-signup__vehicle-icon {
    background: var(--auth-green-dark);
    color: #ecfdf5;
  }

  .auth-signup__vehicle-icon {
    color: #34d399;
  }

  .auth-signup__vehicle-copy span:last-child {
    color: var(--auth-muted);
  }

  .auth-signup__success {
    background: var(--auth-card-bg);
    border-color: var(--auth-border);
  }

  .auth-signup__success h3 {
    color: var(--auth-ink);
  }

  .auth-signup__success-icon {
    background: var(--auth-success-icon-bg);
    color: #6ee7b7;
  }

  .auth-signup__success p {
    color: var(--auth-muted);
  }

  .driver-register__success {
    background: var(--auth-card-bg);
    border-color: var(--auth-border);
  }

  .driver-register__success h3 {
    color: var(--auth-ink);
  }

  .driver-register__success-icon {
    background: var(--auth-success-icon-bg);
    color: #6ee7b7;
  }

  .driver-register__success p {
    color: var(--auth-muted);
  }

  /* Portals */
  .portal-features {
    background: var(--surface-muted);
    border-color: var(--portal-border);
  }

  .portal-auth-field input {
    background: var(--auth-input-bg);
    color: var(--portal-ink);
    border-color: var(--portal-border);
  }

  .portal-auth-field input:focus {
    background: #243044;
  }

  .portal-back {
    color: var(--portal-muted);
  }

  .portal-back:hover {
    color: var(--portal-ink);
  }

  /* Admin login flashes */
  .admin-flash-error {
    background: rgba(127, 29, 29, 0.35);
    color: #fecaca;
    border-color: rgba(248, 113, 113, 0.35);
  }

  .admin-flash-success {
    background: rgba(6, 95, 70, 0.25);
    color: #a7f3d0;
    border-color: rgba(16, 185, 129, 0.35);
  }

  /* Admin — tables, filters, toggles */
  .users-table thead th,
  .drivers-table thead th,
  .payments-table thead th {
    background: #1f2937;
    color: var(--dash-muted);
  }

  .users-table tbody tr:hover,
  .drivers-table tbody tr:hover,
  .payments-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.03);
  }

  .users-filter__btn:hover,
  .drivers-filter__btn:hover,
  .payments-filter__btn:hover {
    background: #1f2937;
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  .users-filter__menu li:hover,
  .drivers-filter__menu li:hover,
  [class*="filter__menu"] li:hover {
    background: #1f2937;
    color: var(--dash-text);
  }

  .users-filter__menu li.is-selected,
  .drivers-filter__menu li.is-selected,
  [class*="filter__menu"] li.is-selected {
    color: #6ee7b7;
  }

  .trips-filter-tabs,
  .support-filters {
    background: #1f2937;
  }

  .trips-filter-tab.is-active,
  .support-filter.is-active {
    background: var(--dash-card);
    color: #6ee7b7;
    box-shadow: none;
  }

  .period-toggle {
    background: #1f2937;
  }

  .period-toggle__btn {
    color: var(--dash-muted);
  }

  .period-toggle__btn:hover {
    color: var(--dash-text);
  }

  .period-toggle__btn.is-active {
    background: #374151;
    color: #6ee7b7;
    box-shadow: none;
  }

  /* User portal — maps, quick actions, forms, filters */
  .rider-map,
  .rider-live-map {
    background: #1a2332;
  }

  .rider-map__svg-bg { fill: #1a2332; }
  .rider-map__svg-grid { stroke: #334155; }
  .rider-map__svg-road { stroke: #3d4f5f; }
  .rider-map__svg-route { stroke: #4ade80; }
  .rider-map__svg-pickup { fill: #4ade80; stroke: #1a2332; }
  .rider-map__svg-dropoff { fill: #f3f4f6; stroke: #1a2332; }
  .rider-map__svg-vehicle rect { fill: #047857; }
  .rider-map__svg-wheel { fill: #9ca3af; }

  .rider-map__badge {
    background: #111827;
    color: var(--user-text);
    border-color: var(--user-border);
  }

  .rider-map__zoom button {
    background: #111827;
    color: var(--user-text);
    border-color: var(--user-border);
    opacity: 1;
  }

  /* Admin portal — maps, pagination, form controls */
  .live-trip-map,
  .trips-live-map {
    background: #1a2332;
  }

  .map-badge {
    background: #111827;
    color: var(--dash-text);
    border-color: var(--dash-border);
  }

  .map-marker-vehicle {
    background: #1f2937;
  }

  .admin-sidebar__logout,
  .admin-sidebar__logout svg {
    color: var(--dash-muted);
  }

  .admin-sidebar__logout:hover {
    background: #1f2937;
    color: var(--dash-text);
  }

  .admin-sidebar__logout:hover svg {
    color: var(--dash-text);
  }

  body.admin-body .users-pagination,
  body.admin-body .drivers-pagination,
  body.admin-body .payments-pagination,
  body.admin-body .wallets-pagination,
  body.admin-body .users-pagination__info,
  body.admin-body .drivers-pagination__info,
  body.admin-body .payments-pagination__info,
  body.admin-body .wallets-pagination__info {
    background: var(--dash-card);
    border-color: var(--dash-border);
  }

  body.admin-body .users-pagination__btn,
  body.admin-body .drivers-pagination__btn,
  body.admin-body .payments-pagination__btn,
  body.admin-body .wallets-pagination__btn {
    background: #1f2937;
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  body.admin-body .users-pagination__btn:hover:not(:disabled),
  body.admin-body .drivers-pagination__btn:hover:not(:disabled),
  body.admin-body .payments-pagination__btn:hover:not(:disabled),
  body.admin-body .wallets-pagination__btn:hover:not(:disabled) {
    background: #374151;
  }

  body.admin-body .notifications-severity select,
  body.admin-body .notifications-mark-read,
  body.admin-body .notifications-action-btn {
    background: var(--dash-card);
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  body.admin-body .notifications-action-btn--danger {
    color: #fca5a5;
    border-color: rgba(127, 29, 29, 0.45);
  }

  body.admin-body .settings-input-prefix,
  body.admin-body .settings-input-suffix,
  body.admin-body .settings-input-prefix span {
    background: #1f2937;
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  body.admin-body .settings-input input {
    background: var(--dash-card);
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  body.admin-body .trips-filter-tab:not(.is-active) {
    color: var(--dash-muted);
  }

  body.admin-body .leaflet-bar a {
    background: #111827;
    color: var(--dash-text);
    border-color: var(--dash-border);
  }

  body.admin-body .leaflet-bar a:hover {
    background: #1f2937;
    color: var(--dash-text);
  }

  .rider-quick-action {
    background: #1f2937;
    color: var(--user-text);
    border-color: var(--user-border);
  }

  .rider-quick-action:hover {
    background: #243044;
    color: #fff;
  }

  .rider-quick-action__icon {
    background: rgba(6, 95, 70, 0.3);
    color: #6ee7b7;
  }

  .route-input {
    background: #1f2937;
    border-color: var(--user-border);
  }

  .route-input input {
    color: var(--user-text);
  }

  .route-input__dot--dropoff {
    background: #e5e7eb;
  }

  .location-suggestions {
    background: var(--user-card);
    border-color: var(--user-border);
    box-shadow: var(--user-shadow-hover);
    scrollbar-color: #4b5563 transparent;
  }

  .location-suggestions button {
    color: var(--user-text);
  }

  .location-suggestions button:hover,
  .location-suggestions button:focus {
    background: var(--user-field-bg);
    color: #fff;
  }

  .trip-stat {
    background: #1f2937;
    border-color: var(--user-border);
  }

  .trip-stat__value {
    color: var(--user-text);
  }

  .ride-tier {
    background: var(--user-card);
  }

  .ride-tier__icon--economy,
  .ride-tier__icon--comfort,
  .ride-tier__icon--premium {
    background: rgba(6, 95, 70, 0.2);
  }

  .ride-tier__badge {
    color: #6ee7b7;
    background: rgba(6, 95, 70, 0.3);
  }

  .ride-tier__meta {
    color: #cbd5e1;
  }

  .history-filters {
    background: #1f2937;
  }

  .history-filter {
    color: var(--user-muted);
    background: transparent;
  }

  .history-filter:hover {
    color: var(--user-text);
  }

  .history-filter.is-active {
    background: #374151;
    color: #6ee7b7;
    box-shadow: none;
  }

  .history-search {
    background: #1f2937;
    border-color: var(--user-border);
  }

  .history-search input {
    color: var(--user-text);
    background: transparent;
  }

  .history-search input::placeholder {
    color: #94a3b8;
  }

  .history-trip-id {
    color: #6ee7b7;
  }

  .rider-live-map .leaflet-control-zoom {
    background: #111827 !important;
    border: 1px solid var(--user-border) !important;
  }

  .rider-live-map .leaflet-control-zoom a {
    background: #111827 !important;
    color: var(--user-text) !important;
  }

  .wallets-search input,
  .wallets-sort select,
  .payments-filter__field select,
  .payments-filter__field input,
  .users-field input {
    background: #1f2937;
    color: var(--dash-text);
    border-color: var(--dash-border);
  }

  .wallets-holder:hover {
    background: rgba(255, 255, 255, 0.03);
  }

  .support-status--open {
    background: transparent;
    color: #6ee7b7;
  }

  .support-status--in_review {
    background: rgba(180, 83, 9, 0.25);
    color: #fcd34d;
    border-color: #f59e0b;
  }

  .payments-status--success {
    color: #6ee7b7;
  }

  .payments-status--failed,
  .payments-status--reversed {
    color: #fca5a5;
  }

  .payments-status--pending {
    color: #fcd34d;
  }

  /* Admin — status & priority badges */
  .users-status--verified,
  .users-status--approved,
  .drivers-status--approved,
  .drivers-status--verified {
    color: #6ee7b7;
  }

  .users-status--pending_kyc,
  .drivers-status--pending {
    color: #fcd34d;
  }

  .users-status--suspended,
  .drivers-status--suspended {
    color: #fca5a5;
  }

  .support-priority--high {
    background: rgba(127, 29, 29, 0.4);
    color: #fecaca;
  }

  .support-priority--medium {
    background: rgba(154, 52, 18, 0.35);
    color: #fdba74;
  }

  .support-priority--low {
    background: rgba(6, 95, 70, 0.35);
    color: #6ee7b7;
  }

  .support-priority--urgent {
    background: rgba(127, 29, 29, 0.5);
    color: #fecaca;
  }

  .notification-item__icon--default {
    background: #1f2937;
    color: var(--dash-muted);
  }

  /* Admin — modals & panels */
  .users-modal,
  .drivers-modal,
  .payments-modal {
    background: var(--dash-card);
    color: var(--dash-text);
  }

  .users-modal__header h2,
  .drivers-modal__header h2,
  .payments-modal__header h2 {
    color: var(--dash-text);
  }

  .users-modal__close:hover,
  .drivers-modal__close:hover,
  .payments-modal__close:hover {
    background: #1f2937;
    color: var(--dash-text);
  }

  .users-actions-btn:hover,
  .drivers-actions-btn:hover {
    background: #1f2937;
    color: var(--dash-text);
  }

  /* Admin — settings & forms */
  body.admin-body .admin-content input:not([type="checkbox"]):not([type="radio"]),
  body.admin-body .admin-content select,
  body.admin-body .admin-content textarea,
  .settings-field input,
  .settings-field select,
  .settings-field textarea {
    background: #1f2937;
    color: var(--dash-text);
    border-color: var(--dash-border);
  }

  .settings-card__title {
    color: var(--dash-text);
  }

  .settings-card__sub,
  .payments-modal__hint {
    color: var(--dash-muted);
  }

  .settings-tab {
    background: var(--dash-card);
    color: var(--dash-muted);
  }

  .settings-tab:hover:not(.is-active) {
    background: #1f2937;
    color: var(--dash-text);
  }

  .settings-tab.is-active {
    background: var(--dash-green);
    border-color: var(--dash-green);
    color: #fff;
  }

  .landing-list__add,
  .landing-list__remove {
    background: #1f2937;
    color: var(--dash-text);
    border-color: var(--dash-border);
  }

  .landing-list__remove {
    color: #fca5a5;
    border-color: rgba(248, 113, 113, 0.35);
  }

  /* Driver portal */
  .driver-btn--outline {
    background: transparent;
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  .driver-btn--ghost {
    background: #1f2937;
    color: var(--dash-text);
  }

  .driver-btn--outline:hover,
  .driver-btn--ghost:hover {
    background: #374151;
    color: var(--dash-text);
  }

  .metric-card,
  .panel,
  .ride-request-card,
  .driver-vehicle-card {
    background: var(--dash-card);
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  .driver-vehicle-card__title,
  .driver-vehicle-card__field,
  .driver-vehicle-card__field span,
  .panel__title,
  .metric-card__value {
    color: var(--dash-text);
  }

  .driver-vehicle-card__sub,
  .metric-card__title,
  .panel__subtitle,
  .ride-request-card__meta {
    color: var(--dash-muted);
  }

  .driver-vehicle-card__field input,
  .driver-vehicle-card__select,
  body.admin-body .admin-content input:not([type="checkbox"]):not([type="radio"]),
  body.admin-body .admin-content select,
  body.admin-body .admin-content textarea {
    background: var(--dash-input-bg);
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  .driver-vehicle-card__field input::placeholder {
    color: var(--dash-muted);
  }

  .driver-vehicle-card__field input:focus,
  .driver-vehicle-card__select:focus {
    border-color: #34d399;
    box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.15);
  }

  .driver-vehicle-card__select option {
    background: var(--dash-card);
    color: var(--dash-text);
  }

  .driver-vehicle-card__badge {
    background: rgba(6, 95, 70, 0.25);
    color: #6ee7b7;
  }

  .driver-vehicle-card__badge--warn {
    background: rgba(245, 158, 11, 0.18);
    color: #fcd34d;
  }

  .driver-vehicle-card__submit {
    background: #065f46;
    color: #ecfdf5;
  }

  .driver-vehicle-card__submit:hover {
    background: #047857;
  }

  .driver-vehicle-card--incomplete {
    border-color: rgba(245, 158, 11, 0.55);
    box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.12);
  }

  .metric-card__icon {
    background: rgba(6, 95, 70, 0.25);
    color: #6ee7b7;
  }

  .metric-card__icon--rating {
    background: rgba(245, 158, 11, 0.2);
    color: #fbbf24;
  }

  .metric-card__trend {
    background: rgba(6, 95, 70, 0.25);
    color: #6ee7b7;
  }

  .status-banner {
    background: #1f2937;
    box-shadow: var(--dash-shadow);
  }

  .status-banner--online {
    background: var(--dash-green-active);
  }

  .text-success,
  .ride-request-card__fare {
    color: #6ee7b7;
  }

  .ride-request-card__rating {
    color: var(--dash-muted);
  }

  .ride-request-card__rating svg {
    color: #6ee7b7;
  }

  .ride-request-card__avatar {
    background: rgba(6, 95, 70, 0.25);
    color: #6ee7b7;
  }

  .ride-request-card__badge {
    background: rgba(6, 95, 70, 0.25);
    color: #6ee7b7;
  }

  .ride-request-card__stop {
    background: #1f2937;
  }

  .ride-request-card__actions .driver-btn--outline {
    background: transparent;
    color: var(--dash-muted);
  }

  .map-preview {
    background: #1f2937;
  }

  .map-preview__badge,
  .map-preview__zoom button {
    background: var(--dash-card);
    color: var(--dash-text);
  }

  .map-marker-vehicle {
    background: #1f2937;
  }

  /* User / rider portal */
  .user-flash--success {
    background: #064e3b;
    color: #d1fae5;
    border-color: rgba(16, 185, 129, 0.45);
  }

  .user-flash--error {
    background: #7f1d1d;
    color: #fecaca;
    border-color: rgba(248, 113, 113, 0.45);
  }

  .user-flash--info {
    background: #1e3a8a;
    color: #dbeafe;
    border-color: rgba(96, 165, 250, 0.45);
  }

  .wallet-policy-banner--warn {
    background: #422006;
    color: #fed7aa;
  }

  .wallet-policy-banner--danger {
    background: #450a0a;
    color: #fecaca;
  }

  body.user-body .admin-nav-item:hover:not(.admin-nav-item--soon) {
    background: #1f2937;
    color: var(--user-text);
  }

  body.user-body .admin-nav-item,
  body.user-body .admin-nav-item svg {
    color: var(--user-muted);
  }

  body.user-body .admin-nav-item:hover:not(.admin-nav-item--soon) svg {
    color: var(--user-text);
  }

  body.user-body .admin-nav-item.is-active {
    color: #fff;
  }

  body.user-body .admin-nav-item.is-active svg {
    color: #fff;
  }

  body.user-body .admin-sidebar__badge {
    color: #6ee7b7;
    background: rgba(6, 95, 70, 0.35);
  }

  body.user-body .admin-sidebar__help-btn {
    color: #064e3b;
  }

  body.user-body .admin-topbar,
  body.user-body .admin-sidebar,
  body.user-body .admin-menu-toggle,
  body.user-body .admin-icon-btn,
  body.user-body .admin-sidebar__logout {
    background: var(--user-card);
    border-color: var(--user-border);
    color: var(--user-muted);
  }

  body.user-body .admin-topbar__search {
    background: #1f2937;
    border-color: var(--user-border);
  }

  body.user-body .admin-topbar__search input {
    color: var(--user-text);
  }

  body.user-body .admin-topbar__search input::placeholder {
    color: #94a3b8;
  }

  body.user-body .admin-icon-btn:hover,
  body.user-body .admin-sidebar__logout:hover,
  body.user-body .admin-menu-toggle:hover {
    background: #1f2937;
    color: var(--user-text);
  }

  body.user-body .admin-menu-toggle span {
    background: var(--user-text);
  }

  .rider-kpi-card,
  .rider-panel,
  .ride-tier,
  .trip-stat,
  .wallet-method,
  .wallet-tx,
  .profile-menu__item,
  .settings-toggle,
  .settings-field select,
  .faq-item,
  .schedule-class,
  .schedule-item,
  .tracking-sidebar,
  .history-search,
  .history-filter,
  .support-quick-card,
  .profile-form input {
    background: var(--user-card);
    border-color: var(--user-border);
    color: var(--user-text);
  }

  .rider-kpi-card__label,
  .rider-panel__subtitle,
  .trip-stat__label,
  .wallet-balance-card__label,
  .wallet-tx__body span,
  .wallet-tx__amount span,
  .profile-summary__since,
  .settings-toggle__body span,
  .history-trip-id,
  .tracking-driver__profile span,
  .book-ride-form__hint,
  .ride-tier__desc,
  .schedule-item__meta,
  .tracking-step__label {
    color: var(--user-muted);
  }

  .ride-tier__meta {
    color: #cbd5e1;
  }

  .rider-kpi-card__trend--up {
    color: #6ee7b7;
  }

  .rider-kpi-card:hover {
    border-color: #4b5563;
  }

  .rider-map,
  .rider-map__canvas,
  .map-placeholder {
    background: #1f2937;
  }

  .rider-map__badge,
  .rider-map__zoom button,
  .map-placeholder__chip {
    background: var(--user-card);
    color: var(--user-text);
    border-color: var(--user-border);
  }

  .route-input input,
  body.user-body input:not([type="checkbox"]):not([type="radio"]),
  body.user-body select,
  body.user-body textarea {
    background: #1f2937;
    color: var(--user-text);
    border-color: var(--user-border);
  }

  .route-input input:focus,
  body.user-body input:focus,
  body.user-body select:focus,
  body.user-body textarea:focus {
    background: #243044;
    border-color: #34d399;
  }

  .ride-tier:hover {
    border-color: #4b5563;
    background: #1a2332;
  }

  .ride-tier.is-selected {
    border-color: rgba(16, 185, 129, 0.45);
    background: rgba(6, 95, 70, 0.2);
  }

  .trip-stats,
  .wallet-tx,
  .schedule-item,
  .profile-menu__item,
  .faq-item,
  .settings-toggle,
  .settings-action-row {
    border-color: var(--user-border);
  }

  .history-search,
  .schedule-field__control,
  .schedule-select select,
  .support-field input,
  .support-field select,
  .support-field textarea,
  .profile-form input {
    background: #1f2937;
    color: var(--user-text);
    border-color: var(--user-border);
  }

  .history-filter.is-active,
  .schedule-class.is-selected,
  .wallet-method.is-selected,
  .wallet-amount__quick button.is-active {
    background: rgba(6, 95, 70, 0.25);
    border-color: rgba(16, 185, 129, 0.45);
    color: #6ee7b7;
  }

  .schedule-class.is-selected .schedule-class__name,
  .schedule-class.is-selected .schedule-class__rate {
    color: var(--user-text);
  }

  .schedule-class.is-selected .schedule-class__rate {
    color: var(--user-muted);
  }

  .schedule-class.is-selected .schedule-class__icon {
    background: var(--user-green-dark);
    color: #fff;
  }

  .schedule-field__control input::placeholder {
    color: #94a3b8;
  }

  .wallet-tx--credit .wallet-tx__amount strong {
    color: #6ee7b7;
  }

  .wallet-tx--debit .wallet-tx__amount strong {
    color: #fca5a5;
  }

  .settings-toggle:hover,
  .support-quick-card:hover,
  .faq-item summary:hover {
    background: rgba(255, 255, 255, 0.04);
  }

  .profile-menu__item.is-active {
    background: rgba(6, 95, 70, 0.25);
    color: #6ee7b7;
  }

  .user-nav-item--soon,
  .admin-nav-item--soon {
    opacity: 0.45;
  }

  .rider-table thead th {
    background: #1f2937;
    color: var(--user-muted);
  }

  .rider-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.03);
  }

  .rider-table td {
    border-color: var(--user-border);
  }

  /* Driver portal auth */
  .auth-panel {
    background: var(--surface);
  }

  .field__input {
    background: #1f2937;
    color: var(--text);
    border-color: var(--border);
  }

  .field__input:focus {
    background: #243044;
    border-color: #34d399;
  }

  .auth-link--accent {
    color: #6ee7b7;
  }

  .flash--success,
  .flash.flash--success {
    background: rgba(6, 95, 70, 0.25);
    color: #a7f3d0;
    border-color: rgba(16, 185, 129, 0.35);
  }

  .flash--error,
  .flash.flash--error {
    background: rgba(127, 29, 29, 0.35);
    color: #fecaca;
    border-color: rgba(248, 113, 113, 0.35);
  }

  .progress__bar {
    background: #374151;
  }

  .progress__segment--active {
    background: #6ee7b7;
  }

  /* ── Text & icon visibility (dark surfaces) ── */

  body.admin-body .admin-content :where(h1, h2, h3, h4, p, li, label, strong, td, th),
  body.user-body .admin-content :where(h1, h2, h3, h4, p, li, label, strong, td, th),
  .driver-page-header__title,
  .rider-panel__title,
  .book-ride-form__title,
  .kpi-card__value,
  .rider-kpi-card__value,
  .metric-card__value,
  .trip-stat__value,
  .ride-tier__name,
  .admin-profile__name {
    color: var(--dash-text, var(--user-text));
  }

  body.user-body .admin-content :where(h1, h2, h3, h4, p, li, label, strong, td, th),
  body.user-body .driver-page-header__title,
  body.user-body .rider-panel__title,
  body.user-body .book-ride-form__title,
  body.user-body .rider-kpi-card__value,
  body.user-body .trip-stat__value,
  body.user-body .ride-tier__name,
  body.user-body .user-profile__name {
    color: var(--user-text);
  }

  .wallet-balance-card {
    background: linear-gradient(135deg, var(--user-green) 0%, var(--user-green-dark) 100%);
    color: #fff;
    border: none;
  }

  .wallet-balance-card__label,
  .wallet-balance-card__value,
  .wallet-balance-card__sub {
    color: #fff;
  }

  .kpi-card__trend,
  .kpi-card__icon--green,
  .kpi-card__icon--green svg,
  .rider-kpi-card__trend,
  .rider-kpi-card__icon,
  .rider-kpi-card__icon svg,
  .map-marker-vehicle svg,
  .profile-summary__badge,
  .ride-tier__fare,
  .wallet-tx__icon,
  .support-quick-card__icon--green {
    color: #6ee7b7;
  }

  .kpi-card__icon--green,
  .rider-kpi-card__icon,
  .wallet-tx__icon,
  .metric-card__icon {
    background: rgba(6, 95, 70, 0.25);
  }

  .admin-icon-btn svg,
  .user-icon-btn svg,
  .admin-logout-btn svg,
  .user-logout-btn svg,
  .admin-security-card__icon svg {
    color: currentColor;
  }

  .admin-security-card__icon {
    color: #6ee7b7;
    background: rgba(6, 95, 70, 0.25);
  }

  .auth-login__head h1,
  .auth-login__head p,
  .auth-login__field span,
  .auth-login__check span,
  .auth-login__footer-text,
  .auth-signup__head h1,
  .auth-signup__head p,
  .auth-signup__step-label,
  .field__label,
  .auth-panel__title {
    color: var(--auth-ink, var(--text));
  }

  .auth-panel__subtitle,
  .auth-back,
  .progress__label {
    color: var(--muted);
  }

  .auth-login__flash:not(.auth-login__flash--error) {
    color: #a7f3d0;
  }

  .auth-login__flash--error {
    color: #fecaca;
  }

  .auth-login__link,
  .auth-login__link--strong,
  .portal-card a,
  .portal-auth-field a {
    color: #6ee7b7;
  }

  .auth-login__link:hover,
  .portal-nav a:hover {
    color: #a7f3d0;
  }

  .admin-form-header h1,
  .admin-form-header p,
  .admin-field label,
  .admin-eyebrow,
  .admin-headline,
  .admin-description,
  .admin-link-muted,
  .admin-back-link {
    color: var(--admin-text);
  }

  .admin-description,
  .admin-stat-card__label,
  .admin-security-card span {
    color: var(--admin-muted);
  }

  .admin-security-card strong {
    color: var(--admin-text);
  }

  .admin-flash-success {
    color: #a7f3d0;
  }

  .admin-flash-error {
    color: #fecaca;
  }

  .portal-card h2,
  .portal-card h3,
  .portal-card p,
  .portal-feature strong,
  .portal-auth-field span {
    color: var(--portal-ink);
  }

  .portal-feature span,
  .portal-footer,
  .portal-card small {
    color: var(--portal-muted);
  }

  body.admin-body :where(
    .users-page__title,
    .drivers-page__title,
    .payments-page__title,
    .trips-page__title,
    .wallets-page__title,
    .notifications-page__title,
    .support-page__title,
    .analytics-page__title,
    .settings-page__title
  ) {
    color: var(--dash-text);
  }

  body.admin-body .users-table td,
  body.admin-body .drivers-table td,
  body.admin-body .payments-table td,
  body.admin-body .users-table__primary,
  body.admin-body .drivers-table__primary {
    color: var(--dash-text);
  }

  body.admin-body .users-table__secondary,
  body.admin-body .drivers-table__secondary,
  body.admin-body .payments-table__secondary {
    color: var(--dash-muted);
  }

  body.admin-body .notification-item__icon--wallet {
    background: rgba(6, 95, 70, 0.25);
    color: #6ee7b7;
  }

  body.admin-body .notification-item__icon--default {
    color: #d1d5db;
  }

  body.admin-body .support-priority--low {
    background: rgba(6, 95, 70, 0.35);
    color: #6ee7b7;
  }

  body.admin-body [class*="__hint"],
  body.admin-body .payments-modal__hint,
  body.user-body .auth-signup__field-hint,
  body.user-body .book-ride-form__hint {
    color: var(--dash-muted, var(--user-muted));
  }

  body.user-body .rider-table__primary,
  body.user-body .history-item__route,
  body.user-body .schedule-item__route,
  body.user-body .tracking-driver__profile strong {
    color: var(--user-text);
  }

  body.user-body .rider-table__secondary,
  body.user-body .faq-item p {
    color: var(--user-muted);
  }

  .text-success,
  .ride-request-card__fare,
  .driver-portal .text-success,
  body.admin-body .metric-card__trend,
  body.admin-body .metric-card__icon:not(.metric-card__icon--rating) {
    color: #6ee7b7 !important;
  }

  body.admin-body .ride-request-card__rating {
    color: var(--dash-muted) !important;
  }

  body.admin-body .ride-request-card__rating svg {
    color: #6ee7b7 !important;
  }

  body.admin-body .metric-card__trend {
    background: rgba(6, 95, 70, 0.25) !important;
  }

  body.admin-body .metric-card__icon:not(.metric-card__icon--rating) {
    background: rgba(6, 95, 70, 0.25) !important;
  }

  body.admin-body .metric-card__icon--rating {
    background: rgba(245, 158, 11, 0.2) !important;
    color: #fbbf24 !important;
  }

  body.admin-body .panel__title,
  body.admin-body .metric-card__value,
  body.admin-body .ride-request-card__route,
  body.admin-body .ride-request-card strong {
    color: var(--dash-text);
  }

  .wallet-amount__quick button:not(.is-active) {
    background: var(--user-field-bg);
    color: var(--user-text);
    border-color: var(--user-border);
  }

  .history-filters {
    background: var(--user-surface-subtle, #1f2937);
  }

  .history-filter:hover:not(.is-active) {
    background: rgba(255, 255, 255, 0.06);
  }

  .share-contact__avatar,
  .share-privacy-card__icon,
  .settings-toggle__icon {
    background: var(--user-field-icon-bg);
  }

  .tracking-step__dot {
    background: #374151;
    color: var(--user-muted);
  }

  .rider-notification-item__icon--ride,
  .rider-notification-item__icon--wallet,
  .rider-notification-item__icon--promo,
  .rider-notification-item__icon--schedule {
    background: rgba(6, 95, 70, 0.25);
    color: #6ee7b7;
  }

  .rider-notification-item__icon--security {
    background: rgba(194, 65, 12, 0.2);
    color: #fdba74;
  }

  .wallet-balance-card__btn:not(.wallet-balance-card__btn--ghost) {
    color: #064e3b;
  }

  .password-toggle-btn {
    color: #94a3b8;
  }

  .password-toggle-btn:hover {
    color: #f1f5f9;
  }

  .admin-field .password-toggle-btn:hover,
  .user-body .password-toggle-btn:hover {
    color: #f1f5f9;
  }

  /* Legacy base layout (register, ride fallback) */
  body .card,
  body .card h2,
  body .card .subtitle,
  body .form label {
    color: var(--text, #f3f4f6);
  }

  body .card {
    background: #111827;
    border: 1px solid #374151;
  }

  body .form input,
  body .form select,
  body .form textarea {
    background: #1f2937;
    color: #f3f4f6;
    border-color: #374151;
  }

  body .header {
    background: #111827;
    border-bottom-color: #374151;
  }

  body .footer {
    color: #94a3b8;
  }

  body .nav a,
  body .user {
    color: #cbd5e1;
  }

  body .logo {
    color: #4ade80;
  }

  .landing-section h2,
  .landing-section h3,
  .landing-price-card h3,
  .landing-feature-card h3,
  .landing-step-card h3,
  .landing-audience-card h3 {
    color: var(--ink);
  }

  .landing-section p,
  .landing-feature-card p,
  .landing-step-card p,
  .landing-price-card p {
    color: var(--ink-muted);
  }

  .landing-btn--outline {
    color: var(--ink);
    border-color: var(--border);
  }

  /* Landing buttons — --green-800 is a mint accent in dark mode, not a fill color */
  body.landing .landing-btn--primary {
    background: var(--green-brand);
    color: var(--green-brand-text);
  }

  body.landing .landing-btn--primary:hover {
    background: var(--green-brand-hover);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  }

  body.landing .landing-btn--accent {
    background: #bef264;
    color: #14532d;
  }

  body.landing .landing-btn--accent:hover {
    background: #a3e635;
    color: #052e16;
  }

  body.landing .landing-btn--ghost {
    color: var(--ink);
    border-color: var(--border);
  }

  body.landing .landing-btn--ghost:hover {
    background: var(--surface-muted);
  }

  body.landing .landing-price-card--featured {
    background: linear-gradient(165deg, #065f46 0%, #064e3b 100%);
    border-color: #047857;
    color: #f0fdf4;
  }

  body.landing .landing-price-card--featured .landing-price-card__tier {
    color: #bef264;
  }

  body.landing .landing-price-card--featured .landing-price-card__desc {
    color: rgba(240, 253, 244, 0.82);
  }

  body.landing .landing-price-card__badge {
    background: #bef264;
    color: #14532d;
  }

  body.landing .landing-brand__icon {
    background: #065f46;
  }

  body.landing .landing-audience-card--driver .landing-btn--accent {
    background: #bef264;
    color: #14532d;
  }

  body.landing .landing-audience-card--driver .landing-btn--accent:hover {
    background: #a3e635;
    color: #052e16;
  }

  .landing-link {
    color: #6ee7b7;
  }

  /* Driver portal auth (split layout in driver_portal/css/auth.css) */
  body.auth-page .progress__segment {
    background: #374151;
  }

  body.auth-page .progress__segment--active {
    background: #6ee7b7;
  }

  body.auth-page .flash:not(.flash--error) {
    background: rgba(6, 95, 70, 0.25);
    color: #a7f3d0;
  }

  body.auth-page .auth-link--accent {
    color: #6ee7b7;
  }

  body.auth-page .btn--primary {
    background: #065f46;
    color: #ecfdf5;
  }

  body.auth-page .btn--primary:hover {
    background: #047857;
  }

  body.auth-page .field__input:focus {
    border-color: #34d399;
    box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.15);
  }

  .auth-signup__progress-segment {
    background: #374151;
  }

  .auth-signup__progress-segment.is-complete {
    background: #6ee7b7;
  }

  .auth-signup__progress-label {
    color: var(--auth-muted, var(--muted));
  }

  .auth-login__subtitle {
    color: var(--auth-muted, var(--muted));
  }

  .auth-login__form-wrap h2,
  .auth-signup__vehicle-label {
    color: var(--auth-ink, var(--text));
  }

  /* Driver portal — in-app pages */
  body.driver-portal .driver-btn--primary {
    background: var(--dash-green-dark);
    color: #ecfdf5;
  }

  body.driver-portal .driver-btn--ghost {
    background: var(--dash-input-bg);
    color: var(--dash-text);
  }

  body.driver-portal .driver-btn--ghost:hover {
    background: #374151;
  }

  body.driver-portal .driver-settings-account__btn {
    background: var(--dash-input-bg);
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  body.driver-portal .driver-settings-account__btn--danger {
    background: rgba(127, 29, 29, 0.25);
    border-color: rgba(248, 113, 113, 0.35);
    color: #fca5a5;
  }

  body.driver-portal .driver-settings-account__btn--danger:hover {
    background: rgba(127, 29, 29, 0.35);
  }

  body.driver-portal .driver-active-trip-map {
    background: #1f2937;
  }

  body.driver-portal .active-trip-card,
  body.driver-portal .active-trip-empty,
  body.driver-portal .earnings-summary-card,
  body.driver-portal .earnings-chart-card,
  body.driver-portal .earnings-withdraw-card,
  body.driver-portal .notifications-inbox,
  body.driver-portal .notifications-settings-card,
  body.driver-portal .driver-profile-summary,
  body.driver-portal .driver-profile-card,
  body.driver-portal .driver-settings-card,
  body.driver-portal .driver-support-quick-card,
  body.driver-portal .driver-support-dedicated,
  body.driver-portal .driver-support-safety,
  body.driver-portal .panel {
    background: var(--dash-card);
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  body.driver-portal .active-trip-maneuver {
    background: rgba(17, 24, 39, 0.96);
    border-color: var(--dash-border);
    color: var(--dash-text);
    box-shadow: var(--dash-shadow-hover);
  }

  body.driver-portal .active-trip-maneuver__label {
    color: #4ade80;
  }

  body.driver-portal .active-trip-maneuver__text {
    color: var(--dash-text);
  }

  body.driver-portal .active-trip-maneuver__distance {
    color: var(--dash-muted);
  }

  body.driver-portal .active-trip-maneuver__eta {
    color: #4ade80;
  }

  body.driver-portal .active-trip-status {
    color: #4ade80;
  }

  body.driver-portal .active-trip-status__dot {
    background: #4ade80;
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.2);
  }

  body.driver-portal .active-trip-comms__btn {
    background: var(--dash-input-bg);
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  body.driver-portal .active-trip-comms__btn svg {
    color: currentColor;
  }

  body.driver-portal .active-trip-comms__btn:hover {
    background: #374151;
  }

  body.driver-portal .map-preview__grid {
    background:
      linear-gradient(#374151 1px, transparent 1px) 0 0 / 36px 36px,
      linear-gradient(90deg, #374151 1px, transparent 1px) 0 0 / 36px 36px;
  }

  body.driver-portal .map-preview__water {
    background: #1e3a5f;
  }

  body.driver-portal .notifications-mark-read {
    background: var(--dash-input-bg);
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  body.driver-portal .notifications-mark-read:hover {
    background: #374151;
  }

  body.driver-portal .notifications-item {
    border-bottom-color: var(--dash-border);
  }

  body.driver-portal .driver-support-quick-card:hover {
    border-color: #4b5563;
  }

  body.driver-portal .driver-toggle__track {
    background: #374151;
  }

  body.driver-portal .driver-toggle input:checked + .driver-toggle__track {
    background: var(--dash-green-active);
  }

  body.driver-portal .driver-settings-field select,
  body.driver-portal .driver-profile-stat {
    background: var(--dash-input-bg);
    border-color: var(--dash-border);
    color: var(--dash-text);
  }

  body.driver-portal .ride-request-card__actions .driver-btn--outline {
    background: transparent;
    color: var(--dash-muted);
  }

  body.driver-portal .text-success {
    color: #6ee7b7;
  }
}

@media (prefers-color-scheme: light) {
  :root {
    --bg: #f8fafc;
    --surface: #ffffff;
    --border: #e2e8f0;
    --text: #0f172a;
    --muted: #64748b;
    --primary: #059669;
    --primary-hover: #047857;
    --secondary: #6c5ce7;
    --error: #dc2626;
  }
}

/* Rider portal manual theme (Settings → Dark mode) */
html[data-user-theme="dark"] {
  color-scheme: dark;
  --dash-bg: #0b1220;
  --dash-text: #f3f4f6;
  --dash-muted: #d1d5db;
  --dash-border: #374151;
  --dash-card: #111827;
  --dash-green: #4ade80;
  --dash-green-dark: #065f46;
  --dash-green-active: #047857;
  --user-bg: #0b1220;
  --user-text: #f3f4f6;
  --user-muted: #d1d5db;
  --user-border: #374151;
  --user-card: #111827;
  --user-green: #4ade80;
  --user-green-dark: #065f46;
  --user-green-active: #047857;
  --user-field-bg: #1f2937;
  --user-field-icon-bg: #243044;
  --user-surface-subtle: #1f2937;
}

html[data-user-theme="dark"] .wallet-policy-banner--warn {
  background: #422006;
  color: #fed7aa;
}

html[data-user-theme="dark"] .wallet-policy-banner--danger {
  background: #450a0a;
  color: #fecaca;
}

html[data-user-theme="dark"] .wallet-balance-card {
  background: linear-gradient(135deg, var(--user-green) 0%, var(--user-green-dark) 100%);
  color: #fff;
  border: none;
}

html[data-user-theme="dark"] .wallet-balance-card__label,
html[data-user-theme="dark"] .wallet-balance-card__value,
html[data-user-theme="dark"] .wallet-balance-card__sub {
  color: #fff;
}

html[data-user-theme="dark"] .wallet-amount__quick button:not(.is-active) {
  background: var(--user-field-bg);
  color: var(--user-text);
  border-color: var(--user-border);
}

html[data-user-theme="dark"] .history-filters {
  background: var(--user-surface-subtle);
}

html[data-user-theme="dark"] .history-filter:hover:not(.is-active) {
  background: rgba(255, 255, 255, 0.06);
}

html[data-user-theme="dark"] .bike-delivery-notes,
html[data-user-theme="dark"] .schedule-select select,
html[data-user-theme="dark"] .share-link-field__input,
html[data-user-theme="dark"] .profile-form input,
html[data-user-theme="dark"] .settings-field select,
html[data-user-theme="dark"] .support-field select,
html[data-user-theme="dark"] .support-field input,
html[data-user-theme="dark"] .support-field textarea {
  background: var(--user-field-bg);
  color: var(--user-text);
  border-color: var(--user-border);
}

html[data-user-theme="dark"] .share-contact__avatar,
html[data-user-theme="dark"] .share-privacy-card__icon,
html[data-user-theme="dark"] .settings-toggle__icon {
  background: var(--user-field-icon-bg);
}

html[data-user-theme="dark"] .schedule-form-footer,
html[data-user-theme="dark"] .settings-toggle,
html[data-user-theme="dark"] .settings-action-row {
  border-color: var(--user-border);
}

html[data-user-theme="dark"] .rider-notifications-mark-read:hover:not(:disabled) {
  background: var(--user-field-bg);
  border-color: var(--user-border);
}

html[data-user-theme="dark"] .tracking-step__dot {
  background: #374151;
}

html[data-user-theme="dark"] .rider-notification-item__icon--ride,
html[data-user-theme="dark"] .rider-notification-item__icon--wallet,
html[data-user-theme="dark"] .rider-notification-item__icon--promo,
html[data-user-theme="dark"] .rider-notification-item__icon--schedule {
  background: rgba(6, 95, 70, 0.25);
  color: #6ee7b7;
}

html[data-user-theme="dark"] .rider-notification-item__icon--security {
  background: rgba(194, 65, 12, 0.2);
  color: #fdba74;
}

html[data-user-theme="dark"] .schedule-field__control,
html[data-user-theme="dark"] .schedule-select select {
  background: var(--user-field-bg);
  border-color: var(--user-border);
  color: var(--user-text);
}

html[data-user-theme="dark"] .schedule-field__control input {
  color: var(--user-text);
}

html[data-user-theme="dark"] .schedule-field__control input::placeholder {
  color: #94a3b8;
}

html[data-user-theme="dark"] .schedule-class__icon {
  background: var(--user-field-icon-bg);
  color: #94a3b8;
}

html[data-user-theme="dark"] .schedule-class.is-selected {
  background: rgba(6, 95, 70, 0.25);
  border-color: rgba(16, 185, 129, 0.45);
}

html[data-user-theme="dark"] .schedule-class.is-selected .schedule-class__name {
  color: var(--user-text);
}

html[data-user-theme="dark"] .schedule-class.is-selected .schedule-class__rate {
  color: var(--user-muted);
}

html[data-user-theme="dark"] .schedule-class.is-selected .schedule-class__icon {
  background: var(--user-green-dark);
  color: #fff;
}

html[data-user-theme="dark"] .location-suggestions {
  background: var(--user-card);
  border-color: var(--user-border);
  box-shadow: var(--user-shadow-hover);
  scrollbar-color: #4b5563 transparent;
}

html[data-user-theme="dark"] .location-suggestions button {
  color: var(--user-text);
}

html[data-user-theme="dark"] .location-suggestions button:hover,
html[data-user-theme="dark"] .location-suggestions button:focus {
  background: var(--user-field-bg);
  color: #fff;
}

html[data-user-theme="light"] {
  color-scheme: light;
  --dash-bg: #f4f6f8;
  --dash-text: #111827;
  --dash-muted: #6b7280;
  --dash-border: #e5e7eb;
  --dash-card: #ffffff;
  --dash-green: #0d6b38;
  --dash-green-dark: #0a4f2a;
  --dash-green-active: #0a4f2a;
  --user-bg: #f4f6f8;
  --user-text: #111827;
  --user-muted: #6b7280;
  --user-border: #e5e7eb;
  --user-card: #ffffff;
  --user-green: #0d6b38;
  --user-green-dark: #0a4f2a;
  --user-green-active: #0a4f2a;
  --user-field-bg: #f9fafb;
  --user-field-icon-bg: #f3f4f6;
  --user-surface-subtle: #f3f4f6;
}

.flash-dismissible {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.flash-dismissible__text {
  flex: 1;
  min-width: 0;
}

.flash-dismissible__close {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 44px;
  min-height: 44px;
  margin: -0.5rem -0.35rem -0.5rem 0;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  opacity: 0.72;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  position: relative;
  z-index: 1;
  transition: opacity 0.15s ease, background 0.15s ease;
}

.flash-dismissible__close svg {
  pointer-events: none;
}

.flash-dismissible__close:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.06);
}

@media (prefers-color-scheme: dark) {
  .flash-dismissible__close:hover {
    background: rgba(255, 255, 255, 0.08);
  }
}
