.lab-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 18px;background:#f8ebbd;color:#353420;border-bottom:1px solid #d1b760;font:13px/1.4 system-ui,sans-serif}
.lab-banner strong{font-weight:750}.lab-banner a{margin-left:auto;color:#303c48}
@media(max-width:600px){.lab-banner{gap:4px 12px}.lab-banner a{margin-left:0}}

#controlView { color:#192c37; }
.control-toolbar { display:flex; gap:20px; align-items:end; justify-content:space-between; padding:8px 0 12px; flex-wrap:wrap; }
.control-toolbar h2 { font-size:23px; margin:3px 0 0; }
.control-toolbar .date-filter { display:flex; flex-wrap:wrap; }
.control-toolbar .date-filter input { width:160px; }
.control-toolbar .date-filter button { width:auto; min-width:0; flex:0 0 auto; }
.control-toolbar .date-filter button:has(svg) { width:36px; height:36px; padding:8px; display:flex; align-items:center; justify-content:center; }
.control-toolbar .date-filter button svg { width:18px; height:18px; }
.control-status { color:#637681; font-size:12px; margin:0 0 16px; min-height:18px; }
.control-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.control-metric { background:#fff; border:1px solid #dbe3e7; border-top:3px solid #268cbd; border-radius:6px; padding:16px; min-width:0; display:grid; gap:9px; }
.control-metric.teal { border-top-color:#148b89; }
.control-metric.green { border-top-color:#438053; }
.control-metric.amber { border-top-color:#c39137; }
.control-metric > span { font-size:12px; color:#556874; font-weight:650; min-height:32px; }
.control-metric strong { font-size:24px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.control-metric small { font-size:11px; color:#6b7f88; }
.control-reconciliation { display:flex; gap:14px 28px; flex-wrap:wrap; font-size:13px; padding:18px 0; border-bottom:1px solid #d6e1e5; }
.control-reconciliation .control-caveat { font-size:12px; color:#6c7780; flex-basis:100%; }
.control-projects { padding:22px 0; }
.control-section-head { display:flex; align-items:center; gap:12px; justify-content:space-between; margin-bottom:12px; }
.control-section-head h3 { margin:0; font-size:16px; }
.control-section-head > span { font-size:12px; color:#687983; }
.control-table-wrap { overflow:auto; background:#fff; border:1px solid #d9e4e9; border-radius:6px; }
#controlView table { width:100%; min-width:0; border-collapse:collapse; table-layout:auto; font-size:13px; }
#controlView th { font-size:11px; font-weight:650; color:#566b79; text-align:left; padding:12px; white-space:nowrap; background:#f4f7f9; }
#controlView td { padding:14px 12px; vertical-align:middle; border-top:1px solid #e5ecef; font-variant-numeric:tabular-nums; white-space:nowrap; }
#controlView td:first-child { min-width:220px; white-space:normal; }
#controlView td small { display:block; font-size:11px; color:#6c7d86; margin-top:5px; }
#controlView .control-project { background:none; border:0; color:#173e56; font-size:14px; padding:0; font-weight:700; text-align:left; }
.control-positive { color:#23714e; font-weight:700; }
.control-negative { color:#b24437; font-weight:700; }
.control-actions { display:flex; gap:6px; }
#controlView .control-action { width:32px; height:32px; padding:6px; border:1px solid #d5e2e8; border-radius:5px; background:#f5f9fb; color:#287090; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.control-action svg { width:16px; height:16px; }
.control-badges { display:flex; flex-wrap:wrap; gap:4px; max-width:200px; }
.control-badge { background:#eaf4fa; color:#307394; padding:4px 7px; border-radius:4px; font-size:11px; font-weight:600; white-space:nowrap; }
.control-badge.danger { background:#faebe8; color:#aa4235; }
.control-badge.warning { background:#fbf3df; color:#916e21; }
.control-badge.calm { background:#f0f4f5; color:#63757d; }
.control-worklists { display:grid; grid-template-columns:1fr 1fr; gap:30px; border-top:1px solid #d6e1e5; padding:22px 0; }
.control-worklists > div { min-width:0; }
.control-worklists ul { margin:0; padding:0; list-style:none; }
.control-worklists li { display:flex; align-items:center; gap:10px; border-bottom:1px solid #dce5e8; padding:12px 0; }
.control-worklists li > div { flex:1; min-width:0; }
.control-worklists strong { font-size:13px; display:block; overflow-wrap:anywhere; }
.control-worklists small { font-size:11px; display:block; color:#6c7d86; margin-top:4px; }
.control-empty { font-size:13px; color:#6c7d86; }
@media(max-width:1100px){.control-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.control-metric > span{min-height:0;}}
@media(max-width:650px){.control-worklists{grid-template-columns:1fr;gap:22px}.control-metric{padding:12px}.control-metric strong{font-size:19px}.control-toolbar .date-filter{width:100%;gap:8px}.control-toolbar .date-filter label{flex:1;min-width:140px}.control-toolbar .date-filter input{width:100%}.control-worklists li{flex-wrap:wrap}.control-worklists li>div{flex-basis:55%}}
@media(max-width:650px){
  .control-toolbar .date-filter label{flex:1 1 calc(50% - 4px);}
  .control-toolbar .date-filter button[type="submit"]{flex:1;}
  .control-table-wrap{overflow:visible;}
  #controlView table,#controlView tbody{display:block;}
  #controlView thead{display:none;}
  #controlView tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 0;border-top:1px solid #d9e4e9;}
  #controlView tbody tr:first-child{border-top:0;}
  #controlView td{display:block;border:0;white-space:normal;min-width:0;padding:10px 12px;font-size:13px;}
  #controlView td:first-child{grid-column:1/-1;min-width:0;}
  #controlView td[data-label]::before{content:attr(data-label);display:block;color:#667984;font-size:10px;font-weight:500;margin-bottom:6px;}
  #controlView td:last-child{align-self:end;}
  #controlView .control-actions{justify-content:flex-end;}
  .control-badges{max-width:none;}
}
