/* Neighbourhood: calm shared surfaces, clear actions, meaningful colour.
   Load last. Presentation only: never changes display/visibility of hidden tools.
   Colour text pairs are AA checked; counts use data-state before urgency colour. */
body.pm-workspace {
  --eng-ink: #0b1d3a;
  --eng-text: #263b53;
  --eng-muted: #51657a;
  --eng-white: #ffffff;
  --eng-canvas: #f5f8fa;
  --eng-line: #d3e1eb;
  --eng-control-line: #79899e;
  --eng-neutral-fill: #edf2f7;
  --eng-neutral-ink: #4b5e73;
  --eng-teal: #00766c;
  --eng-teal-hover: #005e56;
  --eng-mint: #eaf6f2;
  --eng-mint-strong: #b9eddb;
  --eng-blue: #1857b5;
  --eng-blue-fill: #edf4fc;
  --eng-blue-line: #89ade2;
  --eng-purple: #6535b3;
  --eng-purple-fill: #f3effa;
  --eng-purple-line: #b497de;
  --eng-green: #087443;
  --eng-green-fill: #ddf7e9;
  --eng-green-line: #76b898;
  --eng-amber: #875000;
  --eng-amber-fill: #fff1cf;
  --eng-amber-line: #bc8b35;
  --eng-red: #bd243b;
  --eng-red-fill: #ffe8ec;
  --eng-red-line: #d97587;
  --eng-focus: #165fc0;
  --eng-surface-mint: #f5faf8;
  --eng-surface-blue: #f6f9fd;
  --eng-surface-purple: #faf8fd;
  --eng-radius-sm: 8px;
  --eng-radius: 12px;
  --eng-radius-lg: 16px;
  --eng-shadow: 0 2px 8px #17365508, 0 12px 28px #17365505;
  --eng-overlay-shadow: 0 18px 64px #0b1d3a24;
  --eng-space-1: 4px;
  --eng-space-2: 8px;
  --eng-space-3: 12px;
  --eng-space-4: 16px;
  --eng-space-5: 24px;
  --eng-space-6: 32px;
  --navy: var(--eng-ink);
  --navy2: #173655;
  --teal: var(--eng-teal);
  --teal-a: var(--eng-teal);
  --teal-soft: var(--eng-mint);
  --cream: var(--eng-canvas);
  --white: var(--eng-white);
  --cloud: var(--eng-canvas);
  --slate: var(--eng-muted);
  --mist: var(--eng-line);
  --panel-outline: var(--eng-line);
  --panel-shadow: var(--eng-shadow);
  --brand-surface: var(--eng-white);
  --brand-sidebar: var(--eng-white);
  --brand-muted-surface: var(--eng-blue-fill);
  --brand-focus: var(--eng-focus);
  --amber: var(--eng-amber);
  --amber-soft: var(--eng-amber-fill);
  --red: var(--eng-red);
  --red-soft: var(--eng-red-fill);
  --green: var(--eng-green);
  --green-soft: var(--eng-green-fill);
  --blue: var(--eng-blue);
  --blue-soft: var(--eng-blue-fill);
  --cyan: var(--eng-teal);
  --cyan-soft: var(--eng-mint);
  --violet: var(--eng-purple);
  --violet-soft: var(--eng-purple-fill);
  --coral: var(--eng-red);
  --coral-soft: var(--eng-red-fill);
  color: var(--eng-text);
  background: var(--eng-canvas);
}

/* A familiar app frame: one clear selection and generous icon targets. */
.pm-workspace .sidebar {
  background: var(--eng-white);
  border-right-color: var(--eng-line);
  box-shadow: 4px 0 24px #17365504;
}
.pm-workspace .sidebar .main-nav { gap: var(--eng-space-2); }
.pm-workspace .sidebar .nav-item {
  min-height: 48px;
  gap: var(--eng-space-3);
  padding: var(--eng-space-2) var(--eng-space-3);
  color: var(--eng-text);
  border: 1px solid transparent;
  border-radius: var(--eng-radius);
  font-size: 13px;
  font-weight: 750;
}
.pm-workspace .sidebar .nav-item > span:first-child {
  display: inline-grid;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: var(--eng-radius-sm);
  color: var(--eng-teal);
  background: var(--eng-mint);
  font-size: 19px;
}
.pm-workspace .sidebar .nav-item[href="#dashboard"] > span:first-child { color: var(--eng-blue); background: var(--eng-blue-fill); }
.pm-workspace .sidebar .nav-item[href="#notifications"] > span:first-child { color: var(--eng-blue); background: var(--eng-blue-fill); }
.pm-workspace .sidebar .nav-item[href="#recurring"] > span:first-child { color: var(--eng-purple); background: var(--eng-purple-fill); }
.pm-workspace .sidebar .nav-item:hover { color: var(--eng-ink); background: var(--eng-canvas); }
.pm-workspace .sidebar .nav-item.active {
  color: var(--eng-white);
  background: var(--eng-ink);
  border-color: var(--eng-ink);
  box-shadow: 0 4px 12px #0b1d3a18;
}
.pm-workspace .sidebar .nav-item.active > span:first-child { color: var(--eng-white); background: #ffffff20; }
.pm-workspace :is(.ui-icon, .nav-icon) { width: 1em; height: 1em; flex: none; vertical-align: -.12em; }
.pm-workspace .sidebar .nav-item :is(.ui-icon, .nav-icon) { width: 20px; height: 20px; }
.pm-workspace .sidebar :is(.dashboard-nav-children, .client-nav-children) a { color: var(--eng-muted); font-size: 12px; }
.pm-workspace .sidebar :is(.dashboard-nav-children, .client-nav-children) a:is(:hover, .active) { color: var(--eng-blue); background: var(--eng-blue-fill); }
.pm-workspace .project-client-picker { border-left: 2px solid var(--eng-mint-strong); padding-left: var(--eng-space-3); }
.pm-workspace .project-client-picker-heading > a { color: var(--eng-teal); font-size: 13px; font-weight: 800; }
.pm-workspace .project-client-picker-heading > button { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-teal); border-radius: var(--eng-radius-sm); }
.pm-workspace .project-client-picker-heading > :is(a, button):hover { background: var(--eng-mint); }
.pm-workspace #project-client-options button { color: var(--eng-text); border-radius: var(--eng-radius-sm); }
.pm-workspace #project-client-options button:is(:hover, [aria-current="page"]) { color: var(--eng-teal); background: var(--eng-mint); }
.pm-workspace .sidebar .workspace-more { border-color: var(--eng-line); }
.pm-workspace .sidebar .workspace-more > summary { color: var(--eng-muted); }
.pm-workspace .favourites-panel { color: var(--eng-text); background: var(--eng-mint); border-color: var(--eng-mint-strong); border-radius: var(--eng-radius); }
.pm-workspace .favourites-heading h2 { color: var(--eng-teal); }
.pm-workspace .favourites-placement { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-control-line); border-radius: var(--eng-radius-sm); }
.pm-workspace .favourite-link { color: var(--eng-text); border-radius: var(--eng-radius-sm); }
.pm-workspace .favourite-link:hover { color: var(--eng-teal); background: var(--eng-white); }
.pm-workspace :is(.favourite-link small, .favourites-empty, .favourite-remove) { color: var(--eng-muted); }
.pm-workspace .favourite-star { color: var(--eng-teal); background: var(--eng-white); border-color: var(--eng-control-line); border-radius: var(--eng-radius); }
.pm-workspace .favourite-star[aria-pressed="true"] { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-teal); }
.pm-workspace .sidebar .user-card { background: var(--eng-canvas); border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace .sidebar .user-card #logout-button { color: var(--eng-text) !important; background: var(--eng-white) !important; border-color: var(--eng-control-line) !important; }
.pm-workspace .sidebar .user-card #logout-button:hover { background: var(--eng-blue-fill) !important; }
.pm-workspace .avatar { color: var(--eng-teal); background: var(--eng-mint); border-radius: 50%; }
.pm-workspace .workspace-topbar { background: var(--eng-white); border-color: var(--eng-line); box-shadow: 0 1px 0 var(--eng-line); }
.pm-workspace .workspace-topbar-context strong { color: var(--eng-ink); font-size: 14px; }
.pm-workspace .workspace-topbar-context small { color: var(--eng-muted); font-size: 12px; }
.pm-workspace .live-dot { background: var(--eng-green); box-shadow: 0 0 0 4px var(--eng-green-fill); }
.pm-workspace .global-search { background: var(--eng-canvas); border-color: var(--eng-control-line); border-radius: var(--eng-radius); }
.pm-workspace .global-search input { color: var(--eng-text); font-size: 13px; }
.pm-workspace .global-search kbd { color: var(--eng-muted); background: var(--eng-white); border-color: var(--eng-line); }
.pm-workspace .global-search-results { border-color: var(--eng-line); border-radius: var(--eng-radius); box-shadow: var(--eng-overlay-shadow); }
.pm-workspace .global-search-results button { color: var(--eng-text); background: var(--eng-white); }
.pm-workspace .global-search-results button:is(:hover, [aria-selected="true"]) { color: var(--eng-blue); background: var(--eng-blue-fill); }

/* Page hierarchy stays compact enough for everyday work. */
.pm-workspace .view > .page-header { gap: var(--eng-space-5); padding-block: var(--eng-space-2) var(--eng-space-5); }
.pm-workspace .view > .page-header h1 { color: var(--eng-ink); font-weight: 800; font-size: clamp(28px, 2.5vw, 36px); line-height: 1.15; letter-spacing: -.045em; }
.pm-workspace .view > .page-header .eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: var(--eng-space-1) var(--eng-space-2);
  margin-bottom: var(--eng-space-3);
  border-radius: var(--eng-radius-sm);
  color: var(--eng-teal);
  background: var(--eng-mint);
  font-size: 11px;
  letter-spacing: .08em;
}
.pm-workspace :is(.page-intro, .section-heading p, .personal-project-panel-help) { color: var(--eng-muted); font-size: 14px; line-height: 1.6; }
.pm-workspace :is(.section-heading h2, .client-title, .client-heading h1, .inline-edit-heading) { color: var(--eng-ink); }
.pm-workspace .section-heading h2 { font-size: 20px; font-weight: 800; letter-spacing: -.035em; }
.pm-workspace :is(.eyebrow, .back-button, .text-button) { color: var(--eng-teal); }
.pm-workspace :is(.data-note, .form-note, .task-history-note, .compact-filter) { color: var(--eng-muted); font-size: 13px; line-height: 1.6; }
.pm-workspace :is(.content-section, .client-list-panel, .crm-record-card, .client-category-section, .recurring-board, .workstream-summary, .empty-service) {
  color: var(--eng-text);
  border-color: var(--eng-line) !important;
  border-radius: var(--eng-radius-lg);
  background: var(--eng-white);
  box-shadow: var(--eng-shadow);
}
.pm-workspace :is(.content-section, .client-list-panel) > .section-heading { gap: var(--eng-space-4); padding-bottom: var(--eng-space-4); border-bottom: 1px solid var(--eng-line); }

