/* ==========================================================================
   Trinzo shared design system  ·  /static/trinzo.css
   Light, brand-matched theme. Loaded LAST in each view so it overrides the
   older inline dark styles by matching the same (copy-pasted) selectors.
   Brand teal: #79b1c2 (mark) · accessible interactive teal: #2c7a90
   ========================================================================== */

:root {
  color-scheme: light;

  /* Brand */
  --brand:        #79b1c2;   /* logo mark tint */
  --brand-050:    #f0f6f8;
  --brand-100:    #dcebf0;
  --brand-200:    #c3dde5;

  --accent:       #2c7a90;   /* interactive teal, AA on white */
  --accent-600:   #24657a;
  --accent-700:   #1c5061;

  /* Surfaces */
  --bg:           #eef2f6;
  --panel:        #ffffff;
  --panel2:       #ffffff;
  --surface:      #ffffff;
  --soft:         #f4f7f9;
  --soft-2:       #e9f1f4;
  --border:       #d9e1e8;
  --border-strong:#c3ced8;

  /* Text */
  --text:         #17222c;
  --muted:        #596875;
  --heading:      #142b34;

  /* Status */
  --ok-text:#146c43;   --ok-bg:#e7f5ec;   --ok-border:#b6e0c5;
  --warn-text:#8a5300; --warn-bg:#fdf2da; --warn-border:#f2d89a;
  --danger-text:#b42318; --danger-bg:#fdeceb; --danger-border:#f3c6c2;
  --info-text:#1c5061; --info-bg:#e6f1f4; --info-border:#c3dde5;

  /* Effects */
  --radius:12px;
  --radius-sm:8px;
  --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(16,24,40,.06);
  --shadow:0 1px 3px rgba(16,24,40,.10), 0 1px 2px rgba(16,24,40,.06);
  --shadow-lg:0 10px 30px rgba(20,43,52,.12);

  /* legacy aliases kept so old var() references recolor cleanly */
  --warn:#b8860b;
}

/* ------------------------------------------------------------------ base -- */
html { -webkit-text-size-adjust:100%; }
body {
  margin:0;
  padding:1.25rem;
  min-height:100vh;
  background:var(--bg) !important;
  color:var(--text);
  font-family:Roboto, "Segoe UI", system-ui, Arial, sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.container { max-width:1180px; margin:0 auto; padding:1.25rem 0 3rem; }

h1, h2, h3, h4 { color:var(--heading); font-weight:700; line-height:1.2; }
h1 { margin:.2rem 0 .5rem; font-size:clamp(1.6rem, 3.4vw, 2.15rem); letter-spacing:-.01em; }
h2 { margin:.15rem 0 .5rem; font-size:1.25rem; }
h3 { font-size:1.05rem; }
p  { margin:.4rem 0; }
small, .muted, .intro, .quiet { color:var(--muted); }
a { color:var(--accent); text-decoration:none; }
a:hover { color:var(--accent-700); text-decoration:underline; }

.eyebrow {
  margin:0 0 .5rem; color:var(--accent); font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; font-size:.72rem;
}

/* ---------------------------------------------------------- nav / header -- */
.nav {
  display:flex; gap:.4rem; flex-wrap:wrap; align-items:center;
  margin-bottom:1.25rem; padding:.55rem .75rem;
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); box-shadow:var(--shadow-sm);
}
.nav .brand { display:inline-flex; align-items:center; margin-right:auto; padding:.15rem .35rem; }
.nav .brand img { height:26px; width:auto; display:block; }
.nav a:not(.brand) {
  display:inline-flex; align-items:center;
  color:var(--muted); font-weight:600; font-size:.92rem;
  padding:.42rem .7rem; border-radius:var(--radius-sm); text-decoration:none;
  border:1px solid transparent; line-height:1.1; transition:background .12s, color .12s, border-color .12s;
}
.nav a:not(.brand):hover { color:var(--accent-700); background:var(--brand-050); text-decoration:none; }
.nav a[aria-current="page"] { color:var(--accent-700); background:var(--brand-100); border-color:var(--brand-200); }
.nav-menu { position:relative; }
.nav-menu summary {
  display:inline-flex; align-items:center; justify-content:center;
  list-style:none; cursor:pointer; color:var(--muted); font-weight:600; font-size:.92rem;
  background:transparent; box-shadow:none; margin:0;
  padding:.42rem .7rem; border-radius:var(--radius-sm); border:1px solid transparent;
  line-height:1.1; transition:background .12s, color .12s, border-color .12s;
}
.nav-menu summary::-webkit-details-marker { display:none; }
.nav-menu summary::after { content:"▾"; margin-left:.4rem; font-size:.76rem; }
.nav-menu summary:hover,
.nav-menu[open] summary,
.nav-menu[aria-current="page"] summary {
  color:var(--accent-700); background:var(--brand-050); text-decoration:none;
}
.nav-menu[aria-current="page"] summary { background:var(--brand-100); border-color:var(--brand-200); }
.nav-menu-items {
  position:absolute; top:calc(100% + .35rem); right:0; z-index:20;
  display:grid; min-width:18rem; padding:.35rem; background:var(--surface);
  border:1px solid var(--border); border-radius:var(--radius-sm); box-shadow:var(--shadow-lg);
}
.nav .nav-menu-items a {
  display:block; color:var(--muted); padding:.55rem .65rem; border-radius:6px;
  font-size:.9rem; font-weight:600; text-decoration:none;
}
.nav .nav-menu-items a:hover,
.nav .nav-menu-items a[aria-current="page"] {
  color:var(--accent-700); background:var(--brand-050); text-decoration:none;
}
@media (max-width:680px) {
  .nav {
    align-items:flex-start;
  }
  .nav .brand {
    flex:0 0 100%;
    margin-right:0;
    width:100%;
  }
  .nav-menu, .nav-menu-items { width:100%; }
  .nav-menu-items { position:static; margin-top:.35rem; min-width:0; box-shadow:none; }
}

/* --------------------------------------------------------- panels/cards -- */
.panel, .card, .project-card {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); box-shadow:var(--shadow);
  color:var(--text);
}
.panel { padding:1.25rem; margin-bottom:1.1rem; }
.card  { padding:1.1rem; }
.hero, .panel.hero { border-color:var(--border); border-top:3px solid var(--brand); }
.card.primary  { border-top:3px solid var(--accent); }
.card.warning  { border-top:3px solid var(--warn-border); }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem; }

