/* Approved whole-app finish. Paint only: preserve all existing layout,
   typography metrics, dimensions, spacing, navigation and workflows. */
:root {
  --ui-page: #f4f8fa;
  --ui-paper: #ffffff;
  --ui-ink: #153e50;
  --ui-muted: #5a7988;
  --ui-line: #dce8ee;
  --ui-soft: #eef5f7;
  --ui-brand: #00867c;
  --ui-brand-hover: #00776e;
  --ui-nav: #143544;
  --ui-nav-text: #e8f3f7;
  --ui-nav-selected: #255461;
  --ui-danger: #b44648;
  --ui-danger-soft: #fff0f0;
  --ui-success: #267b50;
  --ui-success-soft: #eaf6ef;
  --ui-warning: #945700;
  --ui-warning-soft: #fff5e7;
  --background: var(--ui-page);
  --foreground: var(--ui-ink);
  --card: var(--ui-paper);
  --card-foreground: var(--ui-ink);
  --popover: var(--ui-paper);
  --popover-foreground: var(--ui-ink);
  --primary: var(--ui-brand);
  --primary-foreground: #fff;
  --secondary: var(--ui-soft);
  --secondary-foreground: var(--ui-ink);
  --muted: var(--ui-soft);
  --muted-foreground: var(--ui-muted);
  --accent: var(--ui-soft);
  --accent-foreground: var(--ui-brand);
  --border: var(--ui-line);
  --input: var(--ui-line);
  --ring: var(--ui-brand);
  --sidebar: var(--ui-nav);
  --sidebar-foreground: var(--ui-nav-text);
  --sidebar-accent: var(--ui-nav-selected);
  --sidebar-accent-foreground: #fff;
}

html body { background-color: var(--ui-page); color: var(--ui-ink); }
html body :is(.workspace-main,.wf-root,[data-slot="sidebar-inset"],.login-page) { background-color: var(--ui-page); color: var(--ui-ink); }
html body :is(h1,h2,h3,h4,.stat-card strong,.compact-metrics strong,.queue-stage-grid strong,.wf-metrics strong,.target-summary strong,.team-summary-grid strong,.period-count strong,.daily-report-summary strong,.report-company strong) { color: var(--ui-ink); }
html body :is(.muted,.wf-muted,.wf-heading p,.subline,.fine-print,.eyebrow,.wf-eyebrow,.stat-label,.stat-card>span,.compact-metrics span,.queue-stage-grid span,.queue-stage-grid small,.panel-heading p,.toolbar-note,.target-summary span,.wf-empty,.empty-state,.job-empty,.field>span:first-child,.wf-field>span,.daily-report-summary span,.queue-detail-grid span,.competition-heading p) { color: var(--ui-muted); }