/* One strong action colour, one secondary, one quiet action. */
.pm-workspace :is(.primary-button, .quick-add-button) {
  min-height: 44px;
  padding: 10px 16px;
  color: var(--eng-white);
  background: var(--eng-teal);
  border: 1px solid var(--eng-teal);
  border-radius: var(--eng-radius);
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 3px 8px #00766c1a;
}
.pm-workspace :is(.primary-button, .quick-add-button):hover:not(:disabled) { color: var(--eng-white); background: var(--eng-teal-hover); border-color: var(--eng-teal-hover); box-shadow: 0 4px 12px #00766c26; }
.pm-workspace .secondary-button { min-height: 44px; color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-control-line); border-radius: var(--eng-radius); font-size: 13px; font-weight: 750; }
.pm-workspace .secondary-button:hover:not(:disabled) { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-teal); }
.pm-workspace .text-button { font-size: 13px; font-weight: 750; }
.pm-workspace .text-button:hover { color: var(--eng-teal-hover); text-decoration: underline; text-underline-offset: 3px; }
.pm-workspace :is(.primary-button, .secondary-button, .quick-add-button):disabled { opacity: .55; box-shadow: none; cursor: not-allowed; }
.pm-workspace .remove-access-button { color: var(--eng-red); }
.pm-workspace .remove-access-button:hover { color: var(--eng-red); background: var(--eng-red-fill); }
.pm-workspace .filter-button { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-control-line); border-radius: var(--eng-radius); }
.pm-workspace .filter-button:hover { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-teal); }