/* ---------------------------------------------------------------- buttons -- */
.button, button.button, .btn, a.button {
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  background:var(--accent); color:#fff !important; border:1px solid var(--accent);
  border-radius:var(--radius-sm); padding:.6rem .95rem; font-weight:600;
  font-size:.94rem; text-decoration:none; cursor:pointer; line-height:1.1;
  transition:background .12s, border-color .12s, box-shadow .12s;
}
.button:hover, .btn:hover, a.button:hover { background:var(--accent-600); border-color:var(--accent-600); color:#fff !important; text-decoration:none; }
.button:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:2px solid var(--accent); outline-offset:2px;
}
.button.secondary, .button.ghost, button.secondary, a.button.secondary {
  background:var(--surface); color:var(--accent-700) !important;
  border:1px solid var(--border-strong);
}
.button.secondary:hover, button.secondary:hover { background:var(--brand-050); color:var(--accent-700) !important; }
.button.danger, button.danger { background:var(--danger-text); border-color:var(--danger-text); color:#fff !important; }
.button:disabled, button:disabled { opacity:.55; cursor:not-allowed; }

/* Bare <button> action elements (no component class) — the old inline sheets
   styled every button as the teal action button, so match that intent in brand
   colours. Elements with their own component class (.stage-tab, .password-toggle,
   .accordion, etc.) keep that class's styling via higher specificity. */
button:not([class]), input[type=submit], input[type=button] {
  background:var(--accent); color:#fff; border:1px solid var(--accent);
  border-radius:var(--radius-sm); padding:.6rem .95rem; font-weight:600;
  font-size:.94rem; cursor:pointer; line-height:1.1;
}
button:not([class]):hover { background:var(--accent-600); border-color:var(--accent-600); }
/* Beat common parent-scoped button rules (specificity 0,1,1 → shared wins on order) */
.toolbar button, .row-actions button, .actions button, .bulk-actions button, .project-bar button:not(.project-nav-link) {
  background:var(--accent); color:#fff; border:1px solid var(--accent); border-radius:var(--radius-sm);
}
.toolbar button.secondary, .row-actions button.secondary, .actions button.secondary,
.project-bar button.secondary:not(.project-nav-link),
.toolbar .button.secondary, .row-actions .button.secondary, .actions .button.secondary {
  background:var(--surface); color:var(--accent-700); border:1px solid var(--border-strong);
}

/* ------------------------------------------------------------------ forms -- */
input[type=text], input[type=email], input[type=password], input[type=search],
input[type=number], input[type=url], input:not([type]), select, textarea {
  font-family:inherit; font-size:.95rem; color:var(--text);
  background:var(--surface); border:1px solid var(--border-strong);
  border-radius:var(--radius-sm); padding:.55rem .65rem; width:100%;
}
textarea { line-height:1.5; }
input::placeholder, textarea::placeholder { color:#9aa8b4; }
input:focus, select:focus, textarea:focus { border-color:var(--accent); }
label, .label { color:var(--heading); font-weight:600; font-size:.9rem; }
.form-grid { display:grid; gap:.75rem; }

/* ----------------------------------------------------------------- tables -- */
table, .minutes-table, .schema-table, .schema-subtable, .profile-editor-table, .inline-edit-table {
  width:100%; border-collapse:collapse; background:var(--surface);
  font-size:.92rem; color:var(--text);
}
.table-scroll, .minutes-table-wrap, .result-table-section {
  overflow-x:auto; border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow-sm); background:var(--surface);
}
thead th, table th {
  text-align:left; font-weight:700; color:var(--muted);
  font-size:.74rem; letter-spacing:.04em; text-transform:uppercase;
  background:var(--soft); padding:.6rem .7rem;
  border-bottom:2px solid var(--border-strong); white-space:nowrap;
  position:sticky; top:0; z-index:1;
}
tbody td, table td {
  padding:.6rem .7rem; border-bottom:1px solid var(--border);
  vertical-align:top;
}
tbody tr:nth-child(even) td { background:#fafcfd; }
tbody tr:hover td { background:var(--brand-050); }
tbody tr:last-child td { border-bottom:none; }

/* Meeting-minutes jobs list: override the legacy dark inline table rules. */
.jobs-page {
  overflow-x:hidden;
}
.jobs-page .container {
  max-width:min(1180px, calc(100vw - 2rem));
}
.jobs-shell {
  padding:0 !important;
  overflow:hidden;
}
.jobs-header {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:1rem;
  align-items:start;
  padding:1.25rem 1.25rem 1rem;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.jobs-heading {
  min-width:0;
}
.jobs-heading h1 {
  margin-top:0;
}
.jobs-heading .intro {
  max-width:52rem;
  margin:.35rem 0 0;
  overflow-wrap:break-word;
}
.jobs-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.55rem;
  min-width:0;
}
.jobs-actions .button,
.jobs-actions button {
  min-height:2.65rem;
  white-space:nowrap;
}
.queue-tabs {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.5rem !important;
  margin:0 !important;
  padding:1rem 1.25rem !important;
  border-bottom:1px solid var(--border);
  background:var(--soft);
}
.queue-tab {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:2.45rem !important;
  padding:.5rem .85rem !important;
  border:1px solid var(--border-strong) !important;
  border-radius:var(--radius-pill) !important;
  background:var(--surface) !important;
  color:var(--accent-700) !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  text-decoration:none !important;
  box-shadow:var(--shadow-sm);
}
.queue-tab:hover {
  background:var(--brand-050) !important;
  color:var(--accent-700) !important;
  text-decoration:none !important;
}
.queue-tab[aria-current="page"] {
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:#fff !important;
}
.queue-tab.disabled {
  background:var(--soft-2) !important;
  border-color:var(--border) !important;
  color:var(--muted) !important;
  cursor:not-allowed !important;
  opacity:1 !important;
  box-shadow:none;
}
.jobs-shell .message,
.jobs-shell #listView {
  margin-left:1.25rem;
  margin-right:1.25rem;
}
.jobs-shell #listView {
  padding-bottom:1.25rem;
}
.jobs-shell .bulk-bar {
  margin:.85rem 1.25rem 0 !important;
  padding:.55rem .65rem !important;
  border:1px solid var(--border) !important;
  border-radius:var(--radius-sm) !important;
  background:var(--soft) !important;
  color:var(--text) !important;
  box-shadow:none !important;
}
.jobs-shell .bulk-bar label,
.jobs-shell .bulk-count {
  color:var(--muted) !important;
}
.jobs-shell .bulk-bar button.secondary {
  background:var(--surface) !important;
  color:var(--accent-700) !important;
  border:1px solid var(--border-strong) !important;
}
.jobs-shell .bulk-bar button.secondary:hover:not(:disabled) {
  background:var(--brand-050) !important;
  border-color:var(--accent) !important;
}
.jobs-shell .bulk-bar button:disabled {
  background:var(--soft-2) !important;
  color:#7b8994 !important;
  border-color:var(--border) !important;
}
.jobs-table-wrap {
  margin-top:1rem;
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.jobs {
  margin:0 !important;
  border-collapse:collapse !important;
  table-layout:fixed;
  width:100%;
  background:var(--surface) !important;
  color:var(--text) !important;
}
.jobs th {
  background:var(--soft) !important;
  color:var(--muted) !important;
  border-bottom:1px solid var(--border-strong) !important;
}
.jobs tr {
  background:var(--surface) !important;
}
.jobs td {
  background:var(--surface) !important;
  color:var(--text) !important;
  border-bottom:1px solid var(--border) !important;
}
.jobs tbody tr:nth-child(even) td {
  background:#fafcfd !important;
}
.jobs tbody tr:hover td {
  background:var(--brand-050) !important;
}
.jobs th:nth-child(1),
.jobs td:nth-child(1) { width:5%; }
.jobs th:nth-child(2),
.jobs td:nth-child(2) {
  width:43%;
  overflow-wrap:anywhere;
}
.jobs th:nth-child(3),
.jobs td:nth-child(3) {
  width:19%;
}
.jobs th:nth-child(4),
.jobs td:nth-child(4) { width:14%; }
.jobs th:nth-child(5),
.jobs td:nth-child(5) { width:19%; }
.jobs .progress {
  min-width:0;
  color:var(--text);
}
.jobs .track {
  background:var(--soft-2) !important;
  border:1px solid var(--border-strong) !important;
}
.jobs .fill {
  background:linear-gradient(90deg,var(--accent),var(--brand)) !important;
}
.jobs .row-actions {
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  align-items:center;
  min-width:0;
}
.jobs .row-actions .button,
.jobs .row-actions button {
  min-height:2.25rem;
}
.jobs .resume-staged {
  white-space:nowrap;
}
.jobs .resume-staged span {
  font-size:1.2em;
  line-height:1;
}
.jobs .row-actions button.danger {
  background:var(--danger-text) !important;
  border-color:var(--danger-text) !important;
  color:#fff !important;
}
@media (max-width: 860px) {
  .jobs-page {
    padding:.75rem;
  }
  .jobs-page .container {
    max-width:100%;
    padding:.75rem 0 2rem;
  }
  .jobs-header {
    grid-template-columns:1fr;
    padding:1rem;
  }
  .jobs-actions {
    justify-content:flex-start;
  }
  .jobs-actions .button,
  .jobs-actions button,
  .queue-tab {
    flex:1 1 auto;
  }
  .queue-tabs {
    padding:.85rem 1rem !important;
  }
  .jobs-shell .message,
  .jobs-shell #listView {
    margin-left:1rem;
    margin-right:1rem;
  }
  .jobs-shell .bulk-bar {
    margin:.75rem 1rem 0 !important;
  }
  .jobs-table-wrap {
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .jobs tr {
    background:var(--surface) !important;
    border:1px solid var(--border) !important;
    box-shadow:var(--shadow-sm);
  }
  .jobs td {
    display:block;
    width:100% !important;
    padding:.72rem .85rem !important;
  }
  .jobs td::before {
    content:attr(data-label);
    display:block;
    margin-bottom:.25rem;
    color:var(--muted);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .jobs .row-actions {
    min-width:0;
  }
}

/* ---------------------------------------------------- badges / statuses -- */
.status.completed {
  color:var(--ok-text) !important;
  background:var(--ok-bg) !important;
  border-color:var(--ok-border) !important;
}
.status.running {
  color:var(--info-text) !important;
  background:var(--info-bg) !important;
  border-color:var(--info-border) !important;
}
.status.failed,
.status.cancelled {
  color:var(--danger-text) !important;
  background:var(--danger-bg) !important;
  border-color:var(--danger-border) !important;
}
.status.queued,
.status.retry_wait {
  color:var(--warn-text) !important;
  background:var(--warn-bg) !important;
  border-color:var(--warn-border) !important;
}
.pill, .badge, .status-pill, .status {
  display:inline-flex; align-items:center; gap:.35rem; width:max-content;
  border:1px solid var(--border); border-radius:var(--radius-pill);
  padding:.2rem .6rem; font-size:.78rem; font-weight:700;
  background:var(--soft); color:var(--muted); line-height:1.4;
}
.status:empty {
  display:none !important;
}
.pill.active, .badge.active { color:var(--accent-700); background:var(--brand-100); border-color:var(--brand-200); }
.pill.legacy, .badge.legacy { color:var(--warn-text); background:var(--warn-bg); border-color:var(--warn-border); }

.status-pill[data-status="active"],
.pill.active,
.badge.success {
  background:var(--ok-text) !important;
  border-color:var(--ok-text) !important;
  color:#fff !important;
}
.status-pill[data-status="paused"],
.status-pill[data-status="completed"],
.status-pill[data-status="archived"] {
  background:var(--soft) !important;
  border-color:var(--border-strong) !important;
  color:var(--muted) !important;
}

.success, .status.success, .badge.success, .status-pill.success,
.ok, .status.ok       { color:var(--ok-text) !important;   background:var(--ok-bg) !important;   border-color:var(--ok-border) !important; }
.warning, .status.warning, .badge.warning, .status-pill.warning,
.warn, .status.warn   { color:var(--warn-text) !important; background:var(--warn-bg) !important; border-color:var(--warn-border) !important; }
.error, .status.error, .badge.error, .status-pill.error,
.danger, .status.danger { color:var(--danger-text) !important; background:var(--danger-bg) !important; border-color:var(--danger-border) !important; }
.unknown, .status.unknown { color:var(--muted) !important; background:var(--soft) !important; border-color:var(--border) !important; }

button.danger,
.button.danger,
.actions button.danger,
.row-actions button.danger,
.toolbar button.danger,
.bulk-actions button.danger {
  background:var(--danger-text) !important;
  border-color:var(--danger-text) !important;
  color:#fff !important;
}
button.danger:hover,
.button.danger:hover,
.actions button.danger:hover,
.row-actions button.danger:hover,
.toolbar button.danger:hover,
.bulk-actions button.danger:hover {
  background:#921b12 !important;
  border-color:#921b12 !important;
  color:#fff !important;
}

.message, .safeguard-banner, .autosave-status {
  border:1px solid var(--info-border); background:var(--info-bg);
  color:var(--info-text); border-radius:var(--radius-sm); padding:.7rem .85rem;
}
.message.success { border-color:var(--ok-border); background:var(--ok-bg); color:var(--ok-text); }
.message.error   { border-color:var(--danger-border); background:var(--danger-bg); color:var(--danger-text); }

/* ------------------------------------------------------------------ tabs -- */
.stage-tabs, .tabs { display:flex; flex-wrap:wrap; gap:.35rem; border-bottom:1px solid var(--border); }
.stage-tab, .tab {
  background:transparent; border:1px solid transparent; border-bottom:none;
  color:var(--muted); font-weight:600; padding:.55rem .9rem; cursor:pointer;
  border-radius:var(--radius-sm) var(--radius-sm) 0 0;
}
.stage-tab:hover, .tab:hover { color:var(--accent-700); background:var(--brand-050); }
.stage-tab.active, .stage-tab[aria-selected="true"], .tab.active {
  color:var(--accent-700); background:var(--surface);
  border-color:var(--border); border-bottom:2px solid var(--accent); margin-bottom:-1px;
}
.process-subtabs {
  display:flex;
  gap:.5rem;
  margin:0 0 1rem;
}
.process-subtab {
  align-items:center;
  background:var(--soft);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  color:var(--heading);
  cursor:pointer;
  display:inline-flex;
  font-weight:700;
  justify-content:center;
  min-height:2.75rem;
  padding:.65rem .95rem;
}
.process-subtab:hover {
  background:var(--brand-050);
  border-color:var(--brand-200);
  color:var(--accent-700);
}
.process-subtab.active,
.process-subtab[aria-pressed="true"] {
  background:var(--surface);
  border-color:var(--accent);
  box-shadow:0 0 0 2px rgba(44,122,144,.12);
  color:var(--accent-700);
}
.process-subpanel[hidden] {
  display:none !important;
}

/* -------------------------------------------------------- bars / toolbars -- */
.project-bar, .toolbar, .bulk-actions, .actions, .quick-links {
  display:flex; flex-wrap:wrap; gap:.55rem; align-items:center;
}
.project-bar, .toolbar {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:.6rem .8rem; box-shadow:var(--shadow-sm);
}
.project-bar {
  position:relative !important;
  align-items:flex-end !important;
  padding-top:1.55rem !important;
}
.project-bar .identity .name {
  font-size:2.15rem !important;
  line-height:1.2 !important;
}
.project-bar .project-summary {
  display:block !important;
  max-width:760px !important;
  color:var(--muted) !important;
  font-size:.95rem !important;
  line-height:1.45 !important;
  margin-top:.25rem !important;
}
.project-nav {
  display:flex !important;
  gap:.35rem !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  margin-left:auto !important;
}
.project-nav-link {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--surface) !important;
  color:var(--accent-700) !important;
  border:1px solid var(--border-strong) !important;
  border-radius:8px !important;
  padding:.55rem .75rem !important;
  font:inherit !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}
.project-nav-link:hover {
  background:var(--brand-050) !important;
  color:var(--accent-700) !important;
  text-decoration:none !important;
}
.project-nav-link.active {
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(44,122,144,.12) !important;
}
.project-nav-link.project-nav-primary {
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(44,122,144,.12) !important;
}
.project-nav-link.project-nav-primary:hover,
.project-nav-link.project-nav-primary.active {
  background:var(--accent-600) !important;
  border-color:var(--accent-600) !important;
  color:#fff !important;
}
.project-nav-link.icon-only {
  min-width:2.5rem !important;
  padding:.55rem .65rem !important;
  font-size:1.05rem !important;
}
.project-switch-link {
  display:inline-flex !important;
  align-items:center !important;
  gap:.25rem !important;
  position:absolute !important;
  top:.65rem !important;
  right:.8rem !important;
  color:var(--text) !important;
  font-size:.88rem !important;
  font-weight:650 !important;
  text-decoration:none !important;
}
.project-switch-link:hover {
  color:var(--heading) !important;
  text-decoration:underline !important;
}
.project-switch-arrow {
  font-size:1.05em;
  line-height:1;
}
.ask-panel-standalone .ask-layout {
  grid-template-columns:minmax(0, 1fr) minmax(240px, 320px) !important;
}
.ask-panel-standalone,
.ask-panel-standalone * {
  min-width:0;
}
.ask-panel-standalone .badges,
.ask-panel-standalone .chunk-meta {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  max-width:100%;
}
.ask-panel-standalone .status,
.ask-panel-standalone .badge {
  max-width:100%;
  width:fit-content;
  white-space:normal;
  overflow-wrap:anywhere;
}
.ask-panel-standalone .ask-help,
.ask-panel-standalone .ask-answer,
.ask-panel-standalone .chunk-card,
.ask-panel-standalone .empty-state {
  max-width:100%;
  overflow:hidden;
}
.ask-panel-standalone .ask-help ul {
  padding-left:1.2rem;
}
.ask-preset-list {
  display:grid;
  gap:.5rem;
  margin-top:.75rem;
}
.ask-preset {
  align-items:flex-start;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  color:var(--text);
  cursor:pointer;
  display:grid;
  font:inherit;
  font-weight:650;
  gap:.55rem;
  grid-template-columns:1.65rem minmax(0, 1fr);
  line-height:1.35;
  padding:.62rem .7rem;
  text-align:left;
  width:100%;
}
.ask-preset:hover {
  background:var(--brand-050);
  border-color:var(--brand-200);
  color:var(--heading);
}
.ask-preset-plus {
  align-items:center;
  background:var(--brand-100);
  border-radius:999px;
  color:var(--accent-700);
  display:inline-flex;
  font-size:1rem;
  font-weight:800;
  height:1.65rem;
  justify-content:center;
  line-height:1;
  width:1.65rem;
}
.ask-preset span:last-child {
  min-width:0;
  overflow-wrap:anywhere;
  white-space:normal;
}
.ask-panel-standalone .ask-help li,
.ask-panel-standalone .ask-answer p,
.ask-panel-standalone .chunk-text {
  overflow-wrap:anywhere;
}
.ask-panel-standalone .ask-chunks-details {
  margin-top:1rem;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.ask-panel-standalone .ask-chunks-details summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.85rem 1rem;
  cursor:pointer;
  color:var(--heading);
  font-weight:700;
}
.ask-panel-standalone .ask-chunks-details summary:hover {
  background:var(--brand-050);
}
.ask-panel-standalone .ask-chunks-details .chunk-grid {
  padding:0 1rem 1rem;
}
.ask-panel-standalone #knowledgeAskQuestion {
  min-height:12rem !important;
}

