/* Board chrome only. Keep timeline status colors, compact rows, permissions,
   controls and dispatch actions owned by their existing board components. */
#panel-wboard .wb-board-header {
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 10px 14px !important;
  background: var(--bg2) !important;
  border-bottom: 1px solid var(--border2) !important;
}
#panel-wboard .wb-board-heading {
  flex: 1 1 480px !important;
  flex-wrap: wrap;
  gap: 8px !important;
  min-width: 0;
}
#panel-wboard .wb-board-actions {
  flex: 1 1 600px;
  min-width: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px !important;
}
#panel-wboard #wb-search-wrap {
  flex: 1 1 220px !important;
  min-width: 160px !important;
  margin-left: 0 !important;
}
#panel-wboard #wb-search { min-height: 30px; box-sizing: border-box; }
#panel-wboard .wb-board-header button.run-btn,
#panel-wboard #wb-fri-pu-toggle {
  min-height: 28px;
  box-sizing: border-box;
  font-size: 11px !important;
  border-radius: 0 !important;
  white-space: nowrap;
}
#panel-wboard #wb-vk-toolbar {
  padding: 8px 14px !important;
  gap: 7px !important;
  background: var(--bg) !important;
}
#panel-wboard #wb-vk-toolbar :is(button, select, input) {
  min-height: 28px;
  box-sizing: border-box;
  border-radius: 0 !important;
}
#panel-wboard :is(.wb-board-header, #wb-vk-toolbar) :is(button, input, select):focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}
#panel-wboard #wb-updated-stamp { font-size: 11px !important; }
#panel-wboard #wb-updated-stamp[data-state="error"] { color: var(--emr-status-red, #dc2626) !important; }
#panel-wboard #wb-updated-stamp::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--emr-status-green, #16a34a);
  flex-shrink: 0;
}
#panel-wboard #wb-updated-stamp:empty::before { display: none; }
#panel-wboard #wb-updated-stamp[data-state="error"]::before { background: currentColor; }
#panel-wboard #wb-manual-refresh:disabled { opacity: .6; cursor: wait; }
#panel-wboard #wb-table thead tr.wb-thead-axis th {
  background: var(--bg3);
  border-bottom: 1px solid var(--border2);
}
#panel-wboard #wb-table thead tr.wb-thead-axis th[data-axis] span { color: var(--text2); }
#panel-wboard #wb-table tr.wb-disp-group-divider td {
  background: var(--bg3) !important;
  color: var(--text2) !important;
  border-top: 1px solid var(--border2) !important;
  border-bottom: 1px solid var(--border) !important;
  letter-spacing: 1px !important;
}
/* The unpainted status has a transparent fill; its label must follow the theme. */
#panel-wboard .wb-ctx-status[title^="— Clear —"] { color: var(--text2) !important; border-color: var(--border) !important; }
@media (max-width: 767px) {
  /* One vertical page scroll keeps every filter reachable above the cards. */
  #panel-wboard { overflow-y: auto !important; }
  #panel-wboard .wb-board-header { order: -3; padding: 10px 12px !important; }
  #panel-wboard #wb-legend { order: -2; }
  #panel-wboard #wb-vk-toolbar { order: -1; padding: 8px 12px !important; }
  #panel-wboard #emr-truckcards { flex: 0 0 auto !important; overflow: visible !important; padding: 12px !important; }
  #panel-wboard .wb-board-actions {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    flex-basis: 100%;
    padding-bottom: 4px;
  }
  #panel-wboard .wb-board-actions > * { flex-shrink: 0; }
  #panel-wboard #wb-search-wrap { max-width: none !important; flex-basis: 100% !important; }
  #panel-wboard #wb-updated-stamp { white-space: normal !important; }
  #panel-wboard #wb-vk-toolbar > span {
    max-width: 100%;
    flex-wrap: wrap;
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
  }
  #panel-wboard #wb-vk-broker { min-width: 100px !important; width: 130px; }
}