/* Segmented choices read as controls rather than a second menu. */
.pm-workspace :is(.pm-tabs, .notification-filters, .crm-tabs) { gap: var(--eng-space-2); }
.pm-workspace :is(.pm-tabs, .notification-filters, .crm-tabs) button { min-height: 40px; padding: 9px 14px; color: var(--eng-muted); border: 1px solid transparent; background: transparent; border-radius: var(--eng-radius); font-size: 13px; font-weight: 750; box-shadow: none; }
.pm-workspace :is(.pm-tabs, .notification-filters, .crm-tabs) button:hover { color: var(--eng-blue); background: var(--eng-blue-fill); }
.pm-workspace :is(.pm-tabs, .notification-filters, .crm-tabs) button[aria-pressed="true"] { color: var(--eng-white); background: var(--eng-teal); border-color: var(--eng-teal); box-shadow: none; }
.pm-workspace :is(.service-nav, .project-service-filter) { background: var(--eng-white); border-color: var(--eng-line) !important; border-radius: var(--eng-radius); }
.pm-workspace .service-nav { gap: var(--eng-space-2); padding: var(--eng-space-2); }
.pm-workspace .service-nav button { display: inline-flex; align-items: center; justify-content: center; gap: var(--eng-space-2); min-height: 40px; padding: 8px 14px; color: var(--eng-muted); border-radius: var(--eng-radius-sm); font-size: 13px; border-bottom: 0; }
.pm-workspace .service-nav button:is(:hover, [aria-selected="true"]) { color: var(--eng-blue); background: var(--eng-blue-fill); box-shadow: inset 0 -3px var(--eng-blue); }
.pm-workspace #service-nav { background: var(--eng-ink) !important; border-color: var(--eng-ink) !important; border-radius: var(--eng-radius); padding: var(--eng-space-2); gap: var(--eng-space-2); box-shadow: var(--eng-shadow); }
.pm-workspace #service-nav button { color: var(--eng-white); background: transparent; border-color: transparent; border-radius: var(--eng-radius-sm); box-shadow: none; }
.pm-workspace #service-nav button:hover { color: var(--eng-white); background: var(--navy2); }
.pm-workspace #service-nav button[aria-selected="true"] { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-mint); box-shadow: none; }
.pm-workspace #service-nav button:focus-visible { outline-color: var(--eng-white); outline-offset: 2px; }
.pm-workspace .project-service-options button { min-height: 44px; padding: 8px 12px; border-radius: var(--eng-radius); color: var(--eng-text); background: color-mix(in srgb, var(--service-filter-colour, var(--eng-blue)) 12%, var(--eng-white)); font-size: 13px; border-color: color-mix(in srgb, var(--service-filter-colour, var(--eng-blue)) 42%, var(--eng-white)); border-left-color: var(--service-filter-colour, var(--eng-blue)); }
.pm-workspace .project-service-options button:hover { background: color-mix(in srgb, var(--service-filter-colour, var(--eng-blue)) 19%, var(--eng-white)); }
.pm-workspace .project-service-options button[aria-pressed="true"] { color: var(--eng-white); background: var(--eng-ink); border-color: var(--eng-ink); border-left-color: var(--service-filter-colour, var(--eng-blue)); box-shadow: 0 3px 8px #0b1d3a14; }
.pm-workspace :is(.view-switcher, .client-filter-switcher) { padding: var(--eng-space-1); gap: var(--eng-space-1); background: var(--eng-neutral-fill); border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace :is(.view-switcher, .client-filter-switcher) button { border-radius: var(--eng-radius-sm); color: var(--eng-muted); }
.pm-workspace :is(.view-switcher, .client-filter-switcher) button[aria-pressed="true"] { color: var(--eng-blue); background: var(--eng-white); box-shadow: 0 1px 4px #17365514; }

/* Blue is work; purple is following and personal space. */
.pm-workspace .personal-project-panels { gap: var(--eng-space-5); }
.pm-workspace .workspace-layout-toolbar { color: var(--eng-text); background: var(--eng-mint); border-color: var(--eng-mint-strong); border-radius: var(--eng-radius); }
.pm-workspace .workspace-layout-toolbar small { color: var(--eng-muted); }
.pm-workspace .personal-project-panel { --eng-panel: var(--eng-blue); --eng-panel-fill: var(--eng-blue-fill); border: 1px solid var(--eng-line); border-radius: var(--eng-radius-lg); background: var(--eng-white); box-shadow: var(--eng-shadow); }
.pm-workspace .personal-project-panel.is-watching { --eng-panel: var(--eng-purple); --eng-panel-fill: var(--eng-purple-fill); border-top-color: var(--eng-line); }
.pm-workspace .personal-project-panel > header { color: var(--eng-panel); background: var(--eng-panel-fill); padding: var(--eng-space-4) var(--eng-space-5); border-radius: 15px 15px 0 0; border-bottom: 1px solid var(--eng-line); }
.pm-workspace .personal-project-panel > header h2 { color: var(--eng-ink); font-size: 19px; letter-spacing: -.025em; }
.pm-workspace .personal-project-panel.is-watching > header h2 { color: var(--eng-purple); }
.pm-workspace .personal-project-panel-icon { color: var(--eng-panel); background: var(--eng-white); border-radius: var(--eng-radius-sm); }
.pm-workspace .personal-project-panel-help { margin: 0; padding: var(--eng-space-3) var(--eng-space-5); color: var(--eng-muted); background: var(--eng-white); font-size: 13px; }
.pm-workspace .personal-project-panel > header :is(.panel-controls button, .panel-settings > summary) { color: var(--eng-panel); background: var(--eng-white); border-color: var(--eng-control-line); }
.pm-workspace .personal-project-panel > header :is(.panel-controls button, .panel-settings > summary):hover { color: var(--eng-panel); background: var(--eng-panel-fill); border-color: var(--eng-panel); }
.pm-workspace .panel-settings-menu { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-control-line); border-radius: var(--eng-radius); box-shadow: var(--eng-overlay-shadow); }
.pm-workspace .panel-settings-menu :is(label, small) { color: var(--eng-muted); }
.pm-workspace .personal-project-panel > header .panel-settings-menu button { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-teal); }
.pm-workspace .personal-project-list { background: var(--eng-white); border-color: var(--eng-line); border-radius: 0 0 var(--eng-radius-lg) var(--eng-radius-lg); scrollbar-color: var(--eng-control-line) var(--eng-canvas); }
.pm-workspace .personal-project-group > header { background: var(--eng-canvas); border-color: var(--eng-line); padding-block: var(--eng-space-3); }
.pm-workspace .personal-project-group > header a { color: var(--eng-blue); font-size: 14px; font-weight: 800; }
.pm-workspace .is-watching .personal-project-group > header a { color: var(--eng-purple); }
.pm-workspace .personal-project-group > header > span { color: var(--eng-muted); font-size: 12px; }
.pm-workspace .personal-project-task { border-color: var(--eng-line); padding-block: var(--eng-space-4); }
.pm-workspace .personal-project-task:is(:hover, :focus-within) { background: var(--eng-blue-fill); }
.pm-workspace .is-watching .personal-project-task:is(:hover, :focus-within) { background: var(--eng-purple-fill); }
.pm-workspace .personal-project-task-title strong { color: var(--eng-ink); font-size: 14px; line-height: 1.5; }
.pm-workspace .personal-project-task-title:hover strong { color: var(--eng-blue); }
.pm-workspace .personal-project-task-title small { color: var(--eng-muted); font-size: 12px; }
.pm-workspace .personal-project-task-meta :is(.task-service-badge, .task-badge, .project-owner-badge) { font-size: 11px; padding: 4px 7px; }
.pm-workspace .private-tasks-panel { border-top: 4px solid var(--eng-purple) !important; background: var(--eng-white); }
.pm-workspace .private-tasks-panel .eyebrow { color: var(--eng-purple); }
.pm-workspace .private-tasks-panel > .section-heading { border-bottom-color: var(--eng-purple-line); }
.pm-workspace .private-task-row { color: var(--eng-text); background: var(--eng-surface-purple); border: 1px solid var(--eng-line); border-left: 3px solid var(--eng-purple-line); border-radius: var(--eng-radius); }
.pm-workspace .private-task-row > button { color: var(--eng-ink); }
.pm-workspace .private-task-row > button small { color: var(--eng-muted); }
.pm-workspace .private-task-row.is-completed { background: var(--eng-green-fill); border-color: var(--eng-green-line); }
.pm-workspace .personal-project-empty > span { color: var(--eng-blue); background: var(--eng-blue-fill); border-radius: var(--eng-radius); }
.pm-workspace .is-watching .personal-project-empty > span { color: var(--eng-purple); background: var(--eng-purple-fill); }
.pm-workspace :is(.personal-project-empty p, .task-empty, .empty-records, .empty-state) { color: var(--eng-muted); font-size: 14px; line-height: 1.65; }

/* Task signals stay consistent in tables, the task editor and compact lists. */
.pm-workspace [data-task-tone="todo"] { --task-ink: var(--eng-neutral-ink); --task-fill: var(--eng-neutral-fill); --task-border: var(--eng-control-line); }
.pm-workspace [data-task-tone="progress"] { --task-ink: var(--eng-blue); --task-fill: var(--eng-blue-fill); --task-border: var(--eng-blue-line); }
.pm-workspace [data-task-tone="review"] { --task-ink: var(--eng-purple); --task-fill: var(--eng-purple-fill); --task-border: var(--eng-purple-line); }
.pm-workspace :is([data-task-tone="waiting"], [data-task-tone="hold"], [data-task-tone="high"]) { --task-ink: var(--eng-amber); --task-fill: var(--eng-amber-fill); --task-border: var(--eng-amber-line); }
.pm-workspace [data-task-tone="complete"] { --task-ink: var(--eng-green); --task-fill: var(--eng-green-fill); --task-border: var(--eng-green-line); }
.pm-workspace [data-task-tone="danger"] { --task-ink: var(--eng-red); --task-fill: var(--eng-red-fill); --task-border: var(--eng-red-line); }
.pm-workspace [data-task-tone="normal"] { --task-ink: var(--eng-blue); --task-fill: var(--eng-blue-fill); --task-border: var(--eng-blue-line); }
.pm-workspace :is([data-task-tone="low"], [data-task-tone="neutral"]) { --task-ink: var(--eng-neutral-ink); --task-fill: var(--eng-neutral-fill); --task-border: var(--eng-control-line); }
.pm-workspace :is(.task-badge, .task-status-control[data-task-tone], .task-priority-control[data-task-tone]) { color: var(--task-ink); background: var(--task-fill); border-color: var(--task-border); border-radius: var(--eng-radius-sm); font-weight: 750; }
.pm-workspace select:is(.task-status-control, .task-priority-control)[data-task-tone] { border-color: var(--task-ink); }
.pm-workspace .task-check.completed { color: var(--eng-white); background: var(--eng-green); border-color: var(--eng-green); }
.pm-workspace .project-owner-badge { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-mint-strong); border-left: 3px solid var(--eng-teal); border-radius: var(--eng-radius-sm); font-weight: 750; }
.pm-workspace .personal-project-due { color: var(--eng-muted); background: var(--eng-neutral-fill); border-radius: 6px; padding: 4px 7px; font-size: 11px; }
.pm-workspace :is(.personal-project-due.is-overdue, .personal-project-due[data-due-state="overdue"], .pm-overdue, .task-due[data-due-state="overdue"], td[data-due-state="overdue"], span[data-due-state="overdue"], small[data-due-state="overdue"]) { color: var(--eng-red); background: var(--eng-red-fill); font-weight: 800; }
.pm-workspace :is(.personal-project-due.is-today, .task-due[data-due-state="today"], td[data-due-state="today"], span[data-due-state="today"], small[data-due-state="today"]) { color: var(--eng-amber); background: var(--eng-amber-fill); font-weight: 800; }
.pm-workspace :is(tr, article, .private-task-row, .recurring-task-row)[data-due-state="overdue"] { border-left-color: var(--eng-red); }
.pm-workspace :is(.task-due.task-overdue, .task-due.task-overdue strong, .task-due.task-overdue small) { color: var(--eng-red); }
.pm-workspace :is(.task-due.task-due-today, .task-due.task-due-today strong, .task-due.task-due-today small) { color: var(--eng-amber); }
.pm-workspace :is(.task-row.task-overdue, .client-task-workspace .task-row.task-overdue) { border-left-color: var(--eng-red); background: var(--eng-white); }
.pm-workspace :is(.task-row.task-due-today, .client-task-workspace .task-row.task-due-today) { border-left-color: var(--eng-amber); background: var(--eng-white); }
.pm-workspace :is(.task-row, .private-task-row, .recurring-task-row).is-retired { color: var(--eng-neutral-ink); background: var(--eng-neutral-fill); border-left-color: var(--eng-control-line); }
.pm-workspace [data-due-state="finished"] { color: var(--eng-muted); background: transparent; font-weight: 500; }