/* ---------------------------------------------------------------- modals -- */
.row-edit-modal-backdrop, .feedback-modal, .modal-backdrop {
  background:rgba(20,43,52,.45);
}
.row-edit-modal, .feedback-modal .modal, .modal {
  background:var(--surface); color:var(--text);
  border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-lg);
}

/* --------------------------------------------------------------- utility -- */
.hidden { display:none !important; }
hr { border:none; border-top:1px solid var(--border); margin:1rem 0; }
code, pre { background:var(--soft); border:1px solid var(--border); border-radius:6px; }
code { padding:.1rem .35rem; font-size:.88em; }
pre  { padding:.75rem; overflow:auto; }
::selection { background:var(--brand-200); }

/* ------------------------------------ light overrides for dark long-tail --
   These component classes carried hardcoded dark backgrounds in the old inline
   sheets, with class-scoped specificity (0,1,1) that beats generic rules. We
   match that specificity and win on load order (this sheet loads last). */
input[type=file] { background:var(--surface); color:var(--text); border:1px solid var(--border-strong); border-radius:var(--radius-sm); padding:.55rem .65rem; width:100%; }
input[type=file]::file-selector-button {
  background:var(--brand-050); color:var(--accent-700); border:1px solid var(--border-strong);
  border-radius:6px; padding:.35rem .7rem; margin-right:.6rem; font-weight:600; cursor:pointer;
}

