/* V04: ERP-only theme bridge. Paper/PDF content remains its own document;
   the viewer, interactive forms, menus and every app surface use theme tokens. */
body:is(.tricios-erp,.tricios-account) {
  --tricios-field:var(--tricios-surface);
  --tricios-sheet:var(--tricios-background);
  --tricios-app-wine:var(--tricios-burgundy);
  --tricios-danger-surface:#F9EDF0;
  --tricios-danger-ink:#76243B;
  --tricios-warning-surface:#F7F1E6;
  --tricios-warning-ink:#765A25;
  --tricios-success-surface:#ECF4EF;
  --tricios-success-ink:#306147;
}
html[data-theme="dark"] body:is(.tricios-erp,.tricios-account),
body:is(.tricios-erp,.tricios-account)[data-theme="dark"] {
  --tricios-background:#0A0A0B;
  --tricios-card:#171719;
  --tricios-surface:#222225;
  --tricios-field:#222225;
  --tricios-sheet:#1C1C1F;
  --tricios-line:#2B2B30;
  --tricios-ink:#F5F5F7;
  --tricios-muted:#A6A6AD;
  --tricios-accent:#76243B;
  --tricios-accent-hover:#8C2D48;
  --tricios-app-wine:#B84468;
  --tricios-electric:var(--tricios-app-wine);
  --tricios-danger-surface:#2D1820;
  --tricios-danger-ink:#E5A1B5;
  --tricios-warning-surface:#29241B;
  --tricios-warning-ink:#D5B97E;
  --tricios-success-surface:#19271F;
  --tricios-success-ink:#95BEA3;
  --tricios-focus:0 0 0 3px rgba(184,68,104,.22);
  --pc-paper:var(--tricios-card);
  --pc-bg:var(--tricios-background);
  --pc-line:var(--tricios-line);
  --pc-muted:var(--tricios-muted);
  --pc-green:var(--tricios-ink);
  --pc-green2:var(--tricios-accent);
  --pc-gold:var(--tricios-app-wine);
  --pc-red:var(--tricios-danger-ink);
  --cal-blue-bg:var(--tricios-surface);
  --cal-purple-bg:var(--tricios-surface);
  --cal-green-bg:var(--tricios-surface);
  --cal-gold-bg:var(--tricios-warning-surface);
  --cal-orange-bg:var(--tricios-warning-surface);
  --cal-gray-bg:var(--tricios-surface);
  --cal-blue:var(--tricios-ink);
  --cal-purple:var(--tricios-ink);
  --cal-green:var(--tricios-ink);
  --cal-orange:var(--tricios-warning-ink);
  color-scheme:dark;
}
/* A body class limits this layer to ERP, even when corporate previews share
   the preference. Keep SVG geometry, formal document pages and 3D untouched. */