/* Compact, legible tables and client records without large colour blocks. */
.pm-workspace :is(.client-table, .crm-client-table, .team-table, .pm-task-table) th,
.pm-workspace :is(.client-table, .crm-client-table, .team-table) thead tr,
.pm-workspace .client-list-panel[data-layout="list"] .client-table thead tr,
.pm-workspace .client-task-workspace .task-table-head { color: var(--eng-blue); background: var(--eng-blue-fill); border-color: var(--eng-line); font-size: 12px; font-weight: 800; }
.pm-workspace :is(.client-table, .crm-client-table, .team-table, .pm-task-table) td { border-color: var(--eng-line); }
.pm-workspace .client-list-panel[data-layout="list"] .client-row { background: var(--eng-white); border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace :is(.client-row:hover, .client-task-workspace .task-row:hover),
.pm-workspace :is(.client-table, .crm-client-table, .team-table, .pm-task-table) tr:hover td { background: var(--eng-canvas); }
.pm-workspace .client-task-workspace .task-row.is-completed { background: var(--eng-green-fill); }
.pm-workspace :is(.client-row-name, .pm-task-name strong, .task-title-button strong) { color: var(--eng-ink); font-size: 14px; }
.pm-workspace #client-state-control { display: none !important; }
.pm-workspace :is(.delivery-service-row, .delivery-action-row) { border-radius: var(--eng-radius-sm); }
.pm-workspace :is(.crm-record-header, .crm-intake-heading, .linked-record-panel, .project-link-panel, .crm-project-link) { color: var(--eng-text); background: var(--eng-blue-fill); border-color: var(--eng-line); border-left-color: var(--eng-blue); border-radius: var(--eng-radius); }
.pm-workspace .compact-crm-strip { background: var(--eng-mint) !important; border-left-color: var(--eng-teal) !important; }
.pm-workspace .crm-relationship-list > :is(a, article) { background: var(--eng-canvas); border-color: var(--eng-line); }
.pm-workspace :is(.activity-list article, .source-summary > div) { color: var(--eng-text); background: var(--eng-canvas); border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace :is(.source-card, .integration-card) { background: var(--eng-white); border-color: var(--eng-line); border-top-color: var(--eng-blue); border-radius: var(--eng-radius-lg); box-shadow: var(--eng-shadow); }
.pm-workspace .source-card.source-google_sheet { background: var(--eng-white); border-top-color: var(--eng-teal); }
.pm-workspace :is(.source-kind, .source-tabs li, .source-tabs > span) { color: var(--eng-blue); background: var(--eng-blue-fill); }
.pm-workspace .source-tabs { color: var(--eng-muted); background: var(--eng-canvas); border-color: var(--eng-line); }
.pm-workspace .source-review-state { color: var(--eng-amber); background: var(--eng-amber-fill); }
.pm-workspace .source-review-state:is(.state-reviewed, .state-connected) { color: var(--eng-green); background: var(--eng-green-fill); }
.pm-workspace .source-summary > div.needs-review { color: var(--eng-amber); background: var(--eng-amber-fill); border-color: var(--eng-amber-line); }
.pm-workspace .source-summary .needs-review dd { color: var(--eng-amber); }
.pm-workspace :is(.recurring-task-row, .recurring-client-item) { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace :is(.recurring-task-row, .recurring-client-item):hover { background: var(--eng-blue-fill); }

/* Technical references use the same clear surfaces and information colour. */
.pm-workspace .technical-reference { --technical-ink: var(--eng-ink); --technical-muted: var(--eng-muted); --technical-line: var(--eng-line); --technical-teal: var(--eng-teal); }
.pm-workspace .technical-website-summary { background: var(--eng-mint); border-color: var(--eng-mint-strong); border-radius: var(--eng-radius); }
.pm-workspace .technical-website-mark { color: var(--eng-white); background: var(--eng-teal); border-color: var(--eng-teal); border-radius: var(--eng-radius); }
.pm-workspace .technical-website-label p { color: var(--eng-teal); }
.pm-workspace .technical-setup-overview { background: var(--eng-blue-fill); border-radius: var(--eng-radius); border-color: var(--eng-line); padding: var(--eng-space-3) var(--eng-space-4); }
.pm-workspace .technical-setup-overview > div { border-color: var(--eng-line); }
.pm-workspace .technical-reference .technical-domain-row { background: var(--eng-white); border-color: var(--eng-line); }
.pm-workspace .technical-evidence-content { background: var(--eng-canvas); border-left-color: var(--eng-blue); border-radius: 0 var(--eng-radius-sm) var(--eng-radius-sm) 0; }
.pm-workspace .technical-reference :is(.technical-kind, .technical-service-chip) { font-size: 12px; border-radius: var(--eng-radius-sm); }
.pm-workspace .technical-reference .technical-kind { color: var(--eng-muted); background: var(--eng-neutral-fill); }
.pm-workspace .technical-reference .technical-kind-primary { color: var(--eng-teal); background: var(--eng-mint); }
.pm-workspace .technical-reference :is(.technical-kind-redirect, .technical-kind-subdomain, .technical-kind-email, .technical-kind-additional) { color: var(--eng-blue); background: var(--eng-blue-fill); }
.pm-workspace .technical-reference .technical-kind-parked { color: var(--eng-purple); background: var(--eng-purple-fill); }
.pm-workspace .technical-reference .technical-service-chip { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-mint-strong); }
.pm-workspace .technical-reference .technical-service-chip:is([data-service-kind="website-delivery"], [data-service-kind="google-ads"]) { color: var(--eng-blue); background: var(--eng-blue-fill); border-color: var(--eng-blue-line); }
.pm-workspace .technical-reference .technical-service-chip:is([data-service-kind="seo"], [data-service-kind="content"], [data-service-kind="social-media"], [data-service-kind="graphics"]) { color: var(--eng-purple); background: var(--eng-purple-fill); border-color: var(--eng-purple-line); }
.pm-workspace .technical-reference .technical-related-list a { color: var(--eng-blue); background: var(--eng-blue-fill); border-color: var(--eng-blue-line); border-radius: var(--eng-radius-sm); }
.pm-workspace .technical-reference :is(.technical-address-open, .technical-copy-button) { color: var(--eng-teal); background: var(--eng-white); border-color: var(--eng-teal); border-radius: var(--eng-radius-sm); }
.pm-workspace .technical-reference :is(.technical-address-open, .technical-copy-button):hover { color: var(--eng-teal-hover); background: var(--eng-mint); }
.pm-workspace .technical-reference :is(.technical-subheading h3, .technical-connected h3) { font-size: 17px; }
.pm-workspace .technical-reference :is(.technical-section-description, .technical-subheading p, .technical-account-note p, .technical-domain-note p) { color: var(--eng-muted); font-size: 14px; line-height: 1.65; }

/* Inputs and windows feel like one product. */
.pm-workspace :is(.search-field, .saved-view-control select, .pm-task-controls input, .pm-task-controls select, .work-filters select) { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-control-line); border-radius: var(--eng-radius); }
.pm-workspace :is(input, select, textarea):where(:not([type="checkbox"]):not([type="radio"]):not([type="hidden"])) { border-color: var(--eng-control-line); color: var(--eng-text); }
.pm-workspace :is(input, textarea)::placeholder { color: var(--eng-muted); opacity: 1; }
.pm-workspace :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--eng-teal); }
.pm-workspace dialog { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-line); border-radius: var(--eng-radius-lg); box-shadow: var(--eng-overlay-shadow); }
.pm-workspace dialog::backdrop { background: #0b1d3a80; backdrop-filter: blur(4px); }
.pm-workspace dialog form { color: var(--eng-text); background: var(--eng-white); }
.pm-workspace dialog :is(h2, h3) { color: var(--eng-ink); }
.pm-workspace dialog label { color: var(--eng-text); font-size: 13px; }
.pm-workspace dialog :is(input, select, textarea) { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-control-line); border-radius: var(--eng-radius-sm); font-size: 14px; }
.pm-workspace dialog :is(input, select):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) { min-height: 44px; }
.pm-workspace dialog :is(.form-grid, .task-extra-grid) { gap: var(--eng-space-4); }
.pm-workspace :is(.dialog-close, .task-detail-dialog .dialog-close, #notification-close) { color: var(--eng-text); background: var(--eng-neutral-fill); border-color: var(--eng-control-line); border-radius: var(--eng-radius); }
.pm-workspace :is(.dialog-close, #notification-close):hover { color: var(--eng-ink); background: var(--eng-blue-fill); border-color: var(--eng-blue); }
.pm-workspace :is(.task-dialog-actions, .dialog-action-row) { background: var(--eng-white); border-top-color: var(--eng-line); }
.pm-workspace .task-detail-sidebar { background: var(--eng-blue-fill); border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace :is(.task-extra-options, .advanced-access-options) { background: var(--eng-canvas); border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace .task-client-chip { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-teal); border-radius: var(--eng-radius); }
.pm-workspace #task-back-button { min-height: 44px; margin-bottom: var(--eng-space-2); }
.pm-workspace #task-dialog-title { margin-bottom: var(--eng-space-3); }
.pm-workspace #task-dialog-title-favourite { float: left; min-width: 44px; min-height: 44px; margin: 0 var(--eng-space-3) var(--eng-space-3) 0; }
.pm-workspace #task-form > .dialog-size-control { clear: none; min-height: 44px; margin-bottom: var(--eng-space-3); color: var(--eng-muted); }
.pm-workspace #task-client-context { clear: both; padding: 0; border: 0; background: transparent; margin: var(--eng-space-2) 0 var(--eng-space-4); }
.pm-workspace #task-client-picker { color: var(--eng-text); background: var(--eng-canvas); border-color: var(--eng-control-line); border-radius: var(--eng-radius); }
.pm-workspace #client-technical-dialog { background: var(--eng-white); border-color: var(--eng-line); }
.pm-workspace #client-technical-form .technical-domain-editor { background: var(--eng-canvas); border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace #client-technical-form .technical-domain-editor legend { color: var(--eng-blue); }
.pm-workspace .permission-checklist label:hover { color: var(--eng-teal); background: var(--eng-mint); }
.pm-workspace .permission-checklist label:has(input:checked) { color: var(--eng-teal); background: var(--eng-mint); }
.pm-workspace :is(.form-error, .conflict-note, .personal-project-error) { color: var(--eng-red); background: var(--eng-red-fill); border-color: var(--eng-red-line); }
.pm-workspace .toast { color: var(--eng-white); background: var(--eng-ink); border-left-color: var(--eng-mint-strong); border-radius: var(--eng-radius); }
.pm-workspace .auth-view { background: var(--eng-canvas); }
.pm-workspace .auth-card { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-line); border-top-color: var(--eng-teal); border-radius: var(--eng-radius-lg); box-shadow: var(--eng-shadow); }

/* The same quiet palette continues through every internal workspace. */
.pm-workspace :is(.view, dialog, .auth-card) :is(h1, h2, h3, h4) { color: var(--eng-ink); }
.pm-workspace :is(.project-management-header, .crm-header, .sources-header, .email-marketing-header, .ai-workspace-header, .recurring-approval-header) { color: var(--eng-text); background: var(--eng-surface-mint); border-color: var(--eng-line); border-left-color: var(--eng-teal); box-shadow: var(--eng-shadow); }
.pm-workspace :is(.list-toolbar, .client-task-toolbar, .notifications-toolbar, .recurring-filters, .pm-task-controls) { border-color: var(--eng-line); }
.pm-workspace :is(.filter-panel, .quick-add-grid button, .client-reconciliation-panel, .permission-builder, .permission-queue-field) { color: var(--eng-text); background: var(--eng-surface-blue); border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace :is(.quick-add-grid button:hover, .quick-add-grid button:focus-visible) { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-teal); }
.pm-workspace :is(.pm-tabs, .notification-filters, .client-task-service-tabs) { border-color: var(--eng-line); }
.pm-workspace :is(.task-tabs, .client-task-service-tabs) button { min-height: 44px; color: var(--eng-muted); background: var(--eng-white); border-color: var(--eng-control-line); border-radius: var(--eng-radius-sm); }
.pm-workspace :is(.task-tabs, .client-task-service-tabs) button:is(.active, [aria-selected="true"], [aria-pressed="true"]) { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-teal); }
.pm-workspace :is(.view-switcher, .client-filter-switcher) button[aria-pressed="true"] b { color: var(--eng-teal); }
.pm-workspace .pagination button { min-width: 44px; min-height: 44px; color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-control-line); border-radius: var(--eng-radius-sm); }
.pm-workspace .pagination button[aria-current="page"] { color: var(--eng-white); background: var(--eng-teal); border-color: var(--eng-teal); }