.schema-table, .schema-subtable, .profile-editor-table, .inline-edit-table,
.summary-item, .progress-card, .accordion details,
.at-glance-strip, .section-block, .item {
  background:var(--surface) !important; color:var(--text);
  border:1px solid var(--border); border-radius:var(--radius);
}
.schema-table th, .schema-subtable th, .profile-editor-table th {
  background:var(--soft) !important; color:var(--muted);
}
.schema-table td, .schema-subtable td, .profile-editor-table td { background:var(--surface) !important; }
.profile-editor-table .profile-monitor-column {
  text-align:center !important;
  width:60px !important;
}
.profile-editor-table th.profile-monitor-column {
  font-size:.76rem !important;
  padding-left:.35rem !important;
  padding-right:.35rem !important;
  white-space:normal !important;
}
.profile-editor-table td.profile-monitor-column {
  padding-left:.35rem !important;
  padding-right:.35rem !important;
}
.profile-risk-table th:nth-child(3),
.profile-risk-table td:nth-child(3),
.profile-risk-table th:nth-child(4),
.profile-risk-table td:nth-child(4) {
  width:330px !important;
}
.profile-risk-table {
  min-width:1230px !important;
}
.profile-risk-table th:nth-child(5),
.profile-risk-table td:nth-child(5) {
  width:170px !important;
}
.profile-milestone-table th:nth-child(6),
.profile-milestone-table td:nth-child(6) {
  width:60px !important;
}
.profile-milestone-table th:nth-child(3),
.profile-milestone-table td:nth-child(3) {
  width:360px !important;
}
.profile-editor-table .monitor-checkbox {
  align-items:flex-start !important;
  justify-content:center !important;
  min-width:0 !important;
}
.profile-editor-table .actions {
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:.35rem !important;
  margin:0 !important;
  min-width:0;
}
.profile-editor-table .actions button {
  align-items:center;
  border-radius:7px !important;
  display:inline-flex;
  font-size:.84rem !important;
  justify-content:center;
  line-height:1.1 !important;
  min-height:2.05rem !important;
  padding:.42rem .5rem !important;
  width:100%;
}
.profile-editor-table .actions [data-expand-edit-row] {
  background:var(--surface) !important;
  border:1px solid var(--border-strong) !important;
  color:var(--accent-700) !important;
  grid-column:1 / -1;
}
.profile-editor-table .actions button.danger {
  background:var(--danger-bg) !important;
  border:1px solid var(--danger-border) !important;
  color:var(--danger-text) !important;
}
.profile-editor-table .actions button.danger:hover {
  background:var(--danger-text) !important;
  border-color:var(--danger-text) !important;
  color:#fff !important;
}
.profile-editor-table.suggested-risk-table th:last-child,
.profile-editor-table.suggested-risk-table td:last-child {
  width:210px !important;
}
.profile-editor-table .suggested-risk-actions {
  grid-template-columns:1fr !important;
}
.profile-editor-table .suggested-risk-actions button {
  min-height:2.2rem !important;
  white-space:normal !important;
}
.profile-editor-table .suggested-risk-actions [data-add-suggested-risk] {
  font-size:.86rem !important;
  overflow-wrap:anywhere;
  padding:.48rem .65rem !important;
}
.schema-table input[type=text], .schema-table textarea,
.schema-subtable input[type=text], .schema-subtable textarea,
.schema-subtable textarea.action-field,
.inline-edit-table input, .inline-edit-table textarea {
  background:var(--surface) !important; color:var(--text) !important; border:1px solid var(--border-strong) !important;
}