/* Navigation retains its existing width, grouping, order and item sizes. */
html body .truefixx-sidebar :is([data-sidebar="sidebar"],[data-slot="sidebar-inner"]) { background-color: var(--ui-nav) !important; color: var(--ui-nav-text); }
html body .truefixx-sidebar :is(.brand,.user-chip,[data-slot="sidebar-group-label"],.sidebar-group-toggle) { color: var(--ui-nav-text); }
html body .nav-button { color: var(--ui-nav-text) !important; }
html body .nav-button>svg { color: #a9c5d1 !important; }
html body .nav-button:hover { background-color: #204957 !important; }
html body .nav-button[data-active="true"] { background-color: var(--ui-nav-selected) !important; color: #fff !important; box-shadow: inset 3px 0 #64d5c5; }
html body .nav-button[data-active="true"]>svg { color: #88e2d6 !important; }
html body .nav-count { background-color: #416b79; color: #eefaff; }
html body :is(.brand-mark,.user-avatar) { background-color: #dff4ef; color: #145b54; }
html body .sidebar-search { background-color: #1d4252 !important; color: var(--ui-nav-text) !important; border-color: #446473 !important; }
html body .sidebar-search::placeholder { color: #b4cbd5; }
html body :is(.topbar,.app-footer) { background-color: var(--ui-paper); border-color: var(--ui-line); }
html body .topbar-left strong { color: var(--ui-ink); }

/* Existing panels and cards share the approved clean working surface. */
html body :is(.panel,.wf-panel,.wf-card,.stat-card,.compact-metrics>div,.queue-stage-grid>button,.queue-card,.reminder-builder-card,.reminder-rules-card,.attention-full-list article,.target-breakdown>div,.recent-job-grid>a,.wf-target,.login-card) {
  background-color: var(--ui-paper) !important;
  border-color: var(--ui-line) !important;
  border-radius: 8px;
  box-shadow: 0 2px 8px #153e5007;
}
html body :is(.operations-welcome,.summary-strip,.queue-detail-grid,.wf-metrics>div,.wf-details>div,.reminder-preview) { background: var(--ui-soft); border-color: var(--ui-line); }
html body :is(.panel-heading,.table-toolbar,.wf-toolbar,.wf-profile-head,.job-divider,.form-section,.timeline-item,.job-record,.wf-activity,.wf-list-row,.wf-review-row,.row-list,.visit-card,.aging-job,.queue-detail-history,.wf-chat-sidebar,.wf-chat-main>header,.wf-chat-compose) { border-color: var(--ui-line); }
html body :is(.queue-stage-grid button.active,.queue-stage-grid button:hover) { background-color: #e7f5f2 !important; border-color: var(--ui-brand) !important; box-shadow: inset 0 3px var(--ui-brand); }

/* Table geometry and one-line truncation continue to come from existing CSS. */
html body :is(.panel,.wf-panel,.job-main) :is(th,[data-slot="table-head"]),
html body :is(.daily-report-head,.permission-tree-head,.reminder-table th) { background-color: var(--ui-soft) !important; color: var(--ui-muted) !important; border-color: var(--ui-line); }
html body :is(.panel,.wf-panel,.job-main) :is(td,[data-slot="table-cell"],[data-slot="table-row"]),
html body :is(.daily-report-row,.permission-tree-row,.reminder-table td) { border-color: var(--ui-line) !important; }
html body :is(.panel,.wf-panel,.job-main) :is(tbody tr,[data-slot="table-row"]):hover,
html body :is(.permission-tree-row:hover,.recent-job-grid>a:hover,.attention-row:hover,.wf-list-row:hover) { background-color: #f5fafb; }
html body :is(.report-totals,.compact-data-table tfoot,.daily-report-total,.daily-report-summary,.wf-table tfoot,.wf-target) { background-color: var(--ui-soft); border-color: var(--ui-brand); }
html body :is(.daily-report-total,.daily-report-summary>div,.daily-report-column,.daily-report-column h3) { color: var(--ui-ink); border-color: var(--ui-line); }
html body :is(.wo-link,.entity-link,.profile-link,.wf-table a,.wf-table .wf-link,.wf-root a:not(.wf-button),.back-link) { color: var(--ui-brand); }

/* Common controls: no new padding, heights, font sizes or border widths. */
html body :is([data-slot="button"],.wf-root button,.wf-modal button,.wf-notifications button,.wf-button,.compact-tabs button,.finance-tabs button,.outline-control,.reminder-tabs button,.home-quick-links button,.record-pagination button,.daily-report-actions a,.daily-report-actions button) {
  border-color: var(--ui-line);
  border-radius: 6px;
}
html body :is([data-slot="button"],.wf-root button,.wf-modal button,.wf-notifications button,.wf-button,.outline-control,.home-quick-links button,.daily-report-actions a):not(.primary):not(.wf-primary):not(.wf-danger):not(.danger-text):not(.wf-back):not(.wf-link):not(.active):not([data-variant="default"]):not([data-variant="destructive"]):not([data-variant="ghost"]):not([data-variant="link"]) { background-color: var(--ui-paper); color: var(--ui-ink); }
html body :is(.primary,.wf-primary,[data-slot="button"][data-variant="default"],.login-card button[type="submit"],.daily-report-actions .primary,.daily-report-actions .daily-report-download) { background: var(--ui-brand) !important; color: #fff !important; border-color: var(--ui-brand) !important; box-shadow: 0 2px 4px #00867c14; }
html body :is(.primary,.wf-primary,.login-card button[type="submit"],.daily-report-actions .daily-report-download):hover { background-color: var(--ui-brand-hover) !important; border-color: var(--ui-brand-hover) !important; }
html body :is([data-slot="button"],.wf-root button,.wf-modal button,.wf-notifications button,.wf-button,.outline-control,.home-quick-links button,.daily-report-actions a):not(.primary):not(.wf-primary):not(.wf-danger):not(.danger-text):not(.wf-back):not(.wf-link):not(.active):not(.daily-report-download):not([data-variant="default"]):not([data-variant="destructive"]):not([data-variant="ghost"]):not([data-variant="link"]):hover { background-color: #f3f9fa; border-color: #a8c9cf; }
html body :is(.compact-tabs button.active,.finance-tabs button.active,.wf-tabs button.active,.job-tabs [role="tab"][data-state="active"],.reminder-tabs button.active,.record-pagination button[aria-current="page"]) { background-color: var(--ui-brand) !important; color: #fff !important; border-color: var(--ui-brand); }
html body :is(.job-tabs,.wf-tabs) { background-color: var(--ui-soft); }
html body :is(.choice,[data-slot="input"],[data-slot="textarea"],[data-slot="select-trigger"],.field input,.field select,.field textarea,.wf-field input,.wf-root input,.wf-root select,.wf-root textarea,.wf-modal input,.wf-modal select,.wf-modal textarea,.reminder-builder-card input,.reminder-builder-card select,.role-permission-toolbar select,.competition-heading select,.calendar-controls input) {
  border-color: var(--ui-line);
  border-radius: 6px;
  color: var(--ui-ink);
  background-color: var(--ui-paper);
}
html body :is(input,textarea)::placeholder { color: #718b99; }
html body :is(button,a,input,textarea,select,[role="combobox"]):focus-visible { outline-color: var(--ui-brand); }
html body :is(.field input,.field select,.field textarea,.wf-root input,.wf-root select,.wf-root textarea,.wf-modal input,.wf-modal select,.wf-modal textarea):focus { border-color: var(--ui-brand); box-shadow: 0 0 0 2px #00867c20; }
html body input[type="checkbox"],html body progress { accent-color: var(--ui-brand); }
html body :is([data-slot="select-item"],[data-slot="dropdown-menu-item"])[data-highlighted] { background-color: var(--ui-soft); color: var(--ui-brand); }

/* Existing centered dialogs and menus keep their placement and dimensions. */
html body :is([data-slot="dialog-content"],[data-slot="alert-dialog-content"],.wf-modal,.daily-report-dialog) { background-color: var(--ui-paper) !important; color: var(--ui-ink); border-color: var(--ui-line) !important; border-radius: 10px; box-shadow: 0 16px 48px #153e5033; }
html body :is([data-slot="dialog-title"],[data-slot="alert-dialog-title"],.wf-modal h2) { color: var(--ui-ink); }
html body :is([data-slot="dialog-description"],[data-slot="alert-dialog-description"],.wf-modal p) { color: var(--ui-muted); }
html body :is([data-slot="dialog-overlay"],[data-slot="alert-dialog-overlay"],.daily-report-overlay) { background-color: #153e5066; }
html body :is([data-slot="select-content"],[data-slot="dropdown-menu-content"],[data-slot="popover-content"],.wf-popover,.profile-menu>div,.global-results,.job-mention-suggestions) { background-color: var(--ui-paper); color: var(--ui-ink); border-color: var(--ui-line); border-radius: 8px; box-shadow: 0 8px 28px #153e501a; }
html body :is(.wf-notification-full.unread,.wf-notification.unread,.notification-row.unread) { background-color: #edf8f5; }
html body :is(.wf-notification-icon,.attention-icon,.wf-avatar,.avatar-mini,.wf-small-avatar) { background-color: var(--ui-soft); color: var(--ui-brand); border-color: var(--ui-line); }
html body [data-sonner-toast] { background-color: var(--ui-paper) !important; color: var(--ui-ink) !important; border-color: var(--ui-line) !important; border-radius: 8px; box-shadow: 0 8px 28px #153e5020; }
html body [data-sonner-toast] [data-description] { color: var(--ui-muted) !important; }

/* Calendar, messaging and report accents; never recolor data-driven charts. */
html body .calendar-day { background-color: #f8fbfc; border-color: var(--ui-line); color: var(--ui-ink); }
html body .calendar-day.selected { background-color: #e7f5f2; border-color: var(--ui-brand); box-shadow: inset 0 0 0 1px var(--ui-brand); }
html body .calendar-day small { color: var(--ui-brand); background-color: var(--ui-soft); }
html body .wf-chat-sidebar button.active { background-color: var(--ui-soft); color: var(--ui-brand); }
html body .wf-message { background-color: var(--ui-soft); color: var(--ui-ink); }
html body .wf-message.mine { background-color: var(--ui-success-soft); color: var(--ui-ink); }
html body .wf-message p { color: var(--ui-ink); }
html body .report-brand-heading { border-color: #f07e32; }
html body .report-logo { background-color: #f07e32; color: #fff; }
html body .champion-card { border-radius: 10px; box-shadow: 0 4px 14px #153e500a; }
html body .competition-climb { background-color: var(--ui-success-soft); color: var(--ui-success); border-color: #cee7d8; }

/* Semantic states remain distinct, including warnings, losses and actions. */
html body :is(.error-box,.wf-error,.wf-danger-row) { background-color: var(--ui-danger-soft); color: var(--ui-danger); border-color: #ebcdcf; }
html body :is(.danger-text,.negative,.wf-negative,.loss-text,.trend-down) { color: var(--ui-danger) !important; }
html body :is(.wf-root .wf-danger,.wf-modal .wf-danger,[data-slot="button"][data-variant="destructive"]) { background-color: var(--ui-danger); color: #fff; border-color: var(--ui-danger); }
html body :is(.wf-positive,.trend-up) { color: var(--ui-success) !important; }
html body :is(.warning,.attention-preview span) { color: var(--ui-warning) !important; }
html body :is(.team-attention-stat.warning-card,.vendor-warning,.permission-notice,.followup-row.due) { background-color: var(--ui-warning-soft); border-color: #ebd6b8; }
html body :is(.notice,.quiet-tag,.pill:not(.ready):not(.review),.wf-tag:not(.green):not(.red)) { background-color: var(--ui-soft); border-color: var(--ui-line); color: var(--ui-muted); }

@media print {
  html body { background-color: #fff; }
  html body :is(.panel,.wf-panel,.wf-card,[data-slot="dialog-content"]) { box-shadow: none; }
}

/* Render the supplied company logo independently of avatar styling. */
html body .brand .sidebar-brand-logo { display:block; flex:0 0 45px; width:45px!important; height:36px!important; object-fit:contain; background:#fff; border-radius:5px; padding:2px; }

/* Clear current-page marker, including work-order and profile details. */
.nav-button[data-active="true"]{color:#fff!important;background:#24515a!important;font-weight:700!important;box-shadow:inset 4px 0 #54d1b4!important}
.nav-button[data-active="true"]>svg{color:#76e4ca!important}
.nav-button .nav-active-arrow{margin-left:auto;flex:none;width:14px;height:14px}
.nav-button .nav-active-arrow+.nav-count{margin-left:3px}