/* Directory cards and rows stay neutral; status pills carry the meaning. */
.pm-workspace .client-list-panel[data-layout] .client-row { background: var(--eng-white); border-color: var(--eng-line); border-top-color: var(--eng-line); border-left-color: var(--eng-mint-strong); }
.pm-workspace .client-list-panel[data-layout] .client-row:is(.attention, .on-hold) { border-left-color: var(--eng-amber-line); }
.pm-workspace .client-list-panel[data-layout] .client-row.blocked { border-left-color: var(--eng-red-line); }
.pm-workspace .client-list-panel[data-layout] .client-row:hover { background: var(--eng-surface-mint); }
.pm-workspace .client-list-panel[data-layout="list"] .client-row { background: var(--eng-white) !important; border-color: var(--eng-line) !important; border-left-color: var(--eng-mint-strong) !important; }
.pm-workspace .client-list-panel[data-layout="list"] .client-row:hover { background: var(--eng-surface-mint) !important; border-color: var(--eng-line) !important; border-left-color: var(--eng-teal) !important; }
.pm-workspace .client-table .client-row td { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-line); }
.pm-workspace .client-table .client-row:hover td { background: var(--eng-surface-mint); filter: none; }
.pm-workspace :is(.health-pill.health-amber, .health-pill.health-hold) { color: var(--eng-amber); background: var(--eng-amber-fill); }
.pm-workspace .health-pill.health-red { color: var(--eng-red); background: var(--eng-red-fill); }
.pm-workspace .health-pill.health-green { color: var(--eng-green); background: var(--eng-green-fill); }
.pm-workspace :is(.delivery-service-row, .project-service-chip) { background: var(--eng-surface-blue); border-color: var(--eng-line); }
.pm-workspace .delivery-action-row { background: var(--eng-surface-purple); border-color: var(--eng-line); }
.pm-workspace :is(.project-service-state.is-active, .project-service-state.is-info, .project-service-state.is-mixed) { color: var(--eng-blue); background: var(--eng-blue-fill); }
.pm-workspace :is(.project-service-state.is-on-hold, .project-service-state.is-needs-review) { color: var(--eng-amber); background: var(--eng-amber-fill); }
.pm-workspace :is(.project-service-state.is-completed, .service-status.is-completed) { color: var(--eng-green); background: var(--eng-green-fill); }
.pm-workspace .project-service-state.is-cancelled { color: var(--eng-neutral-ink); background: var(--eng-neutral-fill); }

/* My Day, All Tasks, recurring work and history share the same rows. */
.pm-workspace :is(.structured-work-item, .imported-work-item, .task-row, .recurring-task-row) { background: var(--eng-white); border-color: var(--eng-line); }
.pm-workspace :is(.work-context-grid > span, .structured-work-item .work-item-meta, .workstream-summary dl > div, .recurring-approval-card dl > div) { color: var(--eng-text); background: var(--eng-surface-blue); border-color: var(--eng-line); }
.pm-workspace :is(.work-task-title, .workstream-summary) { background: var(--eng-surface-mint); border-color: var(--eng-line); }
.pm-workspace .work-task-title { border-left-color: var(--eng-teal); }
.pm-workspace .structured-work-item .work-item-main { border-left-color: var(--eng-blue-line); }
.pm-workspace .structured-work-item[data-due-state="overdue"] .work-item-main { border-left-color: var(--eng-red); }
.pm-workspace .structured-work-item[data-due-state="today"] .work-item-main { border-left-color: var(--eng-amber); }
.pm-workspace .structured-work-item[data-due-state="overdue"] .work-due-value { color: var(--eng-red); }
.pm-workspace .structured-work-item[data-due-state="today"] .work-due-value { color: var(--eng-amber); }
.pm-workspace :is(.client-subtask-list .task-row, .recurring-client-panel) { background: var(--eng-surface-blue); }
.pm-workspace :is(.recurring-approval-card, .recurring-approval-card.state-ready, .recurring-approval-card.state-awaiting_reply, .recurring-approval-card.state-approved, .recurring-approval-card.state-completed) { background: var(--eng-white); border-color: var(--eng-line); border-top-color: var(--eng-blue-line); border-radius: var(--eng-radius); box-shadow: var(--eng-shadow); }
.pm-workspace .recurring-approval-card:is(.state-ready, .state-awaiting_reply) { border-top-color: var(--eng-amber-line); }
.pm-workspace .recurring-approval-card:is(.state-approved, .state-completed) { border-top-color: var(--eng-green-line); }
.pm-workspace :is(.recurring-task-row, .recurring-client-item) small { color: var(--eng-muted); }

/* Files, conversation and activity are part of the client workspace. */
.pm-workspace :is(.link-row, .task-file-link, .activity-list article, .internal-activity-list li > article, .internal-activity-list li > button, .communication-entry) { color: var(--eng-text); background: var(--eng-surface-blue); border-color: var(--eng-line) !important; border-radius: var(--eng-radius); box-shadow: none; }
.pm-workspace :is(.link-row, .task-file-link, .internal-activity-list li > button):hover { background: var(--eng-mint); border-color: var(--eng-teal) !important; }
.pm-workspace :is(.link-row a, .task-file-link strong, .link-row strong, .activity-list strong, .internal-activity-list strong) { color: var(--eng-ink); }
.pm-workspace :is(.link-row small, .task-file-link small, .activity-list p, .activity-list time, .internal-activity-list small, .internal-activity-list p, .communication-entry p) { color: var(--eng-muted); }
.pm-workspace .activity-avatar { color: var(--eng-purple); background: var(--eng-purple-fill); }
.pm-workspace :is(.task-files-section, .subtask-section, .task-comments-section, .task-comment-composer, .task-client-update) { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace .task-files-section { border-left: 3px solid var(--eng-mint-strong); }
.pm-workspace .subtask-section { border-left: 3px solid var(--eng-blue-line); }
.pm-workspace .task-comments-section { border-left: 3px solid var(--eng-purple-line); }
.pm-workspace :is(.task-comments > li, .task-comment) { color: var(--eng-text); background: var(--eng-surface-purple); border-color: var(--eng-line); border-left-color: var(--eng-purple-line); border-radius: var(--eng-radius-sm); }
.pm-workspace :is(.task-comments p, .task-comment p) { color: var(--eng-text); }
.pm-workspace :is(.task-comments time, .task-comment time, .task-files-section > p, .subtask-row small) { color: var(--eng-muted); }
.pm-workspace .subtask-row { color: var(--eng-text); background: var(--eng-surface-blue); border-color: var(--eng-line); border-radius: var(--eng-radius-sm); }
.pm-workspace .subtask-row.is-completed { background: var(--eng-green-fill); }
.pm-workspace .subtask-row.is-retired { background: var(--eng-neutral-fill); }
.pm-workspace :is(.watcher-checklist, .permission-checklist) label { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-line); border-radius: var(--eng-radius-sm); }
.pm-workspace :is(.watcher-checklist, .permission-checklist) label:has(input:checked) { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-teal); }