/* Meeting-minutes job detail/result editor. */
.summary-item input,
.summary-item textarea,
.objectives-editor textarea,
.minutes-table select,
.minutes-table input,
.minutes-table textarea,
.row-edit-modal-fields input,
.row-edit-modal-fields textarea {
  background:var(--surface) !important;
  color:var(--text) !important;
  border:1px solid var(--border-strong) !important;
  box-shadow:none !important;
}
.summary-item input:focus,
.summary-item textarea:focus,
.objectives-editor textarea:focus,
.minutes-table select:focus,
.minutes-table input:focus,
.minutes-table textarea:focus,
.row-edit-modal-fields input:focus,
.row-edit-modal-fields textarea:focus {
  border-color:var(--accent) !important;
}
.deadline-editor input[type="date"],
.minutes-table input[type="date"],
.summary-item input[type="date"] {
  color-scheme:light !important;
}
.minutes-table-wrap,
.result-table-section {
  background:var(--surface) !important;
  border:1px solid var(--border) !important;
}
.minutes-table {
  background:var(--surface) !important;
  color:var(--text) !important;
}
.minutes-table th {
  background:var(--soft) !important;
  color:var(--muted) !important;
  border-color:var(--border) !important;
}
.minutes-table td {
  background:var(--surface) !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
}
.minutes-table tbody tr:nth-child(even) td {
  background:#fafcfd !important;
}
.minutes-table .type-cell,
.minutes-table .topic-cell,
.minutes-table .owner-cell,
.minutes-table .deadline-cell,
.minutes-table .detail-cell,
.minutes-table .evidence-cell {
  color:var(--text) !important;
}
.result-section h3,
.result-table-section h3,
.result-table-accordion summary {
  color:var(--heading) !important;
}
.result-table-accordion,
#rawResultDetails {
  background:transparent !important;
  border:0 !important;
}
.result-table-accordion summary,
#rawResultDetails summary {
  background:var(--surface) !important;
  border:1px solid var(--border) !important;
  border-radius:var(--radius-sm) !important;
  color:var(--heading) !important;
  box-shadow:var(--shadow-sm) !important;
  padding:.72rem .85rem !important;
}
.result-table-accordion summary:hover,
#rawResultDetails summary:hover {
  background:var(--brand-050) !important;
  border-color:var(--brand-200) !important;
  color:var(--accent-700) !important;
}
.result-table-accordion[open] summary,
#rawResultDetails[open] summary {
  border-bottom-left-radius:0 !important;
  border-bottom-right-radius:0 !important;
}
#rawResultDetails pre {
  background:var(--soft) !important;
  border:1px solid var(--border) !important;
  color:var(--text) !important;
}
.advanced-result-tools {
  margin-top:.45rem !important;
}
.advanced-result-tools summary {
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  background:var(--surface) !important;
  border:1px solid var(--border-strong) !important;
  border-radius:var(--radius-sm) !important;
  color:var(--accent-700) !important;
  box-shadow:var(--shadow-sm) !important;
  padding:.48rem .7rem !important;
  font-size:.86rem !important;
  line-height:1.1 !important;
}
.advanced-result-tools summary:hover {
  background:var(--brand-050) !important;
  border-color:var(--brand-200) !important;
}
.advanced-result-tools[open] summary {
  border-radius:var(--radius-sm) !important;
}
.advanced-result-tools .advanced-body {
  color:var(--muted) !important;
}