html[data-theme="dark"] .tricios-erp :where(
  .panel,.panel-card,.card,.doc-card,.doc-panel,.tc-card,.tc-kpi,.tc-contract-card,
  .tc-policy-box,.tc-layer-card,.eco-kpi,.eco-policy,.eco-warning,.home-action,
  .home-priority-panel,.home-today-panel,.date-card,.client-kpi,.client-section,
  .client-extra-details,.client-summary-card,.flow-lane,.flow-card,.flow-item,
  .project-card,.project-row,.project,.stage-card,.project-visual-card,
  .calendar-simple-panel,.calendar-simple-kpi,.calendar-notices,
  .calendar-more-popover,.client-more-menu,.budget-utility,.mr-budget-assistant,
  .mr-project-budget-summary,.project-directory-head,.crm-direct-head,.document-row,
  .doc-filterbar,.doc-search-wrap,.doc-kpi,.timeline-mini,.mini-summary,.request,
  .request-list,.request-card,.budget-list-panel,.budget-metric,.budget-filterbar,
  .filter-details,.budget-stage-card,.hero-total,.hero-control,.drawer,.info,
  .technical-box,.config-card,.supplier-order-summary,.supplier-order-grid span,
  .budget-compare-grid span,.media-meta,.file-card,.doc-file-row,.followup-card,
  .agenda-item,.side-event,.reminder-panel.apple-reminders,.reminder-row,
  .calendar-reminder-row,.history-item,.history-chip,.smart-budget-box,.smart-row,
  .client-project-card,.client-contact-row,.eco-entry-row,.eco-entry,.activity-item,
  .ranking-panel,.spotlight-panel,.priority-item,.source-note,.followup-row,
  .project-more-menu,.client-more-menu,.row-menu,.mini-cal,.next-box,.checkline,
  .mr-summary-section,.mr-summary-card,.budget-quality-cell,.budget-quality,
  .mr-history-section,.mr-history-row,.mr-history-admin,.mr-document-card,
  .reservation-admin-cell,.reservation-admin,.reservation-rule,.communications,
  .doc-version-card,.doc-version-list,.mr-document-version,.mr-budget-workflow-details,
  .price-class-badge,.integration-pill,.mr-document-summary,.comm-chip,.doc-file-meta,
  .docs-box,.mr-budget-header,.detail-head,.detail-body,.detail-empty,.totals,
  .bb-section,.bb-item-card,.bb-lines,.bb-client-choice,.bb-check,
  .bb-empty-items,.bb-total-card,.tricios-project-money
) {
  background:var(--tricios-card)!important;
  color:var(--tricios-ink)!important;
  border-color:var(--tricios-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .tricios-erp :where(
  .panel-head,.card-head,.list-head,.docs-head,.tc-card-head,.client-modal-head,
  .client-modal-footer,.modal-head,.modal-foot,.form-head,.form-submit,.preview-head,
  .doc-upload-head,.doc-upload-foot,.doc-detail-head,.doc-detail-foot,
  .calendar-simple-head,.calendar-simple-toolbar,.calendar-simple-filters,
  .calendar-toolbar,.cal-toolbar,.cal-search-row,.cal-sidebar,.cal-main,
  .week-head,.month-day,.month-weekday,.week-head-day,.week-columns,.week-column,
  .calendar-month-grid,.calendar-week-grid,.cal-grid,.cal-day,.cal-cell,
  .calendar-week-day,.calendar-day-row,.cal-time-cell,.calendar-stage,
  .day-heading,.day-time,.day-slot,.list-date-group,.list-event,.list-view,
  .apple-reminders .toolbar,.toolbar,.tablewrap,.eco-history-title,.client-tabs,
  .mr-budget-tabs,.mr-budget-lines thead,.mr-section-tabs,.project-tabs,
  .group-tabs,.results-head,.archive-toolbar,.archive-historical,
  .budget-filter-meta,.budget-view-switch,.budget-view-switch button,
  .budget-view-switch span,.mr-detail-mobile-nav,.mr-action-dock,
  .smart-budget-body,.doc-detail-body,.mr-global-search-box,
  .mr-global-search-card,.mr-mobile-menu,.mr-mobile-menu header,
  .tricios-language-menu,.tricios-pdf-ready,.preview-card,.preview-pages,
  .preview-loading,.preview-fallback,.bb-shell,.bb-head,.bb-lines-head,
  .bb-line,.bb-total-row,.bb-client-results,.tricios-project-more
) {
  background:var(--tricios-sheet)!important;
  color:var(--tricios-ink)!important;
  border-color:var(--tricios-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .tricios-erp :where(
  .modal-card,.form-card,.login-card,.tc-modal-card,.doc-modal-card,
  .client-elegant,.flow-modal-card,.flow-modal-head,.flow-modal-actions
) {
  background:var(--tricios-sheet)!important;
  color:var(--tricios-ink)!important;
  border-color:var(--tricios-line)!important;
}
html[data-theme="dark"] .tricios-erp :where(
  input:not([type=checkbox]):not([type=radio]),select,textarea,option,
  .mr-budget-lines output
) {
  background:var(--tricios-field)!important;
  color:var(--tricios-ink)!important;
  border-color:var(--tricios-line)!important;
}
html[data-theme="dark"] .tricios-erp :where(input,textarea)::placeholder {
  color:var(--tricios-muted)!important;opacity:1;
}
html[data-theme="dark"] .tricios-erp :where(table,thead,tbody,tr,th,td) {
  background:var(--tricios-card)!important;
  color:var(--tricios-ink)!important;border-color:var(--tricios-line)!important;
}
html[data-theme="dark"] .tricios-erp :where(thead,th) {background:var(--tricios-sheet)!important;color:var(--tricios-muted)!important}
html[data-theme="dark"] .tricios-erp :where(tr:hover td,.request:hover,.request.active,.list-event:hover,.side-event:hover,.bb-client-choice.active,.month-day.other,.project-more[open]>summary) {background:var(--tricios-surface)!important;border-color:var(--tricios-line)!important}
html[data-theme="dark"] .tricios-erp :where(
  .ref,.request h3,.request .amount,.request .amount b,.detail-empty b,
  .web-estimate strong,.mr-budget-estimate strong,.total-row,.total-row strong,
  .section-title h3,.docs-head h3,.smart-budget-box h4,.pricing-decision b,
  .project-visual-info strong,.project-visual-info b,.history-item strong,
  .side-event b,.month-num,.week-head-day b,.agenda-item b,.list-event .title,
  .client-line b,.client-line a,.info b,.economic-line b,.mini-row b,.doc-icon,
  .config-card h3,.document-row b,.doc-file-name,.doc-file-title,.file-icon,
  .results-head b,.tc-name,.tc-price,.tc-kpi b,.tc-kpi strong,
  .eco-kpi strong,.rank-num,.spotlight-rank,.bb-section h3,.bb-item-title b,
  .bb-client-choice b,.bb-line b,.bb-total-card strong,.mr-history-row b,
  .mr-summary-card b,.reservation-admin-cell b,.project-tab i,.group-tabs button span
) {color:var(--tricios-ink)!important;border-color:var(--tricios-line)!important}
html[data-theme="dark"] .tricios-erp :where(
  .request p,.request-reason,.request-more-reasons,.request .amount span,
  .budget-list-empty,.budget-list-empty span,.detail-head p,.section-title p,
  .form-help,.form-msg,.hero-total small,.hero-control label,.hero-control small,
  .info small,.economic-line span,.client-line small,.mini-row p,.mini-row .mini-date,
  .media-meta small,.activity-item small,.activity-item p,.document-row small,
  .doc-file-meta,.doc-file-sub,.doc-file-size,.results-head span,.legend,
  .side-event span,.side-event .date,.month-weekday,.month-day.other .month-num,
  .week-head-day,.week-empty,.day-heading p,.day-time,.list-event .sub,
  .cal-filter-chip .count,.mini-weekday,.mini-month-title,.cal-search-row label,
  .client-source-meta,.client-empty,.source-note,.history-chip,.history-item small,
  .bb-head p,.bb-section-head p,.bb-client-choice span,.bb-line span,
  .bb-total-card small,.bb-footer-note,.bb-field label,.bb-check,
  .mr-summary-card small,.mr-history-row time,.comm-row time,.delivery-note,
  .mr-document-head p,.mr-document-meta,.archive-warning,.upload-intro,
  .tc-card-head p,.tc-layer-card span,.tc-contract-card span,.tc-policy-box p
) {color:var(--tricios-muted)!important}
html[data-theme="dark"] .tricios-erp :where(
  .status,.badge,.tag,.status-pill,.budget-chip,.budget-filter-count,.budget-quality-alert,
  .price-class-badge,.comm-chip,.technical-chip,.project-visual-badge,.archived-label,
  .workflow-step,.cal-event-pill,.week-event,.day-event,.type-cobro,.type-otro,
  .config-icon,.doc-icon,.file-icon,.rank-num,.spotlight-rank,
  .project-tab i,.group-tabs button span,.mini-day.selected:not(.today),
  .month-day.selected:not(.today) .month-num,.view-segment,.cal-filter-chip.active
) {background:var(--tricios-surface)!important;color:var(--tricios-ink)!important;border-color:var(--tricios-line)!important}
html[data-theme="dark"] .tricios-erp :where(
  .notice.err,.notice.error,.error-box,.bb-error,.upload-notice.error,
  .budget-chip.warn,.budget-quality-alert.critical,.status.bad,.badge.overdue,
  .request.critical,.followup-row.overdue,.mr-budget-header[data-budget-stage="initial"],
  .budget-compare-grid .up,.archive-warning,.btn.danger,.bb-remove
) {background:var(--tricios-danger-surface)!important;color:var(--tricios-danger-ink)!important;border-color:var(--tricios-app-wine)!important}
html[data-theme="dark"] .tricios-erp :where(.notice.ok,.upload-notice.show:not(.error),.status.good,.budget-chip.exact,.comm-chip.ok) {background:var(--tricios-success-surface)!important;color:var(--tricios-success-ink)!important}
html[data-theme="dark"] .tricios-erp :where(.status.warn,.budget-chip.review,.budget-chip.equivalent,.review-hint,.bb-warning,.eco-warning,.tc-note.warn) {background:var(--tricios-warning-surface)!important;color:var(--tricios-warning-ink)!important;border-color:var(--tricios-line)!important}
html[data-theme="dark"] .tricios-erp :where(
  .ghost,.ghost-link,.button-link,.file,.actions>a,.actions>button,
  .doc-actions a,.doc-actions button.secondary,.media-actions a,.media-actions button,
  .action-stack a.secondary,.mini-row button,.cal-export,.cal-today-btn,.cal-nav-icon,
  .mini-nav button,.mini-day,.cal-filter-chip,.icon-close,.x,.clear-btn,
  .project-more>summary,.project-more-menu a,.project-more-menu button,
  .row-menu a,.row-menu button,.budget-filterbar button,.budget-filter-clear,
  .budget-view-switch button,.mr-section-tab,.project-tab,.group-tabs button,
  .tabs button,.view-segment button,.client-tabs button,.tc-tab,
  .bb-close,.bb-cancel,.bb-add-btn,.bb-category-buttons button,
  .bb-mode button,.bb-client-choice,.modal-head>button,.form-head>button,
  #closePreview,#previewOpenNew,#budgetBackToList
) {background:var(--tricios-surface)!important;color:var(--tricios-ink)!important;border-color:var(--tricios-line)!important;box-shadow:none!important}
html[data-theme="dark"] .tricios-erp :where(
  .primary-btn,.project-next-btn,.full-btn,.smart-row button,.action-stack a:not(.secondary),
  .bb-create,.bb-mode button.active,.month-day.today .month-num,.mini-day.today,
  .week-head-day.today b,.day-big-num,.primary-link,.modal-actions .primary,
  #previewDownload,#newBudgetBtn,#loginBtn
) {background:var(--tricios-accent)!important;color:var(--tricios-white)!important;border-color:var(--tricios-accent)!important}
html[data-theme="dark"] .tricios-erp :where(.project-tab.active,.mr-section-tab.active,.group-tabs button.active,.budget-view-switch button.active,.view-segment button.active,.client-tabs button.active,.tc-tab.active) {background:var(--tricios-sheet)!important;color:var(--tricios-ink)!important;border-color:var(--tricios-app-wine)!important;box-shadow:inset 0 -2px 0 var(--tricios-app-wine)!important}
html[data-theme="dark"] .tricios-erp :where(.modal,.form-modal,.preview-modal,.login,.tc-modal,.flow-modal,.mr-global-search,.bb-modal) {background:rgba(0,0,0,.72)!important}
html[data-theme="dark"] .tricios-erp :where(.preview-pages,.form-card,.modal-card,.bb-shell) {scrollbar-color:var(--tricios-muted) var(--tricios-sheet)}
html[data-theme="dark"] .tricios-erp :where(.form-card,.modal-card)::-webkit-scrollbar-track {background:var(--tricios-sheet)}
html[data-theme="dark"] .tricios-erp :where(.form-card,.modal-card)::-webkit-scrollbar-thumb {background:var(--tricios-muted);border-color:var(--tricios-sheet)}
/* Account forms already use theme variables; preserve their desktop geometry. */
html[data-theme="dark"] .tricios-account :where(.account-auth-card,.account-summary-card,.account-plan,.account-invite-result,.account-inline-note,.account-alert) {background:var(--tricios-card);border-color:var(--tricios-line);color:var(--tricios-ink)}
html[data-theme="dark"] .tricios-account :where(input,select,textarea) {background:var(--tricios-field);color:var(--tricios-ink);border-color:var(--tricios-line)}
html[data-theme="dark"] .tricios-account .account-team-action {color:var(--tricios-app-wine)!important}
/* Intentionally no display rules: archived, hidden and disabled actions stay
   governed by the existing workflow and accessibility layers. */

/* The legacy PDF toolbar used an important ID rule; keep this one exact
   selector so other buttons retain the mobile app's selected-state cascade. */
html[data-theme="dark"] .tricios-erp #previewDownload {background:var(--tricios-accent)!important;color:var(--tricios-white)!important;border-color:var(--tricios-accent)!important}
html[data-theme="dark"] .tricios-erp :where(.duplicate-review,.tc-pricing-help,.client-extra-details>summary,.client-more-actions>summary,.calendar-more-menu>summary,.upload-mode button,.modal-actions .secondary,.catalog-studio-link,.budget-utility-tech button,.mr-skip-link) {background:var(--tricios-surface)!important;color:var(--tricios-ink)!important;border-color:var(--tricios-line)!important}
html[data-theme="dark"] .tricios-erp :where(.duplicate-banner,.duplicate-alert) {background:var(--tricios-warning-surface)!important;color:var(--tricios-warning-ink)!important;border-color:var(--tricios-line)!important}
html[data-theme="dark"] .tricios-erp :where(.danger-note,.client-danger-note) {background:var(--tricios-danger-surface)!important;color:var(--tricios-danger-ink)!important;border-color:var(--tricios-app-wine)!important}