/* Administration and source records inherit the same product, without rainbow panels. */
.pm-workspace .crm-record-card:nth-child(n) { border-top: 3px solid var(--eng-mint-strong) !important; }
.pm-workspace .crm-column:nth-child(n) { background: var(--eng-surface-blue); border-color: var(--eng-line); border-top-color: var(--eng-blue-line); border-radius: var(--eng-radius); }
.pm-workspace :is(.lead-card, .crm-intake-item, .crm-project-metrics > span, .crm-contact-card dl div, .linked-next-task) { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-line); border-radius: var(--eng-radius); box-shadow: none; }
.pm-workspace .lead-card { border-left-color: var(--eng-teal); }
.pm-workspace :is(.lead-card:hover, .crm-metric-filters button:hover) { background: var(--eng-mint); }
.pm-workspace .crm-metric-filters button[aria-pressed="true"] { outline-color: var(--eng-teal); background: var(--eng-mint); }
.pm-workspace .crm-forecast-note { color: var(--eng-text); background: var(--eng-blue-fill); border-color: var(--eng-line); }
.pm-workspace .crm-forecast-note :is(p, small) { color: var(--eng-muted); }
.pm-workspace .crm-forecast-note > div:not(:first-child) { border-color: var(--eng-line); }
.pm-workspace :is(.crm-private-note, .crm-private-note.locked) { color: var(--eng-purple); background: var(--eng-purple-fill); border-color: var(--eng-purple-line); }
.pm-workspace :is(.team-table, .crm-client-table) :is(td, th) { color: var(--eng-text); border-color: var(--eng-line); }
.pm-workspace :is(.team-table, .crm-client-table) th { color: var(--eng-ink); background: var(--eng-blue-fill); }
.pm-workspace :is(.team-table, .crm-client-table) tr:hover td { background: var(--eng-surface-mint); }
.pm-workspace .source-review-panel { background: var(--eng-white) !important; border-top-color: var(--eng-amber-line) !important; }
.pm-workspace .source-review-row { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-line); border-left-color: var(--eng-amber-line); border-radius: var(--eng-radius); box-shadow: none; }
.pm-workspace .source-review-row dl > div { color: var(--eng-text); background: var(--eng-surface-blue); border-color: var(--eng-line); }
.pm-workspace :is(.source-summary dt, .source-tabs > small, .source-row-location, .source-review-row dt) { color: var(--eng-muted); }
.pm-workspace .source-item-flags span { color: var(--eng-amber); background: var(--eng-amber-fill); border-color: var(--eng-amber-line); }
.pm-workspace .source-item-flags .no-flags { color: var(--eng-neutral-ink); background: var(--eng-neutral-fill); border-color: var(--eng-line); }
.pm-workspace .notification-panel { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-line); }
.pm-workspace .notification-panel header { color: var(--eng-ink); background: var(--eng-blue-fill); }
.pm-workspace .notification-panel #notification-list .notification-item { border-color: var(--eng-line); box-shadow: none; }
.pm-workspace .notification-panel #notification-list .notification-item.unread { background: var(--eng-blue-fill) !important; border-color: var(--eng-line); border-left-color: var(--eng-blue); }

