@import url('/static/design-tokens.css');
/* Intelligence Platform — shared design system (Block 2 item 41).
   design-tokens.css is the only place where colours, fonts, sizes, radii and
   shadows are written as literals. This file turns those tokens into the
   reusable components every workspace page uses: layout, sidebar, cards,
   KPI tiles, tables, badges, chips, buttons, form controls, filter bar,
   view states, side panels, modals and the task flow bar. Page-level
   <style> blocks may only contain page-specific layout and must reference
   tokens (tests/test_item41_design_system.py). */

/* 2026-08-24: components below set an explicit `display` (flex, grid, ...)
   on classes like .sidebar-item, .btn, .card, etc. An author rule with a
   `display` declaration always wins over the UA stylesheet's own
   `[hidden] { display: none }` rule (it isn't a specificity contest --
   the UA sheet is a lower cascade origin), so `element.hidden = true` /
   the `hidden` attribute silently stopped hiding anything with its own
   `display`. This surfaced as CRM-gated sidebar links (`data-crm-module`,
   e.g. My day/Board/Activities/Sequences/Email) staying visible and
   clickable while the CRM module toggle was off, even though the
   underlying routes correctly redirected server-side. One global rule
   restores the native behavior for every `[hidden]` element platform-wide. */
[hidden] { display: none !important; }

/* ── Legacy aliases (kept so older rules and inline styles keep working) ── */
:root {
  --navy: var(--color-navy); --navy-dark: var(--color-navy-dark);
  --orange: var(--color-orange); --gold: var(--color-gold);
  --bg: var(--color-canvas); --card: var(--color-surface);
  --line: var(--color-line); --txt: var(--color-ink); --muted: var(--color-muted);
  --ok: var(--color-success); --warn: var(--color-warning); --err: var(--color-danger);
  --ink: var(--color-ink); --stripe: var(--color-surface-alt);
  --green: var(--color-success-ink); --green-bg: var(--color-success-soft);
  --yellow: var(--color-warning-ink); --yellow-bg: var(--color-warning-soft);
  --red: var(--color-danger-ink); --red-bg: var(--color-danger-soft);
  --blue: var(--color-info); --blue-bg: var(--color-info-soft);
  --font: var(--font-family);
  --font-mono: var(--font-family-mono); --text: var(--color-ink);
  --accent: var(--color-action-blue); --border: var(--color-line);
  --card-bg: var(--color-surface); --surface-muted: var(--color-surface-tint);
  --color-accent: var(--color-accent-indigo); --color-warning-bg: var(--color-warning-tint);
  --danger: var(--color-analytics-margin-strong-red);
  /* Runtime geometry interfaces. Page scripts override these per element. */
  --activity-workspace-left: 0px; --activity-workspace-top: 0px;
  --doc-panel-left: 0px; --doc-panel-top: 0px;
  --account-workspace-left: 0px; --account-workspace-top: 0px;
  --opportunity-workspace-left: 0px; --opportunity-workspace-top: 0px;
  --sales-workspace-left: 0px; --sales-workspace-top: 0px;
  --embed-top: 0px; --embed-bottom: 0px; --embed-height: 0px;
  --left: 0%; --width: 0%; --today: 0%; --share: 0%;
  --pie: conic-gradient(var(--color-blue) 0 100%); --series-color: var(--color-blue);
}

/* Opportunity detail workspace */
html:has(body.standard-opportunity-workspace),
body.standard-opportunity-workspace { height: 100%; }
html[data-ui-layout] body.standard-opportunity-workspace { padding: 0; }

@scope (body.standard-opportunity-workspace) {
* { box-sizing: border-box; }
:scope { height: 100%; margin: 0; background: var(--color-surface-alt); color: var(--color-ink); font-family: var(--font-family); overflow: hidden; }
.ow { height: 100%; overflow: auto; overscroll-behavior: contain; background: var(--color-surface-alt); }
.ow-top { position: sticky; top: 0; z-index: 5; }
.ow-head { display: flex; align-items: flex-start; gap: 16px; padding: 16px 22px; border-bottom: 1px solid var(--color-line); background: var(--color-surface); }
.ow-icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: var(--radius-lg); background: var(--color-orange-tint); color: var(--color-orange-dark); font-size: 22px; }
.ow-title { min-width: 0; flex: 1; }
.ow-kicker { color: var(--color-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.ow-title h1 { overflow: hidden; margin: 2px 0 5px; color: var(--color-navy-deep); font-size: 22px; text-overflow: ellipsis; white-space: nowrap; }
.ow-summary { display: flex; flex-wrap: wrap; gap: 8px 22px; color: var(--color-muted); font-size: 12px; }
.ow-summary strong { color: var(--color-ink); }
.ow-source { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 6px; color: var(--color-muted); font-size: 12px; }
.ow-source strong { color: var(--color-ink); }
.ow-source .ow-source-badge { padding: 2px 8px; border-radius: var(--radius-pill); background: var(--color-blue-soft); color: var(--color-blue); font-size: 11px; font-weight: 700; }
.ow-source button { min-height: 28px; padding: 3px 10px; font-size: 12px; }
#ow-record-switcher { max-width: min(560px, 100%); margin: 0 0 7px; padding: 5px 8px; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface); font: inherit; font-size: 12px; }
.ow-actions { display: flex; gap: 8px; align-items: center; }
.ow-actions button { min-height: 38px; }
.ow-account { width: auto; max-width: none; padding-inline: 14px !important; white-space: nowrap; }
.ow-close { width: 44px; min-width: 44px; padding: 0 !important; font-size: 23px !important; }
.ow-path { display: flex; gap: 0; overflow-x: auto; padding: 12px 22px; border-bottom: 1px solid var(--color-line); background: var(--color-surface); }
.ow-stage { position: relative; min-width: 130px; flex: 1; padding: 9px 18px; border: 0; border-right: 2px solid var(--color-surface); border-radius: 0; background: var(--color-surface-sunken); color: var(--color-ink); font: inherit; font-size: 12px; font-weight: 650; cursor: pointer; }
.ow-stage:first-child { border-radius: var(--radius-pill) 0 0 var(--radius-pill); }
.ow-stage:last-child { border-radius: 0 var(--radius-pill) var(--radius-pill) 0; }
.ow-stage.done { background: var(--color-success); color: var(--color-on-dark); }
.ow-stage.current { background: var(--color-navy-deep); color: var(--color-on-dark); }
.ow-stage:focus-visible { z-index: 2; outline: 3px solid var(--color-orange); outline-offset: -2px; }
.ow-stage[aria-disabled="true"] { cursor: default; }
.ow-path.readonly .ow-stage { cursor: default; opacity: .82; }
.ow-body { display: grid; grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); gap: 14px; align-items: start; padding: 14px 18px 18px; }
.ow-main, .ow-side { min-width: 0; }
.ow-card { margin: 0 0 14px; padding: 16px 18px; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--elevation-card); }
.ow-activity-open { background: none; border: 0; padding: 0; color: var(--color-navy); font: inherit; font-weight: inherit; text-align: left; cursor: pointer; text-decoration: underline; }
.ow-activity-open:hover { background: none; color: var(--color-blue); }
.ow-activity-actions { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.ow-activity-actions[hidden] { display: none; }
.ow-card h2 { margin: 0 0 14px; color: var(--color-navy-deep); font-size: 16px; }
.ow-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; }
.ow-form label { display: grid; gap: 5px; color: var(--color-muted); font-size: 11px; }
.ow-form .wide { grid-column: 1 / -1; }
.ow-form input, .ow-form select, .ow-form textarea { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-ink); font: inherit; }
.ow-form textarea { min-height: 96px; resize: vertical; }
.ow-form :disabled { background: var(--color-surface-sunken); color: var(--color-muted); }
.ow-no-owner { display: inline-block; padding: 1px 8px; border-radius: var(--radius-pill); background: var(--color-danger-tint); color: var(--color-danger-ink); font-weight: 600; }
.ow-assignee { display: grid; gap: 4px; font-size: 11px; color: var(--color-muted); }
.ow-section-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ow-section-head h2 { margin: 0; }
.ow-list { display: grid; gap: 8px; margin-top: 12px; }
.ow-item { padding: 10px 11px; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface-alt); font-size: 12px; }
.ow-item strong { display: block; margin-bottom: 3px; }
.ow-item small { display: block; margin-top: 3px; color: var(--color-muted); }
.ow-empty { padding: 16px; color: var(--color-muted); font-size: 12px; text-align: center; }
.ow-note { padding: 10px 12px; border-left: 3px solid var(--color-blue); background: var(--color-blue-soft); font-size: 12px; line-height: 1.5; }
.ow-error { padding: 10px 12px; border-left: 3px solid var(--color-danger); background: var(--color-danger-tint); color: var(--color-danger); font-size: 12px; }
.ow-save-status { align-self: center; min-width: 80px; color: var(--color-muted); font-size: 12px; }
.ow-contact { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.ow-contact span { color: var(--color-muted); }
.ow-outcome-controls { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface-alt); }
.ow-outcome-buttons, .ow-outcome-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ow-outcome-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(160px, .4fr); gap: 10px; }
.ow-outcome-form[hidden], .ow-outcome-controls[hidden] { display: none; }
.ow-outcome-form strong, .ow-outcome-actions { grid-column: 1 / -1; }
@media (max-width: 980px) {
  .ow-body { grid-template-columns: 1fr; }
  .ow-actions .ow-account { display: none; }
}
@media (max-width: 640px) {
  .ow-head { padding: 12px; }
  .ow-title h1 { font-size: 17px; }
  .ow-summary { display: none; }
  .ow-body { padding: 10px; }
  .ow-form { grid-template-columns: 1fr; }
  .ow-form .wide { grid-column: auto; }
  .ow-actions .ow-save-status { display: none; }
  .ow-path { padding: 8px 10px; }
  .ow-stage { min-width: 112px; }
  .ow-icon { display: none; }
}
}

/* Campaign detail workspace */
@scope (body.standard-campaign-detail-workspace) {
.cw-safe { margin-left: auto; border: 1px solid var(--color-success-line); background: var(--color-success-tint); color: var(--color-success-ink); border-radius: var(--radius-pill); padding: var(--space-2) var(--space-3); font-size: var(--font-size-xs); }
.cw-back-link { display: inline-flex; padding: 5px 10px; color: var(--color-navy); background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-sm); font-size: var(--font-size-sm); text-decoration: none; }
.cw-back-link:hover { color: var(--color-navy-deep); background: var(--color-surface-tint); }
.campaign-workspace-main { min-width: 0; padding: 0; overflow: auto; }
.cw-main { max-width: var(--layout-wide-width); margin: auto; padding: var(--space-6); }
.cw-head { display: flex; gap: var(--space-4); align-items: flex-start; justify-content: space-between; }
.cw-head h2 { margin: 0 0 var(--space-1); }
.cw-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-4); }
.cw-wide { grid-column: 1 / -1; }
.cw-metric strong { display: block; font-size: var(--font-size-xl); margin-top: var(--space-1); }
.cw-stack { display: grid; gap: var(--space-2); }
.cw-row { display: flex; align-items: center; gap: var(--space-3); border-bottom: 1px solid var(--line); padding: var(--space-2) 0; }
.cw-row:last-child { border: 0; }
.cw-grow { flex: 1; }
.cw-chips { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.cw-form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); margin-bottom: var(--space-4); }
.cw-form .cw-span { grid-column: 1 / -1; }
.cw-actions { display: flex; gap: var(--space-2); flex-wrap: wrap; align-items: center; }
.cw-checks { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.cw-checks label { display: flex; gap: var(--space-1); align-items: center; min-height: var(--control-height-touch); }
.cw-error { border: 1px solid var(--color-danger-line); background: var(--color-danger-tint); color: var(--color-danger-ink); padding: var(--space-3); border-radius: var(--radius-md); margin: var(--space-3) 0; }
.cw-hide { display: none !important; }
.cw-tabs { display: flex; gap: var(--space-1); overflow-x: auto; background: var(--color-surface); border-bottom: 1px solid var(--line); padding: var(--space-2) max(var(--space-3), calc((100% - var(--layout-wide-width)) / 2 + var(--space-6))); }
.cw-context { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin: var(--space-3) 0; }
.cw-section { scroll-margin-top: calc(var(--control-height-touch) + var(--space-4)); }
.cw-links { display: flex; gap: var(--space-2); flex-wrap: wrap; }
@media (max-width: 900px) {
  .cw-grid { grid-template-columns: 1fr; }
  .cw-wide { grid-column: auto; }
  .cw-form { grid-template-columns: 1fr; }
  .cw-form .cw-span { grid-column: auto; }
}
}

/* Flow designer workspace */
html:has(body.standard-flow-workspace),
body.standard-flow-workspace { height: 100%; }
html.flow-embedded body.standard-flow-workspace .hdr { display: none; }
@scope (body.standard-flow-workspace) {
* { box-sizing: border-box; }
:scope { height: 100%; margin: 0; overflow: hidden; display: flex; flex-direction: column; background: var(--bg); color: var(--txt); font-family: var(--font); }
.hdr { flex: 0 0 auto; }
.designer { flex: 1 1 auto; display: grid; grid-template-rows: auto 1fr auto; min-height: 0; }
/* toolbar */
.toolbar { display: flex; align-items: center; gap: 8px; padding: 8px 14px; background: var(--card); border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.toolbar .group { display: flex; align-items: center; gap: 6px; }
.toolbar .sep { width: 1px; height: 24px; background: var(--line); margin: 0 4px; }
.toolbar select, .toolbar input[type=text] { font: inherit; font-size: 13px; padding: 5px 8px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--card); color: var(--txt); }
.flow-name { font-weight: 600; min-width: 200px; }
.status-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--line); background: var(--stripe); white-space: nowrap; }
.status-pill .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color-flow-node-muted); }
.status-pill[data-state=draft] .dot { background: var(--color-flow-node-muted); }
.status-pill[data-state=in_review] .dot { background: var(--warn); }
.status-pill[data-state=published] .dot { background: var(--ok); }
.status-pill[data-state=paused] .dot { background: var(--err); }
.status-pill[data-state=dirty] .dot { background: var(--orange); }
.status-pill[data-state=valid] .dot { background: var(--ok); }
.status-pill[data-state=invalid] .dot { background: var(--err); }
.status-pill[data-state=saving] .dot { background: var(--blue); }
.toolbar .btn { font-size: 12.5px; padding: 5px 10px; }
.btn-icon { padding: 5px 8px; min-width: 32px; }
.push { margin-left: auto; }
/* workspace */
.workspace { display: grid; grid-template-columns: 270px 1fr 320px; min-height: 0; }
.workspace.hide-library { grid-template-columns: 0 1fr 320px; }
.workspace.hide-props { grid-template-columns: 270px 1fr 0; }
.workspace.hide-library.hide-props { grid-template-columns: 0 1fr 0; }
:scope.canvas-expanded .hdr, :scope.canvas-expanded .banner,
:scope.canvas-expanded .panel, :scope.canvas-expanded .bottom { display: none; }
:scope.canvas-expanded .designer { position: fixed; inset: 0; z-index: var(--z-modal, 1000); background: var(--bg); grid-template-rows: auto 1fr; }
:scope.canvas-expanded .workspace, :scope.canvas-expanded .workspace.hide-library,
:scope.canvas-expanded .workspace.hide-props, :scope.canvas-expanded .workspace.hide-library.hide-props { grid-template-columns: 1fr; }
:scope.canvas-expanded #btn-expand { background: var(--navy); color: var(--color-on-dark); }
.panel { background: var(--card); border-right: 1px solid var(--line); overflow: hidden; display: flex; flex-direction: column; min-height: 0; }
.panel.right { border-right: 0; border-left: 1px solid var(--line); }
.panel h3 { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin: 0; padding: 12px 14px 6px; }
.library-search { padding: 0 12px 8px; }
.library-search input { width: 100%; font: inherit; font-size: 13px; padding: 7px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.library { overflow-y: auto; padding: 0 10px 16px; flex: 1; }
.lib-group { margin-top: 10px; }
.lib-group > summary { cursor: pointer; font-size: 12px; font-weight: 600; color: var(--navy); padding: 6px 4px; list-style: none; display: flex; align-items: center; gap: 6px; }
.lib-group > summary::before { content: "▸"; font-size: 10px; color: var(--muted); transition: transform .15s; }
.lib-group[open] > summary::before { transform: rotate(90deg); }
.lib-item { display: grid; grid-template-columns: 8px 1fr auto; gap: 8px; align-items: start; padding: 7px 8px; border: 1px solid var(--line); border-radius: var(--radius-md); margin: 4px 0; background: var(--card); cursor: grab; font-size: 12.5px; }
.lib-item:focus-visible, .lib-item:hover { border-color: var(--navy); box-shadow: var(--elevation-flow-library); outline: none; }
.lib-item .swatch { width: 6px; height: 100%; min-height: 28px; border-radius: 3px; background: var(--color-flow-signal); }
.lane-bg-signals { background: var(--color-flow-signal) !important; }
.lane-bg-marketing { background: var(--color-orange-dark) !important; }
.lane-bg-sales { background: var(--color-flow-sales) !important; }
.lane-bg-delivery { background: var(--color-flow-delivery) !important; }
.lane-bg-service { background: var(--color-flow-service) !important; }
.lane-bg-documents { background: var(--color-flow-documents) !important; }
.lane-fill-signals { fill: var(--color-flow-signal) !important; }
.lane-fill-marketing { fill: var(--color-orange-dark) !important; }
.lane-fill-sales { fill: var(--color-flow-sales) !important; }
.lane-fill-delivery { fill: var(--color-flow-delivery) !important; }
.lane-fill-service { fill: var(--color-flow-service) !important; }
.lane-fill-documents { fill: var(--color-flow-documents) !important; }
.lib-item .name { font-weight: 600; }
.lib-item .desc { font-size: 11.5px; color: var(--muted); margin-top: 2px; line-height: 1.35; }
.lib-item .add { border: 1px solid var(--line); background: var(--stripe); border-radius: 50%; width: 24px; height: 24px; font-size: 16px; line-height: 1; cursor: pointer; color: var(--navy); }
.lib-item .add:hover { background: var(--navy); color: var(--color-on-dark); }
.lib-item[data-status=planned], .lib-item[data-status=module_disabled], .lib-item[data-status=connector_missing] { border-style: dashed; }
.badge-status { display: inline-block; font-size: 10.5px; padding: 1px 6px; border-radius: 999px; border: 1px solid var(--line); background: var(--stripe); color: var(--muted); margin-top: 3px; }
.badge-status[data-code=available] { color: var(--green); background: var(--green-bg); border-color: transparent; }
.badge-status[data-code=planned] { color: var(--blue); background: var(--blue-bg); border-color: transparent; }
.badge-status[data-code=module_disabled], .badge-status[data-code=connector_missing] { color: var(--red); background: var(--red-bg); border-color: transparent; }
/* canvas */
.canvas-wrap { position: relative; min-height: 0; overflow: hidden; background: var(--color-flow-canvas); }
.canvas { position: absolute; inset: 0; overflow: hidden; cursor: grab; outline: none; background-image: linear-gradient(var(--color-flow-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-flow-grid) 1px, transparent 1px); background-size: 20px 20px; }
.canvas:focus-visible { box-shadow: var(--elevation-navy-inset); }
.canvas.panning { cursor: grabbing; }
.canvas.connecting { cursor: crosshair; }
.world { position: absolute; left: 0; top: 0; transform-origin: 0 0; width: 1px; height: 1px; }
.lane-band { position: absolute; left: -4000px; width: 12000px; height: 290px; border-top: 1px dashed var(--color-navy-shadow-md); pointer-events: none; }
.lane-band .lane-title { position: absolute; left: 4010px; top: 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; padding: 2px 8px; border-radius: 999px; color: var(--color-on-dark); }
.lane-band .lane-desc { position: absolute; left: 4010px; top: 28px; font-size: 11px; color: var(--muted); }
svg.edges { position: absolute; left: 0; top: 0; overflow: visible; pointer-events: none; }
svg.edges path.edge { fill: none; stroke: var(--color-flow-edge); stroke-width: 2; pointer-events: stroke; cursor: pointer; }
svg.edges path.edge:hover, svg.edges path.edge.selected { stroke: var(--orange); stroke-width: 3; }
svg.edges path.edge.temp { stroke: var(--navy); stroke-dasharray: 6 4; }
svg.edges path.edge.flagged { stroke: var(--err); }
svg.edges .edge-label { font-size: 10.5px; fill: var(--color-flow-edge-label); font-weight: 600; pointer-events: none; }
svg.edges .edge-label-bg { fill: var(--color-flow-canvas); }
.node { position: absolute; width: 250px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--elevation-flow-card); user-select: none; cursor: default; }
.node:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.node.selected { border-color: var(--navy); box-shadow: var(--elevation-flow-card-selected); }
.node.target-ok { box-shadow: 0 0 0 2px var(--ok); cursor: pointer; }
.node.dimmed { opacity: .45; }
.node.flag-error { border-color: var(--err); }
.node.flag-warning { border-color: var(--warn); }
.node.locked { background: repeating-linear-gradient(135deg, var(--card), var(--card) 12px, var(--stripe) 12px, var(--stripe) 14px); }
.node.stage { border-radius: 999px; text-align: center; border-width: 2px; }
.node.stage .node-head { justify-content: center; border-bottom: 0; }
.node.stage .node-body { display: none; }
.node .node-head { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--line); border-left: 5px solid var(--color-flow-signal); border-radius: 12px 0 0 0; }
.node .type-icon { font-size: 13px; width: 18px; text-align: center; }
.node .title { font-size: 12.5px; font-weight: 700; color: var(--navy); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.node .type-tag { font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.node .node-body { padding: 8px 12px 10px; font-size: 12px; line-height: 1.4; color: var(--txt); }
.node .badge-status { margin-top: 6px; }
.node .ports { display: flex; gap: 6px; flex-wrap: wrap; padding: 0 10px 10px; }
.node.stage .ports { display: none; }
.port { font-size: 10.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--line); background: var(--stripe); cursor: pointer; color: var(--navy); }
.port:hover, .port:focus-visible, .port.active { background: var(--navy); color: var(--color-on-dark); outline: none; }
.port.connected { border-color: var(--navy); }
.port.stage-port { display: none; }
.node .in-port { position: absolute; left: -7px; top: 22px; width: 12px; height: 12px; border-radius: 50%; background: var(--card); border: 2px solid var(--color-flow-edge); }
.node.trigger .in-port { display: none; }
.node .flag { position: absolute; right: -8px; top: -8px; width: 20px; height: 20px; border-radius: 50%; font-size: 12px; display: none; align-items: center; justify-content: center; color: var(--color-on-dark); }
.node.flag-error .flag { display: flex; background: var(--err); }
.node.flag-warning .flag { display: flex; background: var(--warn); }
.node.lane-signals .node-head { border-left-color: var(--color-flow-signal); }
.node.lane-marketing .node-head { border-left-color: var(--color-orange-dark); }
.node.lane-sales .node-head { border-left-color: var(--color-flow-sales); }
.node.lane-delivery .node-head { border-left-color: var(--color-flow-delivery); }
.node.lane-service .node-head { border-left-color: var(--color-flow-service); }
.node.lane-documents .node-head { border-left-color: var(--color-flow-documents); }
.node.stage.lane-sales { border-color: var(--color-flow-sales); }
.node.simhit { box-shadow: 0 0 0 3px var(--gold); }
/* overlays */
.canvas-hint { position: absolute; left: 50%; top: 14px; transform: translateX(-50%); background: var(--navy); color: var(--color-on-dark); font-size: 12px; padding: 6px 14px; border-radius: 999px; display: none; z-index: 5; }
.canvas-hint.on { display: block; }
.zoom-ctl { position: absolute; right: 14px; bottom: 14px; display: flex; gap: 4px; background: var(--card); border: 1px solid var(--line); border-radius: 8px; padding: 4px; z-index: 5; }
.zoom-ctl button { border: 0; background: transparent; font: inherit; font-size: 13px; padding: 4px 8px; cursor: pointer; border-radius: 4px; color: var(--navy); }
.zoom-ctl button:hover { background: var(--stripe); }
.minimap { position: absolute; left: 14px; bottom: 14px; width: 180px; height: 120px; background: var(--color-flow-surface-glass); border: 1px solid var(--line); border-radius: 8px; z-index: 5; overflow: hidden; }
.minimap svg { width: 100%; height: 100%; }
.minimap rect.mm-node { fill: var(--color-flow-node-muted); }
.minimap rect.mm-view { fill: none; stroke: var(--orange); stroke-width: 2; }
.empty-state { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 14px; z-index: 4; background: var(--color-flow-canvas); text-align: center; padding: 20px; }
.empty-state h2 { margin: 0; color: var(--navy); font-size: 18px; }
.empty-state p { margin: 0; color: var(--muted); font-size: 13px; max-width: 520px; line-height: 1.5; }
.template-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; max-width: 760px; width: 100%; }
.template-card { text-align: left; border: 1px solid var(--line); background: var(--card); border-radius: 12px; padding: 14px; cursor: pointer; font: inherit; }
.template-card:hover, .template-card:focus-visible { background: var(--card); border-color: var(--navy); box-shadow: var(--elevation-flow-template); outline: none; }
.template-card strong { display: block; color: var(--navy); margin-bottom: 4px; font-size: 13px; }
.template-card span { font-size: 12px; color: var(--muted); line-height: 1.4; }
.loading-state { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--muted); font-size: 13px; z-index: 4; background: var(--color-flow-loading-glass); }
/* properties */
.props { overflow-y: auto; padding: 0 14px 20px; flex: 1; font-size: 12.5px; }
.props .sentence { background: var(--stripe); border-left: 4px solid var(--navy); padding: 10px 12px; border-radius: 6px; font-size: 13px; line-height: 1.45; margin: 8px 0 12px; }
.props label { display: block; font-size: 11.5px; color: var(--muted); margin: 10px 0 3px; }
.props input[type=text], .props input[type=number], .props select, .props textarea { width: 100%; font: inherit; font-size: 13px; padding: 6px 8px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--card); color: var(--txt); }
.props textarea { min-height: 60px; resize: vertical; }
.props .hint { font-size: 11px; color: var(--muted); margin-top: 3px; line-height: 1.35; }
.flow-spaced-hint { margin-top: 8px !important; }
.flow-check { display: flex !important; gap: 6px; align-items: center; color: var(--txt) !important; }
.flow-field-spacer { margin-top: 10px !important; }
.flow-reduced-control { margin-top: 12px; font-size: 12px; }
.flow-section-heading { margin-top: 14px; }
.flow-result-summary { margin: 8px 0; }
.flow-clickable { cursor: pointer; }
.props details { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 6px; }
.props details summary { cursor: pointer; font-size: 12px; color: var(--navy); font-weight: 600; }
.props .actions { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.props .connections { margin-top: 12px; }
.props .connections .row { display: flex; justify-content: space-between; align-items: center; padding: 4px 0; border-top: 1px solid var(--line); font-size: 12px; }
.props .empty { color: var(--muted); padding: 20px 4px; line-height: 1.5; }
.props .finding { border-left: 3px solid var(--err); padding: 6px 8px; background: var(--red-bg); border-radius: 4px; margin: 6px 0; font-size: 12px; }
.props .finding.warning { border-left-color: var(--warn); background: var(--yellow-bg); }
/* bottom panel */
.bottom { border-top: 1px solid var(--line); background: var(--card); display: flex; flex-direction: column; max-height: 42vh; }
.bottom.collapsed .bottom-body { display: none; }
.bottom-tabs { display: flex; align-items: center; gap: 2px; padding: 4px 10px 0; border-bottom: 1px solid var(--line); }
.bottom-tabs button { border: 0; background: transparent; font: inherit; font-size: 12.5px; padding: 8px 12px; cursor: pointer; color: var(--muted); border-bottom: 2px solid transparent; }
.bottom-tabs button[aria-selected=true] { color: var(--navy); font-weight: 600; border-bottom-color: var(--navy); }
.bottom-tabs .count { display: inline-block; min-width: 18px; padding: 0 5px; border-radius: 999px; background: var(--stripe); font-size: 10.5px; margin-left: 4px; }
.bottom-tabs .count.err { background: var(--red-bg); color: var(--red); }
.bottom-tabs .count.warn { background: var(--yellow-bg); color: var(--yellow); }
.bottom-body { overflow: auto; padding: 10px 14px; font-size: 12.5px; flex: 1; }
.finding-list .item { display: flex; gap: 8px; align-items: flex-start; padding: 6px 8px; border-radius: 6px; cursor: pointer; }
.finding-list .item:hover { background: var(--stripe); }
.finding-list .item .mark { flex: 0 0 auto; width: 18px; height: 18px; border-radius: 50%; color: var(--color-on-dark); font-size: 11px; display: flex; align-items: center; justify-content: center; }
.finding-list .item.error .mark { background: var(--err); }
.finding-list .item.warning .mark { background: var(--warn); }
.ok-box { display: flex; gap: 10px; align-items: center; padding: 10px 12px; background: var(--green-bg); color: var(--green); border-radius: 8px; }
.sim-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px 14px; align-items: end; margin-bottom: 10px; }
.sim-form label { display: block; font-size: 11px; color: var(--muted); }
.sim-form input, .sim-form select { width: 100%; font: inherit; font-size: 12.5px; padding: 5px 7px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.sim-form .check { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--txt); padding-bottom: 6px; }
.sim-form .check input { width: auto; }
table.trace { width: 100%; border-collapse: collapse; }
table.trace th, table.trace td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--line); vertical-align: top; font-size: 12px; }
table.trace th { font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
table.trace tr { cursor: pointer; }
table.trace tr:hover td { background: var(--stripe); }
.outcome { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; background: var(--stripe); }
.outcome[data-o=nothing_happened], .outcome[data-o=blocked_dependency], .outcome[data-o=dangling] { background: var(--yellow-bg); color: var(--yellow); }
.effects { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-top: 12px; }
.effects .box { border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; }
.effects .box strong { display: block; font-size: 11px; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; }
.effects .box ul { margin: 0; padding-left: 16px; }
.diff-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.diff-cols h4 { margin: 0 0 6px; font-size: 12px; color: var(--navy); }
.diff-cols ul { margin: 0; padding-left: 16px; }
.diff-cols li { margin: 3px 0; }
.list-view table { width: 100%; border-collapse: collapse; }
.list-view th, .list-view td { padding: 6px 8px; border-bottom: 1px solid var(--line); text-align: left; font-size: 12px; vertical-align: top; }
.list-view th { font-size: 10.5px; text-transform: uppercase; color: var(--muted); }
.list-view tr { cursor: pointer; }
.list-view tr:hover td { background: var(--stripe); }
/* modal + toast */
.modal-back { position: fixed; inset: 0; background: var(--color-flow-overlay); display: none; align-items: center; justify-content: center; z-index: 50; }
.modal-back.on { display: flex; }
.modal { background: var(--card); border-radius: 12px; width: min(560px, 94vw); max-height: 90vh; overflow: auto; padding: 20px 22px; box-shadow: var(--elevation-flow-modal); }
.modal h2 { margin: 0 0 6px; font-size: 16px; color: var(--navy); }
.modal p { margin: 0 0 12px; font-size: 12.5px; color: var(--muted); line-height: 1.45; }
.modal label { display: block; font-size: 11.5px; color: var(--muted); margin: 10px 0 3px; }
.modal input[type=text], .modal select, .modal textarea { width: 100%; font: inherit; font-size: 13px; padding: 7px 9px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.modal .row-btns { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.modal .impact { background: var(--stripe); border-radius: 8px; padding: 10px 12px; font-size: 12px; line-height: 1.5; margin-top: 10px; }
.toast { position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); background: var(--navy); color: var(--color-on-dark); padding: 9px 16px; border-radius: 999px; font-size: 12.5px; z-index: 60; display: none; box-shadow: var(--elevation-flow-toast); }
.toast.on { display: block; }
.toast.err { background: var(--err); }
.banner { display: none; padding: 8px 14px; font-size: 12.5px; background: var(--yellow-bg); color: var(--yellow); border-bottom: 1px solid var(--line); }
.banner.on { display: flex; gap: 12px; align-items: center; }
.banner.info { background: var(--blue-bg); color: var(--blue); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.reduced * { transition: none !important; animation: none !important; }
kbd { font-family: inherit; font-size: 11px; padding: 1px 5px; border: 1px solid var(--line); border-bottom-width: 2px; border-radius: 4px; background: var(--stripe); }
@media (max-width: 1100px) { .workspace { grid-template-columns: 230px 1fr 280px; } }
@media (max-width: 860px) {
  .workspace, .workspace.hide-library, .workspace.hide-props { grid-template-columns: 1fr; grid-template-rows: minmax(180px, 1fr) minmax(96px, 22vh); }
  .panel.left { display: none; } .panel.right { border-left: 0; border-top: 1px solid var(--line); max-height: 40vh; }
  .minimap { display: none; }
}
}




/* Subscription operations workspace: formerly embedded in subscriptions.html. */
@scope (body.standard-subscriptions-workspace) {
* { box-sizing: border-box; margin: 0; padding: 0; }
.main { max-width: 1200px; margin: 0 auto; padding: 28px 24px; }
.page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.page-head h1 { font-size: 20px; color: var(--navy); margin: 0 0 4px; }
.page-head p { font-size: 12.5px; color: var(--muted); margin: 0; max-width: 720px; }
.meta { font-size: 11.5px; color: var(--muted); }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) { .grid-2 { grid-template-columns: 1fr; } }
.card { margin-bottom: 20px; }
.dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--color-neutral-300, var(--color-cool-neutral-300)); vertical-align: middle; margin-right: 6px; }
.dot.on { background: var(--color-success, var(--color-status-success-bright)); }
.dot.warn { background: var(--color-warning, var(--color-status-warning-bright)); }
.dot.off { background: var(--color-neutral-300, var(--color-cool-neutral-300)); }
.dot.bad { background: var(--color-danger, var(--color-status-danger-bright)); }
.status-word { font-size: 12.5px; }
.row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line); font-size: 13px; }
.row:first-of-type { border-top: 0; }
.row .sub { font-size: 11.5px; color: var(--muted); }
.count-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.count-grid .kpi { min-width: 0; }
.tbl-wrap { overflow-x: auto; }
.tbl-frame { max-height: 360px; overflow-y: auto; border: 1px solid var(--line); border-radius: var(--radius-xs); }
.tbl-frame thead th { position: sticky; top: 0; background: var(--card); z-index: 1; }
table td, table th { padding: 7px 8px; text-align: left; vertical-align: top; }
table th { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); border-bottom: 1px solid var(--line); }
table td { border-bottom: 1px solid var(--line); font-size: 12.5px; }
code { font-size: 11.5px; }
.empty { color: var(--muted); text-align: center; padding: 18px; font-size: 12.5px; }
.kpi-row .kpi { border-top: 3px solid var(--navy); }
.kpi-row .kpi[data-tone="good"] { border-top-color: var(--color-success, var(--color-status-success-bright)); }
.kpi-row .kpi[data-tone="warn"] { border-top-color: var(--color-warning, var(--color-status-warning-bright)); }
.kpi-row .kpi[data-tone="bad"] { border-top-color: var(--color-danger, var(--color-status-danger-bright)); }
.billing-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin:12px 0; }
.plan { border:1px solid var(--line); border-radius:var(--radius-xs); padding:14px; }
.plan h3 { margin:0 0 4px; font-size:15px; }
.plan-price { color:var(--navy); font-weight:700; font-size:18px; }
.billing-form { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin-top:12px; }
.billing-form label { display:grid; gap:4px; font-size:11px; color:var(--muted); }
.billing-form select,.billing-form input { min-height:34px; padding:6px 8px; border:1px solid var(--line); border-radius:4px; background:var(--card); color:inherit; }
.usage-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:10px; margin-top:14px; }
.usage-meter { border:1px solid var(--line); border-radius:var(--radius-xs); padding:12px; }
.usage-meter-head { display:flex; justify-content:space-between; gap:12px; font-size:12.5px; }
.usage-bar { height:9px; margin:8px 0 5px; overflow:hidden; border-radius:999px; background:var(--color-neutral-200,var(--color-neutral-200)); }
.usage-bar > span { display:block; height:100%; background:var(--color-success,var(--color-status-success-bright)); }
.usage-bar > span.warn { background:var(--color-warning,var(--color-status-warning-bright)); }
.usage-bar > span.bad { background:var(--color-danger,var(--color-status-danger-bright)); }
.budget-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; align-items:end; margin-top:12px; }
.budget-fields label { display:grid; gap:4px; font-size:11px; color:var(--muted); }
.budget-fields input { min-height:34px; padding:6px 8px; border:1px solid var(--line); border-radius:4px; background:var(--card); color:inherit; }
.page-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.section-nav { position:sticky; top:0; z-index:20; display:flex; gap:7px; overflow-x:auto; margin:0 0 18px; padding:10px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--card); box-shadow:var(--elevation-sm); }
.section-nav a { white-space:nowrap; padding:7px 10px; border-radius:999px; color:var(--navy); text-decoration:none; font-size:12px; font-weight:700; }
.section-nav a:hover,.section-nav a:focus { background:var(--color-neutral-100,var(--color-cool-neutral-100)); }
.attention-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin-bottom:18px; }
.attention-item { border:1px solid var(--line); border-left:4px solid var(--color-success,var(--color-status-success-bright)); border-radius:var(--radius-xs); padding:12px; background:var(--card); }
.attention-item.warn { border-left-color:var(--color-warning,var(--color-status-warning-bright)); }
.attention-item.bad { border-left-color:var(--color-danger,var(--color-status-danger-bright)); }
.attention-item strong { display:block; font-size:20px; margin-bottom:2px; }
.section-state { padding:14px; border:1px dashed var(--line); border-radius:var(--radius-xs); color:var(--muted); text-align:center; }
.section-state.bad { color:var(--color-danger,var(--color-danger-ink)); border-color:var(--color-danger,var(--color-status-danger-bright)); background:var(--color-danger-soft,var(--color-danger-tint)); }
.permission-note { padding:9px 11px; border-radius:var(--radius-xs); background:var(--color-neutral-100,var(--color-cool-neutral-100)); color:var(--muted); font-size:12px; margin-top:10px; }
.invoice-tools { display:flex; gap:8px; flex-wrap:wrap; align-items:end; margin-top:14px; }
.invoice-tools label { display:grid; gap:4px; font-size:11px; color:var(--muted); }
.invoice-tools input,.invoice-tools select,.feedback-editor select,.feedback-editor textarea { min-height:34px; padding:6px 8px; border:1px solid var(--line); border-radius:4px; background:var(--card); color:inherit; }
.billing-modules-field { display:grid; gap:6px; font-size:11px; color:var(--muted); }
.feedback-editor { display:grid; grid-template-columns:minmax(150px,220px) minmax(220px,1fr) auto; gap:8px; align-items:end; margin-top:10px; }
.feedback-editor label { display:grid; gap:4px; font-size:11px; color:var(--muted); }
.feedback-editor textarea { min-height:58px; resize:vertical; }
dialog { width:min(620px,calc(100vw - 28px)); border:0; border-radius:var(--radius-sm); padding:0; color:inherit; background:var(--card); box-shadow: var(--elevation-dialog); }
dialog::backdrop { background:var(--color-backdrop-strong); }
.dialog-body { padding:22px; }
.dialog-actions { display:flex; justify-content:flex-end; gap:8px; padding:14px 22px; border-top:1px solid var(--line); }
#toast { display:none; position:fixed; right:18px; bottom:18px; z-index:10000; max-width:min(420px,calc(100vw - 36px)); padding:12px 16px; border-radius:var(--radius-xs); background:var(--navy); color:var(--color-on-dark); box-shadow:var(--elevation-md); }
[aria-busy="true"] { opacity:.68; pointer-events:none; }
@media (max-width: 600px) { .main { padding: 14px 10px; } .card { padding: 14px 12px; } }
@media (max-width: 700px) { .feedback-editor { grid-template-columns:1fr; } .section-nav { top:0; border-radius:0; margin-left:-10px; margin-right:-10px; } }
/* The global feedback/help buttons are not relevant here: this BackOffice
   receives feedback from the tenants rather than submitting tenant feedback. */
#feedback-button, #context-help-button { display: none !important; }
}

/* Content workspace: formerly embedded in content.html. */
@scope (body.standard-content-workspace) {
/* Tokens die identiek zijn aan platform.css (:root --navy/--orange/--gold/--card/--muted)
   komen nu uit platform.css; hieronder alleen pagina-specifieke afwijkingen. */
* { box-sizing: border-box; margin: 0; padding: 0; }

.hdr .nav { margin-right: auto; }/* ── Tabs (zelfde stijl als dossier.html) ── */
/* Collapse-caret naast de rechts uitgelijnde ct-meta (die heeft al margin-left:auto) */

/* ── Regel-patroon (rows) ── */
.rows { border: 1px solid var(--line); background: var(--card); }/* Grid-kinderen mogen nooit meegroeien met nowrap-inhoud (min-width:auto-val) */

.rowitem { border-bottom: 1px solid var(--line); }
.rowitem:last-child { border-bottom: none; }
.row { display: flex; align-items: center; gap: 10px; padding: 8px 12px; cursor: pointer; min-width: 0; }
.row:hover { background: var(--color-surface-tint); }
.rowitem:nth-child(even) > .row { background: var(--stripe); }
.rowitem:nth-child(even) > .row:hover { background: var(--color-surface-tint); }
.row-type { flex: 0 0 auto; }
.row-main { flex: 1 1 auto; min-width: 0; }
/* display:block is vereist: ellipsis/overflow werken niet op inline spans */
.row-title { display: block; font-size: 13px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.row-sub { display: block; font-size: 11.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 1px; }
.row-meta { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: var(--muted); white-space: nowrap; }
.row-caret { flex: 0 0 auto; color: var(--muted); font-size: 11px; transition: transform .15s; }
/* OAuth marketing-connector rows: the generic .row above is a single-line
   flex model (title + one trailing action) and its white-space:nowrap
   .row-title/.row-sub ellipsis rules actively fight a row that instead
   holds a form's worth of inputs+buttons -- same class of bug as the
   admin.html checkbox stretch (2026-08-25): a generic rule reaching into a
   nested layout it wasn't written for. Give these rows their own block
   layout instead of overriding .row's flex/nowrap piecemeal. */
.oauth-connector-row { display: block; padding: 10px 12px; cursor: default; }
.oauth-connector-row .row-title,
.oauth-connector-row .row-sub { white-space: normal; overflow: visible; text-overflow: clip; }
.oauth-connector-fields { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; }
.oauth-connector-fields input[type="text"],
.oauth-connector-fields input[type="password"] { min-width: 140px; flex: 1 1 140px; max-width: 220px; }

.rowitem.open .row-caret { transform: rotate(90deg); }
.row-detail { display: none; padding: 12px 14px 14px; background: var(--bg); border-top: 1px dashed var(--line); font-size: 13px; line-height: 1.55; }
.rowitem.open .row-detail { display: block; }
.rd-text { white-space: pre-wrap; margin-bottom: 10px; }
.rd-meta { font-size: 12px; color: var(--muted); margin-bottom: 10px; }
.rd-label { font-size: 11px; color: var(--muted); font-weight: 600; margin: 8px 0 2px; text-transform: uppercase; letter-spacing: .05em; }
.rd-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.brief-body { background: var(--card); border: 1px solid var(--line); padding: 10px 12px; font-size: 13px; line-height: 1.6; white-space: pre-wrap; max-height: 300px; overflow-y: auto; }

/* ── Actiebalk boven lijsten (bijv. digest / agency) ── */
.action-line { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; font-size: 13px; }
.action-line .al-meta { color: var(--muted); font-size: 12px; }
.action-line .al-spacer { margin-left: auto; }/* ── Segmentknoppen (Agency-subweergaven) ── */

.stat-line { font-size: 12.5px; color: var(--muted); display: flex; gap: 14px; flex-wrap: wrap; }
.stat-line strong { color: var(--navy); font-size: 14px; }

/* ── Inklapbare formulieren ── */
.form-collapse { display: none; }
.form-collapse.open { display: block; }
.brief-form { background: var(--bg); border: 1px solid var(--line); padding: 16px; margin-bottom: 14px; }
.brief-form h3 { font-size: 13px; font-weight: 700; color: var(--navy); margin-bottom: 12px; }
.form-row { margin-bottom: 12px; }
.form-row label { display: block; font-size: 11px; color: var(--muted); margin-bottom: 4px; font-weight: 500; }
.form-row select, .form-row input, .form-row textarea { width: 100%; padding: 7px 10px; border: 1px solid var(--line); font-size: 13px; font-family: var(--font); }
.form-row textarea { height: 80px; resize: vertical; }
.form-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rd-form input, .rd-form textarea { width: 100%; padding: 7px 10px; border: 1px solid var(--line); font-size: 13px; font-family: var(--font); margin-bottom: 8px; }
.rd-form textarea { resize: vertical; }/* ── Markdown-weergave in I4E-rapportstijl (gescopet onder .md-doc; uit dossier.html) ── */

/* Content has no sidebar: channel and proposition are filters in the
   briefs filter bar, not navigation. */
.layout-single { grid-template-columns: 1fr; }

/* ── Mobiel (breakpoints 900/600 zoals elders) ── */
@media (max-width: 900px) {
  .layout { min-height: 0; }
  .main { padding: 16px; }
  /* Scroll/fade-gedrag komt nu van de gedeelde .tabs-regels in
     platform.css (_shared_tabs_scroll_fade_v1) -- hier alleen nog het
     grotere touch-target voor mobiel. */
  .tab-btn { min-height: 40px; }
}
@media (max-width: 600px) {
  .main { padding: 12px 10px; }
  .card { padding: 14px 12px; }
  .form-2col { grid-template-columns: 1fr; }
  .filters select, .filters input { flex: 1 1 auto; min-width: 0; }
  .filters .f-count { margin-left: 0; flex-basis: 100%; }
  /* Regels wrappen netjes: meta onder de titel, geen horizontale overflow */
  .row { flex-wrap: wrap; row-gap: 2px; }
  .row-main { flex-basis: calc(100% - 60px); }
  .row-meta { flex-basis: 100%; padding-left: 0; justify-content: flex-start; flex-wrap: wrap; }
  .action-line .al-spacer { margin-left: 0; flex-basis: 100%; }
  .rd-actions .btn { min-height: 38px; }
}
/* Embedded mode: marketing.html's "Content" screen loads this page inside
   an iframe (?embed=1) so its own header/rail (which would duplicate the
   host's) is hidden -- content.html's own tab bar underneath stays, since
   that is this tool's real navigation, same pattern as crm.html's
   html.crm-embedded. */
}
html.content-embedded .hdr { display: none; }
html.content-embedded #mkt-back-bar { display: none; }

/* Delivery workspace: formerly embedded in delivery.html. */
@scope (body.standard-delivery-workspace) {
*{box-sizing:border-box}:scope{margin:0;background:var(--color-surface-alt);color:var(--color-ink);font-family:var(--font-family)}
.delivery-main{padding:24px;min-width:0}.screen{display:none}.screen.active{display:block}.screen-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.screen-head h1{margin:0;color:var(--color-navy-deep)}.muted{color:var(--color-muted);font-size:12px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--color-surface);border:1px solid var(--color-line);border-top:3px solid var(--color-navy-deep);border-radius:var(--radius-lg);padding:15px}.kpi .value{font-size:24px;font-weight:750;color:var(--color-navy-deep)}.kpi .label{margin-top:4px;font-size:11px;color:var(--color-muted)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card h2{margin:0 0 12px;color:var(--color-navy-deep);font-size:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:4px;color:var(--color-muted);font-size:11px}input,select{width:100%;padding:8px 9px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:12px}.actions{display:flex;gap:8px;align-items:center;margin-top:12px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{padding:8px;text-align:left;border-bottom:2px solid var(--color-line);color:var(--color-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}td{padding:9px 8px;border-bottom:1px solid var(--color-surface-sunken);vertical-align:top}.num{text-align:right;font-variant-numeric:tabular-nums}.pill{display:inline-block;padding:3px 7px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);font-size:10px;font-weight:700}.pill.good{color:var(--color-success);background:var(--color-success-tint)}.pill.warn{color:var(--color-orange-ink);background:var(--color-orange-tint)}.pill.problem{color:var(--color-danger);background:var(--color-danger-tint)}
.attention{display:grid;gap:8px}.attention-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface-alt);font-size:12px}.integration-list{display:grid;gap:12px}.integration{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:14px;border:1px solid var(--color-line);border-radius:var(--radius-lg)}.dot{width:10px;height:10px;border-radius:50%;margin-top:4px;background:var(--color-muted)}.dot.connected{background:var(--color-success)}.dot.problem{background:var(--color-danger)}.progress{height:10px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);overflow:hidden}.progress>span{display:block;height:100%;background:var(--color-blue);max-width:100%}
.report-filters{grid-template-columns:repeat(4,minmax(130px,220px));align-items:end}.report-team{border-top:3px solid var(--color-navy-deep)}.report-team.customer{border-top-color:var(--color-success)}.report-team.additional{border-top-color:var(--color-orange)}.report-cell{min-width:150px}.metric-line{white-space:nowrap}.metric-sub{font-size:10px;color:var(--color-muted);margin-top:3px}.tone-low{background:var(--color-danger-tint);color:var(--color-danger)}.tone-fair{background:var(--color-orange-tint);color:var(--color-orange-ink)}.tone-good{background:var(--color-success-tint);color:var(--color-success)}.tone-over{background:var(--color-blue-tint);color:var(--color-blue)}.forecast{opacity:.68}.forecast-edge{border-left:2px dashed var(--color-blue)!important}.report-warning{padding:12px 14px;margin-bottom:14px;border-left:4px solid var(--color-orange);background:var(--color-orange-tint);font-size:12px}.margin-strip{display:grid;grid-template-columns:150px repeat(12,minmax(64px,1fr));min-width:900px}.margin-strip>div{padding:8px;border-bottom:1px solid var(--color-line);text-align:right}.margin-strip .margin-label{text-align:left;font-weight:700}.margin-strong-red{background:var(--color-analytics-margin-strong-red);color:var(--color-on-dark)}.margin-red{background:var(--color-analytics-margin-red);color:var(--color-on-dark)}.margin-salmon{background:var(--color-analytics-margin-salmon);color:var(--color-analytics-margin-salmon-ink)}.margin-orange{background:var(--color-analytics-margin-orange);color:var(--color-analytics-margin-orange-ink)}.margin-light-green{background:var(--color-analytics-margin-light-green);color:var(--color-analytics-margin-light-green-ink)}.margin-green{background:var(--color-analytics-margin-green);color:var(--color-analytics-margin-green-ink)}.margin-deep-green{background:var(--color-analytics-margin-deep-green);color:var(--color-on-dark)}
.empty{padding:20px;text-align:center;color:var(--color-muted)}@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}@media(max-width:600px){.delivery-main{padding:14px}.form-grid,.kpi-grid{grid-template-columns:1fr}.layout{display:block}.sidebar{display:flex;overflow:auto}.sidebar-section{display:flex}.sidebar-label{display:none}.sidebar-item{white-space:nowrap}}
.pf-card{padding:0}.pf-scroll{overflow-x:auto;overflow-y:visible}.pf-table{border-collapse:collapse;font-size:12px;min-width:2300px;width:100%}.pf-table th,.pf-table td{padding:4px 8px;white-space:nowrap;border-bottom:1px solid var(--color-line)}.pf-table thead th{background:var(--color-surface);font-size:11px;text-transform:uppercase;letter-spacing:.04em;text-align:right}.pf-table thead th:nth-child(2),.pf-table thead th.pf-sticky{text-align:left}.pf-table .pf-month{text-align:center;border-left:1px solid var(--color-line)}.pf-subhead th{color:var(--color-muted);font-weight:500}.pf-sticky{position:sticky;left:0;z-index:2;background:var(--color-surface);border-right:1px solid var(--color-line);text-align:left;min-width:230px}.pf-section{color:var(--color-orange-ink);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding-top:14px!important}.pf-section-note{color:var(--color-muted);font-size:11px;padding-top:14px!important}.pf-team,.pf-team.pf-sticky{background:var(--color-surface-alt)}.pf-sum,.pf-sum.pf-sticky{background:var(--color-surface-alt);font-weight:600}.pf-section-sum td{border-top:2px solid var(--color-line)}.pf-grand,.pf-grand.pf-sticky{background:var(--color-surface-alt);font-weight:700;border-top:2px solid var(--color-line)}.pf-pipeline,.pf-pipeline-sum,.pf-pipeline-sum td,.pf-pipeline td,.pf-pipeline-head{background:var(--color-analytics-pipeline-wash)!important}.pf-pipeline-head,.pf-pipeline-text{color:var(--color-analytics-pipeline-ink);font-weight:600}.pf-pipeline-text{font-weight:400}.pf-pipeline-sum .pf-pipeline-text{font-weight:600}.pf-table td.num{text-align:right;font-variant-numeric:tabular-nums}.pf-total-start{border-left:1px solid var(--color-line)}.pf-table .forecast{opacity:.72}.pf-table .forecast-edge{border-left:2px dashed var(--color-blue)}.pg-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.pg-bar .tab-bar{flex:1;min-width:260px}.pg-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.pg-actions .btn.active{background:var(--color-blue-tint);font-weight:700}.pg-team{margin:22px 0 10px;color:var(--color-orange-ink);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.pg-team:first-child{margin-top:0}.pg-project{border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:12px 14px;margin-bottom:12px;background:var(--color-surface)}.pg-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.pg-head a.pg-pdf{margin-left:auto;font-size:12px}.pg-bar-line{display:flex;align-items:center;gap:10px;margin-bottom:8px}.pg-track{flex:1;height:8px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);overflow:hidden;display:flex}.pg-track>span{display:block;height:100%}.pg-done{background:var(--color-success)}.pg-rest{background:var(--color-orange)}.pg-over{background:var(--color-danger)}.pg-label{font-size:12px;color:var(--color-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.pg-pct{padding:1px 6px;border-radius:4px}.pg-ok{background:var(--color-success-tint);color:var(--color-success)}.pg-warn{background:var(--color-orange-tint,var(--color-analytics-pipeline-wash-strong));color:var(--color-orange-ink)}.pg-bad{background:var(--color-danger-tint);color:var(--color-danger)}.pg-unlinked td{color:var(--color-muted);font-style:italic}.pg-unlinked-detail td{padding-left:26px;font-size:11px;color:var(--color-muted)}.pg-total td{background:var(--color-surface-alt);font-weight:700}.pg-overdue td{background:var(--color-danger-tint)}.tab-bar{display:flex;gap:4px;margin:0 0 14px;border-bottom:1px solid var(--color-line);flex-wrap:wrap}.tab-bar .tab{border:0;background:none;padding:9px 14px;font:inherit;font-weight:600;color:var(--color-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab-bar .tab.active{color:var(--color-navy-deep);border-bottom-color:var(--color-orange)}th.sortable{cursor:pointer;user-select:none}th.sortable:hover{background:var(--color-blue-tint)}th.sorted-asc::after{content:' ▲';font-size:9px}th.sorted-desc::after{content:' ▼';font-size:9px}#projects-table th[data-sort]{cursor:pointer;user-select:none;white-space:nowrap}#projects-table th[data-sort]:hover{background:var(--color-blue-tint)}#projects-table th.sorted-asc::after{content:' ▲';font-size:9px}#projects-table th.sorted-desc::after{content:' ▼';font-size:9px}.table-wrap{overflow-x:auto;overflow-y:visible}.clickable-row{cursor:pointer}.clickable-row:hover,.clickable-row:focus{background:var(--color-blue-tint);outline:none}.clickable-row td:first-child strong{text-decoration:underline;text-decoration-color:var(--color-line);text-underline-offset:3px}.detail-dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow: var(--elevation-detail-dialog);color:var(--color-ink)}.detail-dialog{width:min(1040px,calc(100vw - 28px))}.detail-card-form{margin-top:10px;padding:12px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-alt)}#delivery-project-sections table th,#delivery-project-sections table td{font-size:12px}#delivery-project-sections .detail-related{margin-top:14px}#rate-error,#finance-import-error,#agreement-error{margin-top:12px;padding:8px 12px;border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-tint);color:var(--color-danger);font-size:13px}#delivery-card-error{margin-top:12px;padding:8px 12px;border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-tint);color:var(--color-danger);font-size:13px}.detail-dialog::backdrop{background:var(--color-slate-overlay-medium)}.detail-head{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:18px 20px;border-bottom:1px solid var(--color-line)}.detail-head h2{margin:0;color:var(--color-navy-deep)}.detail-body{padding:20px}.detail-related{margin-top:8px;padding-top:14px;border-top:1px solid var(--color-line)}.detail-related h3{margin:0 0 8px;color:var(--color-navy-deep);font-size:13px}.detail-member-list{display:grid;gap:6px}.detail-member{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:9px 10px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit;text-align:left;cursor:pointer}.detail-member:hover,.detail-member:focus{background:var(--color-blue-tint);outline:none}.detail-member-main{display:grid;gap:2px;min-width:0}.detail-member-main .muted{overflow-wrap:anywhere}.detail-member-role{text-align:right}.detail-meta{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-line);overflow-wrap:anywhere}
}

/* ── Base ─────────────────────────────────────────────────────────────── */
* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-family); background: var(--bg); color: var(--txt); font-size: var(--font-size-base); line-height: var(--line-height-snug); }
a { color: var(--navy); }
code, pre, kbd, .mono { font-family: var(--font-family-mono); }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 1px; }
.prose, .readable-copy { max-inline-size: var(--layout-prose-width); line-height: var(--line-height-normal); }
.caption { font-size: var(--font-size-caption); line-height: var(--line-height-normal); }
.microcopy { font-size: var(--font-size-micro); line-height: var(--line-height-snug); }

/* ── Anonymous authentication shell ────────────────────────────────────
   Login, forgot-password and reset-password intentionally share this
   complete component. Their templates only provide semantic form structure;
   geometry, visual states and responsive behavior live here. */
.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: var(--space-5);
  background: var(--color-surface-alt);
  color: var(--color-ink-strong);
}
.auth-card {
  width: min(390px, 100%);
  padding: var(--space-8);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--elevation-md);
}
.auth-locales {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
  font-size: var(--font-size-sm);
}
.auth-locales a { color: var(--color-ink-soft); }
.auth-locales a:hover { color: var(--color-navy); }
.auth-locales a[aria-current="true"] {
  color: var(--color-ink-strong);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}
.auth-card > h1 {
  margin: 0 0 var(--space-2);
  color: var(--color-navy);
  font-size: var(--font-size-xl);
  line-height: var(--line-height-tight);
}
.auth-copy {
  margin: 0;
  color: var(--color-neutral-600);
  line-height: var(--line-height-normal);
}
.auth-form { display: grid; gap: var(--space-4); margin-top: var(--space-5); }
.auth-field { display: grid; gap: var(--space-2); }
.auth-field label {
  color: var(--color-ink-soft);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
}
.auth-form .auth-field input {
  width: 100%;
  height: var(--control-height-md);
  min-height: var(--control-height-md);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  padding: 0 var(--control-padding-inline);
  background: var(--color-surface);
  color: var(--color-ink-strong);
  font-family: inherit;
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  appearance: none;
}
.auth-form .auth-field input:focus-visible {
  outline: 2px solid transparent;
  border-color: var(--orange);
  box-shadow: var(--elevation-ring-accent);
}
.btn.auth-submit {
  width: 100%;
  min-height: var(--control-height-md);
  margin-top: var(--space-1);
  font-weight: var(--font-weight-bold);
}
.btn.auth-submit[aria-busy="true"] { opacity: .6; cursor: progress; }
.auth-message {
  min-height: var(--space-6);
  margin: 0;
  color: var(--color-danger);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}
.auth-message[data-state="success"] { color: var(--color-success-ink); }
.auth-message[data-state="error"] { color: var(--color-danger); }
.auth-secondary, .auth-back-link {
  display: block;
  margin: 0;
  text-align: center;
  color: var(--color-ink-soft);
  font-size: var(--font-size-sm);
}
.auth-secondary a, .auth-back-link { color: inherit; }
.auth-secondary a:hover, .auth-back-link:hover { color: var(--color-navy); }
.auth-back-link { margin-top: var(--space-2); }

@media (max-width: 480px) {
  .auth-page { align-items: start; padding: var(--space-4); }
  .auth-card { margin-top: var(--space-5); padding: var(--space-6); }
}

/* ── Header + nav (geometry asserted by tests/test_shared_header_layout.py) ── */
.hdr { background: var(--navy); color: var(--color-on-dark); border-bottom: 3px solid var(--gold); padding: 14px 28px; display: flex; align-items: center; gap: 16px; flex-wrap: nowrap; overflow: visible; position: sticky; top: 0; z-index: var(--z-sticky); }
.hdr h1 { margin: 0; font-size: 18px; font-weight: var(--font-weight-semibold); }
.hdr-brand {
  display: flex; flex-direction: column; flex: 0 1 clamp(220px, 24vw, 360px);
  width: clamp(220px, 24vw, 360px); min-width: 220px; line-height: 1.2;
}
.hdr .hdr-title { color: var(--color-on-dark); font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-height: 20px; }
.hdr .hdr-sub {
  color: var(--color-on-dark-faint); font-size: var(--font-size-xs);
  white-space: normal; overflow-wrap: anywhere;
}
.nav { margin-left: 0; flex: 1 1 0; min-width: 0; min-height: 30px; display: flex; align-items: center; gap: 2px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.nav::-webkit-scrollbar { display: none; }
.nav a { color: var(--color-on-dark-muted); text-decoration: none; font-size: 12px; padding: 5px 9px; border-radius: var(--radius-sm); white-space: nowrap; flex-shrink: 0; }
.nav a:hover { background: var(--color-on-dark-wash); color: var(--color-on-dark); }
.nav a.active { background: var(--orange); color: var(--color-on-dark); }
.nav-toggle { display: none; flex: 0 0 auto; width: 42px; height: 42px; padding: 0; align-items: center; justify-content: center; border: 1px solid var(--color-on-dark-line-strong); background: transparent; color: var(--color-on-dark); }
.nav-toggle:hover { background: var(--color-on-dark-wash); }
.nav-toggle-icon, .nav-toggle-icon::before, .nav-toggle-icon::after { display: block; width: 20px; height: 2px; border-radius: 1px; background: currentColor; transition: transform var(--motion-fast) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease); }
.nav-toggle-icon { position: relative; }
.nav-toggle-icon::before, .nav-toggle-icon::after { content: ""; position: absolute; left: 0; }
.nav-toggle-icon::before { top: -6px; }
.nav-toggle-icon::after { top: 6px; }
.hdr.nav-open .nav-toggle-icon { background: transparent; }
.hdr.nav-open .nav-toggle-icon::before { top: 0; transform: rotate(45deg); }
.hdr.nav-open .nav-toggle-icon::after { top: 0; transform: rotate(-45deg); }
.mobile-nav-backdrop { display: none; }
.mobile-nav-submenu { display: none; }
.language-switch { margin-left: auto; display: flex; align-items: center; gap: var(--space-2); color: var(--color-on-dark); font-size: 12px; }
.language-switch select { min-width: 92px; padding: 5px 7px; border: 1px solid var(--color-on-dark-line-strong); background: var(--color-surface); color: var(--color-ink); font: inherit; }
.header-search { flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; margin-left:auto; padding:5px 9px; border:1px solid var(--color-on-dark-line-strong); background:transparent; color:var(--color-on-dark); }
.header-search ~ .language-switch { margin-left:0; }
.header-search:hover { background:var(--color-on-dark-wash); }
.header-search-icon { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.nav .nav-icon { display: none; } /* icon-only rail is a "refreshed"-mode concept; Origineel stays text-only */
.hdr-account { position: relative; margin-left: var(--space-2); flex: 0 0 auto; } /* moved out of inline JS styling so "refreshed" can reposition it into the rail */
.hdr-actions { display: flex; align-items: center; gap: var(--space-2); } /* Shared capability-filtered create actions. No margin-left:auto: .header-search owns the push to the right-hand utility cluster. */
.hdr.hdr-secondary-open { z-index: var(--z-modal); }
.hdr-secondary-wrap { position: relative; }
.hdr-secondary-backdrop { position: fixed; inset: 0; z-index: calc(var(--z-dropdown) - 1); background: transparent; }
.hdr-secondary-menu { position: absolute; top: 100%; right: 0; margin-top: calc(var(--space-4) + 1px); width: max-content; min-width: 140px; max-width: min(180px, calc(100vw - 24px)); background: var(--color-surface); color: var(--color-ink); border: 1px solid var(--color-line); border-radius: var(--radius-sm); box-shadow: var(--elevation-md); padding: 4px; z-index: var(--z-dropdown); }
.hdr-secondary-menu-item { display: block; width: 100%; min-height: 34px; text-align: left; white-space: nowrap; background: transparent; border: 0; border-radius: var(--radius-sm); padding: 6px 9px; font: inherit; font-size: var(--font-size-sm); line-height: 1.2; color: inherit; cursor: pointer; }
.hdr-secondary-menu-item:hover { background: var(--color-surface-tint); }
.back-link { color: var(--color-on-dark-muted); text-decoration: none; font-size: var(--font-size-sm); padding: 5px 10px; border-radius: var(--radius-sm); border: 1px solid var(--color-on-dark-line); }
.back-link:hover { background: var(--color-on-dark-wash); color: var(--color-on-dark); }

/* Page-specific actions belong below the global navigation. This keeps the
   shared header stable and gives every module one predictable action zone. */
.page-toolbar { min-height: 52px; padding: var(--space-2) var(--space-6); display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; background: var(--color-surface); border-bottom: 1px solid var(--color-line); }
.page-toolbar-search { display: flex; align-items: center; gap: var(--space-2); flex: 1 1 320px; min-width: 0; }
.page-toolbar-actions { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin-left: auto; }
.inline-disclosure-button { min-width: 0; min-height: 32px; margin-left: var(--space-1); padding: 0 var(--space-1); display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 0; background: transparent; color: var(--color-orange); box-shadow: none; font: inherit; font-size: var(--font-size-xs); line-height: inherit; text-decoration: underline; text-underline-offset: 2px; vertical-align: middle; }
.inline-disclosure-button:hover { background: transparent; color: var(--color-navy); box-shadow: none; }
.inline-disclosure-button-muted { color: var(--color-muted); }

/* Ordered media editor and feed preview used by multi-image social posts. */
.media-carousel-editor {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-2);
}
.media-carousel-card {
  display: grid;
  gap: var(--space-2);
  align-content: start;
  padding: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface-alt);
}
.media-carousel-card .media-preview {
  width: 100%;
  max-width: none;
}
.media-carousel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.linkedin-carousel-preview {
  display: flex;
  gap: var(--space-2);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
}
.linkedin-carousel-slide {
  position: relative;
  flex: 0 0 100%;
  scroll-snap-align: start;
  background: var(--color-surface-sunken);
}
.linkedin-carousel-position {
  position: absolute;
  right: var(--space-3);
  bottom: var(--space-3);
  padding: var(--space-1) var(--space-2);
  border-radius: var(--radius-pill);
  background: var(--color-nav-material);
  color: var(--color-on-dark);
  font-size: var(--font-size-xs);
}

@media (max-width: 600px) {
  .page-toolbar { padding: var(--space-2) var(--space-3); align-items: stretch; }
  .page-toolbar-search, .page-toolbar-actions { width: 100%; flex-basis: 100%; }
  .page-toolbar-search > :first-child { flex: 1 1 auto; min-width: 0; }
  .page-toolbar-actions { margin-left: 0; }
  .page-toolbar-actions > :only-child { width: 100%; }
  body.standard-sales-workspace .inline-disclosure-button { min-width: var(--control-height-touch); min-height: var(--control-height-touch); padding: 0 var(--space-2); }
}

/* ── Error banner ─────────────────────────────────────────────────────── */
#error-banner { display: none; background: var(--color-danger-soft); color: var(--err); border-bottom: 1px solid var(--color-danger-line); padding: var(--space-2) var(--space-6); font-size: var(--font-size-sm); }
#error-banner.show { display: block; }

/* ── Workspace layout: sidebar + main ─────────────────────────────────── */
.layout { display: grid; grid-template-columns: var(--sidebar-width) 1fr; min-height: calc(100vh - 52px); }
.sidebar { background: var(--card); border-right: 1px solid var(--line); padding: var(--space-4) 0; overflow-y: auto; min-width: 0; max-width: 100%; }
.main { padding: var(--space-5) var(--space-6); overflow-y: auto; min-width: 0; }
.content { padding: var(--space-6); max-width: 1400px; margin: 0 auto; }
.screen { display: none; }
.screen.active { display: block; }
/* CRM screens reached from a host workspace (Sales/Marketing/Analytics/
   Platform Management) are embedded via iframe (crm.html?embed=1#<screen>)
   so the host's own sidebar/tab-bar never gets replaced by CRM's internal
   navigation -- see sales.html/analytics.html/content.html/admin.html. */
.crm-embed-frame { width: 100%; border: 0; display: block; height: 80vh; min-height: 560px; background: transparent; }
.sidebar-section { padding: 0 var(--space-4); margin-bottom: var(--space-5); }
.sidebar-label { font-size: var(--font-size-2xs); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); font-weight: var(--font-weight-semibold); margin-bottom: var(--space-2); padding: 0 var(--space-1); }
.sidebar-divider { height: 1px; background: var(--line); margin: var(--space-2) var(--space-4); }
.sidebar-item { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); padding: 7px var(--space-2); cursor: pointer; border-radius: var(--radius-sm); font-size: var(--font-size-sm); }
.sidebar a.sidebar-item { color: inherit; text-decoration: none; }
.sidebar a.sidebar-item.active { color: var(--blue); }
.sidebar-item:hover { background: var(--color-surface-sunken); }
.sidebar-item.active { background: var(--color-surface-tint); color: var(--blue); font-weight: var(--font-weight-semibold); }
.sidebar-item .count, .sidebar-item .cnt { margin-left: auto; font-size: var(--font-size-xs); background: var(--line); padding: 1px 6px; border-radius: var(--radius-pill); color: var(--muted); }
.sidebar-item.active .count, .sidebar-item.active .cnt { background: var(--color-info-soft); color: var(--blue); }
.sidebar-toggle { display: none; }
.sidebar-mobile-toggle { display: none; }
.pane-desc, .screen-desc { font-size: var(--font-size-sm); color: var(--muted); margin: -4px 0 var(--space-3); line-height: var(--line-height-normal); }

/* ── Management workspace contract ──────────────────────────────────────
   Admin owns the persistent left rail; Manage can also run as its embedded
   right-hand workspace. Keep page geometry and recurring management forms
   here so future management screens inherit the same spacing and controls. */
.management-workspace { min-width: 0; }
.management-workspace .management-main { width: 100%; max-width: 1400px; margin: 0 auto; padding: var(--space-6); }
.management-workspace.embedded-workspace .management-main,
html.embedded .management-workspace .management-main { max-width: none; margin: 0; }
.management-workspace .management-card { padding: var(--space-5); margin-bottom: var(--space-5); }
.management-workspace .management-card-description { margin: calc(-1 * var(--space-2)) 0 var(--space-4); color: var(--muted); font-size: var(--font-size-sm); line-height: var(--line-height-normal); }
.management-workspace :where(.management-card-actions, .actions) { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.management-workspace .job-actions { display: flex; align-items: center; align-content: center; gap: var(--space-1); flex-wrap: wrap; }
.management-workspace .management-card-actions--spaced { margin-top: var(--space-3); }
.management-workspace .management-header-action { margin-left: auto; }
.management-workspace :where(button, .btn) { min-height: var(--control-height-md); }
.management-workspace :where(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) { min-height: var(--control-height-md); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 6px 10px; font-size: var(--font-size-sm); font-family: inherit; background: var(--color-surface); color: var(--ink); }
.management-workspace .ai-notes textarea { min-height: var(--control-height-md); }
.management-workspace :where(.management-field, .field) { margin-bottom: var(--space-3); }
.management-workspace :where(.management-field, .field) > label { display: block; margin-bottom: var(--space-1); color: var(--muted); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); letter-spacing: .05em; text-transform: uppercase; }
.management-workspace :where(.management-field, .field) :where(input:not([type="checkbox"]), select, textarea) { width: 100%; }
.management-workspace input:read-only { opacity: .6; }
.management-workspace :where(.management-form-grid, .profile-grid) { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: var(--space-3) var(--space-4); }
.management-workspace :where(.management-form-grid, .profile-grid) > .wide { grid-column: 1 / -1; }
.management-workspace .management-form-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.management-workspace .management-inline-label { display: flex; align-items: center; gap: var(--space-2); color: var(--ink); letter-spacing: 0; text-transform: none; }
.management-workspace .management-inline-label--top { align-items: flex-start; }
.management-workspace .management-inline-label input[type="checkbox"] { width: auto; flex: 0 0 auto; }
.management-workspace .management-field-hint { margin-top: var(--space-1); color: var(--muted); font-size: var(--font-size-xs); }
.management-workspace .management-supporting-copy { margin: 0 0 var(--space-3); color: var(--muted); font-size: var(--font-size-sm); line-height: var(--line-height-normal); }
.management-workspace .management-section-head { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-2); }
.management-workspace .management-section-head h3 { margin: 0; color: var(--navy); font-size: var(--font-size-sm); }
.management-workspace .management-filter-input { min-width: 220px; }
.management-workspace .management-table-loading { padding: var(--space-5); color: var(--muted); text-align: center; }
.management-workspace .management-table-empty { padding: var(--space-5); color: var(--muted); text-align: center; }
.management-workspace .management-table-error { color: var(--red); }
.management-workspace .management-meta { color: var(--muted); font-size: var(--font-size-micro); }
.management-workspace .management-warning-meta { color: var(--yellow); font-size: var(--font-size-micro); }
.management-workspace .management-cell-caption { font-size: var(--font-size-caption); }
.management-workspace .management-cell-strong { font-weight: var(--font-weight-semibold); }
.management-workspace .management-cell-copy { max-width: 260px; font-size: var(--font-size-caption); }
.management-workspace .management-cell-copy-wide { max-width: 360px; font-size: var(--font-size-caption); line-height: 1.45; }
.management-workspace .management-muted { color: var(--muted); }
.management-workspace .management-subsection-title { margin: var(--space-5) 0 var(--space-2); font-size: var(--font-size-sm); }
.management-workspace .management-table-spaced { margin-bottom: var(--space-4); }
.management-workspace .management-modal-wide { width: min(980px, 94vw); max-height: 88vh; overflow: auto; }
.management-workspace .management-inline-summary { margin-top: var(--space-1); }
.management-workspace .management-compact-list { margin: var(--space-2) 0 0 var(--space-4); font-size: var(--font-size-caption); line-height: 1.7; }
.management-workspace .management-warning-copy { margin-top: var(--space-2); color: var(--yellow); font-size: var(--font-size-micro); }
.management-workspace .management-inline-spacer { margin-left: auto; }
.management-workspace .management-role-tag { margin-right: 3px; padding: 1px 5px; border-radius: var(--radius-xs); background: var(--color-neutral-100); font-size: var(--font-size-micro); }
.management-workspace .management-option-list { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); max-height: 140px; overflow: auto; padding: var(--space-1) 0; }
.management-workspace .management-scroll-medium { max-height: 460px; }
.management-workspace .management-scroll-compact { max-height: 360px; margin-bottom: var(--space-5); }
.management-workspace .management-modal-spacer { flex: 1; }
.management-workspace-frame { display: block; width: 100%; min-height: calc(100vh - 150px); border: 0; background: transparent; }

/* Platform Management shell. Legacy tab hooks remain for routing, while the
   visible information architecture is a persistent left rail. */
html:not(.sf-review-only) :is(#sf-review-card, #sf-leads-card, #sf-unassigned-opps-card) { display: none !important; }
html.sf-review-only :is(.hdr, .tabs, .footer) { display: none !important; }
html.sf-review-only .content { padding: 0 !important; }
html.sf-review-only .screen:not(#screen-integrations),
html.sf-review-only #screen-integrations > :not(#sf-panels-wrapper),
html.sf-review-only #sf-panels-wrapper > .card { display: none !important; }
html.sf-review-only.sf-review-accounts #sf-panels-wrapper > #sf-review-card,
html.sf-review-only.sf-review-leads #sf-panels-wrapper > #sf-leads-card,
html.sf-review-only.sf-review-opportunities #sf-panels-wrapper > #sf-unassigned-opps-card { display: block !important; margin-top: 0 !important; }
html.sf-review-only .management-admin-workspace .admin-layout { display: block; }

.management-admin-workspace .admin-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); min-height: calc(100vh - 58px); }
.management-admin-workspace .admin-layout > .content { width: 100%; min-width: 0; }
html.manage-screen-active .management-admin-workspace .admin-layout > .content { max-width: none; margin: 0; padding: 0; }
.management-admin-workspace .tabs { display: block; position: sticky; top: 58px; align-self: start; max-height: calc(100vh - 58px); padding: 18px 12px; overflow-y: auto; border: 0; border-right: 1px solid var(--line); background: var(--card); }
.management-admin-workspace .tab-group { display: block; margin: 0 0 18px; }
.management-admin-workspace .tab-group + .tab-group { border-left: 0; }
.management-admin-workspace .tab-group-label { min-height: 0; padding: 0 10px 7px; cursor: default; background: transparent; border: 0; }
.management-admin-workspace .tab-group-label-text { color: var(--muted); font-size: var(--font-size-2xs); line-height: 1; font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: .1em; white-space: nowrap; }
.management-admin-workspace .tab-group-label-text::after { content: none !important; }
.management-admin-workspace .tab-group-current { display: none !important; }
.management-admin-workspace :is(.tab-group-items, .tab-group.open .tab-group-items) { display: block; position: static; min-width: 0; padding: 0; border: 0; box-shadow: none; background: transparent; }
.management-admin-workspace :is(.nav-tab, .tab-group-items .nav-tab) { display: flex; justify-content: flex-start; width: 100%; min-height: var(--control-height-md); padding: var(--space-2) 10px; color: var(--muted); cursor: pointer; background: transparent; border-radius: var(--radius-sm); box-shadow: none !important; font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); line-height: 1; white-space: normal; transition: color var(--motion-fast), background-color var(--motion-fast); }
.management-admin-workspace .nav-tab:hover { color: var(--ink); background: var(--color-surface-sunken); }
.management-admin-workspace :is(.nav-tab.active, .tab-group-items .nav-tab.active) { color: var(--navy); background: var(--color-surface-alt); box-shadow: var(--elevation-inset-accent) !important; font-weight: var(--font-weight-semibold); }
.management-admin-workspace .admin-analytics-frame { display: block; width: 100%; min-height: 680px; border: 0; background: transparent; }
.management-admin-workspace .phase0-action-disabled { margin: 0; color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .log-box { max-height: 300px; overflow-y: auto; padding: var(--space-4); color: var(--color-success-soft); background: var(--color-neutral-900); border-radius: var(--radius-sm); font-family: var(--font-family-mono); font-size: var(--font-size-xs); white-space: pre-wrap; }
.management-admin-workspace :is(.content, .screen) { height: auto; max-height: none; overflow: visible; }
.management-admin-workspace .form-row { display: flex; align-items: center; gap: 10px; margin-bottom: var(--space-3); }
.management-admin-workspace .form-row label { min-width: 160px; color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .form-row :is(input, select) { flex: 1; max-width: 220px; }
.management-admin-workspace .form-row label.toggle { flex: 0 0 38px; min-width: 38px; }
.management-admin-workspace details > summary { display: flex; align-items: center; min-height: var(--control-height-touch); }
.management-admin-workspace details > summary::before { content: '\25B8'; flex: 0 0 auto; margin-right: 6px; color: var(--muted); }
.management-admin-workspace details[open] > summary::before { transform: rotate(90deg); }
.management-admin-workspace .integration-list { background: var(--card); border: 1px solid var(--line); }
.management-admin-workspace .integration-row + .integration-row { border-top: 1px solid var(--line); }
.management-admin-workspace .integration-row > summary { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(240px, 1.3fr) auto auto; align-items: center; gap: 14px; min-height: var(--control-height-touch); padding: var(--space-3) var(--space-4); cursor: pointer; list-style: none; }
.management-admin-workspace .integration-row > summary::-webkit-details-marker { display: none; }
.management-admin-workspace .integration-row > summary::before { content: none; }
.management-admin-workspace .integration-row > summary::after { content: '\203A'; color: var(--muted); font-size: var(--font-size-xl); line-height: 1; transition: transform var(--motion-fast) var(--motion-ease); }
.management-admin-workspace .integration-row[open] > summary::after { transform: rotate(90deg); }
.management-admin-workspace .integration-row-name { display: flex; align-items: center; gap: var(--space-2); min-width: 0; color: var(--ink); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); }
.management-admin-workspace :is(.integration-row-dot, .health-dot) { flex: 0 0 auto; width: 9px; height: 9px; border-radius: var(--radius-circle); }
.management-admin-workspace .integration-row-description { min-width: 0; overflow: hidden; color: var(--muted); font-size: var(--font-size-xs); white-space: nowrap; text-overflow: ellipsis; }
.management-admin-workspace .integration-row-status { font-size: var(--font-size-micro); font-weight: var(--font-weight-semibold); letter-spacing: var(--letter-spacing-caps); text-transform: uppercase; }
.management-admin-workspace .integration-row-body { padding: 2px var(--space-4) var(--space-4) 31px; border-top: 1px solid var(--color-surface-alt); }
.management-admin-workspace .health-dot { flex-shrink: 0; }
.management-admin-workspace .dot-fresh { background: var(--color-success); }
.management-admin-workspace .dot-stale { background: var(--color-warning); }
.management-admin-workspace .dot-old { background: var(--color-danger); }
.management-admin-workspace .dot-never { background: var(--color-muted-soft); }
.management-admin-workspace .sp-category-row td { padding: var(--space-2) 10px !important; color: var(--muted); background: var(--color-surface-alt); border-top: 1px solid var(--line); font-size: var(--font-size-2xs); font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: .08em; }
.management-admin-workspace .sp-workflow-desc { display: -webkit-box; max-width: 38rem; margin-top: 2px; overflow: hidden; color: var(--muted); font-size: var(--font-size-micro); font-weight: var(--font-weight-regular); overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.management-admin-workspace #jobs-table { width: 100%; min-width: 720px; table-layout: fixed; }
.management-admin-workspace #jobs-table :is(th, td):first-child { width: 42%; overflow-wrap: anywhere; word-break: break-word; }
.management-admin-workspace #jobs-table :is(th, td):last-child { width: 190px; }
.management-admin-workspace #jobs-table-wrap { max-height: min(620px, 65vh); overflow-y: auto; }
.management-admin-workspace :is(#job-detail-content, #job-detail-content .log-box) { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.management-admin-workspace .lab-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-4); }
.management-admin-workspace #queue-toggle-btn { min-width: 92px; margin-left: auto; visibility: hidden; }
.management-admin-workspace #queue-toggle-btn.is-ready { visibility: visible; }
.management-admin-workspace .service-status-kpis .v { font-size: var(--font-size-lg); line-height: 1.25; }
.management-admin-workspace .service-status-card h2 { font-size: var(--font-size-md); line-height: 1.35; }
.management-admin-workspace .campaign-worker-kpi.is-healthy { border-top-color: var(--color-success); }
.management-admin-workspace .campaign-worker-kpi.is-unhealthy { border-top-color: var(--color-danger); }
.management-admin-workspace .campaign-worker-heading { margin: 0; }
.management-admin-workspace .campaign-worker-heading.is-healthy { color: var(--color-success); }
.management-admin-workspace .campaign-worker-heading.is-unhealthy { color: var(--color-danger); }
.management-admin-workspace .campaign-worker-status { color: var(--muted); font-size: var(--font-size-sm); }
.management-admin-workspace .campaign-worker-meta { margin-top: var(--space-2); color: var(--muted); font-size: var(--font-size-sm); }
.management-admin-workspace .lab-metric { margin-bottom: var(--space-2); color: var(--navy); font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); }
.management-admin-workspace .lab-metric[data-status="healthy"] { color: var(--color-success); }
.management-admin-workspace .lab-metric[data-status="warning"] { color: var(--color-warning); }
.management-admin-workspace .lab-metric[data-status="critical"] { color: var(--color-danger); }
.management-admin-workspace .lab-controls label { display: flex; flex-direction: column; gap: var(--space-1); color: var(--muted); font-size: var(--font-size-sm); }
.management-admin-workspace .lab-controls input { width: 100px; }
.management-admin-workspace .access-grid { display: grid; grid-template-columns: minmax(320px, .8fr) minmax(420px, 1.2fr); gap: var(--space-4); }
.management-admin-workspace .access-grid-single { grid-template-columns: 1fr; }
.management-admin-workspace .access-subtabs { display: flex; flex-wrap: wrap; gap: 6px; margin: var(--space-3) 0 14px; }
.management-admin-workspace .access-form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.management-admin-workspace .access-form .full { grid-column: 1 / -1; }
.management-admin-workspace .access-required { color: var(--color-danger); font-weight: var(--font-weight-bold); }
.management-admin-workspace .access-caption { display: block; }
.management-admin-workspace .access-password-wrap { display: flex; align-items: center; gap: 6px; }
.management-admin-workspace .access-password-wrap input { flex: 1; }
.management-admin-workspace .access-eye { padding: 6px 8px; color: var(--ink); cursor: pointer; background: var(--stripe); border: 1px solid var(--line); font-size: var(--font-size-base); line-height: 1; }
.management-admin-workspace :is(.access-eye.on, .access-subtab.active) { color: var(--color-on-dark); background: var(--navy); }
.management-admin-workspace .access-form label { display: flex; flex-direction: column; gap: var(--space-1); color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .access-form :is(input, textarea) { width: 100%; }
.management-admin-workspace .access-form-intro { margin: -4px 0 var(--space-3); color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .access-invite-row { display: flex; flex-direction: row !important; align-items: flex-start; gap: var(--space-2); }
.management-admin-workspace .access-invite-row input[type="checkbox"] { flex: none; width: auto; }
.management-admin-workspace .access-checkbox-offset { margin-top: 3px; }
.management-admin-workspace .access-helper-inline { color: var(--muted); font-size: 11.5px; font-weight: var(--font-weight-regular); }
.management-admin-workspace .access-error-note { color: var(--color-danger); font-size: 11.5px; }
.management-admin-workspace .access-summary { cursor: pointer; font-size: 12.5px; font-weight: var(--font-weight-semibold); }
.management-admin-workspace .access-summary-count { color: var(--muted); font-weight: var(--font-weight-regular); }
.management-admin-workspace .access-group-copy { margin: -2px 0 10px; color: var(--muted); font-size: var(--font-size-micro); }
.management-admin-workspace details.access-group .access-group-copy { margin-top: 6px; }
.management-admin-workspace .access-inherited-section { margin-bottom: var(--space-2); }
.management-admin-workspace .access-inherited-label { display: block; margin-bottom: var(--space-1); color: var(--muted); font-size: var(--font-size-micro); }
.management-admin-workspace .access-chip-list { display: flex; flex-wrap: wrap; gap: 6px; }
.management-admin-workspace .access-recipient-hint { color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .access-inline-check { flex-direction: row !important; align-items: center; }
.management-admin-workspace .access-inline-check input[type="checkbox"] { width: auto; }
.management-admin-workspace .access-role-active { align-self: end; }
.management-admin-workspace .access-subheading-spaced { margin-top: 14px; }
.management-admin-workspace .access-form-spaced { margin-top: var(--space-2); }
.management-admin-workspace .access-add-action { align-self: end; }
.management-admin-workspace .access-locked-note { color: var(--muted); font-size: var(--font-size-micro); }
.management-admin-workspace .access-checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 7px var(--space-3); }
.management-admin-workspace .access-checks label { display: flex; flex-direction: row; align-items: flex-start; gap: 7px; color: var(--ink); }
.management-admin-workspace .access-checks input[type="checkbox"] { flex: none; width: auto; }
.management-admin-workspace .access-group { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.management-admin-workspace .access-group h3 { margin-bottom: 7px; color: var(--navy); font-size: var(--font-size-xs); }
.management-admin-workspace .access-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.management-admin-workspace .role-chip { display: inline-flex; margin: 2px 3px 2px 0; padding: 2px 7px; background: var(--color-surface-alt); border: 1px solid var(--line); font-size: var(--font-size-micro); }
.management-admin-workspace .toast { position: fixed; right: var(--space-6); bottom: var(--space-6); z-index: var(--z-toast); padding: 10px 18px; color: var(--color-on-dark); pointer-events: none; opacity: 0; background: var(--navy); border-radius: var(--radius-sm); font-size: var(--font-size-sm); transition: opacity var(--motion-base); }
.management-admin-workspace .toast.show { opacity: 1; }
.management-admin-workspace .sf-auto-panel { margin: 0 0 var(--space-3); padding: 10px var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: var(--font-size-sm); }
.management-admin-workspace .sf-auto-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.management-admin-workspace .sf-auto-text { margin-top: 6px; color: var(--muted); }
.management-admin-workspace .admin-card-spaced { margin-top: var(--space-4); }
.management-admin-workspace .admin-supporting-copy { margin-bottom: 10px; color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-supporting-copy-roomy { margin: var(--space-1) 0 var(--space-3); color: var(--muted); font-size: var(--font-size-sm); }
.management-admin-workspace .admin-inline-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); }
.management-admin-workspace .admin-inline-actions-spaced { margin-top: 10px; }
.management-admin-workspace .admin-bulk-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: var(--space-2); font-size: var(--font-size-sm); }
.management-admin-workspace .admin-compact-button { padding: var(--space-1) var(--space-2); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-hidden { display: none; }
.management-admin-workspace .admin-button-muted { background: var(--muted); }
.management-admin-workspace .admin-details { margin-top: var(--space-3); }
.management-admin-workspace .admin-details > summary { cursor: pointer; font-size: var(--font-size-sm); }
.management-admin-workspace .admin-details-copy { margin: var(--space-2) 0; color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-details-steps { margin: 0 0 10px 18px; color: var(--muted); font-size: var(--font-size-xs); line-height: 1.6; }
.management-admin-workspace .admin-credentials-grid { display: grid; gap: 6px; max-width: 440px; }
.management-admin-workspace .admin-credentials-grid input { min-height: var(--control-height-md); }
.management-admin-workspace .admin-result { min-height: 18px; margin-top: 6px; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-related-panel { display: none; margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--line); }
.management-admin-workspace .admin-kpi-warning { color: var(--color-warning); }
.management-admin-workspace .admin-header-action { margin-left: auto; }
.management-admin-workspace .admin-source-modal { width: min(540px, 95vw); max-height: 90vh; padding: 28px; }
.management-admin-workspace .admin-modal-title { margin: 0 0 18px; color: var(--navy); }
.management-admin-workspace .admin-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.management-admin-workspace .admin-form-grid .full { grid-column: 1 / -1; }
.management-admin-workspace .admin-field-label { display: block; margin-bottom: var(--space-1); color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-form-grid :where(input:not([type="checkbox"]), select) { width: 100%; }
.management-admin-workspace .admin-checkbox-row { display: flex; align-items: center; gap: var(--space-2); grid-column: 1 / -1; }
.management-admin-workspace .admin-checkbox-row label { font-size: var(--font-size-sm); }
.management-admin-workspace .admin-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: var(--space-5); }
.management-admin-workspace .admin-filter-search { min-width: 200px; }
.management-admin-workspace .admin-alert-banner { display: flex; align-items: center; flex-wrap: wrap; gap: 10px var(--space-4); margin-bottom: var(--space-4); padding: 10px var(--space-4); color: var(--ink); background: var(--color-warning-soft); border: 1px solid var(--color-warning); border-radius: var(--radius-sm); }
.management-admin-workspace .admin-alert-icon { font-size: var(--font-size-lg); }
.management-admin-workspace .admin-alert-detail { flex: 1; min-width: 260px; font-size: var(--font-size-sm); }
.management-admin-workspace .admin-button-success { background: var(--color-success); }
.management-admin-workspace .admin-kpi-action { color: inherit; text-align: left; cursor: pointer; }
.management-admin-workspace .admin-kpi-action :is(.v, .l) { display: block; }
.management-admin-workspace .admin-section-title { margin: 0; }
.management-admin-workspace .management-section-head .admin-section-title { color: var(--navy); font-size: var(--font-size-md); }
.management-admin-workspace .admin-compact-select { padding: 2px 6px; font-size: var(--font-size-sm); }
.management-admin-workspace .admin-inline-check { display: flex; align-items: center; gap: 5px; color: var(--muted); cursor: pointer; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-enqueue-form { margin-bottom: var(--space-4); padding: var(--space-4); background: var(--color-surface-alt); border: 1px solid var(--line); }
.management-admin-workspace .admin-enqueue-form h3 { margin-bottom: var(--space-3); }
.management-admin-workspace .admin-job-detail-title { display: flex; align-items: center; gap: 6px; }
.management-admin-workspace .admin-system-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-5); margin-bottom: var(--space-5); }
.management-admin-workspace .admin-card-flush { margin-bottom: 0; }
.management-admin-workspace .admin-description-tight { margin: -6px 0 var(--space-4); color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-inline-message { min-height: 16px; margin: 2px 0 10px; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-inline-message-last { min-height: 16px; margin-top: 2px; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-divider-section { margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--line); }
.management-admin-workspace .admin-divider-section-compact { margin: 14px 0 10px; padding-top: var(--space-3); border-top: 1px solid var(--line); }
.management-admin-workspace .admin-eyebrow { margin-bottom: 10px; color: var(--muted); font-size: var(--font-size-micro); font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: .05em; }
.management-admin-workspace .admin-input-80 { width: 80px; }
.management-admin-workspace .admin-input-90 { width: 90px; }
.management-admin-workspace .admin-input-100 { width: 100px; }
.management-admin-workspace .admin-warning-box { margin-top: var(--space-2); padding: var(--space-2) 10px; color: var(--color-warning-ink); background: var(--color-warning-tint); border: 1px solid var(--color-warning-line); border-radius: var(--radius-sm); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-wave-title { margin-bottom: 6px; color: var(--navy); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); }
.management-admin-workspace .admin-wave-meta { color: var(--muted); font-weight: var(--font-weight-regular); }
.management-admin-workspace .admin-wave-list { display: flex; align-content: flex-start; flex-wrap: wrap; gap: 6px; max-height: 180px; overflow-y: auto; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-wave-chip { padding: 2px 10px; background: var(--stripe); border: 1px solid var(--line); border-radius: var(--radius-pill); }
.management-admin-workspace .admin-status-bar { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-3); padding: var(--space-2) var(--space-3); background: var(--stripe); border: 1px solid var(--line); border-radius: var(--radius-md); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-section-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.management-admin-workspace .admin-section-heading-actions { display: flex; align-items: center; gap: 10px; }
.management-admin-workspace .admin-subtitle { color: var(--navy); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }
.management-admin-workspace .admin-subtitle-copy { margin-top: 2px; color: var(--muted); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-table-spaced { margin-top: var(--space-2); }
.management-admin-workspace .admin-explanation > summary { color: var(--navy); cursor: pointer; font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); user-select: none; }
.management-admin-workspace .admin-explanation-body { margin-top: 10px; color: var(--txt); font-size: var(--font-size-xs); line-height: 1.7; }
.management-admin-workspace .admin-explanation-body p { margin: 0 0 var(--space-2); }
.management-admin-workspace .admin-explanation-body p:last-child { margin-bottom: 0; }
.management-admin-workspace .admin-policy-help { margin-bottom: var(--space-2); color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-policy-note { margin-bottom: var(--space-3); padding: 9px var(--space-3); background: var(--color-surface-sunken); border: 1px solid var(--line); border-radius: var(--radius-md); font-size: var(--font-size-xs); line-height: 1.6; }
.management-admin-workspace .admin-chart-meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-card-description { margin-bottom: var(--space-3); color: var(--muted); font-size: var(--font-size-sm); }
.management-admin-workspace .admin-selection-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: var(--space-3); }
.management-admin-workspace .admin-select-column { width: 42px; }
.management-admin-workspace .admin-run-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.management-admin-workspace .admin-summary-row { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-bottom: 14px; }
.management-admin-workspace .admin-output { max-height: 250px; margin-top: var(--space-3); overflow: auto; padding: 10px; white-space: pre-wrap; background: var(--color-surface-alt); border: 1px solid var(--line); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-table-placeholder { color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-section-context { margin-bottom: var(--space-3); color: var(--muted); font-size: var(--font-size-sm); }
.management-admin-workspace .admin-heading-note { color: var(--muted); font-size: var(--font-size-xs); font-weight: var(--font-weight-regular); }
.management-admin-workspace .admin-card-intro { margin: -8px 0 var(--space-3); color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: var(--space-3); }
.management-admin-workspace .admin-toolbar-meta { color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-module-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 10px 0; border-top: 1px solid var(--line); font-size: var(--font-size-sm); }
.management-admin-workspace .admin-state-dot { display: inline-block; width: 10px; height: 10px; margin-right: 6px; vertical-align: middle; background: var(--color-neutral-300); border-radius: 50%; }
.management-admin-workspace .admin-state-dot.is-active { background: var(--color-success); }
.management-admin-workspace :is(.admin-message-success, .admin-text-success) { color: var(--color-success); }
.management-admin-workspace :is(.admin-message-error, .admin-text-danger) { color: var(--color-danger); }
.management-admin-workspace .admin-text-success-line { color: var(--color-success-line); }
.management-admin-workspace .admin-text-danger-line { color: var(--color-danger-line); }
.management-admin-workspace .admin-health-segment { margin-bottom: var(--space-4); }
.management-admin-workspace .admin-health-segment-title { margin-bottom: var(--space-2); padding: 6px 0; color: var(--navy); border-bottom: 2px solid var(--gold); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }
.management-admin-workspace .admin-health-count { color: var(--muted); font-size: var(--font-size-xs); font-weight: var(--font-weight-regular); }
.management-admin-workspace .admin-health-country { margin: 0 0 var(--space-2) var(--space-3); }
.management-admin-workspace .admin-health-country-title { margin-bottom: 3px; padding: 3px 0; color: var(--muted); border-bottom: 1px solid var(--line); font-size: var(--font-size-micro); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: .05em; }
.management-admin-workspace .admin-health-account { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); }
.management-admin-workspace .admin-health-account:hover { background: var(--stripe); }
.management-admin-workspace .admin-health-name { flex: 1; font-size: var(--font-size-sm); }
.management-admin-workspace .admin-health-name a { color: inherit; }
.management-admin-workspace .admin-health-stat { color: var(--muted); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-health-stat-spaced { margin-left: 6px; }
.management-admin-workspace .admin-health-scan { padding: 2px var(--space-2); background: var(--muted); font-size: 10px; }
.management-admin-workspace .admin-empty-copy { padding: var(--space-2) 0; color: var(--muted); font-size: var(--font-size-sm); }
.management-admin-workspace .admin-cell-meta { color: var(--muted); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-cell-mono { font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-cell-center { text-align: center; }
.management-admin-workspace .admin-quota-alert { display: flex; align-items: flex-start; gap: 10px 14px; margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); color: var(--ink); background: var(--yellow-bg); border: 1px solid var(--orange); border-radius: var(--radius-sm); }
.management-admin-workspace .admin-quota-icon { font-size: var(--font-size-lg); line-height: 1.2; }
.management-admin-workspace .admin-quota-content { flex: 1; min-width: 0; }
.management-admin-workspace .admin-quota-title { margin-bottom: 3px; font-weight: var(--font-weight-bold); }
.management-admin-workspace .admin-quota-detail { font-size: var(--font-size-sm); }
.management-admin-workspace .admin-quota-seen { margin-top: 3px; color: var(--muted); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-modal-overlay { position: fixed; inset: 0; z-index: var(--z-modal, 10000); display: flex; align-items: center; justify-content: center; padding: var(--space-5); background: var(--color-slate-overlay-heavy); }
.management-admin-workspace .admin-cap-panel { width: min(460px, 100%); padding: var(--space-5); color: var(--ink); background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--elevation-admin-modal); }
.management-admin-workspace .admin-cap-title { margin: 0 0 6px; }
.management-admin-workspace .admin-cap-help { margin: 0 0 14px; color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-cap-label { display: block; margin-bottom: var(--space-1); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-cap-input { box-sizing: border-box; width: 100%; margin-bottom: 10px; }
.management-admin-workspace .admin-cap-error { min-height: 18px; color: var(--red); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-cap-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: 10px; }
.management-admin-workspace .admin-job-row-failed { background: var(--color-danger-tint); }
.management-admin-workspace .admin-job-row-new { background: var(--color-success-tint); }
.management-admin-workspace .admin-link-button { text-decoration: none; }
.management-admin-workspace .admin-attempt { margin-bottom: var(--space-3); }
.management-admin-workspace .admin-attempt-meta { margin-left: var(--space-2); color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-budget-warning { margin-top: var(--space-2); padding: var(--space-2) var(--space-3); color: var(--color-warning-ink); background: var(--color-warning-soft); border-radius: var(--radius-md); font-size: var(--font-size-sm); }
.management-admin-workspace .admin-log-spaced { margin-top: var(--space-2); }
.management-admin-workspace .admin-job-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); margin-bottom: var(--space-4); font-size: var(--font-size-sm); }
.management-admin-workspace .admin-detail-label { color: var(--muted); }
.management-admin-workspace .admin-detail-code { font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-attempts-title { margin-bottom: 10px; }
.management-admin-workspace .admin-text-muted { color: var(--muted); }
.management-admin-workspace .admin-text-warning { color: var(--color-warning); }
.management-admin-workspace .admin-state-strong { font-weight: var(--font-weight-bold); }
.management-admin-workspace .admin-entity-kind { color: var(--muted); font-size: 10px; }
.management-admin-workspace .admin-reason-cell { font-size: var(--font-size-micro); }
.management-admin-workspace .sp-frequency { min-width: 165px; padding: 5px 7px; border: 1px solid var(--line); }
.management-admin-workspace .admin-row-suppressed { opacity: .55; }
.management-admin-workspace .admin-workflow-cell { font-size: var(--font-size-xs); }
.management-admin-workspace .admin-suppressed-mark { color: var(--muted); font-size: 10px; }
.management-admin-workspace .admin-planning-cell { color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-burn-chart { display: flex; align-items: flex-end; gap: 2px; height: 80px; }
.management-admin-workspace .admin-burn-column { display: flex; flex: 1; flex-direction: column; align-items: center; max-width: 52px; }
.management-admin-workspace .admin-burn-bar-wrap { display: flex; flex: 1; align-items: flex-end; width: 100%; }
.management-admin-workspace .admin-burn-svg { width: 100%; height: 76px; }
.management-admin-workspace .admin-burn-bar { fill: var(--navy); opacity: .8; }
.management-admin-workspace .admin-burn-bar.is-today { fill: var(--orange); }
.management-admin-workspace .admin-burn-label { height: 24px; margin-top: 2px; color: var(--muted); font-size: 9px; writing-mode: vertical-rl; transform: rotate(180deg); }
.management-admin-workspace .admin-result-placeholder { color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-result-error { color: var(--color-danger); }
.management-admin-workspace .admin-test-name { max-width: 420px; font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--font-size-micro); word-break: break-all; }
.management-admin-workspace .admin-test-class { color: var(--muted); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-test-outcome { color: var(--muted); font-weight: var(--font-weight-semibold); }
.management-admin-workspace .admin-test-outcome.is-passed { color: var(--green); }
.management-admin-workspace .admin-test-outcome.is-failed { color: var(--color-danger); }
.management-admin-workspace .admin-test-captured { margin-top: 2px; color: var(--color-ink-soft); font-size: 10px; font-weight: var(--font-weight-regular); }
.management-admin-workspace .admin-test-error { max-height: 120px; margin-top: var(--space-1); overflow: auto; color: var(--color-danger-ink); font-size: 10px; white-space: pre-wrap; }
.management-admin-workspace .admin-backup-name { font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-backup-date { font-size: var(--font-size-xs); }
.management-admin-workspace .admin-inline-dot { display: inline-block; margin-right: 7px; }
.management-admin-workspace .admin-inline-dot.is-active { background: var(--color-success); }
.management-admin-workspace .admin-inline-dot.is-muted { background: var(--color-muted); }
.management-admin-workspace .admin-inline-dot.is-error { background: var(--color-danger); }
.management-admin-workspace .admin-account-label { margin-left: 6px; font-size: var(--font-size-sm); }
.management-admin-workspace .admin-badge-spaced { margin-left: 6px; }
.management-admin-workspace .admin-auth-instruction { margin-top: var(--space-2); font-size: var(--font-size-sm); }
.management-admin-workspace .admin-auth-code { padding: 2px var(--space-2); background: var(--stripe); font-size: var(--font-size-base); font-weight: var(--font-weight-bold); }
.management-admin-workspace .admin-status-error { color: var(--color-danger); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-artifact-meta { color: var(--muted); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-artifact-file { font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-artifact-preview { max-width: 200px; overflow: hidden; color: var(--muted); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-button-accept { background: var(--green); }
.management-admin-workspace .admin-button-reject { background: var(--muted); }
.management-admin-workspace .admin-slug-cell { color: var(--muted); font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-slug-cell.is-discrepant { color: var(--orange); }
.management-admin-workspace .admin-compact-action { padding: var(--space-1) var(--space-2); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-empty-row { color: var(--muted); text-align: center; }
.management-admin-workspace .admin-service-kpi.is-ok { border-top-color: var(--color-success); }
.management-admin-workspace .admin-service-kpi.is-error { border-top-color: var(--color-danger); }
.management-admin-workspace .admin-service-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-2); }
.management-admin-workspace .admin-service-title { margin: 0; color: var(--color-danger); }
.management-admin-workspace .admin-service-title.is-ok { color: var(--color-success); }
.management-admin-workspace .admin-service-log { max-height: 200px; font-size: var(--font-size-micro); }
.management-admin-workspace .admin-service-row { display: flex; justify-content: space-between; gap: var(--space-3); padding: var(--space-2) 0; border-top: 1px solid var(--line); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-service-message { margin-left: 6px; color: var(--muted); }
.management-admin-workspace .admin-load-error { color: var(--color-danger); }
.management-admin-workspace .admin-secret-row { padding: var(--space-3) 0; border-top: 1px solid var(--line); }
.management-admin-workspace .admin-secret-heading { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-1); }
.management-admin-workspace .admin-secret-dot { display: inline-block; width: 9px; height: 9px; background: var(--color-muted-soft); border-radius: 50%; }
.management-admin-workspace .admin-secret-dot.is-present { background: var(--color-success); }
.management-admin-workspace .admin-secret-name { font-size: var(--font-size-sm); }
.management-admin-workspace .admin-secret-status { color: var(--muted); font-size: 11.5px; }
.management-admin-workspace .admin-secret-purpose { margin-bottom: 3px; color: var(--text); font-size: 11.5px; }
.management-admin-workspace .admin-secret-hint { margin-bottom: var(--space-2); color: var(--muted); font-size: 11.5px; }
.management-admin-workspace .admin-secret-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); }
.management-admin-workspace .admin-secret-input { flex: 1; min-width: 260px; font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-secret-source { color: var(--muted); font-size: 11.5px; }
.management-admin-workspace .admin-secret-message { margin-top: 6px; font-size: 11.5px; }
.management-admin-workspace .admin-pagination-row { display: flex; align-items: center; gap: var(--space-2); margin-top: var(--space-2); }
.management-admin-workspace .admin-integration-entry { display: grid; grid-template-columns: 14px 1fr auto; align-items: start; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.management-admin-workspace .admin-integration-entry .integration-row-dot { margin-top: var(--space-1); background: var(--color-muted-soft); }
.management-admin-workspace .admin-integration-entry .integration-row-dot.is-good { background: var(--color-success); }
.management-admin-workspace .admin-integration-entry .integration-row-dot.is-error { background: var(--color-danger); }
.management-admin-workspace .admin-integration-meta { margin-top: 3px; color: var(--muted); font-size: 11.5px; }
.management-admin-workspace .admin-integration-status { color: var(--color-muted-soft); text-align: right; }
.management-admin-workspace .admin-integration-status.is-good { color: var(--color-success); }
.management-admin-workspace .admin-integration-status.is-error { color: var(--color-danger); }
.management-admin-workspace .admin-integration-progress { margin-top: 10px; padding: var(--space-2) 10px; background: var(--stripe); border: 1px solid var(--line); font-size: 12.5px; }
.management-admin-workspace .admin-integration-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: 10px; }
.management-admin-workspace .admin-integration-help { margin: 10px 0 0; color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-integration-details { margin-top: 6px; }
.management-admin-workspace .admin-integration-details > summary { cursor: pointer; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-integration-steps { margin: var(--space-2) 0 0 18px; color: var(--muted); font-size: var(--font-size-xs); line-height: 1.6; }
.management-admin-workspace .admin-open-items { margin-top: 3px; color: var(--orange); font-size: var(--font-size-micro); }
.management-admin-workspace .admin-disconnect-action { margin-top: 6px; }
.management-admin-workspace .admin-pending-badge { margin-left: 6px; }
.management-admin-workspace .integration-row-dot.is-good { background: var(--color-success); }
.management-admin-workspace .integration-row-dot.is-error { background: var(--color-danger); }
.management-admin-workspace .integration-row-dot.is-muted { background: var(--color-muted-soft); }
.management-admin-workspace .integration-row-status.is-good { color: var(--color-success); }
.management-admin-workspace .integration-row-status.is-error { color: var(--color-danger); }
.management-admin-workspace .integration-row-status.is-muted { color: var(--color-muted-soft); }
.management-admin-workspace .admin-connector-copy { margin: var(--space-1) 0 10px; color: var(--muted); font-size: 12.5px; }
.management-admin-workspace .admin-connector-meta { margin-bottom: 10px; color: var(--muted); font-size: 11.5px; }
.management-admin-workspace .admin-connector-label { margin-bottom: var(--space-1); font-size: 12.5px; font-weight: var(--font-weight-semibold); }
.management-admin-workspace .admin-connector-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.management-admin-workspace .admin-connector-controls.is-tight { margin-bottom: 6px; }
.management-admin-workspace .admin-connector-controls > input:not([type="checkbox"]) { flex: 1; min-width: 220px; }
.management-admin-workspace .admin-connector-field { padding: 6px var(--space-2); border: 1px solid var(--line); font-size: 12.5px; }
.management-admin-workspace .admin-connector-result { margin-bottom: 10px; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-connector-result:empty { margin-bottom: 0; }
.management-admin-workspace .admin-connector-result-spaced { margin-top: var(--space-2); }
.management-admin-workspace .admin-checkbox-line { display: flex; align-items: center; gap: var(--space-2); margin-bottom: 6px; font-size: 12.5px; }
.management-admin-workspace .admin-checkbox-line.is-disabled { opacity: .6; }
.management-admin-workspace .admin-connector-hint { margin-bottom: var(--space-2); color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-credential-summary { margin-bottom: 10px; color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-connector-cadence { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); margin-bottom: 10px; font-size: 12.5px; }
.management-admin-workspace .admin-connector-cadence input { width: 64px; }
.management-admin-workspace .admin-connector-form { display: grid; gap: 6px; max-width: 440px; }
.management-admin-workspace .admin-connector-form .btn { justify-self: start; }
.management-admin-workspace .admin-status-message { font-size: var(--font-size-xs); }
.management-admin-workspace .admin-status-message.is-success { color: var(--color-success); }
.management-admin-workspace .admin-status-message.is-warning { color: var(--color-warning); }
.management-admin-workspace .admin-status-message.is-danger { color: var(--color-danger); }
.management-admin-workspace .admin-status-message.is-muted { color: var(--muted); }
.management-admin-workspace .admin-status-summary { margin-bottom: 6px; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-status-summary.is-success { color: var(--color-success); }
.management-admin-workspace .admin-status-summary.is-warning { color: var(--color-warning); }
.management-admin-workspace .admin-status-summary.is-danger { color: var(--color-danger); }
.management-admin-workspace .admin-status-summary.is-muted { color: var(--muted); }
.management-admin-workspace .admin-compact-table { width: 100%; border-collapse: collapse; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-compact-table th { color: var(--muted); text-align: left; }
.management-admin-workspace .admin-review-meta { color: var(--muted); font-size: 11px; }
.management-admin-workspace .admin-review-suggestion { font-size: var(--font-size-xs); }
.management-admin-workspace .admin-review-select { max-width: 220px; padding: 3px 6px; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-review-select.is-narrow { max-width: 200px; }
.management-admin-workspace .admin-review-input { max-width: 180px; padding: 3px 6px; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-row-actions { white-space: nowrap; }
.management-admin-workspace .admin-row-actions .btn { padding: var(--space-1) var(--space-2); font-size: 11px; }
.management-admin-workspace .admin-review-row-warning { background: var(--color-warning-tint); }
.management-admin-workspace .admin-review-warning { color: var(--color-warning); font-size: 10px; font-weight: var(--font-weight-semibold); }
.management-admin-workspace .admin-review-description { max-width: 260px; color: var(--muted); font-size: 11px; white-space: normal; }
.management-admin-workspace .admin-decision-badge { padding: 2px 6px; color: var(--color-success-ink); background: var(--color-success-soft); border-radius: var(--radius-sm); font-size: 11px; }
.management-admin-workspace .admin-decision-badge.is-ignored { color: var(--color-muted); background: var(--color-neutral-100); }
.management-admin-workspace .admin-cell-compact { font-size: var(--font-size-xs); }
.management-admin-workspace .admin-cell-meta { color: var(--muted); font-size: 11px; }
.management-admin-workspace .admin-relation-line { margin-bottom: var(--space-1); }
.management-admin-workspace .admin-related-panel.is-visible { display: block; }
.management-admin-workspace .admin-related-heading { margin-bottom: var(--space-2); font-size: var(--font-size-sm); }
.management-admin-workspace .admin-related-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 6px; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-related-table { width: 100%; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-select-cell { width: 20px; }
.management-admin-workspace .admin-stewardship-summary { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) 0; }
.management-admin-workspace .admin-stewardship-count { padding: 6px 14px; color: var(--green); background: var(--green-bg); font-size: var(--font-size-base); }
.management-admin-workspace .admin-stewardship-count.has-items { color: var(--orange); background: var(--yellow-bg); }
.management-admin-workspace .admin-stewardship-label { font-size: var(--font-size-sm); }
.management-admin-workspace .admin-stewardship-action { margin-left: auto; text-decoration: none; }
.management-admin-workspace .admin-critical-value { color: var(--red); font-weight: var(--font-weight-semibold); }
.management-admin-workspace .admin-merge-message { font-weight: var(--font-weight-semibold); }
.management-admin-workspace .admin-merge-message.is-success { color: var(--green); }
.management-admin-workspace .admin-merge-message.is-error { color: var(--red); }
.management-admin-workspace .admin-merge-error-cell { padding: 10px; color: var(--red); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-merge-preview-table { width: auto; margin: 6px 0; font-size: var(--font-size-xs); }
.management-admin-workspace .admin-merge-preview-key { padding: 2px var(--space-3) 2px 0; font-family: var(--font-mono, ui-monospace, monospace); }
.management-admin-workspace .admin-merge-preview-value { padding: 2px 0; }
.management-admin-workspace .admin-merge-note { margin: 6px 0; color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-merge-note.is-warning { color: var(--yellow); }
.management-admin-workspace .admin-merge-note.is-error { color: var(--red); }
.management-admin-workspace .admin-merge-preview-cell { padding: var(--space-3) var(--space-4); background: var(--stripe); }
.management-admin-workspace .admin-merge-preview-summary { margin-bottom: var(--space-1); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-mono { font-family: var(--font-mono, ui-monospace, monospace); }
.management-admin-workspace .admin-mono-cell { font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-mono-cell.is-small { font-size: 11px; }
.management-admin-workspace .admin-access-empty { color: var(--muted); font-size: var(--font-size-xs); }
.management-admin-workspace .admin-report-default-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); padding: 6px 0; border-bottom: 1px solid var(--line); }
.management-admin-workspace .admin-report-default-copy { font-size: var(--font-size-xs); }
.management-admin-workspace .admin-report-default-scope { color: var(--muted); }
.management-admin-workspace .admin-report-default-actions { display: flex; align-items: center; gap: var(--space-2); }
.management-admin-workspace .admin-access-meta { color: var(--muted); font-size: 11px; }
.management-admin-workspace .admin-access-meta.is-small { font-size: 10px; }

@media (max-width: 900px) {
  .management-admin-workspace .admin-layout { display: block; }
  .management-admin-workspace .tabs { display: none; position: static; max-height: none; overflow: visible; }
  .management-admin-workspace .content { padding: var(--space-4); }
  .management-admin-workspace .card { padding: var(--space-4); }
  .management-admin-workspace :is(#screen-system, #job-detail-content) > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .management-admin-workspace .form-row { flex-wrap: wrap; }
  .management-admin-workspace .form-row label { min-width: 100%; }
  .management-admin-workspace .form-row :is(input, select) { width: 100%; max-width: none; }
  .management-admin-workspace .access-grid { grid-template-columns: 1fr; }
  .management-admin-workspace .admin-form-grid { grid-template-columns: 1fr; }
  .management-admin-workspace .admin-form-grid .full,
  .management-admin-workspace .admin-checkbox-row { grid-column: auto; }
}

@media (max-width: 600px) {
  .management-admin-workspace .content { padding: var(--space-3); }
  .management-admin-workspace .card { padding: 14px var(--space-3); }
  .management-admin-workspace .kpi { flex: 1; min-width: calc(50% - 6px); }
  .management-admin-workspace #queue-toggle-bar { flex-wrap: wrap; }
  .management-admin-workspace #queue-toggle-bar .btn { margin-left: 0 !important; }
  .management-admin-workspace #source-modal { padding: var(--space-2); }
  .management-admin-workspace #source-modal > div { width: 100% !important; max-width: none !important; max-height: calc(100vh - 16px) !important; padding: 18px 14px !important; border-radius: var(--radius-sm); }
  .management-admin-workspace #source-modal div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .management-admin-workspace #svc-cards,
  .management-admin-workspace .lab-grid,
  .management-admin-workspace .access-form { grid-template-columns: 1fr !important; }
  .management-admin-workspace .access-form .full { grid-column: auto; }
  .management-admin-workspace .filters :is(select, input[type="text"]) { flex: 1 1 auto; min-width: 0; }
  .management-admin-workspace .integration-row > summary { grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--space-2); }
  .management-admin-workspace .integration-row-description { display: none; }
  .management-admin-workspace .integration-row-body { padding-left: var(--space-4); }
  .management-admin-workspace .admin-connector-controls > input:not([type="checkbox"]) { flex-basis: 100%; min-width: 0; }
  .management-admin-workspace .admin-connector-form { max-width: none; }
  .management-admin-workspace :where(button, .btn, summary, input:not([type="hidden"]):not([type="checkbox"]), select, textarea) { min-height: var(--control-height-touch); }
  .management-admin-workspace .toast { right: var(--space-3); bottom: var(--space-3); left: var(--space-3); text-align: center; }
}

/* Operational management screens share one quiet, full-width surface and
   control rhythm. Jobs & Queue is the reference consumer; Services and the
   Operations Lab opt into the same contract instead of growing local shells. */
.management-operations-workspace { width: 100%; min-width: 0; }
.management-operations-workspace > .screen-desc { max-width: 78ch; margin-bottom: var(--space-4); }
.management-operations-workspace .management-card { padding: var(--space-5); margin-bottom: var(--space-5); }
.management-status-strip {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-height: var(--control-height-lg);
  margin-bottom: var(--space-4);
  padding: var(--space-2) var(--space-4);
  border: 1px solid var(--line);
  border-left: 4px solid var(--orange);
  border-radius: var(--radius-md);
  background: var(--card);
  box-shadow: var(--elevation-sm);
}
.management-status-detail { color: var(--muted); font-size: var(--font-size-sm); }
.management-operations-toolbar {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin: 0 0 var(--space-3);
  color: var(--muted);
  font-size: var(--font-size-sm);
}
.management-operations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  gap: var(--space-4);
}
.management-operations-workspace .list-controls { margin-top: var(--space-4); }
.management-health-workspace { min-width: 0; }
.management-health-workspace .health-results { min-width: 0; overflow: visible; }
.management-health-workspace .list-controls { margin-top: var(--space-4); }
.management-operations-workspace .table-wrap { border-radius: var(--radius-md); }

@media (max-width: 760px) {
  .management-workspace .management-main { padding: var(--space-4); }
  .management-workspace .management-card { padding: var(--space-4); }
  .management-workspace .management-form-grid,
  .management-workspace .profile-grid,
  .management-workspace .management-form-grid--compact { grid-template-columns: minmax(0, 1fr); }
  .management-workspace :where(.management-form-grid, .profile-grid) > .wide { grid-column: auto; }
  .management-workspace .management-header-action { margin-left: 0; }
  .management-workspace .management-filter-input { min-width: 0; width: 100%; }
  .management-operations-workspace .management-card { padding: var(--space-4); }
  .management-operations-workspace .management-section-head { align-items: stretch; flex-wrap: wrap; }
  .management-operations-workspace .management-section-head .management-header-action { width: 100%; }
  .management-operations-workspace .management-section-head select { width: 100%; }
  .management-status-strip { align-items: flex-start; flex-wrap: wrap; }
  .management-status-strip .management-header-action { width: 100%; }
}

/* ── Task flow bar (item 47) ──────────────────────────────────────────── */
.flow-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; margin: 0 0 14px; padding: 10px 14px; border: 1px solid var(--line); border-left: 4px solid var(--orange); border-radius: var(--radius-md); background: var(--card); }
.flow-bar:empty { display: none; }
.flow-bar .screen-desc { margin: 0; font-size: var(--font-size-sm); color: var(--txt); }
.flow-bar .flow-actions { display: flex; align-items: center; gap: var(--space-3); }
.flow-bar .flow-next { font-size: 12px; font-weight: var(--font-weight-semibold); color: var(--navy); text-decoration: none; white-space: nowrap; }
.flow-bar .flow-next:hover { text-decoration: underline; }

/* ── Cards ────────────────────────────────────────────────────────────── */
.card { background: var(--card); border: 1px solid var(--line); border-top: 3px solid var(--navy); border-radius: var(--radius-sm); padding: var(--space-4) var(--space-5); margin-bottom: var(--space-4); min-width: 0; max-width: 100%; }
.card-title, .card > h2 { font-size: var(--font-size-base); font-weight: var(--font-weight-bold); color: var(--navy); margin: 0 0 var(--space-3); padding-bottom: var(--space-2); border-bottom: 2px solid var(--gold); display: flex; align-items: center; gap: var(--space-2); }
.card > h3 { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--navy); margin: 0 0 10px; }
.card-title span, .ct-meta, .card-title .sub { margin-left: auto; font-size: 12px; color: var(--muted); font-weight: var(--font-weight-regular); }
.card-title .collapse-caret { margin-left: 0; }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
.card-header h2 { margin: 0; font-size: var(--font-size-md); color: var(--navy); }
.card-header .card-meta { font-size: 12px; color: var(--muted); }
.section-heading-row { display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
.section-heading-row > :first-child { min-width: 0; }
.section-heading-actions { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin-left: auto; }
@media (min-width: 601px) {
  .section-heading-row > .collapse-caret { margin-left: 0; }
}
body.standard-dossier-workspace .dossier-opportunity-heading { margin-bottom: var(--space-3); }
body.standard-dossier-workspace .dossier-opportunity-heading > strong { color: var(--navy); font-size: var(--font-size-sm); }

/* Shared, explicit truncation contracts. The complete value remains available
   through the element's title/accessible name instead of being hard-clipped. */
.truncate { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clamp-2 { min-width: 0; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; }

/* ── KPI tiles ────────────────────────────────────────────────────────── */
.kpi-row { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-bottom: var(--space-4); }
.kpi, .kpi-tile { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: var(--space-3) var(--space-4); min-width: 110px; flex: 1; }
.kpi .v, .kpi .kpi-num, .kpi-tile .kpi-num { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); color: var(--navy); line-height: var(--line-height-tight); }
.kpi .l, .kpi .kpi-lbl, .kpi-tile .kpi-lbl { font-size: var(--font-size-xs); color: var(--muted); margin-top: 2px; }
.kpi .kpi-sub { font-size: var(--font-size-xs); color: var(--muted); margin-top: 2px; }
.kpi[data-tone="good"] .v, .kpi[data-tone="good"] .kpi-num { color: var(--color-success); }
.kpi[data-tone="warn"] .v, .kpi[data-tone="warn"] .kpi-num { color: var(--color-warning); }
.kpi[data-tone="bad"] .v, .kpi[data-tone="bad"] .kpi-num { color: var(--color-danger); }
.kpi[data-tone="good"] { border-top-color: var(--color-success); }
.kpi[data-tone="warn"] { border-top-color: var(--color-warning); }
.kpi[data-tone="bad"] { border-top-color: var(--color-danger); }
.kpi[data-tone="neutral"] { border-top-color: var(--color-muted-soft); }
.kpi[data-tone="neutral"] .v, .kpi[data-tone="neutral"] .kpi-num { color: var(--color-muted-soft); }
.kpi .v[data-tone="good"] { color: var(--color-success); }
.kpi .v[data-tone="warn"] { color: var(--color-warning); }
.kpi .v[data-tone="bad"] { color: var(--color-danger); }
#kpis-hot .kpi { padding:14px 16px; }
#kpis-hot .kpi .v { font-size:20px; line-height:1.2; }
#kpis-hot .kpi .l { font-size:12px; line-height:1.35; margin-top:7px; }
@media (min-width: 901px) {
  body.standard-core-workspace .metric-tile-flow { display: flex; flex-wrap: wrap; align-items: stretch; }
  body.standard-core-workspace .metric-tile-flow > .context-help-block-button {
    flex: 0 0 var(--control-height-compact);
    width: var(--control-height-compact);
    margin: 0 calc(100% - var(--control-height-compact)) var(--space-2) 0;
  }
  body.standard-core-workspace .metric-tile-flow > :where(.home-kpi, .kpi, .kpi-tile, .card) {
    flex: 1 1 220px;
    min-width: min(100%, 220px);
  }
}
/* Interactive dashboard tiles keep their own surface on hover. A low-
   specificity outline strengthens the edge without changing border width or
   overriding page-specific borders, shadows and selected/active states. The
   shared gold :focus-visible rule above remains the keyboard indicator. */
:where(button, a[href], [role="button"]):where(.card, .kpi, .kpi-tile, .report-kpi, .template-card):where(:not(.selected):not(.active):not(:disabled):not(:focus-visible):not([aria-pressed="true"]):not([aria-selected="true"])):hover {
  outline: 2px solid var(--color-line-hover);
  outline-offset: 0;
}

/* ── Tables ───────────────────────────────────────────────────────────── */
table { width: 100%; border-collapse: collapse; font-size: var(--font-size-sm); }
thead th { background: var(--navy); color: var(--color-on-dark); padding: 7px 10px; text-align: left; font-size: 12px; font-weight: var(--font-weight-semibold); }
thead th.sortable { cursor: pointer; user-select: none; }
thead th.sortable:hover { background: var(--navy-dark); }
thead th.server-sortable { user-select: none; position: relative; padding: 0; }
.server-sort-trigger { position: relative; display: flex; align-items: center; width: 100%; min-height: var(--control-height-md); padding: 7px 24px 7px 10px; border: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; text-align: left; cursor: pointer; }
.server-sortable > .metric-info { position: absolute; z-index: 1; top: 50%; right: 25px; transform: translateY(-50%); color: var(--color-on-dark-muted); }
.server-sortable > .metric-info:hover, .server-sortable > .metric-info:focus-visible { color: var(--color-on-dark); transform: translateY(-50%); }
.server-sort-trigger::after { content: "↕"; position: absolute; right: 8px; color: var(--color-on-dark-faint); }
thead th.server-sortable[aria-sort="ascending"] .server-sort-trigger::after { content: "↑"; color: var(--color-on-dark); }
thead th.server-sortable[aria-sort="descending"] .server-sort-trigger::after { content: "↓"; color: var(--color-on-dark); }
thead th.server-sortable:hover { background: var(--navy-dark); }
td { padding: 7px 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
tbody tr:nth-child(even) td { background: var(--stripe); }
tbody tr[data-href] { cursor: pointer; }
tbody tr[data-href]:hover td, tbody tr:hover td { background: var(--color-surface-tint); }
table.tbl { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; }
.tbl th { text-align: left; }
.tbl td.num, .tbl th.num { text-align: right; font-variant-numeric: tabular-nums; }
.tbl tr:last-child td { border-bottom: none; }
.table-wrap { overflow-x: auto; }
.data-table-wrap { position: relative; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.data-table { width: 100%; }
.data-table-actions { white-space: nowrap; }
body.standard-sales-workspace .accounts-data-table { min-width: 1240px; }
body.standard-sales-workspace .accounts-data-table :where(th, td).data-table-actions {
  position: sticky;
  right: 0;
  z-index: 1;
  width: 124px;
  min-width: 124px;
  background: var(--card);
  box-shadow: var(--elevation-sticky-edge);
  white-space: nowrap;
}
body.standard-sales-workspace .accounts-data-table thead th.data-table-actions {
  z-index: 3;
  background: var(--navy);
}
body.standard-sales-workspace .accounts-data-table tbody tr:nth-child(even) td.data-table-actions { background: var(--stripe); }
body.standard-sales-workspace .accounts-data-table tbody tr:hover td.data-table-actions { background: var(--color-surface-tint); }
body.standard-sales-workspace .sales-action-push { margin-left: auto; }
body.standard-sales-workspace .sales-section-copy { margin-bottom: var(--space-4); color: var(--muted); font-size: var(--font-size-sm); }
body.standard-sales-workspace .sales-card-title-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
body.standard-sales-workspace .sales-lookalike-select { min-width: 260px; }
body.standard-sales-workspace .sales-results-spaced { margin-top: 10px; }
body.standard-sales-workspace .sales-detail-title { flex: 1; }
body.standard-sales-workspace .sales-detail-meta { margin-top: 3px; color: var(--color-on-dark-muted); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-overlay-title { flex: 1; min-width: 0; }
body.standard-sales-workspace .sales-overlay-account { font-size: var(--font-size-base); font-weight: var(--font-weight-bold); }
body.standard-sales-workspace .sales-overlay-meta { margin-top: 2px; color: var(--color-on-dark-muted); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-button-reject { color: var(--red); background: var(--red-bg); }
body.standard-sales-workspace .sales-button-approve { color: var(--green); background: var(--green-bg); }
body.standard-sales-workspace .sales-download-link { text-decoration: none; }
body.standard-sales-workspace .sales-primary-push { margin-left: auto; }
body.standard-sales-workspace .sales-muted-label { color: var(--muted); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-filter-slug { width: 200px; }
body.standard-sales-workspace .sales-cell-description { max-width: 420px; color: var(--muted); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-cell-compact { font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-cell-muted { color: var(--muted); }
body.standard-sales-workspace .sales-clickable-row { cursor: pointer; }
body.standard-sales-workspace .sales-row-actions { white-space: nowrap; }
body.standard-sales-workspace .sales-count-accent { color: var(--orange); }
body.standard-sales-workspace .sales-status-inline,
body.standard-sales-workspace .sales-completeness { white-space: nowrap; }
body.standard-sales-workspace .sales-status-inline.is-warning,
body.standard-sales-workspace .sales-completeness.is-warning { color: var(--color-warning); }
body.standard-sales-workspace .sales-status-inline.is-success,
body.standard-sales-workspace .sales-completeness.is-success { color: var(--color-success); }
body.standard-sales-workspace .sales-status-inline.is-muted { color: var(--muted); }
body.standard-sales-workspace .sales-completeness.is-danger { color: var(--color-danger); }
body.standard-sales-workspace .sales-status-inline.is-warning,
body.standard-sales-workspace .sales-completeness { font-weight: var(--font-weight-semibold); }
body.standard-sales-workspace .sales-row-meta { margin-top: 2px; color: var(--muted); font-size: var(--font-size-2xs); }
body.standard-sales-workspace .sales-cell-reason { min-width: 240px; }
body.standard-sales-workspace .sales-source-link { color: var(--orange); }
body.standard-sales-workspace .tech-error { color: var(--color-danger); }
body.standard-sales-workspace .tech-gap-notice {
  margin-bottom: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-warning-line);
  border-radius: var(--radius-sm);
  background: var(--color-stale-soft);
  font-size: var(--font-size-xs);
}
body.standard-sales-workspace .tech-gap-action { margin-left: var(--space-2); }
body.standard-sales-workspace .tech-breadcrumb-meta { color: var(--muted); }
body.standard-sales-workspace .tech-detail-copy { margin-bottom: 10px; color: var(--muted); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-cell-date { white-space: nowrap; font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-clickable-cell { cursor: pointer; }
body.standard-sales-workspace .sales-source-cell { color: var(--muted); font-size: var(--font-size-2xs); }
body.standard-sales-workspace .sales-search-section { margin-top: 14px; }
body.standard-sales-workspace .sales-card-count { color: var(--muted); font-weight: var(--font-weight-regular); }
body.standard-sales-workspace .sales-search-table { font-size: var(--font-size-sm); }
body.standard-sales-workspace .sales-result-link { color: var(--orange); font-weight: var(--font-weight-semibold); text-decoration: none; }
body.standard-sales-workspace .sales-result-name { font-weight: var(--font-weight-semibold); }
body.standard-sales-workspace .sales-search-subtitle { color: var(--muted); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-proposition-link { margin: 3px; }
body.standard-sales-workspace .sales-empty-copy { padding: var(--space-3) 0; color: var(--muted); font-size: var(--font-size-sm); }
body.standard-sales-workspace .sales-modal-panel { width: min(90vw, 480px); max-height: calc(100vh - 32px); overflow-y: auto; border-radius: var(--radius-sm); background: var(--card); }
body.standard-sales-workspace .sales-modal-header { display: flex; align-items: center; justify-content: space-between; padding: var(--space-3) var(--space-4); background: var(--navy); color: var(--color-on-dark); }
body.standard-sales-workspace .sales-modal-title { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); }
body.standard-sales-workspace .sales-modal-close { border: 0; background: transparent; color: var(--color-on-dark); font-size: var(--font-size-lg); cursor: pointer; }
body.standard-sales-workspace .sales-modal-body { padding: 18px 20px; }
body.standard-sales-workspace .sales-modal-field { margin-bottom: var(--space-3); }
body.standard-sales-workspace .sales-modal-field.is-compact { margin-bottom: var(--space-2); }
body.standard-sales-workspace .sales-modal-label { display: block; margin-bottom: var(--space-1); color: var(--muted); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-modal-control { width: 100%; border: 1px solid var(--line); font: inherit; font-size: var(--font-size-sm); }
body.standard-sales-workspace input.sales-modal-control,
body.standard-sales-workspace select.sales-modal-control,
body.standard-sales-workspace textarea.sales-modal-control { padding: 6px 10px; }
body.standard-sales-workspace .sales-modal-country { text-transform: uppercase; }
body.standard-sales-workspace .sales-modal-hint { margin-bottom: 14px; color: var(--muted); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-modal-divider { margin: 14px 0; border: 0; border-top: 1px solid var(--line); }
body.standard-sales-workspace .sales-modal-extra-label { margin-bottom: var(--space-2); color: var(--muted); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-modal-message { min-height: 16px; margin-bottom: 10px; font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-modal-message.is-muted { color: var(--muted); }
body.standard-sales-workspace .sales-modal-message.is-success { color: var(--color-success); }
body.standard-sales-workspace .sales-modal-message.is-danger { color: var(--color-danger); }
body.standard-sales-workspace .sales-modal-actions { display: flex; justify-content: flex-end; gap: var(--space-2); }
body.standard-sales-workspace .sales-dmu-gap-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--line); }
body.standard-sales-workspace .sales-dmu-gap-label { display: flex; flex: 1; align-items: center; gap: 10px; min-width: 0; }
body.standard-sales-workspace .sales-dmu-gap-link { overflow: hidden; color: var(--navy); font-weight: var(--font-weight-semibold); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
body.standard-sales-workspace .sales-dmu-gap-state { color: var(--muted); font-size: var(--font-size-2xs); }
body.standard-sales-workspace .sales-dmu-gap-state.is-success { color: var(--color-success-ink); }
body.standard-sales-workspace .sales-artifact-overlay { padding: 0; }
body.standard-sales-workspace .sales-artifact-panel { display: flex; flex-direction: column; width: 80vw; max-width: 900px; height: 80vh; overflow: hidden; border-radius: var(--radius-sm); background: var(--card); }
body.standard-sales-workspace .sales-artifact-header { display: flex; align-items: center; justify-content: space-between; padding: var(--space-3) var(--space-4); background: var(--navy); color: var(--color-on-dark); }
body.standard-sales-workspace .sales-artifact-title { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); }
body.standard-sales-workspace .sales-artifact-close { border: 0; background: transparent; color: var(--color-on-dark); font-size: var(--font-size-lg); cursor: pointer; }
body.standard-sales-workspace .sales-artifact-body { flex: 1; overflow: auto; margin: 0; padding: var(--space-4); font-family: var(--font-family-mono, monospace); font-size: var(--font-size-xs); line-height: 1.6; white-space: pre-wrap; word-break: break-word; }
body.standard-sales-workspace .sales-detail-action { margin-top: 7px; }
body.standard-sales-workspace .sales-detail-note,
body.standard-sales-workspace .sales-detail-actions,
body.standard-sales-workspace .sales-detail-form { margin-top: var(--space-2); }
body.standard-sales-workspace .sales-signal-link { display: block; color: inherit; text-decoration: none; }
body.standard-sales-workspace .sales-signal-copy { font-size: var(--font-size-xs); line-height: 1.5; }
body.standard-sales-workspace .sales-tag-compact { margin-right: var(--space-1); font-size: var(--font-size-2xs); }
body.standard-sales-workspace .sales-more-copy { padding: var(--space-1) 0; color: var(--muted); font-size: var(--font-size-2xs); }
body.standard-sales-workspace .sales-inline-link { display: inline-block; margin-top: var(--space-2); }
body.standard-sales-workspace .sales-empty-inline { color: var(--muted); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-artifact-unavailable { cursor: not-allowed; opacity: .45; }
body.standard-sales-workspace .sales-artifact-date { color: var(--muted); font-size: var(--font-size-2xs); }
body.standard-sales-workspace .sales-leading-action { margin: 0 0 14px; }
body.standard-sales-workspace .sales-mono-compact { font-family: var(--font-family-mono); font-size: var(--font-size-2xs); }
body.standard-sales-workspace .sales-detail-value { font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-country-input { text-transform: uppercase; }
body.standard-sales-workspace .sales-form-hint { margin: 0 0 var(--space-2); }
body.standard-sales-workspace .sales-form-error { margin: 0 0 var(--space-2); color: var(--color-danger); }
body.standard-sales-workspace .sales-evidence-action { margin-left: var(--space-2); text-transform: none; letter-spacing: 0; }
body.standard-sales-workspace .sales-evidence-panel,
body.standard-sales-workspace .sales-evidence-state { color: var(--muted); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-evidence-error { color: var(--color-danger); font-size: var(--font-size-xs); }
body.standard-sales-workspace .sales-evidence-section { margin-bottom: var(--space-2); }
body.standard-sales-workspace .sales-evidence-heading { color: var(--muted); font-size: var(--font-size-2xs); font-weight: var(--font-weight-semibold); letter-spacing: .06em; text-transform: uppercase; }
body.standard-sales-workspace .sales-evidence-content { margin-top: 3px; }
body.standard-sales-workspace .sales-evidence-chain { margin-top: var(--space-1); }
body.standard-sales-workspace .sales-evidence-empty { padding: 6px 0; color: var(--muted); }
body.standard-sales-workspace .sales-evidence-source { margin-bottom: 10px; }
body.standard-sales-workspace .sales-evidence-source-title { color: var(--navy); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); }
body.standard-sales-workspace .sales-evidence-source-count,
body.standard-sales-workspace .sales-evidence-more { color: var(--muted); font-size: var(--font-size-2xs); }
body.standard-sales-workspace .sales-evidence-source-count { margin-bottom: 2px; }
body.standard-sales-workspace .sales-evidence-more { margin-left: var(--space-3); }
body.standard-sales-workspace .sales-evidence-signal { display: flex; justify-content: space-between; gap: var(--space-1); margin: 3px 0 3px var(--space-3); padding-left: var(--space-2); border-left: 2px solid var(--line); color: var(--ink); font-size: var(--font-size-2xs); }
body.standard-sales-workspace .sales-evidence-signal-meta { color: var(--muted); }
body.standard-sales-workspace .sales-dispute-button { align-self: flex-start; min-width: var(--control-height-touch); padding: 0; border: 0; background: transparent; color: var(--muted); font-size: var(--font-size-2xs); white-space: nowrap; cursor: pointer; }
body.standard-sales-workspace .sales-transient-confirm { background: var(--color-orange); color: var(--color-on-dark); }
body.standard-sales-workspace .sales-scan-queued { background: var(--color-success-ink); color: var(--color-on-dark); }
body.standard-sales-workspace .sales-scan-cancelled { color: var(--muted); }
body.standard-crm-workspace .crm-heading-flush { margin: 0; }
body.standard-crm-workspace .crm-toolbar-spacer { flex: 1; }
body.standard-crm-workspace .crm-checkbox-label { display: flex; align-items: center; gap: 6px; }
body.standard-crm-workspace .crm-form-spaced { margin-top: 14px; }
body.standard-crm-workspace .crm-form-spaced-sm { margin-top: var(--space-2); }
body.standard-crm-workspace .crm-toolbar-spaced { margin-top: 10px; }
body.standard-crm-workspace .crm-inline-hours { display: flex; gap: var(--space-1); }
body.standard-crm-workspace .crm-hour-input { width: 70px; }
body.standard-crm-workspace .crm-preserve-lines { white-space: pre-wrap; }
body.standard-crm-workspace .crm-input-narrow { width: 110px; }
body.standard-crm-workspace .crm-details-spaced { margin-top: var(--space-3); }
body.standard-crm-workspace .crm-full-action { width: 100%; margin-top: 6px; }
body.standard-crm-workspace .crm-board-empty { padding: var(--space-1); font-size: var(--font-size-2xs); }
body.standard-crm-workspace .crm-advice-list { margin: 0; padding-left: 18px; }
body.standard-crm-workspace .crm-section-spaced { margin-top: 10px; }
body.standard-crm-workspace .crm-card-spaced { margin-top: var(--space-2); }
body.standard-crm-workspace .crm-grid-spaced { margin-top: 6px; }
body.standard-crm-workspace .crm-checkbox-spaced { display: flex; align-items: center; gap: 6px; margin-top: var(--space-2); }
body.standard-crm-workspace .crm-report-full { width: 100%; }
body.standard-crm-workspace .crm-report-centered { justify-content: center; }
body.standard-dossier-workspace .dossier-heading-flush { margin: 0; }
body.standard-dossier-workspace .dossier-docs-heading { margin-bottom: var(--space-3); padding-bottom: var(--space-2); border-bottom: 2px solid var(--gold); color: var(--navy); font-size: var(--font-size-base); font-weight: var(--font-weight-bold); }
body.standard-dossier-workspace .dossier-heading-count { color: var(--muted); font-size: var(--font-size-xs); font-weight: var(--font-weight-regular); }
body.standard-dossier-workspace .dossier-mail-bar { display: flex; align-items: center; gap: 10px; margin-top: var(--space-2); padding: var(--space-2) 10px; border: 1px solid var(--line); background: var(--color-surface-tint); font-size: var(--font-size-sm); }
body.standard-dossier-workspace .dossier-mail-copy { color: var(--muted); font-size: 11.5px; }
body.standard-dossier-workspace .dossier-action-push { margin-left: auto; }
body.standard-dossier-workspace .dossier-inline-message { color: var(--muted); font-size: var(--font-size-xs); }
body.standard-dossier-workspace .dossier-card-spaced { margin-top: 14px; }
body.standard-dossier-workspace .dossier-kpis-spaced { margin-bottom: 14px; }
body.standard-dossier-workspace .dossier-section-title { color: var(--navy); font-size: var(--font-size-base); }
body.standard-dossier-workspace .dossier-section-title.is-block { display: block; margin-bottom: 10px; }
body.standard-dossier-workspace .dossier-history-heading { margin-top: 14px; }
body.standard-dossier-workspace .dossier-delivery-label { color: var(--muted); font-size: var(--font-size-xs); }
body.standard-dossier-workspace .dossier-delivery-label.is-pushed { margin-left: auto; }
body.standard-dossier-workspace .dossier-delivery-select { padding: var(--space-1) 6px; border: 1px solid var(--line); border-radius: var(--radius-md); font-size: var(--font-size-xs); }
body.standard-dossier-workspace .dossier-delivery-select.is-template { max-width: 220px; }
body.standard-dossier-workspace .dossier-section-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
body.standard-dossier-workspace .dossier-compact-action { margin-left: auto; }
body.standard-dossier-workspace .dossier-form-spaced { margin-bottom: var(--space-3); }
body.standard-dossier-workspace .dossier-card-bottom { margin-bottom: var(--space-4); }
body.standard-dossier-workspace .dossier-alias-panel { margin-top: var(--space-4); padding-top: 14px; border-top: 1px solid var(--line); }
body.standard-dossier-workspace .dossier-alias-title { margin-bottom: var(--space-2); color: var(--navy); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); }
body.standard-dossier-workspace .dossier-alias-controls { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); }
body.standard-dossier-workspace .dossier-alias-control { padding: 6px 10px; border: 1px solid var(--line); background: var(--card); color: var(--ink); font-size: var(--font-size-sm); }
body.standard-dossier-workspace .dossier-alias-value { flex: 1; min-width: 160px; }
body.standard-dossier-workspace .dossier-alias-message { margin-top: 6px; color: var(--muted); font-size: var(--font-size-xs); }
body.standard-dossier-workspace .dossier-profile-meta { margin-bottom: 10px; color: var(--muted); font-size: var(--font-size-2xs); }
body.standard-dossier-workspace .dossier-profile-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: var(--space-3); }
body.standard-dossier-workspace .dossier-count-normal { font-weight: var(--font-weight-regular); }
body.standard-dossier-workspace .dossier-warning-icon { color: var(--color-warning); }
body.standard-dossier-workspace .dossier-overflow-auto { overflow: auto; }
body.standard-dossier-workspace .dossier-opp-emphasis { color: var(--navy); }
body.standard-dossier-workspace .dossier-opp-meta { margin-top: 3px; }
body.standard-dossier-workspace .dossier-opp-evidence { margin-top: 7px; }
body.standard-dossier-workspace .queue-line .q-dot.is-running { background: var(--color-success); }
body.standard-dossier-workspace .queue-line .q-dot.is-paused { background: var(--color-warning); }
body.standard-dossier-workspace .dossier-alias-group { margin-bottom: 14px; }
body.standard-dossier-workspace .dossier-alias-group-title { margin-bottom: 6px; padding-bottom: 3px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: var(--font-size-2xs); font-weight: var(--font-weight-bold); letter-spacing: .05em; text-transform: uppercase; }
body.standard-dossier-workspace .dossier-alias-group-title.is-plain { border-bottom: 0; padding-bottom: 0; }
body.standard-dossier-workspace .dossier-alias-row { display: flex; align-items: center; gap: var(--space-2); padding: 5px 6px; border-radius: var(--radius-sm); }
body.standard-dossier-workspace .dossier-alias-row:hover { background: var(--stripe); }
body.standard-dossier-workspace .dossier-alias-row.is-plain { display: block; font-size: var(--font-size-sm); }
body.standard-dossier-workspace .dossier-alias-row-value { flex: 1; font-size: var(--font-size-sm); }
body.standard-dossier-workspace .dossier-alias-row-meta { color: var(--muted); font-size: var(--font-size-2xs); }
body.standard-dossier-workspace .dossier-inline-status.is-success { color: var(--color-success); }
body.standard-dossier-workspace .dossier-inline-status.is-error { color: var(--color-danger); }
body.standard-dossier-workspace .dossier-timeline { position: relative; padding-left: 20px; }
body.standard-dossier-workspace .dossier-timeline-row { display: flex; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--color-line-soft); font-size: var(--font-size-sm); }
body.standard-dossier-workspace .dossier-timeline-key { min-width: 80px; color: var(--muted); font-size: var(--font-size-2xs); white-space: nowrap; }
body.standard-dossier-workspace .dossier-timeline-detail { margin-top: 2px; color: var(--muted); font-size: var(--font-size-xs); }
body.standard-dossier-workspace .dossier-field-code { font-family: var(--font-family-mono); font-size: var(--font-size-2xs); }
body.standard-dossier-workspace .dossier-preserve-lines { white-space: pre-wrap; }
body.standard-dossier-workspace .dossier-technology-link { color: var(--orange); }
body.standard-dossier-workspace .dossier-technology-cell { font-size: var(--font-size-xs); }
body.standard-dossier-workspace .dossier-technology-date { color: var(--muted); font-size: var(--font-size-2xs); }
body.standard-dossier-workspace .dossier-profile-frame { display: block; width: 100%; min-height: 300px; border: 0; }
body.standard-delivery-workspace .delivery-form-spaced { margin-top: 10px; }
body.standard-delivery-workspace .delivery-checkbox-label { display: flex; align-items: center; justify-content: flex-start; gap: var(--space-2); grid-auto-flow: column; }
body.standard-delivery-workspace .delivery-checkbox-input { width: auto; }
body.standard-delivery-workspace .delivery-section-spaced { margin-top: var(--space-3); }
body.standard-delivery-workspace .delivery-section-spaced-lg { margin-top: 14px; }
body.standard-delivery-workspace .delivery-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); }
body.standard-delivery-workspace .delivery-actions-bottom { margin-bottom: 10px; }
body.standard-delivery-workspace .delivery-hours-frame { width: 100%; height: calc(100vh - 90px); border: 0; background: transparent; }
body.standard-delivery-workspace .delivery-label-spaced { margin-top: var(--space-3); }
body.standard-delivery-workspace .delivery-details-spaced { margin-top: var(--space-3); }
body.standard-delivery-workspace .delivery-capacity-head { display: flex; justify-content: space-between; margin-bottom: 7px; }
body.standard-delivery-workspace .delivery-opportunity-metric { color: var(--color-orange-ink); }
body.standard-delivery-workspace .delivery-kpis-spaced { margin-top: 14px; }
body.standard-delivery-workspace .delivery-paragraph-flush { margin: 0; }
body.standard-delivery-workspace .delivery-hours-column { display: inline-flex; gap: var(--space-1); margin-right: 10px; grid-auto-flow: column; }
body.standard-delivery-workspace .delivery-input-progress { width: 72px; text-align: right; }
body.standard-delivery-workspace .delivery-input-budget { width: 90px; text-align: right; }
body.standard-delivery-workspace .delivery-input-percent { width: 80px; text-align: right; }
body.standard-delivery-workspace .delivery-filter-search { max-width: 260px; margin: 0 0 var(--space-2); }
body.standard-delivery-workspace .delivery-filter-bar { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 10px; margin: 0 0 var(--space-2); }
body.standard-delivery-workspace .delivery-filter-label { display: flex; flex-direction: column; gap: 2px; font-size: var(--font-size-xs); }
body.standard-delivery-workspace .delivery-chip-holder { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0 0 var(--space-3); }
body.standard-delivery-workspace .delivery-search-spaced { margin-bottom: var(--space-1); }
body.standard-delivery-workspace .delivery-logo-preview { max-width: 240px; max-height: 60px; padding: 6px; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); }
body.standard-delivery-workspace .grid-2.is-single-column { grid-template-columns: minmax(0, 1fr); }
body.standard-content-workspace .content-toast { position: fixed; right: var(--space-4); bottom: var(--space-4); z-index: var(--z-toast); max-width: 360px; padding: 10px var(--space-4); border-radius: var(--radius-md); background: var(--color-ink); color: var(--color-on-dark); font-size: var(--font-size-sm); }
body.standard-content-workspace .content-back-bar { padding: var(--space-2) 20px; border-bottom: 1px solid var(--line); }
body.standard-content-workspace .content-form-actions { display: flex; gap: var(--space-2); margin-top: var(--space-1); }
body.standard-content-workspace .content-result-spaced { margin-top: var(--space-3); }
body.standard-content-workspace .content-search { width: 220px; }
body.standard-content-workspace .content-result-box { padding: var(--space-2) var(--space-3); margin-bottom: var(--space-3); border: 1px solid var(--line); background: var(--stripe); font-size: 12.5px; }
body.standard-content-workspace .content-notice-spaced { margin-top: 10px; }
body.standard-content-workspace .content-action-tight { margin-bottom: 10px; }
body.standard-content-workspace .content-plain-link { text-decoration: none; }
body.standard-content-workspace .content-visual { display: block; max-width: 320px; max-height: 220px; margin-bottom: 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
body.standard-content-workspace .content-upload-form { display: flex; align-items: center; gap: var(--space-2); }
body.standard-content-workspace .content-upload-input { font-size: var(--font-size-xs); }
body.standard-content-workspace .content-success-box { padding: var(--space-3) var(--space-4); border: 1px solid var(--color-success-line); background: var(--green-bg); font-size: var(--font-size-sm); }
body.standard-content-workspace .content-success-box.is-compact { padding: 10px 14px; }
body.standard-content-workspace .content-success-sub { display: block; margin-top: var(--space-1); color: var(--muted); font-size: var(--font-size-xs); }
body.standard-content-workspace .content-submission { margin-bottom: 6px; padding: var(--space-2) 10px; border: 1px solid var(--line); background: var(--card); font-size: var(--font-size-xs); }
body.standard-content-workspace .content-submission-note { margin-top: 3px; color: var(--muted); }
body.standard-content-workspace .content-muted-xs { color: var(--muted); font-size: var(--font-size-xs); }
body.standard-content-workspace .content-muted-2xs { color: var(--muted); font-size: var(--font-size-2xs); }
body.standard-content-workspace .content-report-copy { font-size: var(--font-size-sm); }
body.standard-content-workspace .content-report-copy.is-spaced { margin-top: var(--space-2); }
body.standard-content-workspace .content-static-row { cursor: default; }
body.standard-content-workspace .content-detail-value { margin-bottom: var(--space-2); font-size: var(--font-size-sm); }
body.standard-content-workspace .content-detail-hint { margin: var(--space-1) 0 var(--space-2); }
body.standard-content-workspace .content-proposal-field { width: 100%; margin-bottom: var(--space-2); padding: 5px var(--space-2); border: 1px solid var(--line); font-size: var(--font-size-sm); }
body.standard-content-workspace .content-proposal-hint { margin: 0 0 var(--space-2); }
body.standard-content-workspace .content-inline-status.is-success { color: var(--color-success); }
body.standard-content-workspace .content-inline-status.is-error { color: var(--color-danger); }
body.standard-content-workspace .filters > :where(select, input:not([type="checkbox"])) { flex: 1 1 180px; width: auto; min-width: 160px; max-width: 280px; }
@media (max-width: 600px) {
  body.standard-content-workspace .filters > :where(select, input:not([type="checkbox"])) { flex-basis: 100%; width: 100%; max-width: none; }
}
body.standard-subscriptions-workspace .subscriptions-tenant-badge { margin-right: var(--space-4); margin-left: auto; padding: var(--space-2) 18px; border-radius: var(--radius-pill); background: var(--navy); color: var(--color-on-dark); font-size: var(--font-size-base); font-weight: var(--font-weight-bold); letter-spacing: .01em; white-space: nowrap; }
body.standard-subscriptions-workspace .subscriptions-tenant-label { display: flex; align-items: center; gap: 6px; font-size: 12.5px; }
body.standard-subscriptions-workspace .subscriptions-tenant-banner { margin-bottom: 18px; padding: 14px 20px; border-radius: var(--radius-sm); background: var(--navy); color: var(--color-on-dark); font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); }
body.standard-subscriptions-workspace .subscriptions-error { margin-bottom: 14px; }
body.standard-subscriptions-workspace .subscriptions-section-title { margin: 0 0 10px; font-size: var(--font-size-base); }
body.standard-subscriptions-workspace .subscriptions-card-head { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: var(--space-4); }
body.standard-subscriptions-workspace .subscriptions-spaced { margin-top: var(--space-3); }
body.standard-subscriptions-workspace .subscriptions-spaced-sm { margin-top: 9px; }
body.standard-subscriptions-workspace .subscriptions-field-wide { flex: 1; min-width: min(520px, 100%); }
body.standard-subscriptions-workspace .subscriptions-field-medium { flex: 1; min-width: min(320px, 100%); }
body.standard-subscriptions-workspace .subscriptions-budget-section { margin-top: 18px; padding-top: var(--space-4); border-top: 1px solid var(--line); }
body.standard-subscriptions-workspace .subscriptions-subtitle { font-size: var(--font-size-sm); }
body.standard-subscriptions-workspace .subscriptions-checkbox-label { display: flex; align-items: center; gap: 7px; min-height: 34px; }
body.standard-subscriptions-workspace .subscriptions-span-two { grid-column: span 2; }
body.standard-subscriptions-workspace .subscriptions-consent { display: flex; align-items: center; grid-column: 1 / -1; gap: 7px; max-width: 760px; }
body.standard-subscriptions-workspace .subscriptions-block-spaced { margin-top: 10px; }
body.standard-subscriptions-workspace .subscriptions-list-spaced { margin-top: var(--space-3); }
body.standard-subscriptions-workspace .subscriptions-description { margin-bottom: var(--space-2); }
body.standard-subscriptions-workspace .subscriptions-seat-notice { margin-top: var(--space-3); font-size: var(--font-size-xs); }
body.standard-subscriptions-workspace .subscriptions-dialog-title { margin: 0 0 var(--space-2); }
body.standard-subscriptions-workspace .subscriptions-row-actions { display: flex; align-items: center; gap: 14px; }
body.standard-subscriptions-workspace .subscriptions-kpis-tight { margin-bottom: 10px; }
body.standard-subscriptions-workspace .subscriptions-grid-empty { grid-column: 1 / -1; }
body.standard-subscriptions-workspace .subscriptions-module-option { display: inline-flex; align-items: center; margin-right: var(--space-2); }
body.standard-subscriptions-workspace .subscriptions-preserve-lines { margin: 10px 0; white-space: pre-wrap; }
body.standard-subscriptions-workspace .subscriptions-plain-link { color: inherit; text-decoration: none; }
body.standard-subscriptions-workspace .subscriptions-preview-copy { margin-bottom: var(--space-3); }
@media (max-width: 600px) {
  body.standard-sales-workspace .sales-artifact-panel { width: 100vw; max-width: 100vw; height: 100vh; border-radius: 0; }
}
.scroll-list thead th { position: sticky; top: 0; z-index: 2; background: var(--navy); }

/* ── Badges ───────────────────────────────────────────────────────────── */
.badge { display: inline-block; padding: 2px 7px; border-radius: var(--radius-xs); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); white-space: nowrap; line-height: 1.4; }
.badge-pill { border-radius: var(--radius-pill); }
.badge-high, .badge-hot, .badge-new, .badge-urgent { background: var(--color-orange-soft); color: var(--color-orange-dark); }
.badge-medium, .badge-qualified, .badge-warn, .badge-revision, .badge-pilot, .badge-paused, .badge-held, .badge-article, .badge-competitor, .badge-daily-brief, .badge-nl { background: var(--color-warning-soft); color: var(--color-warning-ink); }
.badge-low, .badge-na, .badge-grey, .badge-other, .badge-disabled, .badge-draft, .badge-retired, .badge-ch, .badge-qa { background: var(--color-neutral-100); color: var(--color-ink-soft); }
.badge-yes, .badge-ok, .badge-approved, .badge-accepted, .badge-won, .badge-proposed, .badge-enabled, .badge-active, .badge-live, .badge-renewal, .badge-newsletter, .badge-be { background: var(--color-success-soft); color: var(--color-success-ink); }
.badge-no, .badge-err, .badge-fail, .badge-failed, .badge-lost, .badge-rejected, .badge-trigger, .badge-critical { background: var(--color-danger-soft); color: var(--color-danger-ink); }
.badge-info, .badge-identified, .badge-sent, .badge-submitted, .badge-linkedin, .badge-search-visibility, .badge-de { background: var(--color-info-soft); color: var(--color-info); }
.badge-market, .badge-stakeholder, .badge-platform, .badge-lu { background: var(--color-violet-soft); color: var(--color-violet); }
.badge-at { background: var(--color-rose-soft); color: var(--color-rose); }
.badge-outline { background: var(--stripe); color: var(--muted); border: 1px solid var(--line); }

/* ── Chips ────────────────────────────────────────────────────────────── */
.chip, .prop-tag { display: inline-block; padding: 1px 7px; border-radius: var(--radius-xs); background: var(--blue-bg); color: var(--blue); font-size: var(--font-size-2xs); margin: 1px; }
.view-chip { background: var(--navy); color: var(--color-on-dark); border: none; padding: 3px 10px; border-radius: var(--radius-lg); font-size: var(--font-size-xs); cursor: pointer; }
.view-chip:hover { opacity: .85; }

/* ── Buttons ──────────────────────────────────────────────────────────── */
button, .btn { border: none; border-radius: var(--radius-sm); padding: 6px 14px; font-size: var(--font-size-sm); font-family: inherit; font-weight: var(--font-weight-medium); cursor: pointer; background: var(--navy); color: var(--color-on-dark); line-height: 1.4; transition: transform .08s ease-out, filter .08s ease-out, opacity .12s ease-out; }
.btn { display: inline-flex; align-items: center; justify-content: center; text-align: center; }
button:not(:where(.card, .kpi, .kpi-tile, .report-kpi, .template-card)):hover,
.btn:not(:where(.card, .kpi, .kpi-tile, .report-kpi, .template-card)):hover { background: var(--navy-dark); }
button:disabled, .btn:disabled { opacity: .5; cursor: default; }
/* Click/press feedback (2026-09-03): buttons had no visible response to a
   click beyond the eventual result of whatever the click triggered, which
   for anything slower than instant reads as "did that register?". :active
   gives immediate feedback for a held-down mouse/touch press; .btn-pressed
   (toggled from platform.js on pointerdown, for every button/.btn on every
   page that loads platform.js) covers the very-fast tap case where :active
   never gets painted before the click handler already redrew the page;
   .btn-busy (toggled around the shared api() fetch wrapper) covers the
   in-flight case for anything that calls the API. */
button:active, .btn:active,
button.btn-pressed, .btn.btn-pressed {
  transform: translateY(1px) scale(.97);
  filter: brightness(.88);
  box-shadow: var(--elevation-control-inset);
}
button.btn-pressed, .btn.btn-pressed { animation: btn-press-pulse .32s ease-out; }
button.btn-busy, .btn.btn-busy { opacity: .6; cursor: progress; }
@keyframes btn-press-pulse {
  0% { box-shadow: var(--elevation-control-inset-press-start); }
  100% { box-shadow: var(--elevation-press-blue-end); }
}
@media (prefers-reduced-motion: reduce) {
  button, .btn { transition: none; }
  button:active, .btn:active, button.btn-pressed, .btn.btn-pressed { transform: none; }
  button.btn-pressed, .btn.btn-pressed { animation: none; }
}
.btn-primary, .btn-orange { background: var(--color-action-primary); color: var(--color-on-action); }
.btn-primary:hover, .btn-orange:hover { background: var(--color-action-primary-hover); color: var(--color-on-action); }
.btn-navy { background: var(--navy); }
.btn-secondary { background: var(--color-surface-sunken); color: var(--txt); }
.btn-secondary:hover { background: var(--color-line); }
.btn-ghost { background: transparent; border: 1px solid var(--line); color: var(--ink); }
.btn-ghost:hover { background: var(--color-surface-sunken); }
.btn-danger, .btn-red { background: var(--err); }
.btn-danger:hover, .btn-red:hover { background: var(--color-danger-ink); }
.btn-success, .btn-green { background: var(--color-success); }
.btn-success:hover, .btn-green:hover { background: var(--color-success-ink); }
.btn-warning, .btn-warn, .btn-amber { background: var(--color-warning); }
.btn-warning:hover, .btn-warn:hover, .btn-amber:hover { background: var(--color-warning-ink); }
.btn-sm { padding: 3px 10px; font-size: 12px; }

/* ── Form controls ────────────────────────────────────────────────────── */
input[type=text], input[type=search], input[type=number], input[type=email], input[type=password], input[type=date], select, textarea, .inp { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 6px 10px; font-size: var(--font-size-sm); font-family: inherit; background: var(--color-surface); color: var(--ink); }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--gold); outline-offset: 0; border-color: var(--navy); }
input::placeholder, textarea::placeholder { color: var(--muted); }
label { font-size: 12px; color: var(--muted); }
.filters { display: flex; gap: var(--space-2); margin-bottom: var(--space-3); flex-wrap: wrap; align-items: center; }
.filters .f-count, .f-count { margin-left: auto; font-size: 12px; color: var(--muted); }
.filter-set { display: flex; flex-wrap: wrap; gap: 4px 12px; }
.filter-set label { display: flex; align-items: center; gap: 4px; font-size: 12px; color: var(--text); cursor: pointer; white-space: nowrap; }
.seg { display: inline-flex; border: 1px solid var(--line); background: var(--card); border-radius: var(--radius-sm); overflow: hidden; }
.seg button { background: none; border: none; border-radius: 0; padding: 6px 14px; font-size: 12.5px; font-weight: var(--font-weight-semibold); color: var(--muted); border-right: 1px solid var(--line); }
.seg button:last-child { border-right: none; }
.seg button.active { background: var(--navy); color: var(--color-on-dark); }
.toggle { position: relative; display: inline-block; width: 38px; height: 20px; }
.toggle input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; inset: 0; background: var(--color-line-strong); border-radius: var(--radius-pill); transition: background var(--motion-slow); }
.slider:before { position: absolute; content: ""; height: 14px; width: 14px; left: 3px; bottom: 3px; background: var(--color-surface); border-radius: var(--radius-circle); transition: transform var(--motion-slow); }
input:checked + .slider { background: var(--color-success); }
input:checked + .slider:before { transform: translateX(18px); }
.comp-bar, .comp-mini-bar { background: var(--color-neutral-200); height: 6px; border-radius: var(--radius-xs); overflow: hidden; }
.comp-fill, .comp-mini-fill { display: block; height: 100%; background: var(--navy); border-radius: var(--radius-xs); }

/* ── Tabs ─────────────────────────────────────────────────────────────── */
/* _shared_tabs_scroll_fade_v1 (2026-09-16, Richard: dossier tab menu "loopt
   door buiten het frame"): a wide tab row (many tabs, or long labels like
   "Relationships & activity") used to overflow its container on desktop --
   only mobile had overflow-x:auto (see dossier.html). .tabs is now always
   horizontally scrollable, on every page that uses it, with the native
   scrollbar hidden. Discoverability (the exact gap in the earlier
   admin.html Platform Management fix) comes from a soft inset-shadow
   affordance on whichever edge still has hidden tabs, driven by
   .tabs--has-more-left/.tabs--has-more-right (see _installTabsScrollFade
   in platform.js) -- never shown when everything already fits. */
.tabs { display: flex; gap: var(--space-1); margin-bottom: var(--space-3); border-bottom: 2px solid var(--line); overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tabs.tabs--has-more-left { box-shadow: var(--elevation-scroll-left); }
.tabs.tabs--has-more-right { box-shadow: var(--elevation-scroll-right); }
.tabs.tabs--has-more-left.tabs--has-more-right { box-shadow: var(--elevation-scroll-both); }
.tab-btn { background: none; color: var(--muted); border: none; border-bottom: 3px solid transparent; border-radius: 0; padding: var(--space-2) 14px; font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); margin-bottom: -2px; cursor: pointer; white-space: nowrap; flex: 0 0 auto; }
.tab-btn:hover { background: var(--color-surface-sunken); color: var(--navy); }
.tab-btn.active { color: var(--navy); border-bottom-color: var(--orange); background: none; }
.tab-pane { display: none; min-width: 0; max-width: 100%; }
.tab-pane.active { display: block; }

/* ── Filter bar (item 44): controls above the results, chips, reset ───── */
.filter-bar { display: flex; flex-direction: column; gap: var(--space-2); margin-bottom: var(--space-3); }
.filter-bar-fields { display: flex; gap: var(--space-2); align-items: flex-end; flex-wrap: wrap; }
.filter-field { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.filter-field > span { font-size: var(--font-size-2xs); text-transform: uppercase; letter-spacing: var(--letter-spacing-caps); color: var(--muted); font-weight: var(--font-weight-semibold); }
.filter-field input[type=text], .filter-field input[type=search], .filter-field select { min-width: 140px; min-height: var(--control-height); }
.filter-field-toggle { flex-direction: row; align-items: center; gap: var(--space-2); min-height: var(--control-height); font-size: var(--font-size-sm); color: var(--txt); }
.filter-bar-meta { margin-left: auto; font-size: 12px; color: var(--muted); align-self: center; }
.desktop-filter-bar { align-items: flex-end; }
.desktop-filter-bar > :where(label, .filter-field) { text-align: start; }
.desktop-filter-bar > :where(input, select, label) { flex: 1 1 150px; min-width: 140px; max-width: 260px; }
.filter-chips { display: flex; gap: var(--space-1); flex-wrap: wrap; align-items: center; min-height: 0; }
.filter-chips:empty { display: none; }
.filter-chip { display: inline-flex; align-items: center; gap: 4px; border-radius: var(--radius-pill); background: var(--color-surface-sunken); color: var(--txt); padding: 3px 6px 3px 10px; font-size: var(--font-size-xs); line-height: 1.4; }
.filter-chip-key { color: var(--muted); }
.filter-chip-remove { border: 0; background: transparent; color: var(--muted); padding: 0 4px; font-size: 12px; line-height: 1; cursor: pointer; border-radius: var(--radius-circle); }
.filter-chip-remove:hover, .filter-chip-remove:focus-visible { color: var(--err); background: var(--color-danger-soft); }
.filter-reset { background: transparent; color: var(--navy); border: 1px solid var(--line); padding: 3px 10px; font-size: var(--font-size-xs); border-radius: var(--radius-pill); }
.filter-reset:hover { background: var(--color-surface-sunken); }

body.standard-home-workspace .inbox-queue .queue-label.clamp-2 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal;
}

/* The primary Home queue uses the document scroll and its existing Load more
   control, so neither queue names nor work items disappear in a nested pane. */
body.standard-home-workspace .dashboard-grid {
  align-items: start;
}

body.standard-home-workspace .priority-card {
  height: auto;
  min-height: 520px;
}

body.standard-home-workspace .priority-card .inbox {
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
}

body.standard-home-workspace .priority-card :where(.inbox-queues, .inbox-items) {
  min-height: 0;
  overflow-y: visible;
  scrollbar-gutter: auto;
}

body.standard-marketing-workspace select.marketing-expanded-options {
  height: auto;
  min-height: 0;
}

/* Intelligence bulk review keeps selected rows and query-wide actions in
   visibly separate scopes.  A query action must never look like it is limited
   by the checkbox selection beside it. */
body.standard-intelligence-workspace .signal-status-summary {
  margin: 0 0 var(--space-3);
  color: var(--muted);
  font-size: var(--font-size-sm);
  font-variant-numeric: tabular-nums;
}
body.standard-intelligence-workspace .signal-bulk-bar {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  align-items: stretch;
  gap: var(--space-3);
  margin: 0 0 var(--space-3);
  padding: var(--space-3);
  border: 1px solid var(--line);
  background: var(--color-surface-alt);
}
body.standard-intelligence-workspace .signal-bulk-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  min-width: 0;
  padding: var(--space-3);
  border: 1px solid var(--line);
  background: var(--color-surface);
}
body.standard-intelligence-workspace .signal-bulk-query-section {
  border-color: var(--gold);
  background: var(--color-stale-soft);
}
body.standard-intelligence-workspace .signal-bulk-section-title {
  color: var(--navy);
  font-size: var(--font-size-sm);
}
body.standard-intelligence-workspace :where(.signal-bulk-selection, .signal-bulk-primary, .signal-bulk-secondary) {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
  flex-wrap: wrap;
}
body.standard-intelligence-workspace .signal-bulk-selection label {
  min-height: var(--control-height-md);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}
body.standard-intelligence-workspace .signal-bulk-count { color: var(--navy); font-weight: var(--font-weight-bold); }
body.standard-intelligence-workspace .signal-bulk-hint {
  min-height: calc(2 * var(--line-height-snug) * 1em);
  color: var(--muted);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-snug);
}
body.standard-intelligence-workspace .signal-bulk-recovery {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  padding-top: var(--space-2);
  border-top: 1px solid var(--line);
}
body.standard-intelligence-workspace .action-scope-warning {
  margin: var(--space-3) 0;
  padding: var(--space-3);
  border: 1px solid var(--color-warning-line);
  background: var(--color-warning-soft);
  color: var(--ink);
  font-weight: var(--font-weight-semibold);
}
body.standard-intelligence-workspace .overview-signal-summary {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal;
  text-overflow: ellipsis;
  line-height: var(--line-height-snug);
}

@media (max-width: 900px) {
  body.standard-intelligence-workspace .signal-bulk-bar { grid-template-columns: minmax(0, 1fr); }
  body.standard-intelligence-workspace .signal-bulk-recovery { grid-column: 1; }
  body.standard-intelligence-workspace :where(.signal-bulk-primary, .signal-bulk-secondary) .btn {
    flex: 1 1 220px;
  }
}

@media (max-width: 600px) {
  .section-heading-row { align-items: flex-start; flex-wrap: wrap; }
  .section-heading-actions { width: 100%; margin-left: 0; }
}

/* ── Growing-list controls: range, page size, export and navigation ─── */
.list-controls { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; padding: var(--space-3) 0; border-top: 1px solid var(--line); }
.list-controls-leading, .list-controls-actions { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.list-page-size { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--muted); font-size: var(--font-size-sm); }
.list-page-size select { min-width: 72px; height: var(--control-height-md); }
.list-range { min-width: 120px; color: var(--muted); font-size: var(--font-size-sm); font-variant-numeric: tabular-nums; }
.list-controls .btn { min-height: var(--control-height-md); }
.list-controls .btn-icon {
  width: var(--control-height-md);
  min-width: var(--control-height-md);
  height: var(--control-height-md);
  padding: 0;
  display: inline-grid;
  place-items: center;
  flex: 0 0 var(--control-height-md);
}
.list-controls .btn-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.list-controls .btn-icon[data-list-export] { color: var(--color-success-ink); background: var(--color-success-soft); border-color: color-mix(in srgb, var(--color-success) 35%, var(--line)); }
.list-controls .btn-icon[data-list-export]:hover { color: var(--color-on-dark); background: var(--color-success); }
.list-controls .btn-icon[aria-busy="true"] svg { animation: list-control-busy .8s ease-in-out infinite alternate; }
.collection-list-toolbar { display:flex; align-items:end; gap:var(--space-2); flex-wrap:wrap; margin:var(--space-3) 0; }
.collection-list-toolbar label { display:grid; gap:var(--space-1); min-width:min(240px,100%); color:var(--muted); font-size:var(--font-size-xs); font-weight:var(--font-weight-semibold); }
.collection-list-toolbar input, .collection-list-toolbar select { min-height:var(--control-height-md); }
.list-controls.is-busy { opacity: .72; }
@keyframes list-control-busy { to { opacity: .35; transform: translateY(2px); } }
@media (prefers-reduced-motion: reduce) {
  .list-controls .btn-icon[aria-busy="true"] svg { animation: none; transform: none; }
}

/* Shared report workspace primitives. Analytics is the reference consumer;
   future reporting screens reuse these rather than defining their own cards,
   toolbars, segmented views and KPI geometry inside a template. */
.report-hero { display: flex; justify-content: space-between; gap: var(--space-4); align-items: flex-start; margin-bottom: var(--space-4); }
.report-hero h1 { margin: 0 0 var(--space-1); color: var(--navy); font-size: var(--font-size-2xl); }
.report-hero p { margin: 0; color: var(--muted); font-size: var(--font-size-sm); }
.report-toolbar {
  display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: end;
  padding: var(--space-3); margin-bottom: var(--space-4); border: 1px solid var(--line);
  border-radius: var(--radius-md); background: var(--color-canvas);
}
.report-toolbar label { display: grid; gap: var(--space-1); min-width: 130px; color: var(--muted); font-size: var(--font-size-xs); }
.report-toolbar input, .report-toolbar select { min-height: var(--control-height-md); }
.report-toolbar .grow { flex: 1 1 210px; }
.report-toolbar-actions { display: flex; gap: var(--space-2); margin-left: auto; }
.report-toolbar button, .view-toggle button { min-height: var(--control-height-md); }
.view-toggle { display: inline-flex; gap: 2px; padding: 2px; border-radius: var(--radius-sm); background: var(--color-surface-sunken); }
.view-toggle button { min-height: var(--control-height-md); padding: 4px 10px; border: 1px solid transparent; background: transparent; color: var(--txt); }
.view-toggle button:hover, .view-toggle button:focus-visible { border-color: var(--navy); background: var(--color-surface); color: var(--navy); }
.view-toggle button.active, .view-toggle button[aria-pressed="true"] { background: var(--color-surface); color: var(--navy); box-shadow: var(--elevation-card); }
.report-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); margin-bottom: var(--space-4); }
.report-kpi {
  position: relative; overflow: hidden; padding: 15px 16px; border: 1px solid var(--line);
  border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--elevation-card);
}
.report-kpi::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--navy); }
.report-kpi .value { display: block; margin-top: var(--space-1); color: var(--navy); font-size: 25px; font-weight: 750; font-variant-numeric: tabular-nums; }
.report-kpi .label { color: var(--muted); font-size: var(--font-size-xs); }
.report-kpi:is(button) { width: 100%; color: inherit; text-align: left; font: inherit; }
.report-kpi:is(button):hover, .report-kpi:is(button):focus-visible, .report-kpi:is(button)[data-active="1"] {
  border-color: var(--navy); background: var(--color-surface); color: var(--txt);
  outline: 2px solid color-mix(in srgb, var(--navy) 18%, transparent); filter: none; transform: none;
}
.report-split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: var(--space-4); margin-bottom: var(--space-4); }
.chart-detail { min-height: 260px; display: flex; flex-direction: column; justify-content: center; }
.chart-detail .detail-date { color: var(--muted); font-size: var(--font-size-sm); }
.chart-detail .detail-value { margin: var(--space-1) 0 var(--space-3); color: var(--navy); font-size: 36px; font-weight: 750; }
.chart-detail .detail-note { color: var(--muted); font-size: var(--font-size-sm); line-height: 1.5; }
.report-card-spaced { margin-top: var(--space-4); }
.report-card-following { margin-bottom: var(--space-4); }
.report-supporting-text { margin: 0 0 var(--space-3); color: var(--muted); font-size: var(--font-size-sm); }
.report-visualization-field > span { display: block; margin-bottom: var(--space-1); color: var(--muted); font-size: var(--font-size-xs); }

@media (max-width: 900px) {
  .report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-split { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .report-kpis { grid-template-columns: 1fr; }
  .report-toolbar > * { width: 100%; }
  .report-toolbar-actions { margin-left: 0; }
  .report-hero { display: block; }
}

/* Review batch shell: every decision queue shares the same spatial contract. */
.review-workspace-page.embedded,
html.embedded .review-workspace-page { background: transparent; }
html.embedded .review-workspace-page .hdr,
html.embedded .review-workspace-page .tabs,
html.embedded .review-workspace-page #review-intro { display: none; }
html.embedded .review-workspace-page .main { max-width: none; margin: 0; padding: 0; }
.review-workspace-page .main { max-width: none; width: 100%; padding: var(--space-5); }
.review-workspace-page .tabs {
  position: sticky; top: 0; z-index: 20; padding: var(--space-2);
  background: color-mix(in srgb, var(--card) 92%, transparent);
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  box-shadow: var(--elevation-sm); backdrop-filter: blur(18px);
}
.review-workspace-page .tab-pane > .card {
  border-radius: var(--radius-lg); box-shadow: var(--elevation-sm);
}
.review-workspace-page .table-wrap { border: 1px solid var(--line); border-radius: var(--radius-md); }
.review-table-fixed { width: 100%; table-layout: fixed; }
.review-select-column { width: 34px; }
.review-workspace-frame { display: block; width: 100%; height: calc(100vh - 150px); border: 0; background: transparent; }
.review-list-toolbar { display: flex; align-items: flex-end; gap: var(--space-3); flex-wrap: wrap; margin: var(--space-3) 0 0; }
.review-list-toolbar > [id$="-controls"] { flex: 1 1 420px; }
.review-list-search { display: flex; flex-direction: column; gap: 3px; min-width: min(260px, 100%); }
.review-list-search > span { font-size: var(--font-size-2xs); text-transform: uppercase; letter-spacing: var(--letter-spacing-caps); color: var(--muted); font-weight: var(--font-weight-semibold); }
.review-list-search input { min-height: var(--control-height-md); }
.review-workspace-page .server-sort-trigger { width: 100%; justify-content: space-between; text-align: left; }
.review-workspace-page .modal-overlay { align-items: stretch; justify-content: flex-end; padding: 0; }
.review-workspace-page .modal-overlay .modal {
  width: min(640px, 100%); max-width: min(640px, 100%); max-height: 100vh;
  margin: 0; border-radius: var(--radius-lg) 0 0 var(--radius-lg);
  box-shadow: var(--elevation-lg); overflow: auto;
}
.review-workspace-page .salesforce-review-frame {
  display: block;
  width: 100%;
  min-height: calc(100vh - 240px);
  border: 0;
  border-radius: var(--radius-lg);
  box-shadow: var(--elevation-sm);
}
.review-workspace-page .profile-grid { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 10px 14px; }
.review-workspace-page .profile-grid .wide { grid-column: 1 / -1; }
.review-workspace-page #profile-textarea { min-height: 320px; font-family: var(--font-family-mono); font-size: var(--font-size-sm); }
.review-workspace-page .profile-status { min-height: 18px; margin-top: var(--space-2); color: var(--muted); font-size: var(--font-size-xs); }
.review-workspace-page .profile-status.ok { color: var(--color-success); }
.review-workspace-page .profile-status.err { color: var(--color-danger); }
.review-workspace-page .impact-box { margin: var(--space-3) 0; padding: var(--space-3) var(--space-4); color: var(--color-warning-ink); background: var(--color-warning-soft); border: 1px solid var(--color-warning-line); border-radius: var(--radius-sm); font-size: var(--font-size-sm); }
.review-workspace-page .impact-box strong { display: block; margin-bottom: var(--space-1); }
.review-workspace-page .ai-panel { margin-top: var(--space-3); padding: 10px 12px; background: var(--color-surface-sunken); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.review-workspace-page .ai-panel-head { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-2); color: var(--muted); font-size: var(--font-size-xs); }
.review-workspace-page .ai-panel-head strong { color: var(--txt); }
.review-workspace-page .ai-notes { display: flex; gap: var(--space-2); align-items: flex-start; margin-top: var(--space-2); }
.review-workspace-page .ai-notes textarea { flex: 1; min-height: var(--control-height-md); }
.review-workspace-page .ai-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 8px 12px; padding: var(--space-2) 0; border-top: 1px solid var(--line); font-size: var(--font-size-xs); }
.review-workspace-page .ai-item:first-of-type { border-top: 0; }
.review-workspace-page .ai-item .ai-field { grid-column: 1 / -1; display: flex; align-items: center; gap: var(--space-2); font-weight: var(--font-weight-semibold); }
.review-workspace-page .ai-item .ai-value { white-space: pre-wrap; word-break: break-word; }
.review-workspace-page .ai-item .ai-label { display: block; margin-bottom: 2px; color: var(--muted); font-size: var(--font-size-micro); text-transform: uppercase; letter-spacing: var(--letter-spacing-caps); }
.review-workspace-page .ai-item .ai-suggested { padding: 6px 8px; background: var(--color-info-soft); border-radius: var(--radius-sm); }
.review-workspace-page .ai-item .ai-meta { grid-column: 1 / -1; color: var(--muted); }
.review-workspace-page .ai-item .ai-evidence { margin: var(--space-1) 0 0 var(--space-3); padding: 0; list-style: disc; }
.review-workspace-page .ai-item .ai-actions { display: flex; gap: 6px; align-items: flex-start; }
.review-workspace-page .ai-item:is([data-status="applied"], [data-status="dismissed"]) { opacity: .6; }
.review-workspace-page .audit-ts { color: var(--muted); font-size: var(--font-size-micro); white-space: nowrap; }
.review-workspace-page .audit-action { font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: var(--letter-spacing-caps); }
.review-workspace-page .audit-details { max-width: 340px; overflow: hidden; color: var(--muted); font-size: var(--font-size-xs); white-space: nowrap; text-overflow: ellipsis; }
.review-workspace-page :where(#pane-sources, #pane-terminology, #pane-accounts) :where(td, th) { overflow-wrap: anywhere; word-break: break-word; }
.review-workspace-page .actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-1); }
.review-workspace-page .field { margin-bottom: var(--space-4); }
.review-workspace-page .field > label { display: block; margin-bottom: var(--space-1); color: var(--muted); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); letter-spacing: .05em; text-transform: uppercase; }
.review-workspace-page .field :where(input:not([type="checkbox"]), select, textarea) { width: 100%; }
.review-workspace-page .field textarea { resize: vertical; }
.review-workspace-page .toast { position: fixed; right: var(--space-6); bottom: var(--space-6); z-index: var(--z-toast); padding: 10px 18px; color: var(--color-on-dark); pointer-events: none; opacity: 0; background: var(--navy); border-radius: var(--radius-sm); font-size: var(--font-size-sm); transition: opacity var(--motion-base); }
.review-workspace-page .toast.show { opacity: 1; }

/* Review candidates are decisions rather than generic database rows. */
.candidate-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: var(--space-1) 0 var(--space-5); padding: var(--space-3); background: var(--color-surface-sunken); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.candidate-guide-step { display: flex; gap: 9px; align-items: flex-start; min-width: 0; }
.candidate-guide-number { display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; color: var(--color-on-dark); background: var(--navy); border-radius: var(--radius-circle); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); }
.candidate-guide-step strong { display: block; margin-bottom: 2px; color: var(--ink); font-size: var(--font-size-xs); }
.candidate-guide-step span:last-child { color: var(--muted); font-size: var(--font-size-micro); line-height: 1.35; }
.candidate-table-wrap { min-height: 320px; max-height: calc(100vh - 330px); }
html.embedded .candidate-table-wrap { max-height: none; }
.candidate-table { border-collapse: separate; border-spacing: 0; }
.candidate-column-name { width: 20%; }
.candidate-column-evidence { width: 55%; }
.candidate-column-decision { width: 25%; }
.candidate-table th { position: sticky; top: 0; z-index: 2; }
.candidate-table td { padding: 18px 14px; vertical-align: top; }
.candidate-name { color: var(--ink); font-size: var(--font-size-md); line-height: 1.35; overflow-wrap: anywhere; }
.candidate-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: var(--space-2); }
.candidate-type { display: inline-flex; padding: 3px 7px; color: var(--muted); background: var(--color-surface-alt); border-radius: var(--radius-pill); font-size: var(--font-size-2xs); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-caps); text-transform: uppercase; }
.candidate-confidence { color: var(--muted); font-size: var(--font-size-2xs); }
.candidate-evidence-label, .candidate-choice-label { display: block; margin-bottom: 6px; color: var(--navy); font-size: var(--font-size-micro); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-caps); text-transform: uppercase; }
.candidate-evidence { color: var(--ink); font-size: var(--font-size-xs); line-height: 1.55; }
.candidate-source { display: inline-flex; margin-top: var(--space-2); font-size: var(--font-size-micro); font-weight: var(--font-weight-semibold); }
.candidate-choice-list { display: grid; gap: 7px; }
.candidate-match { display: flex; align-items: center; gap: 10px; width: 100%; min-height: var(--control-height-md); padding: 9px 10px; color: var(--ink); text-align: left; cursor: pointer; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.candidate-match:hover { background: var(--color-info-soft); border-color: var(--color-info); }
.candidate-match.recommended { border-color: var(--color-info); box-shadow: var(--elevation-info-inset); }
.candidate-match-name { flex: 1; min-width: 0; font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); line-height: 1.3; overflow-wrap: anywhere; }
.candidate-match-score { flex: 0 0 auto; color: var(--color-info-ink); font-size: var(--font-size-micro); font-weight: var(--font-weight-bold); }
.candidate-secondary-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.candidate-secondary-actions .btn { min-height: var(--control-height-md); line-height: 1.25; white-space: normal; }
.candidate-search { justify-content: center; width: 100%; margin-top: 7px; }

.review-toolbar-select { margin-left: auto; }
.review-section-description { margin: -8px 0 14px; color: var(--muted); font-size: var(--font-size-xs); line-height: 1.6; }
.review-section-description-relaxed { margin: var(--space-1) 0 10px; }
.review-table-limit { max-height: 600px; }
.review-col-9 { width: 9%; }
.review-col-10 { width: 10%; }
.review-col-12 { width: 12%; }
.review-col-14 { width: 14%; }
.review-col-15 { width: 15%; }
.review-col-20 { width: 20%; }
.review-col-27 { width: 27%; }
.review-empty-cell { padding: var(--space-5); color: var(--muted); text-align: center; }
.review-error-cell { color: var(--color-danger); }
.review-field-compact { max-width: 220px; }
.review-field-number { max-width: 120px; }
.review-modal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.review-modal-message { min-height: 18px; font-size: var(--font-size-sm); }
.review-modal-message.is-error { color: var(--color-danger); }
.review-candidate-summary { margin-bottom: 10px; color: var(--muted); font-size: var(--font-size-sm); }
.review-policy-note { margin: -4px 0 10px; color: var(--muted); font-size: var(--font-size-xs); }
.review-meta { color: var(--muted); font-size: var(--font-size-micro); }
.review-meta-spaced { margin-top: 3px; }
.review-badge-spaced { margin: 1px; }
.review-evidence-cell { max-width: 360px; font-size: var(--font-size-xs); line-height: 1.45; }
.review-score-breakdown { margin-top: 3px; color: var(--muted); font-size: var(--font-size-2xs); }
.review-cell-center { text-align: center; }
.review-cell-warning { color: var(--color-warning); }
.review-cell-success { color: var(--color-success); }
.review-cell-mono { max-width: 220px; overflow: hidden; font-family: var(--font-family-mono); font-size: var(--font-size-micro); text-overflow: ellipsis; }
.review-claim-source { font-size: var(--font-size-xs); }
.review-claim-text { max-width: 220px; font-size: var(--font-size-micro); }
.review-decision-cell { white-space: normal; }
.review-copy-muted { color: var(--muted); font-size: var(--font-size-xs); }
.review-action-accept { background: var(--color-success-ink); }
.review-action-neutral { background: var(--color-neutral-700); }
.kpi.review-kpi-success { border-top-color: var(--color-success); }
.kpi.review-kpi-success .v { color: var(--color-success); }
.kpi.review-kpi-warning { border-top-color: var(--color-warning); }
.kpi.review-kpi-warning .v { color: var(--color-warning); }
.kpi.review-kpi-danger { border-top-color: var(--color-danger); }
.kpi.review-kpi-danger .v { color: var(--color-danger); }
@media (max-width: 700px) {
  .hdr .hdr-sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .review-workspace-page .main { padding: var(--space-3); }
  .review-workspace-page .modal-overlay .modal { width: 100%; max-width: 100%; border-radius: 0; }
  .review-list-toolbar > [id$="-controls"] { flex-basis: 100%; }
  .review-workspace-page .profile-grid,
  .review-workspace-page .ai-item { grid-template-columns: 1fr; }
  .candidate-guide { grid-template-columns: 1fr; }
  .candidate-table thead { display: none; }
  .candidate-table, .candidate-table tbody, .candidate-table tr, .candidate-table td { display: block; width: 100%; }
  .candidate-table tr { margin-bottom: var(--space-3); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-sm); }
  .candidate-table td { padding: var(--space-3) var(--space-4); border: 0; }
  .candidate-table td + td { border-top: 1px solid var(--line); }
  .candidate-table-wrap { max-height: none; }
  .candidate-match,
  .candidate-secondary-actions .btn,
  .candidate-search { min-height: var(--control-height-touch); }
  .review-modal-grid { grid-template-columns: 1fr; }
  body.review-workspace-page :is(button, .btn, input:not([type="hidden"]):not([type="checkbox"]), select, textarea) { min-height: var(--control-height-touch); }
  .review-workspace-page .modal-footer { flex-wrap: wrap; }
  .review-workspace-page .modal-footer .btn { flex: 1 1 auto; }
  .review-workspace-page #profile-textarea { min-height: 220px; }
  .review-workspace-page .toast { right: var(--space-3); bottom: var(--space-3); left: var(--space-3); text-align: center; }
}

/* Account-quality is a compact status strip, not a generic KPI row. Keeping
   its own layout prevents labels and values from being joined visually when
   shared KPI geometry changes. */
.account-quality-summary { display: grid; gap: var(--space-2); margin: 0 0 var(--space-3); }
.account-quality-stats { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: var(--space-2); }
.account-quality-stat {
  min-width: 0;
  min-height: 62px;
  padding: 9px 12px;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  text-align: left;
  color: var(--txt);
  background: var(--color-surface-alt);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}
.account-quality-stat:not(.account-quality-stat-static):hover { color: var(--navy); background: var(--color-surface-tint); border-color: var(--color-line-hover); }
.account-quality-stat-value { flex: 0 0 auto; font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); line-height: 1; color: var(--navy); font-variant-numeric: tabular-nums; }
.account-quality-stat-label { min-width: 0; font-size: var(--font-size-xs); line-height: 1.25; color: var(--muted); }
.account-quality-stat[data-account-quality-summary="complete"] .account-quality-stat-value { color: var(--color-success); }
.account-quality-stat[data-account-quality-summary="partial"] .account-quality-stat-value { color: var(--color-warning); }
.account-quality-stat[data-account-quality-summary="critical"] .account-quality-stat-value { color: var(--color-danger); }
.account-quality-stat-static { cursor: default; }
.account-quality-details { display: grid; gap: 3px; padding: 9px 12px; color: var(--muted); background: var(--color-surface-alt); border: 1px solid var(--line); border-radius: var(--radius-md); font-size: var(--font-size-xs); line-height: 1.35; }
.account-quality-detail { margin: 0; overflow-wrap: anywhere; }
.account-quality-detail strong { color: var(--txt); font-weight: var(--font-weight-semibold); }

@media (max-width: 900px) {
  .account-quality-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .list-controls, .list-controls-leading, .list-controls-actions { align-items: stretch; }
  .list-controls-leading { align-items: center; }
  .list-controls-leading, .list-controls-actions { width: 100%; }
  .list-controls-actions .btn:not(.btn-icon) { flex: 1 1 auto; }
  .list-page-size { flex: 1 1 auto; justify-content: space-between; }
  .account-quality-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ── View states (item 45): six functionally distinct states ──────────── */
.view-state { display: flex; gap: var(--space-3); align-items: flex-start; border: 1px solid var(--line); border-left: 4px solid var(--muted); border-radius: var(--radius-md); padding: var(--space-4); background: var(--card); margin: var(--space-2) 0; font-size: var(--font-size-sm); }
.view-state-icon { flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center; border-radius: var(--radius-circle); background: var(--color-surface-sunken); color: var(--muted); font-weight: var(--font-weight-bold); font-size: var(--font-size-sm); }
.view-state-body { flex: 1; min-width: 0; }
.view-state-body strong { display: block; color: var(--navy); margin-bottom: 2px; }
.view-state-body p { margin: 0; color: var(--muted); }
.view-state-action { margin-top: var(--space-2); }
.view-state-action .btn, .view-state-action button, .view-state-action a { font-size: 12px; }
.view-state[data-state="empty"] { border-left-color: var(--color-muted); }
.view-state[data-state="empty"] .view-state-icon { background: var(--color-neutral-100); color: var(--color-muted); }
.view-state[data-state="incomplete"] { border-left-color: var(--color-warning); background: var(--color-warning-tint); }
.view-state[data-state="incomplete"] .view-state-icon { background: var(--color-warning-soft); color: var(--color-warning-ink); }
.view-state[data-state="stale"] { border-left-color: var(--color-stale); background: var(--color-stale-soft); }
.view-state[data-state="stale"] .view-state-icon { background: var(--color-gold-soft); color: var(--color-warning); }
.view-state[data-state="failed"] { border-left-color: var(--color-danger); background: var(--color-danger-tint); }
.view-state[data-state="failed"] .view-state-icon { background: var(--color-danger-soft); color: var(--color-danger); }
.view-state[data-state="no-results"] { border-left-color: var(--color-navy); background: var(--color-surface-alt); }
.view-state[data-state="no-results"] .view-state-icon { background: var(--color-info-soft); color: var(--color-info); }
.view-state[data-state="loading"] { border-left-color: var(--color-loading); border-style: dashed; color: var(--muted); }
.view-state[data-state="loading"] .view-state-icon { background: var(--color-surface-sunken); color: var(--color-loading); animation: view-state-pulse 1.2s ease-in-out infinite; }
@keyframes view-state-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.view-state-inline { padding: var(--space-2) var(--space-3); margin: 0; border-width: 0 0 0 3px; background: transparent; }
/* Legacy placeholders (no longer emitted by pages; kept for old markup) */
.empty { padding: var(--space-6); text-align: center; color: var(--muted); font-size: var(--font-size-sm); }
.loading { color: var(--muted); padding: var(--space-3) 0; font-size: var(--font-size-sm); }

/* ── Side panel (why / metric / account detail / help share this shell) ── */
.side-panel-backdrop, .why-backdrop { position: fixed; inset: 0; z-index: calc(var(--z-side-panel) - 1); background: var(--color-backdrop); }
.side-panel, .why-panel { position: fixed; right: 0; top: 0; bottom: 0; width: min(var(--side-panel-width), 100vw); z-index: var(--z-side-panel); background: var(--card); box-shadow: var(--elevation-md); padding: var(--space-6); overflow: auto; font-size: var(--font-size-sm); color: var(--txt); }
.side-panel h2, .why-panel h2 { margin: 0 var(--space-6) var(--space-3) 0; color: var(--navy); font-size: var(--font-size-md); }
.side-panel h3, .why-panel h3 { margin: var(--space-4) 0 var(--space-2); font-size: var(--font-size-sm); color: var(--navy); text-transform: uppercase; letter-spacing: .04em; }
.side-panel-close, .why-close { position: absolute; top: var(--space-3); right: var(--space-3); border: 1px solid var(--line); background: var(--card); color: var(--muted); width: 28px; height: 28px; padding: 0; border-radius: var(--radius-sm); cursor: pointer; }
.side-panel-close:hover, .why-close:hover { background: var(--color-surface-sunken); color: var(--navy); }
.side-panel-head { background: var(--navy); color: var(--color-on-dark); padding: var(--space-4) var(--space-5); margin: calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) var(--space-4); display: flex; align-items: flex-start; gap: var(--space-3); }
.side-panel-head h2 { color: var(--color-on-dark); margin: 0; flex: 1; font-size: var(--font-size-md); }
.side-panel-head .side-panel-close { position: static; border-color: var(--color-on-dark-line); background: transparent; color: var(--color-on-dark); }
.side-panel-section { margin-bottom: var(--space-4); }
.side-panel-section h3 { border-bottom: 1px solid var(--line); padding-bottom: var(--space-1); }
.side-panel-row { display: flex; justify-content: space-between; gap: var(--space-2); padding: 5px 0; border-bottom: 1px solid var(--stripe); font-size: var(--font-size-sm); }
.side-panel-row .label { color: var(--muted); }
.why-subject { margin: 0 0 var(--space-2); color: var(--muted); }
.why-score { margin: 0; font-size: var(--font-size-md); }
.why-score strong { font-size: 24px; color: var(--navy); }
.why-factor { padding: var(--space-2) 0; border-bottom: 1px solid var(--line); }
.why-factor-head { display: flex; justify-content: space-between; gap: var(--space-2); align-items: baseline; }
.why-factor-value { font-variant-numeric: tabular-nums; color: var(--navy); }
.why-factor-value small { color: var(--muted); font-weight: var(--font-weight-regular); }
.why-bar { height: 6px; background: var(--color-canvas); border-radius: var(--radius-pill); overflow: hidden; margin: var(--space-1) 0; }
.why-bar-fill { height: 100%; background: var(--color-success); border-radius: var(--radius-pill); }
.why-factor[data-direction="negative"] .why-bar-fill { background: var(--color-danger); }
.why-factor[data-direction="neutral"] .why-bar-fill { background: var(--muted); }
.why-factor-detail { margin: 0 0 var(--space-1); color: var(--muted); font-size: var(--font-size-xs); }
.why-evidence { margin: 0; padding-left: var(--space-4); font-size: var(--font-size-xs); }
.why-evidence li { margin: 2px 0; }
.why-evidence-type { display: inline-block; padding: 0 5px; border-radius: var(--radius-sm); background: var(--color-canvas); color: var(--muted); text-transform: uppercase; font-size: var(--font-size-2xs); letter-spacing: .04em; }
.why-evidence-missing { margin: 0; color: var(--color-warning); font-size: var(--font-size-xs); }
.why-missing { margin: 0; padding-left: var(--space-4); color: var(--color-warning); }
.why-method { margin-top: var(--space-4); color: var(--muted); }
.why-loading { color: var(--muted); }
.why-button { border: 1px solid var(--line); background: transparent; color: var(--navy); padding: 2px 6px; font-size: var(--font-size-xs); border-radius: var(--radius-sm); cursor: pointer; line-height: 1.2; vertical-align: middle; }
.why-button:hover, .why-button:focus-visible { border-color: var(--navy); background: var(--color-canvas); outline: 2px solid var(--gold); outline-offset: 1px; }
.score { white-space: nowrap; }
.score-value { font-variant-numeric: tabular-nums; }
.metric-info { border: 0; background: transparent; color: var(--muted); padding: 0 2px; font-size: var(--font-size-xs); cursor: pointer; vertical-align: baseline; line-height: 1; }
.metric-info:hover, .metric-info:focus-visible { color: var(--navy); outline: 2px solid var(--gold); outline-offset: 1px; border-radius: var(--radius-sm); background: transparent; }
.metric-info-popover { position: absolute; z-index: var(--z-popover); width: min(330px, calc(100vw - 16px)); background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--elevation-md); padding: var(--space-4); font-size: var(--font-size-sm); color: var(--txt); }
.metric-info-popover .why-close { top: var(--space-2); right: var(--space-2); }
.metric-info-title { margin: 0 var(--space-6) var(--space-1) 0; font-size: var(--font-size-sm); color: var(--navy); }
.metric-info-description { margin: 0 0 var(--space-2); color: var(--muted); font-size: var(--font-size-xs); }
.metric-info-row { display: flex; justify-content: space-between; gap: var(--space-3); padding: 2px 0; border-top: 1px solid var(--line); font-size: var(--font-size-xs); }
.metric-info-row strong { color: var(--navy); text-align: right; word-break: break-word; }
.metric-tile { display: block; }

/* ── Modal / dialog ───────────────────────────────────────────────────── */
.modal-overlay, .overlay { display: none; position: fixed; inset: 0; background: var(--color-backdrop); z-index: var(--z-modal); align-items: center; justify-content: center; padding: var(--space-4); }
.modal-overlay.open, .overlay.open { display: flex; }
.modal { background: var(--card); border-radius: var(--radius-lg); box-shadow: var(--elevation-md); width: min(640px, 100%); max-height: 90vh; overflow: auto; padding: var(--space-6); border-top: 4px solid var(--navy); }
.modal h3 { margin: 0 0 var(--space-3); font-size: var(--font-size-md); color: var(--navy); }
.modal-footer { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-4); }
.modal-footer .btn { min-width: 90px; }
.msg, .o-msg, .gen-msg, .deliv-msg, .rd-msg > div { display: none; font-size: 12px; padding: var(--space-2) var(--space-3); line-height: var(--line-height-normal); margin-bottom: var(--space-3); border: 1px solid transparent; border-radius: var(--radius-md); }
.msg.ok, .o-msg.ok, .gen-msg.ok, .deliv-msg.ok, .rd-msg .ok { display: block; background: var(--color-success-soft); color: var(--color-success-ink); border-color: var(--color-success-line); }
.msg.held, .o-msg.held, .gen-msg.held, .deliv-msg.held, .msg.warn { display: block; background: var(--color-warning-soft); color: var(--color-warning-ink); border-color: var(--color-warning-line); }
.msg.err, .o-msg.err, .gen-msg.err, .deliv-msg.err, .rd-msg .err { display: block; background: var(--color-danger-soft); color: var(--color-danger-ink); border-color: var(--color-danger-line); }

/* ── Markdown document rendering (dossier + content) ──────────────────── */
.md-doc { max-width: 860px; margin: 0 auto; padding: var(--space-6) var(--space-8) var(--space-12); font-size: var(--font-size-md); line-height: var(--line-height-relaxed); color: var(--ink); }
.md-doc h1, .md-doc h2 { color: var(--navy); border-bottom: 2px solid var(--gold); padding-bottom: var(--space-2); margin: 26px 0 14px; font-weight: var(--font-weight-bold); }
.md-doc h1 { font-size: 24px; margin-top: 6px; }
.md-doc h2 { font-size: 19px; }
.md-doc h3 { color: var(--navy); font-size: 16px; font-weight: var(--font-weight-semibold); margin: 20px 0 8px; }
.md-doc h4 { color: var(--ink); font-size: 14.5px; font-weight: var(--font-weight-semibold); margin: 14px 0 6px; }
.md-doc p { margin: 0 0 12px; }
.md-doc a { color: var(--orange); text-decoration: none; }
.md-doc a:hover { text-decoration: underline; }
.md-doc strong { color: var(--navy); }
.md-doc ul, .md-doc ol { padding-left: 24px; margin: 0 0 12px; }
.md-doc li { margin-bottom: 4px; }
.md-doc li > ul, .md-doc li > ol { margin: 4px 0 0; }
.md-doc code { font-family: var(--font-family-mono); font-size: var(--font-size-sm); background: var(--color-neutral-100); border: 1px solid var(--color-neutral-200); border-radius: var(--radius-sm); padding: 1px 5px; }
.md-doc pre { background: var(--color-neutral-100); border: 1px solid var(--color-neutral-200); border-radius: var(--radius-sm); padding: 12px 14px; overflow-x: auto; margin: 0 0 14px; }
.md-doc pre code { background: none; border: 0; padding: 0; font-size: 12.5px; line-height: 1.55; }
.md-doc blockquote { border-left: 4px solid var(--gold); background: var(--color-gold-soft); margin: 0 0 14px; padding: 10px 16px; color: var(--color-neutral-600); }
.md-doc hr { border: 0; border-top: 1px solid var(--line); margin: 22px 0; }
.md-doc .table-wrap { overflow-x: auto; margin: 0 0 16px; }
.md-doc table { font-size: var(--font-size-base); }
.md-doc thead th { padding: 9px 12px; }
.md-doc td { padding: 8px 12px; vertical-align: top; }

/* ── Footer ───────────────────────────────────────────────────────────── */
.footer { text-align: center; font-size: var(--font-size-xs); color: var(--muted); padding: var(--space-5) 0 var(--space-10); }
.capability-hidden { display: none !important; }

/* ── Scrollbare lijsten: max ±15-20 rijen, daarna eigen scrollbar ────────── */
.scroll-list { max-height: 620px; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.scroll-list::-webkit-scrollbar { width: 8px; }
.scroll-list::-webkit-scrollbar-thumb { background: var(--color-line-strong); border-radius: var(--radius-sm); }

/* ── Inklapbare secties (status in localStorage via platform.js) ─────────── */
.collapse-head { cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent; }
.collapse-head:hover { opacity: .85; }
.collapse-caret { margin-left: auto; padding-left: 8px; font-size: 12px; color: var(--muted); }
/* Contract: de titel/header is een DIRECT kind van het [data-collapse]-element;
   ingeklapt verbergt alles behalve die header. */
[data-collapse].collapsed > *:not(.collapse-head) { display: none !important; }
[data-collapse].collapsed { padding-bottom: 10px; }

/* ── Responsive (shared, platform-wide) ─────────────────────────────────── */
@media (max-width: 900px) {
  .layout { grid-template-columns: minmax(0, 1fr); min-height: 0; align-content: start; }
  .layout .side { width: 100% !important; }

  /* Main navigation uses a left-hand off-canvas drawer on touch widths.
     The brand and hamburger own the first row; secondary header controls
     wrap below them, so the controller always remains flush right. */
  .hdr { flex-wrap: wrap; overflow: visible; padding: 10px 12px; gap: 8px; }
  .hdr-brand { order: 1; flex: 1 1 140px; width: auto; min-width: 0; }
  .nav-toggle {
    order: 1; display: inline-flex; margin-left: auto; position: relative;
    z-index: var(--z-popover);
  }
  .hdr::after { content: ""; order: 2; flex: 0 0 100%; height: 0; }
  .hdr > :not(.hdr-brand):not(.nav-toggle):not(.nav) { order: 3; }
  .hdr .language-switch { margin-left: 0; }
  .hdr.nav-open { z-index: var(--z-side-panel); }
  .nav {
    position: fixed; inset: 0 auto 0 0; z-index: var(--z-side-panel);
    margin-left: 0; width: min(82vw, 360px); height: 100dvh; flex: 0 0 auto;
    display: flex; flex-direction: column; align-items: stretch; gap: 4px;
    max-height: none; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
    padding: max(72px, calc(env(safe-area-inset-top) + 60px)) 16px
      max(20px, env(safe-area-inset-bottom));
    background: var(--color-navy-dark); border-right: 1px solid var(--color-on-dark-line);
    box-shadow: var(--elevation-md); visibility: hidden; pointer-events: none;
    transform: translateX(-104%);
    transition: transform var(--motion-base) var(--motion-ease),
                visibility 0s linear var(--motion-base);
  }
  .hdr.nav-open .nav {
    visibility: visible; pointer-events: auto; transform: translateX(0);
    transition-delay: 0s;
  }
  .hdr.nav-open .nav-toggle {
    position: fixed; top: max(12px, env(safe-area-inset-top));
    right: max(12px, env(safe-area-inset-right));
  }
  .mobile-nav-backdrop {
    display: block; position: fixed; inset: 0; z-index: var(--z-dropdown); border: 0; padding: 0;
    background: var(--color-backdrop-strong);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity var(--motion-base) var(--motion-ease),
                visibility 0s linear var(--motion-base);
  }
  body.mobile-nav-open { overflow: hidden; }
  body.mobile-nav-open .mobile-nav-backdrop {
    opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s;
  }
  .nav a {
    flex: 0 0 auto; width: 100%; white-space: normal;
    min-height: 44px; display: flex; align-items: center;
    padding: 11px 12px; border-bottom: 1px solid var(--color-on-dark-line);
    border-radius: 0;
  }

  /* Every workspace submenu lives inside the hamburger drawer. Page sidebars
     stay in the DOM for routing/state, but are not duplicated as separate
     mobile controls or page blocks. */
  .layout > .sidebar, .layout > .sidebar.open, .sidebar-toggle,
  .sidebar-mobile-toggle, [data-mobile-nav-source] { display: none !important; }
  .mobile-nav-workspace-group { display: flex; flex: 0 0 auto; flex-direction: column; width: 100%; }
  .mobile-nav-workspace-row { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: stretch; }
  .nav .mobile-nav-workspace-link { grid-column: 1 / -1; grid-row: 1; padding-right: 54px; }
  .mobile-nav-submenu-toggle {
    grid-column: 2; grid-row: 1; z-index: 1; min-width: 44px; min-height: 44px;
    display: inline-flex; align-items: center; justify-content: center; padding: 0;
    border: 0; border-left: 1px solid var(--color-on-dark-line); border-radius: 0;
    background: transparent; color: var(--color-on-dark); cursor: pointer;
  }
  .mobile-nav-submenu-toggle:hover,
  .mobile-nav-submenu-toggle:focus-visible { background: var(--color-on-dark-wash); }
  .mobile-nav-submenu-toggle span {
    width: 9px; height: 9px; border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor; transform: rotate(45deg) translate(-2px, -2px);
    transition: transform var(--motion-fast) var(--motion-ease);
  }
  .mobile-nav-workspace-group.submenu-open .mobile-nav-submenu-toggle span {
    transform: rotate(225deg) translate(-2px, -2px);
  }
  .mobile-nav-submenu {
    display: flex; flex-direction: column; gap: 2px; margin: -4px 0 8px 18px;
    padding: 4px 0 8px 10px; border-left: 2px solid var(--color-on-dark-line-strong);
  }
  .mobile-nav-submenu[hidden] { display: none; }
  .mobile-nav-submenu-label {
    padding: 10px 10px 4px; color: var(--color-on-dark-faint);
    font-size: var(--font-size-2xs); font-weight: var(--font-weight-semibold);
    letter-spacing: .08em; text-transform: uppercase;
  }
  .nav .mobile-nav-submenu-item {
    width: 100%; min-height: 40px; display: flex; align-items: center;
    padding: 8px 10px; border: 0; border-radius: var(--radius-sm);
    background: transparent; color: var(--color-on-dark-muted); font: inherit;
    font-size: var(--font-size-xs); line-height: var(--line-height-snug);
    text-align: left; text-decoration: none; border-bottom: 0;
  }
  .nav .mobile-nav-submenu-item:hover,
  .nav .mobile-nav-submenu-item:focus-visible { background: var(--color-on-dark-wash); color: var(--color-on-dark); }
  .nav .mobile-nav-submenu-item.active {
    background: var(--color-on-dark-wash-strong); color: var(--color-on-dark);
    box-shadow: var(--elevation-inset-accent);
  }
  .nav .mobile-nav-submenu-count {
    margin-left: auto; padding: 1px 6px; border-radius: var(--radius-pill);
    background: var(--color-on-dark-wash-strong); color: var(--color-on-dark);
    font-size: var(--font-size-2xs); font-weight: var(--font-weight-semibold);
  }

  /* Tables: scroll inside their wrapper, never stretch the page */
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
  table.tbl { min-width: 560px; }
}

/* Persistent workspace navigation: the chrome remains interactive while the
   content outlet gets a subtle progress state. Reduced-motion users receive
   the same feedback without a transition. */
html.workspace-navigating #workspace-outlet {
  opacity: .58;
  pointer-events: none;
  transition: opacity 80ms ease-out;
}
@media (prefers-reduced-motion: reduce) {
  html.workspace-navigating #workspace-outlet { transition: none; }
  .nav, .mobile-nav-backdrop { transition: none !important; }
}

@media (max-width: 600px) {
  .hdr { padding: 12px 16px; }

  /* KPI cards wrap two-up */
  .kpi-row { flex-wrap: wrap; }
  .kpi { flex: 1 1 40%; min-width: 0; }

  /* Touch targets; 16px input font prevents iOS focus-zoom */
  input[type=text], input[type=search], select, textarea { min-height: 40px; font-size: 16px; }
  button, .btn { min-height: 40px; }

  /* Modals / overlays never wider than the viewport */
  .modal, [role=dialog] { max-width: 100vw; margin: 8px; }
  .management-workspace :where(button, .btn, select, textarea),
  .management-workspace input:not([type="checkbox"]):not([type="hidden"]) { min-height: var(--control-height-md); }
}

/* ── Gedeeld documentpaneel (actieve viewport rechts van het submenu) ── */
body.doc-panel-open { overflow: hidden; }
#shared-doc-panel { position: fixed; top:var(--doc-panel-top,0); left:var(--doc-panel-left,0); right:0; bottom:0; margin:0; max-width:none; padding:0; background:var(--color-surface); z-index:var(--z-doc-panel); display:none; }
#shared-doc-panel.open { display: flex; }
#shared-doc-panel .sdp-dialog { width:100%; height:100%; min-height:0; display:flex; flex-direction:column; overflow:hidden; background:var(--color-surface); border:0; border-left:1px solid var(--color-line-strong); border-radius:0; box-shadow:var(--elevation-panel); }
#shared-doc-panel .sdp-focus-sentinel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#shared-doc-panel .sdp-head { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--navy); color: var(--color-on-dark); flex: 0 0 auto; }
#shared-doc-panel .sdp-titles { flex: 1; min-width: 0; display: flex; flex-direction: column; }
#shared-doc-panel .sdp-title { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#shared-doc-panel .sdp-meta { font-size: 11px; opacity: .75; }
#shared-doc-panel .sdp-btn { background: none; border: none; color: var(--color-on-dark); font-size: 14px; cursor: pointer; padding: 4px 8px; flex: 0 0 auto; }
#shared-doc-panel .sdp-btn:hover { opacity: .8; }
#shared-doc-panel .sdp-body { flex: 1; overflow: auto; min-height: 0; }
#shared-doc-panel .sdp-body iframe { width: 100%; height: 100%; border: none; display: block; }
#shared-doc-panel .sdp-pre { padding: 14px; font-size: 12px; white-space: pre-wrap; word-break: break-word; margin: 0; }
#shared-doc-panel .sdp-msg { padding: 20px; color: var(--color-muted); font-size: 13px; }
@media (max-width: 600px) {
  #shared-doc-panel { --doc-panel-top:0px!important; --doc-panel-left:0px!important; }
  #shared-doc-panel .sdp-dialog { border:0; }
}

/* ── Global search palette ── */
.search-backdrop { position: fixed; inset: 0; background: var(--color-backdrop); z-index: var(--z-palette); display: flex; align-items: flex-start; justify-content: center; padding-top: 80px; }
.search-box { background: var(--color-surface); width: min(600px, 90vw); border-radius: var(--radius-sm); box-shadow: var(--elevation-lg); overflow: hidden; display: flex; flex-direction: column; max-height: 60vh; }
.search-input-wrap { display: flex; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--color-neutral-200); gap: 10px; }
.search-input-wrap span { font-size: 18px; }
#palette-input { flex: 1; font-size: 16px; border: none; outline: none; background: transparent; }
.search-results { overflow-y: auto; flex: 1; }
.search-group-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--color-muted-soft); padding: 10px 16px 4px; }
.search-result-item { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; column-gap: 10px; row-gap: 2px; padding: 9px 16px; cursor: pointer; font-size: 13px; color: inherit; text-decoration: none; }
.search-result-item:hover, .search-result-item.selected { background: var(--color-info-tint); }
.search-result-item .sri-icon { grid-row: 1 / span 2; font-size: 16px; width: 20px; text-align: center; }
.search-result-item .sri-name { min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
.search-result-item .sri-sub { min-width: 0; color: var(--color-muted); font-size: 11px; line-height: 1.35; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: anywhere; }
.search-empty { padding: 24px; text-align: center; color: var(--color-muted-soft); font-size: 13px; }

/* Contextual help: one discoverable explanation layer for every workspace. */
.context-help-button { flex-shrink:0; margin-left:8px; display:inline-flex; align-items:center; gap:6px; background:transparent; border:1px solid var(--color-on-dark-line-strong); padding:5px 9px; }
.context-help-button:hover, .context-help-button[aria-expanded="true"] { background:var(--color-on-dark-wash); }
.feedback-button { flex-shrink:0; margin-left:6px; background:transparent; border:1px solid var(--color-on-dark-line-strong); color:var(--color-on-dark); padding:5px 9px; border-radius:var(--radius-sm); cursor:pointer; }
.feedback-button:hover { background:var(--color-on-dark-wash); }
.feedback-dialog-backdrop { position:fixed; inset:0; z-index:var(--z-modal); background:var(--color-backdrop-strong); display:flex; align-items:center; justify-content:center; padding:var(--space-4); }
.feedback-dialog { width:min(600px,100%); max-height:90vh; overflow:auto; background:var(--card); border-radius:var(--radius-lg); border-top:4px solid var(--navy); box-shadow:var(--elevation-md); padding:var(--space-6); }
.feedback-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); }
.feedback-dialog-head h2 { margin:0; color:var(--navy); font-size:var(--font-size-lg); }
.feedback-dialog-close { border:0; background:transparent; cursor:pointer; font-size:18px; }
.feedback-dialog label { display:grid; gap:5px; margin-top:var(--space-3); font-size:var(--font-size-sm); font-weight:600; }
.feedback-dialog input,.feedback-dialog select,.feedback-dialog textarea { width:100%; padding:8px; border:1px solid var(--line); border-radius:var(--radius-sm); font:inherit; }
.feedback-dialog .feedback-checkbox { display:flex; grid-template-columns:auto 1fr; align-items:center; font-weight:400; }
.feedback-dialog .feedback-checkbox input { width:auto; }
.feedback-privacy { color:var(--muted); font-size:var(--font-size-xs); }
.feedback-dialog-footer { display:flex; align-items:center; justify-content:flex-end; gap:var(--space-2); margin-top:var(--space-4); }
.feedback-dialog-status { flex:1; color:var(--muted); font-size:var(--font-size-xs); overflow-wrap:anywhere; }
.context-help-intro { margin:0 0 14px; padding:12px 14px; border:1px solid var(--color-line); border-left:4px solid var(--orange); border-radius:var(--radius-md); background:var(--color-surface-alt); color:var(--color-neutral-600); font-size:13px; line-height:1.5; }
.context-help-intro strong { color:var(--navy); }
.context-help-block-button { display:inline-grid; place-items:center; width:24px; min-width:24px; height:24px; min-height:24px; margin-left:8px; padding:0; border:1px solid var(--color-line-strong); border-radius:50%; background:var(--color-surface); color:var(--color-blue); font-size:13px; font-weight:800; line-height:1; vertical-align:middle; cursor:pointer; }
.context-help-block-button:hover,.context-help-block-button:focus-visible { border-color:var(--color-blue); background:var(--color-info-tint); outline:2px solid transparent; box-shadow:0 0 0 3px var(--color-accent-ring); }
.form > .context-help-block-button,.form-grid > .context-help-block-button,form.grid > .context-help-block-button { grid-column:1 / -1; justify-self:start; margin:0 0 var(--space-2); }
.kpi-grid > .context-help-block-button { grid-column:1 / -1; justify-self:start; margin:0 0 var(--space-2); }
.dossier-head > .context-help-block-button { flex:0 0 auto; align-self:flex-start; margin-left:0; }
.context-help-block-backdrop { position:fixed; inset:0; z-index:var(--z-help); display:grid; place-items:center; padding:var(--space-4); background:var(--color-backdrop); }
.context-help-block-dialog { width:min(520px,100%); max-height:min(560px,calc(100vh - 32px)); overflow:auto; margin:0; padding:0; border:1px solid var(--color-line-strong); border-radius:var(--radius-lg); background:var(--color-surface); box-shadow:var(--elevation-lg); }
.context-help-block-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-3); padding:16px 18px; background:var(--navy); color:var(--color-on-dark); }
.context-help-block-dialog-head h2 { margin:0; font-size:18px; line-height:1.35; }
.context-help-block-close { flex:0 0 auto; min-width:32px; min-height:32px; padding:3px 8px; border:0; background:transparent; color:var(--color-on-dark); font-size:20px; cursor:pointer; }
.context-help-block-close:hover,.context-help-block-close:focus-visible { background:var(--color-on-dark-wash); outline:2px solid var(--color-on-dark); }
.context-help-block-dialog > p { margin:0; padding:20px; color:var(--color-neutral-600); font-size:14px; line-height:1.6; }
.context-help-annotated:focus-visible { outline:3px solid var(--color-accent-ring); outline-offset:2px; }
.context-help-highlight { animation:context-help-pulse 1.4s ease-out; }
@keyframes context-help-pulse { 0%,45% { box-shadow:0 0 0 4px var(--color-accent-ring); } 100% { box-shadow:none; } }
.context-help-backdrop { position:fixed; inset:0; z-index:var(--z-help); background:var(--color-backdrop); display:flex; justify-content:flex-end; }
.context-help-panel { width:min(520px,100vw); height:100%; background:var(--color-surface); box-shadow:var(--elevation-panel); display:flex; flex-direction:column; }
.context-help-head { display:flex; align-items:flex-start; gap:12px; padding:18px 20px; background:var(--navy); color:var(--color-on-dark); }
.context-help-head-copy { flex:1; min-width:0; }
.context-help-head h2 { margin:0; font-size:18px; }
.context-help-head p { margin:5px 0 0; color:var(--color-on-dark-muted); font-size:12px; line-height:1.4; }
.context-help-head .context-help-schema { display:inline-block; margin-top:9px; padding:3px 7px; border:1px solid var(--color-on-dark-line); border-radius:999px; color:var(--color-on-dark); font-size:11px; }
.context-help-head .context-help-schema[hidden] { display:none; }
.context-help-close { background:transparent; color:var(--color-on-dark); font-size:20px; padding:2px 7px; }
.context-help-close:hover { background:var(--color-on-dark-wash); }
.context-help-visibility { display:flex; align-items:flex-start; gap:10px; padding:12px 20px; border-bottom:1px solid var(--line); background:var(--color-surface-alt); cursor:pointer; }
.context-help-visibility input { width:auto; flex:0 0 auto; margin-top:2px; }
.context-help-visibility span { display:grid; gap:2px; }
.context-help-visibility strong { color:var(--navy); font-size:13px; }
.context-help-visibility small { color:var(--muted); font-size:11px; line-height:1.35; }
html.context-help-inline-hidden .context-help-intro,
html.context-help-inline-hidden .context-help-block-button { display:none !important; }
.context-help-tabs { display:flex; gap:4px; padding:10px 20px 0; border-bottom:1px solid var(--line); background:var(--color-surface); }
.context-help-tab { padding:9px 12px; border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; color:var(--muted); }
.context-help-tab.active { border-bottom-color:var(--orange); color:var(--navy); }
.context-help-body { flex:1; min-height:0; overflow:auto; padding:18px 20px 28px; }
.context-help-tabpanel { display:none; }
.context-help-tabpanel.active { display:block; }
.context-help-manual-loading { color:var(--muted); padding:20px 0; }
.context-help-screen { margin:0 0 18px; padding:14px; border-radius:var(--radius-md); background:var(--color-surface-alt); border:1px solid var(--line); font-size:13px; line-height:1.5; }
.context-help-screen strong { display:block; margin-bottom:4px; color:var(--navy); }
.context-help-options-title { margin:0 0 8px; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.context-help-block-list { margin-bottom:20px; }
.context-help-list { display:grid; gap:7px; }
.context-help-item { width:100%; text-align:left; display:block; padding:10px 12px; background:var(--color-surface); color:var(--txt); border:1px solid var(--line); }
.context-help-item:hover { background:var(--color-surface-alt); border-color:var(--color-line-hover); }
.context-help-item-name { display:block; color:var(--navy); font-weight:700; margin-bottom:3px; }
.context-help-item-desc { display:block; color:var(--color-neutral-600); font-size:12px; line-height:1.4; font-weight:400; }
.context-help-empty { color:var(--muted); font-size:13px; }
.help-manual-page { margin:0; background:var(--color-surface-alt); }
.help-manual-page[data-help-pending] { visibility:hidden; }
.help-manual { width:min(920px,100%); margin:0 auto; padding:28px 24px 48px; color:var(--txt); }
.help-manual-intro { margin-bottom:18px; }
.help-manual-intro h1 { margin:3px 0 8px; color:var(--navy); font-size:28px; }
.help-manual-intro p { max-width:760px; line-height:1.6; color:var(--color-neutral-600); }
.help-manual-kicker { margin:0; color:var(--orange) !important; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.help-manual-toc { display:flex; flex-wrap:wrap; gap:7px; margin:20px 0; padding:14px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--color-surface); }
.help-manual-toc strong { width:100%; color:var(--navy); }
.help-manual-toc a { padding:5px 9px; border-radius:999px; background:var(--color-surface-alt); color:var(--navy); text-decoration:none; font-size:12px; }
.help-manual-chapter { scroll-margin-top:16px; margin:14px 0; padding:20px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--color-surface); }
.help-manual-chapter h2 { display:flex; align-items:center; gap:10px; margin:0 0 12px; color:var(--navy); font-size:19px; }
.help-manual-chapter h2 span { display:inline-grid; place-items:center; width:27px; height:27px; border-radius:50%; background:var(--orange); color:white; font-size:12px; }
.help-manual-chapter h3 { margin:16px 0 5px; color:var(--navy); font-size:14px; }
.help-manual-chapter p { margin:5px 0; color:var(--color-neutral-600); font-size:13px; line-height:1.58; }
.help-manual-note { margin-top:14px; padding:11px 13px; border-left:4px solid var(--orange); background:var(--color-surface-alt); color:var(--color-neutral-600); font-size:13px; line-height:1.5; }
.help-manual-full-link { margin:16px 0 0; text-align:right; font-size:12px; }
.context-help-panel .help-manual { width:auto; margin:0; padding:0; }
.context-help-panel .help-manual-intro h1 { font-size:21px; }
.context-help-panel .help-manual-toc { margin-top:12px; }
.context-help-panel .help-manual-chapter { padding:15px; }

@media (max-width: 600px) {
  .header-search span { display:none; }
  .header-search { padding:6px 9px; }
  .context-help-button { padding:6px 9px; }
  .context-help-body { padding:14px; }
  .help-manual { padding:20px 14px 36px; }
}

/* Guarded action preview modal (item 49) */
.action-modal-backdrop { position:fixed; inset:0; background:var(--color-backdrop-strong); z-index:var(--z-modal); display:flex; align-items:center; justify-content:center; padding:var(--space-4); }
.action-modal { background:var(--card); border-radius:var(--radius-lg); box-shadow:var(--elevation-md); width:min(640px,100%); max-height:90vh; overflow:auto; padding:var(--space-6); border-top:4px solid var(--navy); }
.action-modal h2 { margin:0 0 var(--space-2); font-size:17px; color:var(--navy); }
.action-modal h3 { margin:var(--space-4) 0 var(--space-2); font-size:13px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.action-modal .action-description { color:var(--muted); margin:0 0 var(--space-3); font-size:13px; }
.action-kind { display:inline-block; font-size:11px; font-weight:700; padding:2px 8px; border-radius:var(--radius-sm); background:var(--bg); color:var(--navy); }
.action-kind[data-kind="destructive"] { background:var(--color-danger-soft); color:var(--err); }
.action-table-wrap { max-height:220px; overflow:auto; border:1px solid var(--line); border-radius:var(--radius-sm); }
.action-table td { padding:6px 10px; font-size:13px; border-bottom:1px solid var(--line); }
.action-table .action-meta { color:var(--muted); font-size:11px; }
.action-deps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; font-size:13px; }
.action-deps li { display:flex; justify-content:space-between; gap:8px; border-bottom:1px dotted var(--line); padding:3px 0; }
.action-warnings { margin:var(--space-3) 0 0; padding-left:18px; color:var(--warn); font-size:13px; }
.action-cost, .action-more, .action-empty { font-size:13px; color:var(--muted); margin:var(--space-2) 0 0; }
.action-error { color:var(--err); font-size:13px; min-height:0; margin-top:var(--space-3); }
.action-error:empty { display:none; }
.action-confirm { margin-top:var(--space-4); display:flex; flex-direction:column; gap:6px; font-size:13px; }
.action-confirm label { font-weight:600; }
.action-confirm-row { display:flex; gap:8px; align-items:stretch; }
.action-confirm input { font:inherit; padding:8px 10px; border:1px solid var(--line); border-radius:var(--radius-sm); flex:1 1 auto; min-width:0; }
.action-confirm-row button { flex:0 0 auto; }
.action-confirm-hint { margin:0; color:var(--err); min-height:16px; }
.action-confirm-hint:empty { display:none; }
.action-confirm-hint.action-confirm-hint-ok { color:var(--ok); }
.action-buttons { display:flex; justify-content:flex-end; gap:var(--space-2); margin-top:var(--space-4); }
.action-buttons button[disabled] { opacity:.5; cursor:not-allowed; }

/* ── Interfaceversie: "Vernieuwd" shell refinements (UI-PLAN.md Fase 2 slice) ──
   Gated entirely behind html[data-ui-layout="refreshed"] (see
   platform.js applyUiLayout()), so "Origineel" is simply the absence of
   this block -- nothing above this point changes for it. Additive only:
   layers depth/motion/focus refinement on top of the existing header and
   nav rules rather than replacing them, so a rollback to Origineel (or a
   browser that never applies this file at all) is pixel-identical to
   today. Built entirely from existing tokens (Fase 1 delta audit: no new
   colour, radius, shadow or motion values were needed for this slice). */
html[data-ui-layout="refreshed"] .hdr {
  box-shadow: var(--elevation-sm);
}
html[data-ui-layout="refreshed"] .nav a {
  border-radius: var(--radius-md);
  transition: background var(--motion-fast) var(--motion-ease),
              color var(--motion-fast) var(--motion-ease);
}
html[data-ui-layout="refreshed"] .nav a:hover {
  background: var(--color-on-dark-wash-strong);
}
html[data-ui-layout="refreshed"] .nav a.active {
  /* Status/active-state is already colour (background) in Origineel; this
     adds a shape cue (inset accent bar) so the active workspace is never
     communicated by colour alone, per UI-PLAN.md Sec. 10. */
  box-shadow: var(--elevation-inset-accent);
}
html[data-ui-layout="refreshed"] .nav a:focus-visible,
html[data-ui-layout="refreshed"] .header-search:focus-visible {
  outline: 2px solid var(--color-on-dark);
  outline-offset: 2px;
}
html[data-ui-layout="refreshed"] .header-search {
  border-radius: var(--radius-md);
  transition: background var(--motion-fast) var(--motion-ease);
}

/* ── Refreshed: global rail (UI-PLAN.md Sec. 4, Fase 2) ─────────────────
   #nav becomes a fixed-position vertical icon rail (~64px), matching the
   Pipedrive-style brief: one icon per workspace, a coloured/shaped cue for
   the active one, an expand-on-hover/focus state that reveals real text
   labels (not tooltips), and visible focus states for keyboard use.
   body gets matching left padding so page content (including .hdr, which
   stays a normal sticky-top bar) never sits under the rail. This holds
   regardless of a page's own inner layout, since it reserves space at the
   body level rather than assuming any particular content wrapper. */
html[data-ui-layout="refreshed"] body {
  padding-left: 64px;
}
/* Embedded workspace documents (crm.html?embed=1, analytics?embed=1, ...)
   hide their own .hdr and therefore the rail inside it; the host page
   already reserves the rail. Without this the frame kept a blank 64px
   gutter on the left, so its content sat off-centre and the right-hand
   cards ran out of room (qqy33 Commercial Performance, 2026-10-23). */
html[data-ui-layout="refreshed"]:is(.embedded,.analytics-embedded,.crm-embedded,.content-embedded,.flow-embedded,.survey-embedded,.time-embedded) body {
  padding-left: 0;
}
html[data-ui-layout="refreshed"] .nav {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: var(--z-side-panel);
  width: 64px;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-1);
  overflow-y: auto;
  overflow-x: hidden;
  background: var(--color-navy-dark);
  border-right: 1px solid var(--color-on-dark-line);
  padding: var(--space-4) 0;
}
/* _rail_hover_shows_one_label_not_the_whole_bar_v1 (2026-08-31, Richard:
   "als je nu over het linkermenu hoovert, klapt het helemaal uit... ik
   wil dat niet de hele balk uitschuift, maar dat alleen de naam van het
   menu item eruit springt"): the rail used to widen from 64px to 200px on
   :hover/:focus-within of the WHOLE .nav, revealing every item's label at
   once. Rail width is now fixed at 64px always; each link's own label
   floats out as a small tooltip-like chip next to just that icon instead
   (see .nav-label rules below), so hovering one item no longer moves or
   reveals anything about its neighbours. */
html[data-ui-layout="refreshed"] .nav .nav-icon {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  /* The rail-* sprite symbols (platform.js) are line icons with no fill/
     stroke of their own -- without this they render as solid black
     shapes (barely visible on navy) instead of following the link's own
     text colour through hover/active states. */
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
html[data-ui-layout="refreshed"] .nav a {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  width: 48px;
  height: 48px;
  margin: 0 8px;
  padding: 0 14px;
  overflow: hidden;
}
/* Labels stay in the accessibility tree even while visually collapsed
   (clipped off-screen, not display:none) -- belt-and-braces alongside the
   aria-label platform.js already sets on every link, per UI-PLAN.md Sec.
   4 ("toegankelijke labels voor screenreaders... tooltips zijn geen
   vervanging"). The visible, sighted-mouse-user reveal on hover/focus is
   #nav-tooltip below (platform.js) instead of un-clipping this label in
   place: .nav has overflow-y:auto for its own vertical scrolling, and any
   overflow other than visible on an ancestor clips absolutely-positioned
   descendants too, so a label revealed here would still be cut off at the
   rail's 64px edge. #nav-tooltip is appended to <body>, outside the
   rail's clipped box, and JS positions it from the hovered link's live
   bounding rect -- same escape-the-clip approach platform.js already uses
   for #hdr-account-card. */
html[data-ui-layout="refreshed"] .nav .nav-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
#nav-tooltip {
  position: fixed;
  transform: translateY(-50%);
  z-index: var(--z-popover);
  background: var(--color-navy-dark);
  color: var(--color-on-dark);
  border: 1px solid var(--color-on-dark-line);
  border-radius: var(--radius-sm);
  padding: 6px 10px;
  font-size: var(--font-size-xs);
  white-space: nowrap;
  pointer-events: none;
}
#nav-tooltip[hidden] {
  display: none;
}
/* "profiel en relevante beheeracties onderaan" (UI-PLAN.md Sec. 4): the
   account control (username, password change, sign out -- built by
   platform.js's _installAccountControl) moves from the header's top-right
   into the bottom of the rail. Its dropdown card still positions itself
   from the button's live bounding rect, so no JS change was needed beyond
   giving the wrapper a class to hang this override on. */
html[data-ui-layout="refreshed"] .hdr-account {
  position: fixed;
  left: 0;
  bottom: var(--space-3);
  width: 64px;
  margin-left: 0;
  display: flex;
  justify-content: center;
  z-index: var(--z-side-panel);
}
html[data-ui-layout="refreshed"] .hdr-actions {
  display: flex;
}

/* Rail collapses into the shared labelled hamburger menu below the existing
   breakpoint. Touch/mobile navigation never relies on hover. */
@media (max-width: 900px) {
  html[data-ui-layout="refreshed"] body {
    padding-left: 0;
  }
  html[data-ui-layout="refreshed"] .nav {
    position: fixed;
    top: 0;
    left: 0;
    right: auto;
    bottom: 0;
    width: min(82vw, 360px);
    height: 100dvh;
    flex-direction: column;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
    border-right: 1px solid var(--color-on-dark-line);
    padding: max(72px, calc(env(safe-area-inset-top) + 60px)) 16px
      max(20px, env(safe-area-inset-bottom));
  }
  html[data-ui-layout="refreshed"] .nav a {
    width: 100%;
    height: 44px;
    margin: 0;
  }
  html[data-ui-layout="refreshed"] .nav .mobile-nav-submenu-item {
    width: 100%; height: auto; min-height: 40px; margin: 0; padding: 8px 10px;
    border-radius: var(--radius-sm); border-bottom: 0;
  }
  html[data-ui-layout="refreshed"] .nav .mobile-nav-submenu-item.active {
    background: var(--color-on-dark-wash-strong); color: var(--color-on-dark);
  }
  html[data-ui-layout="refreshed"] .nav .nav-label {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: nowrap;
    font-size: var(--font-size-xs);
  }
  html[data-ui-layout="refreshed"] .hdr-account {
    position: static;
    width: auto;
    margin-left: var(--space-2);
    /* Reset the desktop rail stacking level. Otherwise this flex item keeps
       z-index: var(--z-side-panel) and can paint over the equally layered
       open mobile drawer because it occurs later in the header. */
    z-index: auto;
  }
}
/* Shared full-viewport opportunity record. The host lives in the outermost
   workspace document, so embedded CRM/Analytics frames never centre a dialog
   against their (potentially very tall) document instead of the visible UI. */
.opportunity-workspace-host{position:fixed;z-index:var(--z-modal);top:var(--opportunity-workspace-top,0);left:var(--opportunity-workspace-left,0);right:0;bottom:0;background:var(--color-surface);border-left:1px solid var(--color-line);box-shadow:var(--elevation-panel);overflow:hidden}
.opportunity-workspace-host[hidden]{display:none!important}
.opportunity-workspace-frame{display:block;width:100%;height:100%;border:0;background:var(--color-surface-alt)}
html.opportunity-workspace-open,html.opportunity-workspace-open body{overflow:hidden!important}

/* Account dossiers use the same top-level record workspace contract.  The
   dossier document supplies its own record title and close action; the host
   only owns viewport geometry, focus containment and background inertness. */
.account-workspace-host { position: fixed; z-index: var(--z-side-panel); top: var(--account-workspace-top, 0); left: var(--account-workspace-left, 0); right: 0; bottom: 0; overflow: hidden; border-left: 1px solid var(--color-line); background: var(--color-surface-alt); box-shadow: var(--elevation-panel); }
.account-workspace-host[hidden] { display: none !important; }
.account-workspace-frame { display: block; width: 100%; height: 100%; border: 0; background: var(--color-surface-alt); }
html.account-workspace-open, html.account-workspace-open body { overflow: hidden !important; }
html.dossier-embedded body.standard-dossier-workspace { padding-left: 0; background: var(--color-surface-alt); }
html.dossier-embedded body.standard-dossier-workspace > .hdr,
html.dossier-embedded body.standard-dossier-workspace .breadcrumb { display: none; }
html.dossier-embedded body.standard-dossier-workspace .wrap { width: 100%; max-width: none; padding-top: var(--space-4); }
.account-workspace-close { display: none; flex: 0 0 auto; width: 44px; height: 44px; margin-left: var(--space-3); padding: 0; border-radius: var(--radius-md); background: transparent; color: var(--color-ink-soft); font-size: var(--font-size-xl); line-height: 1; }
.account-workspace-close:hover { background: var(--color-surface-sunken) !important; }
html.dossier-embedded .account-workspace-close { display: inline-grid; place-items: center; }
html.dossier-embedded .account-workspace-close[hidden] { display: none; }

/* ── CRM activity, task and call workspace (crm_activity_workspace.js) ────
   _crm_activity_workspace_v1 (2026-10-25). One dialog surface in the top-level
   document that covers the complete visible content area to the right of the
   host navigation (--activity-workspace-left) and below a sticky header
   (--activity-workspace-top); both are measured by the controller, see
   docs/crm_activity_workspace.md. Sticky header + sticky action footer, one
   internal scroller. At <= 900px the surface is the full viewport. */
.activity-workspace { position: fixed; z-index: var(--z-modal); top: var(--activity-workspace-top, 0); left: var(--activity-workspace-left, 0); right: 0; bottom: 0; overscroll-behavior: contain; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; background: var(--color-surface); color: var(--color-ink); border-left: 1px solid var(--color-line); box-shadow: var(--elevation-panel); overflow: hidden; }
.activity-workspace[hidden] { display: none !important; }
.activity-workspace-head { grid-row: 1; display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--color-line); background: var(--color-surface); }
.activity-workspace-title-wrap { flex: 1 1 auto; min-width: 0; }
.activity-workspace-title { margin: 0; font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-navy); overflow-wrap: anywhere; outline: none; }
.activity-workspace-title:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.activity-workspace-context { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-top: var(--space-1); font-size: var(--font-size-sm); color: var(--color-muted); }
.activity-workspace-badge { display: inline-block; padding: 1px var(--space-2); border-radius: var(--radius-sm); background: var(--color-surface-sunken); color: var(--color-ink-soft); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: .02em; }
.activity-workspace-sep { color: var(--color-muted-soft); }
.activity-workspace-muted { color: var(--color-muted); }
.activity-workspace-close { flex: 0 0 auto; width: 44px; height: 44px; padding: 0; border-radius: var(--radius-md); background: transparent; color: var(--color-ink-soft); font-size: var(--font-size-xl); line-height: 1; }
.activity-workspace-close:hover { background: var(--color-surface-sunken) !important; }
.activity-workspace-banner { grid-row: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); padding: var(--space-3) var(--space-6); font-size: var(--font-size-sm); border-bottom: 1px solid var(--color-line); }
.activity-workspace-banner[hidden] { display: none; }
.activity-workspace-banner-warning { background: var(--color-warning-soft); color: var(--color-warning-ink); }
.activity-workspace-banner-danger { background: var(--color-danger-soft); color: var(--color-danger-ink); }
.activity-workspace-banner-actions { display: flex; gap: var(--space-2); }
.activity-workspace-body { grid-row: 3; overflow: auto; overscroll-behavior: contain; padding: var(--space-5) var(--space-6) var(--space-8); outline: none; -webkit-overflow-scrolling: touch; }
.activity-workspace-form, .activity-workspace-detail { max-width: 980px; }
.activity-workspace-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--space-5); }
.activity-workspace-field { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.activity-workspace-field[hidden] { display: none; }
.activity-workspace-field-wide { grid-column: 1 / -1; }
.activity-workspace-field > label { font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); color: var(--color-muted); text-transform: uppercase; letter-spacing: .03em; }
.activity-workspace-required { color: var(--color-orange); }
.activity-workspace-field input:not([type=checkbox]), .activity-workspace-field select, .activity-workspace-field textarea { width: 100%; min-height: 44px; border: 1px solid var(--color-line); border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); font: inherit; background: var(--color-surface); color: var(--color-ink); }
.activity-workspace-field textarea { min-height: 120px; resize: vertical; }
.activity-workspace-field [aria-invalid="true"] { border-color: var(--color-danger); }
.activity-workspace-hint { color: var(--color-muted); font-size: var(--font-size-xs); }
.activity-workspace-field-error { color: var(--color-danger); font-size: var(--font-size-xs); font-weight: var(--font-weight-medium); }
.activity-workspace-field-error[hidden] { display: none; }
.activity-workspace-readonly { min-height: 44px; display: flex; align-items: center; padding: var(--space-2) var(--space-3); border: 1px solid var(--color-line-soft); border-radius: var(--radius-md); background: var(--color-surface-alt); }
.activity-workspace-switch label { display: flex; align-items: center; gap: var(--space-2); min-height: 44px; font-size: var(--font-size-base); font-weight: var(--font-weight-medium); color: var(--color-ink); text-transform: none; letter-spacing: 0; cursor: pointer; }
.activity-workspace-switch input { width: 20px; height: 20px; margin: 0; }
.activity-workspace-followup, .activity-workspace-calldetails { margin: 0; padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface-alt); }
.activity-workspace-followup[hidden] { display: none; }
.activity-workspace-followup legend, .activity-workspace-calldetails legend { padding: 0 var(--space-2); font-weight: var(--font-weight-semibold); color: var(--color-navy); }
.activity-workspace-reminder-at { margin-top: var(--space-2); }
.activity-workspace-reminder-at[hidden] { display: none; }
.activity-workspace-documents, .activity-workspace-more { border: 1px solid var(--color-line); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); }
.activity-workspace-documents summary, .activity-workspace-more summary, .activity-workspace-system summary { cursor: pointer; min-height: 32px; display: flex; align-items: center; gap: var(--space-2); font-weight: var(--font-weight-semibold); color: var(--color-navy); }
.activity-workspace-documents > *:not(summary) { margin-top: var(--space-3); }
.activity-workspace-more > .activity-workspace-grid { margin-top: var(--space-3); }
.activity-workspace-doc-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.activity-workspace-doc-chips:empty { display: none; }
.activity-workspace-chip { display: inline-flex; align-items: center; gap: var(--space-1); padding: var(--space-1) var(--space-1) var(--space-1) var(--space-3); border-radius: var(--radius-xl); background: var(--color-surface-tint); color: var(--color-navy); font-size: var(--font-size-sm); }
.activity-workspace-chip button { width: 28px; height: 28px; padding: 0; border-radius: var(--radius-xl); background: transparent; color: var(--color-navy); font-size: var(--font-size-md); }
.activity-workspace-chip button:hover { background: var(--color-blue-soft) !important; }
.activity-workspace-doc-search { width: 100%; min-height: 40px; }
.activity-workspace-doc-list { list-style: none; margin: 0; padding: 0; max-height: 240px; overflow: auto; border: 1px solid var(--color-line-soft); border-radius: var(--radius-md); }
.activity-workspace-doc-list:empty { display: none; }
.activity-workspace-doc-list li label { display: flex; align-items: center; gap: var(--space-2); min-height: 44px; padding: 0 var(--space-3); border-bottom: 1px solid var(--color-line-soft); font-size: var(--font-size-sm); text-transform: none; letter-spacing: 0; color: var(--color-ink); cursor: pointer; }
.activity-workspace-doc-list li:last-child label { border-bottom: 0; }
.activity-workspace-link { font-size: var(--font-size-sm); color: var(--color-blue); }
.activity-workspace-foot { grid-row: 4; display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-6); border-top: 1px solid var(--color-line); background: var(--color-surface); box-shadow: var(--elevation-top); }
.activity-workspace-foot .btn, .activity-workspace-foot button { min-height: 44px; }
.activity-workspace-foot-spacer { flex: 1 1 auto; }
.activity-workspace-danger { background: var(--color-danger-soft); color: var(--color-danger-ink); }
.activity-workspace-danger:hover { background: var(--color-danger-line) !important; }
.activity-workspace-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.activity-workspace-loading, .activity-workspace-error { padding: var(--space-6); color: var(--color-muted); text-align: center; }
.activity-workspace-error { color: var(--color-danger-ink); background: var(--color-danger-tint); border-radius: var(--radius-md); }
/* detail mode */
.activity-workspace-summary { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-bottom: var(--space-3); }
.activity-workspace-summary .pill { display: inline-block; padding: 2px var(--space-2); border-radius: var(--radius-xl); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); background: var(--color-surface-sunken); color: var(--color-ink-soft); }
.activity-workspace-summary .pill-open { background: var(--color-info-soft); color: var(--color-info-ink); }
.activity-workspace-summary .pill-done { background: var(--color-success-soft); color: var(--color-success-ink); }
.activity-workspace-summary .pill-cancelled { background: var(--color-surface-sunken); color: var(--color-muted); }
.activity-workspace-summary .stale-flag { color: var(--color-orange-dark); font-weight: var(--font-weight-bold); }
.activity-workspace-reminder-flag { display: inline-block; padding: 2px var(--space-2); border-radius: var(--radius-xl); background: var(--color-warning-soft); color: var(--color-warning-ink); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); }
.activity-workspace-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-5); }
.activity-workspace-actions .btn { min-height: 40px; }
.activity-workspace-section { margin-bottom: var(--space-5); padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-line-soft); }
.activity-workspace-section h3 { margin: 0 0 var(--space-3); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-muted); text-transform: uppercase; letter-spacing: .04em; }
.activity-workspace-section dl { margin: 0; display: grid; grid-template-columns: minmax(140px, 220px) minmax(0, 1fr); gap: var(--space-2) var(--space-4); }
.activity-workspace-row { display: contents; }
.activity-workspace-section dt { color: var(--color-muted); font-size: var(--font-size-sm); }
.activity-workspace-section dd { margin: 0; font-size: var(--font-size-base); overflow-wrap: anywhere; }
.activity-workspace-notes { white-space: pre-wrap; margin: 0; }
.activity-workspace-doc-links, .activity-workspace-related { margin: var(--space-2) 0 0; padding-left: var(--space-5); }
.activity-workspace-link-button { background: none; border: 0; padding: 0; color: var(--color-blue); font: inherit; text-decoration: underline; cursor: pointer; min-height: 32px; }
.activity-workspace-link-button:hover { background: none !important; color: var(--color-navy); }
.activity-workspace-system { border-bottom: 0; }
.activity-workspace-system dl { margin-top: var(--space-3); }
@media (prefers-reduced-motion: no-preference) {
  .activity-workspace { animation: activity-workspace-in var(--motion-base) var(--motion-ease); }
  @keyframes activity-workspace-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 900px) {
  .activity-workspace, .activity-workspace.activity-workspace-mobile { top: 0; left: 0; border-left: 0; box-shadow: none; height: 100dvh; margin: 0; max-width: none; }
  .activity-workspace-head, .activity-workspace-banner, .activity-workspace-foot { padding-left: var(--space-4); padding-right: var(--space-4); }
  .activity-workspace-body { padding: var(--space-4) var(--space-4) var(--space-8); }
  .activity-workspace-grid { grid-template-columns: minmax(0, 1fr); }
  .activity-workspace-section dl { grid-template-columns: minmax(0, 1fr); }
  .activity-workspace-foot { flex-wrap: wrap; }
  .activity-workspace-foot .btn, .activity-workspace-foot button { flex: 1 1 auto; }
}

/* Phase 4 / group B: shared medium-workspace contract. These templates keep
   their domain-specific canvas and forms, while geometry, controls and
   interaction states come from one shared layer. */
body.standard-workspace {
  min-width: 0;
  background: var(--color-surface-alt);
  color: var(--color-ink);
}
body.standard-workspace :where(.hdr, header.top) {
  min-height: 64px;
}
body.standard-workspace :where(button:not(.link), .btn:not(.link), input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) {
  min-height: var(--control-height-md);
}
body.standard-workspace :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  width: 100%;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
  background: var(--color-surface);
  color: var(--color-ink);
  font-family: inherit;
  font-size: var(--font-size-base);
}
body.standard-workspace :where(label) {
  display: grid;
  gap: var(--space-1);
  color: var(--color-muted);
  font-size: var(--font-size-sm);
}
body.standard-workspace :where(button:not(.link), .btn:not(.link)) {
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
  background: var(--color-surface);
  color: var(--color-ink);
  transition: background-color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease), box-shadow var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease);
}
body.standard-workspace :where(button, .btn).primary {
  border-color: var(--color-navy);
  background: var(--color-navy);
  color: var(--color-on-dark);
}
body.standard-workspace :where(button, .btn).btn-primary,
body.standard-workspace :where(button, .btn).btn-orange {
  border-color: var(--color-action-primary);
  background: var(--color-action-primary);
  color: var(--color-on-action);
}
body.standard-workspace :where(button, .btn).btn-secondary {
  border-color: var(--color-line);
  background: var(--color-surface-sunken);
  color: var(--color-ink);
}
body.standard-workspace :where(button, .btn).btn-ghost {
  border-color: var(--color-line);
  background: transparent;
  color: var(--color-ink);
}
body.standard-workspace :where(button, .btn).danger {
  border-color: var(--color-danger);
  background: var(--color-surface);
  color: var(--color-danger);
}
body.standard-workspace :where(button, .btn).btn-danger,
body.standard-workspace :where(button, .btn).btn-red {
  border-color: var(--color-danger);
  background: var(--color-danger);
  color: var(--color-on-dark);
}
body.standard-workspace :where(button, .btn).warn {
  border-color: var(--color-warning);
  background: var(--color-surface);
  color: var(--color-warning-ink);
}
body.standard-workspace :where(button:not(.link), .btn:not(.link)):not(:disabled):hover {
  background: var(--color-surface-sunken);
  color: var(--color-ink);
  border-color: var(--color-navy);
  box-shadow: var(--elevation-sm);
}
body.standard-workspace :where(button, .btn).primary:not(:disabled):hover {
  background: var(--color-navy-dark);
  color: var(--color-on-dark);
}
body.standard-workspace :where(button, .btn).btn-primary:not(:disabled):hover,
body.standard-workspace :where(button, .btn).btn-orange:not(:disabled):hover {
  background: var(--color-action-primary-hover);
  color: var(--color-on-action);
}
body.standard-workspace :where(button, .btn).btn-danger:not(:disabled):hover,
body.standard-workspace :where(button, .btn).btn-red:not(:disabled):hover {
  background: var(--color-danger-ink);
  color: var(--color-on-dark);
}
body.standard-workspace :where(button:not(.link), .btn:not(.link)):not(:disabled):active {
  box-shadow: var(--elevation-inset-accent);
  transform: translateY(1px);
}
/* The dossier opportunity hit target covers the card for mouse/touch input.
   It must remain visually transparent; shared button paint would otherwise
   hide the opportunity content behind a white full-card overlay. */
body.standard-workspace.standard-core-workspace.standard-dossier-workspace .opp-card-hit,
body.standard-workspace.standard-core-workspace.standard-dossier-workspace .opp-card-hit:hover,
body.standard-workspace.standard-core-workspace.standard-dossier-workspace .opp-card-hit:active {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
body.standard-workspace :where(button:not(.link), .btn:not(.link)):focus-visible,
body.standard-workspace :where(input, select, textarea):focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
body.standard-workspace :where(.card, .panel) {
  border-color: var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}
body.standard-workspace :where(.tabs, .toolbar, .actions, .bar) {
  gap: var(--space-2);
}
body.standard-workspace :where(table) {
  width: 100%;
}
body.standard-workspace :where(th) {
  color: var(--color-muted);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  letter-spacing: .04em;
  text-transform: uppercase;
}
body.standard-workspace :where(thead th) {
  color: var(--color-on-dark);
}
body.standard-workspace.standard-crm-workspace :where(.tbl thead th) {
  background: var(--navy);
  color: var(--color-on-dark);
}
body.standard-workspace.standard-delivery-workspace :where(.pf-table thead th) {
  background: var(--color-surface);
  color: var(--color-ink);
}
body.standard-workspace.standard-delivery-workspace :where(.pf-table thead .pf-subhead th) {
  color: var(--color-muted);
}
html.content-focus-search .content-tabs {
  display: none;
}
.search-term-review-section {
  margin-top: var(--space-2);
}
.search-term-config-diff-output {
  max-height: 200px;
  overflow: auto;
  white-space: pre-wrap;
}
/* Sort triggers are controls for the header itself, not standalone buttons.
   Keep the navy header continuous instead of applying the shared white button
   surface to the dynamically installed trigger. */
body.standard-workspace :where(thead th .server-sort-trigger) {
  padding: 7px 24px 7px 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
}
body.standard-workspace :where(thead th .server-sort-trigger):not(:disabled):hover {
  border-color: transparent;
  background: transparent;
  color: inherit;
  box-shadow: none;
}
body.standard-workspace :where(thead th .server-sort-trigger):not(:disabled):active {
  box-shadow: none;
  transform: none;
}
/* List pagination is a compact horizontal control, not a stacked form field.
   Table help remains available from the workspace Help panel, so avoid a
   second generated question-mark row between the controls and the header. */
body.standard-workspace :where(.list-page-size) {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  white-space: nowrap;
}
body.standard-workspace :where(.table-wrap > .context-help-block-button) {
  display: none;
}
/* Final specialist-workspace contract. Content, Documents and Intelligence
   keep their domain-specific structures while sharing the same viewport,
   control and responsive guarantees as the migrated primary workspaces. */
body.standard-specialist-workspace {
  min-width: 0;
  overflow-x: hidden;
}
body.standard-specialist-workspace :where(.layout, .docs-layout, .main) {
  min-width: 0;
  width: 100%;
}
body.standard-content-workspace :where(.layout-single) {
  grid-template-columns: minmax(0, 1fr);
}
body.standard-content-workspace :where(.row, .rd-actions .btn) {
  min-height: var(--control-height-md);
}
body.standard-documents-workspace :where(.tree-row) {
  min-height: var(--control-height-md);
}
body.standard-documents-workspace :where(.docs-layout) {
  grid-template-columns: minmax(240px, 290px) minmax(0, 1fr);
}
body.standard-documents-workspace :where(.toolbar, .ask, .head, .doc-foot) {
  min-width: 0;
}
body.standard-intelligence-workspace :where(.sidebar-item) {
  min-height: var(--control-height-md);
  display: flex;
  align-items: center;
}
body.standard-intelligence-workspace :where(.signal-card, .signal-board-card) {
  border-radius: var(--radius-md);
}
body.standard-intelligence-workspace .signal-list {
  gap: var(--space-6);
}
body.standard-intelligence-workspace .signal-card {
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--color-navy);
  background: var(--color-surface);
  box-shadow: var(--elevation-card);
}
body.standard-intelligence-workspace .signal-card-head {
  min-height: var(--control-height-md);
  margin: 0;
  padding: var(--space-3) var(--space-4);
  align-items: center;
  border-bottom: 1px solid var(--color-line);
  background: var(--color-surface-alt);
}
body.standard-intelligence-workspace .signal-card-primary {
  padding: var(--space-4);
}
body.standard-intelligence-workspace .signal-card-text {
  max-width: none;
}
body.standard-intelligence-workspace .signal-card-key-facts {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr) minmax(0, 1fr);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-surface-alt);
}
body.standard-intelligence-workspace .signal-card-key-fact {
  min-width: 0;
  padding: var(--space-2) var(--space-3);
  border-right: 1px solid var(--color-line);
}
body.standard-intelligence-workspace .signal-card-key-fact:last-child {
  border-right: 0;
}
body.standard-intelligence-workspace .signal-card-key-fact > strong,
body.standard-intelligence-workspace .signal-card-key-fact > span {
  display: block;
}
body.standard-intelligence-workspace .signal-card-key-fact > strong {
  margin-bottom: var(--space-1);
  color: var(--color-muted);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-caps);
}
body.standard-intelligence-workspace .signal-card-key-fact > span {
  overflow-wrap: anywhere;
  color: var(--color-ink);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
}
body.standard-intelligence-workspace .signal-card-details {
  border-top: 1px solid var(--color-line);
  background: var(--color-surface-alt);
}
body.standard-intelligence-workspace .signal-card-details > summary {
  min-height: var(--control-height-md);
  display: flex;
  align-items: center;
  padding: 0 var(--space-4);
  cursor: pointer;
  color: var(--color-navy);
  font-weight: var(--font-weight-semibold);
}
body.standard-intelligence-workspace .signal-card-details > summary::after {
  content: "+";
  margin-left: auto;
  font-size: var(--font-size-lg);
}
body.standard-intelligence-workspace .signal-card-details[open] > summary::after {
  content: "−";
}
body.standard-intelligence-workspace .signal-card-details > summary:hover {
  background: var(--color-control-hover);
}
body.standard-intelligence-workspace .signal-card-detail-body {
  padding: 0 var(--space-4) var(--space-4);
}
body.standard-intelligence-workspace .signal-card-topic,
body.standard-intelligence-workspace .signal-card-source-meta {
  margin-top: var(--space-2);
  color: var(--color-muted);
  font-size: var(--font-size-xs);
}
body.standard-intelligence-workspace .signal-card-actions {
  min-height: var(--control-height-md);
  margin: 0;
  padding: var(--space-3) var(--space-4);
  align-items: center;
  border-top: 1px solid var(--color-line);
  background: var(--color-surface);
}
body.standard-intelligence-workspace .signal-card.selected {
  border-color: var(--color-orange);
}
@media (max-width: 800px) {
  body.standard-intelligence-workspace .signal-list {
    gap: var(--space-4);
  }
  body.standard-intelligence-workspace .signal-card-head {
    align-items: flex-start;
  }
  body.standard-intelligence-workspace .signal-card-key-facts {
    grid-template-columns: minmax(0, 1fr);
  }
  body.standard-intelligence-workspace .signal-card-key-fact {
    border-right: 0;
    border-bottom: 1px solid var(--color-line);
  }
  body.standard-intelligence-workspace .signal-card-key-fact:last-child {
    border-bottom: 0;
  }
}
@media (max-width: 800px) {
  body.standard-documents-workspace :where(.docs-layout) {
    grid-template-columns: minmax(0, 1fr);
  }
}
.redirect-fallback-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: var(--space-5);
  background: var(--color-canvas);
  color: var(--color-ink);
}
.redirect-fallback-page a {
  min-height: var(--control-height-md);
  display: inline-flex;
  align-items: center;
  padding: 0 var(--control-padding-inline);
  border-radius: var(--radius-control);
  background: var(--color-navy);
  color: var(--color-on-dark);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
}
/* Preserve the production Home mobile-card and control geometry without
   reintroducing page-local shared-component definitions. */
body.standard-home-workspace .card-count {
  min-width: var(--control-height-compact);
  height: var(--control-height-compact);
  box-sizing: border-box;
  display: inline-grid;
  place-items: center;
  padding: 0 8px;
  border-radius: var(--radius-pill);
  color: var(--color-on-dark);
  background: var(--color-orange);
  font-size: 12px;
  font-weight: 700;
}
body.standard-home-workspace .card-heading > .inbox-link {
  align-self: flex-start;
  min-height: var(--control-height-compact);
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: var(--radius-control-compact);
  color: var(--color-blue);
  font-size: 11.5px;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}
body.standard-home-workspace .card-heading > .inbox-link:hover {
  background: var(--color-control-hover);
  color: var(--color-navy);
}
body.standard-home-workspace .card-heading > .card-count,
body.standard-home-workspace .card-heading > .context-help-block-button {
  align-self: flex-start;
}
body.standard-workspace.standard-home-workspace .card-heading > .context-help-block-button {
  width: var(--control-height-compact);
  min-width: var(--control-height-compact);
  height: var(--control-height-compact);
  min-height: var(--control-height-compact);
}
body.standard-home-workspace :where(.inbox-toolbar button, .inbox-item-actions button, .inbox-item-actions a.inbox-link, .inbox-form button) {
  min-width: 72px;
  min-height: var(--control-height-regular);
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  padding: 5px 10px;
  font: inherit;
  font-size: 11.5px;
  font-weight: 620;
  line-height: 1.35;
  cursor: pointer;
}
body.standard-home-workspace .inbox-item-actions a.inbox-link {
  text-decoration: none;
}
body.standard-service-workspace .card {
  padding: 18px;
  margin-bottom: 16px;
}
@media (max-width: 600px) {
  body.standard-home-workspace :where(.priority-card, .intel-card) .card-heading {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto auto;
    align-items: start;
  }
  body.standard-home-workspace :where(.priority-card, .intel-card) .card-heading > .card-heading-icon {
    grid-column: 1;
    grid-row: 1;
  }
  body.standard-home-workspace :where(.priority-card, .intel-card) .card-heading > .card-title-wrap {
    grid-column: 2 / -1;
    grid-row: 1;
  }
  body.standard-home-workspace .card-heading > :where(.inbox-link, .card-count, .context-help-block-button) {
    height: var(--control-height-touch);
    min-height: var(--control-height-touch);
  }
  body.standard-home-workspace :where(.priority-card, .intel-card) .card-heading > .inbox-link {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
  }
  body.standard-home-workspace :where(.priority-card, .intel-card) .card-heading > .card-count {
    grid-column: 3;
    grid-row: 2;
    min-width: var(--control-height-touch);
  }
  body.standard-home-workspace :where(.priority-card, .intel-card) .card-heading > .context-help-block-button {
    grid-column: 4;
    grid-row: 2;
  }
  body.standard-workspace.standard-home-workspace .card-heading > .context-help-block-button {
    width: var(--control-height-touch);
    min-width: var(--control-height-touch);
    height: var(--control-height-touch);
    min-height: var(--control-height-touch);
  }
  body.standard-home-workspace :where(.inbox-toolbar button, .inbox-item-actions button, .inbox-item-actions a.inbox-link, .inbox-form button) {
    min-height: var(--control-height-touch);
  }
}
body.standard-campaign-workspace .shell {
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
  min-height: calc(100vh - 64px);
}
body.standard-marketing-workspace .channel-choice input[type="checkbox"] {
  width: var(--control-height-touch);
  height: var(--control-height-touch);
  flex: 0 0 var(--control-height-touch);
}
body.standard-campaign-workspace .main,
body.standard-subscriptions-workspace .main,
body.standard-time-workspace .sheet,
body.standard-surveys-workspace .main.page {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding: var(--space-6);
}
body.standard-service-user-workspace .portal {
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
  padding: var(--space-6);
}
body.standard-flow-workspace .toolbar {
  min-height: 60px;
  padding: var(--space-2) var(--space-4);
}
body.standard-flow-workspace .toolbar :where(.btn, button, select, input[type="text"]) {
  min-height: var(--control-height-md);
}
body.standard-flow-workspace .workspace {
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) minmax(280px, 320px);
}
body.standard-flow-workspace .workspace > .panel {
  border-radius: 0;
}
body.standard-time-workspace .sheet.wide {
  max-width: 1600px;
}
body.standard-time-workspace :where(.tab, .vt),
body.standard-service-user-workspace .tab,
body.standard-surveys-workspace .tabs button {
  min-height: var(--control-height-md);
}
body.standard-surveys-workspace .grid {
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
}
body.standard-subscriptions-workspace :where(.billing-form, .budget-fields, .invoice-tools, .feedback-editor) :where(input, select, textarea),
body.standard-time-workspace .grid-table td :where(input, select, button:not(.link)) {
  min-height: var(--control-height-md);
  font-size: var(--font-size-base);
}
body.standard-subscriptions-workspace.standard-workspace :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) {
  min-height: var(--control-height-md);
  font-size: var(--font-size-base);
}

/* Phase 4 / core workspaces: one layout and interaction contract for the
   platform's primary CRM, dossier, delivery, service, home, sales,
   opportunity and marketing screens. Domain canvases remain template-owned. */
body.standard-core-workspace {
  min-width: 0;
  overflow-x: hidden;
}
body.standard-core-workspace :where(.layout, .main, .wrap, .home-shell, .ow, .ow-body, .ow-main, .ow-side) {
  min-width: 0;
  max-width: 100%;
}
body.standard-workspace.standard-core-workspace:is(.standard-crm-workspace, .standard-dossier-workspace, .standard-delivery-workspace, .standard-service-workspace, .standard-home-workspace, .standard-sales-workspace, .standard-opportunity-workspace, .standard-marketing-workspace) :where(button:not(.link), .btn:not(.link), input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) {
  min-height: var(--control-height-md);
  font-size: var(--font-size-base);
}
/* Scan segments are visualization controls, not ordinary action buttons.
   Keep them out of the shared 40px control-height contract: applying that
   minimum makes the 20px scan tracks overlap vertically. */
body.standard-workspace.standard-core-workspace.standard-home-workspace .scan-segment {
  height: 20px;
  min-height: 20px;
  padding: 0;
  border: 0;
}
body.standard-core-workspace :where(.crm-main, .delivery-main, .service-main, .marketing-main, #main-content) {
  width: 100%;
  max-width: none;
  padding: var(--space-6);
}
body.standard-dossier-workspace .wrap {
  width: 100%;
  max-width: 1600px;
  padding: var(--space-5) var(--space-6);
}
body.standard-home-workspace .home-shell {
  width: min(1440px, calc(100% - 48px));
}
body.standard-opportunity-workspace .ow {
  width: 100%;
}
body.standard-opportunity-workspace .ow-body {
  grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
}
body.standard-core-workspace :where(.crm-head, .screen-head, .head, .toolbar, .actions, .ow-head, .ow-actions, .ow-section-head) {
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
}
body.standard-core-workspace :where(.table-wrap, .table-scroll, .ow-path) {
  max-width: 100%;
  overflow-x: auto;
}
/* Account bulk editing is a compact toolbar on desktop. The general
   standard-workspace form contract makes standalone fields full width; these
   controls are peers in one action row and must not expand to the frame. */
body.standard-sales-workspace .account-bulk-update-controls > strong {
  flex: 0 0 auto;
}
body.standard-sales-workspace .account-bulk-update-controls .account-bulk-field-select {
  width: min(100%, 200px);
  min-width: 180px;
  flex: 0 1 200px;
}
body.standard-sales-workspace .account-bulk-update-controls :where(.account-bulk-value-control, .account-bulk-owner-select) {
  width: min(100%, 260px);
  min-width: 200px;
  flex: 0 1 260px;
}

@media (max-width: 900px) {
  body.standard-workspace :where(.hdr, header.top) { min-height: 56px; }
  body.standard-campaign-workspace .main,
  body.standard-subscriptions-workspace .main,
  body.standard-time-workspace .sheet,
  body.standard-surveys-workspace .main.page,
  body.standard-service-user-workspace .portal { padding: var(--space-4); }
  body.standard-campaign-workspace .shell,
  body.standard-surveys-workspace .grid { grid-template-columns: minmax(0, 1fr); }
  body.standard-flow-workspace .workspace,
  body.standard-flow-workspace .workspace.hide-library,
  body.standard-flow-workspace .workspace.hide-props { grid-template-columns: minmax(0, 1fr); }
  body.standard-flow-workspace .designer,
  body.standard-flow-workspace .designer > *,
  body.standard-flow-workspace .toolbar,
  body.standard-flow-workspace .toolbar .group,
  body.standard-flow-workspace .banner { min-width: 0; max-width: 100%; }
  body.standard-flow-workspace .designer > :first-child { overflow-x: auto; }
  body.standard-flow-workspace .workspace { width: 100%; }
  body.standard-flow-workspace .bottom { min-width: 0; max-width: 100%; }
  body.standard-flow-workspace .bottom-tabs { min-width: 0; max-width: 100%; overflow-x: auto; }
  body.standard-flow-workspace .toolbar .group { flex: 1 1 240px; flex-wrap: wrap; }
  body.standard-flow-workspace .toolbar .group.push { margin-left: 0; }
  body.standard-flow-workspace .toolbar .flow-name { min-width: 0; width: 100%; flex: 1 1 180px; }
  body.standard-flow-workspace .banner > span { min-width: 0; overflow-wrap: anywhere; }
  body.standard-flow-workspace .toolbar {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }
  body.standard-flow-workspace .toolbar .group {
    flex: 0 0 auto;
    flex-wrap: nowrap;
  }
  body.standard-flow-workspace .toolbar .flow-name {
    width: 200px;
    flex: 0 0 200px;
  }
  body.standard-flow-workspace .workspace.hide-props {
    grid-template-rows: minmax(0, 1fr);
  }
  body.standard-workspace :where(.actions, .bar) > :where(button, .btn) { min-height: var(--control-height-md); }
  body.standard-core-workspace :where(.crm-main, .delivery-main, .service-main, .marketing-main, #main-content) {
    padding: var(--space-4);
  }
  body.standard-dossier-workspace .wrap { padding: var(--space-4); }
  body.standard-home-workspace .home-shell { width: min(100% - 28px, 1440px); }
  body.standard-opportunity-workspace .ow-body { grid-template-columns: minmax(0, 1fr); }
  body.standard-core-workspace :where(.grid, .form-grid) { min-width: 0; }
  body.standard-sales-workspace .account-bulk-update-controls > strong { width: 100%; }
  body.standard-sales-workspace .account-bulk-update-controls .account-bulk-field-select,
  body.standard-sales-workspace .account-bulk-update-controls .account-bulk-value-control,
  body.standard-sales-workspace .account-bulk-update-controls .account-bulk-owner-select {
    width: 100%;
    min-width: 0;
    flex: 1 1 100%;
  }
}

@media (max-width: 520px) {
  body.standard-workspace :where(.actions, .bar) > :where(button, .btn) { flex: 1 1 140px; }
  body.standard-workspace :where(.card) { border-radius: var(--radius-md); }
  body.standard-core-workspace :where(.crm-main, .delivery-main, .service-main, .marketing-main, #main-content),
  body.standard-dossier-workspace .wrap { padding: var(--space-3); }
  body.standard-home-workspace .home-shell { width: min(100% - 20px, 1440px); }
  body.standard-core-workspace :where(.actions, .toolbar) > :where(button:not(.link), .btn:not(.link)) { flex: 1 1 140px; }
  body.standard-opportunity-workspace .ow-head { padding: var(--space-3); }
  body.standard-opportunity-workspace .ow-body { padding: var(--space-3); }
}

/* Responsive shell contract. Navigation controls are structural chrome, not
   page actions. Keep them immune to the shared button treatment used by
   standard and management workspaces, and keep page content inside the
   viewport on phones, landscape phones and tablets. */
html body .hdr :where(.header-search, .hdr-primary-action, .hdr-secondary-button, .context-help-button, .feedback-button, #hdr-account-button) {
  min-height: 36px;
  padding: 5px 9px;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-on-dark);
  box-shadow: none;
  transform: none;
}
/* A workspace-scoped .btn-ghost rule has deliberately higher specificity
   than the grouped chrome contract above. Keep the compact create trigger
   in the header palette as well: white glyph, transparent paint, no box. */
html body .hdr .hdr-secondary-button.btn-ghost {
  border: 0;
  background: transparent;
  color: var(--color-on-dark);
}
html body .hdr .hdr-secondary-button.btn-ghost:hover,
html body .hdr .hdr-secondary-button.btn-ghost:active,
html body .hdr .hdr-secondary-button.btn-ghost:focus-visible {
  border: 0;
  color: var(--color-on-dark);
}
html body .hdr :where(.header-search, .hdr-primary-action, .hdr-secondary-button, .context-help-button, .feedback-button, #hdr-account-button):hover,
html body .hdr :where(.header-search, .hdr-primary-action, .hdr-secondary-button, .context-help-button, .feedback-button, #hdr-account-button):active {
  background: var(--color-on-dark-wash);
  color: var(--color-on-dark);
  box-shadow: none;
  transform: none;
}
html body .hdr .language-switch select {
  min-height: 36px;
  border-color: var(--color-on-dark-line-strong);
  background: var(--color-navy);
  color: var(--color-on-dark);
}
@media (max-width: 900px) {
  html body .hdr .nav-toggle,
  html body .hdr .mobile-nav-submenu-toggle {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color-on-dark);
    box-shadow: none;
    transform: none;
  }
  html body .hdr .nav-toggle {
    border: 1px solid var(--color-on-dark-line-strong);
    border-radius: var(--radius-sm);
  }
  html body .hdr .mobile-nav-submenu-toggle {
    border: 0;
    border-left: 1px solid var(--color-on-dark-line);
  }
  html body .hdr :where(.nav-toggle, .mobile-nav-submenu-toggle):hover,
  html body .hdr :where(.nav-toggle, .mobile-nav-submenu-toggle):active,
  html body .hdr :where(.nav-toggle, .mobile-nav-submenu-toggle).btn-pressed {
    background: var(--color-on-dark-wash);
    color: var(--color-on-dark);
    box-shadow: none;
    transform: none;
  }
  html body .hdr .mobile-nav-submenu-toggle span {
    width: 9px;
    height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
  }
  html body .hdr .nav {
    max-width: 100vw;
  }
  html body .hdr .mobile-nav-workspace-row,
  html body .hdr .mobile-nav-workspace-link,
  html body .hdr .mobile-nav-submenu,
  html body .hdr .mobile-nav-submenu-item {
    max-width: 100%;
  }
  html body .hdr .mobile-nav-workspace-link {
    border-radius: 0;
    box-shadow: none;
  }
  html body .hdr .mobile-nav-workspace-link.active {
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
  }
  html body :where(.table-wrap, .table-scroll, .scroll-list) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
  body.standard-workspace :where(.toolbar, .actions, .bar, .filters),
  body.management-workspace :where(.toolbar, .actions, .filters, .management-card-actions) {
    min-width: 0;
    max-width: 100%;
    flex-wrap: wrap;
  }
}

@media (max-width: 600px) {
  html body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
    font-size: 16px;
  }
  html body :where(button:not(.scan-segment), .btn, input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) {
    min-height: var(--control-height-touch);
  }
  html body .hdr .nav,
  html[data-ui-layout="refreshed"] body .hdr .nav {
    width: 100vw;
    max-width: none;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }
  html body .hdr.nav-open .nav-toggle {
    top: max(12px, env(safe-area-inset-top));
    right: max(12px, env(safe-area-inset-right));
  }
  .hdr .header-search,
  .hdr .context-help-button,
  .hdr .feedback-button,
  .hdr .language-switch select,
  .hdr #hdr-account-button,
  .hdr .hdr-primary-action,
  .hdr .hdr-secondary-button {
    min-height: 44px;
  }
  .hdr .header-search,
  .hdr #hdr-account {
    margin-left: 0;
  }
  .hdr .language-switch { flex: 1 1 92px; min-width: 92px; }
  .hdr .language-switch select { width: 100%; min-width: 0; }
  .hdr .context-help-button,
  .hdr .feedback-button { margin-left: 0; }
  .hdr .hdr-secondary-menu { left: 0; right: auto; }
  .list-controls-leading,
  .list-controls-actions { min-width: 0; }
  .list-range { min-width: 0; flex: 1 1 120px; }
}

/* Dossier workspace: formerly embedded in dossier.html; scoped here so the
   component rules cannot leak into other workspaces. */
@scope (body.standard-dossier-workspace) {
/* Pagina-specifiek — kern (tokens, cards, badges, tabellen) komt uit platform.css */

.wrap { max-width: 1360px; margin: 0 auto; padding: 20px 24px; }

/* Dossier-header */
.dossier-head { display:flex; align-items:center; margin-bottom:12px; padding:12px 16px; border-top:3px solid var(--navy); }
.dh-left { flex:1; min-width:0; }
.dh-title-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; }
.dh-left h1 { margin:0; font-size:22px; line-height:1.2; color:var(--navy); }
.dh-badges { display:flex; gap:6px; flex-wrap:wrap; margin:0; }
.dh-title-row .account-detail-summary { margin:0; color:var(--muted); }
.dh-actions { min-width: 320px; }
.dh-actions .lbl { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 600; margin-bottom: 8px; }
.gen-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.gen-grid button { text-align: left; background: var(--navy); }
.gen-grid button:disabled { opacity: .55; cursor: wait; }
.gen-msg code { font-family: var(--font-family-mono); font-size: 11px; }
.queue-line { margin-top: 8px; font-size: 12px; color: var(--muted); }
.queue-line .q-dot { display: inline-block; width: 8px; height: 8px; border-radius: var(--radius-circle); margin-right: 5px; vertical-align: baseline; }

/* Volle-breedte workspace; documenten zijn een normale dossier-tab. */
.dossier-workspace { min-width:0; }
.documents-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(300px,1fr); gap:16px; align-items:start; }
.documents-layout .card { margin-bottom:0; }
.documents-library { min-width:0; }

/* Documenten */
.doc-group { margin-bottom: 14px; }
.doc-mailsel { width: auto !important; flex-shrink: 0; margin-top: 3px; }
.deliv-cat { border-top: 2px solid var(--gold); padding-top: 6px; }
.deliv-sub h5 { font-size: 11px; color: var(--muted); font-weight: 600; margin: 8px 0 2px 8px; }
.deliv-sub .doc-row { padding-left: 14px; }
.doc-group h4 { margin: 0 0 4px; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); font-weight: 600; padding-bottom: 3px; border-bottom: 1px solid var(--line); }
.doc-row { display: flex; align-items: flex-start; gap: 8px; padding: 5px 6px; border-radius: var(--radius-sm); font-size: 13px; text-decoration: none; color: var(--txt); }
.doc-row:hover { background: var(--color-surface-sunken); }
.doc-row .doc-main { flex: 1; min-width: 0; }
.doc-row .doc-name { display: -webkit-box; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; line-height: 1.3; }
.doc-row .doc-date { display: block; margin-top: 2px; font-size: 11px; line-height: 1.2; color: var(--muted); white-space: nowrap; }
.doc-index { display: flex; align-items: center; gap: 8px; padding: 9px 10px; margin-bottom: 12px; border: 1px solid var(--gold); background: var(--color-gold-soft); border-radius: var(--radius-md); font-size: 13px; font-weight: 600; color: var(--navy); text-decoration: none; }
.doc-index:hover { background: var(--color-gold-tint); }/* Tabs */

/* Dossier health */
#health-indicator { display:inline-flex; align-items:center; font-size:11px; padding:3px 8px;
                    border-radius:var(--radius-lg); text-decoration:none; background:var(--color-surface-sunken); color:var(--navy); }
#health-indicator:hover { text-decoration:underline; }
.health-card { border-left:3px solid var(--gold); }
.health-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.health-summary { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.health-score { font-size:22px; font-weight:700; color:var(--navy); }
.health-status { display:inline-flex; align-items:center; padding:3px 8px; border-radius:var(--radius-lg);
                 font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.health-status-healthy { background:var(--color-success-soft); color:var(--color-success-ink); }
.health-status-warning, .health-status-needs_attention { background:var(--color-warning-soft); color:var(--color-warning-ink); }
.health-status-critical, .health-status-unavailable { background:var(--color-danger-soft); color:var(--color-danger-ink); }
.health-meta { margin-top:4px; color:var(--muted); font-size:11px; }
.health-availability { margin-top:8px; font-size:12px; color:var(--muted); }
.health-factors { margin-top:12px; border-top:1px solid var(--line); }
.health-factor { display:grid; grid-template-columns:minmax(110px, 1fr) auto minmax(180px, 2fr) auto;
                 align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--color-surface-sunken); }
.health-factor-name { font-weight:600; }
.health-factor-reason { color:var(--muted); font-size:12px; }
.health-factor a { font-size:12px; }
@media (max-width: 700px) {
  .health-head { display:block; }
  .health-summary { margin-top:8px; }
  .health-factor { grid-template-columns:1fr auto; }
  .health-factor-reason { grid-column:1 / -1; }
}

/* Opportunities */
.opp-card { background: var(--color-surface-alt); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 10px 12px; margin-bottom: 8px; }
.opp-card .opp-top { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.opp-card .opp-prop { font-weight: 600; font-size: 13px; flex: 1; }
.opp-card .opp-amount { flex: 0 0 auto; text-align: right; }
.opp-card .opp-amount-label { display: block; color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.2; }
.opp-card .opp-amount-value { color: var(--navy); font-size: 15px; line-height: 1.35; }
.opp-card select { font-size: 12px; padding: 4px 6px; }
.opp-card .opp-na { font-size: 12px; color: var(--muted); margin-top: 6px; }
.opp-card .opp-account { font-size: 12px; font-weight: 600; margin-bottom: 4px; }
.opp-review-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.opp-fit { display: flex; align-items: baseline; gap: 4px; white-space: nowrap; }
.opp-fit-label { color: var(--muted); font-size: 13px; font-weight: 600; }
.opp-fit-value { color: var(--navy); font-size: 15px; line-height: 1.35; }
.fit-heading { display: flex; align-items: center; gap: 10px; }
.fit-heading-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.opp-card-clickable { position: relative; cursor: pointer; }
.opp-card-clickable:hover { border-color: var(--gold); }
.opp-card-clickable:focus-within { outline: 2px solid var(--gold); outline-offset: 2px; }
.opp-card-hit { position: absolute; inset: 0; z-index: 2; width: 100%; border: 0; border-radius: inherit; background: transparent; cursor: pointer; }
.opp-card-hit:hover,
.opp-card-hit:active,
.opp-card-hit.btn-pressed { background: transparent; transform: none; filter: none; }
.opp-cycle { display: flex; margin-top: 12px; padding: 0 4px; }
.opp-cycle-step { position: relative; flex: 1 1 0; min-width: 0; text-align: center; }
.opp-cycle-step::after { content: ""; position: absolute; z-index: 0; top: 6px; left: calc(50% + 7px); width: calc(100% - 14px); height: 2px; background: var(--color-line-strong); }
.opp-cycle-step:last-child::after { display: none; }
.opp-cycle-step.is-complete::after { background: var(--navy); }
.opp-cycle-dot { position: relative; z-index: 1; display: block; width: 12px; height: 12px; margin: 0 auto 5px; border: 2px solid var(--color-line-strong); border-radius: 50%; background: var(--color-surface); box-sizing: border-box; }
.opp-cycle-step.is-complete .opp-cycle-dot { border-color: var(--navy); background: var(--navy); }
.opp-cycle-step.is-current .opp-cycle-dot { border-color: var(--gold); background: var(--gold); box-shadow: 0 0 0 4px var(--color-gold-ring); }
.opp-cycle-label { display: block; overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.opp-cycle-step.is-current .opp-cycle-label { color: var(--navy); font-weight: 700; }
.opp-card-history { background: var(--color-surface); }

/* Outcome-controls op opportunity-cards */
.oc-btns { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.oc-btn { font-size: 11px; padding: 4px 8px; border: 1px solid transparent; border-radius: var(--radius-sm); cursor: pointer; font-weight: 600; }
.oc-won  { background: var(--color-success-soft); color: var(--ok);    border-color: var(--color-success-line); }
.oc-lost { background: var(--color-danger-soft); color: var(--err);   border-color: var(--color-danger-line); }
.oc-ab   { background: var(--color-neutral-100); color: var(--muted); border-color: var(--color-line-strong); }
.oc-form { display: none; margin-top: 8px; background: var(--color-surface); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 10px; }
.oc-form.open { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.oc-form .oc-title { flex: 1 1 100%; font-size: 12px; font-weight: 700; color: var(--navy); }
.oc-form label { font-size: 11px; color: var(--muted); display: flex; flex-direction: column; gap: 3px; margin: 0; min-width: 0; }
.oc-form input { font-size: 13px; padding: 5px 8px; width: 120px; max-width: 100%; }
.oc-eur { display: flex; align-items: center; gap: 4px; color: var(--txt); font-size: 13px; }
.oc-actions { display: flex; gap: 6px; }
.oc-actions button { margin: 0; font-size: 12px; padding: 5px 10px; }
.opp-reopen { font-size: 11px; color: var(--muted); text-decoration: none; white-space: nowrap; }
.opp-reopen:hover { color: var(--err); text-decoration: underline; }
.opp-reason { font-size: 12px; color: var(--muted); margin-top: 3px; }

/* Formulieren */
.edit-form { background: var(--color-surface-alt); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 14px; margin-top: 10px; }
.edit-form label { font-size: 11px; color: var(--muted); display: block; margin: 8px 0 3px; }
.edit-form label:first-child { margin-top: 0; }
.edit-form select, .edit-form input, .edit-form textarea { width: 100%; }
.edit-form textarea { height: 70px; resize: vertical; }
.edit-form button { margin-top: 10px; }

.signal-item { padding: 8px 0; border-bottom: 1px solid var(--color-surface-sunken); font-size: 13px; }
.signal-item .st { font-size: 11px; color: var(--muted); margin-top: 3px; }
.dossier-activity-open { background: none; border: 0; padding: 0; color: var(--navy); font: inherit; font-weight: 700; text-align: left; cursor: pointer; text-decoration: underline; }
.dossier-activity-open:hover { background: none; color: var(--color-blue); }
.dossier-activity-actions { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-left: 8px; }
.dossier-activity-actions[hidden] { display: none; }

/* Outreach drafts (Overview-tab) */
.odraft-line { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-radius: var(--radius-sm); font-size: 13px; cursor: pointer; }
.odraft-line:hover { background: var(--color-surface-sunken); }
.odraft-line .od-subj { flex: 1; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.odraft-line .od-date { font-size: 11px; color: var(--muted); white-space: nowrap; }

.sh-workspace-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:14px; }
.sh-workspace-head p { margin:4px 0 0; color:var(--muted); font-size:12px; max-width:720px; }
.sh-summary { display:grid; grid-template-columns:repeat(4,minmax(120px,1fr)); gap:8px; margin-bottom:12px; }
.sh-summary-card { border:1px solid var(--line); border-radius:var(--radius-md); padding:10px 12px; background:var(--color-surface-alt); }
.sh-summary-card strong { display:block; color:var(--navy); font-size:20px; line-height:1.2; }
.sh-summary-card span { color:var(--muted); font-size:11px; }
.sh-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) 190px 190px; gap:8px; margin-bottom:10px; }
.sh-toolbar input, .sh-toolbar select { width:100%; }
.sh-table-wrap { max-height:520px; overflow:auto; border:1px solid var(--line); border-radius:var(--radius-md); }
.sh-table { width:100%; min-width:840px; margin:0; }
.sh-table .sh-table-head { position:sticky; top:0; z-index:1; background:var(--card); }
.sh-table td { vertical-align:top; }
.sh-row-clickable { cursor:pointer; }
.sh-row-clickable:hover { background:var(--color-surface-sunken); }
.sh-row-clickable:focus-visible { outline:2px solid var(--gold); outline-offset:-2px; }
.sh-person { font-weight:600; color:var(--navy); }
.sh-sub { margin-top:2px; color:var(--muted); font-size:11px; }
.sh-contact { display:flex; flex-direction:column; gap:3px; font-size:12px; }
.sh-contact a { color:var(--orange); text-decoration:none; }
.sh-contact a:hover { text-decoration:underline; }
.sh-badge { display:inline-flex; align-items:center; border-radius:var(--radius-lg); padding:3px 7px; font-size:10px; font-weight:700; white-space:nowrap; }
.sh-status-found { background:var(--color-info-soft); color:var(--color-info); }
.sh-status-needs_completion, .sh-status-stale { background:var(--color-warning-soft); color:var(--color-warning-ink); }
.sh-status-complete, .sh-status-verified { background:var(--color-success-soft); color:var(--color-success-ink); }
.sh-status-inactive { background:var(--color-neutral-100); color:var(--muted); }
.sh-gaps { display:flex; flex-wrap:wrap; gap:4px; margin-top:4px; }
.sh-gap { border:1px solid var(--line); border-radius:var(--radius-lg); padding:1px 5px; color:var(--muted); font-size:9px; }
.sh-source-link { display:inline-block; max-width:170px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sh-editor-overlay { display:none; position:fixed; inset:0; z-index:var(--z-modal); background:var(--color-backdrop); justify-content:flex-end; }
.sh-editor-overlay.open { display:flex; }
.sh-editor { width:min(880px,100%); height:100%; overflow:auto; background:var(--card); box-shadow:var(--elevation-md); border-left:4px solid var(--navy); padding:28px 32px; }
.sh-editor-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:14px; }
.sh-editor-head h3 { margin:0; color:var(--navy); }
.sh-editor-close { border:0; background:transparent; color:var(--muted); font-size:20px; padding:0 4px; }
.sh-form-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px 16px; }
.sh-form-grid .wide { grid-column:1 / -1; }
.sh-form-grid label { display:flex; flex-direction:column; gap:4px; color:var(--muted); font-size:12px; }
.sh-form-grid input, .sh-form-grid select, .sh-form-grid textarea { width:100%; padding:7px 9px; font-size:13px; }
.sh-form-grid textarea { min-height:90px; resize:vertical; }
.sh-checks { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.sh-checks label { display:flex; align-items:center; gap:7px; font-size:12px; }
.sh-checks input { width:auto; }
.sh-consent { margin-top:14px; padding-top:12px; border-top:1px solid var(--color-line); font-size:12px; }
.sh-consent-list { margin:8px 0; display:grid; gap:6px; }
.sh-consent-row { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.sh-consent-row.withdrawn { opacity:.6; text-decoration:line-through; }
.sh-consent-meta { color:var(--muted); font-size:11px; text-decoration:none; }
.sh-consent-form { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.sh-consent-form[hidden] { display:none; }
.sh-consent-form input { flex:1; min-width:160px; }
.sh-editor-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; }
.sh-editor-msg { min-height:18px; color:var(--muted); font-size:12px; margin-top:8px; }
@media (max-width: 1024px) {
  .sh-form-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 760px) {
  .sh-summary { grid-template-columns:1fr 1fr; }
  .sh-toolbar { grid-template-columns:1fr; }
  .sh-form-grid { grid-template-columns:1fr; }
  .sh-form-grid .wide { grid-column:auto; }
}

/* ── Deliverables-tab ──────────────────────────────────────────────────────── */
.deliv-intro { font-size: 13px; color: var(--muted); margin-bottom: 10px; }
.deliv-paused { display: none; margin-bottom: 12px; font-size: 13px; font-weight: 600; color: var(--warn); background: var(--color-gold-soft); border: 1px solid var(--color-warning-line); border-radius: var(--radius-md); padding: 8px 12px; }
.deliv-paused.show { display: block; }
.deliv-section-title { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; margin: 18px 0 6px; padding-bottom: 4px; border-bottom: 1px solid var(--line); }
.deliv-section-title:first-child { margin-top: 0; }
.deliv-row { display: flex; align-items: baseline; gap: 10px; padding: 7px 8px; border-radius: var(--radius-sm); font-size: 13px; }
.deliv-row:hover { background: var(--color-surface-sunken); }
.deliv-row input[type=checkbox] { width: auto; flex-shrink: 0; position: relative; top: 1px; }
.deliv-row .d-label { font-weight: 600; color: var(--txt); }
.deliv-row .d-cmd { font-size: 12px; color: var(--muted); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deliv-row .d-exists { font-size: 12px; color: var(--orange); text-decoration: none; white-space: nowrap; }
.deliv-row .d-exists:hover { text-decoration: underline; }
.deliv-row .d-core { font-size: 12px; color: var(--muted); white-space: nowrap; }
.deliv-row .d-core.missing { color: var(--warn); font-weight: 600; }
.deliv-core-bar { display: flex; justify-content: flex-end; margin: 4px 0 2px; }
.deliv-prop .deliv-row { border-left: 3px solid var(--orange); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.deliv-bar { position: sticky; bottom: 0; display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 10px 14px; background: var(--color-surface); border: 1px solid var(--line); border-top: 2px solid var(--gold); border-radius: var(--radius-md); box-shadow: var(--elevation-top); }
.deliv-bar .d-count { font-size: 13px; font-weight: 600; color: var(--navy); }
.deliv-bar button:disabled { opacity: .55; cursor: not-allowed; }

/* ── Inline documentviewer ─────────────────────────────────────────────── */
.documents-workspace.viewing .documents-layout { display:none; }
.doc-viewer { display: none; background: var(--color-surface); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; flex-direction: column; height: calc(100vh - 170px); min-height: 340px; }
.doc-viewer.open { display: flex; }
.dv-head { background: var(--navy); color: var(--color-on-dark); border-bottom: 3px solid var(--gold); display: flex; align-items: center; gap: 10px; padding: 9px 14px; flex-shrink: 0; }
.dv-title { font-weight: 700; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 1; }
.dv-title .dv-date { font-weight: 400; font-size: 12px; color: var(--color-on-dark-muted); margin-left: 10px; }
.dv-btn { background: none; border: 1px solid var(--color-on-dark-line); color: var(--color-on-dark); border-radius: var(--radius-sm); font-size: 14px; line-height: 1; padding: 6px 10px; cursor: pointer; flex-shrink: 0; }
.dv-btn:hover { background: var(--color-on-dark-wash); }
.dv-body { flex: 1; overflow-y: auto; background: var(--color-surface); }
.dv-body iframe { display: block; width: 100%; height: 100%; border: 0; }
.dv-json { margin: 0; padding: 16px 20px; font-family: var(--font-family-mono); font-size: 12.5px; line-height: 1.55; overflow: auto; }
.dv-msg { padding: 48px 20px; text-align: center; color: var(--muted); font-size: 13px; }/* Markdown-weergave in I4E-rapportstijl (gescopet onder .md-doc) */
.word-convert-dialog { border: 0; border-radius: var(--radius-lg); width: min(480px, calc(100% - 32px)); padding: 0; box-shadow: var(--elevation-lg); }
.word-convert-dialog::backdrop { background: var(--color-backdrop); }
.word-convert-box { padding: 20px; }
.word-convert-box h2 { margin: 0 0 8px; color: var(--navy); font-size: 18px; }
.word-convert-box p { margin: 0 0 14px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.word-convert-box label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; }
.word-convert-box select { width: 100%; }
.word-convert-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.word-convert-status { min-height: 18px; margin-top: 10px; color: var(--muted); font-size: 12px; }
.opportunity-evidence-dialog { border: 1px solid var(--line); border-radius: var(--radius-lg); width: min(820px, calc(100% - 32px)); height: min(680px, calc(100vh - 48px)); max-height: min(680px, calc(100vh - 48px)); padding: 0; overflow: hidden; background: var(--color-surface); box-shadow: var(--elevation-drawer-dialog); }
.opportunity-evidence-dialog::backdrop { background: var(--color-backdrop); }
.opportunity-editor-frame { display: block; width: 100%; height: 100%; border: 0; background: var(--color-surface); }
.opportunity-evidence-box { display: flex; flex-direction: column; max-height: min(680px, calc(100vh - 48px)); overflow: hidden; box-sizing: border-box; }
.opportunity-evidence-head { display: flex; flex: 0 0 auto; align-items: flex-start; gap: 16px; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.opportunity-evidence-head h2 { margin: 0 0 4px; color: var(--navy); font-size: 20px; }
.opportunity-evidence-head button { width: 36px; height: 36px; margin-left: auto; padding: 0; border-radius: 50%; flex: 0 0 auto; }
.opportunity-editor { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-content: start; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 16px 18px 18px; background: var(--color-canvas); }
.opportunity-editor label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; }
.opportunity-editor .wide { grid-column: 1 / -1; }
.opportunity-editor input,.opportunity-editor select,.opportunity-editor textarea { width: 100%; min-height: 38px; padding: 8px 9px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--txt); font: inherit; box-sizing: border-box; }
.opportunity-editor textarea { min-height: 90px; resize: vertical; }
.opportunity-evidence-section { display: grid; gap: 10px; grid-column: 1 / -1; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--color-surface); }
.opportunity-evidence-section h3 { margin: 0; color: var(--navy); font-size: 14px; }
.opportunity-evidence-group { display: grid; gap: 6px; }
.opportunity-evidence-group > strong { color: var(--txt); font-size: 12px; }
.opportunity-evidence-item { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--line); }
.opportunity-evidence-item p { margin: 0; min-width: 0; flex: 1; font-size: 13px; overflow-wrap: anywhere; }
.opportunity-evidence-item small { display: block; margin-top: 3px; color: var(--muted); }
.opportunity-evidence-item a { color: var(--orange); }
.opportunity-editor-actions { position: sticky; bottom: -18px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; grid-column: 1 / -1; margin: 0 -18px -18px; padding: 12px 18px 16px; border-top: 1px solid var(--line); background: var(--color-canvas); }
.opportunity-editor-status { color: var(--muted); font-size: 12px; }
.opportunity-open { flex: 1; min-width: 0; padding: 0; border: 0; background: transparent; color: var(--txt); text-align: left; font: inherit; cursor: pointer; }
.opportunity-open:hover,.opportunity-open:focus-visible { background: transparent; color: var(--navy); outline: 2px solid color-mix(in srgb,var(--navy) 18%,transparent); outline-offset: 3px; filter: none; transform: none; }
@media (max-width:680px) { .opportunity-evidence-dialog { width: calc(100% - 16px); height: calc(100vh - 16px); max-height: calc(100vh - 16px); } .opportunity-evidence-box { max-height: calc(100vh - 16px); } .opportunity-editor { grid-template-columns: 1fr; padding: 12px; } .opportunity-editor-actions { bottom: -12px; margin: 0 -12px -12px; padding: 12px; } }

/* Proposition overview */
.prop-overview { display:grid; gap:14px; }
.prop-overview-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:14px; }
.prop-overview-card { margin:0; min-width:0; }
.prop-overview-head { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.prop-overview-head strong { color:var(--navy); font-size:14px; }
.prop-overview-head button { margin-left:auto; padding:4px 8px; border:0; background:transparent; color:var(--orange); font-size:12px; }
.prop-summary-description { display:-webkit-box; overflow:hidden; margin:0 0 12px; color:var(--txt); line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:4; line-clamp:4; }
.prop-summary-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.prop-summary-meta div { min-width:0; padding-top:9px; border-top:1px solid var(--line); }
.prop-summary-meta dt { color:var(--muted); font-size:10px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.prop-summary-meta dd { margin:3px 0 0; color:var(--navy); font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.prop-funnel { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin-top:4px; }
.prop-funnel-step { position:relative; min-width:0; padding:8px 10px; border:0; border-radius:0; background:transparent; color:var(--muted); text-align:left; }
.prop-funnel-step + .prop-funnel-step { border-left:1px solid var(--line); }
.prop-funnel-step strong { display:block; color:var(--navy); font-size:20px; }
.prop-funnel-step span { display:block; margin-top:2px; font-size:10px; line-height:1.3; }
.prop-kpi:hover,.prop-kpi:focus-visible { background:var(--color-surface); border-color:var(--navy); box-shadow:0 0 0 1px var(--navy); filter:none; transform:none; }
.prop-funnel-step:hover,.prop-funnel-step:focus-visible,
.prop-action:hover,.prop-action:focus-visible,
.prop-preview-row:hover,.prop-preview-row:focus-visible,
.prop-overview-head button:hover,.prop-overview-head button:focus-visible { background:transparent; outline:2px solid var(--navy); outline-offset:-2px; filter:none; transform:none; }
.prop-action-list,.prop-preview-list { display:grid; gap:0; }
.prop-action,.prop-preview-row { display:flex; align-items:flex-start; gap:10px; width:100%; padding:9px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--txt); text-align:left; }
.prop-action:last-child,.prop-preview-row:last-child { border-bottom:0; }
.prop-action-count { flex:0 0 auto; min-width:34px; color:var(--navy); font-size:18px; font-weight:700; }
.prop-action-copy,.prop-preview-copy { flex:1; min-width:0; }
.prop-action-copy strong,.prop-preview-copy strong { display:block; color:var(--navy); font-size:12px; }
.prop-action-copy span,.prop-preview-copy span { display:block; margin-top:2px; color:var(--muted); font-size:11px; line-height:1.35; }
.prop-preview-score { flex:0 0 auto; color:var(--navy); font-size:12px; font-weight:700; }
.prop-kpi { position:relative; width:auto; color:inherit; text-align:left; cursor:pointer; }
.prop-kpi::after { content:'›'; position:absolute; right:14px; top:50%; color:var(--muted); font-size:18px; transform:translateY(-50%); }
.prop-filter-toggle { display:flex; align-items:center; gap:6px; margin-left:auto; color:var(--muted); font-size:11px; font-weight:500; }
.prop-filter-toggle input { width:auto; margin:0; }

/* ── Inputs (in de Documents-tab) ──────────────────────────────────────── */
.documents-inputs { min-width:0; }
.inputs-head { font-size: 14px; font-weight: 700; color: var(--navy); margin-bottom: 8px; padding-bottom: 8px; border-bottom: 2px solid var(--gold); }
.inputs-head span { font-weight: 400; font-size: 12px; color: var(--muted); }
.inputs-intro { font-size: 12px; color: var(--muted); margin-bottom: 10px; line-height: 1.5; }
.inp-toggle { display: flex; gap: 6px; margin-bottom: 8px; }
.inp-mode { font-size: 12px; padding: 4px 10px; border: 1px solid var(--line); background: var(--color-surface); color: var(--muted); border-radius: var(--radius-sm); cursor: pointer; }
.inp-mode.active { background: var(--navy); color: var(--color-on-dark); border-color: var(--navy); }
.inp-form input, .inp-form textarea { width: 100%; margin-bottom: 8px; font-size: 13px; }
.inp-form textarea { height: 64px; resize: vertical; }
#inp-add { font-size: 12px; padding: 6px 12px; }
#inputs-list { margin-top: 10px; }
.inp-row { display: flex; align-items: baseline; gap: 6px; padding: 7px 4px; border-bottom: 1px solid var(--color-surface-sunken); font-size: 12.5px; flex-wrap: wrap; }
.inp-row .inp-main { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inp-row .inp-main a { color: var(--orange); text-decoration: none; }
.inp-row .inp-main a:hover { text-decoration: underline; }
.inp-note { flex: 1 1 100%; font-size: 11px; color: var(--muted); }
.inp-date { font-size: 11px; color: var(--muted); white-space: nowrap; }
.inp-act { background: none; border: none; cursor: pointer; font-size: 13px; padding: 2px 4px; line-height: 1; border-radius: var(--radius-sm); color: var(--muted); }
.inp-act:hover { background: var(--color-surface-sunken); color: var(--navy); }

/* ── Scan completeness (dossier-header) ─────────────────────────────────── */
.comp-wrap { margin-top: 10px; max-width: 520px; }
.comp-top { display: flex; align-items: baseline; gap: 8px; font-size: 11px; color: var(--muted); font-weight: 600; margin-bottom: 4px; }
.comp-chips { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 6px; }
.comp-chip { font-size: 10px; padding: 2px 7px; border-radius: var(--radius-md); background: var(--navy); color: var(--color-on-dark); border: 1px solid var(--navy); }
.comp-chip.missing { background: var(--color-surface); color: var(--muted); border-color: var(--color-line-strong); }

/* ── Responsive ─────────────────────────────────────────────────────────── */
.docs-head { display:flex; align-items:baseline; gap:6px; }
.dossier-tabbar { display:flex; align-items:stretch; margin-bottom:var(--space-3); border-bottom:2px solid var(--line); }
.dossier-tabs { flex:1; min-width:0; margin-bottom:0; border-bottom:0; }
.dossier-more { position:relative; flex:0 0 auto; margin-left:auto; }
.dossier-more summary { list-style:none; cursor:pointer; white-space:nowrap; padding:var(--space-2) 14px; margin-bottom:-2px; color:var(--muted); font-size:var(--font-size-sm); font-weight:var(--font-weight-semibold); border-bottom:3px solid transparent; }
.dossier-more summary::-webkit-details-marker { display:none; }
.dossier-more summary::after { content:' ▾'; }
.dossier-more[open] summary,.dossier-more.has-active summary { color:var(--navy); border-bottom-color:var(--orange); }
.dossier-more-menu { position:absolute; right:0; top:calc(100% + 4px); z-index:var(--z-dropdown, 20); min-width:220px; padding:6px; background:var(--card); border:1px solid var(--line); border-radius:var(--radius-md); box-shadow:var(--elevation-md); }
.dossier-more-menu .tab-btn { display:block; width:100%; margin:0; padding:9px 10px; border:0; border-radius:var(--radius-sm); text-align:left; }
.dossier-more-menu .tab-btn[hidden] { display:none; }
.dossier-more-menu .tab-btn.active { background:var(--color-surface-sunken); color:var(--navy); }

@media (max-width: 900px) {
  .wrap { padding: 14px 12px; }

  .dossier-workspace { width:100%; max-width:100%; overflow-x:hidden; }
  .dossier-workspace a { overflow-wrap:anywhere; }
  .documents-layout { grid-template-columns:1fr; }

  /* Dossier-header stapelt: naam boven, genereer-knoppen daaronder */
  .dossier-head { padding:10px 12px; }
  .dh-left { min-width: 0; width: 100%; }
  .dh-actions { min-width: 0; width: 100%; }
  .gen-grid button { min-height: 40px; }

  /* Scroll/fade-gedrag komt nu van de gedeelde .tabs-regels in
     platform.css (_shared_tabs_scroll_fade_v1) -- hier alleen nog het
     grotere touch-target voor mobiel. */
  .tab-btn { min-height: 40px; }
  .dossier-more { margin-left:0; }
  .dossier-more summary { min-height:40px; box-sizing:border-box; }

  /* KPI's: vaste 2-koloms grid zodat lange waardes (datums) niet overlopen */
  .kpi-row { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }
  .kpi { min-width: 0; }
  .kpi .kpi-num { font-size: 16px; overflow-wrap: anywhere; }
  .prop-overview-grid { grid-template-columns:1fr; }
  .prop-summary-meta { grid-template-columns:1fr; }
  .prop-funnel { grid-template-columns:1fr 1fr; }
  .prop-funnel-step:nth-child(3) { border-left:0; border-top:1px solid var(--line); }
  .prop-funnel-step:nth-child(4) { border-top:1px solid var(--line); }

  /* Documentviewer full-height, kopbalk blijft bereikbaar */
  .doc-viewer { height: calc(100vh - 120px); min-height: 280px; }
  .dv-btn { min-height: 40px; min-width: 40px; }
}

/* ── Scope note ─────────────────────────────────────────────────────────── */
.scope-note { margin-top:10px; padding:9px 12px; border-left:3px solid var(--gold);
              background:var(--color-warning-tint); font-size:12.5px; line-height:1.5; max-width:760px; }
.scope-note.sn-uitsluiting { border-left-color:var(--red); background:var(--color-danger-tint); }
.scope-note.sn-duplicaat   { border-left-color:var(--orange); background:var(--color-stale-soft); }
.scope-note .sn-kop { font-weight:700; font-size:11px; text-transform:uppercase;
                      letter-spacing:.06em; margin-bottom:3px; }

/* ── Breadcrumb ─────────────────────────────────────────────────────────── */
.breadcrumb { display:flex; align-items:center; gap:4px; padding:8px 0 6px; font-size:12px; color:var(--muted); flex-wrap:wrap; }
.bc-item { color:var(--muted); text-decoration:none; white-space:nowrap; }
.bc-item:hover { color:var(--navy); text-decoration:underline; }
.bc-current { color:var(--ink); font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:240px; }
.bc-sep { color:var(--line); user-select:none; }

@media (max-width: 600px) {
  /* Deliverables: command-regel naar eigen regel, rijen blijven leesbaar */
  .deliv-row { flex-wrap: wrap; row-gap: 2px; }
  .deliv-row .d-cmd { flex: 1 1 100%; order: 4; white-space: normal; word-break: break-word; }
  .deliv-bar { flex-wrap: wrap; gap: 8px; padding: 10px; }

  .doc-viewer { height: calc(100vh - 104px); }
  .opp-card select { min-height: 40px; font-size: 16px; }

  /* Outcome-formulier: velden onder elkaar, past binnen de card */
  .oc-form label { flex: 1 1 100%; }
  .oc-form input { width: 100%; min-height: 40px; font-size: 16px; }
  .oc-btn, .oc-actions button { min-height: 40px; }
  .oc-actions { flex: 1 1 100%; }

  /* Inputs-formulier full-width en aanraakbaar */
  .inp-form input, .inp-form textarea { min-height: 40px; font-size: 16px; }
  .inp-mode, #inp-add, .inp-act { min-height: 40px; }
  .inp-act { min-width: 36px; }
}

/* Lokale definities voor klassen die in JS-templates worden gebruikt maar
   (nog) niet in platform.css bestaan (review-bevinding): link-affordance en
   een bescheiden pill in lijn met de gedeelde badge-stijl. */
.entity-link { color: var(--color-navy-light); text-decoration: none; }
.entity-link:hover, .entity-link:focus-visible { text-decoration: underline; }
.pill { display: inline-block; padding: 2px 7px; border-radius: var(--radius-pill);
  background: var(--color-neutral-100); color: var(--color-ink-soft);
  font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold);
  white-space: nowrap; line-height: 1.4; }
  .fit-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.fit-toolbar input,.fit-toolbar select{min-width:130px}
  .fit-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:12px}
  .fit-summary button{background:var(--color-cool-surface);color:var(--navy);border:1px solid var(--line);text-align:left;padding:10px;border-radius:8px}
  .fit-summary strong{display:block;font-size:20px}.fit-table{width:100%;border-collapse:collapse}.fit-table th,.fit-table td{padding:9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.fit-table tr:hover{background:var(--color-surface-alt)}
  .fit-score{font-weight:700;font-variant-numeric:tabular-nums}.fit-review-dialog{max-width:700px;width:calc(100% - 30px);border:0;border-radius:12px;padding:0;box-shadow: var(--elevation-fit-dialog)}.fit-review-dialog::backdrop{background:var(--color-slate-overlay-heavy)}.fit-review-body{padding:22px}.fit-review-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:16px}.fit-review-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fit-review-fields label:last-child{grid-column:1/-1}.fit-review-fields input,.fit-review-fields textarea{width:100%;box-sizing:border-box}.fit-detail{background:var(--color-cool-surface);padding:10px;border-radius:8px;margin:8px 0}.fit-status{font-size:12px;color:var(--muted)}
  .account-detail-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.account-detail-head strong{color:var(--navy);font-size:14px}.account-detail-head button{margin-left:auto}.account-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.account-detail-field{min-width:0}.account-detail-label{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.account-detail-value{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.account-detail-empty{color:var(--muted)}.account-detail-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-detail-form label{font-size:12px;color:var(--muted)}.account-detail-form input,.account-detail-form select,.account-detail-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px}.account-detail-wide{grid-column:1/-1}.account-detail-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.account-detail-team-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.account-detail-addresses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.account-detail-address{padding:12px;background:var(--color-neutral-50,var(--color-surface-alt));border:1px solid var(--line);border-radius:8px}.account-detail-status{font-size:12px;margin-top:8px;min-height:18px}.account-detail-summary{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;font-size:12px}.account-detail-summary a{color:var(--color-navy-light)}
  @media(max-width:700px){.fit-table th:nth-child(3),.fit-table td:nth-child(3),.fit-table th:nth-child(4),.fit-table td:nth-child(4){display:none}.fit-review-fields,.opportunity-evidence-grid{grid-template-columns:1fr}.account-detail-grid,.account-detail-form,.account-detail-team-view,.account-detail-addresses{grid-template-columns:1fr}.account-detail-wide,.account-detail-actions{grid-column:1}}
}

/* Marketing workspace */
@scope (body.standard-marketing-workspace) {
*{box-sizing:border-box}:scope{margin:0;background:var(--color-surface-alt);color:var(--color-ink);font-family:var(--font-family)}
.mkt-heading-reset{margin:0}.mkt-spacer{flex:1}.mkt-field-70{width:70px}.mkt-field-110{width:110px}.mkt-field-120{width:120px}.mkt-field-130{width:130px}.mkt-field-150{width:150px}
.mkt-docs-preview-frame{display:block;width:100%;height:calc(100vh - 260px);min-height:420px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}
.mkt-modal-md{width:min(760px,100%)}.mkt-modal-lg{width:min(860px,100%)}.mkt-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.mkt-event-title{margin-bottom:2px}.mkt-event-body{margin-top:14px}.mkt-flex-grow{flex:1}
.oauth-disabled{pointer-events:none;opacity:.5}.event-row{cursor:pointer}.mkt-event-group{margin-bottom:12px}.mkt-event-group-title{margin:0 0 6px;font-size:12px;text-transform:uppercase;color:var(--color-muted)}.mkt-event-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.mkt-event-info-label{font-size:10px;text-transform:uppercase}.mkt-dmu-selector{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.marketing-main{padding:24px;min-width:0}.head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.head h1{margin:0;color:var(--color-navy-deep)}
.muted{color:var(--color-muted);font-size:12px}.screen{display:none}.screen.active{display:block}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:12px;padding:16px;box-shadow:var(--elevation-card);margin-bottom:14px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi strong{display:block;font-size:28px;color:var(--color-navy-deep)}
.connector-list{display:grid;gap:12px}.connector-row{border:1px solid var(--color-line);border-radius:8px;padding:12px;background:var(--color-surface)}.connector-head{display:flex;align-items:center;gap:8px}.connector-status-dot{width:10px;height:10px;border-radius:50%;background:var(--color-muted);flex:0 0 auto}.connector-status-dot.connected{background:var(--color-success)}.connector-status-dot.problem{background:var(--color-danger)}.connector-status-label{margin-left:auto;font-size:11px;font-weight:700;text-transform:uppercase}.connector-status-label.connected{color:var(--color-success)}.connector-status-label.problem{color:var(--color-danger)}.connector-status-label.not-connected{color:var(--color-muted)}.connector-row .actions{margin:10px 0 0}.connector-fields{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.connector-fields input{min-width:150px;max-width:230px;flex:1}
.connector-row a.secondary{display:inline-block;border:1px solid var(--color-line);border-radius:7px;padding:8px 12px;background:var(--color-surface);color:var(--color-ink);font-weight:650;text-decoration:none}
.toolbar,.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.form-grid label{display:grid;gap:4px;font-size:12px;color:var(--color-muted)}.wide{grid-column:1/-1}
input,select,textarea{border:1px solid var(--color-line);border-radius:7px;padding:8px 9px;background:var(--color-surface);color:var(--color-ink);font:inherit}textarea{min-height:84px}
.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.capability-item{border:1px solid var(--color-line);border-radius:8px;padding:10px}.capability-item strong{display:block}.capability-item .pill{margin-top:5px}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:10px;overflow-x:auto;padding-bottom:8px}.board-col{background:var(--color-surface-alt);border:1px solid var(--color-line);border-radius:10px;padding:8px;min-height:220px}.board-col h3{margin:2px 4px 8px;font-size:11px;text-transform:uppercase;color:var(--color-muted);display:flex;justify-content:space-between}.campaign-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:8px;padding:10px;margin-bottom:8px}.campaign-card strong{display:block;color:var(--color-navy-deep)}.meta{font-size:11px;color:var(--color-muted);margin-top:5px;display:flex;justify-content:space-between;gap:6px}
.table-wrap{overflow:auto;scrollbar-gutter:stable;box-shadow: var(--elevation-table-edge)}.table-wrap:focus-within{outline:2px solid var(--color-blue-soft)}.tbl{width:100%;border-collapse:collapse;font-size:12px}.tbl th,.tbl td{padding:9px;border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top}.tbl th{font-size:10px;text-transform:uppercase;color:var(--color-muted)}.pill{display:inline-block;padding:3px 7px;border-radius:999px;background:var(--color-blue-soft);color:var(--color-blue);font-size:10px;font-weight:700}.state{padding:18px;border:1px dashed var(--color-line);border-radius:10px;color:var(--color-muted);text-align:center}
.flow{display:flex;gap:8px;align-items:center;overflow:auto;padding:10px}.node{min-width:150px;background:white;border:1px solid var(--color-line);border-radius:10px;padding:12px}.node:after{content:"→";float:right;color:var(--color-orange)}.node:last-child:after{content:""}
.analytics-chart{display:flex;gap:5px;align-items:end;height:178px;padding:28px 4px 6px;border-bottom:1px solid var(--color-line);overflow-x:auto;overflow-y:visible}.analytics-bar{display:grid;grid-template-rows:14px minmax(2px,110px) 12px;align-items:end;justify-items:center;gap:4px;min-width:28px;height:144px;font-size:9px;line-height:1.2;color:var(--color-muted);border:0;background:transparent;padding:0 3px;border-radius:6px}.analytics-bar:hover,.analytics-bar:focus-visible,.analytics-bar.selected{background:var(--color-blue-soft);color:var(--color-blue)}.analytics-bar span,.analytics-bar small{display:block;max-width:100%;overflow:visible;white-space:nowrap}.analytics-bar i{display:block;width:18px;min-height:2px;max-height:110px;border-radius:4px 4px 0 0;background:var(--color-blue);font-style:normal}.analytics-bar.selected i{background:var(--color-orange)}.secret{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--color-surface-alt);padding:10px;border-radius:7px;font-family:var(--font-family-mono);font-size:12px}
.analytics-scroll>.table-wrap{max-height:360px;overflow:auto}.analytics-scroll .tbl thead{position:sticky;top:0;z-index:1;background:var(--color-surface)}.analytics-kpi-button{width:100%;font:inherit;text-align:left;cursor:pointer}.analytics-kpi-button:hover,.analytics-kpi-button:focus-visible,.analytics-kpi-button.selected{border-color:var(--color-blue);box-shadow:0 0 0 2px var(--color-blue-soft)}.analytics-kpi-button.selected{background:var(--color-blue-soft)}.analytics-selection{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:10px 12px;margin:12px 0;border:1px solid var(--color-line);border-radius:8px;background:var(--color-surface-alt)}.analytics-selection[hidden]{display:none}.selection-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-blue);border-radius:999px;background:var(--color-blue-soft);color:var(--color-blue);padding:4px 8px;font-size:11px;font-weight:700}.analytics-report-table tbody tr{cursor:pointer}.analytics-report-table tbody tr:hover,.analytics-report-table tbody tr.selected{background:var(--color-blue-soft)}.sort-button{border:0;background:transparent;color:inherit;padding:0;font:inherit;text-transform:inherit}.sort-button:hover,.sort-button:focus-visible{color:var(--color-blue);text-decoration:underline}.analytics-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:8px;align-items:end}.analytics-filter-grid label{display:grid;gap:4px;font-size:12px;color:var(--color-muted)}
:scope.standard-workspace .analytics-bar{min-height:0;border:0;padding:0 3px;background:transparent;box-shadow:none;transform:none;appearance:none}
:scope.standard-workspace .analytics-bar:not(:disabled):hover,:scope.standard-workspace .analytics-bar:focus-visible,:scope.standard-workspace .analytics-bar.selected,:scope.standard-workspace .analytics-bar:not(:disabled):active{border:0;background:var(--color-blue-soft);color:var(--color-blue);box-shadow:none;transform:none}
:scope.standard-workspace .sort-button{min-height:0;border:0;border-radius:0;padding:0;background:transparent;color:var(--color-on-dark);box-shadow:none;transform:none;appearance:none}
:scope.standard-workspace .sort-button:not(:disabled):hover,:scope.standard-workspace .sort-button:focus-visible,:scope.standard-workspace .sort-button:not(:disabled):active{border:0;background:transparent;color:var(--color-on-dark);box-shadow:none;transform:none;text-decoration:underline}
.contact-sheet .table-wrap{max-height:62vh}.contact-sheet .tbl{min-width:1650px}.contact-sheet .tbl thead{position:sticky;top:0;z-index:2;background:var(--color-surface)}.sheet-input{width:100%;min-width:120px;border-color:transparent;background:transparent;padding:5px}.sheet-input:focus{background:var(--color-surface);border-color:var(--color-blue)}.sheet-notes{min-width:220px;min-height:34px;height:34px;resize:vertical}
.visitor-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:12px 0;padding:12px;border:1px solid var(--color-line);border-radius:8px;background:var(--color-surface-alt)}.visitor-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.visitor-controls label{display:grid;gap:4px;margin:0;color:var(--color-muted);font-size:12px}.visitor-controls select{min-width:180px;padding:8px 9px;background:var(--color-surface)}.visitor-pagination{display:grid;grid-template-columns:auto minmax(130px,auto) auto;gap:8px;align-items:center}.visitor-pagination .range{text-align:center;white-space:nowrap}.visitor-pagination button{min-height:38px}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:1px;background:var(--color-line);border:1px solid var(--color-line);overflow:auto}.calendar-day{background:var(--color-surface);min-height:112px;padding:7px}.calendar-day.outside{background:var(--color-surface-alt)}.calendar-date{font-size:11px;color:var(--color-muted);margin-bottom:5px}.calendar-item{border-left:3px solid var(--color-blue);background:var(--color-blue-soft);border-radius:5px;padding:5px;margin:4px 0;font-size:10px}.calendar-item.failed{border-color:var(--color-calendar-danger);background:var(--color-calendar-danger-soft)}.calendar-item.succeeded{border-color:var(--color-calendar-success);background:var(--color-calendar-success-soft)}.media-preview{max-width:180px;max-height:100px;border-radius:7px;object-fit:cover}.readiness{max-width:260px}.danger{color:var(--color-calendar-danger)}label.inline{display:inline-flex;gap:4px;align-items:center;margin-right:8px;font-size:12px;white-space:nowrap}.campaign-card .meta{flex-wrap:wrap}.campaign-card .meta select{max-width:130px}.campaign-card button{font-size:11px;padding:4px 7px}.kpi strong.danger{color:var(--color-danger)}.ok{color:var(--color-calendar-success)}
.planner-compose{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:20px;align-items:start}.source-fields[hidden]{display:none}.linkedin-preview{border:1px solid var(--color-linkedin-line);border-radius:10px;background:var(--color-surface);color:var(--color-linkedin-ink);overflow:hidden;box-shadow: var(--elevation-linkedin);position:sticky;top:12px}.linkedin-preview-head{display:flex;gap:10px;align-items:center;padding:14px 16px 8px}.linkedin-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--color-linkedin-blue);color:var(--color-on-dark);font-weight:750;font-size:19px}.linkedin-author{font-size:14px;font-weight:700}.linkedin-meta{font-size:12px;color:var(--color-linkedin-muted)}.linkedin-body{padding:6px 16px 14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.45}.linkedin-image{display:block;width:100%;max-height:460px;object-fit:contain;background:var(--color-linkedin-surface)}.linkedin-preview-empty{padding:28px 16px;color:var(--color-linkedin-muted);text-align:center}.linkedin-preview-label{margin:0 0 8px;font-size:12px;color:var(--color-muted)}.calendar-item{cursor:pointer}.calendar-item:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.status-detail{margin-top:6px;font-size:11px}
#toast{position:fixed;right:20px;bottom:20px;max-width:420px;padding:12px 15px;background:var(--color-navy-deep);color:white;border-radius:8px;display:none;z-index:50}
#sidebar-content-screen{border-top:1px solid var(--color-line);margin-top:6px;padding-top:9px}
.sidebar-task-label{margin:12px 10px 4px;color:var(--color-muted);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.sidebar-task-label:first-of-type{margin-top:4px}.screen[aria-busy="true"]{min-height:240px;opacity:.72;pointer-events:none}.kpi-help{cursor:help}.advanced-panel{margin-top:12px;border:1px solid var(--color-line);border-radius:8px;padding:10px}.advanced-panel summary{cursor:pointer;font-weight:650}.sync-problem{display:grid;gap:6px}.sync-problem details{font-size:11px}.sync-problem code{white-space:normal;overflow-wrap:anywhere}
.sidebar-item-link{color:inherit;text-decoration:none}.sidebar-item-link::after{content:'\2197';margin-left:auto;color:var(--color-muted)}
.website-intelligence-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.website-intelligence-tabs button.active{border-color:var(--color-blue);background:var(--color-blue-soft);color:var(--color-blue)}
#content-iframe,#search-visibility-iframe{width:100%;min-height:78vh;border:0;border-radius:10px;background:var(--color-surface);display:block}.li-embed,.marketing-embed{width:100%;min-height:78vh;border:0;border-radius:10px;background:transparent;display:block}
@media(max-width:1100px){.planner-compose{grid-template-columns:1fr}.linkedin-preview{position:static}}
@media(max-width:900px){.layout{grid-template-columns:1fr}.marketing-main{padding:14px}.grid,.form-grid{grid-template-columns:1fr 1fr}.visitor-controls{grid-template-columns:1fr}.visitor-pagination{justify-content:start}.analytics-filter-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.grid,.form-grid,.analytics-filter-grid{grid-template-columns:1fr}.visitor-filters{display:grid;grid-template-columns:1fr}.visitor-controls select{width:100%;min-width:0}.visitor-pagination{grid-template-columns:1fr 1fr;width:100%}.visitor-pagination .range{grid-column:1/-1;grid-row:1}.visitor-pagination button{width:100%}}
#surveys-iframe{height:calc(100vh - 190px);min-height:420px}
@media(max-height:760px){#surveys-iframe{height:calc(100vh - 170px);min-height:380px}}
.kpi-button{width:100%;text-align:left;cursor:pointer;border:1px solid var(--border,var(--color-line));background:var(--card-bg,var(--color-surface));font:inherit;display:block}
.kpi-button:hover{border-color:var(--accent,var(--color-action-blue))}
.kpi-button:focus-visible{outline:2px solid var(--accent,var(--color-action-blue));outline-offset:2px}
.drill-chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface-muted,var(--color-surface-tint));border:1px solid var(--border,var(--color-cool-line));border-radius:999px;padding:4px 10px;margin:0 0 10px;font-size:13px}
.help-callout{background:var(--surface-muted,var(--color-surface-tint));border:1px solid var(--color-line,var(--color-cool-line));border-radius:8px;padding:10px 12px;margin:0 0 12px;font-size:13px;line-height:1.5}
.outcome-group-heading{margin:16px 0 6px;font-size:13px;font-weight:650;color:var(--color-muted)}
.drillable-row{cursor:pointer}.drillable-row:hover{background:var(--surface-muted,var(--color-surface-tint))}.drillable-row.selected{background:var(--surface-muted,var(--color-surface-tint));outline:2px solid var(--color-accent,var(--color-accent-indigo));outline-offset:-2px}
.board-col.board-col-dim{opacity:.4}
.board-col-cancelled h3 span:first-child{color:var(--danger,var(--color-analytics-margin-strong-red))}
.campaign-card .campaign-cancelled-reason{color:var(--danger,var(--color-analytics-margin-strong-red));margin-top:4px;font-size:12px}
#audience-snapshots .snapshot-immutable{font-style:italic}
}

/* Native Surveys workspace */
@scope (body.standard-surveys-workspace) {
:scope{margin:0;background:var(--bg);color:var(--txt);font-family:var(--font)}.page{max-width:1440px;margin:auto;padding:24px}.top,.row{display:flex;gap:12px;align-items:center}.top{justify-content:space-between;margin-bottom:20px}.grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}.list{display:grid;gap:8px}.survey{width:100%;text-align:left;color:var(--txt);border:1px solid var(--line);background:var(--card);border-radius:9px;padding:11px;cursor:pointer}.survey:hover{background:var(--stripe)}.survey.active{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}.survey small,.muted{color:var(--muted)}h1,h2,h3{color:var(--navy);margin-top:0}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px}.tabs button{border:1px solid transparent;background:var(--stripe);border-radius:8px 8px 0 0;padding:10px 14px;cursor:pointer;font:inherit;color:var(--txt);transition:background .15s,border-color .15s,box-shadow .15s}.tabs button:hover{background:var(--card);border-color:var(--line);box-shadow: var(--elevation-fit-control)}.tabs button:focus-visible,.btn:focus-visible,.survey:focus-visible{outline:3px solid var(--color-focus-blue);outline-offset:2px}.tabs button.active{background:var(--card);border-color:var(--line);border-bottom:3px solid var(--navy);font-weight:700}.btn{cursor:pointer;transition:background .15s,box-shadow .15s,transform .05s}.btn:hover:not(:disabled){filter:brightness(.96);box-shadow: var(--elevation-fit-control-hover);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.panel{display:none}.panel.active{display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{grid-column:1/-1}label{display:grid;gap:5px;font-size:13px;font-weight:600}.field-help{display:block;color:var(--muted);font-size:12px;font-weight:400;line-height:1.45}input,textarea,select{font:inherit;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--txt)}textarea{min-height:80px}.question{border:1px solid var(--line);border-radius:10px;padding:14px;margin:10px 0}.question-head{display:flex;gap:8px}.question-head input{flex:1}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.pill{font-size:11px;padding:3px 8px;border-radius:99px;background:var(--stripe)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px;border-bottom:1px solid var(--line);vertical-align:top}.empty{padding:35px;text-align:center;color:var(--muted)}.error{color:var(--err)}.ok{color:var(--ok)}dialog{border:0;border-radius:12px;box-shadow: var(--elevation-survey-dialog);max-width:620px;width:calc(100% - 32px)}dialog::backdrop{background:var(--color-backdrop-strong)}#preview-modal{max-width:880px;max-height:94vh;padding:0;overflow:auto;background:var(--color-survey-preview-canvas)}#preview-modal .preview-toolbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;background:var(--color-surface);border-bottom:1px solid var(--color-survey-preview-line)}#preview-modal .preview-toolbar p{margin:0;color:var(--color-survey-preview-muted);font-size:13px}#preview-modal .respond-shell{margin:0 auto;padding:22px 18px 40px}#preview-modal .preview-note{margin:0 0 16px;padding:12px 14px;border:1px solid var(--color-survey-info-line);border-radius:8px;background:var(--color-survey-info-soft);color:var(--color-survey-info-ink);font-size:14px;line-height:1.5}#preview-modal .preview-note.complete{border-color:var(--color-survey-success-line);background:var(--color-survey-success-soft);color:var(--color-survey-success-ink)}.audience-drawer{position:fixed;inset:0;z-index:1000;background:var(--color-backdrop-strong);display:flex;justify-content:flex-end}.audience-drawer[hidden]{display:none}.audience-panel{width:min(980px,100vw);height:100vh;overflow:auto;background:var(--card);color:var(--txt);padding:22px;box-shadow: var(--elevation-survey-drawer)}.audience-panel-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-22px;background:var(--card);padding:12px 0;z-index:2;border-bottom:1px solid var(--line)}.audience-list{max-height:32vh;overflow:auto;border:1px solid var(--line);border-radius:8px}.audience-list label{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);font-weight:400}.audience-list label:hover{background:var(--stripe)}#global-analytics{margin-top:18px}@media(max-width:850px){.grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}}@media(max-width:600px){#preview-modal{width:100%;max-width:none;max-height:100vh;height:100vh;border-radius:0}#preview-modal .respond-shell{padding:14px 0 24px}.audience-panel{padding:14px}.audience-panel-head{top:-14px}}

}
html.survey-embedded body{margin:0!important;padding:0!important;background:var(--color-surface-alt)}html.survey-embedded header.hdr,html.survey-embedded .layout>aside{display:none}html.survey-embedded .layout{display:block;width:100%;max-width:none;min-height:0;margin:0;padding:0}html.survey-embedded .layout>main.main.page{box-sizing:border-box;display:block;width:100%;max-width:none;margin:0;padding:0}html.survey-embedded .top>div:first-child{display:none}html.survey-embedded .grid{display:block;box-sizing:border-box;width:100%;margin:0;padding:0}html.survey-embedded .grid>aside.card{margin:0 0 12px;padding:0;max-height:none;overflow:visible;border:0;background:transparent;box-shadow:none}html.survey-embedded .grid>aside.card h3{display:none}html.survey-embedded #list{display:flex;gap:8px;max-width:100%;max-height:none;overflow-x:auto;overflow-y:hidden;padding:2px}html.survey-embedded .survey{flex:0 0 190px;max-width:190px;padding:9px}html.survey-embedded #workspace{min-width:0}html.survey-embedded #global-analytics{margin-top:12px}html.survey-embedded.audience-open,html.survey-embedded.audience-open body{overflow:hidden}
html.survey-embedded .audience-drawer .audience-panel{box-sizing:border-box;width:100%;max-width:none}
html.survey-embedded #survey-picker{position:relative;z-index:10;width:min(460px,100%);padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
html.survey-embedded #survey-picker>h3{display:none}
html.survey-embedded .survey-picker-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--txt);font:inherit;font-weight:650;text-align:left;cursor:pointer}
html.survey-embedded .survey-picker-toggle[hidden],html.survey-embedded .survey-picker-filters[hidden],html.survey-embedded .survey-picker-menu[hidden]{display:none!important}
html.survey-embedded .survey-picker-menu:not([hidden]){position:absolute;top:calc(100% + 6px);left:0;z-index:20;box-sizing:border-box;width:min(460px,calc(100vw - 32px));padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow: var(--elevation-survey-picker)}
html.survey-embedded .survey-picker-filters{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;margin-bottom:10px}
html.survey-embedded #survey-picker #list{display:grid;gap:6px;box-sizing:border-box;max-height:min(55vh,460px);overflow-x:hidden;overflow-y:auto;padding:2px}
html.survey-embedded #survey-picker .survey{box-sizing:border-box;flex:none;width:100%;max-width:none;padding:9px}
@media(max-width:600px){html.survey-embedded #survey-picker{width:100%}html.survey-embedded .survey-picker-filters{grid-template-columns:1fr}html.survey-embedded .survey-picker-menu:not([hidden]){width:100%}}
body.standard-surveys-workspace .survey-row-between{justify-content:space-between}body.standard-surveys-workspace .survey-row-wrap{flex-wrap:wrap}body.standard-surveys-workspace .survey-space-top-8{margin-top:8px}body.standard-surveys-workspace .survey-space-top-10{margin-top:10px}body.standard-surveys-workspace .survey-space-top-20{margin-top:20px}body.standard-surveys-workspace .survey-space-top-22{margin-top:22px}body.standard-surveys-workspace .survey-space-top-24{margin-top:24px}body.standard-surveys-workspace .survey-audience-kpi{flex:1;min-width:135px;margin:4px 0}body.standard-surveys-workspace .survey-audience-filter{max-width:320px;margin:14px 0}body.standard-surveys-workspace .survey-block-gap{margin:12px 0}body.standard-surveys-workspace .survey-sender-status{margin:10px 0 16px;padding:14px}body.standard-surveys-workspace .survey-flex-grow{flex:1}body.standard-surveys-workspace .survey-search-status{margin:10px 0}body.standard-surveys-workspace .survey-selected-recipient{display:inline-block;margin:3px}body.standard-surveys-workspace .survey-field-gap{margin-top:12px}body.standard-surveys-workspace .survey-result-number{text-align:right;white-space:nowrap}
body.standard-surveys-workspace #survey-toast{position:fixed;right:20px;bottom:20px;padding:12px 16px;border-radius:8px;color:var(--color-on-dark);z-index:20;background:var(--color-success)}body.standard-surveys-workspace #survey-toast.bad{background:var(--color-danger)}

/* CRM workspace */
@scope (body.standard-crm-workspace) {
*{box-sizing:border-box}:scope{margin:0;background:var(--color-surface-alt);color:var(--color-ink);font-family:var(--font-family)}
/* Sidebar reuses the platform's shared .layout/.sidebar/.sidebar-item classes
   (same ones sales.html/admin.html use) so the CRM screens read as a
   continuation of the host page's sidebar rather than a different UI. */
.crm-main{padding:24px;min-width:0}.crm-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.crm-head h1{margin:0;color:var(--color-navy-deep)}.muted{color:var(--color-muted);font-size:12px}
.crm-integration-status{display:grid;gap:8px;margin:12px 0 18px}.crm-integration-row{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center;padding:10px 12px;border:1px solid var(--color-line);border-radius:8px}.crm-integration-dot{width:10px;height:10px;border-radius:50%;background:var(--color-muted)}.crm-integration-dot.connected{background:var(--color-success)}.crm-integration-dot.problem{background:var(--color-danger)}.crm-integration-label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--color-muted)}.crm-integration-label.connected{color:var(--color-success)}.crm-integration-label.problem{color:var(--color-danger)}.crm-import-summary{display:grid;gap:12px;margin:14px 0 20px}.crm-import-provider{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:14px}.crm-import-provider h3{margin:0 0 4px}.crm-import-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0}.crm-import-kpi{background:var(--color-surface-sunken);border-radius:var(--radius-sm);padding:9px}.crm-import-kpi strong{display:block;font-size:20px;color:var(--color-navy-deep)}.crm-import-warning{padding:9px 11px;border-left:3px solid var(--color-warning);background:var(--color-warning-tint);font-size:12px}.crm-import-ok{padding:9px 11px;border-left:3px solid var(--color-success);background:var(--color-success-tint);font-size:12px}.crm-stage-compare{margin-top:10px}@media(max-width:700px){.crm-integration-row{grid-template-columns:12px 1fr}.crm-integration-label{grid-column:2}.crm-import-kpis{grid-template-columns:1fr 1fr}}
.screen{display:none}.screen.active{display:block}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:12px;padding:16px;box-shadow:var(--elevation-card);margin-bottom:14px}.kpi strong{display:block;font-size:28px;color:var(--color-navy-deep)}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:12px}.toolbar label,.form-grid label{display:grid;gap:4px;font-size:12px;color:var(--color-muted)}input,select,textarea{border:1px solid var(--color-line);border-radius:7px;padding:8px 9px;background:var(--color-surface);color:var(--color-ink);font:inherit}textarea{min-height:90px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.form-grid .wide{grid-column:1/-1}.activity-open{background:none;border:0;padding:0;color:var(--color-navy);font:inherit;font-weight:700;text-align:left;cursor:pointer;text-decoration:underline}.activity-open:hover{background:none;color:var(--color-blue)}.myday-row .activity-open{font-weight:700}.crm-flow-frame{width:100%;height:calc(100vh - 180px);min-height:680px;border:1px solid var(--color-line);border-radius:12px;background:var(--color-surface)}
/* LinkedIn workspace */
.li-kpis{grid-template-columns:repeat(7,minmax(0,1fr))}.li-two{display:grid;grid-template-columns:3fr 2fr;gap:12px}.li-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:10px}
.li-chart{display:flex;gap:6px;align-items:flex-end;height:180px;padding:8px 0;border-bottom:1px solid var(--color-line)}.li-chart-day{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0;height:100%}.li-chart-bars{flex:1;display:flex;gap:2px;align-items:flex-end;width:100%}.li-chart-bars span{flex:1;min-height:2px;border-radius:2px 2px 0 0}.li-chart-label{font-size:10px;margin-top:4px}.li-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;margin-top:8px}.li-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}
.li-feed{list-style:none;margin:0;padding:0}.li-feed li{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--color-line)}.li-feed-icon{color:var(--color-muted)}
.li-tabs{display:flex;gap:6px;border-bottom:1px solid var(--color-line);margin-bottom:12px;padding-bottom:8px}.li-tabs button.active,.seg button.active,[data-li-days].active,[data-li-inbox-filter].active{background:var(--color-navy-deep);color:var(--color-on-dark);border-color:var(--color-navy-deep)}
.li-flow{display:flex;flex-direction:column;align-items:center;padding:12px;background:radial-gradient(var(--color-line) 1px,transparent 1px);background-size:14px 14px;border-radius:12px}.li-node-wrap{display:flex;flex-direction:column;align-items:center;min-width:240px}.li-node{background:var(--color-surface);border:1px solid var(--color-line);border-radius:10px;padding:10px 12px;min-width:240px;max-width:360px;box-shadow:var(--elevation-card)}.li-node-condition{border-color:var(--color-navy-deep)}.li-node-head{display:flex;gap:6px;align-items:center;justify-content:space-between}.li-node-text{font-size:12px;color:var(--color-muted);white-space:pre-wrap;margin-top:6px}.li-delay{font-size:12px;color:var(--color-muted);border:1px dashed var(--color-line);border-radius:999px;padding:2px 10px;margin:8px 0;background:var(--color-surface)}
.li-node-wrap::before{content:"";width:1px;height:14px;background:var(--color-line)}.li-flow>.li-node-wrap::before{display:none}.li-branches{display:flex;gap:24px;align-items:flex-start;margin-top:10px}.li-branch{display:flex;flex-direction:column;align-items:center;min-width:240px}.li-branch-label{font-size:12px;font-weight:650;padding:2px 10px;border-radius:999px}.li-yes{background:var(--color-success-tint);color:var(--color-success)}.li-no{background:var(--color-danger-tint);color:var(--color-danger)}.li-end{font-size:12px;color:var(--color-muted);border:1px solid var(--color-line);border-radius:999px;padding:4px 12px;margin-top:10px;background:var(--color-surface)}.li-slot{margin-top:10px}.li-mini{padding:3px 8px;font-size:12px}.li-node-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.li-node-form label{display:grid;gap:3px;font-size:12px;color:var(--color-muted)}.li-node-form .wide{grid-column:1/-1}
.lsc{display:grid;grid-template-columns:200px 1fr 280px;gap:10px;min-height:520px}.lsc.lsc-readonly{grid-template-columns:1fr 280px}.lsc h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.lsc-lib,.lsc-props{border:1px solid var(--color-line);border-radius:12px;padding:10px;background:var(--color-surface);align-self:start;max-height:640px;overflow:auto}.lsc-lib-item{display:grid;grid-template-columns:22px 1fr auto;gap:6px;align-items:center;border:1px solid var(--color-line);border-radius:10px;padding:6px 8px;margin:4px 0;font-size:12px;cursor:grab;background:var(--color-surface)}.lsc-lib-item:hover,.lsc-lib-item:focus-visible{border-color:var(--color-navy-deep);outline:none}.lsc-add{border:1px solid var(--color-line);background:var(--color-surface-alt);border-radius:50%;width:22px;height:22px;line-height:1;font-size:14px;cursor:pointer;padding:0}.lsc-add:hover{background:var(--color-navy-deep);color:var(--color-on-dark)}.lsc-hint{font-size:11px;margin-top:8px}.lsc-center{min-width:0}.lsc-toolbar{display:flex;gap:6px;align-items:center;margin-bottom:6px;flex-wrap:wrap}.lsc-findings-summary{margin-left:auto;font-size:12px}.lsc-canvas{position:relative;height:520px;overflow:hidden;border:1px solid var(--color-line);border-radius:12px;background:radial-gradient(var(--color-line) 1px,transparent 1px);background-size:16px 16px;cursor:grab;outline:none}.lsc-canvas:focus-visible{box-shadow: var(--elevation-navy-deep-inset)}.lsc-canvas.panning{cursor:grabbing}.lsc-world{position:absolute;left:0;top:0;transform-origin:0 0}.lsc-edges{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.lsc-edge{fill:none;stroke:var(--color-muted);stroke-width:2}.lsc-edge-slot{stroke-dasharray:5 4;stroke:var(--color-line-strong)}.lsc-edge-label{font-size:11px;font-weight:650}.lsc-edge-label.yes{fill:var(--color-success)}.lsc-edge-label.no{fill:var(--color-danger)}.lsc-node{position:absolute;width:236px;min-height:88px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:12px;box-shadow:var(--elevation-card);padding:8px 10px;cursor:pointer;user-select:none;font-size:12px}.lsc-node:focus-visible{outline:3px solid var(--color-orange,var(--color-orange));outline-offset:2px}.lsc-node.selected{border-color:var(--color-navy-deep);box-shadow:0 0 0 2px var(--color-navy-deep)}.lsc-node.lsc-cond{border-color:var(--color-navy-deep);border-style:double;border-width:3px}.lsc-node.lsc-wait{border-style:dashed}.lsc-node.flag-error{border-color:var(--color-danger)}.lsc-node.flag-warning{border-color:var(--color-warning)}.lsc-head{display:flex;gap:6px;align-items:center}.lsc-head strong{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lsc-delay{font-size:10.5px;color:var(--color-muted);border:1px dashed var(--color-line);border-radius:999px;padding:1px 6px}.lsc-body{color:var(--color-muted);margin-top:4px;white-space:pre-wrap;max-height:40px;overflow:hidden}.lsc-flag{position:absolute;right:-8px;top:-8px;width:18px;height:18px;border-radius:50%;background:var(--color-warning);color:var(--color-on-dark);font-size:11px;display:flex;align-items:center;justify-content:center}.flag-error .lsc-flag{background:var(--color-danger)}.lsc-ports{display:flex;justify-content:space-between;margin-top:6px}.lsc-port{font-size:11px;font-weight:650;padding:1px 8px;border-radius:999px}.lsc-slot{position:absolute;width:236px;height:44px;border:2px dashed var(--color-line-strong);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--color-muted);cursor:pointer;background:var(--color-surface-glass)}.lsc-slot:hover,.lsc-slot.over,.lsc-slot:focus-visible{border-color:var(--color-navy-deep);color:var(--color-navy-deep);outline:none}.lsc-dragging .lsc-slot{border-color:var(--color-success);background:var(--color-success-tint)}.lsc-picker{position:absolute;z-index:5;background:var(--color-surface);border:1px solid var(--color-line);border-radius:10px;box-shadow:var(--elevation-md,var(--elevation-md));padding:6px;display:grid;gap:2px;width:220px;max-height:260px;overflow:auto}.lsc-picker button{display:flex;gap:8px;align-items:center;border:0;background:transparent;text-align:left;padding:6px 8px;border-radius:6px;font:inherit;font-size:12px;cursor:pointer;width:100%}.lsc-picker button .lsc-ico{flex:0 0 18px;font-size:14px;text-align:center}.lsc-picker button .lsc-label{color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lsc-picker button:hover,.lsc-picker button:focus-visible{background:var(--color-surface-alt);outline:none}.lsc-findings{margin-top:8px;display:grid;gap:4px}.lsc-finding{display:flex;gap:8px;align-items:center;font-size:12px;padding:4px 8px;border-radius:6px;cursor:pointer}.lsc-finding:hover{background:var(--color-surface-alt)}.lsc-mark{width:16px;height:16px;border-radius:50%;color:var(--color-on-dark);font-size:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-muted);flex:0 0 auto}.lsc-finding.error .lsc-mark{background:var(--color-danger)}.lsc-finding.warning .lsc-mark{background:var(--color-warning)}.lsc-sentence{background:var(--color-surface-alt);border-left:4px solid var(--color-navy-deep);padding:8px 10px;border-radius:6px;font-size:12.5px;margin-bottom:8px}.lsc-props label{display:grid;gap:3px;font-size:12px;color:var(--color-muted);margin-top:8px}.lsc-props textarea{min-height:90px}.lsc-actions{margin-top:12px}.lsc-listview{border:1px solid var(--color-line);border-radius:12px;padding:8px;max-height:520px;overflow:auto}.lsc-table{width:100%;border-collapse:collapse;font-size:12px}.lsc-table th,.lsc-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--color-line)}.lsc-table tr{cursor:pointer}.lsc-table tr:hover td{background:var(--color-surface-alt)}@media(max-width:1000px){.lsc,.lsc.lsc-readonly{grid-template-columns:1fr}.lsc-lib{max-height:200px}}.li-flow-legend{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 12px;font-size:12px;color:var(--color-muted)}.li-flow-legend-item{display:inline-flex;align-items:center;gap:5px}.li-flow-dot{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;color:var(--color-on-dark);font-size:10px;font-weight:700}.li-flow-dot.c-progress{background:var(--color-blue)}.li-flow-dot.c-awaiting{background:var(--color-warning)}.li-flow-dot.c-finished{background:var(--color-success)}.li-flow-dot.c-paused{background:var(--color-orange-dark)}.li-flow-dot.c-failed{background:var(--color-danger)}.li-flow-dot.c-stopped{background:var(--color-loading)}.li-flow-dot.c-blacklisted{background:var(--color-navy-dark)}.lsc-node .li-flow-counts{position:absolute;left:8px;right:8px;bottom:-30px;display:flex;flex-direction:column;gap:2px;font-size:11px}.li-flow-total{font-weight:700;color:var(--color-navy-deep);text-decoration:none}.li-flow-total:hover{text-decoration:underline}.li-flow-dots{display:flex;gap:3px;flex-wrap:wrap}.li-flow-empty{font-size:10.5px}
a.li-drill{text-decoration:none;color:inherit;cursor:pointer}a.li-drill:hover{border-color:var(--color-navy-deep)}a.card.li-drill.active{border-color:var(--color-navy-deep);box-shadow:0 0 0 2px var(--color-navy-deep) inset}[data-li-invitation-status].active{background:var(--color-navy-deep);color:var(--color-on-dark);border-color:var(--color-navy-deep)}
.li-lead-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.li-lead-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.li-inbox{display:grid;grid-template-columns:300px 1fr 280px;gap:12px;align-items:start}.li-inbox-list{padding:0;max-height:75vh;overflow:auto}.li-thread{padding:10px 12px;border-bottom:1px solid var(--color-line);cursor:pointer}.li-thread.active{background:var(--color-surface-alt)}.li-thread.unread strong{color:var(--color-navy-deep)}.li-thread.unread{border-left:3px solid var(--color-navy-deep)}.li-thread-top{display:flex;justify-content:space-between;gap:6px}.li-thread-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li-thread-head{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--color-line);padding-bottom:8px;margin-bottom:8px}.li-messages{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow:auto;padding:4px 0}.li-msg{max-width:78%;padding:8px 12px;border-radius:12px;background:var(--color-surface-alt)}.li-msg.outbound{align-self:flex-end;background:var(--color-navy-deep);color:var(--color-on-dark)}.li-msg.outbound .muted{color:var(--color-on-dark-muted)}.li-msg.queued{opacity:.7;border:1px dashed var(--color-line)}.li-reply textarea{width:100%;min-height:70px;margin-top:8px}.li-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:12px}.li-dl dt{color:var(--color-muted)}.li-dl dd{margin:0}
@media (max-width:1100px){.li-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.li-two,.li-inbox{grid-template-columns:1fr}.li-lead-grid{grid-template-columns:1fr 1fr}}
.table-wrap{overflow:auto}.tbl{width:100%;border-collapse:collapse;font-size:12px}.tbl th,.tbl td{padding:9px;border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top}.tbl th{color:var(--color-muted);font-size:11px;text-transform:uppercase}.pill{display:inline-block;padding:3px 7px;border-radius:999px;background:var(--color-blue-soft);color:var(--color-blue);font-size:10px;font-weight:700}.state{padding:18px;border:1px dashed var(--color-line);border-radius:10px;color:var(--color-muted);text-align:center}.notice{padding:12px;border-left:4px solid var(--color-orange);background:var(--color-orange-tint);margin-bottom:14px}.stage-row{display:grid;grid-template-columns:1fr 90px 100px auto;gap:8px;align-items:center;padding:8px;border-bottom:1px solid var(--color-line)}
#toast{position:fixed;right:20px;bottom:20px;max-width:420px;padding:12px 15px;background:var(--color-navy-deep);color:white;border-radius:8px;display:none;z-index:50}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:10px;overflow-x:auto;padding-bottom:8px}
.board.date-grouped{grid-auto-columns:240px}
.board-col{background:var(--color-surface-alt);border:1px solid var(--color-line);border-radius:10px;padding:8px;min-height:220px}
.board-col h3{margin:2px 4px 8px;font-size:12px;text-transform:uppercase;color:var(--color-muted);display:flex;justify-content:space-between;gap:6px}
.board-col.drop-target{outline:2px dashed var(--color-blue);outline-offset:-2px}
.opp-kanban{background:var(--color-surface);border:1px solid var(--color-line);border-radius:8px;padding:8px 9px;margin-bottom:7px;cursor:grab;font-size:12px}
.opp-kanban.dragging{opacity:.5}
.opp-kanban.high{border-left:3px solid var(--color-orange);background:var(--color-orange-tint)}
.high-badge{display:inline-block;padding:0 6px;border-radius:var(--radius-pill);background:var(--color-orange-soft);color:var(--color-orange-ink);font-size:10px;font-weight:700;line-height:16px;vertical-align:1px}
.owner-initials{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 4px;border-radius:var(--radius-sm);background:var(--color-navy-deep);color:var(--color-on-dark);font-size:10px;font-weight:700;letter-spacing:.3px}
.owner-initials.unassigned{background:var(--color-surface-alt);color:var(--color-muted);border:1px dashed var(--color-line)}
.opp-kanban.selected,.pipeline-row.selected{border-color:var(--color-blue);background:var(--color-surface-tint)}
.pipeline-row{cursor:pointer}
.pipeline-workspace-toolbar{justify-content:space-between;align-items:center}
.pipeline-workspace-toolbar .workspace-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
.pipeline-stale-days{width:90px}
.pipeline-workspace-count{font-weight:700;color:var(--color-navy-deep)}
.opportunity-detail-backdrop{position:fixed;inset:0;background:var(--color-backdrop);z-index:70;display:none}
.opportunity-detail-backdrop.open{display:block}
.pipeline-filter-note{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 0;padding:6px 10px;border:1px solid var(--color-warning,var(--color-warning));border-radius:6px;font-size:12px;background:var(--color-warning-bg,var(--color-warning-tint))}
.pipeline-filter-note[hidden]{display:none}
.contract-gap{padding:8px 10px;border:1px solid var(--color-danger,var(--color-danger));border-radius:6px;font-size:12px}
.contract-gap[hidden]{display:none}
.opportunity-detail .contract-missing{outline:2px solid var(--color-danger,var(--color-danger));outline-offset:1px}
.pipeline-select-cell{width:28px;text-align:center}
.opportunity-detail{position:fixed;z-index:71;right:0;top:0;height:100vh;width:min(520px,94vw);background:var(--color-surface);border-left:1px solid var(--color-line);box-shadow: var(--elevation-opportunity-panel);transform:translateX(105%);transition:transform .18s ease;overflow:auto;padding:20px}
.opportunity-detail.open{transform:translateX(0)}
.opportunity-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}
.opportunity-detail-head h2{margin:0;color:var(--color-navy-deep)}
.opportunity-detail-section{border-top:1px solid var(--color-line);padding-top:14px;margin-top:14px}
.opportunity-detail-section h3{margin:0 0 9px;font-size:14px;color:var(--color-navy-deep)}
.opportunity-detail-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:14px}
.opp-kanban .k-name{font-weight:650;color:var(--color-navy-deep)}
.opp-kanban .k-meta{color:var(--color-muted);margin-top:3px;display:flex;justify-content:space-between;gap:6px}
.stale-flag{color:var(--color-orange-dark);font-weight:700}
.mywork-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.mywork-tabs button{border:1px solid var(--color-line);background:var(--color-surface-alt);padding:6px 12px;border-radius:999px;font-size:12px;cursor:pointer;color:var(--color-navy-deep)}.mywork-tabs button[aria-selected="true"]{background:var(--color-navy-deep);color:var(--color-on-dark)}.mywork-tabs .badge{margin-left:6px;font-weight:600}.mywork-nobody{color:var(--color-danger-ink);font-weight:600}.myday-group h3{margin:14px 0 6px;font-size:13px;color:var(--color-navy-deep)}
.myday-row{display:flex;gap:8px;align-items:center;padding:7px 4px;border-bottom:1px solid var(--color-line);font-size:12px}
.myday-row .grow{flex:1;min-width:0}
.myday-overdue .myday-row{border-left:3px solid var(--color-orange-dark);padding-left:8px}
.reporting-head{display:flex;justify-content:space-between;gap:12px;align-items:end;flex-wrap:wrap}.reporting-head h2{margin:0}.reporting-filters{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.reporting-filters label{display:grid;gap:4px;font-size:11px;color:var(--color-muted)}
.report-dashboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(54px,auto);gap:14px;padding:14px;border:1px solid var(--color-line);border-radius:16px;background:linear-gradient(145deg,var(--color-surface-alt),var(--color-surface))}.report-widget{margin:0;min-width:0;overflow:hidden;position:relative;transition:transform .16s,box-shadow .16s,border-color .16s}.report-widget:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-blue) 35%,var(--color-line));box-shadow: var(--elevation-report-hover)}.report-widget.dragging{opacity:.45}.report-widget.drop-target{outline:2px dashed var(--color-blue);outline-offset:2px}.report-widget.report-widget-expanded{position:fixed;z-index:90;inset:24px;margin:0;overflow:auto;transform:none;box-shadow:var(--elevation-lg)}:scope:has(.report-widget-expanded){overflow:hidden}.report-widget-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--color-line)}.report-widget-head h3{margin:0;color:var(--color-navy-deep);font-size:15px}.report-widget-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.report-widget-actions button{padding:3px 7px;font-size:10px}.report-chart{min-height:170px;display:flex;align-items:stretch;justify-content:stretch}.report-bars{display:grid;gap:10px;width:100%;align-content:center}.report-bar-row{display:grid;grid-template-columns:minmax(90px,1fr) 3fr auto;gap:8px;align-items:center;font-size:11px}.report-bar-groups{display:grid;gap:4px}.report-bar-track{height:10px;background:var(--color-surface-alt);border-radius:999px;overflow:hidden}.report-bar-fill{height:100%;background:var(--series-color,var(--color-blue));border-radius:999px;transition:width .25s}.report-series-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;color:var(--color-muted);font-size:10px}.report-series-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.report-kpi{font-size:34px;font-weight:750;color:var(--color-navy-deep);align-self:center}.report-donut{width:145px;height:145px;border-radius:50%;margin:auto;position:relative;box-shadow: var(--elevation-donut-line)}.report-donut:after{content:"";position:absolute;inset:31px;background:var(--color-surface);border-radius:50%;box-shadow:0 0 0 1px var(--color-line)}.report-legend{display:grid;gap:7px;font-size:10px;margin-left:16px;align-content:center}.report-line{width:100%;min-height:190px}.report-grid-line{stroke:var(--color-line);stroke-width:1}.report-funnel{display:grid;gap:7px;align-content:center;width:100%}.report-funnel-step{margin:auto;background:linear-gradient(90deg,var(--color-blue-soft),color-mix(in srgb,var(--color-blue-soft) 65%,var(--color-surface)));color:var(--color-blue);padding:8px;text-align:center;border-radius:6px;font-size:11px;transition:transform .15s}.report-funnel-step:hover{transform:scaleX(1.015)}.report-library-row{display:grid;grid-template-columns:minmax(180px,2fr) 1fr 1fr auto;gap:10px;align-items:center;padding:12px 8px;border-bottom:1px solid var(--color-line);border-radius:7px}.report-library-row:hover{background:var(--color-surface-alt)}.report-builder{display:none}.report-builder.open{display:block}.report-filter-row{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:7px;margin-bottom:7px}.report-preview{min-height:180px}.report-empty{grid-column:1/-1}.report-meta{font-size:10px;color:var(--color-muted);margin-top:4px}
.report-legend-swatch{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.report-series-color-0{background:var(--color-blue)}.report-series-color-1{background:var(--color-orange)}.report-series-color-2{background:var(--color-success)}.report-series-color-3{background:var(--color-violet)}.report-series-color-4{background:var(--color-stale)}.report-series-color-5{background:var(--color-muted)}
.report-clickable{cursor:pointer;border-radius:4px}.report-clickable:hover,.report-clickable:focus{outline:2px solid var(--color-blue);outline-offset:2px}.report-drilldown{display:none}.report-drilldown.open{display:block}.report-drilldown-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.report-drilldown table tbody tr.report-clickable:hover{background:var(--color-blue-soft)}.report-edit-state{display:none;color:var(--color-blue);font-weight:650}.report-edit-state.open{display:inline}.report-widget-actions .report-action-label{font-size:10px}.report-table-row.report-clickable td:first-child{font-weight:650;color:var(--color-blue)}
.management-hero{position:relative;overflow:hidden;padding:22px 24px;background:linear-gradient(125deg,var(--color-navy-deep),var(--color-navy-mid));color:var(--color-on-dark);border:0}.management-hero:after{content:"";position:absolute;width:260px;height:260px;right:-85px;top:-150px;border:55px solid var(--color-on-dark-wash);border-radius:var(--radius-circle)}.management-hero h2{margin:0 0 5px;font-size:24px;color:inherit}.management-hero .muted{color:var(--color-on-dark-muted)}.management-generated{position:absolute;right:24px;bottom:20px;font-size:10px;color:var(--color-on-dark-faint)}
.management-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}.management-kpi{min-width:0;padding:15px 16px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--elevation-card)}.management-kpi-label{color:var(--color-muted);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.management-kpi-value{margin-top:8px;color:var(--color-navy-deep);font-size:25px;font-weight:780;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.management-kpi-sub{min-height:14px;margin-top:6px;color:var(--color-muted);font-size:10px}.management-kpi:nth-child(5){border-top:3px solid var(--color-blue)}.management-kpi:nth-child(6){border-top:3px solid var(--color-success)}
.management-panels{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.management-panel{grid-column:span 6;margin:0}.management-panel.wide{grid-column:1/-1}.management-panel-head{margin-bottom:15px}.management-panel-head h3{margin:0 0 4px;color:var(--color-navy-deep);font-size:15px}.management-funnel,.management-bars{display:grid;gap:10px;align-content:center;min-height:220px}.management-funnel-row,.management-bar-row{display:grid;grid-template-columns:115px 1fr auto;gap:10px;align-items:center;font-size:11px}.management-funnel-track{height:28px;background:var(--color-surface-alt);border-radius:var(--radius-md);overflow:hidden}.management-funnel-fill{height:100%;min-width:2px;background:linear-gradient(90deg,var(--color-blue),var(--color-success));border-radius:var(--radius-md)}.management-funnel-row strong,.management-bar-row strong{text-align:right;color:var(--color-navy-deep);font-size:13px}.management-bar-track{height:12px;border-radius:var(--radius-pill);background:var(--color-surface-alt);overflow:hidden}.management-bar-fill{height:100%;border-radius:var(--radius-pill);background:var(--color-blue)}
.management-attention{display:grid;gap:9px}.management-attention-row{display:flex;align-items:center;gap:10px;padding:11px 12px;background:var(--color-surface-alt);border-radius:var(--radius-md)}.management-attention-count{display:inline-grid;place-items:center;min-width:31px;height:31px;border-radius:var(--radius-md);background:var(--color-blue-soft);color:var(--color-blue);font-size:15px;font-weight:750}.management-attention-row span:last-child{font-size:12px}.management-legend{display:flex;gap:16px;flex-wrap:wrap;color:var(--color-muted);font-size:10px}.management-legend i{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:var(--radius-xs)}.management-trend{width:100%;min-height:235px}.management-trend text{fill:var(--color-muted);font:10px var(--font-family)}.management-trend .axis{stroke:var(--color-line)}.management-trend .series{fill:none;stroke-width:3}.management-customize{margin-top:20px}
@media(max-width:900px){.layout{grid-template-columns:1fr}.crm-main{padding:14px}.grid,.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1100px){.management-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.report-dashboard{grid-template-columns:1fr}.report-widget{grid-column:1!important;grid-row:auto!important}.report-library-row{grid-template-columns:1fr}.report-filter-row{grid-template-columns:1fr}.management-panels{grid-template-columns:1fr}.management-panel,.management-panel.wide{grid-column:1}.management-hero{padding-bottom:42px}.management-generated{left:24px;right:auto}}
@media(max-width:560px){.management-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.management-kpi-value{font-size:21px}}
@media(max-width:560px){.grid,.form-grid{grid-template-columns:1fr}}
/* Embedded mode: a host workspace (sales.html/analytics.html/content.html/
   admin.html) loads this page inside an iframe (?embed=1) so its own
   sidebar/tab-bar keeps showing instead of being replaced by this page's
   header+sidebar. Hide the parts that would duplicate the host chrome. */

}
html.crm-embedded .hdr{display:none}
html.crm-embedded #sidebar{display:none}
html.crm-embedded .layout{grid-template-columns:1fr;min-height:auto}
html.crm-embedded .crm-main{padding:10px 4px}
/* _embed_viewport_overlays_v1 (2026-09-19): the host page grows this iframe to
   its full content height, so "fixed" overlays were laid out against a frame
   thousands of pixels tall: the detail drawer opened at the top of the list and
   dialogs centred far below the fold once the user had scrolled. The visible
   slice of the frame is published as --embed-top/--embed-height (see
   syncEmbedViewport) and the overlays follow it. */
html.crm-embedded .opportunity-detail{top:var(--embed-top,0px);height:var(--embed-height,100vh)}
html.crm-embedded .action-modal-backdrop{top:var(--embed-top,0px);bottom:auto;height:var(--embed-height,100vh)}
html.crm-embedded #toast{bottom:auto;top:calc(var(--embed-top,0px) + var(--embed-height,100vh) - 76px)}

/* Campaign Lab workspace */
@scope (body.standard-campaign-workspace) {
*{box-sizing:border-box}:scope{margin:0;background:var(--bg);color:var(--txt);font-family:var(--font);min-height:100vh}
.safe{margin-left:auto;border:1px solid var(--color-success-line);background:var(--color-success-tint);color:var(--color-success-ink);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}
.campaign-main{padding:var(--space-6);min-width:0;overflow:auto}.campaign-page-head{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.campaign-page-head h1{margin:0;color:var(--color-navy-deep)}.campaign-statuses{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto}.campaign-shell{display:grid;grid-template-columns:minmax(240px,285px) minmax(0,1fr);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);overflow:hidden}.campaign-list{background:var(--card);border-right:1px solid var(--line);padding:var(--space-4);overflow:auto}.campaign-detail{padding:var(--space-5);overflow:auto;min-width:0}.sidebar-task-label{margin:var(--space-3) var(--space-2) var(--space-1);color:var(--color-muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}
h2{margin:0 0 4px;font-size:22px}h3{font-size:var(--font-size-base);margin:0 0 12px}.muted{color:var(--muted);font-size:var(--font-size-sm)}.stack{display:grid;gap:10px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px}.campaign{padding:11px;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;background:var(--card)}.campaign.active{border-color:var(--color-blue);background:var(--color-info-tint)}.campaign strong{display:block;font-size:var(--font-size-sm)}.campaign small{color:var(--muted)}.campaign.archived{opacity:.6}
.new-campaign-button{width:100%;margin-bottom:14px}.new-campaign-form{max-width:850px;margin-bottom:18px}.csv-upload{width:220px}:scope .campaign-archive-toggle{margin-bottom:10px;display:flex;grid-template-columns:none;gap:8px;align-items:center;font-size:var(--font-size-caption)}:scope .campaign-archive-toggle .campaign-checkbox-compact{width:18px;height:18px;min-height:18px;flex:0 0 18px}.campaign-note{margin-bottom:8px}.campaign-table-scroll{overflow:auto}.campaign-rules{white-space:pre-wrap}
.form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form .wide{grid-column:1/-1}
.bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0}.pill{border-radius:var(--radius-pill);padding:4px 9px;background:var(--stripe);font-size:var(--font-size-xs)}.pill.ok{background:var(--color-success-soft);color:var(--color-success-ink)}.pill.warn{background:var(--color-warning-soft);color:var(--color-warning-ink)}.pill.err{background:var(--color-danger-soft);color:var(--color-danger-ink)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.metric strong{display:block;font-size:24px;margin-top:5px}.metric small{display:block;color:var(--muted);font-size:var(--font-size-xs);margin-top:3px}.grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:14px;margin-top:14px}
.stages{display:grid;grid-template-columns:repeat(7,minmax(95px,1fr));gap:6px;overflow-x:auto;padding-bottom:6px}.stage{border:1px solid var(--line);border-radius:var(--radius-md);padding:10px;min-height:74px;font-size:var(--font-size-caption)}.stage.done{background:var(--color-success-tint);border-color:var(--color-success-line)}.stage.current{background:var(--color-info-tint);border-color:var(--color-line-hover)}.stage.failed{background:var(--color-danger-tint);border-color:var(--color-danger-line)}.stage .num{display:block;color:var(--muted);font-size:var(--font-size-2xs);margin-bottom:7px}.progress{height:7px;background:var(--stripe);border-radius:var(--radius-pill);overflow:hidden;margin:12px 0}.progress i{display:block;height:100%;background:var(--color-blue)}.progress.failed i{background:var(--color-danger)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-top:15px;flex-wrap:wrap}.tabs button{border:0;border-radius:0;background:transparent}.tabs button.active{border-bottom:2px solid var(--color-blue);color:var(--color-info-ink)}.pane{display:none;padding-top:14px}.pane.active{display:block}table{width:100%;border-collapse:collapse;font-size:var(--font-size-caption)}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600}.timeline{display:grid;gap:10px;max-height:440px;overflow:auto}.evt{border-left:2px solid var(--color-line-hover);padding-left:10px}.evt.failed{border-color:var(--color-danger-line)}.evt strong{font-size:var(--font-size-caption);display:block}.evt small{color:var(--muted)}
.empty{text-align:center;padding:42px;color:var(--muted)}.context-card{margin-bottom:18px}.alert{border:1px solid var(--color-warning-line);background:var(--color-warning-tint);color:var(--color-warning-ink);border-radius:var(--radius-md);padding:10px;font-size:var(--font-size-caption);margin-bottom:14px}.alert.error{border-color:var(--color-danger-line);background:var(--color-danger-tint);color:var(--color-danger-ink)}.danger{color:var(--color-danger)}.hide{display:none!important}
@media(max-width:900px){.campaign-main{padding:var(--space-4)}.campaign-page-head{display:grid}.campaign-statuses{margin-left:0}.campaign-shell{grid-template-columns:1fr}.campaign-list{border-right:0;border-bottom:1px solid var(--line)}.grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.form{grid-template-columns:1fr}.form .wide{grid-column:auto}}
}

/* Analytics workspace */
@scope (body.analytics-workspace-page) {
:scope :where(button:not(.link),input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select){min-height:var(--control-height-touch)}:scope input[type="search"]{min-height:var(--control-height-touch)}
/* ── Layout ────────────────────────────────────────────────────────────── */

/* ── Period bar ────────────────────────────────────────────────────────── */
.period-bar { margin-bottom: 16px; }/* ── KPI row ───────────────────────────────────────────────────────────── */

/* Cost-per-outcome matrix, sparklines, attribution drill-down, dictionary (items 52/56) */
.matrix-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 10px; }
.matrix-bar select { padding: 5px 8px; border: 1px solid var(--line); border-radius: var(--radius-sm); font: inherit; font-size: 12px; }
.consistency-chip { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: var(--radius-pill); font-size: var(--font-size-micro); font-weight: 600; border: 1px solid var(--line); background: var(--color-canvas); color: var(--muted); }
.consistency-chip[data-status="ok"] { color: var(--color-success); border-color: var(--color-success); background: var(--color-success-tint); }
.consistency-chip[data-status="unattributed"] { color: var(--color-warning); border-color: var(--color-warning); background: var(--color-warning-tint); }
.consistency-chip[data-status="mismatch"] { color: var(--color-danger); border-color: var(--color-danger); background: var(--color-danger-tint); }
.matrix { width: 100%; border-collapse: collapse; font-size: 12px; }
.matrix th, .matrix td { padding: 6px 8px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.matrix th:first-child, .matrix td:first-child { text-align: left; }
.matrix td.cell button { border: 0; background: transparent; color: var(--navy); font: inherit; cursor: pointer; padding: 2px 4px; border-radius: var(--radius-sm); font-variant-numeric: tabular-nums; }
.matrix td.cell button:hover, .matrix td.cell button:focus-visible { background: var(--color-canvas); outline: 2px solid var(--gold); }
.matrix td.cell[data-empty="1"] { color: var(--muted); }
.matrix .spark { width: 96px; height: 22px; vertical-align: middle; }
.matrix .spark rect { fill: var(--navy); }
.matrix .spark rect[data-current="1"] { fill: var(--orange); }
.matrix tr[data-unattributed="1"] td { color: var(--color-warning); }
.attribution { margin-top: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--color-canvas); font-size: 12px; }
.attribution h4 { margin: 0 0 8px; font-size: 13px; color: var(--navy); }
.attribution table { width: 100%; border-collapse: collapse; }
.attribution th, .attribution td { padding: 4px 6px; border-bottom: 1px solid var(--line); text-align: left; font-size: var(--font-size-micro); }
.attribution .attr-close { float: right; }
.dictionary-search { width: min(420px, 100%); padding: 7px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); font: inherit; font-size: 13px; margin-bottom: 12px; }
.dictionary-entry { padding: 10px 0; border-bottom: 1px solid var(--line); }
.dictionary-entry[data-active="1"] { background: var(--color-warning-tint); outline: 2px solid var(--gold); border-radius: var(--radius-sm); padding: 10px; }
.dictionary-entry h3 { margin: 0 0 2px; font-size: 13px; color: var(--navy); }
.dictionary-entry code { font-size: var(--font-size-micro); color: var(--muted); }
.dictionary-fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 2px 14px; margin-top: 6px; font-size: var(--font-size-micro); color: var(--muted); }
.dictionary-fields strong { color: var(--txt); }

/* ── Cards / grid ──────────────────────────────────────────────────────── */
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.grid .span2 { grid-column: 1 / -1; }
.card { margin-bottom: 0; }

/* ── Funnel ────────────────────────────────────────────────────────────── */
.funnel-row { display: grid; grid-template-columns: 130px 1fr 90px; align-items: center; gap: 10px; padding: 7px 0; }
.funnel-row .flbl { font-size: 12px; color: var(--muted); text-align: right; }
.funnel-row .fval { font-size: 13px; font-weight: 600; color: var(--txt); }
.funnel-track { background: var(--color-surface-sunken); border-radius: var(--radius-sm); height: 22px; position: relative; }
.funnel-bar { height: 100%; border-radius: var(--radius-sm); background: var(--navy); min-width: 2px; transition: width .25s; }
.funnel-bar.won { background: var(--ok); }
.funnel-note { font-size: var(--font-size-micro); color: var(--muted); margin-top: 8px; }
.funnel-loss { color: var(--muted); font-weight: var(--font-weight-regular); }
.analytics-inline-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }

/* ── Bar chart (inline SVG) ────────────────────────────────────────────── */
.chart-wrap { width: 100%; overflow-x: auto; }
.chart-wrap svg { display: block; width: 100%; height: auto; }
.bar-col { fill: var(--navy); }
.bar-col:hover { fill: var(--orange); }
.grid-line { stroke: var(--line); stroke-width: 1; }
.axis-txt { fill: var(--muted); font-size: var(--font-size-micro); font-family: inherit; }

/* Configurable performance workspaces */
/* Commercial Performance / Opportunity tracker: 13 controls; a column grid
   keeps the fields aligned, selects shrink without clipping their text, the
   tracker-only controls start on their own row and the actions sit right. */
#commercial-toolbar { display:grid; grid-template-columns:repeat(auto-fill,minmax(168px,1fr)); align-items:end; }
#commercial-toolbar label { min-width:0; }
#commercial-toolbar label.grow { grid-column:span 2; }
#commercial-toolbar select,#commercial-toolbar input { width:100%; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#commercial-toolbar .report-toolbar-break { grid-column:1/-1; height:0; margin-top:-10px; }
#commercial-toolbar .report-toolbar-actions { grid-column:-3/-1; justify-self:end; margin-left:0; }
#commercial-toolbar .report-toolbar-actions[data-planning-control] { grid-column:1/-3; justify-self:end; }
#commercial-kpis { grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); }
.interactive-chart { min-height:260px; }
.interactive-chart svg { overflow:visible; }
.interactive-chart .bar-col,.interactive-chart .chart-point { cursor:pointer; transition:opacity .15s,fill .15s,transform .15s; transform-box:fill-box; transform-origin:center bottom; }
.interactive-chart .bar-col:hover,.interactive-chart .bar-col:focus,.interactive-chart .bar-col.selected { fill:var(--orange); opacity:1; transform:scaleX(1.06); outline:none; }
.interactive-chart .chart-line { fill:none; stroke:var(--navy); stroke-width:3; vector-effect:non-scaling-stroke; }
.interactive-chart .chart-area { fill:url(#chart-area-gradient); opacity:.18; }
.interactive-chart .chart-point { fill:var(--color-surface); stroke:var(--navy); stroke-width:3; }
.interactive-chart .chart-point:hover,.interactive-chart .chart-point:focus,.interactive-chart .chart-point.selected { fill:var(--orange); stroke:var(--orange); outline:none; }
.distribution { display:grid; gap:9px; }
.distribution-row { display:grid; grid-template-columns:minmax(100px,1fr) 3fr auto; gap:10px; align-items:center; padding:3px; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--txt); text-align:left; cursor:pointer; }
.distribution-row:hover,.distribution-row:focus-visible,.distribution-row.active { border-color:var(--navy); background:transparent; color:var(--txt); outline:2px solid color-mix(in srgb,var(--navy) 18%,transparent); filter:none; transform:none; }
.distribution-track { height:12px; overflow:hidden; border-radius:var(--radius-pill); background:var(--color-surface-sunken); }
.distribution-fill { display:block; height:100%; min-width:2px; border-radius:inherit; background:linear-gradient(90deg,var(--navy),var(--blue)); }
.distribution-progress{display:block;width:100%;height:100%;overflow:hidden;border:0;border-radius:inherit;background:transparent;appearance:none}.distribution-progress::-webkit-progress-bar{background:transparent}.distribution-progress::-webkit-progress-value{border-radius:inherit;background:linear-gradient(90deg,var(--navy),var(--blue))}.distribution-progress::-moz-progress-bar{border-radius:inherit;background:linear-gradient(90deg,var(--navy),var(--blue))}
.distribution-meta { display:block; color:var(--muted); }
.commercial-card-title { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.commercial-pie-layout { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr); gap:20px; align-items:center; }
.commercial-pie { width:min(220px,100%); aspect-ratio:1; margin:auto; border-radius:50%; background:var(--pie); box-shadow: var(--elevation-pie-hole); }
.commercial-pie-key{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%}.commercial-series-color-0{background:var(--color-navy)}.commercial-series-color-1{background:var(--color-blue)}.commercial-series-color-2{background:var(--color-warning)}.commercial-series-color-3{background:var(--color-success)}.commercial-series-color-4{background:var(--color-violet)}.commercial-series-color-5{background:var(--color-rose)}.commercial-series-color-6{background:var(--color-muted)}
.commercial-month-chart { display:grid; grid-template-columns:repeat(12,minmax(42px,1fr)); gap:7px; align-items:end; min-height:210px; overflow-x:auto; padding-top:12px; }
.commercial-month-chart > .view-state { grid-column:1/-1; align-self:center; }
.commercial-month { display:grid; grid-template-rows:1fr auto auto; gap:6px; align-items:end; min-width:42px; height:200px; padding:0; border:0; background:transparent; color:var(--muted); font:inherit; cursor:pointer; }
.commercial-month:hover,.commercial-month:focus-visible,.commercial-month.active { background:transparent; color:var(--navy); outline:2px solid color-mix(in srgb,var(--navy) 18%,transparent); border-radius:var(--radius-sm); filter:none; transform:none; }
.commercial-month-bar { width:70%; min-height:2px; margin:0 auto; border-radius:var(--radius-sm) var(--radius-sm) 0 0; background:var(--navy); }
.commercial-month:hover .commercial-month-bar,.commercial-month.active .commercial-month-bar { background:var(--orange); }
.commercial-month strong { color:var(--txt); font-size:var(--font-size-micro); font-variant-numeric:tabular-nums; white-space:nowrap; }
.commercial-month span:last-child { font-size:var(--font-size-micro); }
.commercial-report-tabs { flex:0 0 auto; }
[data-commercial-report-panel][hidden] { display:none!important; }
[data-planning-control][hidden] { display:none!important; }
.planning-summary { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 14px; color:var(--muted); font-size:12px; }
.planning-legend { display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:var(--radius-pill); background:var(--color-canvas); }
.planning-legend::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--navy); }
.planning-legend.overdue::before { background:var(--err); }
.planning-board { overflow-x:auto; padding-bottom:8px; }
.planning-months { display:grid; grid-template-columns:repeat(12,minmax(190px,1fr)); gap:10px; min-width:2380px; align-items:start; }
.planning-month { min-height:178px; padding:10px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--color-canvas); }
.planning-month.current { border-color:var(--orange); box-shadow: var(--elevation-planning-current); }
.planning-month.past { background:var(--color-surface-sunken); }
.planning-month-head { display:flex; justify-content:space-between; gap:8px; margin-bottom:9px; color:var(--navy); font-size:12px; }
.planning-month-head span { color:var(--muted); font-variant-numeric:tabular-nums; }
.planning-month-count { min-width:28px; padding:2px 6px; border:1px solid transparent; border-radius:var(--radius-pill); background:transparent; color:var(--muted); font:inherit; cursor:pointer; }
.planning-month-count:hover,.planning-month-count:focus-visible { border-color:var(--navy); background:transparent; color:var(--navy); outline:2px solid color-mix(in srgb,var(--navy) 18%,transparent); filter:none; transform:none; }
.planning-cards { display:grid; gap:7px; }
.planning-opportunity { width:100%; padding:9px; border:1px solid var(--line); border-left:4px solid var(--navy); border-radius:var(--radius-sm); background:var(--color-surface); color:var(--txt); text-align:left; font:inherit; cursor:pointer; box-shadow:var(--elevation-card); }
.planning-opportunity:hover,.planning-opportunity:focus-visible,.planning-opportunity[aria-selected="true"] { border-color:var(--navy); background:var(--color-surface); color:var(--txt); outline:2px solid color-mix(in srgb,var(--navy) 18%,transparent); filter:none; transform:none; }
.planning-opportunity.overdue { border-left-color:var(--err); }
.planning-opportunity.status-qualified { border-left-color:var(--blue); }
.planning-opportunity.status-proposed { border-left-color:var(--orange); }
.planning-opportunity.status-negotiating { border-left-color:var(--ok); }
.planning-opportunity.status-qualified.overdue,.planning-opportunity.status-proposed.overdue,.planning-opportunity.status-negotiating.overdue { border-left-color:var(--err); }
.planning-opportunity strong,.planning-opportunity span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.planning-opportunity strong { margin-bottom:4px; font-size:12px; }
.planning-opportunity span { color:var(--muted); font-size:var(--font-size-micro); }
.planning-opportunity .planning-value { margin-top:6px; color:var(--navy); font-size:var(--font-size-micro); font-weight:700; }
.planning-empty-month { padding:22px 4px; color:var(--muted); font-size:var(--font-size-micro); text-align:center; }
.planning-unscheduled { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:8px; }
.interval-legend { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; color:var(--muted); font-size:var(--font-size-micro); }
.interval-legend span { display:inline-flex; align-items:center; gap:6px; }
.interval-legend i { width:22px; height:5px; border-radius:var(--radius-pill); background:var(--navy); }
.interval-legend .future i { border:1px dashed var(--orange); background:transparent; }
.interval-legend .invalid i { background:var(--err); }
.interval-board { overflow-x:auto; padding-bottom:8px; }
.interval-chart { min-width:1020px; }
.interval-header,.interval-row { display:grid; grid-template-columns:190px minmax(800px,1fr); gap:10px; align-items:center; }
.interval-header { margin-bottom:6px; color:var(--muted); font-size:var(--font-size-micro); }
.interval-month-labels { display:grid; grid-template-columns:repeat(12,1fr); text-align:center; }
.interval-row { min-height:36px; border-top:1px solid var(--line); }
.interval-label { overflow:hidden; padding:5px 7px; border:0; background:transparent; color:var(--txt); text-align:left; text-overflow:ellipsis; white-space:nowrap; font:inherit; font-size:var(--font-size-micro); cursor:pointer; }
.interval-label:hover,.interval-label:focus-visible { border-color:var(--navy); background:transparent; color:var(--navy); outline:2px solid color-mix(in srgb,var(--navy) 18%,transparent); border-radius:var(--radius-sm); filter:none; transform:none; }
.interval-warning { display:block; margin-top:2px; color:var(--err); font-size:var(--font-size-micro); font-weight:700; white-space:normal; }
.interval-track { position:relative; height:24px; background:repeating-linear-gradient(to right,transparent 0,transparent calc(8.333% - 1px),var(--line) calc(8.333% - 1px),var(--line) 8.333%); }
.interval-bar,.interval-future { position:absolute; top:9px; left:var(--left); width:max(3px,var(--width)); height:6px; border-radius:var(--radius-pill); background:var(--navy); }
.interval-future { border:1px dashed var(--orange); background:var(--color-surface); }
.interval-bar.invalid { background:var(--err); }
.interval-start-dot { position:absolute; top:6px; left:var(--left); width:12px; height:12px; border:3px solid var(--color-surface); border-radius:50%; background:var(--navy); transform:translateX(-50%); box-shadow:0 0 0 1px var(--navy); }
.interval-end-arrow { position:absolute; top:6px; left:var(--left); width:0; height:0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:9px solid var(--navy); transform:translateX(-1px); }
.interval-row.invalid .interval-start-dot { background:var(--err); box-shadow:0 0 0 1px var(--err); }
.interval-row.invalid .interval-end-arrow { border-left-color:var(--err); }
.interval-today { position:absolute; inset:1px auto 1px var(--today); width:2px; background:var(--orange); z-index:2; pointer-events:none; }
.interval-empty { padding:18px; color:var(--muted); text-align:center; }
.analytics-num-success { color:var(--ok); }
.analytics-num-danger { color:var(--err); }
.analytics-num-muted { color:var(--muted); }
.drift-alerts { margin:0 0 10px; padding-left:18px; color:var(--color-warning); font-size:var(--font-size-caption); }
.attribution-attempts-title { margin-top:10px; }
.attribution-description { margin:0; font-size:var(--font-size-caption); }
.commercial-table tbody tr { cursor:pointer; }
.commercial-table tbody tr:hover,.commercial-table tbody tr:focus-within { background:transparent; outline:2px solid color-mix(in srgb,var(--navy) 18%,transparent); outline-offset:-2px; }
.commercial-drawer-overlay { position:fixed; inset:0; z-index:80; background:var(--color-slate-overlay); }
.commercial-drawer { position:fixed; top:50%; left:50%; right:auto; z-index:81; display:flex; flex-direction:column; width:min(820px,calc(100vw - 32px)); max-height:min(680px,calc(100vh - 48px)); overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--color-surface); box-shadow: var(--elevation-drawer-dialog); transform:translate(-50%,-50%); }
.commercial-drawer[hidden],.commercial-drawer-overlay[hidden] { display:none!important; }
.commercial-drawer-head { display:flex; flex:0 0 auto; justify-content:space-between; gap:16px; align-items:flex-start; padding:16px 18px; border-bottom:1px solid var(--line); background:var(--color-surface); }
.commercial-drawer-head h2 { margin:0 0 4px; color:var(--navy); font-size:20px; }
.commercial-drawer-head p { margin:0; color:var(--muted); font-size:12px; }
.commercial-drawer-close { width:36px; height:36px; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--color-surface); color:var(--txt); cursor:pointer; }
.commercial-drawer-close:hover,.commercial-drawer-close:focus-visible { border-color:var(--navy); background:var(--color-surface); color:var(--navy); outline:2px solid color-mix(in srgb,var(--navy) 18%,transparent); filter:none; transform:none; }
.commercial-drawer-grid { display:grid; flex:1 1 auto; grid-template-columns:minmax(190px,.7fr) minmax(300px,1.3fr); grid-template-rows:minmax(0,1fr); gap:16px; min-height:0; overflow:hidden; padding:16px 18px 18px; }
.commercial-drawer-list { display:grid; align-content:start; gap:7px; min-height:0; overflow:auto; overscroll-behavior:contain; }
.commercial-drawer-row { width:100%; padding:10px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--color-surface); color:var(--txt); text-align:left; cursor:pointer; }
.commercial-drawer-row:hover,.commercial-drawer-row:focus-visible,.commercial-drawer-row[aria-selected="true"] { border-color:var(--navy); background:var(--color-surface); color:var(--txt); outline:2px solid color-mix(in srgb,var(--navy) 18%,transparent); filter:none; transform:none; }
.commercial-drawer-row strong,.commercial-drawer-row span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* List-only drawer: an aggregate (KPI, status bar, close month, tracker count)
   opens the opportunities it is made of; a row then opens the workspace. */
.commercial-drawer.list-only .commercial-drawer-grid { grid-template-columns:minmax(0,1fr); }
.commercial-drawer.list-only .commercial-editor { display:none; }
.commercial-drawer.list-only .commercial-drawer-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 14px; align-items:center; }
.commercial-drawer.list-only .commercial-drawer-row > * { grid-column:1; }
.commercial-drawer.list-only .commercial-drawer-row .num { grid-column:2; grid-row:1/3; text-align:right; font-variant-numeric:tabular-nums; }
.commercial-drawer.list-only .commercial-drawer-row .num strong { font-size:14px; }
/* Embedded in /sales the frame is as tall as its content, so position:fixed
   would centre the dialog in the frame, not in what the user sees; the host
   viewport slice is published as --embed-top/--embed-height (syncCommercialEmbedViewport). */
html.analytics-embedded .commercial-drawer-overlay { top:var(--embed-top,0px); bottom:auto; height:var(--embed-height,100vh); }
html.analytics-embedded .commercial-drawer { top:calc(var(--embed-top,0px) + var(--embed-height,100vh) / 2); max-height:min(680px,calc(var(--embed-height,100vh) - 48px)); }
.commercial-drawer-row span { margin-top:3px; color:var(--muted); font-size:var(--font-size-micro); }
.commercial-editor { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-content:start; min-height:0; overflow:auto; overscroll-behavior:contain; padding:16px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--color-canvas); }
.commercial-editor label { display:grid; gap:5px; color:var(--muted); font-size:var(--font-size-micro); }
.commercial-editor .wide { grid-column:1/-1; }
.commercial-editor.evidence-first .commercial-evidence { order:-1; }
.commercial-editor input,.commercial-editor select,.commercial-editor textarea { width:100%; min-height:38px; padding:8px 9px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--color-surface); color:var(--txt); font:inherit; }
.commercial-editor textarea { min-height:90px; resize:vertical; }
.commercial-evidence { display:grid; gap:10px; padding:12px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--color-surface); }
.commercial-evidence:not([open]) { display:block; }
.commercial-evidence > summary { display:flex; justify-content:space-between; gap:8px; align-items:center; color:var(--navy); cursor:pointer; list-style:none; }
.commercial-evidence > summary::-webkit-details-marker { display:none; }
.commercial-evidence > summary::after { content:'\25BE'; margin-left:auto; color:var(--muted); transition:transform .15s ease; }
.commercial-evidence:not([open]) > summary::after { transform:rotate(-90deg); }
.commercial-evidence-head { display:flex; justify-content:space-between; gap:8px; align-items:center; color:var(--navy); }
.commercial-evidence-head span,.commercial-evidence-note { color:var(--muted); font-size:var(--font-size-micro); }
.commercial-evidence-group { display:grid; gap:6px; }
.commercial-evidence-group > strong { color:var(--txt); font-size:12px; }
.commercial-evidence-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:start; padding:8px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--color-canvas); }
.commercial-evidence-item p { margin:0; color:var(--txt); font-size:var(--font-size-micro); line-height:1.4; }
.commercial-evidence-item small { display:block; margin-top:3px; color:var(--muted); }
.commercial-evidence-item a { overflow-wrap:anywhere; }
.commercial-evidence-chip { display:inline-flex!important; width:max-content; align-items:center; gap:3px; margin-top:4px; padding:2px 6px; border:1px solid var(--line); border-radius:var(--radius-pill); color:var(--muted)!important; font-size:var(--font-size-micro)!important; font-weight:600; }
.commercial-editor-actions { position:sticky; bottom:-16px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; grid-column:1/-1; margin:0 -16px -16px; padding:12px 16px 16px; border-top:1px solid var(--line); background:var(--color-canvas); }
.commercial-editor-status { color:var(--muted); font-size:12px; }
.commercial-outcome-controls { display:grid; gap:9px; }
.commercial-outcome-buttons,.commercial-outcome-actions { display:flex; flex-wrap:wrap; gap:8px; }
.commercial-outcome-form { display:none; gap:9px; padding:10px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--color-surface); }
.commercial-outcome-form.open { display:grid; }
.commercial-count-link { padding:2px 5px; border:1px solid transparent; background:transparent; color:var(--muted); font:inherit; cursor:pointer; }
.commercial-count-link:hover,.commercial-count-link:focus-visible { border-color:var(--navy); background:transparent; color:var(--navy); outline:2px solid color-mix(in srgb,var(--navy) 18%,transparent); filter:none; transform:none; }
@media (max-width:680px) { .commercial-drawer { inset:auto 8px 8px; width:auto; max-height:calc(100vh - 16px); transform:none; } .commercial-drawer-grid { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); padding:12px; } .commercial-drawer-list { max-height:104px; } .commercial-editor { grid-template-columns:1fr; } }
/* Mobile bottom sheet inside an embed: anchor to the bottom of the visible frame slice (the generic embedded rule above is more specific than the plain mobile rule). */
@media (max-width:680px) { html.analytics-embedded .commercial-drawer { top:auto; bottom:calc(var(--embed-bottom,0px) + 8px); max-height:calc(var(--embed-height,100vh) - 16px); transform:none; } .commercial-drawer.list-only .commercial-drawer-list { max-height:none; } }
[data-executive-panel][hidden] { display:none!important; }
.funnel-row[data-funnel-stage] { border-radius:var(--radius-sm); cursor:pointer; }
.funnel-row[data-funnel-stage]:hover,.funnel-row[data-funnel-stage]:focus-visible,.funnel-row[data-selected="1"] { background:var(--color-canvas); outline:2px solid color-mix(in srgb,var(--navy) 18%,transparent); }
.quality-share { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-bottom:8px; border-radius:50%; color:var(--navy); background:conic-gradient(var(--orange) var(--share),var(--color-surface-sunken) 0); box-shadow: var(--elevation-quality-hole); font-size:var(--font-size-micro); font-weight:700; }
.dictionary-entry { border:1px solid transparent; padding:12px; border-radius:var(--radius-md); }
.dictionary-entry:hover { border-color:var(--line); background:var(--color-canvas); }

/* ── Signals by source ─────────────────────────────────────────────────── */
.src-row { display: grid; grid-template-columns: minmax(120px, 220px) 1fr 44px; align-items: center; gap: 10px; padding: 5px 0; }
.src-row .slbl { font-size: 12px; color: var(--txt); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.src-row .slbl .stype { color: var(--muted); font-size: var(--font-size-micro); }
.src-track { background: var(--color-surface-sunken); border-radius: var(--radius-xs); height: 14px; }
.src-bar { height: 100%; border-radius: var(--radius-xs); background: var(--navy); min-width: 2px; }
.src-row .scnt { font-size: 12px; font-weight: 600; color: var(--txt); text-align: right; }/* ── Tables ────────────────────────────────────────────────────────────── */

/* ── Opportunities table ───────────────────────────────────────────────── */
.opp-status { display: inline-block; padding: 2px 8px; border-radius: var(--radius-md); font-size: var(--font-size-micro); font-weight: 600; background: var(--color-surface-sunken); color: var(--muted); }
.opp-status.qualified { background: var(--color-surface-tint); color: var(--blue); }
.opp-status.won { background: var(--color-success-tint); color: var(--ok); }
.opp-status.lost { background: var(--color-danger-tint); color: var(--err); }
.opp-status.prospect { background: var(--color-warning-tint); color: var(--color-warning); }

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .layout { grid-template-columns: 1fr; }
  .sidebar { display: flex; flex-wrap: wrap; gap: 4px; padding: 8px; border-right: none; border-bottom: 1px solid var(--line); }
  .sidebar-section { margin-bottom: 0; padding: 0; }
  .sidebar-label { display: none; }
  .main { padding: 16px 12px; }
  .grid { grid-template-columns: 1fr; }
  .funnel-row { grid-template-columns: 92px 1fr 70px; }
  .grid > .card, .card { min-width: 0; max-width: 100%; }
  .card .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .chart-wrap, .chart-wrap svg { max-width: 100%; }
}
@media (max-width:560px) { #commercial-toolbar{grid-template-columns:1fr} #commercial-toolbar label.grow,#commercial-toolbar .report-toolbar-actions,#commercial-toolbar .report-toolbar-actions[data-planning-control]{grid-column:auto;justify-self:stretch} }
@media (max-width:700px) { .commercial-pie-layout{grid-template-columns:1fr}.commercial-pie{max-width:180px} }
html.analytics-embedded .hdr,html.analytics-embedded .sidebar{display:none}
html.analytics-embedded .layout{display:block;min-height:auto}
html.analytics-embedded .main{padding:10px 4px}
html.analytics-opportunity-only,html.analytics-opportunity-only body{width:100%;height:100%;margin:0;overflow:hidden;background:transparent}
html.analytics-opportunity-only .hdr,html.analytics-opportunity-only .layout,html.analytics-opportunity-only .commercial-drawer-overlay{display:none!important}
html.analytics-opportunity-only .commercial-drawer{inset:0;display:flex;width:100%;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none;transform:none}
html.analytics-opportunity-only .commercial-drawer-grid{grid-template-columns:minmax(0,1fr)}
html.analytics-opportunity-only .commercial-drawer-list{display:none}

}
html.analytics-embedded .commercial-drawer-overlay{top:var(--embed-top,0px);bottom:auto;height:var(--embed-height,100vh)}
html.analytics-embedded .commercial-drawer{top:calc(var(--embed-top,0px) + var(--embed-height,100vh) / 2);max-height:min(680px,calc(var(--embed-height,100vh) - 48px))}
@media(max-width:680px){html.analytics-embedded .commercial-drawer{top:auto;bottom:calc(var(--embed-bottom,0px) + 8px);max-height:calc(var(--embed-height,100vh) - 16px);transform:none}html.analytics-embedded .commercial-drawer.list-only .commercial-drawer-list{max-height:none}}
html.analytics-embedded .hdr,html.analytics-embedded .sidebar{display:none}
html.analytics-embedded .layout{display:block;min-height:auto}
html.analytics-embedded .main{padding:10px 4px}
html.analytics-opportunity-only,html.analytics-opportunity-only body{width:100%;height:100%;margin:0;overflow:hidden;background:transparent}
html.analytics-opportunity-only .hdr,html.analytics-opportunity-only .layout,html.analytics-opportunity-only .commercial-drawer-overlay{display:none!important}
html.analytics-opportunity-only .commercial-drawer{inset:0;display:flex;width:100%;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none;transform:none}
html.analytics-opportunity-only .commercial-drawer-grid{grid-template-columns:minmax(0,1fr)}
html.analytics-opportunity-only .commercial-drawer-list{display:none}

/* Documents workspace */
@scope (body.standard-documents-workspace) {

*{box-sizing:border-box}:scope{margin:0;background:var(--color-surface-alt);color:var(--color-ink);font-family:var(--font-family)}
.docs-layout{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:calc(100vh - 64px)}
.tree{background:var(--color-surface);border-right:1px solid var(--color-line);padding:18px;overflow:auto}.tree h2{font-size:13px;margin:0 0 12px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}
.tree-row{display:flex;align-items:center;gap:7px;width:100%;border:0;background:none;text-align:left;padding:8px;border-radius:var(--radius-md);cursor:pointer;color:inherit;font:inherit;font-size:13px}.tree-row:hover,.tree-row.active{background:var(--color-surface-sunken)}.tree-row.active{font-weight:700;color:var(--color-navy-deep)}.tree-row .count{margin-left:auto;color:var(--color-muted);font-size:11px}.folder-children{margin-left:16px;border-left:1px solid var(--color-line);padding-left:4px}
.main{padding:24px;min-width:0}.head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.head h1{margin:0;color:var(--color-navy-deep);font-size:24px}.muted{color:var(--color-muted);font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{border:1px solid var(--color-line);background:var(--color-surface);color:inherit;border-radius:var(--radius-md);padding:8px 11px;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.btn.primary{background:var(--color-navy-deep);border-color:var(--color-navy-deep);color:var(--color-on-dark)}.btn:disabled{opacity:.5;cursor:default}
.toolbar{display:flex;gap:8px;margin-bottom:12px}.toolbar input{max-width:360px}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden}.doc-row{display:grid;grid-template-columns:minmax(200px,1fr) 118px 64px auto;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--color-line)}.doc-row:last-child{border-bottom:0}.doc-row>div:first-child{min-width:0}.doc-row .muted{overflow-wrap:anywhere}.doc-row .actions{flex-wrap:nowrap;justify-content:flex-end}.doc-row .actions .btn{padding:6px 8px;white-space:nowrap}.doc-meta .badge{display:block;width:max-content;max-width:100%;margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row.archived{color:var(--color-muted)}.btn.danger{color:var(--color-danger);border-color:var(--color-danger)}.main.dropping{outline:2px dashed var(--color-navy-deep);outline-offset:-8px}.toolbar select{width:auto;max-width:220px}.toolbar{flex-wrap:wrap}.doc-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px}.doc-name{font-weight:700;overflow:hidden;text-overflow:ellipsis}a.doc-name{color:inherit;text-decoration:none}a.doc-name:hover,a.doc-name:focus{text-decoration:underline}.badge{display:inline-block;border-radius:999px;padding:3px 8px;background:var(--color-surface-sunken);font-size:10px;font-weight:700}.badge.clean{color:var(--color-success)}.badge.failed,.badge.quarantined{color:var(--color-danger)}.empty{padding:34px;text-align:center;color:var(--color-muted)}
dialog{border:0;border-radius:var(--radius-lg);box-shadow:var(--elevation-lg);padding:0;max-width:560px;width:calc(100% - 30px)}dialog::backdrop{background:var(--color-backdrop-strong)}.modal{padding:20px}.modal h2{margin:0 0 14px}.modal label{display:grid;gap:5px;font-size:12px;color:var(--color-muted);margin-bottom:11px}input,select,textarea{width:100%;padding:9px;border:1px solid var(--color-line);border-radius:var(--radius-md);font:inherit;background:var(--color-surface);color:inherit}.permission-row{display:grid;grid-template-columns:1fr 130px auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--color-line)}
.error{display:none;margin-bottom:12px;padding:10px 12px;background:var(--color-danger-tint);color:var(--color-danger);border-radius:var(--radius-md)}.error.active{display:block}
.preview-panel{display:none;flex-direction:column;height:calc(100vh - 220px);min-height:420px}.preview-panel.active{display:flex}.preview-bar{margin-bottom:10px}.preview-frame{flex:1;width:100%;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}
.ask{display:flex;gap:8px;margin-bottom:12px}.ask input{flex:1}.answer{display:none;margin-bottom:14px;padding:12px 14px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface)}.answer.active{display:block}.answer p{margin:0 0 8px;white-space:pre-wrap}.answer .src{font-size:11px;color:var(--color-muted)}.answer .src a{color:inherit}.insight{display:none;margin:0;padding:10px 14px 10px 24px;border-left:3px solid var(--color-navy-deep);border-bottom:1px solid var(--color-line);background:var(--color-surface-sunken);font-size:12px}.insight.active{display:block}.insight .tags{margin-top:6px}.insight .acts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.sig.decided{opacity:.75}.sig .sev.decided{color:var(--color-muted)}.ask-error{color:var(--color-danger)}.notice{margin-bottom:12px;padding:10px 12px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);font-size:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.notice[hidden]{display:none}.sig{display:flex;gap:8px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--color-line);font-size:12px}.sig:last-child{border-bottom:0}.sig .sev{flex:0 0 auto;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;background:var(--color-surface-sunken)}.sig .sev.urgent{color:var(--color-danger)}.sig .sev.attention{color:var(--color-navy-deep)}.sig .body{flex:1;min-width:0}.sig .acts{display:flex;gap:6px}
.module-mode{margin-bottom:14px;padding:10px 12px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);font-size:12px;color:var(--color-muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.module-mode .actions{margin-left:auto}.check{display:flex!important;align-items:flex-start;gap:9px!important}.check input{width:auto;margin-top:2px}.check span{color:var(--color-ink)}.docs-tree-action{width:100%;margin-top:8px}.docs-tree-action-primary{margin-top:12px}.docs-danger{color:var(--color-danger)!important}.docs-space-top-sm{margin-top:6px}.docs-space-top-lg{margin-top:14px}.docs-archived-heading{margin-top:16px}.docs-section-heading{margin-top:10px}.docs-status-note{margin-top:8px}
@media(max-width:800px){.docs-layout{grid-template-columns:1fr}.tree{display:flex;flex-direction:column;border-right:0;border-bottom:1px solid var(--color-line);max-height:min(360px,45vh);overflow:hidden}.tree #tree{min-height:0;overflow:auto}.tree .docs-tree-action{flex:0 0 auto}.main{padding:15px}.doc-row{grid-template-columns:1fr auto}.doc-meta{display:none}}

}

/* Service workspace */
@scope (body.standard-service-workspace) {

*{box-sizing:border-box}:scope{margin:0;background:var(--color-surface-alt);color:var(--color-ink);font-family:var(--font-family)}
.service-main{padding:24px;min-width:0}.sidebar a.sidebar-item{text-decoration:none;color:inherit}.screen{display:none}.screen.active{display:block}.screen-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.screen-head h1{margin:0;color:var(--color-navy-deep)}.muted{color:var(--color-muted);font-size:12px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--color-surface);border:1px solid var(--color-line);border-top:3px solid var(--color-navy-deep);border-radius:var(--radius-lg);padding:15px;cursor:pointer;text-align:left;font:inherit;color:inherit}.kpi .value{font-size:24px;font-weight:750;color:var(--color-navy-deep)}.kpi .label{margin-top:4px;font-size:11px;color:var(--color-muted)}.kpi.alert{border-top-color:var(--color-danger)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:1.1fr 2fr;gap:16px}.card h2{margin:0 0 12px;color:var(--color-navy-deep);font-size:15px}.card h3{margin:14px 0 8px;font-size:13px;color:var(--color-navy-deep)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:4px;color:var(--color-muted);font-size:11px}input,select,textarea{width:100%;padding:8px 9px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:12px}textarea{min-height:70px;resize:vertical}.actions{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{padding:8px;text-align:left;border-bottom:2px solid var(--color-line);color:var(--color-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}td{padding:9px 8px;border-bottom:1px solid var(--color-surface-sunken);vertical-align:top}tr.row-link{cursor:pointer}tr.row-link:hover{background:var(--color-surface-alt)}tr.selected{background:var(--color-blue-tint)}.num{text-align:right;font-variant-numeric:tabular-nums}
.pill{display:inline-block;padding:3px 7px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);font-size:10px;font-weight:700;white-space:nowrap}.pill.good{color:var(--color-success);background:var(--color-success-tint)}.pill.warn{color:var(--color-orange-ink);background:var(--color-orange-tint)}.pill.bad{color:var(--color-danger);background:var(--color-danger-tint)}.pill.p1{color:var(--color-on-dark);background:var(--color-danger)}.pill.p2{color:var(--color-orange-ink);background:var(--color-orange-tint)}
.attention{display:grid;gap:8px}.attention-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface-alt);font-size:12px;border:0;cursor:pointer;font:inherit;color:inherit;text-align:left}
.thread{display:grid;gap:8px;max-height:420px;overflow:auto;padding-right:4px}.msg{padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface-alt);font-size:12px;white-space:pre-wrap}.msg.internal{background:var(--color-orange-tint);border-left:3px solid var(--color-orange)}.msg.agent{background:var(--color-blue-tint)}.msg .meta{font-size:10px;color:var(--color-muted);margin-bottom:4px}
.timeline{font-size:11px;color:var(--color-muted);display:grid;gap:4px;max-height:260px;overflow:auto}.detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.detail-head h2{font-size:17px}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;font-size:12px;margin:10px 0}.facts b{display:block;font-size:10px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}
.empty{padding:20px;text-align:center;color:var(--color-muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:12px}.filters label{min-width:140px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.service-main .tabs{border-bottom:0}.service-main .tab{border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink);border-radius:var(--radius-pill);padding:5px 11px;font:inherit;font-size:12px;cursor:pointer}.service-main .tab:hover{background:var(--color-surface-alt);color:var(--color-ink)}.service-main .tab.active,.service-main .tab.active:hover{background:var(--color-navy-deep);color:var(--color-on-dark);border-color:var(--color-navy-deep)}.service-main .kpi:hover,.service-main .attention-row:hover{background:var(--color-surface-alt)}.service-main .btn:not(.primary):hover{background:var(--color-surface-alt)}.tabpanel{display:none}.tabpanel.active{display:block}
.health{padding:10px 14px;border-radius:var(--radius-md);background:var(--color-orange-tint);color:var(--color-orange-ink);font-size:12px;margin-bottom:12px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.health.bad{background:var(--color-danger-tint);color:var(--color-danger)}fieldset.weekdays{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:6px 10px;margin:0;font-size:12px}fieldset.weekdays legend{font-size:11px;color:var(--color-muted);padding:0 4px}fieldset.weekdays label{display:inline-flex;align-items:center;gap:4px;margin-right:10px;min-width:0}fieldset.weekdays input{width:auto}.modal .form-grid{grid-template-columns:1fr 1fr}
.service-flow-frame{display:block;width:100%;height:calc(100vh - 100px);min-height:680px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface)}
.service-space-top-sm{margin-top:6px}.service-space-top-md{margin-top:10px}.service-space-top-lg{margin-top:12px}.service-health-actions{justify-content:flex-end;margin:0 0 8px}.service-work-card{margin:8px 0;padding:12px}.service-static-row{cursor:default}.service-detail-title{margin:0}.service-actions-flush{margin:0}.service-attachment-form :where(input,select){width:auto}
@media(max-width:1100px){.grid-3{grid-template-columns:1fr}}@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.service-main{padding:14px}.form-grid,.kpi-grid{grid-template-columns:1fr}.layout{display:block}.sidebar{display:flex;overflow:auto}.sidebar-section{display:flex}.sidebar-label{display:none}.sidebar-item{white-space:nowrap}}

}

/* Home workspace */
@scope (body.standard-home-workspace) {

* { box-sizing: border-box; }
.home-svg-definitions { position: absolute; }
:scope {
  min-height: 100vh;
  background:
    radial-gradient(circle at 84% 4%, var(--color-blue-wash), transparent 28rem),
    linear-gradient(180deg, var(--color-surface-alt) 0, var(--color-canvas) 36rem);
}
.home-shell { width: min(1240px, calc(100% - 48px)); margin: 0 auto; padding: 38px 0 64px; }
.home-hero {
  position: relative; overflow: hidden; min-height: 190px; padding: 34px 38px;
  border-radius: var(--radius-2xl); color: var(--color-on-dark);
  background: linear-gradient(120deg, var(--color-navy-deep) 0%, var(--color-navy-mid) 62%, var(--color-blue) 100%);
  box-shadow: var(--elevation-lg);
}
.home-hero::before, .home-hero::after { content: ""; position: absolute; border-radius: var(--radius-circle); pointer-events: none; }
.home-hero::before { width: 290px; height: 290px; right: -65px; top: -155px; border: 1px solid var(--color-on-dark-wash); }
.home-hero::after { width: 170px; height: 170px; right: 65px; bottom: -110px; background: var(--color-accent-ring); }
.hero-content { position: relative; z-index: 1; max-width: 780px; }
.hero-date { margin: 0 0 17px; color: var(--color-on-dark-faint); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.home-hero h1 { margin: 0; font-size: clamp(30px, 4vw, 44px); line-height: 1.08; letter-spacing: -.035em; font-weight: 750; }
.hero-summary { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; color: var(--color-on-dark-muted); font-size: 15px; }
.attention-dot { width: 9px; height: 9px; flex: 0 0 auto; border-radius: var(--radius-circle); background: var(--color-orange-glow); box-shadow: var(--elevation-ring-accent); }
.icon { width: 20px; height: 20px; display: inline-block; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin: 18px 0 26px; }
.home-kpi {
  min-height: 116px; display: flex; align-items: flex-start; gap: 14px; padding: 19px;
  border: 1px solid var(--color-line); border-radius: var(--radius-xl); color: inherit; text-decoration: none;
  background: var(--color-surface-glass); box-shadow: var(--elevation-card);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.home-kpi:hover { transform: translateY(-2px); border-color: var(--color-line-hover); box-shadow: var(--elevation-md); }
.kpi-icon { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; border-radius: var(--radius-lg); color: var(--color-blue); background: var(--color-blue-soft); }
.kpi-icon .icon { width: 21px; height: 21px; }
.kpi-value { display: block; margin-top: -2px; color: var(--color-navy-deep); font-size: 29px; line-height: 1; font-weight: 760; letter-spacing: -.03em; }
.kpi-label { display: block; margin-top: 7px; color: var(--color-muted); font-size: 12px; line-height: 1.35; }
.home-kpi[data-tone="urgent"] .kpi-icon { color: var(--color-orange-dark); background: var(--color-orange-tint); }
.home-kpi[data-tone="good"] .kpi-icon { color: var(--color-success); background: var(--color-success-tint); }

.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(310px,.75fr); gap: 20px; align-items: stretch; }
.home-card { height: 520px; display: flex; flex-direction: column; border: 1px solid var(--color-line); border-radius: var(--radius-xl); background: var(--color-surface-glass); box-shadow: var(--elevation-card); overflow: hidden; }
.card-heading { display: flex; align-items: flex-start; gap: 12px; padding: 21px 22px 17px; border-bottom: 1px solid var(--color-surface-sunken); }
.card-heading-icon { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border-radius: var(--radius-lg); color: var(--color-orange); background: var(--color-orange-tint); }
.card-heading-icon .icon { width: 19px; height: 19px; }
.card-title-wrap { flex: 1; min-width: 0; }
.card-title { display: block; margin: 0; padding: 0; border: 0; color: var(--color-navy-deep); font-size: var(--font-size-lg); line-height: var(--line-height-tight); font-weight: var(--font-weight-bold); }
.card-subtitle { margin: 5px 0 0; color: var(--color-muted); font-size: 12px; line-height: 1.45; }
.action-list, .intel-list { min-height: 0; flex: 1; overflow-y: auto; scrollbar-gutter: stable; }
.action-row, .intel-row {
  position: relative; display: flex; align-items: center; gap: 13px; padding: 15px 20px;
  color: inherit; text-decoration: none; border-bottom: 1px solid var(--color-surface-sunken); transition: background .15s ease;
}
.action-row:last-child, .intel-row:last-child { border-bottom: 0; }
.action-row:hover, .intel-row:hover { background: var(--color-surface-alt); }
.action-marker { width: 9px; height: 9px; flex: 0 0 auto; border-radius: var(--radius-circle); background: var(--color-gold-dark); box-shadow: var(--elevation-ring-warning); }
.action-row[data-urgency="high"] .action-marker { background: var(--color-orange-dark); box-shadow: var(--elevation-ring-danger); }
.action-main, .intel-main { min-width: 0; flex: 1; }
.action-title, .intel-title { color: var(--color-ink); font-size: 13px; line-height: 1.35; font-weight: 680; }
.action-detail, .intel-detail { margin-top: 4px; color: var(--color-muted); font-size: 11.5px; line-height: 1.45; }
.action-side { display: flex; align-items: center; gap: 10px; }
.action-number { min-width: 30px; height: 25px; display: inline-grid; place-items: center; padding: 0 8px; border-radius: var(--radius-pill); color: var(--color-orange-ink); background: var(--color-orange-tint); font-size: 12px; font-weight: 750; }
.row-arrow { color: var(--color-muted-soft); font-size: 20px; line-height: 1; transition: transform .15s ease; }
.action-row:hover .row-arrow, .intel-row:hover .row-arrow { transform: translateX(3px); color: var(--color-blue); }
.intel-row { align-items: flex-start; padding: 15px 20px; }
.intel-type { margin-top: 2px; padding: 3px 7px; border-radius: var(--radius-sm); color: var(--color-navy-light); background: var(--color-blue-soft); font-size: 9px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.intel-detail { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.intel-date { margin-top: 5px; color: var(--color-muted-soft); font-size: 10.5px; }

.section { margin-top: 28px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 0 2px 12px; }
.section-title { margin: 0; color: var(--color-navy-deep); font-size: 16px; font-weight: 730; }
.section-note { margin: 0; color: var(--color-muted); font-size: 12px; }
.quick-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 11px; }
.quick-action { display: flex; align-items: center; gap: 10px; min-height: 62px; padding: 13px 14px; border: 1px solid var(--color-line); border-radius: var(--radius-lg); color: var(--color-ink-soft); background: var(--color-surface-glass); text-decoration: none; font-size: 12px; font-weight: 670; transition: border-color .15s, background .15s, transform .15s; }
.quick-action:hover { transform: translateY(-1px); border-color: var(--color-line-hover); background: var(--color-surface); }
.quick-action .icon { color: var(--color-blue); }
.workspace-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.workspace {
  min-height: 148px; display: flex; flex-direction: column; padding: 18px; border: 1px solid var(--color-line); border-radius: var(--radius-xl);
  color: inherit; background: var(--color-surface); text-decoration: none; transition: transform .18s, box-shadow .18s, border-color .18s;
}
.management-overview { overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-xl); background: var(--color-surface); box-shadow: var(--elevation-card); }
.management-overview iframe { display:block; width:100%; height:680px; border:0; background:transparent; }
.legacy-analytics-link { flex:0 0 auto; color:var(--color-blue); font-size:12px; font-weight:670; text-decoration:none; }
.legacy-analytics-link:hover { text-decoration:underline; }
.workspace:hover { transform: translateY(-3px); border-color: var(--color-line-hover); box-shadow: var(--elevation-md); }
.workspace-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.workspace-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: var(--radius-lg); color: var(--color-on-dark); background: var(--color-navy-deep); }
.workspace-icon .icon { width: 19px; height: 19px; }
.workspace-badge { display: none; padding: 4px 7px; border-radius: var(--radius-pill); color: var(--color-orange-ink); background: var(--color-orange-tint); font-size: 9.5px; font-weight: 750; white-space: nowrap; }
.workspace-badge.show { display: inline-block; }
.workspace-title { margin-top: 17px; color: var(--color-navy-deep); font-size: 14px; font-weight: 720; }
.workspace-desc { margin-top: 6px; color: var(--color-muted); font-size: 11px; line-height: 1.45; }
.workspace-arrow { margin-top: auto; padding-top: 12px; color: var(--color-muted-soft); font-size: 18px; }
.workspace:hover .workspace-arrow { color: var(--color-orange); }
.view-state.home-state { margin: 18px; }
/* Universal work inbox (Block 2 item 48) */
.inbox { display: grid; grid-template-columns: minmax(200px, 240px) minmax(0, 1fr); flex: 1; min-height: 0; overflow: hidden; }
.inbox-queues { min-height: 0; display: flex; flex-direction: column; overflow-y: auto; scrollbar-gutter: stable; border-right: 1px solid var(--color-surface-sunken); padding: 8px 0; background: var(--color-surface-alt); }
.inbox-queue { display: flex; align-items: center; gap: 8px; width: 100%; padding: 10px 16px; border: 0; border-left: 3px solid transparent; background: transparent; color: var(--color-ink-soft); font: inherit; font-size: 12.5px; font-weight: 640; text-align: left; cursor: pointer; }
.inbox-queue:hover { background: var(--color-surface-alt); }
.inbox-queue[aria-selected="true"] { border-left-color: var(--color-orange); background: var(--color-surface); color: var(--color-navy-deep); }
.inbox-queue:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
.inbox-queue .queue-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inbox-queue .queue-count { min-width: 24px; padding: 0 7px; border-radius: var(--radius-pill); background: var(--color-surface-alt); color: var(--color-ink-soft); font-size: 11px; font-weight: 750; text-align: center; line-height: 20px; }
.inbox-queue[data-urgency="high"] .queue-count { background: var(--color-orange-tint); color: var(--color-orange-ink); }
.inbox-queue .queue-count[data-zero="1"] { background: var(--color-success-tint); color: var(--color-success); }
.inbox-items { min-width: 0; min-height: 0; overflow-y: auto; scrollbar-gutter: stable; }
.inbox-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 16px; border-bottom: 1px solid var(--color-surface-sunken); color: var(--color-muted); font-size: 11.5px; }
.inbox-toolbar button:hover, .inbox-item-actions button:hover, .inbox-item-actions a.inbox-link:hover, .inbox-form button:hover { border-color: var(--color-line-hover); background: var(--color-surface-alt); }
.inbox-item-actions button:focus-visible, .inbox-toolbar button:focus-visible, .inbox-form button:focus-visible, .inbox-item a:focus-visible { outline: 2px solid var(--gold); outline-offset: 1px; }
.inbox-item { position: relative; padding: 13px 16px 13px 30px; border-bottom: 1px solid var(--color-surface-sunken); }
.inbox-item:focus-within, .inbox-item:focus { background: var(--color-surface-alt); outline: none; }
.inbox-item::before { content: ""; position: absolute; left: 14px; top: 19px; width: 8px; height: 8px; border-radius: var(--radius-circle); background: var(--color-gold-dark); box-shadow: var(--elevation-ring-warning); }
.inbox-item[data-urgency="high"]::before { background: var(--color-orange-dark); box-shadow: var(--elevation-ring-danger); }
.inbox-item-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.inbox-item-title { color: var(--color-ink); font-size: 13px; font-weight: 680; text-decoration: none; }
.inbox-item-title:hover { color: var(--color-blue); }
.inbox-item-age { color: var(--color-muted-soft); font-size: 10.5px; white-space: nowrap; }
.inbox-item-sub { margin-top: 3px; color: var(--color-muted); font-size: 11.5px; line-height: 1.45; overflow-wrap: anywhere; }
.inbox-item-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.inbox-form { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; align-items: center; }
.inbox-form input, .inbox-form select { flex: 1 1 180px; min-width: 0; padding: 5px 8px; border: 1px solid var(--color-line); border-radius: var(--radius-md); font: inherit; font-size: 12px; }
.inbox-status { margin-top: 6px; font-size: 11.5px; color: var(--color-success); }
.inbox-status[data-tone="error"] { color: var(--color-orange-dark); }
.inbox-more { padding: 12px 16px; }
@media (max-width: 760px) {
  .inbox { grid-template-columns: 1fr; }
  .inbox-queues { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--color-surface-sunken); }
  .inbox-queue { width: auto; min-width: max-content; min-height: 44px; border-left: 0; border-bottom: 3px solid transparent; }
  .inbox-queue[aria-selected="true"] { border-bottom-color: var(--color-orange); }
}
.retry-button { margin-top: 12px; }
.scan-card { height: auto; min-height: 272px; }
.scan-card .card-heading { align-items: center; }
.scan-card .card-heading-icon { color: var(--color-blue); background: var(--color-blue-soft); }
.scan-overview { display: grid; gap: 13px; padding: 20px 22px 22px; }
.scan-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--color-muted); font-size: 11px; }
.scan-legend-item { display: inline-flex; align-items: center; gap: 6px; }
.scan-swatch { width: 9px; height: 9px; border-radius: var(--radius-xs); }
.scan-row { display: grid; grid-template-columns: minmax(110px, 150px) minmax(0, 1fr) 42px; align-items: center; gap: 12px; }
.scan-row-label { overflow: hidden; color: var(--color-ink); font-size: 12px; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.scan-bar { height: 20px; display: flex; overflow: visible; border-radius: var(--radius-pill); background: var(--color-surface-sunken); }
.scan-segment { position: relative; min-width: 0; height: 20px; padding: 0; border: 0; color: inherit; cursor: pointer; }
.scan-segment:first-child { border-radius: var(--radius-pill) 0 0 var(--radius-pill); }
.scan-segment:last-child { border-radius: 0 var(--radius-pill) var(--radius-pill) 0; }
.scan-segment:only-child { border-radius: var(--radius-pill); }
.scan-segment:hover { filter: brightness(.92); z-index: 2; }
.scan-segment:focus-visible { z-index: 3; outline: 2px solid var(--color-navy-deep); outline-offset: 2px; }
.scan-segment::after { content: attr(data-tooltip); position: absolute; z-index: 4; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%) translateY(3px); width: max-content; max-width: 220px; padding: 6px 9px; border-radius: var(--radius-md); color: var(--color-on-dark); background: var(--color-navy-deep); box-shadow: var(--elevation-md); font-size: 11px; font-weight: 650; line-height: 1.3; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity .12s ease, transform .12s ease, visibility .12s; }
.scan-segment:hover::after, .scan-segment:focus-visible::after { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.scan-row-total { color: var(--color-muted); font-size: 11px; text-align: right; }
.scan-scanned .scan-swatch, .scan-segment.scan-scanned { background: var(--color-success); }
.scan-running .scan-swatch, .scan-segment.scan-running { background: var(--color-blue); }
.scan-queued .scan-swatch, .scan-segment.scan-queued { background: var(--color-gold-dark); }
.scan-review_required .scan-swatch, .scan-segment.scan-review_required { background: var(--color-orange); }
.scan-failed .scan-swatch, .scan-segment.scan-failed { background: var(--color-orange-dark); }
.scan-never_scanned .scan-swatch, .scan-segment.scan-never_scanned { background: var(--color-neutral-300); }
.scan-detail-modal { width: min(720px, 100%); }
.scan-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.scan-detail-close { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--color-line); border-radius: var(--radius-md); color: var(--color-ink); background: var(--color-surface); font-size: 19px; cursor: pointer; }
.scan-detail-list { display: grid; gap: 0; max-height: min(60vh, 520px); overflow-y: auto; margin-top: 12px; border: 1px solid var(--color-line); border-radius: var(--radius-lg); }
.scan-detail-search { width: 100%; margin-top: 10px; padding: 9px 11px; border: 1px solid var(--color-line); border-radius: var(--radius-md); }
.scan-detail-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 58px; padding: 10px 13px; border-bottom: 1px solid var(--color-surface-sunken); color: inherit; }
.scan-detail-item:last-child { border-bottom: 0; }
.scan-detail-item:hover { background: var(--color-surface-alt); }
.scan-detail-link { min-width: 0; flex: 1; color: inherit; text-decoration: none; }
.scan-detail-main { min-width: 0; }
.scan-detail-name { display: block; overflow: hidden; color: var(--color-ink); font-size: 13px; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.scan-detail-meta { display: block; margin-top: 3px; color: var(--color-muted); font-size: 11px; line-height: 1.35; }
.skeleton-row { height: 68px; margin: 0 20px; border-bottom: 1px solid var(--color-surface-sunken); background: linear-gradient(90deg, transparent, var(--color-surface-sunken), transparent); background-size: 220% 100%; animation: shimmer 1.4s infinite; }
@keyframes shimmer { to { background-position: -220% 0; } }
@media (prefers-reduced-motion: reduce) {
  .home-kpi, .quick-action, .workspace, .row-arrow, .scan-segment::after { transition: none; }
  .home-kpi:hover, .quick-action:hover, .workspace:hover { transform: none; }
  .skeleton-row { animation: none; }
}

@media (max-width: 1020px) {
  .kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quick-grid, .workspace-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .home-shell { width: min(100% - 28px, 1240px); padding-top: 18px; }
  .home-hero { min-height: 210px; padding: 27px 24px; border-radius: var(--radius-xl); }
  .home-hero h1 { max-width: 90%; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .priority-card { order: 1; }
  .intel-card { order: 2; }
  .scan-row { grid-template-columns: minmax(92px, 120px) minmax(0, 1fr) 34px; gap: 8px; }
  .quick-grid, .workspace-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 480px) {
  .home-shell { width: min(100% - 20px, 1240px); }
  .home-hero { min-height: 230px; padding: 24px 20px; }
  .home-hero h1 { font-size: 30px; }
  .hero-summary { align-items: flex-start; font-size: 13px; }
  .kpi-grid, .quick-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .home-kpi { min-height: 100px; padding: 14px; gap: 10px; }
  .kpi-icon { width: 34px; height: 34px; }
  .kpi-value { font-size: 24px; }
  .workspace-grid { grid-template-columns: 1fr; }
  .workspace { min-height: 116px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .action-row, .intel-row { padding: 14px 15px; }
  .card-heading { padding: 18px 16px 15px; }
}

/* _role_based_home_v1 (2026-10-23): domain groups and generic widget cards
   rendered from GET /api/home/dashboard. */
.home-group { margin-top: 30px; }
.home-group[data-collapsed="1"] .widget-grid { display: none; }
.group-toggle { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 0; border: 0; background: none; color: var(--color-blue); font: inherit; font-size: 12px; font-weight: 650; cursor: pointer; }
.group-toggle .icon { width: 14px; height: 14px; transition: transform .18s ease; }
.home-group[data-collapsed="1"] .group-toggle .icon { transform: rotate(-90deg); }
.widget-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.widget-card { height: auto; min-height: 220px; max-height: 420px; }
.widget-card[data-size="l"] { grid-column: 1 / -1; }
.widget-card .intel-list { max-height: 330px; }
.widget-card .card-heading { padding: 17px 18px 13px; }
.widget-card .intel-row { padding: 12px 18px; }
.widget-meta { margin-left: auto; color: var(--color-muted); font-size: 11.5px; white-space: nowrap; }
.widget-row-value { color: var(--color-navy-deep); font-weight: 700; font-variant-numeric: tabular-nums; }
.home-note { margin: 14px 0 0; padding: 12px 16px; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-surface-glass); color: var(--color-muted); font-size: 12.5px; }
@media (max-width: 720px) { .widget-grid { grid-template-columns: 1fr; } }

}

/* Service customer portal */
@scope (body.standard-service-user-workspace) {

*{box-sizing:border-box}:scope{margin:0;background:var(--color-surface-alt);color:var(--color-ink);font-family:var(--font-family);font-size:15px}
.portal{max-width:860px;margin:0 auto;padding:16px}.portal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0 16px}.portal-head h1{margin:0;font-size:20px;color:var(--color-navy-deep)}.muted{color:var(--color-muted);font-size:13px}
.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:16px;margin-bottom:14px}.card h2{margin:0 0 10px;font-size:16px;color:var(--color-navy-deep)}
textarea{min-height:110px;resize:vertical}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.tabs{display:flex;gap:6px;margin-bottom:14px;overflow:auto}.portal .tabs{border-bottom:0}.portal .tab{border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink);border-radius:var(--radius-pill);padding:9px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;min-height:40px}.portal .tab:hover{background:var(--color-surface-alt);color:var(--color-ink)}.portal .tab.active,.portal .tab.active:hover{background:var(--color-navy-deep);color:var(--color-on-dark);border-color:var(--color-navy-deep)}.portal .btn:not(.primary):not(.danger):hover{background:var(--color-surface-alt)}.portal .item:hover{background:var(--color-surface-alt)}
.screen{display:none}.screen.active{display:block}.list{display:grid;gap:10px}.item{display:block;width:100%;text-align:left;border:1px solid var(--color-line);border-radius:var(--radius-md);padding:12px 14px;background:var(--color-surface);cursor:pointer;font:inherit;color:inherit}.item .top{display:flex;justify-content:space-between;gap:10px;align-items:center}.item strong{font-size:15px}
.pill{display:inline-block;padding:4px 9px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);font-size:12px;font-weight:700;white-space:nowrap}.pill.good{color:var(--color-success);background:var(--color-success-tint)}.pill.warn{color:var(--color-orange-ink);background:var(--color-orange-tint)}
.thread{display:grid;gap:8px}.msg{padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface-alt);font-size:14px;white-space:pre-wrap}.msg.agent{background:var(--color-blue-tint)}.msg .meta{font-size:12px;color:var(--color-muted);margin-bottom:4px}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;font-size:14px;margin:10px 0}.facts b{display:block;font-size:11px;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.empty{padding:22px;text-align:center;color:var(--color-muted)}.banner{padding:12px 14px;border-radius:var(--radius-md);background:var(--color-orange-tint);border-left:4px solid var(--color-orange);font-size:14px;margin-bottom:12px}.error{background:var(--color-danger-tint);color:var(--color-danger);padding:10px 12px;border-radius:var(--radius-md);margin-bottom:12px;display:none}.link{background:none;border:0;color:var(--color-blue);cursor:pointer;font:inherit;padding:0;min-height:0}
.filters{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;align-items:end;margin-bottom:12px}.filters label{margin:0}.pager{display:flex;justify-content:center;margin:12px 0}.draft-state{min-height:18px;margin-top:6px}
.error.active{display:block}.portal-space-top-sm{margin-top:6px}.portal-space-top-md{margin-top:10px}.portal-space-top-lg{margin-top:12px}.portal-space-top-xl{margin-top:14px}.portal-prewrap{white-space:pre-wrap}.portal-section-title{font-size:16px;color:var(--color-navy-deep)}
@media(max-width:520px){.portal{padding:10px}.portal-head{align-items:flex-start;flex-wrap:wrap}.portal-head>div{min-width:0;flex:1}.portal-head .muted{overflow-wrap:anywhere}.tabs{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.portal .tab{width:100%;white-space:normal;min-height:48px}.facts,.filters{grid-template-columns:1fr}.item .top{align-items:flex-start;flex-wrap:wrap}.actions>.btn{flex:1 1 140px}.card{padding:14px 12px}}

}

/* Intelligence workspace */
@scope (body.standard-intelligence-workspace) {

* { box-sizing: border-box; margin: 0; padding: 0; }
.rows { border: 1px solid var(--line); border-radius: var(--radius-xs); overflow: hidden; }
.rowitem { border-bottom: 1px solid var(--line); }
.rowitem:last-child { border-bottom: none; }
.row { display: flex; align-items: center; gap: 10px; padding: 9px 12px; cursor: pointer; }
.row:hover { background: var(--stripe); }
.row-main { flex: 1; min-width: 0; }
.row-title { display: block; font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.row-sub { display: block; font-size: 11px; color: var(--muted); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.row-meta { font-size: 12px; color: var(--muted); white-space: nowrap; display: flex; align-items: center; gap: 6px; }
.src-row { display: flex; align-items: center; gap: 8px; padding: 7px 12px; border-bottom: 1px solid var(--line); font-size: 13px; }
.src-row:last-child { border-bottom: none; }
.src-name { flex: 1; font-weight: 600; }
.src-meta { font-size: 11px; color: var(--muted); }
.entity-link { color: var(--navy); font-weight: 600; text-decoration: none; }
.entity-link:hover { color: var(--orange); text-decoration: underline; }
.signal-focus td { box-shadow: var(--elevation-inset-accent-both); background: var(--color-stale-soft) !important; }
.signal-list { display: grid; gap: 10px; }
.signal-card { border: 1px solid var(--line); border-left: 4px solid var(--navy); background: var(--color-surface); padding: 14px 16px; }
.signal-card.selected { border-color: var(--orange); background: var(--color-orange-tint); }
.signal-card.signal-focus { border-color: var(--orange); box-shadow: var(--elevation-ring-focus); }
.signal-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.signal-card-select { display:flex;align-items:flex-start;gap:8px;min-width:0; }
.signal-card-select input { margin-top:2px; }
.signal-card-account { font-size: 14px; font-weight: 700; }
.signal-card-date { color: var(--muted); font-size: 11px; white-space: nowrap; }
.signal-card-text { font-size: 14px; line-height: 1.45; margin-bottom: 10px; max-width: 1000px; }
.signal-card-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.signal-card-explain { color: var(--muted); font-size: 11px; }
.signal-card-source { font-size: 12px; padding: 8px 10px; background: var(--stripe); border: 1px solid var(--line); }
.signal-commercial { margin-top: 10px; padding: 10px 12px; border-left: 3px solid var(--orange); background: var(--color-stale-soft); font-size: 12px; line-height: 1.45; }
.signal-commercial strong { color: var(--navy); }
.signal-card-propositions { font-size: 12px; padding: 6px 10px; border: 1px solid var(--line); border-top: 0; background: var(--color-surface); }
.signal-proposition { white-space: nowrap; }
.signal-review { margin-top:10px;padding:10px 12px;border:1px solid var(--line);background:var(--color-surface-alt);font-size:12px;line-height:1.45; }
.signal-review-grid { display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px;margin-top:7px; }
.signal-review-item strong { display:block;color:var(--navy);font-size:11px; }
.signal-evidence-details { margin-top:8px; }
.signal-evidence-details summary { cursor:pointer;color:var(--navy);font-weight:600; }
.signal-evidence-details blockquote { margin-top:6px;padding:8px 10px;border-left:3px solid var(--gold);background:var(--color-surface);color:var(--ink); }
.signal-card-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.signal-secondary-actions { position:relative; }
.signal-secondary-actions summary { cursor:pointer;color:var(--muted);padding:6px 8px; }
.signal-secondary-actions[open] { width:100%; }
.signal-secondary-actions[open] summary { margin-bottom:6px; }
.signal-secondary-actions-buttons { display:flex;gap:6px;flex-wrap:wrap; }
.signal-lane-context { color:var(--muted);font-size:12px;align-self:center; }
/* Board: additional presentation of the signals list (UI-PLAN.md Sec. 8),
   columns fixed to the real triage model (pending/review/accepted/
   suppressed), same cards' data and actions as the list. */
.signals-view-toggle { display: flex; gap: 4px; margin-left: auto; }
.signals-view-toggle .btn.active { background: var(--navy); color: var(--color-on-dark); }
.signal-board { display: grid; grid-template-columns: repeat(4, minmax(220px, 1fr)); gap: 12px; align-items: start; }
.signal-board-column { background: var(--color-surface-alt); border: 1px solid var(--line); border-radius: var(--radius-md); min-width: 0; }
.signal-board-column-head { display: flex; align-items: center; justify-content: space-between; font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; color: var(--navy); padding: 10px 12px; border-bottom: 1px solid var(--line); }
.signal-board-column-head .count { font-weight: 400; color: var(--muted); text-transform: none; letter-spacing: 0; }
.signal-board-column-body { display: flex; flex-direction: column; gap: 8px; padding: 10px; max-height: 70vh; overflow-y: auto; }
.signal-board-empty { color: var(--muted); font-size: 12px; padding: 12px 4px; text-align: center; }
.signal-board-card { background: var(--color-surface); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px; font-size: 12px; }
.signal-board-card-title { font-weight: 700; font-size: 13px; margin-bottom: 4px; }
.signal-board-card-text { color: var(--ink); line-height: 1.4; margin-bottom: 6px; }
.signal-board-card-meta { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 6px; }
.signal-board-card-source { color: var(--muted); font-size: 11px; margin-bottom: 6px; }
.signal-board-card-review { color: var(--muted); font-size: 11px; margin-bottom: 6px; }
.signal-board-card-actions { display: flex; gap: 4px; flex-wrap: wrap; }
@media (max-width: 900px) {
  .signal-board { grid-template-columns: 1fr; }
}
.watch-log-row { font-family: var(--font); }
.watch-log-row .row-title { font-size: 14px; }
.watch-log-row .row-sub { font-size: 12px; margin-top: 4px; }
.watch-log-notes { color: var(--ink); font-size: 14px; line-height: 1.45; padding: 8px 12px 10px; }
.regulatory-actions { display:flex; flex-wrap:wrap; gap:6px; padding:0 12px 10px; }
.regulatory-match-panel { margin:0 12px 12px; padding:10px; border:1px solid var(--line); background:var(--bg); }
.regulatory-match-row { display:flex; align-items:flex-start; gap:8px; padding:7px 0; border-bottom:1px solid var(--line); }
.regulatory-match-row:last-child { border-bottom:0; }
.regulatory-match-reasons { color:var(--muted); font-size:12px; margin-top:3px; }
.signal-form { border: 1px solid var(--line); background: var(--stripe); padding: 12px; margin: 10px 0 14px; }
.signal-form-grid { display: grid; grid-template-columns: repeat(2,minmax(220px,1fr)); gap: 9px 12px; }
.signal-form label { display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: 11px; }
.signal-form input, .signal-form select, .signal-form textarea { padding: 6px 8px; border: 1px solid var(--line); background: var(--color-surface); color: var(--ink); font: inherit; }
.signal-form textarea { min-height: 72px; resize: vertical; }
.signal-form .wide { grid-column: 1 / -1; }
@media (max-width: 760px) { .signal-form-grid { grid-template-columns: 1fr; } .signal-form .wide { grid-column: auto; } }
@media (max-width: 760px) { .signal-review-grid { grid-template-columns:1fr; } }
.signal-create-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.signal-create-trigger{margin-left:auto}.signal-unverifiable{justify-content:flex-end;flex-direction:row!important;align-items:center}.signal-form-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.signal-slug-filter{width:200px}.signals-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}.intelligence-quality-frame{display:block;width:100%;min-height:680px;border:0;background:transparent}.intelligence-status-queue{color:var(--color-warning);font-weight:600;white-space:nowrap}.intelligence-status-success{color:var(--color-success);white-space:nowrap}.intelligence-muted{color:var(--muted)}.intelligence-link-reset{color:inherit;text-decoration:none}.intelligence-source-link{color:var(--orange)}.intelligence-cell-nowrap{white-space:nowrap}.intelligence-preposition-cell{color:var(--muted)}

}

/* Sales workspace */
@scope (body.standard-sales-workspace) {

/* Tokens die identiek zijn aan platform.css (:root --navy/--orange/--gold/--card/--muted)
   komen nu uit platform.css; hieronder alleen pagina-specifieke afwijkingen. */
* { box-sizing: border-box; margin: 0; padding: 0; }

/* Sales actions use the shared page-toolbar below the global header. */
.sales-toolbar input { padding: 6px 12px; font-size: 13px; width: 260px; background: var(--color-surface); color: var(--ink); }
.sales-toolbar input::placeholder { color: var(--muted); }

/* Layout */
.layout { display: grid; grid-template-columns: 280px 1fr; min-height: calc(100vh - 52px); }/* Sidebar */
/* Task flow bar: "what to do here" + primary action + next stage (item 47) */
/* Cards */
/* KPIs */
/* Table */
/* Sticky thead in scroll-lists: deze pagina heeft navy headers; de gedeelde
   .scroll-list-regel zet var(--color-surface-alt) — hier terug naar navy. */

/* Prospect review cards: judgement context before action. */
.prospect-review-list { display:grid;gap:12px; }
.prospect-review-card { border:1px solid var(--line);border-left:4px solid var(--navy);background:var(--color-surface);padding:14px 16px; }
.prospect-review-head { display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px; }
.prospect-review-title { font-size:15px;font-weight:700;color:var(--navy); }
.prospect-review-sub { color:var(--muted);font-size:11px;margin-top:2px; }
.prospect-review-score { min-width:92px;text-align:center;background:var(--color-surface-alt);border:1px solid var(--line);padding:7px 9px; }
.prospect-review-score strong { display:block;font-size:20px;color:var(--navy); }
.prospect-review-score span { font-size:10px;color:var(--muted); }
.prospect-review-summary { display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin-bottom:10px; }
.prospect-review-section { padding:9px 10px;background:var(--color-surface-alt);border:1px solid var(--line);font-size:12px;line-height:1.45; }
.prospect-review-section strong { display:block;color:var(--navy);font-size:11px;margin-bottom:3px; }
.prospect-review-signal { padding:10px 12px;border-left:3px solid var(--orange);background:var(--color-orange-tint);font-size:12px;line-height:1.45; }
.prospect-review-signal-meta { color:var(--muted);font-size:11px;margin-top:4px; }
.prospect-review-recommendation { margin-top:10px; }
.prospect-review-next-cost { color:var(--muted); }
.prospect-review-actions { display:flex;gap:7px;flex-wrap:wrap;margin-top:10px; }
@media (max-width:900px) { .prospect-review-summary { grid-template-columns:1fr; } }

/* Badges */
/* Outreach status badges */

/* Outreach drafts list */

/* Inline decision reason (prospects) and saved-view controls */
.prospect-decision-form { display:flex; gap:8px; align-items:flex-end; flex-wrap:wrap; margin-top:10px; }
.prospect-decision-label { flex:1; min-width:240px; display:grid; gap:4px; font-size:12px; color:var(--muted); }
.save-view-form { display:inline-flex; gap:6px; align-items:center; flex-wrap:wrap; }
.save-view-form[hidden] { display:none; }
.save-view-share { display:inline-flex; gap:4px; align-items:center; font-size:12px; color:var(--muted); }
.save-view-share[hidden] { display:none; }
.view-chip-group { display:inline-flex; align-items:center; gap:2px; margin-right:4px; }
/* Data completeness mini-bar (accounts-tabel) */
.comp-mini { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.comp-mini-txt { font-size: 11px; color: var(--muted); }

/* Reports-scherm */
.report-row { display: flex; align-items: baseline; gap: 10px; padding: 8px 10px; border-bottom: 1px solid var(--stripe); font-size: 13px; cursor: pointer; flex-wrap: wrap; }
.report-row:hover { background: var(--color-surface-tint); }
.report-row .r-name { flex: 1; min-width: 160px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report-row .r-meta { font-size: 11px; color: var(--muted); white-space: nowrap; }
.doc-preview-panel { display: none; flex-direction: column; height: 70vh; min-height: 420px; }
.doc-preview-panel.active { display: flex; }
.doc-preview-bar { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-bottom: 1px solid var(--line); flex-shrink: 0; }
.doc-preview-frame { flex: 1; width: 100%; border: 0; background: var(--color-surface); }
.odraft-list { display: flex; flex-direction: column; gap: 8px; }
.odraft-card { background: var(--card); border: 1px solid var(--line); border-left: 3px solid var(--navy); padding: 10px 14px; cursor: pointer; }
.odraft-card:hover { background: var(--color-surface-tint); }
.odraft-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.odraft-acct { font-weight: 600; color: var(--navy); text-decoration: none; }
.odraft-acct:hover { text-decoration: underline; }
.odraft-date { margin-left: auto; font-size: 11px; color: var(--muted); white-space: nowrap; }
.odraft-subj { font-weight: 700; margin-top: 4px; font-size: 13px; }
.odraft-rcpt { font-size: 12px; margin-top: 2px; }
.odraft-sig { font-size: 11px; color: var(--muted); margin-top: 2px; }

/* Outreach review overlay */
.or-overlay { display: none; position: fixed; inset: 0; background: var(--color-backdrop); z-index: 200; align-items: center; justify-content: center; }
.or-overlay.open { display: flex; }
.or-governance { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 12px; color: var(--muted); padding: 8px 0 0; }
.or-governance strong { color: var(--txt); font-weight: 600; margin-right: 4px; }
.or-governance-note { font-size: 12px; color: var(--warn); padding: 6px 0 0; min-height: 0; }
.or-governance-note:empty { display: none; }
.or-panel { background: var(--color-surface); width: 760px; max-width: 94vw; height: 86vh; display: flex; flex-direction: column; overflow: hidden; }
.or-head { background: var(--navy); color: var(--color-on-dark); border-bottom: 3px solid var(--gold); padding: 12px 16px; display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.or-close { background: none; border: none; color: var(--color-on-dark-muted); font-size: 18px; cursor: pointer; padding: 4px 8px; line-height: 1; }
.or-close:hover { color: var(--color-on-dark); }
.or-main { flex: 1; display: flex; flex-direction: column; padding: 14px 16px; min-height: 0; }
.or-main label { font-size: 11px; color: var(--muted); display: block; margin-bottom: 3px; }
.or-main input[type=text] { width: 100%; padding: 6px 10px; border: 1px solid var(--line); font-size: 13px; margin-bottom: 10px; }
.or-tabs { display: flex; gap: 4px; border-bottom: 2px solid var(--line); margin-bottom: 8px; }
.or-tab { background: none; border: none; border-bottom: 3px solid transparent; color: var(--muted); font-size: 13px; font-weight: 600; padding: 6px 12px; cursor: pointer; margin-bottom: -2px; }
.or-tab.active { color: var(--navy); border-bottom-color: var(--orange); }
#or-preview { flex: 1; min-height: 0; border: 1px solid var(--line); background: var(--color-surface); }
#or-preview iframe { display: block; width: 100%; height: 100%; border: 0; }
#or-edit { flex: 1; min-height: 0; width: 100%; border: 1px solid var(--line); font-family: var(--font-family-mono); font-size: 12px; padding: 10px; resize: none; }
.or-reject-row { display: flex; gap: 8px; padding: 0 16px 10px; flex-shrink: 0; }
.or-reject-row input { flex: 1; padding: 6px 10px; border: 1px solid var(--line); font-size: 13px; }
.or-actions { display: flex; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); flex-wrap: wrap; flex-shrink: 0; }

/* Account detail panel */
/* Closed state stays in the DOM at its fixed position while it slides away
   (transition below), so without pointer-events:none it silently swallows a
   click aimed at a row underneath it for the ~200ms the transform is still
   moving -- a real click with no error and no request, just nothing (bug
   found 2026-09-21: rapid open/close of the ⚡-panel). auto only while .open. */
.detail-panel { position: fixed; top: var(--sales-workspace-top, 0); left: var(--sales-workspace-left, 0); right: 0; bottom: 0; width: auto; height: auto; background: var(--card); border-left: 1px solid var(--line); overflow-y: auto; z-index: var(--z-side-panel); transform: translateX(100%); transition: transform var(--motion-base) var(--motion-ease); pointer-events: none; box-shadow: var(--elevation-panel); }
.detail-panel.open { transform: translateX(0); pointer-events: auto; }

/* Clickable list rows here use data-dossier-slug, but the shared
   tbody tr[data-href] { cursor: pointer } rule in platform.css only matches
   data-href -- these rows never got a pointer cursor and fall back to the
   browser default (cursor: auto), which renders as a text I-beam over the
   row's text runs and the plain arrow over the gaps between them. Moving
   the mouse across a row therefore flips the cursor icon back and forth
   between the two, which reads as the row "flickering" (bug reported
   2026-09-21 by Richard: I-beam cursor + flicker on hover after sorting
   the accounts list). Giving the whole row one fixed cursor removes the
   flip-flop. */
tbody tr[data-dossier-slug] { cursor: pointer; }
.detail-panel .dp-header { background: var(--navy); padding: 16px 20px; color: var(--color-on-dark); display: flex; align-items: flex-start; gap: 12px; }
.detail-panel .dp-header h2 { font-size: 15px; font-weight: 700; flex: 1; }
.detail-panel .dp-close { cursor: pointer; color: var(--color-on-dark-muted); background: transparent; border: 1px solid var(--color-on-dark-line); border-radius: var(--radius-sm); min-width: var(--control-height-md); min-height: var(--control-height-md); font-size: 18px; line-height: 1; }
.detail-panel .dp-close:hover { color: var(--color-on-dark); background: var(--color-on-dark-wash); }
.detail-panel .dp-body { padding: 16px 20px; }
html.sales-detail-open, html.sales-detail-open body { overflow: hidden; }
.dp-section { margin-bottom: 16px; }
.dp-section h3 { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 600; margin-bottom: 8px; padding-bottom: 4px; border-bottom: 1px solid var(--line); }
.dp-row { display: flex; justify-content: space-between; padding: 5px 0; font-size: 13px; border-bottom: 1px solid var(--stripe); }
.dp-row .label { color: var(--muted); }
.signal-item { padding: 8px 0; border-bottom: 1px solid var(--stripe); font-size: 13px; }
.signal-item .st { font-size: 11px; color: var(--muted); }
.opp-item { padding: 8px 10px; background: var(--bg); border: 1px solid var(--line); margin-bottom: 6px; }
.opp-item .prop { font-weight: 600; font-size: 13px; }
.opp-item .na { font-size: 12px; color: var(--muted); margin-top: 3px; }
.action-bar { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }/* Filters bar */
/* Empty */
/* Proposition tags */

.artifact-list { display: flex; flex-direction: column; gap: 2px; }
.artifact-row { display: flex; justify-content: space-between; align-items: center; padding: 5px 8px; font-size: 12px; border-radius: var(--radius-xs); cursor: pointer; border: 1px solid var(--line); background: var(--bg); }
.artifact-row:hover { background: var(--stripe); border-color: var(--navy); }

/* Overlay */
.overlay { display: none; position: fixed; top: var(--sales-workspace-top, 0); left: var(--sales-workspace-left, 0); right: 0; bottom: 0; background: var(--color-backdrop); z-index: calc(var(--z-side-panel) - 1); }
.overlay.open { display: block; }

/* Edit form */
.edit-form { background: var(--bg); border: 1px solid var(--line); padding: 14px; margin-top: 12px; }
.edit-form select, .edit-form input, .edit-form textarea { width: 100%; padding: 6px 10px; border: 1px solid var(--line); font-size: 13px; margin-bottom: 8px; font-family: var(--font); }
.edit-form textarea { height: 80px; resize: vertical; }
.edit-form label { font-size: 11px; color: var(--muted); display: block; margin-bottom: 3px; }/* Screen management */
/* ── Responsive ─────────────────────────────────────────────────────────── */

@media (max-width: 900px) {
  .layout { grid-template-columns: 1fr; min-height: 0; }
  .hdr .nav { margin-left: 0; }

  /* Sidebar wordt inklapbaar blok bovenaan (standaard ingeklapt) */
  .sidebar-toggle {
    display: flex; align-items: center; gap: 8px;
    min-height: 44px; margin: 10px 12px 0;
    background: var(--card); color: var(--navy);
    border: 1px solid var(--line); font-weight: 600; font-size: 14px;
    text-align: left;
  }
  .sidebar { display: none; border-right: none; border-bottom: 1px solid var(--line); max-height: 60vh; overflow-y: auto; }
  .sidebar.open { display: block; }
  .sidebar-item { min-height: 40px; }

  .main { padding: 14px 12px; }

  /* Quick view: full-screen overlay */
  .detail-panel { inset: 0; top: 0; right: 0; width: 100vw; height: 100vh; }
  .detail-panel .dp-close { font-size: 22px; padding: 8px 12px; margin: -8px -10px 0 0; }

  .table-wrap { -webkit-overflow-scrolling: touch; max-width: 100%; }
  .table-wrap table { min-width: 640px; }

  /* Outreach review-overlay: full-screen op mobiel */
  .or-panel { width: 100vw; max-width: 100vw; height: 100vh; }
}

/* Saved views */
.saved-views-bar { display:flex;align-items:center;gap:8px;padding:6px 0;flex-wrap:wrap; }

/* Technology workspace */
.tech-hero { display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px; }
.tech-hero h2 { color:var(--navy);font-size:20px;margin-bottom:4px; }
.tech-hero p { color:var(--muted);font-size:13px;line-height:1.45;max-width:720px; }
.tech-kpis { display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:16px; }
.tech-kpi { border:1px solid var(--line);background:var(--color-surface-alt);padding:11px 13px; }
.tech-kpi strong { display:block;color:var(--navy);font-size:21px;line-height:1.1; }
.tech-kpi span { display:block;color:var(--muted);font-size:11px;margin-top:4px; }
.tech-tabs { display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:14px; }
.tech-tab { border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:700;padding:8px 12px;cursor:pointer;margin-bottom:-2px; }
.tech-tab.active { color:var(--navy);border-bottom-color:var(--orange); }
.tech-panel[hidden] { display:none; }
.tech-toolbar { display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px; }
.tech-toolbar input,.tech-toolbar select { min-height:36px;padding:6px 10px;border:1px solid var(--line);background:var(--card); }
.tech-toolbar input { flex:1;min-width:220px; }
.tech-table { width:100%;border-collapse:collapse;font-size:13px; }
.tech-table th { color:var(--muted);font-size:11px;text-align:left;padding:7px 8px;border-bottom:1px solid var(--line); }
.tech-table td { padding:9px 8px;border-bottom:1px solid var(--stripe);vertical-align:middle; }
.tech-table tbody tr[data-tech-cat],.tech-table tbody tr[data-tech-product],.tech-table tbody tr[data-dossier-slug] { cursor:pointer; }
.tech-table tbody tr:hover { background:var(--color-surface-tint); }
.tech-num { text-align:right!important;font-variant-numeric:tabular-nums; }
.tech-gap { color:var(--warn);font-weight:700; }
.tech-detail { margin-top:14px;border-top:1px solid var(--line);padding-top:14px; }
.tech-breadcrumb { display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;font-size:13px; }
.tech-finder-form { display:grid;grid-template-columns:minmax(210px,1fr) minmax(190px,1fr) minmax(130px,.5fr) auto;gap:8px;align-items:end;padding:12px;background:var(--color-surface-alt);border:1px solid var(--line); }
.tech-finder-form label { display:block;color:var(--muted);font-size:11px;margin-bottom:4px; }
.tech-finder-form select { width:100%;min-height:38px;padding:6px 9px;background:var(--card);border:1px solid var(--line); }
.tech-result-tabs { display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 8px; }
.tech-result-tab { border:1px solid var(--line);background:var(--card);color:var(--muted);padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer; }
.tech-result-tab.active { border-color:var(--navy);background:var(--navy);color:var(--color-on-dark); }
.kpi[href] { position:relative; padding-right:32px; color:inherit; text-decoration:none; cursor:pointer; }
.kpi[href]::after { content:'\2192'; position:absolute; top:50%; right:14px; transform:translateY(-50%); color:var(--muted); font-size:17px; }
.kpi[href]:hover::after, .kpi[href]:focus-visible::after { color:var(--orange); transform:translate(2px,-50%); }
.sales-sidebar-group { margin-bottom:5px; }
.sales-sidebar-group-title { padding:7px 8px 3px; color:var(--navy); font-size:13px; font-weight:var(--font-weight-semibold); }
.sales-sidebar-group.child-active .sales-sidebar-group-title { color:var(--blue); }
.sales-sidebar-children { margin:1px 0 4px 12px; padding-left:8px; border-left:2px solid var(--line); }
.sales-sidebar-children [data-screen] { min-height:34px; padding-top:5px; padding-bottom:5px; font-size:12px; }
.sidebar-item-link { color:inherit; text-decoration:none; }
.sidebar-item-link::after { content:'\2197'; margin-left:auto; color:var(--muted); }
.tech-help { color:var(--muted);font-size:12px;line-height:1.45;margin:6px 0 10px; }
.tech-state { color:var(--muted);padding:18px 4px;font-size:13px; }

@media (max-width:900px) {
  .tech-kpis { grid-template-columns:repeat(2,minmax(120px,1fr)); }
  .tech-finder-form { grid-template-columns:1fr 1fr; }
}

@media (max-width: 600px) {
  .sales-toolbar { padding: 8px 14px; }
  .sales-toolbar input { flex: 1 1 100%; width: 100%; min-width: 0; font-size: 16px; min-height: 40px; }

  .btn, button { min-height: 40px; }
  .kpi { flex: 1 1 40%; min-width: 0; }

  .filters { gap: 6px; }
  .filters select, .filters input { min-height: 40px; font-size: 16px; flex: 1 1 auto; min-width: 0; }
  .filters input[type=text] { width: 100% !important; }

  .edit-form select, .edit-form input, .edit-form textarea { min-height: 40px; font-size: 16px; }
  .tech-hero { display:block; }
  .tech-kpis,.tech-finder-form { grid-template-columns:1fr; }
  .tech-table { min-width:620px; }
}

}

/* Time workspace */
html.time-embedded .hdr,html.time-embedded .sheet-head .actions{display:none}html.time-embedded body{background:transparent}html.time-embedded .sheet{padding-top:0}
@scope (body.standard-time-workspace) {

*{box-sizing:border-box}:scope{margin:0;background:var(--color-surface-alt);color:var(--color-ink);font-family:var(--font-family);font-size:15px}
.sheet{max-width:960px;margin:0 auto;padding:14px}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0 12px;flex-wrap:wrap}.sheet-head h1{margin:0;font-size:20px;color:var(--color-navy-deep)}.muted{color:var(--color-muted);font-size:13px}
.tabs{display:flex;gap:6px;margin-bottom:12px}.tab{border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:8px 14px;background:var(--color-surface);cursor:pointer;font:inherit;font-weight:650;min-height:40px}.tab.active{background:var(--color-navy-deep);color:var(--color-on-dark);border-color:var(--color-navy-deep)}
.sheet.wide{max-width:1500px}.seg{display:flex;gap:6px;margin:0 0 12px}.vt{border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:6px 14px;min-height:36px;background:var(--color-surface);color:var(--color-ink);cursor:pointer;font:inherit;font-weight:650}.vt.active{background:var(--color-navy-deep);color:var(--color-on-dark);border-color:var(--color-navy-deep)}.tab{color:var(--color-ink)}.tab.active{color:var(--color-on-dark)}[hidden]{display:none!important}
.grid-wrap{overflow-x:auto}.grid-table{border-collapse:collapse;width:100%;min-width:1000px}.grid-table th,.grid-table td{border-bottom:1px solid var(--color-line);padding:6px;vertical-align:middle;font-size:14px}.grid-table thead th{text-align:left;color:var(--color-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:var(--color-surface-alt);white-space:nowrap}.grid-table thead th.gn,.grid-table td.gc{text-align:center}.grid-table td select,.grid-table td input{padding:8px 8px;font-size:14px;min-height:38px}.grid-table td.gps{min-width:210px}.grid-table td.gas{min-width:170px}.grid-table td.gdesc{min-width:200px}.grid-table td.gc{min-width:74px;width:74px}.grid-table td.gc.today{background:var(--color-blue-tint)}.grid-table td.gc.future{opacity:.45}.grid-table .gh{text-align:center;font-variant-numeric:tabular-nums;padding:8px 2px}.grid-table .gh[readonly],.grid-table select:disabled,.grid-table input.gdi:disabled{background:var(--color-surface-sunken);border-color:transparent;color:var(--color-ink)}.grid-table td.gt,.grid-table th.gt{text-align:right;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:64px}.grid-table tfoot td{font-weight:700;background:var(--color-surface-alt)}.grid-table td.gx{width:40px;text-align:center}.grid-table td.gx button{border:0;background:none;cursor:pointer;color:var(--color-muted);font-size:18px;min-height:32px;padding:0 6px}.grid-table td.gx button:hover{color:var(--color-danger)}.grid-table tr.invalid td.gps select,.grid-table tr.invalid td.gas select{border-color:var(--color-danger)}.grid-table .gnote{display:block;font-size:11px;color:var(--color-muted);margin-top:2px}.grid-bar{display:flex;gap:12px;align-items:center;margin-top:12px}.grid-note{margin:10px 0 0}.day-table{min-width:760px}.day-table td.gh1{min-width:110px;width:110px}#entry-card,#day-card{display:none!important}body.view-grid #days,body.view-grid #day-table-card{display:none!important}body:not(.view-grid) #grid-card{display:none!important}
.screen{display:none}.screen.active{display:block}
.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:14px;margin-bottom:12px}.card h2{margin:0 0 10px;font-size:16px;color:var(--color-navy-deep)}
.weeknav{display:flex;align-items:center;gap:8px;justify-content:space-between}.weeknav strong{font-size:16px}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:12px 0}.day{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:8px 6px;text-align:center;cursor:pointer;background:var(--color-surface);min-height:64px}.day.selected{border-color:var(--color-navy-deep);outline:1px solid var(--color-navy-deep);outline-offset:-2px}.day.today .dname{color:var(--color-blue)}.day .dname{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.day .dtotal{font-weight:750;font-size:15px;margin-top:4px}.day.future{opacity:.45;cursor:default}
.quick{display:flex;gap:6px;flex-wrap:wrap}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:640px){.row{grid-template-columns:1fr}.days{gap:3px}.day{padding:6px 2px}}
.entry{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-surface-sunken);align-items:center}.entry:last-child{border-bottom:0}.entry .main{min-width:0}.entry .dur{font-weight:750;white-space:nowrap}
.pill{display:inline-block;padding:3px 8px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);font-size:11px;font-weight:700}.pill.good{color:var(--color-success);background:var(--color-success-tint)}.pill.warn{color:var(--color-orange-ink);background:var(--color-orange-tint)}.pill.bad{color:var(--color-danger);background:var(--color-danger-tint)}
.banner{padding:10px 12px;border-radius:var(--radius-md);background:var(--color-orange-tint);color:var(--color-orange-ink);font-size:13px;margin-bottom:10px}.error{display:none;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-danger-tint);color:var(--color-danger);margin-bottom:10px}.empty{padding:14px;text-align:center;color:var(--color-muted)}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.link{background:none;border:0;color:var(--color-blue);cursor:pointer;font:inherit;padding:0}
.sr-only{position:absolute;left:-9999px}.error.active{display:block}.time-entry-wrap{flex-wrap:wrap}.time-empty-cell{padding:14px}.time-center{text-align:center}.grid-table td.gx button{min-height:var(--control-height-md)}


}

/* Manage workspace */
html.embedded body { background: transparent; }
html.embedded .hdr { display: none; }
html.embedded .workspace-editor-modal {
  top: var(--embed-top, 0px);
  bottom: auto;
  height: var(--embed-height, 100vh);
  padding: 0;
  align-items: stretch;
  justify-content: stretch;
  background: var(--card);
}
html.embedded .workspace-editor-modal > .modal {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  border-radius: 0;
  box-shadow: none;
  padding: 28px clamp(20px, 4vw, 56px);
}
html.embedded .workspace-editor-modal .modal-footer {
  position: sticky;
  bottom: -28px;
  z-index: 1;
  padding: 14px 0 28px;
  background: var(--card);
  border-top: 1px solid var(--line);
}

@scope (body.management-workspace) {

:scope { margin: 0; padding: 0; }
* { box-sizing: border-box; margin: 0; padding: 0; }/* Header */
/* Buttons */

/* Layout */
/* The embedded Manage document is resized to its complete content height by
   admin.html. A regular fixed/centred modal would therefore be centred in
   that very tall frame, often far outside the user's viewport. Keep editors
   on the visible slice of the frame and use the complete area to the right of
   Platform Management's persistent sidebar. */
/* Table */

/* Badges */
/* Stage badges */
/* Modal */

/* Retire preview */
.impact-box { background: var(--yellow-bg); border: 1px solid var(--color-warning-line); padding: 12px 14px; font-size: 13px; margin: 12px 0; border-radius: var(--radius-xs); }
.impact-box strong { display: block; margin-bottom: 4px; color: var(--yellow); }

/* Company profile */
#profile-textarea { font-family: var(--font-family-mono); font-size: 13px; min-height: 320px; }
.profile-status { font-size: 12px; color: var(--muted); margin-top: 6px; height: 18px; }
.profile-status.ok { color: var(--green); }
.profile-status.err { color: var(--red); }

/* AI suggestions (reviewable, never auto-published) */
.ai-panel { margin-top: 12px; border: 1px solid var(--line); border-radius: var(--radius-xs); padding: 10px 12px; background: var(--color-surface-sunken); }
.ai-panel-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; font-size: 12px; color: var(--muted); }
.ai-panel-head strong { color: var(--txt); }
.ai-notes { display: flex; gap: 8px; align-items: flex-start; margin-top: 8px; }
.ai-notes textarea { flex: 1; min-height: 38px; }
.ai-item { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; gap: 8px 12px; padding: 8px 0; border-top: 1px solid var(--line); font-size: 12px; }
.ai-item:first-of-type { border-top: none; }
.ai-item .ai-field { grid-column: 1/-1; display: flex; align-items: center; gap: 8px; font-weight: 600; }
.ai-item .ai-value { white-space: pre-wrap; word-break: break-word; }
.ai-item .ai-label { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); display: block; margin-bottom: 2px; }
.ai-item .ai-suggested { background: var(--color-info-soft); padding: 6px 8px; border-radius: var(--radius-xs); }
.ai-item .ai-meta { grid-column: 1/-1; color: var(--muted); }
.ai-item .ai-evidence { margin: 4px 0 0 12px; padding: 0; list-style: disc; }
.ai-item .ai-actions { display: flex; gap: 6px; align-items: flex-start; }
.ai-item[data-status="applied"], .ai-item[data-status="dismissed"] { opacity: .6; }
@media (max-width:760px) { .ai-item { grid-template-columns: 1fr; } }

/* Audit log */
.audit-ts { font-size: 11px; color: var(--muted); white-space: nowrap; }
.audit-action { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.audit-details { font-size: 12px; color: var(--muted); max-width: 340px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }/* Sticky thead binnen scroll-list: behoud navy header (overschrijft platform.css-achtergrond) */

/* Toast */
.toast { position: fixed; bottom: 24px; right: 24px; background: var(--navy); color: var(--color-on-dark); padding: 10px 18px; font-size: 13px; border-radius: var(--radius-xs); z-index: 999; opacity: 0; transition: opacity .2s; pointer-events: none; }
.toast.show { opacity: 1; }

/* ── Mobile (paginaspecifiek; gedeelde regels in platform.css) ── */
@media (max-width: 900px) {
  .hdr { flex-wrap: wrap; gap: 10px; padding: 12px 16px; }
}
@media (max-width: 600px) {
  .card-header { flex-wrap: wrap; }
  /* Modals full-width met kleine marges */
  .modal-overlay { padding: 8px; }
  .modal { width: 100%; max-width: none; max-height: calc(100vh - 16px); padding: 18px 14px; }
  #profile-textarea { min-height: 220px; }
  /* Knoppenrijen wrappen */
  .modal-footer { flex-wrap: wrap; }
  .modal-footer .btn { flex: 1 1 auto; }
  .toast { left: 12px; right: 12px; bottom: 12px; text-align: center; }
}

}