.progress-track { background:var(--soft-2) !important; border:1px solid var(--border); }
.progress-step { background:var(--soft) !important; color:var(--muted) !important; border:1px solid var(--border) !important; }
.progress-step.active { background:var(--brand-100) !important; color:var(--accent-700) !important; border-color:var(--brand-200) !important; }

.message { background:var(--info-bg) !important; border:1px solid var(--info-border) !important; color:var(--info-text) !important; }
.message.error   { background:var(--danger-bg) !important; border-color:var(--danger-border) !important; color:var(--danger-text) !important; }
.message.success { background:var(--ok-bg) !important; border-color:var(--ok-border) !important; color:var(--ok-text) !important; }
.message.warning { background:var(--warn-bg) !important; border-color:var(--warn-border) !important; color:var(--warn-text) !important; }

.safeguard-banner { background:var(--brand-050) !important; border:1px solid var(--brand-200) !important; color:var(--text) !important; }
.safeguard-banner.quiet   { background:var(--soft) !important; border-color:var(--border) !important; color:var(--muted) !important; }
.safeguard-banner.warning { background:var(--warn-bg) !important; border-color:var(--warn-border) !important; color:var(--warn-text) !important; }
.safeguard-banner.success { background:var(--ok-bg) !important; border-color:var(--ok-border) !important; color:var(--ok-text) !important; }

.quick-links {
  display:block !important;
  background:var(--surface) !important;
  border:1px solid var(--border) !important;
  border-left:4px solid var(--brand) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow-sm) !important;
  color:var(--text) !important;
  padding:.9rem 1rem !important;
}
.quick-links h2 {
  color:var(--heading) !important;
  font-weight:700;
  margin:0 0 .35rem;
}
.quick-links p,
.quick-links .muted {
  color:var(--muted) !important;
}
.quick-links .stage-tabs {
  border-bottom:0 !important;
  display:flex !important;
  gap:.55rem !important;
  margin:.85rem 0 0 !important;
}
.quick-links .stage-tab {
  align-items:center !important;
  background:var(--soft) !important;
  border:1px solid var(--border) !important;
  border-radius:var(--radius-sm) !important;
  color:var(--heading) !important;
  display:flex !important;
  gap:.55rem !important;
  margin:0 !important;
  padding:.62rem .8rem !important;
  text-align:left !important;
}
.quick-links .stage-tab:hover {
  background:var(--brand-050) !important;
  border-color:var(--brand-200) !important;
  color:var(--accent-700) !important;
}
.quick-links .stage-tab.active,
.quick-links .stage-tab[aria-current="page"] {
  background:var(--surface) !important;
  border-color:var(--accent) !important;
  box-shadow:0 0 0 2px rgba(44,122,144,.12) !important;
  color:var(--accent-700) !important;
}
.quick-links .stage-tab .step-no {
  background:var(--brand-100) !important;
  color:var(--accent-700) !important;
  flex:0 0 auto;
}
.quick-links .stage-tab.active .step-no,
.quick-links .stage-tab[aria-current="page"] .step-no {
  background:var(--accent) !important;
  color:#fff !important;
}
.quick-links .stage-tab .step-label {
  color:inherit !important;
}
.quick-links .stage-tab .step-hint {
  color:var(--muted) !important;
}
.project-danger-panel {
  margin-top:0 !important;
}
.stage-support-actions:empty {
  display:none;
}
.stage-support-actions:not(:empty) {
  margin-top:.75rem;
}
.support-action-row {
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  align-items:center;
  padding-top:.75rem;
  border-top:1px solid var(--border);
}
.support-action-label {
  color:var(--muted);
  font-size:.82rem;
  font-weight:700;
  margin-right:.15rem;
}