/* All modal actions share a baseline, including the task form's old submit override. */
.pm-workspace dialog form { border-top-color: var(--eng-teal) !important; box-shadow: none; }
.pm-workspace dialog form::before { color: var(--eng-teal); }
.pm-workspace dialog :is(input, textarea)::placeholder { color: var(--eng-muted); opacity: 1; }
.pm-workspace .dialog-divider { color: var(--eng-muted); }
.pm-workspace .dialog-divider::before,
.pm-workspace .dialog-divider::after { background: var(--eng-line); }
.pm-workspace dialog fieldset { border-color: var(--eng-line); }
.pm-workspace dialog :is(legend, summary) { color: var(--eng-ink); }
.pm-workspace .auth-card input { color: var(--eng-text); background: var(--eng-surface-blue); border-color: var(--eng-control-line); border-radius: var(--eng-radius-sm); }
.pm-workspace .auth-card :is(p, label) { color: var(--eng-muted); }
.pm-workspace .auth-card .eyebrow { color: var(--eng-teal); }
.pm-workspace :is(.task-dialog-actions, .dialog-action-row) { align-items: center; gap: var(--eng-space-2); padding-top: var(--eng-space-4); background: var(--eng-white); border-top-color: var(--eng-line); }
.pm-workspace dialog .dialog-action-row button,
.pm-workspace #task-dialog #task-form-submit {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  min-width: 88px;
  min-height: 44px;
  height: auto;
  width: auto;
  margin: 0 !important;
  padding: 10px 16px;
  border-width: 1px;
  border-style: solid;
  border-radius: var(--eng-radius);
  font-family: inherit;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.3;
  text-align: center;
}
.pm-workspace .task-dialog-primary-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--eng-space-2); margin-left: auto; }
.pm-workspace #task-dialog #delete-task-button { flex: 0 0 auto; color: var(--eng-red); background: var(--eng-white); border-color: var(--eng-red); }
.pm-workspace #task-dialog #delete-task-button:hover:not(:disabled) { color: var(--eng-red); background: var(--eng-red-fill); }
.pm-workspace .dialog-action-row .danger-button { color: var(--eng-white); background: var(--eng-red); border-color: var(--eng-red); }
.pm-workspace .dialog-action-row .danger-button:hover:not(:disabled) { background: var(--eng-red); filter: brightness(.94); }
.pm-workspace #private-task-delete { margin-right: auto !important; }
.pm-workspace #delete-task-dialog #confirm-delete-task { color: var(--eng-red); background: var(--eng-white); border-color: var(--eng-red); }
.pm-workspace #delete-task-dialog #confirm-delete-task:hover:not(:disabled) { color: var(--eng-red); background: var(--eng-red-fill); filter: none; }
.pm-workspace .deleted-tasks-list { display: grid; gap: var(--eng-space-3); margin-top: var(--eng-space-4); }
.pm-workspace .deleted-task-row { display: flex; align-items: center; justify-content: space-between; gap: var(--eng-space-4); padding: var(--eng-space-4); color: var(--eng-text); background: var(--eng-surface-blue); border: 1px solid var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace .deleted-task-row > div { min-width: 0; }
.pm-workspace .deleted-task-row strong { color: var(--eng-ink); font-size: 14px; overflow-wrap: anywhere; }
.pm-workspace .deleted-task-row p { margin: var(--eng-space-1) 0; color: var(--eng-text); font-size: 13px; overflow-wrap: anywhere; }
.pm-workspace .deleted-task-row small { color: var(--eng-muted); font-size: 12px; }
.pm-workspace .deleted-task-row > button { flex: 0 0 auto; min-height: 44px; margin: 0; }

/* Client service setup is separate from the task filters and history. */
.pm-workspace .client-services-list { display: grid; gap: var(--eng-space-3); }
.pm-workspace .client-service-row { display: flex; align-items: center; justify-content: space-between; gap: var(--eng-space-4); padding: var(--eng-space-4); border: 1px solid var(--eng-line); border-left: 4px solid var(--client-service-colour, var(--eng-teal)); border-radius: var(--eng-radius); background: var(--eng-surface-blue); }
.pm-workspace .client-service-info { min-width: 0; }
.pm-workspace .client-service-name { display: flex; align-items: center; flex-wrap: wrap; gap: var(--eng-space-2); }
.pm-workspace .client-service-name h3 { margin: 0; color: var(--eng-ink); font-size: 16px; line-height: 1.4; overflow-wrap: anywhere; }
.pm-workspace .client-service-mark { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; color: var(--eng-ink); background: var(--eng-white); border: 1px solid var(--eng-line); border-radius: var(--eng-radius-sm); font-size: 14px; font-weight: 800; }
.pm-workspace .client-service-assignment { padding: var(--eng-space-1) var(--eng-space-2); border-radius: var(--eng-radius-sm); color: var(--eng-teal); background: var(--eng-mint); font-size: 12px; font-weight: 750; }
.pm-workspace .client-service-assignment.is-history { color: var(--eng-neutral-ink); background: var(--eng-neutral-fill); }
.pm-workspace .client-service-source { margin: var(--eng-space-2) 0; color: var(--eng-muted); font-size: 13px; }
.pm-workspace .client-service-source a { color: var(--eng-teal); text-decoration: underline; text-underline-offset: 3px; }
.pm-workspace .client-service-counts { display: flex; flex-wrap: wrap; gap: var(--eng-space-2); margin-top: var(--eng-space-2); }
.pm-workspace .client-service-counts > span { padding: var(--eng-space-1) var(--eng-space-2); color: var(--eng-muted); background: var(--eng-white); border-radius: var(--eng-radius-sm); font-size: 12px; }
.pm-workspace .client-service-actions { display: flex; align-items: center; gap: var(--eng-space-3); flex: 0 0 auto; }
.pm-workspace .client-service-actions > button { min-height: 44px; }
.pm-workspace .client-service-menu { position: relative; }
.pm-workspace .client-service-menu > summary { display: flex; align-items: center; justify-content: center; gap: var(--eng-space-2); min-height: 44px; padding: 8px 12px; color: var(--eng-text); background: var(--eng-white); border: 1px solid var(--eng-control-line); border-radius: var(--eng-radius-sm); font-size: 13px; font-weight: 750; list-style: none; cursor: pointer; }
.pm-workspace .client-service-menu > summary::-webkit-details-marker { display: none; }
.pm-workspace .client-service-menu[open] > summary { color: var(--eng-teal); background: var(--eng-mint); border-color: var(--eng-teal); }
.pm-workspace .client-service-menu-items { position: absolute; z-index: 15; right: 0; top: calc(100% + 6px); width: 240px; max-width: calc(100vw - 48px); padding: var(--eng-space-2); border: 1px solid var(--eng-line); border-radius: var(--eng-radius); color: var(--eng-text); background: var(--eng-white); box-shadow: var(--eng-overlay-shadow); }
.pm-workspace .client-service-menu-items button { display: block; width: 100%; min-height: 44px; padding: 8px 10px; border: 0; border-radius: var(--eng-radius-sm); color: var(--eng-text); background: transparent; font-size: 13px; text-align: left; cursor: pointer; }
.pm-workspace .client-service-menu-items button:hover:not(:disabled) { color: var(--eng-teal); background: var(--eng-mint); }
.pm-workspace .client-service-menu-items [data-remove-client-service] { color: var(--eng-red); }
.pm-workspace .client-service-menu-items button:disabled { color: var(--eng-muted); cursor: not-allowed; }
.pm-workspace .client-service-menu-items p { margin: var(--eng-space-2); color: var(--eng-muted); font-size: 12px; line-height: 1.5; }
.pm-workspace #new-category-fields { margin-top: var(--eng-space-4); padding: var(--eng-space-4); background: var(--eng-surface-mint); border: 1px solid var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace #new-category-color { min-height: 44px; padding: var(--eng-space-1); }
.pm-workspace #remove-client-service-submit { color: var(--eng-red); background: var(--eng-white); border-color: var(--eng-red); }
.pm-workspace #remove-client-service-submit:hover:not(:disabled) { color: var(--eng-red); background: var(--eng-red-fill); filter: none; }
.pm-workspace #preview-service-import { margin-top: var(--eng-space-4); }
.pm-workspace .service-import-totals { display: flex; flex-wrap: wrap; gap: var(--eng-space-2) var(--eng-space-4); margin: var(--eng-space-4) 0; padding: var(--eng-space-3); color: var(--eng-text); background: var(--eng-mint); border-radius: var(--eng-radius); font-size: 13px; }
.pm-workspace .service-import-table-wrap { max-height: 380px; overflow: auto; border: 1px solid var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace .service-import-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pm-workspace .service-import-table th { position: sticky; top: 0; padding: var(--eng-space-3); color: var(--eng-ink); background: var(--eng-blue-fill); text-align: left; }
.pm-workspace .service-import-table td { min-width: 150px; padding: var(--eng-space-3); color: var(--eng-text); border-top: 1px solid var(--eng-line); vertical-align: top; }
.pm-workspace .service-import-table small { display: block; margin-top: var(--eng-space-1); color: var(--eng-muted); }

/* Counts are visually strong, but zero is never an alert. */
.pm-workspace :is(.personal-project-count, .notification-filter-count, .task-tabs span, .client-task-toolbar .pm-tabs span, .recurring-group-count, .service-count-badge, .technical-count, .technical-connected-heading > span, [data-count]) {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  border-radius: var(--eng-radius-sm);
}
.pm-workspace :is(.personal-project-count, .notification-filter-count, .task-tabs span, .client-task-toolbar .pm-tabs span, .recurring-group-count, .technical-count, .technical-connected-heading > span) { color: var(--eng-blue) !important; background: var(--eng-blue-fill) !important; border-color: var(--eng-blue-line); }
.pm-workspace .project-service-options button .service-count-badge { color: var(--eng-blue); background: var(--eng-white); border-color: var(--eng-blue-line); }
.pm-workspace .project-service-options button[aria-pressed="true"] .service-count-badge { color: var(--eng-ink); background: var(--eng-white); border-color: var(--eng-white); }
.pm-workspace .personal-project-panel > header .personal-project-count { color: var(--eng-panel) !important; background: var(--eng-white) !important; border-color: var(--eng-white); font-size: 15px; min-width: 32px; min-height: 30px; }
.pm-workspace .personal-project-group > header > span[data-count] { padding: var(--eng-space-1) var(--eng-space-2); border: 1px solid var(--eng-line); border-radius: var(--eng-radius-sm); }
.pm-workspace .private-tasks-panel .personal-project-count { color: var(--eng-purple) !important; background: var(--eng-purple-fill) !important; border-color: var(--eng-purple-line); }
.pm-workspace :is(.summary-strip article, #recurring-view > .summary-strip article) { color: var(--eng-text); background: var(--eng-white) !important; border-color: var(--eng-line) !important; border-radius: var(--eng-radius); box-shadow: var(--eng-shadow); }
.pm-workspace :is(.summary-strip strong, #recurring-view > .summary-strip article strong) { color: var(--eng-blue) !important; font-size: 28px; }
.pm-workspace :is(.summary-strip small, #recurring-view > .summary-strip article small) { color: var(--eng-muted) !important; font-size: 12px; }
.pm-workspace .summary-strip .summary-bar { background: var(--eng-blue); }
.pm-workspace [data-tone="info"][data-state="active"] { color: var(--eng-blue) !important; background: var(--eng-blue-fill) !important; border-color: var(--eng-blue-line) !important; }
.pm-workspace [data-tone="watching"][data-state="active"] { color: var(--eng-purple) !important; background: var(--eng-purple-fill) !important; border-color: var(--eng-purple-line) !important; }
.pm-workspace [data-tone="positive"][data-state="active"] { color: var(--eng-green) !important; background: var(--eng-green-fill) !important; border-color: var(--eng-green-line) !important; }
.pm-workspace [data-tone="attention"][data-state="active"] { color: var(--eng-red) !important; background: var(--eng-red-fill) !important; border-color: var(--eng-red-line) !important; }
.pm-workspace :is(.alert-count-badge, .nav-attention-count),
.pm-workspace :is(.alert-count-badge, .nav-attention-count)[data-tone="attention"][data-state="active"] { color: var(--eng-white) !important; background: var(--eng-red) !important; border-color: var(--eng-red) !important; border-radius: 999px; box-shadow: 0 0 0 2px var(--eng-white) !important; }
.pm-workspace .sidebar .nav-item > :is(.alert-count-badge, .nav-attention-count) { color: var(--eng-white) !important; background: var(--eng-red) !important; border-color: var(--eng-red); }
.pm-workspace :is(.attention-count-badge, .project-source-review-count, .filter-button em) { color: var(--eng-amber) !important; background: var(--eng-amber-fill) !important; border-color: var(--eng-amber-line); }
.pm-workspace .workspace-topbar .notification-button { color: var(--eng-text); border-color: var(--eng-control-line); border-radius: var(--eng-radius); background: var(--eng-white); }
.pm-workspace .workspace-topbar .notification-icon { color: var(--eng-blue); background: var(--eng-blue-fill); border-radius: var(--eng-radius-sm); }
.pm-workspace .workspace-topbar .notification-button:has(b:not([hidden]):not([data-state="empty"])) { color: var(--eng-red); background: var(--eng-red-fill); border-color: var(--eng-red-line); }
.pm-workspace .workspace-topbar .notification-button:has(b:not([hidden]):not([data-state="empty"])) .notification-icon { color: var(--eng-red); background: var(--eng-white); }
.pm-workspace .notification-item { background: var(--eng-white) !important; border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace .notification-item.unread { background: var(--eng-blue-fill) !important; border-left: 4px solid var(--eng-blue); }
.pm-workspace .notification-item:hover { background: var(--eng-mint) !important; }
.pm-workspace .notification-stat { color: var(--eng-text); background: var(--eng-white); border-color: var(--eng-line); border-radius: var(--eng-radius); }
.pm-workspace .notification-stat > span { color: var(--eng-blue); background: var(--eng-blue-fill); }
.pm-workspace .notification-stat.is-watching > span { color: var(--eng-purple); background: var(--eng-purple-fill); }
.pm-workspace .notification-stat.is-unread > span { color: var(--eng-red); background: var(--eng-red-fill); }
.pm-workspace .notification-stat:has([data-state="empty"]) > span { color: var(--eng-neutral-ink); background: var(--eng-neutral-fill); }
.pm-workspace :is(.summary-strip strong, .notification-stat strong)[data-state="empty"],
.pm-workspace :is(.personal-project-count, .notification-filter-count, .service-count-badge, .technical-count, .technical-connected-heading > span, .alert-count-badge, .nav-attention-count, .attention-count-badge, .recurring-group-count, .task-tabs span, .client-task-toolbar .pm-tabs span)[data-state="empty"],
.pm-workspace [data-count][data-state="empty"] { color: var(--eng-neutral-ink) !important; background: var(--eng-neutral-fill) !important; border-color: var(--eng-control-line) !important; box-shadow: none !important; }
.pm-workspace .summary-strip article:has([data-state="empty"]) .summary-bar { background: var(--eng-control-line) !important; }
.pm-workspace #recurring-view > .summary-strip article strong[data-tone="info"][data-state="active"] { color: var(--eng-blue) !important; background: var(--eng-blue-fill) !important; }
.pm-workspace #recurring-view > .summary-strip article strong[data-tone="positive"][data-state="active"] { color: var(--eng-green) !important; background: var(--eng-green-fill) !important; }
.pm-workspace #recurring-view > .summary-strip article strong[data-tone="attention"][data-state="active"] { color: var(--eng-red) !important; background: var(--eng-red-fill) !important; }
.pm-workspace #recurring-view > .summary-strip article strong[data-tone="watching"][data-state="active"] { color: var(--eng-purple) !important; background: var(--eng-purple-fill) !important; }
.pm-workspace #recurring-view > .summary-strip article strong[data-state="empty"] { color: var(--eng-neutral-ink) !important; background: var(--eng-neutral-fill) !important; }

/* Mobile remains a working app, with clear controls and comfortable targets. */
@media (max-width: 760px) {
  .pm-workspace .mobile-header { color: var(--eng-ink); background: var(--eng-white); border-color: var(--eng-line); }
  .pm-workspace .mobile-header button { min-width: 44px; min-height: 44px; color: var(--eng-teal); background: var(--eng-mint); border-radius: var(--eng-radius); }
  .pm-workspace .mobile-bottom-nav { background: var(--eng-white); border-top-color: var(--eng-line); box-shadow: 0 -4px 20px #0b1d3a08; }
  .pm-workspace .mobile-bottom-nav :is(a, button) { min-height: 48px; color: var(--eng-muted); border-radius: var(--eng-radius); }
  .pm-workspace .mobile-bottom-nav a:is(.active, .is-active) { color: var(--eng-teal); background: var(--eng-mint); }
  .pm-workspace .mobile-bottom-nav .mobile-quick-add { color: var(--eng-white); background: var(--eng-teal); border-color: var(--eng-white); border-radius: var(--eng-radius-lg); }
  .pm-workspace .mobile-bottom-nav .mobile-quick-add small { color: var(--eng-white); }
  .pm-workspace .view > .page-header { gap: var(--eng-space-4); padding-bottom: var(--eng-space-5); }
  .pm-workspace .view > .page-header h1 { font-size: 28px; }
  .pm-workspace :is(.page-intro, .section-heading p, .personal-project-panel-help) { font-size: 14px; }
  .pm-workspace .personal-project-panel > header { padding: var(--eng-space-4); }
  .pm-workspace .personal-project-panel > header h2 { font-size: 18px; }
  .pm-workspace .personal-project-panel-help { padding: var(--eng-space-3) var(--eng-space-4); }
  .pm-workspace .workspace-layout-toolbar { gap: var(--eng-space-2) var(--eng-space-4); }
  .pm-workspace .workspace-layout-toolbar label { display: grid; grid-template-columns: minmax(0, 1fr); flex: 1 0 100%; width: 100%; gap: var(--eng-space-2); }
  .pm-workspace .workspace-layout-toolbar label select { width: 100%; min-width: min(180px, 100%); max-width: 100%; }
  .pm-workspace .workspace-layout-toolbar > small { flex: 1 1 160px; }
  .pm-workspace :is(.pm-tabs, .notification-filters, .service-nav, .project-service-options, .view-switcher, .client-filter-switcher, .panel-controls) { gap: var(--eng-space-2); }
  .pm-workspace :is(button, .button-link, .text-button, .technical-address-open, .technical-copy-button, .technical-service-chip, .technical-related-list a, .panel-settings > summary) { min-height: 44px; }
  .pm-workspace :is(.task-check, .panel-controls button, .panel-settings > summary, .notification-button, #project-client-toggle) { min-width: 44px; min-height: 44px; }
  .pm-workspace :is(.pm-tabs, .notification-filters, .service-nav, .project-service-options, .crm-tabs, .view-switcher, .client-filter-switcher) button { min-height: 44px; }
  .pm-workspace :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) { font-size: 16px !important; min-height: 44px; }
  .pm-workspace .personal-project-due { font-size: 12px; }
  .pm-workspace .technical-setup-overview { padding-inline: var(--eng-space-3); }
  .pm-workspace .technical-reference :is(.technical-address-open, .technical-copy-button) { min-height: 44px; }
}
@media (max-width: 390px) {
  .pm-workspace .personal-project-panel > header { gap: var(--eng-space-2); }
  .pm-workspace .personal-project-panel > header h2 { font-size: 17px; }
  .pm-workspace .personal-project-panel > header .panel-controls { margin-left: auto; }
  .pm-workspace .task-detail-sidebar { padding: var(--eng-space-3); }
}
@media (max-width: 480px) {
  .pm-workspace .task-dialog-primary-actions { flex: 1 0 100%; width: 100%; }
  .pm-workspace .task-dialog-primary-actions > button { flex: 1 1 0; min-width: 0; }
  .pm-workspace #task-dialog #delete-task-button { flex: 1 0 100%; width: 100%; }
  .pm-workspace dialog .dialog-action-row > :is(.primary-button, .secondary-button) { flex: 1 1 0; min-width: 0; }
  .pm-workspace #private-task-delete { flex: 1 0 100%; width: 100%; }
  .pm-workspace #delete-task-dialog .dialog-action-row button { flex: 1 1 0; min-width: 0; }
  .pm-workspace .deleted-task-row { flex-direction: column; align-items: stretch; }
  .pm-workspace .deleted-task-row > button { width: 100%; }
  .pm-workspace .client-service-row { flex-direction: column; align-items: stretch; }
  .pm-workspace .client-service-actions { justify-content: flex-end; }
  .pm-workspace #remove-client-service-dialog .dialog-action-row > button { flex: 1 1 0; min-width: 0; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .pm-workspace :is(button, .nav-item, .personal-project-task, .technical-related-list a) { transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease; }
}
.pm-workspace :is(button, a, summary, input, select, textarea):focus-visible { outline: 3px solid var(--eng-focus); outline-offset: 3px; }
.pm-workspace .personal-project-panel > header :is(button, summary):focus-visible { outline-color: var(--eng-focus); }
.pm-workspace .personal-project-panel > header .panel-settings-menu :is(button, input, select):focus-visible { outline-color: var(--eng-focus); }
.pm-workspace ::selection { color: var(--eng-ink); background: var(--eng-mint-strong); }
@media (prefers-reduced-motion: reduce) {
  .pm-workspace *, .pm-workspace *::before, .pm-workspace *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  .pm-workspace { color: CanvasText; background: Canvas; }
  .pm-workspace :is(button, a, summary, input, select, textarea):focus-visible { outline-color: Highlight !important; }
  .pm-workspace :is(.nav-item, .personal-project-panel > header, .task-badge, .personal-project-due, .personal-project-count, .service-count-badge, .technical-count, .alert-count-badge, .notification-filter-count, [data-count], [data-due-state]) { color: CanvasText !important; background: Canvas !important; border-color: ButtonText !important; box-shadow: none !important; }
  .pm-workspace :is(.nav-item.active, button[aria-pressed="true"], button[aria-selected="true"]) { outline: 2px solid Highlight; outline-offset: -2px; }
  .pm-workspace .personal-project-panel > header h2 { color: CanvasText; }
  .pm-workspace dialog .dialog-action-row button,
  .pm-workspace #task-dialog #delete-task-button,
  .pm-workspace #delete-task-dialog #confirm-delete-task,
  .pm-workspace #remove-client-service-submit { color: ButtonText; background: ButtonFace; border-color: ButtonText; }
}
