/* Zahren 0.14.8 · tema claro executivo fiel aos significados do tema escuro. */
@media screen {
  html[data-theme="light"] {
    --l-bg: #dce3e7;
    --l-bg-deep: #cbd5db;
    --l-surface: #edf1f3;
    --l-surface-raised: #f5f7f8;
    --l-surface-soft: #e5eaed;
    --l-surface-deep: #d8e0e5;
    --l-field: #eaf0f2;
    --l-text: #17232d;
    --l-muted: #50616c;
    --l-soft: #687983;
    --l-border: #b5c1c8;
    --l-border-soft: #cbd4d9;
    --l-red: #9b111d;
    --l-blue: #0a4f9f;
    --l-green: #056232;
    --l-amber: #704600;
    --l-orange: #843312;
    --l-teal: #005b63;
    --l-purple: #5933ad;
    --l-neutral: #40535e;
    --l-red-soft: #efadb4;
    --l-blue-soft: #b9d3f2;
    --l-green-soft: #b5dfc2;
    --l-amber-soft: #ead39a;
    --l-orange-soft: #ebbea6;
    --l-teal-soft: #afe1e2;
    --l-purple-soft: #d3c3ed;
    --l-neutral-soft: #cbd4d9;
    --l-neutral-panel: linear-gradient(145deg, #f2f5f6 0%, #e7ecef 58%, #d7e0e5 100%);
    --l-neutral-panel-strong: linear-gradient(145deg, #e9eef0 0%, #dfe6ea 58%, #ced9df 100%);
    --l-neutral-control: linear-gradient(180deg, #edf1f3 0%, #dbe3e7 100%);
    /* Defaults herdados: uma classe semantica aplicada no proprio card sempre vence. */
    --surface-tone: var(--l-neutral);
    --surface-tone-soft: var(--l-neutral-soft);
    --l-shadow: 0 8px 22px rgba(27, 41, 51, .11), inset 0 1px 0 rgba(255,255,255,.48);
    --l-shadow-soft: 0 4px 12px rgba(27, 41, 51, .075), inset 0 1px 0 rgba(255,255,255,.38);
    color-scheme: light;
    --canvas: var(--l-bg);
    --card: var(--l-surface);
    --ink: var(--l-text);
    --muted: var(--l-muted);
    --soft: var(--l-soft);
    --line: var(--l-border);
  }

  html[data-theme="light"] body {
    color: var(--l-text) !important;
    background:
      radial-gradient(circle at 8% -8%, rgba(68,84,94,.13), transparent 32%),
      radial-gradient(circle at 96% 0%, rgba(107,121,130,.10), transparent 29%),
      linear-gradient(145deg, #e8edef 0%, var(--l-bg) 52%, var(--l-bg-deep) 100%) fixed !important;
  }
  html[data-theme="light"] :is(.app-shell, .main, .page) { color: var(--l-text) !important; background: transparent !important; }
  html[data-theme="light"] { scrollbar-color: #8798a2 var(--l-bg); }

  /* O menu mantém presença executiva, sem transformar o conteúdo claro em azul. */
  html[data-theme="light"] :is(.sidebar, .top-navigation, .topbar) {
    border-color: #aebbc3 !important;
    background: linear-gradient(180deg, #eef2f4 0%, #dfe6ea 100%) !important;
    color: var(--l-text) !important;
    box-shadow: 0 5px 18px rgba(28, 39, 49, .12) !important;
  }
  html[data-theme="light"] :is(.brand strong, .nav-menu-trigger, .nav-item, .topbar strong) { color: #202b33 !important; }
  html[data-theme="light"] :is(.brand span, .topbar small, .sync-copy span) { color: var(--l-muted) !important; }
  html[data-theme="light"] :is(.nav-menu-trigger:hover, .nav-menu-trigger[aria-expanded="true"], .nav-item:hover, .nav-item.active) {
    background: #dce4e8 !important;
    color: #ad111b !important;
  }
  html[data-theme="light"] :is(.nav-menu-group:hover, .nav-menu-group.open, .nav-menu-group.active) > .nav-menu-trigger {
    border-color: #aebcc4 !important;
    background: var(--l-neutral-control) !important;
    color: #9d1520 !important;
  }
  html[data-theme="light"] :is(.nav-menu-trigger[aria-expanded="true"], .nav-item.active) { box-shadow: inset 0 -2px 0 var(--l-red) !important; }
  html[data-theme="light"] .nav-submenu {
    border-color: #aebbc3 !important;
    background: linear-gradient(145deg, #eef2f4, #dfe6ea) !important;
    box-shadow: 0 15px 34px rgba(20, 30, 38, .16) !important;
  }
  html[data-theme="light"] .top-navigation .connection-card {
    border: 0 !important;
    border-left: 1px solid #b2bec5 !important;
    background: transparent !important;
    color: var(--l-text) !important;
    box-shadow: none !important;
  }
  html[data-theme="light"] .top-navigation :is(.connection-line, .connection-card p) { color: #40545f !important; }
  html[data-theme="light"] .top-navigation .nav-item span { color: #556a75 !important; }
  html[data-theme="light"] .top-navigation .nav-item em { background: #d5dfe4 !important; color: #40545f !important; }
  html[data-theme="light"] .top-navigation .nav-item.active span { color: var(--l-red) !important; }
  html[data-theme="light"] :is(.status-dot.online, .connection-dot.online) {
    background: var(--l-green) !important;
    box-shadow: 0 0 0 3px rgba(7,113,58,.14) !important;
  }
  html[data-theme="light"] :is(.status-dot.error, .connection-dot.error) {
    background: var(--l-red) !important;
    box-shadow: 0 0 0 3px rgba(184,23,36,.14) !important;
  }
  html[data-theme="light"] :is(.avatar, .theme-toggle) {
    border-color: #aebbc3 !important;
    background: linear-gradient(180deg, #e9eef0, #d8e1e5) !important;
    color: #2b404a !important;
  }
  html[data-theme="light"] :is(.avatar, .theme-toggle):hover {
    border-color: #c37b82 !important;
    background: linear-gradient(180deg, #eadcdf, #dce4e8) !important;
    color: var(--l-red) !important;
  }
  html[data-theme="light"] .search-wrap kbd { border-color: #b7c4cb !important; background: #d6e0e5 !important; color: #435862 !important; }
  html[data-theme="light"] :is(.global-line-control, .sync-meta) { color: #40545f !important; }
  html[data-theme="light"] .sync-meta small { color: var(--l-muted) !important; }

  /* Estrutura neutra comum a 100% das telas. */
  html[data-theme="light"] :is(
    .panel, .card, .table-card, .chart-card, .chart-panel, .operational-snapshot,
    .program-batch, .program-card, .program-type-card, .shortage-card, .purchase-card,
    .aging-card, .batch-card, .product-card, .report-model-card, .setting-card, .settings-card, .summary-card, .sync-card,
    .drawer-section, .drawer-profile, .detail-box, .empty-state, .section-empty,
    .program-type-manager, .report-model-builder, .report-runner, .program-confirm-panel,
    .program-archive, .phase-registration, .phase-client-filter, .phase-saved-card,
    .coverage-banner, .filter-result-indicator, .mass-toolbar, .program-guard,
    .rule-note, .export-context, .export-help, .flow-map, .parts-update-scope,
    .settings-note, .print-profile, .finalized-hero, .scenario-panel, .activity-builder,
    .workforce-flow-panel, .audit-explainer, .fixed-columns-note, .program-tab-note,
    .eligibility-note, .refresh-banner, .exclusion-alert, .integration-card,
    .sync-map-card, .settings-section, .settings-side, .settings-form, .user-access,
    fieldset, .report-columns, .permission-grid, .user-base-fields, .model-sort-builder,
    .export-sort-builder, .phase-registration-grid, .drawer-hero, .count-list > div,
    .summary-box, .help-step, .help-notice, .activity-panel, .phase-details-panel,
    .phase-filter-panel, .mega-source-panel, .personal-mega-form, .export-favorites,
    .period-banner, .phase-source-banner, .staging-refresh-body, .report-preview-actions,
    .empty-inline
  ) {
    border-color: var(--l-border) !important;
    background: linear-gradient(145deg, var(--l-surface-raised) 0%, var(--l-surface) 58%, var(--l-surface-deep) 100%) !important;
    color: var(--l-text) !important;
    box-shadow: var(--l-shadow) !important;
  }

  html[data-theme="light"] :is(.page-heading, .page-heading.without-page-actions, .page-heading.many-page-actions) {
    border-color: var(--l-border) !important;
    border-left: 4px solid var(--l-red) !important;
    background: var(--l-neutral-panel) !important;
    color: var(--l-text) !important;
    box-shadow: var(--l-shadow) !important;
  }
  html[data-theme="light"] .page-heading h1 { color: #16232c !important; }
  html[data-theme="light"] .page-heading .eyebrow { color: var(--l-red) !important; }
  html[data-theme="light"] .page-heading p { color: var(--l-muted) !important; }
  html[data-theme="light"] .page-heading .scope-chip {
    border-color: #7fb0b3 !important;
    background: linear-gradient(120deg, #bfdbdc, #e4ecee) !important;
    color: #005f67 !important;
  }

  html[data-theme="light"] :is(
    .filter-bar, .filters, .toolbar, .table-toolbar, .control-bar, .page-actions,
    .portfolio-toolbar, .drawer-actions, .modal-actions, .settings-actions,
    .report-runner-row, .confirm-program-grid, .activity-grid, .scenario-grid,
    .purchase-filter, .all-parts-filters, .parts-test-filters, .phase-filter-grid,
    .model-form-actions, .row-actions
  ) {
    border-color: var(--l-border) !important;
    background: linear-gradient(180deg, var(--l-surface-raised), var(--l-surface-deep)) !important;
    color: var(--l-text) !important;
    box-shadow: var(--l-shadow-soft) !important;
  }
  html[data-theme="light"] .mass-toolbar.active {
    border-color: #74aeb2 !important;
    border-left: 4px solid var(--l-teal) !important;
    background: var(--l-neutral-control) !important;
  }
  html[data-theme="light"] .mass-toolbar strong { color: #123039 !important; }
  html[data-theme="light"] .mass-toolbar span { color: #405962 !important; }
  html[data-theme="light"] .filter-result-indicator strong { color: #17303a !important; }
  html[data-theme="light"] .filter-result-indicator span { color: var(--l-muted) !important; }

  html[data-theme="light"] :is(.panel-head, .card-head, .section-title, .drawer-section-head, .report-model-builder-head) {
    border-bottom-color: var(--l-border-soft) !important;
    background: linear-gradient(90deg, #dfe6e9, #edf1f3 58%, #d7e0e4) !important;
  }
  html[data-theme="light"] :is(.panel-head h2, .card-head h2, .section-title h4, .drawer-section-head h4) { color: #1b2831 !important; }
  html[data-theme="light"] :is(.panel-head p, .card-head p, .section-title span, .drawer-section-head span) { color: var(--l-muted) !important; opacity: 1 !important; }

  /* Somente cards de informação, KPI, status e resumo recebem preenchimento semântico. */
  html[data-theme="light"] :is(
    .program-card, .program-type-card, .shortage-card, .purchase-card, .aging-card,
    .batch-card, .product-card, .summary-card, .sync-card,
    .integration-card, .sync-map-card, .phase-saved-card,
    .staging-refresh-card,
    .manager-summary > article, .management-kpis > article, .phase-kpis > article,
    .capacity-kpis > article, .role-guide > article,
    .summary-grid > article, .sync-map-grid > article,
    .mirror-tracking-kpis > article, .snapshot-cards > article, .snapshot-cards > button,
    .ptn-indicator-grid > button, .program-pulse > button, .client-picking-cards > button,
    .scope-list > div, .count-list > div, .summary-box,
    .drawer-summary > div, .detail-grid > div, .agenda-day, .schedule-card
  ) {
    border-color: color-mix(in srgb, var(--surface-tone) 34%, var(--l-border)) !important;
    border-left: 4px solid var(--surface-tone) !important;
    background: linear-gradient(112deg,
      color-mix(in srgb, var(--surface-tone-soft) 78%, var(--l-surface-deep)) 0%,
      color-mix(in srgb, var(--surface-tone-soft) 42%, var(--l-surface-raised)) 31%,
      var(--l-surface-raised) 69%,
      var(--l-surface) 100%) !important;
    color: var(--l-text) !important;
    box-shadow: var(--l-shadow-soft) !important;
  }

  /* As superfícies abaixo resolvem os tokens semânticos reafirmados no fim da
     cascata, sem reutilizar o antigo contrato --tone/--tone-strong. */

  html[data-theme="light"] :is(
    .kpi-card, .metric-card-button, .snapshot-cards > button,
    .ptn-indicator-grid > button, .finalized-mini-card,
    .program-pulse > button
  ) {
    border-color: color-mix(in srgb, var(--surface-tone) 38%, var(--l-border)) !important;
    border-left-color: var(--surface-tone) !important;
    background: linear-gradient(112deg,
      color-mix(in srgb, var(--surface-tone-soft) 84%, var(--l-surface-deep)) 0%,
      color-mix(in srgb, var(--surface-tone-soft) 46%, var(--l-surface-raised)) 32%,
      var(--l-surface-raised) 70%,
      var(--l-surface) 100%) !important;
  }
  html[data-theme="light"] .program-pulse > button {
    --surface-tone: var(--l-red) !important;
    --surface-tone-soft: var(--l-red-soft) !important;
    --card-tone: var(--l-red) !important;
    --card-soft: var(--l-red-soft) !important;
  }
  html[data-theme="light"] :is(
    .kpi-card, .metric-card-button, .snapshot-cards > button,
    .ptn-indicator-grid > button, .finalized-mini-card,
    .program-pulse > button
  ):hover {
    border-color: color-mix(in srgb, var(--surface-tone) 58%, var(--l-border)) !important;
    background: linear-gradient(112deg,
      color-mix(in srgb, var(--surface-tone-soft) 90%, var(--l-surface-deep)) 0%,
      color-mix(in srgb, var(--surface-tone-soft) 52%, var(--l-surface-raised)) 34%,
      var(--l-surface-raised) 72%,
      var(--l-surface) 100%) !important;
    box-shadow: 0 8px 20px rgba(25, 38, 48, .13) !important;
  }
  html[data-theme="light"] :is(
    .kpi-title, .kpi-signal, .kpi-link, .snapshot-icon,
    .snapshot-cards > button > span, .snapshot-cards > button > em,
    .ptn-indicator-grid > button > span, .ptn-indicator-grid > button > em,
    .finalized-mini-card > span, .finalized-mini-card > em,
    .program-pulse > button > span, .alert-kpis > article > span,
    .audit-explainer > article > strong, .decision-tile-head span, .decision-tile > em
  ) { color: var(--surface-tone) !important; opacity: 1 !important; }
  html[data-theme="light"] .kpi-signal.positive { color: var(--l-green) !important; }
  html[data-theme="light"] .kpi-signal.warning { color: var(--l-amber) !important; }
  html[data-theme="light"] .kpi-signal.caution { color: var(--l-teal) !important; }
  html[data-theme="light"] .kpi-signal.neutral { color: var(--l-blue) !important; }
  html[data-theme="light"] :is(.kpi-number, .snapshot-cards > button > strong, .ptn-indicator-grid > button > strong, .finalized-mini-card > strong, .program-pulse > button > strong, .alert-kpis > article > strong, .decision-main > strong, .decision-main h2) { color: #16232c !important; }
  html[data-theme="light"] :is(.kpi-breakdown, .snapshot-cards > button > small, .ptn-indicator-grid > button > small, .finalized-mini-card > small, .audit-explainer > article > span, .decision-main p) { color: var(--l-muted) !important; opacity: 1 !important; }
  html[data-theme="light"] :is(.kpi-symbol, .snapshot-icon) {
    border-color: color-mix(in srgb, var(--surface-tone) 48%, var(--l-border)) !important;
    background: color-mix(in srgb, var(--surface-tone-soft) 78%, var(--l-surface-raised)) !important;
    color: var(--surface-tone) !important;
  }
  html[data-theme="light"] .kpi-sparkline { color: var(--surface-tone) !important; opacity: .92 !important; }
  html[data-theme="light"] .snapshot-cards > button > u { background: #dce3e7 !important; }
  html[data-theme="light"] .snapshot-cards > button > u > b { background: var(--surface-tone) !important; }

  /* Carteira: azul claro suave, como tradução direta do bloco azul escuro. */
  html[data-theme="light"] .picking-client-summary {
    border-color: #9fbac9 !important;
    border-left: 4px solid var(--l-blue) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(13,88,181,.22), transparent 38%),
      linear-gradient(124deg, #d4e0e7 0%, var(--l-surface-raised) 47%, #c9def0 100%) !important;
    box-shadow: var(--l-shadow) !important;
  }
  html[data-theme="light"] .client-picking-cards > button {
    --surface-tone: var(--l-blue);
    --surface-tone-soft: #c8e2f6;
    border-color: #9fbaca !important;
    border-left: 4px solid var(--l-blue) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(13,88,181,.24), transparent 40%),
      linear-gradient(124deg, #d5e1e7 0%, var(--l-surface-raised) 45%, #c9e1f2 100%) !important;
  }
  html[data-theme="light"] .client-picking-cards > button .client-card-name {
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
  }
  html[data-theme="light"] .client-card-name span { color: #173f68 !important; }
  html[data-theme="light"] .client-card-name small { color: #5c7180 !important; opacity: 1 !important; }
  html[data-theme="light"] .client-picking-cards > button > strong { color: #16232c !important; }
  html[data-theme="light"] .client-rank { border-color: #9fc1d5 !important; background: #e3f2f8 !important; color: #075c82 !important; }
  html[data-theme="light"] .client-meter { background: #d8e2e8 !important; }
  html[data-theme="light"] .client-meter i { background: var(--l-blue) !important; }

  /* Tabelas e listas: cinza mineral, cabeçalho profundo e linhas legíveis. */
  html[data-theme="light"] :is(.panel > .table-wrap, .table-wrap, .workforce-table-wrap, .mini-table, .history-list) {
    border-color: var(--l-border) !important;
    background: linear-gradient(145deg, var(--l-surface) 0%, var(--l-surface-deep) 100%) !important;
    color: var(--l-text) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.48) !important;
  }
  html[data-theme="light"] .workforce-table-wrap { overflow: auto; }
  html[data-theme="light"] :is(.data-table th, thead, .mini-head) {
    border-color: #aebbc3 !important;
    background: linear-gradient(180deg, #dfe6ea 0%, #ced9df 100%) !important;
    color: #2a3a44 !important;
  }
  html[data-theme="light"] :is(.data-table th, th) {
    border-bottom-color: #aebbc3 !important;
    color: #2f404a !important;
  }
  html[data-theme="light"] :is(.data-table td, td) {
    border-bottom-color: #c5d0d6 !important;
    color: #25343d !important;
  }
  html[data-theme="light"] .data-table tbody tr { background: rgba(245,247,248,.58) !important; }
  html[data-theme="light"] .data-table tbody tr:nth-child(even) { background: rgba(216,224,229,.64) !important; }
  html[data-theme="light"] :is(.data-table tbody tr:hover, tbody tr:hover) { background: #d7e6ed !important; }
  html[data-theme="light"] :is(.data-table td strong, .mini-table strong, .history-list strong, .timeline strong) {
    color: #172832 !important;
  }
  html[data-theme="light"] :is(.data-table td small, .mini-table small, .history-list small, .history-list time, .timeline small, .timeline time) {
    color: var(--l-muted) !important;
    opacity: 1 !important;
  }
  html[data-theme="light"] :is(.mini-table > div:not(.mini-head), .history-list > div) {
    border-bottom-color: #c3ced4 !important;
    background: linear-gradient(112deg, #e2e8eb 0%, var(--l-surface-raised) 53%, #dbe3e7 100%) !important;
    color: #2b3c46 !important;
  }
  html[data-theme="light"] .mini-table > div:not(.mini-head):nth-child(odd) {
    background: linear-gradient(112deg, #d9e1e5 0%, #edf1f3 53%, #d4dee3 100%) !important;
  }
  html[data-theme="light"] .history-list > .history-reserved {
    border-left-color: var(--l-green) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(7,113,58,.18), transparent 38%),
      linear-gradient(110deg, #c6ddce, var(--l-surface-raised) 48%, #cce7d4) !important;
  }
  html[data-theme="light"] .history-list > .history-reserved :is(strong, time) { color: var(--l-green) !important; }
  html[data-theme="light"] .history-list > .history-waiting {
    border-left-color: var(--l-amber) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(135,86,0,.19), transparent 38%),
      linear-gradient(110deg, #e1d3ad, var(--l-surface-raised) 48%, #ebd8a6) !important;
  }
  html[data-theme="light"] .history-list > .history-waiting :is(strong, time) { color: var(--l-amber) !important; }
  html[data-theme="light"] .history-list > .history-repeat-old {
    border-left-color: var(--l-red) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(184,23,36,.19), transparent 38%),
      linear-gradient(110deg, #dfc4c8, var(--l-surface-raised) 48%, #edc7cc) !important;
  }
  html[data-theme="light"] .history-list > .history-repeat-old :is(strong, time) { color: var(--l-red) !important; }
  html[data-theme="light"] :is(.timeline-item, .timeline > div) {
    border-color: #bdc9cf !important;
    background: linear-gradient(112deg, #dce4e8, var(--l-surface-raised) 52%, #d5e1e6) !important;
    color: #293a44 !important;
  }
  html[data-theme="light"] :is(.timeline-dot, .activity-dot) {
    border-color: #a4b3bc !important;
    background: var(--l-blue) !important;
    box-shadow: 0 0 0 4px rgba(13,88,181,.12) !important;
  }
  html[data-theme="light"] .timeline > div > span {
    border-color: #e6ecef !important;
    background: var(--l-teal) !important;
    box-shadow: 0 0 0 3px rgba(0,111,120,.18) !important;
  }
  html[data-theme="light"] .timeline b { color: var(--l-teal) !important; }
  html[data-theme="light"] :is(.pagination, .table-footer) {
    border-color: #bdc8cf !important;
    background: linear-gradient(180deg, #e6ecef, #d8e1e5) !important;
    color: var(--l-muted) !important;
  }
  html[data-theme="light"] :is(.pagination button, .table-footer button, .multi-actions button) {
    border-color: #aebbc3 !important;
    background: linear-gradient(180deg, #edf1f3, #dce4e8) !important;
    color: #32444e !important;
  }

  /* Drawer Abrir PTN e modais: todas as camadas e descendentes vencem o v12. */
  html[data-theme="light"] :is(.drawer-backdrop, .modal-backdrop) {
    background: rgba(30,43,52,.48) !important;
    backdrop-filter: blur(5px);
  }
  html[data-theme="light"] :is(.drawer, .modal, .auth-card) {
    border-color: #aebbc3 !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(13,88,181,.09), transparent 30%),
      linear-gradient(145deg, #e7edef 0%, #dce4e8 62%, #cdd8de 100%) !important;
    color: var(--l-text) !important;
    box-shadow: 0 24px 58px rgba(23,35,44,.24), inset 0 1px 0 rgba(255,255,255,.52) !important;
  }
  html[data-theme="light"] :is(.drawer-content, .modal-content, .auth-card > form) {
    background: transparent !important;
    color: var(--l-text) !important;
  }
  html[data-theme="light"] :is(.drawer-head, .modal-head, .modal-actions, .report-preview-actions) {
    border-color: #b3c0c7 !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(0,111,120,.15), transparent 38%),
      linear-gradient(110deg, #d5dfe4 0%, #eef2f4 54%, #cbd9df 100%) !important;
    color: var(--l-text) !important;
  }
  html[data-theme="light"] :is(.drawer-head h2, .modal-head h2, .auth-card h1, .auth-card h2) {
    color: #142630 !important;
    text-shadow: none !important;
  }
  html[data-theme="light"] :is(.drawer-head p, .modal-head p, .drawer-head small, .modal-head small, .auth-card p, .auth-card small) {
    color: var(--l-muted) !important;
    opacity: 1 !important;
  }
  html[data-theme="light"] :is(.drawer-loading, .modal-loading) { color: var(--l-teal) !important; }
  html[data-theme="light"] :is(.drawer-section, .drawer-profile) {
    border-color: #b7c3ca !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(0,111,120,.10), transparent 38%),
      linear-gradient(132deg, #d9e2e6 0%, var(--l-surface-raised) 50%, #d4e1e5 100%) !important;
    color: var(--l-text) !important;
    box-shadow: var(--l-shadow-soft) !important;
  }
  html[data-theme="light"] :is(.drawer-section > h4, .drawer-section .section-title h4, .drawer-profile summary strong, .drawer-profile form > div > strong) {
    color: #162a34 !important;
  }
  html[data-theme="light"] :is(.drawer-section .section-title span, .drawer-profile summary span) {
    color: var(--l-muted) !important;
    opacity: 1 !important;
  }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) {
    --surface-tone: var(--l-teal);
    --surface-tone-soft: var(--l-teal-soft);
    border-color: #9dbfc2 !important;
    border-left: 4px solid var(--l-teal) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(0,111,120,.22), transparent 39%),
      linear-gradient(122deg, #c9dadd 0%, var(--l-surface-raised) 48%, #bee0e1 100%) !important;
    color: var(--l-text) !important;
    box-shadow: var(--l-shadow-soft) !important;
  }
  html[data-theme="light"] :is(.detail-box span, .drawer-summary span) {
    color: var(--l-teal) !important;
    opacity: 1 !important;
  }
  html[data-theme="light"] :is(.detail-box strong, .drawer-summary strong) {
    color: #132a32 !important;
  }
  html[data-theme="light"] .drawer-section.program-strip {
    border-color: #78aeb2 !important;
    border-left: 4px solid var(--l-teal) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(0,111,120,.27), transparent 42%),
      linear-gradient(112deg, #b8d1d3, var(--l-surface-raised) 48%, #aedadc) !important;
  }
  html[data-theme="light"] .drawer-section.program-strip :is(h4, strong) { color: #075a62 !important; }
  html[data-theme="light"] .drawer-section.program-strip span { color: #3d5962 !important; }
  html[data-theme="light"] .drawer-profile-grid label {
    border-color: #b4c2c9 !important;
    background: linear-gradient(122deg, #d9e2e6, #edf1f3 52%, #d3dfe4) !important;
    color: #2b3d47 !important;
  }
  html[data-theme="light"] :is(.empty-state, .section-empty, .empty-inline, .missing-inline) {
    border-color: #b7c3ca !important;
    background: linear-gradient(125deg, #d9e1e5, var(--l-surface-raised) 54%, #d3dde2) !important;
    color: var(--l-muted) !important;
  }
  html[data-theme="light"] :is(.empty-state strong, .section-empty strong, .empty-inline strong) { color: #263842 !important; }
  html[data-theme="light"] :is(.empty-state span, .section-empty span, .empty-inline span) { color: var(--l-muted) !important; }

  /* Campos, filtros e construtores: mesmas superfícies em todas as telas. */
  html[data-theme="light"] :is(
    .filter-bar input, .filter-bar select, .filter-bar details > summary,
    .filters input, .filters select, .form-grid input, .form-grid select, .form-grid textarea,
    .settings-form input, .settings-form select, .user-form input, .user-form select,
    .auth-form input, .activity-grid input, .activity-grid select, .scenario-grid input,
    input, select, textarea, .multi-filter > summary, .program-archive select,
    .search-wrap, .global-line-control select
  ) {
    border-color: #aebbc3 !important;
    background: linear-gradient(180deg, #edf2f4 0%, #e2e9ec 100%) !important;
    color: #1d303a !important;
    caret-color: var(--l-teal) !important;
    box-shadow: inset 0 1px 2px rgba(45,60,70,.08), 0 1px 0 rgba(255,255,255,.46) !important;
  }
  html[data-theme="light"] :is(input, select, textarea)::placeholder { color: #647681 !important; opacity: 1 !important; }
  html[data-theme="light"] :is(input, select, textarea):focus,
  html[data-theme="light"] .multi-filter[open] > summary {
    border-color: var(--l-blue) !important;
    background: var(--l-surface-raised) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(13,88,181,.14), inset 0 1px 0 rgba(255,255,255,.55) !important;
  }
  html[data-theme="light"] :is(input, select, textarea):disabled {
    background: #d3dce1 !important;
    color: #65757f !important;
    opacity: .82 !important;
  }
  html[data-theme="light"] :is(
    .filter-bar label, .filters label, .toolbar label, .control-bar label,
    .form-grid label, .settings-form label, .activity-grid label, .auth-form label,
    .personal-mega-form > label, .confirm-program-grid label, .report-runner label,
    .phase-filter-grid label
  ) {
    color: #40535e !important;
  }
  html[data-theme="light"] .multi-filter > div {
    border-color: #aab8c0 !important;
    background: linear-gradient(145deg, #e9eef1, #dce5e9) !important;
    color: var(--l-text) !important;
    box-shadow: 0 14px 32px rgba(27,40,50,.18) !important;
  }
  html[data-theme="light"] :is(.multi-filter > div > label, .filter-bar .multi-filter > div > label) {
    border-bottom-color: #c3ced4 !important;
    color: #263943 !important;
  }
  html[data-theme="light"] .multi-filter > div > label:hover { background: #d2e2e8 !important; }
  html[data-theme="light"] .multi-actions button:hover {
    border-color: #8799a3 !important;
    background: #d7e4e8 !important;
    color: #17303a !important;
  }
  html[data-theme="light"] .multi-filter > summary small { color: var(--l-teal) !important; opacity: 1 !important; }
  html[data-theme="light"] .multi-empty { color: var(--l-muted) !important; }
  html[data-theme="light"] :is(.multi-actions, .model-form-actions, .row-actions) {
    border-color: #bdc9cf !important;
    background: linear-gradient(180deg, #e5ebee, #d7e0e5) !important;
  }
  html[data-theme="light"] :is(
    fieldset, .report-columns, .permission-grid, .user-base-fields label,
    .activity-grid label, .scenario-grid label, .export-field-grid label,
    .model-field-grid label, .model-core-grid label, .model-layout-grid label,
    .model-sort-row label, .export-sort-row label, .export-favorites label,
    .report-columns label, .permission-grid label,
    .form-grid label, .settings-section, .settings-form, .user-access-form,
    .model-sort-builder, .export-sort-builder, .phase-registration-grid,
    .report-model-help
  ) {
    border-color: #b4c1c8 !important;
    background: linear-gradient(130deg, #dae3e7 0%, #edf1f3 52%, #d3dee3 100%) !important;
    color: #2a3d47 !important;
    box-shadow: var(--l-shadow-soft) !important;
  }
  html[data-theme="light"] :is(fieldset legend, .report-columns strong, .permission-grid strong, .form-grid strong, .settings-form strong) {
    color: #1d313b !important;
  }
  html[data-theme="light"] :is(.model-sort-row, .export-sort-row) { border-top-color: #bdc9cf !important; }
  html[data-theme="light"] :is(.model-sort-row > b, .export-sort-row > b) {
    background: linear-gradient(145deg, var(--l-teal), #07575e) !important;
    color: #fff !important;
  }
  html[data-theme="light"] :is(.switch-row, .checkbox-row, .permission-grid label:has(input:checked), .drawer-profile-grid label:has(input:checked)) {
    border-color: #83aeb2 !important;
    background: linear-gradient(120deg, #c4dcde, #e9eff1 54%, #b9d9da) !important;
    color: #075d64 !important;
  }
  html[data-theme="light"] input[type="checkbox"] {
    width: 17px !important;
    min-width: 17px !important;
    height: 17px !important;
    min-height: 17px !important;
    padding: 0 !important;
    background: initial !important;
    box-shadow: none !important;
    accent-color: var(--l-teal) !important;
  }
  html[data-theme="light"] .drawer-profile form { border-top-color: #b8c5cc !important; color: var(--l-text) !important; }
  html[data-theme="light"] .report-model-modal .report-model-builder {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Navegação local, botões e estados interativos. */
  html[data-theme="light"] :is(.program-tabs, .split-tabs, .purchase-tabs, .portfolio-switch) {
    border-color: #b8c4cb !important;
    background: transparent !important;
  }
  html[data-theme="light"] :is(.program-tabs button, .split-tabs button, .purchase-tabs button, .portfolio-switch button) {
    border-color: #afbdc5 !important;
    background: linear-gradient(180deg, #e8edef, #d9e2e6) !important;
    color: #3c505b !important;
  }
  html[data-theme="light"] :is(.program-tabs button.active, .split-tabs button.active, .purchase-tabs button.active, .portfolio-switch button.active) {
    border-color: #c67f86 !important;
    background: linear-gradient(120deg, #e2cdd0, #edf1f3 56%, #ebc8cc) !important;
    color: #97131d !important;
    box-shadow: inset 0 -2px 0 var(--l-red) !important;
  }
  html[data-theme="light"] :is(.program-tabs button b, .split-tabs button b, .purchase-tabs button b) {
    border-color: #aebcc4 !important;
    background: #d4dee3 !important;
    color: #40545f !important;
  }
  html[data-theme="light"] :is(.program-tabs button.active b, .split-tabs button.active b, .purchase-tabs button.active b) {
    border-color: #c78187 !important;
    background: #e8cfd2 !important;
    color: var(--l-red) !important;
  }
  html[data-theme="light"] :is(.btn-secondary, .btn-ghost, .btn-excel, .btn-clear-filters, .icon-btn, .theme-toggle) {
    border-color: #aebbc3 !important;
    background: linear-gradient(180deg, #e9eef0, #d8e1e5) !important;
    color: #2c414c !important;
    box-shadow: 0 2px 6px rgba(31,45,55,.08) !important;
  }
  html[data-theme="light"] :is(.btn-secondary, .btn-ghost, .btn-excel, .btn-clear-filters, .icon-btn, .theme-toggle):hover {
    border-color: #8798a3 !important;
    background: linear-gradient(180deg, #dfe8eb, #cad8de) !important;
    color: #162a34 !important;
  }
  html[data-theme="light"] .btn-primary {
    border-color: #a80f19 !important;
    background: linear-gradient(145deg, #e32a35 0%, #b81724 72%, #98111b 100%) !important;
    color: #fff !important;
    box-shadow: 0 4px 11px rgba(143,17,27,.20) !important;
  }
  html[data-theme="light"] .btn-primary:hover { background: linear-gradient(145deg, #c91b27, #9f101a) !important; }
  html[data-theme="light"] :is(.btn.danger, .btn-ghost.danger, .danger-zone .btn-ghost) {
    border-color: #c36d75 !important;
    background: linear-gradient(125deg, #e1c7ca, #edf1f3 55%, #ebbdc2) !important;
    color: var(--l-red) !important;
  }
  html[data-theme="light"] :is(.link-button, a) { color: var(--l-blue); }
  html[data-theme="light"] .link-button { color: var(--l-blue) !important; }

  /* Etiquetas: cada estado conserva o tom semântico depois de todos os resets. */
  html[data-theme="light"] :is(.tag, [class*="tag-"]) { box-shadow: none !important; }
  html[data-theme="light"] :is(.tag-green, .tag-success) { border-color: #69a37e !important; background: linear-gradient(120deg, #b8dbc2, #e6eee8) !important; color: #075f32 !important; }
  html[data-theme="light"] :is(.tag-amber, .tag-yellow, .tag-warning) { border-color: #b79342 !important; background: linear-gradient(120deg, #e6ce91, #efeadc) !important; color: #704600 !important; }
  html[data-theme="light"] :is(.tag-orange) { border-color: #c18565 !important; background: linear-gradient(120deg, #e8b99f, #eee5df) !important; color: #843312 !important; }
  html[data-theme="light"] :is(.tag-red, .tag-danger, .tag-error) { border-color: #c6757c !important; background: linear-gradient(120deg, #e9b9be, #eee3e5) !important; color: #9b111d !important; }
  html[data-theme="light"] :is(.tag-blue) { border-color: #769fcf !important; background: linear-gradient(120deg, #bed4ed, #e4e9ee) !important; color: #0a4e9d !important; }
  html[data-theme="light"] :is(.tag-teal) { border-color: #65a7ab !important; background: linear-gradient(120deg, #b3ddde, #e2ebec) !important; color: #005f67 !important; }
  html[data-theme="light"] :is(.tag-purple, .tag-violet) { border-color: #9b84c9 !important; background: linear-gradient(120deg, #d1c2e9, #e9e5ed) !important; color: #4e279b !important; }
  html[data-theme="light"] :is(.tag-gray, .tag-line, .tag-neutral) { border-color: #9cabb4 !important; background: linear-gradient(120deg, #cfd8dd, #e8edef) !important; color: #40535e !important; }

  /* Avisos e barras operacionais preservam sucesso, atenção, erro e informação. */
  html[data-theme="light"] :is(.refresh-banner, .coverage-banner, .phase-source-banner, .status-source-note, .sync-scope) {
    border-color: #83a8cd !important;
    border-left: 4px solid var(--l-blue) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(13,88,181,.20), transparent 40%),
      linear-gradient(110deg, #c5d7e7, var(--l-surface-raised) 48%, #bed7ef) !important;
    color: #17466f !important;
  }
  html[data-theme="light"] :is(.coverage-banner, .phase-source-banner, .status-source-note, .sync-scope) strong { color: #0b4f8f !important; }
  html[data-theme="light"] :is(.coverage-banner, .phase-source-banner, .status-source-note, .sync-scope) :is(span, small) { color: #405b69 !important; opacity: 1 !important; }
  html[data-theme="light"] :is(.refresh-banner.success, .success-banner) {
    border-color: #73a986 !important;
    border-left-color: var(--l-green) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(7,113,58,.20), transparent 40%),
      linear-gradient(110deg, #c2dbc9, var(--l-surface-raised) 48%, #bce1c6) !important;
    color: #075f32 !important;
  }
  html[data-theme="light"] :is(.settings-note, .refresh-banner.warning, .program-tab-note, .fixed-columns-note, .eligibility-note, .workforce-bottleneck, .program-guard) {
    border-color: #b99a55 !important;
    border-left: 4px solid var(--l-amber) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(135,86,0,.20), transparent 40%),
      linear-gradient(110deg, #e1d2ac, var(--l-surface-raised) 48%, #ecd69c) !important;
    color: #694300 !important;
  }
  html[data-theme="light"] :is(.settings-note, .refresh-banner.warning, .program-tab-note, .fixed-columns-note, .eligibility-note, .workforce-bottleneck, .program-guard) strong { color: #704700 !important; }
  html[data-theme="light"] :is(.program-guard, .program-tab-note, .fixed-columns-note, .eligibility-note, .workforce-bottleneck) :is(span, small) {
    color: #5f4d27 !important;
    opacity: 1 !important;
  }
  html[data-theme="light"] :is(.audit-failures, .phase-source-banner.is-error, .exclusion-alert, .error-banner) {
    border-color: #c67c83 !important;
    border-left: 4px solid var(--l-red) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(184,23,36,.20), transparent 40%),
      linear-gradient(110deg, #dfc4c7, var(--l-surface-raised) 48%, #edc1c6) !important;
    color: #94131e !important;
  }
  html[data-theme="light"] :is(.audit-failures, .phase-source-banner.is-error, .exclusion-alert, .error-banner) :is(strong, summary) { color: #9b111d !important; }
  html[data-theme="light"] .rule-note {
    border-color: #79aeb1 !important;
    border-left: 4px solid var(--l-teal) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(0,111,120,.18), transparent 40%),
      linear-gradient(110deg, #c8dbdd, var(--l-surface-raised) 48%, #bfe0e1) !important;
    color: #18575e !important;
  }
  html[data-theme="light"] .rule-note strong { color: #005f67 !important; }
  html[data-theme="light"] .rule-note :is(span, small) { color: #365b61 !important; opacity: 1 !important; }
  html[data-theme="light"] .toast {
    border-color: #aebcc4 !important;
    background: linear-gradient(135deg, #e7edef, #d5e0e5) !important;
    color: #1d303a !important;
    box-shadow: 0 14px 34px rgba(35,52,64,.20) !important;
  }
  html[data-theme="light"] .toast.error { border-left: 4px solid var(--l-red) !important; }

  /* Gráficos, resumos e metadados restantes. */
  html[data-theme="light"] :is(.summary-box, .summary-grid > article, .decision-metrics span, .count-list > div, .parts-update-scope > article) {
    border-color: #b6c3ca !important;
    background: linear-gradient(125deg, #d8e1e5, var(--l-surface-raised) 52%, #d2dde2) !important;
    color: #2a3c46 !important;
    box-shadow: var(--l-shadow-soft) !important;
  }
  html[data-theme="light"] :is(.summary-box strong, .decision-metrics b, .count-list strong, .parts-update-scope strong) { color: #172832 !important; }
  html[data-theme="light"] :is(.summary-box span, .summary-box small, .decision-metrics small, .count-list span, .parts-update-scope span) { color: var(--l-muted) !important; }
  html[data-theme="light"] :is(.manager-access-list > div, .management-programs > div, .scope-list > div, .activity-list > article, .saved-types > article, .saved-report-models > article, .agenda-day, .schedule-card) {
    border-color: #b6c3ca !important;
    background: linear-gradient(125deg, #d9e2e6, var(--l-surface-raised) 53%, #d2dee3) !important;
    color: #293b45 !important;
    box-shadow: var(--l-shadow-soft) !important;
  }
  html[data-theme="light"] :is(.manager-access-list strong, .management-programs strong, .scope-list strong, .activity-list strong, .saved-types strong, .saved-report-models strong) { color: #172832 !important; }
  html[data-theme="light"] :is(.manager-access-list small, .management-programs span, .scope-list span, .activity-list small, .activity-list span, .saved-types span, .saved-report-models span, .saved-report-models small) { color: var(--l-muted) !important; }
  html[data-theme="light"] .chart-grid-line { stroke: #b6c4cb !important; }
  html[data-theme="light"] .chart-dot { stroke: var(--l-surface-raised) !important; }
  html[data-theme="light"] :is(.chart-card svg text, .chart-panel svg text) { fill: #4e626d !important; }
  html[data-theme="light"] :is(.chart-legend, .chart-series-legend, .donut-legend) { color: var(--l-muted) !important; }
  html[data-theme="light"] :is(.metric-bars i, .status-bars i, .client-meter, .coverage-track) { background: #cbd7dd !important; }
  html[data-theme="light"] .metric-bars.teal u { background: var(--l-teal) !important; }
  html[data-theme="light"] .metric-bars.blue u { background: var(--l-blue) !important; }
  html[data-theme="light"] .metric-bars.green u { background: var(--l-green) !important; }
  html[data-theme="light"] .metric-bars.amber u { background: var(--l-amber) !important; }
  html[data-theme="light"] .metric-bars.orange u { background: var(--l-orange) !important; }
  html[data-theme="light"] .metric-bars.red u { background: var(--l-red) !important; }
  html[data-theme="light"] .metric-bars.purple u { background: var(--l-purple) !important; }
  html[data-theme="light"] .donut-chart {
    box-shadow: 0 0 0 1px #aebcc4, 0 8px 20px rgba(35,52,64,.12) !important;
    filter: saturate(.95) contrast(1.03);
  }
  html[data-theme="light"] .donut-chart::after { background: #dfe7ea !important; box-shadow: inset 0 0 0 1px #b9c6cd !important; }
  html[data-theme="light"] .donut-chart strong { color: #172832 !important; }
  html[data-theme="light"] :is(.donut-legend div > strong, .metric-bars em) { color: #172832 !important; }
  html[data-theme="light"] :is(.donut-legend small, .metric-bars small) { color: var(--l-muted) !important; }
  html[data-theme="light"] .insight-card {
    border-left: 4px solid var(--l-teal) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(0,111,120,.22), transparent 40%),
      linear-gradient(124deg, #c8dadd, var(--l-surface-raised) 48%, #bcdedf) !important;
  }
  html[data-theme="light"] .insight-card h2 { color: #123039 !important; }
  html[data-theme="light"] .insight-card p { color: #405861 !important; }
  html[data-theme="light"] .insight-card .eyebrow { color: var(--l-teal) !important; }

  html[data-theme="light"] .finalized-hero {
    border-color: #72aeb2 !important;
    border-left: 4px solid var(--l-teal) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(0,111,120,.23), transparent 41%),
      linear-gradient(124deg, #c6d9dc, var(--l-surface-raised) 47%, #b9ddde) !important;
  }
  html[data-theme="light"] .finalized-hero :is(span, .eyebrow) { color: var(--l-teal) !important; }
  html[data-theme="light"] .finalized-hero strong { color: #153039 !important; }
  html[data-theme="light"] .finalized-hero small { color: #405b63 !important; opacity: 1 !important; }
  html[data-theme="light"] .filter-result-indicator small { color: var(--l-teal) !important; opacity: 1 !important; }

  html[data-theme="light"] .period-banner {
    border-color: #7aadb1 !important;
    border-left: 4px solid var(--l-teal) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(0,111,120,.18), transparent 40%),
      linear-gradient(110deg, #cadbdd, var(--l-surface-raised) 50%, #c1dfe0) !important;
    color: #244c53 !important;
  }
  html[data-theme="light"] .period-banner strong { color: var(--l-teal) !important; }
  html[data-theme="light"] .period-banner span { color: #405b62 !important; }

  html[data-theme="light"] .panel.scenario-panel {
    --surface-tone: var(--l-blue) !important;
    --surface-tone-soft: var(--l-blue-soft) !important;
    border-color: #82a7ca !important;
    border-left: 4px solid var(--l-blue) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(13,88,181,.20), transparent 40%),
      linear-gradient(124deg, #c8d7e3, var(--l-surface-raised) 48%, #bdd6eb) !important;
  }
  html[data-theme="light"] .panel.scenario-panel .panel-head h2 { color: var(--l-blue) !important; }
  html[data-theme="light"] .panel.scenario-panel .panel-head p { color: #405c6c !important; }

  html[data-theme="light"] .decision-command-bar {
    border: 1px solid #78aaae !important;
    border-left: 4px solid var(--l-teal) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(0,111,120,.23), transparent 42%),
      linear-gradient(120deg, #c5d7d9, var(--l-surface-raised) 47%, #b8dcdd) !important;
    color: var(--l-text) !important;
    box-shadow: var(--l-shadow) !important;
  }
  html[data-theme="light"] .decision-command-bar > div:first-child > span { color: var(--l-teal) !important; }
  html[data-theme="light"] .decision-command-bar strong { color: #153039 !important; }
  html[data-theme="light"] .command-legend span { background: #dfe7ea !important; }
  html[data-theme="light"] .command-legend .healthy { border-color: #78aa8a !important; color: var(--l-green) !important; }
  html[data-theme="light"] .command-legend .attention { border-color: #b89b5d !important; color: var(--l-amber) !important; }
  html[data-theme="light"] .command-legend .critical { border-color: #c27c83 !important; color: var(--l-red) !important; }
  html[data-theme="light"] .command-legend .neutral { border-color: #83a6c8 !important; color: var(--l-blue) !important; }

  html[data-theme="light"] .panel.danger-zone {
    border-color: #c77c83 !important;
    border-left: 4px solid var(--l-red) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(184,23,36,.19), transparent 40%),
      linear-gradient(124deg, #ddc4c7, var(--l-surface-raised) 48%, #eac2c6) !important;
  }
  html[data-theme="light"] .panel.danger-zone .panel-head {
    border-bottom-color: #d3aeb2 !important;
    background: linear-gradient(90deg, #dfc7ca, #edf1f3 58%, #e7bcc1) !important;
  }
  html[data-theme="light"] .panel.danger-zone .panel-head :is(h2, .eyebrow) { color: var(--l-red) !important; }

  html[data-theme="light"] .capacity-kpis > article.capacity-good {
    --surface-tone: var(--l-green) !important;
    --surface-tone-soft: var(--l-green-soft) !important;
  }
  html[data-theme="light"] .capacity-kpis > article.capacity-warning {
    --surface-tone: var(--l-amber) !important;
    --surface-tone-soft: var(--l-amber-soft) !important;
  }
  html[data-theme="light"] .capacity-kpis > article.capacity-good > span { color: var(--l-green) !important; }
  html[data-theme="light"] .capacity-kpis > article.capacity-warning > span { color: var(--l-amber) !important; }
  html[data-theme="light"] .capacity-kpis > article > strong { color: #16232c !important; }
  html[data-theme="light"] .capacity-kpis > article > small { color: var(--l-muted) !important; opacity: 1 !important; }

  html[data-theme="light"] .skeleton::after {
    background: linear-gradient(90deg, transparent, rgba(245,247,248,.78), transparent) !important;
  }

  html[data-theme="light"] .product-card.panel {
    border-color: #947dc2 !important;
    border-left: 4px solid var(--l-purple) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(89,51,173,.27), transparent 42%),
      linear-gradient(124deg, #cec7db 0%, var(--l-surface-raised) 46%, #d2c1ec 100%) !important;
    color: var(--l-text) !important;
  }
  html[data-theme="light"] .product-card.panel::after { background: rgba(89,51,173,.10) !important; }
  html[data-theme="light"] .product-card.panel :is(.eyebrow, small) { color: var(--l-purple) !important; opacity: 1 !important; }
  html[data-theme="light"] .product-card.panel :is(h2, strong) { color: #2d1d56 !important; }
  html[data-theme="light"] .product-card.panel p { color: #514663 !important; }

  html[data-theme="light"] .batch-card.active {
    --surface-tone: var(--l-green) !important;
    --surface-tone-soft: var(--l-green-soft) !important;
    border-top-color: var(--l-green) !important;
  }
  html[data-theme="light"] .batch-card.draft {
    --surface-tone: var(--l-amber) !important;
    --surface-tone-soft: var(--l-amber-soft) !important;
    border-color: #b99a55 !important;
    border-left-color: var(--l-amber) !important;
    border-top-color: var(--l-amber) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(135,86,0,.21), transparent 40%),
      linear-gradient(124deg, #dfd2af, var(--l-surface-raised) 47%, #ead59d) !important;
  }
  html[data-theme="light"] .phase-saved-card.active {
    --surface-tone: var(--l-teal) !important;
    --surface-tone-soft: var(--l-teal-soft) !important;
    border-color: #72aeb2 !important;
    border-left-color: var(--l-teal) !important;
    box-shadow: 0 0 0 2px rgba(0,111,120,.12), var(--l-shadow-soft) !important;
  }
  html[data-theme="light"] .phase-saved-main { color: var(--l-text) !important; }
  html[data-theme="light"] .phase-saved-main > span { color: var(--l-teal) !important; }
  html[data-theme="light"] .phase-saved-main > strong { color: #16232c !important; }
  html[data-theme="light"] .phase-saved-main > small { color: var(--l-muted) !important; }
  html[data-theme="light"] .staging-refresh-card.panel {
    --surface-tone: var(--l-green) !important;
    --surface-tone-soft: var(--l-green-soft) !important;
    border-color: #77a989 !important;
    border-left-color: var(--l-green) !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(7,113,58,.19), transparent 40%),
      linear-gradient(124deg, #ccdcd1, var(--l-surface-raised) 48%, #c1dec9) !important;
  }
  html[data-theme="light"] :is(.drawer-hero h3, .report-model-builder h2, .report-runner h2, .print-profile h3, .user-form h3) { color: #172a34 !important; }
  html[data-theme="light"] :is(.drawer-hero p, .report-model-builder p, .report-runner p, .export-context small, .export-help span) { color: var(--l-muted) !important; opacity: 1 !important; }
  html[data-theme="light"] :is(.export-context span, .export-context strong, .report-model-builder-head strong) { color: var(--l-teal) !important; }
  html[data-theme="light"] :is(.metric-bars > div > span, .status-bars > div) { color: #30434d !important; }
  html[data-theme="light"] .chart-explainer {
    border-left-color: var(--l-teal) !important;
    background: linear-gradient(110deg, #cbdcde, var(--l-surface) 52%, #c3ddde) !important;
    color: #405962 !important;
  }
  html[data-theme="light"] .auth-screen {
    background:
      radial-gradient(circle at 18% 12%, rgba(74,91,101,.13), transparent 30%),
      radial-gradient(circle at 90% 4%, rgba(112,126,135,.10), transparent 28%),
      linear-gradient(145deg, #d8e1e5, #c8d4da) !important;
  }
  html[data-theme="light"] .auth-brand { border-bottom-color: #b9c5cc !important; }
  html[data-theme="light"] .auth-brand strong { color: #172a34 !important; }
  html[data-theme="light"] .auth-brand span { color: var(--l-muted) !important; }
  html[data-theme="light"] .auth-error {
    border-color: #c67c83 !important;
    background: linear-gradient(120deg, #dfc4c7, #edcfd2) !important;
    color: #95141e !important;
  }
  html[data-theme="light"] :is(.report-preview-modal iframe, .report-preview-frame) {
    border-color: #aebbc3 !important;
    background: #e5ebee !important;
  }

  /* Corrige falsos positivos do seletor legado [class*="card"] de v19. */
  html[data-theme="light"] .operation-progress-card {
    border: 1px solid var(--l-border) !important;
    border-left: 1px solid var(--l-border) !important;
    background: var(--l-neutral-panel) !important;
    color: var(--l-text) !important;
    box-shadow: 0 24px 60px rgba(23,35,44,.24) !important;
  }
  html[data-theme="light"] .operation-progress-track { background: #cbd6dc !important; }
  html[data-theme="light"] .operation-progress-track i { background: var(--l-teal) !important; }

  /* Limite final de superfície: estrutura, análise, decisão e alertas são
     sempre minerais. Cor neles existe somente como linha, ícone, série ou tag. */
  html[data-theme="light"] :is(
    .panel, .card, .table-card, .chart-card, .chart-panel, .operational-snapshot,
    .report-model-card, .setting-card, .settings-card, .report-model-builder,
    .report-runner, .program-confirm-panel, .program-type-manager,
    .drawer, .modal, .auth-card, .drawer-head, .modal-head, .modal-actions,
    .report-preview-actions, .drawer-section, .drawer-profile,
    .drawer-section.program-strip, .filter-result-indicator, .mass-toolbar.active,
    .coverage-banner, .refresh-banner, .phase-source-banner, .status-source-note,
    .sync-scope, .program-guard, .rule-note, .settings-note, .program-tab-note,
    .fixed-columns-note, .eligibility-note, .workforce-bottleneck,
    .audit-failures, .exclusion-alert, .error-banner, .success-banner,
    .decision-tile, .decision-snapshot > article, .decision-item,
    .alert-kpis > article, .audit-explainer > article,
    .insight-card, .period-banner, .panel.scenario-panel,
    .decision-command-bar, .panel.danger-zone, .chart-explainer,
    .history-list > .history-reserved, .history-list > .history-waiting,
    .history-list > .history-repeat-old, .auth-error, .operation-progress-card
  ) {
    background: var(--l-neutral-panel) !important;
    color: var(--l-text) !important;
  }
  html[data-theme="light"] :is(
    .drawer-head, .modal-head, .modal-actions, .report-preview-actions,
    .panel-head, .card-head, .section-title, .drawer-section-head,
    .report-model-builder-head, .panel.danger-zone .panel-head
  ) {
    background: var(--l-neutral-panel-strong) !important;
  }
  html[data-theme="light"] :is(
    .switch-row, .checkbox-row,
    .permission-grid label:has(input:checked),
    .drawer-profile-grid label:has(input:checked),
    .program-tabs button.active, .split-tabs button.active,
    .purchase-tabs button.active, .portfolio-switch button.active
  ) {
    background: var(--l-neutral-control) !important;
  }
  html[data-theme="light"] :is(.btn.danger, .btn-ghost.danger, .danger-zone .btn-ghost) {
    background: var(--l-neutral-control) !important;
  }

  /* Texto de estruturas neutras permanece carvão; a semântica fica nas linhas. */
  html[data-theme="light"] :is(
    .history-list > .history-reserved,
    .history-list > .history-waiting,
    .history-list > .history-repeat-old
  ) :is(strong, time) { color: var(--l-text) !important; }
  html[data-theme="light"] :is(
    .coverage-banner, .refresh-banner, .phase-source-banner, .status-source-note,
    .sync-scope, .program-guard, .rule-note, .settings-note, .program-tab-note,
    .fixed-columns-note, .eligibility-note, .workforce-bottleneck,
    .audit-failures, .exclusion-alert, .error-banner, .success-banner,
    .alert-kpis > article, .audit-explainer > article,
    .decision-tile, .decision-snapshot > article, .decision-item,
    .period-banner, .decision-command-bar, .panel.danger-zone
  ) :is(h2, h3, h4, strong, p, span, small, time) {
    color: var(--l-text) !important;
  }
  html[data-theme="light"] :is(
    .coverage-banner, .refresh-banner, .phase-source-banner, .status-source-note,
    .sync-scope, .program-guard, .rule-note, .settings-note, .program-tab-note,
    .fixed-columns-note, .eligibility-note, .workforce-bottleneck,
    .audit-failures, .exclusion-alert, .error-banner, .success-banner,
    .decision-tile, .decision-snapshot > article, .decision-item,
    .period-banner, .decision-command-bar
  ) :is(p, span, small, time) { color: var(--l-muted) !important; }
  html[data-theme="light"] :is(.decision-main > strong, .decision-main h2, .alert-kpis > article > strong) { color: #16232c !important; }
  html[data-theme="light"] :is(.decision-main p, .alert-kpis > article > span, .audit-explainer > article > span) { color: var(--l-muted) !important; }
  /* Tags e legendas continuam sendo os portadores de cor dentro das superfícies neutras. */
  html[data-theme="light"] :is(.tag-green, .tag-success) { color: #075f32 !important; }
  html[data-theme="light"] :is(.tag-amber, .tag-yellow, .tag-warning) { color: #704600 !important; }
  html[data-theme="light"] .tag-orange { color: #843312 !important; }
  html[data-theme="light"] :is(.tag-red, .tag-danger, .tag-error) { color: #9b111d !important; }
  html[data-theme="light"] .tag-blue { color: #0a4e9d !important; }
  html[data-theme="light"] .tag-teal { color: #005f67 !important; }
  html[data-theme="light"] :is(.tag-purple, .tag-violet) { color: #4e279b !important; }
  html[data-theme="light"] :is(.tag-gray, .tag-line, .tag-neutral) { color: #40535e !important; }
  html[data-theme="light"] .command-legend .healthy { color: var(--l-green) !important; }
  html[data-theme="light"] .command-legend .attention { color: var(--l-amber) !important; }
  html[data-theme="light"] .command-legend .critical { color: var(--l-red) !important; }
  html[data-theme="light"] .command-legend .neutral { color: var(--l-blue) !important; }
  html[data-theme="light"] .decision-tile-head span { color: var(--surface-tone) !important; }
  html[data-theme="light"] .drawer-section.program-strip :is(h4, strong) { color: var(--l-text) !important; }
  html[data-theme="light"] .drawer-section.program-strip span { color: var(--l-muted) !important; }
  html[data-theme="light"] .panel.scenario-panel .panel-head h2,
  html[data-theme="light"] .panel.danger-zone .panel-head h2,
  html[data-theme="light"] .decision-command-bar strong { color: var(--l-text) !important; }
  html[data-theme="light"] :is(.panel.scenario-panel .panel-head p, .chart-explainer) { color: var(--l-muted) !important; }
  html[data-theme="light"] .operation-progress-head span { color: var(--l-teal) !important; }
  html[data-theme="light"] .operation-progress-head strong { color: var(--l-text) !important; }
  html[data-theme="light"] .operation-progress-head b { color: var(--l-amber) !important; }
  html[data-theme="light"] .operation-progress-card small { color: var(--l-muted) !important; }
  html[data-theme="light"] .skeleton.card {
    border: 0 !important;
    border-left: 0 !important;
    background: #ccd7dc !important;
    box-shadow: none !important;
  }
  html[data-theme="light"] .report-model-modal .report-model-builder {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Allow-list final: apenas cards informativos/KPI/aging/status/resumo e os
     quadrantes internos do drawer recebem cor -> branco/cinza mineral. */
  html[data-theme="light"] :is(
    .kpi-card, .metric-card-button,
    .snapshot-cards > article, .snapshot-cards > button,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .finalized-hero,
    .picking-client-summary, .client-picking-cards > button,
    .manager-summary > article, .management-kpis > article,
    .phase-kpis > article, .capacity-kpis > article,
    .summary-grid > article, .mirror-tracking-kpis > article,
    .sync-map-grid > article, .role-guide > article,
    .summary-card, .summary-box, .scope-list > div, .count-list > div,
    .program-card, .program-type-card, .shortage-card, .purchase-card,
    .aging-card, .batch-card, .product-card.panel, .phase-saved-card,
    .staging-refresh-card.panel, .integration-card, .sync-map-card,
    .drawer-summary > div, .detail-grid > div, .detail-box
  ) {
    border-color: color-mix(in srgb, var(--surface-tone) 38%, var(--l-border)) !important;
    border-left: 4px solid var(--surface-tone) !important;
    background: linear-gradient(112deg,
      color-mix(in srgb, var(--surface-tone-soft) 84%, var(--l-surface-deep)) 0%,
      color-mix(in srgb, var(--surface-tone-soft) 48%, var(--l-surface-raised)) 33%,
      var(--l-surface-raised) 72%,
      var(--l-surface) 100%) !important;
    color: var(--l-text) !important;
    box-shadow: var(--l-shadow-soft) !important;
  }
  html[data-theme="light"] :is(
    .kpi-card, .metric-card-button, .snapshot-cards > button,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .client-picking-cards > button
  ):hover {
    background: linear-gradient(112deg,
      color-mix(in srgb, var(--surface-tone-soft) 92%, var(--l-surface-deep)) 0%,
      color-mix(in srgb, var(--surface-tone-soft) 56%, var(--l-surface-raised)) 35%,
      var(--l-surface-raised) 74%,
      var(--l-surface) 100%) !important;
  }
  html[data-theme="light"] :is(.picking-client-summary, .client-picking-cards > button) {
    --surface-tone: var(--l-blue) !important;
    --surface-tone-soft: var(--l-blue-soft) !important;
  }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) {
    --surface-tone: var(--l-teal);
    --surface-tone-soft: var(--l-teal-soft);
  }
  /* Fallback variado para os quadrantes; classes/tags reais refinam o significado. */
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):nth-child(6n+1) { --surface-tone: var(--l-blue); --surface-tone-soft: var(--l-blue-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):nth-child(6n+2) { --surface-tone: var(--l-purple); --surface-tone-soft: var(--l-purple-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):nth-child(6n+3) { --surface-tone: var(--l-amber); --surface-tone-soft: var(--l-amber-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):nth-child(6n+4) { --surface-tone: var(--l-teal); --surface-tone-soft: var(--l-teal-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):nth-child(6n+5) { --surface-tone: var(--l-green); --surface-tone-soft: var(--l-green-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):nth-child(6n+6) { --surface-tone: var(--l-red); --surface-tone-soft: var(--l-red-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):has(:is(.tag-green, .tag-success)) { --surface-tone: var(--l-green); --surface-tone-soft: var(--l-green-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):has(:is(.tag-amber, .tag-yellow, .tag-warning)) { --surface-tone: var(--l-amber); --surface-tone-soft: var(--l-amber-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):has(.tag-orange) { --surface-tone: var(--l-orange); --surface-tone-soft: var(--l-orange-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):has(:is(.tag-red, .tag-danger, .tag-error)) { --surface-tone: var(--l-red); --surface-tone-soft: var(--l-red-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):has(.tag-blue) { --surface-tone: var(--l-blue); --surface-tone-soft: var(--l-blue-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):has(.tag-teal) { --surface-tone: var(--l-teal); --surface-tone-soft: var(--l-teal-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):has(:is(.tag-purple, .tag-violet)) { --surface-tone: var(--l-purple); --surface-tone-soft: var(--l-purple-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):has(.tag-line) { --surface-tone: var(--l-teal); --surface-tone-soft: var(--l-teal-soft); }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box):has(:is(.tag-gray, .tag-neutral)) { --surface-tone: var(--l-neutral); --surface-tone-soft: var(--l-neutral-soft); }
  html[data-theme="light"] .product-card.panel {
    --surface-tone: var(--l-purple) !important;
    --surface-tone-soft: var(--l-purple-soft) !important;
  }
  html[data-theme="light"] .finalized-hero {
    --surface-tone: var(--l-teal) !important;
    --surface-tone-soft: var(--l-teal-soft) !important;
  }

  /* Tipografia dos cards permitidos: rótulo semântico, valor carvão, apoio sóbrio. */
  html[data-theme="light"] :is(
    .manager-summary > article, .management-kpis > article,
    .phase-kpis > article, .capacity-kpis > article,
    .summary-grid > article, .mirror-tracking-kpis > article,
    .sync-map-grid > article, .role-guide > article,
    .scope-list > div, .count-list > div
  ) > span { color: var(--surface-tone) !important; opacity: 1 !important; }
  html[data-theme="light"] :is(
    .manager-summary > article, .management-kpis > article,
    .phase-kpis > article, .capacity-kpis > article,
    .summary-grid > article, .mirror-tracking-kpis > article,
    .sync-map-grid > article, .role-guide > article,
    .scope-list > div, .count-list > div,
    .drawer-summary > div, .detail-grid > div, .detail-box
  ) > strong { color: #16232c !important; }
  html[data-theme="light"] :is(
    .manager-summary > article, .management-kpis > article,
    .phase-kpis > article, .capacity-kpis > article,
    .summary-grid > article, .mirror-tracking-kpis > article,
    .sync-map-grid > article, .role-guide > article,
    .scope-list > div, .count-list > div,
    .drawer-summary > div, .detail-grid > div, .detail-box
  ) > small { color: var(--l-muted) !important; opacity: 1 !important; }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) > span:first-child {
    color: var(--surface-tone) !important;
    opacity: 1 !important;
  }

  /* Reafirma o contrato no fim da cascata: nenhuma superfície genérica o achata. */
  html[data-theme="light"] :is(.red, .critical, .danger, .tone-red, .is-error) { --surface-tone: var(--l-red) !important; --surface-tone-soft: var(--l-red-soft) !important; --card-tone: var(--l-red) !important; --card-soft: var(--l-red-soft) !important; }
  html[data-theme="light"] :is(.green, .healthy, .success, .tone-green) { --surface-tone: var(--l-green) !important; --surface-tone-soft: var(--l-green-soft) !important; --card-tone: var(--l-green) !important; --card-soft: var(--l-green-soft) !important; }
  html[data-theme="light"] :is(.amber, .yellow, .attention, .warning, .tone-amber, .tone-yellow) { --surface-tone: var(--l-amber) !important; --surface-tone-soft: var(--l-amber-soft) !important; --card-tone: var(--l-amber) !important; --card-soft: var(--l-amber-soft) !important; }
  html[data-theme="light"] :is(.orange, .tone-orange) { --surface-tone: var(--l-orange) !important; --surface-tone-soft: var(--l-orange-soft) !important; --card-tone: var(--l-orange) !important; --card-soft: var(--l-orange-soft) !important; }
  html[data-theme="light"] :is(.blue, .neutral, .tone-blue) { --surface-tone: var(--l-blue) !important; --surface-tone-soft: var(--l-blue-soft) !important; --card-tone: var(--l-blue) !important; --card-soft: var(--l-blue-soft) !important; }
  html[data-theme="light"] :is(.teal, .tone-teal) { --surface-tone: var(--l-teal) !important; --surface-tone-soft: var(--l-teal-soft) !important; --card-tone: var(--l-teal) !important; --card-soft: var(--l-teal-soft) !important; }
  html[data-theme="light"] :is(.purple, .violet, .tone-purple, .tone-violet) { --surface-tone: var(--l-purple) !important; --surface-tone-soft: var(--l-purple-soft) !important; --card-tone: var(--l-purple) !important; --card-soft: var(--l-purple-soft) !important; }

  /* Progresso de impressão: visível sem bloquear a navegação. */
  .operation-progress {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(2, 10, 17, .58);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
  }
  .operation-progress.visible { opacity: 1; pointer-events: auto; }
  .operation-progress-card {
    width: min(540px, 94vw);
    border: 1px solid #344957;
    border-radius: 14px;
    background: linear-gradient(145deg, #081923, #102a39);
    color: #fff;
    padding: 22px;
    box-shadow: 0 24px 60px rgba(0,0,0,.38);
  }
  .operation-progress-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
  .operation-progress-head div { display: grid; gap: 5px; }
  .operation-progress-head span { color: #43d2d2; font-size: 10px; font-weight: 850; letter-spacing: .14em; }
  .operation-progress-head strong { font-size: 17px; }
  .operation-progress-head b { color: #ffcf4a; font-size: 24px; }
  .operation-progress-track { height: 10px; overflow: hidden; border-radius: 99px; background: #243b49; margin: 18px 0 10px; }
  .operation-progress-track i { display: block; width: 3%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #18b5b2, #f0bd37); transition: width .28s ease; }
  .operation-progress-card small { color: #aebfca; line-height: 1.45; }
}

/* --------------------------------------------------------------------------
   0.17.1 · CONTRATO VISUAL CLARO ZAHR﻿EN

   06 = KPIs principais: branco executivo com luz semântica discreta.
   14 = cartões neutros: branco + curva prata, sem cor de status no fundo.
   15 = KPIs secundários: cor suave + prata, mantendo a hierarquia visual.

   Este bloco é deliberadamente o último do arquivo para impedir que estilos
   legados achatem todos os cartões em uma única cor. O tema escuro não é
   alcançado por nenhum seletor deste contrato.
   -------------------------------------------------------------------------- */
@media screen {
  html[data-theme="light"] {
    --l-bg: #f2f4f6;
    --l-bg-deep: #e9edf0;
    --l-surface: #ffffff;
    --l-surface-raised: #ffffff;
    --l-surface-soft: #f7f8f9;
    --l-surface-deep: #eef1f3;
    --l-field: #ffffff;
    --l-text: #172630;
    --l-muted: #526873;
    --l-soft: #6a7d86;
    --l-border: #cbd4da;
    --l-border-soft: #dce3e7;
    --l-neutral: #536772;
    --l-neutral-soft: #dce3e7;
    --l-neutral-panel: linear-gradient(145deg, #ffffff 0%, #fafbfc 58%, #eef1f3 100%);
    --l-neutral-panel-strong: linear-gradient(145deg, #ffffff 0%, #f4f6f8 54%, #e7ecef 100%);
    --l-neutral-control: linear-gradient(180deg, #ffffff 0%, #edf1f3 100%);
    --l-shadow: 0 8px 22px rgba(27, 43, 54, .09), inset 0 1px 0 rgba(255,255,255,.92);
    --l-shadow-soft: 0 4px 13px rgba(27, 43, 54, .065), inset 0 1px 0 rgba(255,255,255,.88);
    --canvas: var(--l-bg);
    --card: var(--l-surface);
    --ink: var(--l-text);
    --muted: var(--l-muted);
    --soft: var(--l-soft);
    --line: var(--l-border);
  }

  html[data-theme="light"] body {
    color: var(--l-text) !important;
    background:
      radial-gradient(circle at 7% -5%, rgba(177,190,198,.22), transparent 28%),
      radial-gradient(circle at 100% 0%, rgba(207,216,222,.24), transparent 28%),
      linear-gradient(145deg, #ffffff 0%, #f7f8fa 51%, #eef1f3 100%) fixed !important;
  }

  /* Estrutura global: a página e seus instrumentos usam a mesma família
     branca/prata. Cor passa a representar significado, não decoração. */
  html[data-theme="light"] :is(.sidebar, .top-navigation, .topbar) {
    border-color: #c7d1d7 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f6f8f9 60%, #edf1f3 100%) !important;
    box-shadow: 0 5px 17px rgba(24,39,49,.09) !important;
  }
  html[data-theme="light"] .nav-submenu {
    border-color: #c8d2d8 !important;
    background: linear-gradient(145deg, #ffffff 0%, #f6f8f9 64%, #e9eef1 100%) !important;
    box-shadow: 0 16px 34px rgba(25,39,50,.15) !important;
  }
  html[data-theme="light"] :is(.nav-menu-trigger:hover, .nav-menu-trigger[aria-expanded="true"], .nav-item:hover, .nav-item.active) {
    background: linear-gradient(180deg, #ffffff, #eef2f4) !important;
  }

  html[data-theme="light"] :is(
    .panel, .card, .table-card, .chart-card, .chart-panel, .operational-snapshot,
    .program-batch, .report-model-card, .setting-card, .settings-card,
    .drawer-section, .drawer-profile, .empty-state, .section-empty,
    .program-type-manager, .report-model-builder, .report-runner, .program-confirm-panel,
    .program-archive, .phase-registration, .phase-client-filter,
    .settings-section, .settings-side, .settings-form, .user-access,
    .scenario-panel, .activity-builder, .workforce-flow-panel,
    .mega-source-panel, .personal-mega-form, .export-favorites
  ) {
    border-color: var(--l-border) !important;
    background: linear-gradient(145deg, #ffffff 0%, #ffffff 62%, #f3f5f7 100%) !important;
    color: var(--l-text) !important;
    box-shadow: var(--l-shadow) !important;
  }

  html[data-theme="light"] :is(.page-heading, .page-heading.without-page-actions, .page-heading.many-page-actions) {
    border-color: var(--l-border) !important;
    border-left-color: var(--l-red) !important;
    background: linear-gradient(145deg, #ffffff 0%, #fbfcfd 58%, #eef1f3 100%) !important;
    color: var(--l-text) !important;
    box-shadow: var(--l-shadow) !important;
  }

  html[data-theme="light"] :is(
    .filter-bar, .filters, .toolbar, .table-toolbar, .control-bar, .page-actions,
    .portfolio-toolbar, .drawer-actions, .modal-actions, .settings-actions,
    .report-runner-row, .confirm-program-grid, .activity-grid, .scenario-grid,
    .purchase-filter, .all-parts-filters, .parts-test-filters, .phase-filter-grid,
    .model-form-actions, .row-actions
  ) {
    border-color: #ccd6dc !important;
    background: linear-gradient(180deg, #ffffff 0%, #f5f7f8 70%, #edf1f3 100%) !important;
    box-shadow: var(--l-shadow-soft) !important;
  }
  html[data-theme="light"] :is(input, select, textarea, .multi-filter > summary, .multi-filter-menu, .search-wrap) {
    border-color: #c3cfd6 !important;
    background: #ffffff !important;
    color: #1b2b35 !important;
    box-shadow: inset 0 1px 2px rgba(29,45,55,.035) !important;
  }
  html[data-theme="light"] :is(input, select, textarea, .multi-filter > summary):focus-within,
  html[data-theme="light"] :is(input, select, textarea):focus {
    border-color: #397fb8 !important;
    box-shadow: 0 0 0 3px rgba(33,111,172,.13) !important;
  }

  html[data-theme="light"] :is(.panel-head, .card-head, .section-title, .drawer-section-head, .report-model-builder-head) {
    border-bottom-color: #d8e0e5 !important;
    background: linear-gradient(90deg, #f2f5f7 0%, #ffffff 48%, #edf1f3 100%) !important;
  }
  html[data-theme="light"] :is(.data-table, table) { color: #20313b !important; }
  html[data-theme="light"] :is(.data-table thead, table thead) {
    background: linear-gradient(180deg, #edf2f5 0%, #e2e8ec 100%) !important;
  }
  html[data-theme="light"] :is(.data-table th, table th) {
    border-color: #cbd5db !important;
    color: #354d59 !important;
  }
  html[data-theme="light"] :is(.data-table td, table td) { border-color: #e0e6ea !important; }
  html[data-theme="light"] :is(.data-table tbody tr, table tbody tr) { background: #ffffff !important; }
  html[data-theme="light"] :is(.data-table tbody tr:nth-child(even), table tbody tr:nth-child(even)) { background: #f7f9fa !important; }
  html[data-theme="light"] :is(.data-table tbody tr:hover, table tbody tr:hover) { background: #edf4f7 !important; }

  /* NÍVEL 06 · Cards principais. O cartão permanece predominantemente branco;
     a cor entra como luz, borda e sinal, igual ao conceito aprovado. */
  html[data-theme="light"] .kpi-grid > .kpi-card {
    background:
      radial-gradient(92% 86% at 104% 104%, color-mix(in srgb, var(--surface-tone) 18%, transparent) 0%, transparent 58%),
      linear-gradient(138deg, #ffffff 0%, #ffffff 52%, color-mix(in srgb, var(--surface-tone) 9%, #eef1f3) 100%) !important;
    border: 1px solid color-mix(in srgb, var(--surface-tone) 26%, #ccd5db) !important;
    border-left: 3px solid color-mix(in srgb, var(--surface-tone) 72%, #9eaeb7) !important;
    box-shadow: 0 6px 17px rgba(24,40,51,.075), inset 0 1px 0 rgba(255,255,255,.96) !important;
  }
  html[data-theme="light"] .kpi-grid > .kpi-card:hover {
    background:
      radial-gradient(95% 90% at 104% 104%, color-mix(in srgb, var(--surface-tone) 24%, transparent) 0%, transparent 60%),
      linear-gradient(138deg, #ffffff 0%, #ffffff 48%, color-mix(in srgb, var(--surface-tone) 13%, #e9edef) 100%) !important;
    border-color: color-mix(in srgb, var(--surface-tone) 38%, #c1ccd2) !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(24,40,51,.11), inset 0 1px 0 rgba(255,255,255,.98) !important;
  }
  html[data-theme="light"] .kpi-grid > .kpi-card :is(.kpi-title, .kpi-signal, .kpi-link, .kpi-symbol) {
    color: var(--surface-tone) !important;
  }
  html[data-theme="light"] .kpi-grid > .kpi-card .kpi-number { color: #182832 !important; }
  html[data-theme="light"] .kpi-grid > .kpi-card .kpi-breakdown { color: #586d78 !important; }

  /* NÍVEL 14 · Cards neutros. A curva prata diferencia o quadrante sem criar
     um falso status. Tags e pequenos indicadores internos conservam sua cor. */
  html[data-theme="light"] :is(
    .picking-client-summary, .client-picking-cards > button,
    .summary-card, .summary-box, .scope-list > div, .count-list > div,
    .program-card, .program-type-card, .shortage-card, .purchase-card,
    .aging-card, .batch-card, .product-card.panel, .phase-saved-card,
    .staging-refresh-card.panel, .integration-card, .sync-map-card,
    .sync-map-grid > article, .role-guide > article, .finalized-hero
  ) {
    background:
      radial-gradient(132% 92% at 112% 124%, #dde4e8 0%, #edf1f3 47%, transparent 48%),
      linear-gradient(145deg, #ffffff 0%, #ffffff 62%, #f3f5f7 100%) !important;
    border-color: #cdd7dd !important;
    border-left-color: #aebbc3 !important;
    color: #1b2b35 !important;
    box-shadow: 0 5px 14px rgba(28,44,55,.07), inset 0 1px 0 rgba(255,255,255,.96) !important;
  }
  html[data-theme="light"] .client-picking-cards > button:hover {
    background:
      radial-gradient(132% 92% at 112% 124%, #d4dde2 0%, #e8edef 48%, transparent 49%),
      linear-gradient(145deg, #ffffff 0%, #fbfcfd 62%, #eef2f4 100%) !important;
    border-color: #b9c6cd !important;
  }
  html[data-theme="light"] :is(.client-picking-cards > button, .picking-client-summary) :is(strong, b, h2, h3) { color: #172832 !important; }
  html[data-theme="light"] :is(.client-picking-cards > button, .picking-client-summary) :is(span, small, p) { color: #596e79 !important; }

  /* NÍVEL 15 · Cards secundários. Eles carregam a mesma cor do indicador,
     porém com menor peso que os cards principais. */
  html[data-theme="light"] :is(
    .snapshot-cards > button, .snapshot-cards > article,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .manager-summary > article,
    .management-kpis > article, .phase-kpis > article,
    .capacity-kpis > article, .summary-grid > article,
    .mirror-tracking-kpis > article, .alert-kpis > article
  ) {
    background:
      radial-gradient(78% 92% at 2% 3%, color-mix(in srgb, var(--surface-tone) 17%, transparent) 0%, transparent 58%),
      linear-gradient(122deg,
        color-mix(in srgb, var(--surface-tone) 9%, #ffffff) 0%,
        #ffffff 55%,
        #eef1f3 100%) !important;
    border: 1px solid color-mix(in srgb, var(--surface-tone) 24%, #ccd6dc) !important;
    border-left: 3px solid color-mix(in srgb, var(--surface-tone) 76%, #9eacb5) !important;
    box-shadow: 0 4px 13px rgba(27,43,54,.065), inset 0 1px 0 rgba(255,255,255,.95) !important;
    color: #1b2b35 !important;
  }
  html[data-theme="light"] :is(
    .snapshot-cards > button, .ptn-indicator-grid > button,
    .program-pulse > button, .finalized-mini-card
  ):hover {
    background:
      radial-gradient(82% 94% at 2% 3%, color-mix(in srgb, var(--surface-tone) 23%, transparent) 0%, transparent 60%),
      linear-gradient(122deg,
        color-mix(in srgb, var(--surface-tone) 13%, #ffffff) 0%,
        #ffffff 53%,
        #e9edef 100%) !important;
    border-color: color-mix(in srgb, var(--surface-tone) 36%, #c2cdd3) !important;
    transform: translateY(-1px);
  }
  html[data-theme="light"] :is(
    .snapshot-cards > button, .snapshot-cards > article,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .manager-summary > article,
    .management-kpis > article, .phase-kpis > article,
    .capacity-kpis > article, .summary-grid > article,
    .mirror-tracking-kpis > article, .alert-kpis > article
  ) > :is(span, em) { color: var(--surface-tone) !important; opacity: 1 !important; }
  html[data-theme="light"] :is(
    .snapshot-cards > button, .snapshot-cards > article,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .manager-summary > article,
    .management-kpis > article, .phase-kpis > article,
    .capacity-kpis > article, .summary-grid > article,
    .mirror-tracking-kpis > article, .alert-kpis > article
  ) > strong { color: #182832 !important; }
  html[data-theme="light"] :is(
    .snapshot-cards > button, .snapshot-cards > article,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .manager-summary > article,
    .management-kpis > article, .phase-kpis > article,
    .capacity-kpis > article, .summary-grid > article,
    .mirror-tracking-kpis > article, .alert-kpis > article
  ) > small { color: #5a6f79 !important; opacity: 1 !important; }

  /* Abrir PTN: leitura neutra e prolongada; sem o arco-íris dos dashboards. */
  html[data-theme="light"] :is(.drawer, .drawer-sheet, .modal, .modal-card, .dialog-panel) {
    border-color: #bdc9d0 !important;
    background: linear-gradient(145deg, #ffffff 0%, #f7f9fa 62%, #edf1f3 100%) !important;
    color: #192a34 !important;
  }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) {
    --surface-tone: var(--l-neutral) !important;
    --surface-tone-soft: var(--l-neutral-soft) !important;
    background: #eef2f4 !important;
    border: 1px solid #cbd5db !important;
    border-left: 3px solid #9eacb5 !important;
    box-shadow: 0 3px 9px rgba(29,45,56,.055) !important;
    color: #182832 !important;
  }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) > span:first-child { color: #576b76 !important; }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) > strong { color: #182832 !important; }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) > small { color: #566a75 !important; }

  /* Ações: mesmas cores semânticas dos cards, agora mais vivas e uniformes. */
  html[data-theme="light"] .btn-primary {
    background: linear-gradient(135deg, #f13b47 0%, #cf1d2a 58%, #a9111d 100%) !important;
    border-color: #aa1520 !important;
    color: #ffffff !important;
    box-shadow: 0 7px 16px rgba(190,24,36,.21) !important;
  }
  html[data-theme="light"] .btn-secondary {
    background: linear-gradient(135deg, #3698e9 0%, #1471c1 58%, #0a529a 100%) !important;
    border-color: #0b5a9f !important;
    color: #ffffff !important;
    box-shadow: 0 6px 15px rgba(18,103,181,.19) !important;
  }
  html[data-theme="light"] .btn-excel {
    background: linear-gradient(135deg, #2eb875 0%, #0b8b52 58%, #06683c 100%) !important;
    border-color: #087144 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 14px rgba(10,126,74,.17) !important;
  }
  html[data-theme="light"] :is(.btn-ghost, .btn-clear-filters) {
    background: linear-gradient(180deg, #ffffff 0%, #edf1f3 100%) !important;
    border-color: #c4cfd6 !important;
    color: #273b46 !important;
    box-shadow: 0 3px 9px rgba(28,44,54,.055) !important;
  }
  html[data-theme="light"] :is(.btn-ghost, .btn-clear-filters):hover {
    background: linear-gradient(180deg, #ffffff 0%, #e5ebee 100%) !important;
    border-color: #acbbc4 !important;
  }

  /* Gráficos, alertas e tabelas não recebem gradiente semântico de card. A cor
     aparece somente em séries, barras, ícones, tags e estados. */
  html[data-theme="light"] :is(
    .chart-card, .chart-panel, .manager-chart-grid > article,
    .dashboard-primary-charts > article, .analytics-grid > article,
    .decision-command-bar, .decision-tile, .audit-explainer,
    .refresh-banner, .exclusion-alert, .coverage-banner, .program-guard,
    .rule-note, .settings-note, .period-banner, .phase-source-banner,
    .table-card, .table-wrap
  ) {
    background: linear-gradient(145deg, #ffffff 0%, #ffffff 68%, #f2f5f7 100%) !important;
    border-color: #ccd6dc !important;
    color: #1b2b35 !important;
  }

  html[data-theme="light"] .missing-info,
  html[data-theme="light"] .print-missing { color: #c31522 !important; }
}

/* 0.17 · acabamento claro: estrutura branca, prata apenas dentro dos cards. */
@media screen {
  html[data-theme="light"] {
    --l-bg: #f7f8fa;
    --l-bg-deep: #eef1f4;
    --l-surface: #ffffff;
    --l-surface-raised: #fbfcfd;
    --l-surface-soft: #f3f5f7;
    --l-surface-deep: #e9edf0;
    --l-field: #ffffff;
  }
  html[data-theme="light"] body {
    background: linear-gradient(145deg, #ffffff 0%, #f7f8fa 58%, #eef1f4 100%) fixed !important;
  }
  html[data-theme="light"] :is(.sidebar, .top-navigation, .topbar) {
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fa 100%) !important;
    border-color: #d6dde2 !important;
    box-shadow: 0 4px 15px rgba(24,37,47,.08) !important;
  }
  html[data-theme="light"] :is(
    .panel, .table-card, .chart-card, .chart-panel, .operational-snapshot,
    .analytics-panel, .decision-panel, .alert-panel, .filter-bar,
    .filter-result-indicator, .mass-toolbar, .page-heading, .drawer,
    .drawer-section, .drawer-content > section, .modal, .report-model-builder,
    .settings-form, .navigation-settings, .sync-map, .mega-source-panel,
    .mirror-tracking, .ignored-audit, .ignored-client-form
  ) {
    background: linear-gradient(145deg, #ffffff 0%, #fbfcfd 68%, #f4f6f8 100%) !important;
    border-color: #d7dee3 !important;
    box-shadow: 0 5px 16px rgba(26,40,50,.07) !important;
  }
  html[data-theme="light"] :is(input, select, textarea, .multi-filter > summary) {
    background: #ffffff !important;
    border-color: #cfd8de !important;
  }

  /* Cards semânticos: cor viva misturada ao prata, sem transformar o painel inteiro. */
  html[data-theme="light"] :is(
    .kpi-card, .metric-card-button,
    .snapshot-cards > article, .snapshot-cards > button,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .finalized-hero,
    .picking-client-summary, .client-picking-cards > button,
    .manager-summary > article, .management-kpis > article,
    .phase-kpis > article, .capacity-kpis > article,
    .summary-grid > article, .mirror-tracking-kpis > article,
    .summary-card, .summary-box, .scope-list > div, .count-list > div,
    .program-card, .program-type-card, .shortage-card, .purchase-card,
    .aging-card, .batch-card, .product-card.panel, .phase-saved-card,
    .staging-refresh-card.panel, .integration-card, .sync-map-card
  ) {
    background:
      radial-gradient(circle at 7% 0%, color-mix(in srgb, var(--surface-tone) 43%, transparent) 0%, transparent 47%),
      linear-gradient(116deg,
        color-mix(in srgb, var(--surface-tone) 34%, #dce2e6) 0%,
        color-mix(in srgb, var(--surface-tone) 23%, #e5e9ec) 44%,
        #edf0f2 73%,
        #f6f7f8 100%) !important;
    border-color: color-mix(in srgb, var(--surface-tone) 58%, #aeb9c0) !important;
    box-shadow: 0 7px 18px rgba(26,40,50,.10), inset 0 1px 0 rgba(255,255,255,.68) !important;
  }
  html[data-theme="light"] :is(
    .kpi-card, .metric-card-button, .snapshot-cards > button,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .client-picking-cards > button
  ):hover {
    background:
      radial-gradient(circle at 7% 0%, color-mix(in srgb, var(--surface-tone) 51%, transparent) 0%, transparent 48%),
      linear-gradient(116deg,
        color-mix(in srgb, var(--surface-tone) 40%, #d6dde1) 0%,
        color-mix(in srgb, var(--surface-tone) 27%, #e0e5e8) 45%,
        #e9edef 74%,
        #f3f5f6 100%) !important;
  }

  /* O drawer privilegia leitura: quadrantes brancos, sem arco-íris. */
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) {
    background: linear-gradient(145deg, #ffffff, #f4f6f8) !important;
    border: 1px solid #ced7dd !important;
    border-left: 4px solid #758792 !important;
    box-shadow: 0 4px 12px rgba(32,48,59,.07) !important;
  }

  /* Ações ganham presença, mas permanecem corporativas e não neon. */
  html[data-theme="light"] .btn-primary {
    background: linear-gradient(135deg, #ef3340 0%, #c41624 58%, #9d101b 100%) !important;
    border-color: #a7131e !important;
    color: #ffffff !important;
    box-shadow: 0 7px 16px rgba(184,20,32,.22) !important;
  }
  html[data-theme="light"] .btn-secondary {
    background: linear-gradient(135deg, #2587dd 0%, #1264b0 100%) !important;
    border-color: #0d589e !important;
    color: #ffffff !important;
    box-shadow: 0 6px 14px rgba(18,100,176,.18) !important;
  }
  html[data-theme="light"] .btn-excel {
    background: linear-gradient(135deg, #25a666 0%, #087745 100%) !important;
    border-color: #086a3e !important;
    color: #ffffff !important;
  }
  html[data-theme="light"] :is(.btn-ghost, .btn-clear-filters) {
    background: linear-gradient(180deg, #ffffff 0%, #edf1f4 100%) !important;
    border-color: #c5d0d7 !important;
    color: #263844 !important;
  }
  .navigation-view-row > span { min-width: 0; }
  .navigation-view-row > span > input { width: 100%; margin-bottom: 4px; font-weight: 800; }
}

/* Sincronização modal, única e bloqueante para toda a aplicação. */
#syncButton {
  width: 158px;
  min-width: 158px;
  justify-content: center;
  white-space: nowrap;
  transform: none !important;
}
.sync-progress-backdrop {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(3,10,16,.72);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity .18s ease;
}
.sync-progress-backdrop[hidden] { display: none !important; }
.sync-progress-backdrop.visible { opacity: 1; }
.sync-progress-dialog {
  width: min(580px, 94vw);
  border: 1px solid #3b5362;
  border-radius: 16px;
  padding: 24px;
  background: linear-gradient(145deg, #071722 0%, #102a39 100%);
  color: #ffffff;
  box-shadow: 0 30px 80px rgba(0,0,0,.44);
}
.sync-progress-brand { display: flex; align-items: center; gap: 12px; }
.sync-progress-brand > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 9px; background: linear-gradient(145deg,#f02b39,#a90e19); font-size: 22px; font-weight: 950; }
.sync-progress-brand > div { display: grid; gap: 3px; }
.sync-progress-brand small { color: #4ce0d7; font-size: 10px; font-weight: 900; letter-spacing: .15em; }
.sync-progress-brand strong { font-size: 18px; }
.sync-progress-value { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-top: 28px; }
.sync-progress-value strong { color: #ffce45; font-size: 44px; line-height: 1; }
.sync-progress-value span { color: #dbe8ee; text-align: right; font-weight: 750; }
.sync-progress-track { height: 12px; overflow: hidden; margin: 18px 0 12px; border-radius: 99px; background: #263e4b; }
.sync-progress-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#18b9b0 0%,#2689e7 55%,#ffcf45 100%); transition: width .34s ease; }
.sync-progress-dialog > p { margin: 0; color: #aebfca; line-height: 1.55; }
.sync-progress-note { display: flex; align-items: center; gap: 8px; margin-top: 18px; padding-top: 15px; border-top: 1px solid #294250; color: #9fb3bf; }
.sync-live-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #35d277; box-shadow: 0 0 0 4px rgba(53,210,119,.13); }
body.sync-in-progress { overflow: hidden !important; }

/* Informação ausente é sempre um alerta vermelho, inclusive em impressão. */
.missing-info,
.print-missing {
  color: #c91622 !important;
  font-style: normal !important;
  font-weight: 850 !important;
}

@media screen {
  /* Ajuste executivo final do tema claro: a cor encontra o prata, nunca o
     branco puro. O drawer permanece mineral para leitura prolongada. */
  html[data-theme="light"] :is(
    .kpi-card, .metric-card-button,
    .snapshot-cards > article, .snapshot-cards > button,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .finalized-hero,
    .picking-client-summary, .client-picking-cards > button,
    .manager-summary > article, .management-kpis > article,
    .phase-kpis > article, .capacity-kpis > article,
    .summary-grid > article, .mirror-tracking-kpis > article,
    .sync-map-grid > article, .role-guide > article,
    .summary-card, .summary-box, .scope-list > div, .count-list > div,
    .program-card, .program-type-card, .shortage-card, .purchase-card,
    .aging-card, .batch-card, .product-card.panel, .phase-saved-card,
    .staging-refresh-card.panel, .integration-card, .sync-map-card
  ) {
    background:
      radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--surface-tone) 34%, transparent) 0%, transparent 46%),
      linear-gradient(116deg,
        color-mix(in srgb, var(--surface-tone) 28%, #bec9cf) 0%,
        color-mix(in srgb, var(--surface-tone) 18%, #c8d2d7) 45%,
        #d2dadd 100%) !important;
    border-color: color-mix(in srgb, var(--surface-tone) 54%, #9cabb4) !important;
  }
  html[data-theme="light"] :is(
    .kpi-card, .metric-card-button, .snapshot-cards > button,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .client-picking-cards > button
  ):hover {
    background:
      radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--surface-tone) 40%, transparent) 0%, transparent 48%),
      linear-gradient(116deg,
        color-mix(in srgb, var(--surface-tone) 34%, #b8c4ca) 0%,
        color-mix(in srgb, var(--surface-tone) 22%, #c3cdd2) 45%,
        #cdd6da 100%) !important;
  }

  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) {
    --surface-tone: #73838d !important;
    --surface-tone-soft: #d2d9dd !important;
    background: #d2d9dd !important;
    border: 1px solid #a9b6bd !important;
    border-left: 4px solid #7c8d97 !important;
    box-shadow: 0 5px 14px rgba(37,54,64,.09) !important;
    color: #17262f !important;
  }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) > span:first-child {
    color: #536772 !important;
  }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) > strong {
    color: #15242d !important;
  }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) > small {
    color: #4e626d !important;
  }

  .batch-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
  .batch-card-head time { display: grid; justify-items: end; gap: 2px; color: var(--muted); font-size: 12px; }
  .batch-card-head time b { color: var(--text); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
  .batch-status-counts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; width: 100%; }
  .batch-status-counts span { min-width: 0; border: 1px solid var(--border); border-radius: 8px; padding: 7px 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .batch-status-counts span b { margin-right: 4px; }
  .batch-status-counts .active { color: #087942; border-color: rgba(8,121,66,.34); }
  .batch-status-counts .finished { color: #1265b4; border-color: rgba(18,101,180,.34); }
  .batch-status-counts .removed { color: #b31b28; border-color: rgba(179,27,40,.34); }
  .batch-status-counts .draft { color: #8a5a00; border-color: rgba(138,90,0,.34); }

  .ignored-layout { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(0,1.8fr); gap: 14px; margin-bottom: 14px; }
  .ignored-client-form { align-content: start; }
  .ignored-client-form textarea { resize: vertical; }
  .ignored-kpis { margin-bottom: 14px; }
  .navigation-settings { margin-top: 14px; }
  .navigation-group-labels { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
  .navigation-view-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .navigation-view-grid > label { display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid var(--border); border-radius: 9px; padding: 10px 12px; }
  .navigation-view-grid > label > span { display: grid; gap: 3px; }
  .navigation-view-grid select { width: min(220px,48%); }
  .people-category-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .people-category { border: 1px solid var(--border); border-radius: 10px; padding: 12px; background: var(--surface); }
  .people-category header { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
  .people-category header span { font-size: 9px; font-weight: 850; letter-spacing: .12em; color: var(--muted); }
  .people-category header h3 { margin: 3px 0 0; }
  .people-category > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .people-category button { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; text-align: left; border: 1px solid var(--border); border-radius: 8px; padding: 9px 10px; background: var(--surface-raised); color: var(--text); }
  .people-category button small { grid-column: 1 / -1; color: var(--muted); }

  @media (max-width: 900px) {
    .ignored-layout, .people-category-grid, .navigation-view-grid { grid-template-columns: 1fr; }
    .navigation-group-labels { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .batch-status-counts { grid-template-columns: 1fr; }
  }
}

/* Trava final do contrato 06 / 14 / 15. Não mover regras de tema claro para
   depois deste bloco: ele é a fonte única da hierarquia visual aprovada. */
@media screen {
  html[data-theme="light"] {
    --l-bg: #f2f4f6;
    --l-bg-deep: #e9edf0;
    --l-surface: #ffffff;
    --l-surface-raised: #ffffff;
    --l-surface-soft: #f7f8f9;
    --l-surface-deep: #eef1f3;
    --l-field: #ffffff;
    --l-border: #cbd4da;
    --l-border-soft: #dce3e7;
  }
  html[data-theme="light"] body {
    background:
      radial-gradient(circle at 7% -5%, rgba(177,190,198,.22), transparent 28%),
      radial-gradient(circle at 100% 0%, rgba(207,216,222,.24), transparent 28%),
      linear-gradient(145deg, #ffffff 0%, #f7f8fa 51%, #eef1f3 100%) fixed !important;
  }
  html[data-theme="light"] :is(.sidebar, .top-navigation, .topbar) {
    background: linear-gradient(180deg, #ffffff 0%, #f6f8f9 60%, #edf1f3 100%) !important;
    border-color: #c7d1d7 !important;
  }
  html[data-theme="light"] :is(
    .panel, .card, .table-card, .chart-card, .chart-panel, .operational-snapshot,
    .program-batch, .report-model-card, .setting-card, .settings-card,
    .drawer-section, .drawer-profile, .empty-state, .section-empty,
    .program-type-manager, .report-model-builder, .report-runner, .program-confirm-panel,
    .program-archive, .phase-registration, .phase-client-filter,
    .settings-section, .settings-side, .settings-form, .user-access,
    .scenario-panel, .activity-builder, .workforce-flow-panel,
    .mega-source-panel, .personal-mega-form, .export-favorites
  ) {
    background: linear-gradient(145deg, #ffffff 0%, #ffffff 62%, #f3f5f7 100%) !important;
    border-color: #cbd4da !important;
  }
  html[data-theme="light"] :is(.page-heading, .page-heading.without-page-actions, .page-heading.many-page-actions) {
    background: linear-gradient(145deg, #ffffff 0%, #fbfcfd 58%, #eef1f3 100%) !important;
    border-color: #cbd4da !important;
    border-left-color: var(--l-red) !important;
  }
  html[data-theme="light"] :is(
    .filter-bar, .filters, .toolbar, .table-toolbar, .control-bar, .page-actions,
    .portfolio-toolbar, .drawer-actions, .modal-actions, .settings-actions,
    .report-runner-row, .confirm-program-grid, .activity-grid, .scenario-grid,
    .purchase-filter, .all-parts-filters, .parts-test-filters, .phase-filter-grid,
    .model-form-actions, .row-actions
  ) {
    background: linear-gradient(180deg, #ffffff 0%, #f5f7f8 70%, #edf1f3 100%) !important;
    border-color: #ccd6dc !important;
  }
  html[data-theme="light"] :is(input, select, textarea, .multi-filter > summary, .multi-filter-menu, .search-wrap) {
    background: #ffffff !important;
    border-color: #c3cfd6 !important;
    color: #1b2b35 !important;
  }
  html[data-theme="light"] :is(.panel-head, .card-head, .section-title, .drawer-section-head, .report-model-builder-head) {
    background: linear-gradient(90deg, #f2f5f7 0%, #ffffff 48%, #edf1f3 100%) !important;
    border-bottom-color: #d8e0e5 !important;
  }

  /* 06 · principal */
  html[data-theme="light"] .kpi-grid > .kpi-card {
    background:
      radial-gradient(92% 86% at 104% 104%, color-mix(in srgb, var(--surface-tone) 18%, transparent) 0%, transparent 58%),
      linear-gradient(138deg, #ffffff 0%, #ffffff 52%, color-mix(in srgb, var(--surface-tone) 9%, #eef1f3) 100%) !important;
    border: 1px solid color-mix(in srgb, var(--surface-tone) 26%, #ccd5db) !important;
    border-left: 3px solid color-mix(in srgb, var(--surface-tone) 72%, #9eaeb7) !important;
    box-shadow: 0 6px 17px rgba(24,40,51,.075), inset 0 1px 0 rgba(255,255,255,.96) !important;
  }
  html[data-theme="light"] .kpi-grid > .kpi-card:hover {
    background:
      radial-gradient(95% 90% at 104% 104%, color-mix(in srgb, var(--surface-tone) 24%, transparent) 0%, transparent 60%),
      linear-gradient(138deg, #ffffff 0%, #ffffff 48%, color-mix(in srgb, var(--surface-tone) 13%, #e9edef) 100%) !important;
    border-color: color-mix(in srgb, var(--surface-tone) 38%, #c1ccd2) !important;
  }

  /* 14 · neutro */
  html[data-theme="light"] :is(
    .picking-client-summary, .client-picking-cards > button,
    .summary-card, .summary-box, .scope-list > div, .count-list > div,
    .program-card, .program-type-card, .shortage-card, .purchase-card,
    .aging-card, .batch-card, .product-card.panel, .phase-saved-card,
    .staging-refresh-card.panel, .integration-card, .sync-map-card,
    .sync-map-grid > article, .role-guide > article, .finalized-hero
  ) {
    background:
      radial-gradient(132% 92% at 112% 124%, #dde4e8 0%, #edf1f3 47%, transparent 48%),
      linear-gradient(145deg, #ffffff 0%, #ffffff 62%, #f3f5f7 100%) !important;
    border-color: #cdd7dd !important;
    border-left-color: #aebbc3 !important;
    color: #1b2b35 !important;
    box-shadow: 0 5px 14px rgba(28,44,55,.07), inset 0 1px 0 rgba(255,255,255,.96) !important;
  }
  html[data-theme="light"] :is(.client-picking-cards > button, .picking-client-summary) :is(strong, b, h2, h3) { color: #172832 !important; }
  html[data-theme="light"] :is(.client-picking-cards > button, .picking-client-summary) :is(span, small, p) { color: #596e79 !important; }

  /* 15 · secundário */
  html[data-theme="light"] :is(
    .snapshot-cards > button, .snapshot-cards > article,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .manager-summary > article,
    .management-kpis > article, .phase-kpis > article,
    .capacity-kpis > article, .summary-grid > article,
    .mirror-tracking-kpis > article, .alert-kpis > article
  ) {
    background:
      radial-gradient(78% 92% at 2% 3%, color-mix(in srgb, var(--surface-tone) 17%, transparent) 0%, transparent 58%),
      linear-gradient(122deg, color-mix(in srgb, var(--surface-tone) 9%, #ffffff) 0%, #ffffff 55%, #eef1f3 100%) !important;
    border: 1px solid color-mix(in srgb, var(--surface-tone) 24%, #ccd6dc) !important;
    border-left: 3px solid color-mix(in srgb, var(--surface-tone) 76%, #9eacb5) !important;
    box-shadow: 0 4px 13px rgba(27,43,54,.065), inset 0 1px 0 rgba(255,255,255,.95) !important;
    color: #1b2b35 !important;
  }
  html[data-theme="light"] :is(
    .snapshot-cards > button, .snapshot-cards > article,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .manager-summary > article,
    .management-kpis > article, .phase-kpis > article,
    .capacity-kpis > article, .summary-grid > article,
    .mirror-tracking-kpis > article, .alert-kpis > article
  ) > :is(span, em) { color: var(--surface-tone) !important; opacity: 1 !important; }
  html[data-theme="light"] :is(
    .snapshot-cards > button, .snapshot-cards > article,
    .ptn-indicator-grid > button, .program-pulse > button,
    .finalized-mini-card, .manager-summary > article,
    .management-kpis > article, .phase-kpis > article,
    .capacity-kpis > article, .summary-grid > article,
    .mirror-tracking-kpis > article, .alert-kpis > article
  ) > strong { color: #182832 !important; }

  /* Abrir PTN é uma superfície mineral única, sem degradês semânticos. */
  html[data-theme="light"] :is(.drawer, .drawer-sheet, .modal, .modal-card, .dialog-panel) {
    background: linear-gradient(145deg, #ffffff 0%, #f7f9fa 62%, #edf1f3 100%) !important;
    border-color: #bdc9d0 !important;
    color: #192a34 !important;
  }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) {
    --surface-tone: var(--l-neutral) !important;
    --surface-tone-soft: var(--l-neutral-soft) !important;
    background: #eef2f4 !important;
    border: 1px solid #cbd5db !important;
    border-left: 3px solid #9eacb5 !important;
    box-shadow: 0 3px 9px rgba(29,45,56,.055) !important;
    color: #182832 !important;
  }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) > span:first-child { color: #576b76 !important; }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) > strong { color: #182832 !important; }
  html[data-theme="light"] :is(.drawer-summary > div, .detail-grid > div, .detail-box) > small { color: #566a75 !important; }

  /* Painéis analíticos, alertas, tabelas e gráficos ficam neutros. */
  html[data-theme="light"] :is(
    .chart-card, .chart-panel, .manager-chart-grid > article,
    .dashboard-primary-charts > article, .analytics-grid > article,
    .decision-command-bar, .decision-tile, .audit-explainer,
    .refresh-banner, .exclusion-alert, .coverage-banner, .program-guard,
    .rule-note, .settings-note, .period-banner, .phase-source-banner,
    .table-card, .table-wrap
  ) {
    background: linear-gradient(145deg, #ffffff 0%, #ffffff 68%, #f2f5f7 100%) !important;
    border-color: #ccd6dc !important;
    color: #1b2b35 !important;
  }
  html[data-theme="light"] :is(.data-table thead, table thead) { background: linear-gradient(180deg, #edf2f5 0%, #e2e8ec 100%) !important; }
  html[data-theme="light"] :is(.data-table tbody tr, table tbody tr) { background: #ffffff !important; }
  html[data-theme="light"] :is(.data-table tbody tr:nth-child(even), table tbody tr:nth-child(even)) { background: #f7f9fa !important; }
  html[data-theme="light"] :is(.data-table tbody tr:hover, table tbody tr:hover) { background: #edf4f7 !important; }

  /* Ações e fontes compartilham as mesmas cores vivas dos cards. */
  html[data-theme="light"] .btn-primary { background: linear-gradient(135deg, #f13b47 0%, #cf1d2a 58%, #a9111d 100%) !important; border-color: #aa1520 !important; color: #fff !important; }
  html[data-theme="light"] .btn-secondary { background: linear-gradient(135deg, #3698e9 0%, #1471c1 58%, #0a529a 100%) !important; border-color: #0b5a9f !important; color: #fff !important; }
  html[data-theme="light"] .btn-excel { background: linear-gradient(135deg, #2eb875 0%, #0b8b52 58%, #06683c 100%) !important; border-color: #087144 !important; color: #fff !important; }
  html[data-theme="light"] :is(.btn-ghost, .btn-clear-filters) { background: linear-gradient(180deg, #fff 0%, #edf1f3 100%) !important; border-color: #c4cfd6 !important; color: #273b46 !important; }
}