.support-details summary,
.compact-options summary {
  background:var(--soft) !important;
  border:1px solid var(--border) !important;
  color:var(--accent-700) !important;
}
.support-details[open],
.empty-state,
.ask-help,
.ask-answer,
.chunk-card,
.scaffold-card,
.agenda-step {
  background:var(--surface) !important;
  border:1px solid var(--border) !important;
  color:var(--text) !important;
}
.at-glance-strip {
  align-items:flex-start !important;
  box-shadow:var(--shadow-sm) !important;
  gap:.85rem !important;
}
.glance-primary {
  flex:1 1 20rem;
  min-width:min(100%, 18rem) !important;
}
.glance-primary .label,
.summary-label {
  color:var(--muted) !important;
}
.glance-primary strong,
.summary-value,
.value {
  color:var(--heading) !important;
}
.glance-metrics {
  flex:1 1 18rem;
  justify-content:flex-start !important;
}
.glance-metrics span,
.project-bar .meta .badge,
.project-card .pc-meta .badge {
  background:var(--brand-050) !important;
  border:1px solid var(--brand-200) !important;
  color:var(--accent-700) !important;
}
.glance-metrics strong {
  color:var(--accent-700) !important;
}
.project-create-panel h2 {
  margin-bottom:.9rem;
}
.project-resume-panel {
  display:grid !important;
  gap:1rem !important;
  grid-template-columns:minmax(0, 1.1fr) minmax(18rem, 1.6fr);
  align-items:center !important;
}
.project-resume-panel h2 {
  margin:.1rem 0 .25rem;
}
.project-resume-actions {
  display:grid;
  gap:.6rem;
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.project-resume-actions .primary,
.project-quick-action {
  align-items:flex-start !important;
  background:var(--surface) !important;
  border:1px solid var(--border-strong) !important;
  border-radius:var(--radius-sm) !important;
  color:var(--heading) !important;
  display:flex !important;
  flex-direction:column;
  gap:.2rem;
  justify-content:center !important;
  min-height:4.4rem;
  padding:.8rem .9rem !important;
  text-align:left;
  width:100%;
}
.project-quick-action:hover {
  background:var(--brand-050) !important;
  border-color:var(--brand-200) !important;
}
.project-resume-actions .primary {
  align-items:center !important;
  background:var(--accent) !important;
  border:1px solid var(--accent) !important;
  color:#fff !important;
  font-weight:700 !important;
  grid-row:span 2;
  text-align:center;
}
.project-quick-action small {
  color:var(--muted);
  font-size:.78rem;
  line-height:1.25;
}
.project-quick-action span {
  color:inherit;
  font-weight:700;
}
.compact-actions {
  display:grid !important;
  gap:.35rem !important;
  grid-template-columns:repeat(2, minmax(4.5rem, 1fr)) !important;
}
.compact-actions button {
  min-height:2.25rem;
  width:100%;
}
.new-project-form {
  grid-template-columns:minmax(16rem, 2fr) minmax(12rem, 1fr) minmax(10rem, .9fr) !important;
  gap:.85rem 1rem !important;
  align-items:start !important;
}
.new-project-form label {
  gap:.42rem !important;
}
.new-project-form .wide,
.new-project-form .full,
.new-project-actions {
  grid-column:auto !important;
}
.new-project-form .full {
  grid-column:1 / -1 !important;
}
.new-project-form textarea {
  min-height:7rem !important;
}
.new-project-actions {
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-top:.1rem;
}
.new-project-actions .primary {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:2.65rem;
  min-width:11.5rem;
  background:var(--accent) !important;
  border:1px solid var(--accent) !important;
  border-radius:var(--radius-sm) !important;
  color:#fff !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  padding:.7rem 1rem !important;
  box-shadow:var(--shadow-sm);
}
.new-project-actions .primary:hover {
  background:var(--accent-600) !important;
  border-color:var(--accent-600) !important;
}
.new-project-actions .status {
  margin:0;
  min-height:1.5rem;
}
.project-bar {
  display:grid !important;
  gap:.85rem !important;
  align-items:stretch !important;
}
.project-bar-topline {
  align-items:flex-start;
  display:flex;
  gap:1rem;
  justify-content:space-between;
}
.project-bar .identity {
  display:flex;
  flex-direction:column;
  gap:.15rem;
  min-width:12rem;
}
.project-bar .identity .name {
  font-size:1.35rem;
  font-weight:700;
}
.project-bar .meta {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.project-bar-subtext {
  color:var(--muted);
  font-size:.94rem;
  margin-top:.25rem;
  max-width:64rem;
}
.project-switch-link {
  align-items:center;
  color:var(--text) !important;
  display:inline-flex;
  gap:.25rem;
  font-size:.9rem;
  font-weight:700;
  padding:.1rem 0;
  text-decoration:none;
  white-space:nowrap;
}
.project-switch-link:hover {
  color:var(--heading) !important;
  text-decoration:underline;
}
.project-nav {
  align-items:center;
  border-bottom:1px solid rgba(148,163,184,.2);
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.project-nav-link,
.project-bar .project-nav-link {
  align-items:center !important;
  background:transparent !important;
  border:1px solid transparent !important;
  border-bottom:2px solid transparent !important;
  border-radius:8px 8px 0 0 !important;
  color:var(--muted) !important;
  display:inline-flex !important;
  gap:.38rem !important;
  font-weight:700 !important;
  justify-content:center !important;
  line-height:1.1 !important;
  min-height:2.35rem;
  padding:.55rem .85rem !important;
  text-decoration:none !important;
  white-space:nowrap;
}
.project-nav-icon {
  flex:0 0 auto;
  font-size:.95em;
  line-height:1;
}
.project-nav-link:hover,
.project-bar .project-nav-link:hover {
  background:var(--brand-050) !important;
  color:var(--accent-700) !important;
  text-decoration:none !important;
}
.project-nav-link.active,
.project-nav-link[aria-current="page"],
.project-bar .project-nav-link.active,
.project-bar .project-nav-link[aria-current="page"] {
  background:var(--surface) !important;
  border-color:var(--border) !important;
  border-bottom-color:var(--accent) !important;
  color:var(--accent-700) !important;
}
.project-nav-link.project-nav-primary,
.project-nav-link.project-nav-primary.active,
.project-nav-link.project-nav-primary[aria-current="page"],
.project-bar .project-nav-link.project-nav-primary,
.project-bar .project-nav-link.project-nav-primary.active,
.project-bar .project-nav-link.project-nav-primary[aria-current="page"] {
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  border-bottom-color:var(--accent) !important;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(44,122,144,.12) !important;
}
.project-nav-link.project-nav-primary:hover,
.project-bar .project-nav-link.project-nav-primary:hover {
  background:var(--accent-600) !important;
  border-color:var(--accent-600) !important;
  border-bottom-color:var(--accent-600) !important;
  color:#fff !important;
}
.project-settings-icon {
  font-size:1.05rem !important;
  line-height:1 !important;
  padding:.45rem !important;
  width:2.35rem;
}
.section-block,
.item,
.card {
  background:var(--surface) !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
}
.section-block .muted,
.card .muted,
.item .muted {
  color:var(--muted) !important;
}
.section-block li,
.card li,
.item li,
.evidence {
  color:var(--text) !important;
}
.ask-help,
.scaffold-card {
  border-left:3px solid var(--brand) !important;
}
.ask-answer h3,
.chunk-text,
.scaffold-card ul,
.agenda-step li {
  color:var(--text) !important;
}
.trend-improving,
.trend-resolved {
  background:var(--ok-bg) !important;
  color:var(--ok-text) !important;
  font-weight:700 !important;
}
.trend-deteriorating,
.trend-new_risk {
  background:var(--danger-bg) !important;
  color:var(--danger-text) !important;
  font-weight:700 !important;
}
.trend-new_update,
.trend-replanned {
  background:var(--info-bg) !important;
  color:var(--accent-700) !important;
  font-weight:700 !important;
}
.trend-stable {
  background:var(--warn-bg) !important;
  color:var(--warn-text) !important;
  font-weight:700 !important;
}

pre { background:var(--soft) !important; color:var(--text); border:1px solid var(--border); }
.feedback-modal, .row-edit-modal { background:var(--surface) !important; color:var(--text); }

/* Saved project report detail pages still define some legacy dark-page colours
   inline. Keep them readable on the current light Trinzo surface. */
.project-report-page {
  background:var(--bg) !important;
  color:var(--text) !important;
}
.project-report-page .nav .brand img {
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  height:26px !important;
  padding:0 !important;
  width:auto !important;
}
.project-report-page .panel,
.project-report-page .item,
.project-report-page .table-scroll,
.project-report-page table {
  background:var(--surface) !important;
  color:var(--text) !important;
}
.project-report-page th,
.project-report-page table th {
  background:var(--soft) !important;
  color:var(--muted) !important;
  border-color:var(--border-strong) !important;
}
.project-report-page td,
.project-report-page table td,
.project-report-page .long-text-cell,
.project-report-page .colour-with-label span:last-child {
  color:var(--text) !important;
  border-color:var(--border) !important;
}
.project-report-page tbody tr:nth-child(even) td {
  background:#fafcfd !important;
}
.project-report-page tbody tr:hover td {
  background:var(--brand-050) !important;
}
.project-report-page .status-badge {
  background:var(--soft) !important;
  border-color:var(--border-strong) !important;
  color:var(--text) !important;
}
.project-report-page .status-completed,
.project-report-page .status-approved,
.project-report-page .status-resolved,
.project-report-page .status-improving {
  background:var(--ok-bg) !important;
  border-color:var(--ok-border) !important;
  color:var(--ok-text) !important;
}
.project-report-page .status-on_track {
  background:var(--info-bg) !important;
  border-color:var(--info-border) !important;
  color:var(--info-text) !important;
}
.project-report-page .status-at_risk,
.project-report-page .status-delayed,
.project-report-page .status-replanned,
.project-report-page .status-in_review {
  background:var(--warn-bg) !important;
  border-color:var(--warn-border) !important;
  color:var(--warn-text) !important;
}
.project-report-page .status-blocked,
.project-report-page .status-deteriorating {
  background:var(--danger-bg) !important;
  border-color:var(--danger-border) !important;
  color:var(--danger-text) !important;
}
.project-report-page .status-stable,
.project-report-page .status-not_started,
.project-report-page .status-draft,
.project-report-page .status-unknown {
  background:var(--soft) !important;
  border-color:var(--border-strong) !important;
  color:var(--muted) !important;
}

@media (max-width:680px) {
  body { padding:.75rem; }
  .container { padding-top:.5rem; }
  .nav { padding:.5rem; }
  .nav .brand img { height:22px; }
  .button { width:100%; }
  .actions .button { width:auto; }
  .new-project-form { grid-template-columns:1fr !important; }
  .project-resume-panel { grid-template-columns:1fr !important; }
  .project-resume-actions { grid-template-columns:1fr !important; }
  .project-resume-actions .primary,
  .project-quick-action { min-height:3.4rem; }
  .compact-actions { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
  .new-project-form .wide,
  .new-project-form .full,
  .new-project-actions { grid-column:1 / -1 !important; }
  .new-project-actions { align-items:stretch; flex-direction:column; gap:.5rem; }
  .new-project-actions .primary { width:100%; }
  .ask-layout { grid-template-columns:1fr !important; }
  .ask-stage-panel textarea { min-height:8rem !important; }
  .ask-help { order:2; }
  .ask-question-area { min-width:0; }
  .project-bar-topline { flex-direction:column; }
  .project-switch-link { align-self:flex-end; }
  .project-nav {
    border-bottom:0;
    display:grid !important;
    gap:.45rem !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    width:100%;
  }
  .project-nav-link,
  .project-bar .project-nav-link {
    align-items:center !important;
    border:1px solid var(--border) !important;
    border-radius:var(--radius-sm) !important;
    display:inline-flex !important;
    font-size:.92rem !important;
    gap:.35rem !important;
    justify-content:center !important;
    line-height:1.2 !important;
    min-width:0;
    min-height:2.75rem;
    padding:.5rem .45rem !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
  .project-nav-link span,
  .project-bar .project-nav-link span {
    min-width:0;
  }
  .project-nav-link.icon-only,
  .project-bar .project-nav-link.icon-only {
    grid-column:1 / -1;
    justify-self:start;
    min-width:3.2rem !important;
    width:3.2rem;
  }
  .quick-links .stage-tabs { display:grid !important; grid-template-columns:1fr !important; }
  .quick-links .stage-tab { width:100% !important; }
  .process-subtabs {
    display:grid !important;
    gap:.5rem !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .process-subtab {
    min-width:0 !important;
    padding:.65rem .5rem !important;
    text-align:center !important;
    width:100% !important;
  }
  .profile-editor-table { min-width:980px !important; }
  .profile-editor-table th:nth-child(6),
  .profile-editor-table td:nth-child(6) { width:92px !important; }
  .profile-editor-table th:last-child,
  .profile-editor-table td:last-child { width:132px !important; }
  .profile-editor-table.suggested-risk-table th:last-child,
  .profile-editor-table.suggested-risk-table td:last-child { width:196px !important; }
  .profile-editor-table .actions button {
    font-size:.78rem !important;
    min-height:1.9rem !important;
    padding:.36rem .42rem !important;
  }
  .profile-editor-table .suggested-risk-actions [data-add-suggested-risk] {
    font-size:.82rem !important;
    line-height:1.2 !important;
    min-height:2.35rem !important;
  }
  .ask-panel-standalone .section-title-row {
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .ask-panel-standalone .ask-layout {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.85rem !important;
  }
  .ask-panel-standalone .ask-help {
    order:2 !important;
    padding:1rem !important;
  }
  .ask-panel-standalone .ask-preset {
    gap:.5rem !important;
    grid-template-columns:1.5rem minmax(0, 1fr) !important;
    padding:.62rem .58rem !important;
  }
  .ask-panel-standalone .ask-preset-plus {
    height:1.5rem !important;
    width:1.5rem !important;
  }
  .ask-panel-standalone .badges {
    gap:.4rem !important;
    margin:.75rem 0 !important;
  }
  .ask-panel-standalone .status {
    margin:.8rem 0 0 !important;
  }
  .ask-panel-standalone .badge {
    line-height:1.25 !important;
  }
  .ask-panel-standalone .ask-chunks-details summary {
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:.45rem !important;
    padding:.8rem .9rem !important;
  }
  .ask-panel-standalone .ask-chunks-details .chunk-grid {
    padding:0 .9rem .9rem !important;
  }
  .ask-panel-standalone #knowledgeAskQuestion {
    min-height:9rem !important;
  }
}