/* Threshold review is confined to this badge and dialog, never identity cells. */
.wb-performance-badge{border:1px solid var(--border);border-radius:0;background:var(--bg2);color:var(--text2);font:600 10px var(--sans, sans-serif);padding:3px 7px;white-space:nowrap;cursor:pointer}
.wb-performance-badge[data-state="good"]{background:#dcfce7;color:#166534;border-color:#86efac}
.wb-performance-badge[data-state="marginal"]{background:#fef3c7;color:#92400e;border-color:#fcd34d}
.wb-performance-badge[data-state="low"]{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.wb-performance-badge:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}
.wb-performance-dialog{box-sizing:border-box;width:min(680px,94vw);max-height:90vh;padding:0;border:1px solid var(--border);border-radius:0;background:var(--bg,#fff);color:var(--text,#172033);box-shadow:0 20px 70px #0005;overflow:auto}
.wb-performance-dialog::backdrop{background:#0f172a88}
.wb-performance-dialog header,.wb-performance-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border)}
.wb-performance-dialog h2{font-size:18px;margin:0;font-weight:700}
.wb-performance-dialog p{margin:6px 0 0;font-size:12px;color:var(--text2);line-height:1.5}
.wb-performance-dialog button{border:1px solid var(--border);border-radius:0;background:var(--bg2);color:var(--text);padding:7px 11px;cursor:pointer;font:600 12px var(--sans,sans-serif)}
.wb-performance-dialog .wb-performance-context{padding:0 22px;margin:14px 0}
.wb-performance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 22px 20px}
.wb-performance-grid section{border:1px solid var(--border);border-radius:0;padding:15px;background:var(--bg2)}
.wb-performance-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.wb-performance-card-top h3{font-size:12px;margin:0;font-weight:600}
.wb-performance-grid strong{display:block;margin-top:12px;font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums}
.wb-performance-grid small{display:block;margin-top:8px;font-size:11px;color:var(--text3);line-height:1.45}
.wb-performance-verdict{padding:3px 6px;border-radius:0;font-size:10px;font-weight:700;white-space:nowrap;background:var(--bg3);color:var(--text2)}
[data-state="good"]>.wb-performance-card-top .wb-performance-verdict{background:#dcfce7;color:#166534}
[data-state="marginal"]>.wb-performance-card-top .wb-performance-verdict{background:#fef3c7;color:#92400e}
.wb-performance-dialog footer{border-top:1px solid var(--border);border-bottom:0;justify-content:flex-end}
@media(max-width:520px){.wb-performance-grid{grid-template-columns:1fr;padding:0 16px 16px}.wb-performance-dialog header,.wb-performance-dialog footer{padding:16px}.wb-performance-grid strong{font-size:22px}}

[data-state="low"]>.wb-performance-card-top .wb-performance-verdict{background:#fee2e2;color:#991b1b}

.wb-performance-dialog{margin:auto}

/* Compact-board identity text is forced light by the legacy theme rule. These
   pills retain pale fills in both themes and therefore need dark labels. */
html #panel-wboard #wb-table-wrap #wb-table td.wb-ctx-cell :is(.wb-util-badge, .wb-performance-badge) { color: #172033 !important; }
#panel-wboard .wb-performance-badge[data-state="unknown"] { background: #f3f4f6; border-color: #cbd5e1; }

/* D-3 ASSISTANT on the dispatcher header (Ed 2026-10-05): one click, in place — "Assistant: Lina ▾" becomes a people
   picker right there; × removes. The header band is a fixed dark neutral (#1a2332, light text) in every theme, so the
   control uses the band's own light ink (≈ 12:1) and a 24 px target. */
.wb-disp-assist-wrap { display: inline-flex; align-items: center; gap: 2px; margin-left: 8px; vertical-align: middle; }
.wb-disp-assist { min-height: 24px; padding: 0 8px; font: inherit; font-size: 10.5px; font-weight: 600; letter-spacing: .02em; color: #e0e0e0; background: transparent; border: 1px solid rgba(255,255,255,.35); border-radius: 0; cursor: pointer; text-transform: none; }
span.wb-disp-assist { display: inline-flex; align-items: center; margin-left: 8px; cursor: default; }
.wb-disp-assist:hover { background: rgba(255,255,255,.12); }
.wb-disp-assist:focus-visible, .wb-disp-assist-x:focus-visible { outline: 2px solid #93c5fd; outline-offset: 1px; }
.wb-disp-assist-x { min-width: 24px; min-height: 24px; padding: 0; font: inherit; font-size: 13px; font-weight: 700; color: #e0e0e0; background: transparent; border: 1px solid rgba(255,255,255,.35); border-left: 0; border-radius: 0; cursor: pointer; }
.wb-disp-assist-input { min-height: 24px; width: 180px; padding: 0 6px; font: inherit; font-size: 11px; font-weight: 500; color: #111; background: #fff; border: 1px solid #93c5fd; border-radius: 0; text-transform: none; letter-spacing: 0; }
