/* desk.css — Ad Desk workspace. AD_DESK_WS_0907
   One full-viewport machine for running a whole ad account: command bar,
   breakdown row, KPI tiles, chart, a table that scrolls inside its own
   viewport with sticky header / totals / pinned columns, a detail drawer
   and a floating selection dock. Brand green is the accent; Meta blue is
   reserved for "open in Meta". Every unknown number renders "—". */

:root {
  --dk-bg: #131416;
  --dk-panel: #18191c;
  --dk-raised: #1e2024;
  --dk-hover: #22252a;
  --dk-sel: rgba(46, 228, 123, .10);
  --dk-line: rgba(255, 255, 255, .07);
  --dk-line-hi: rgba(255, 255, 255, .14);
  --dk-text: #eef1ef;
  --dk-dim: #8f9793;
  --dk-mute: #666d69;
  --dk-green: #2ee47b;
  --dk-green-ink: #0b3d20;
  --dk-red: #f0525f;
  --dk-amber: #e8a83b;
  --dk-blue: #4c8dff;
  --dk-meta: #1877f2;
  --dk-purple: #c084fc;
  --dk-cyan: #67e8f9;
  --dk-r: 8px;
  --dk-th-h: 40px;
  --dk-tot-h: 34px;
  --dk-row-h: 36px;
  --dk-pin1: 36px;
  --dk-pin2: 100px;
}

/* ---------------------------------------------------------- route frame */
.app-frame.page-desk main { max-width: none; padding: 0; margin: 0; flex: 1; min-height: 0; display: flex; flex-direction: column; }
.app-frame.page-desk .foot { display: none; }
.app-frame.page-desk .shell-content { height: 100vh; height: 100dvh; overflow: hidden; }
.app-frame.page-desk .topbar { flex: 0 0 auto; }
.app-frame.desk-focus .shell-nav,
.app-frame.desk-focus .topbar { display: none; }

.desk-ws.card, .desk-ws {
  flex: 1; min-height: 0; display: flex; flex-direction: column;
  margin: 0; padding: 0; gap: 0; border: 0; border-radius: 0; box-shadow: none;
  background: var(--dk-bg); color: var(--dk-text); backdrop-filter: none;
  font-size: 13px; overflow: hidden; position: relative;
}
.desk-ws > h2 { display: none; }
.desk-ws.compact { --dk-row-h: 30px; }
.desk-ws button, .desk-ws input, .desk-ws select { font-family: inherit; }
.desk-ws .dim { color: var(--dk-dim); }

/* ------------------------------------------------------------ chrome bits */
.dk-btn {
  display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 11px;
  border-radius: var(--dk-r); border: 1px solid var(--dk-line-hi); background: var(--dk-raised);
  color: var(--dk-text); font-size: 12.5px; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.dk-btn:hover { background: var(--dk-hover); border-color: rgba(255,255,255,.22); }
.dk-btn:disabled { opacity: .38; cursor: not-allowed; }
.dk-btn.pri { background: var(--dk-green); border-color: var(--dk-green); color: var(--dk-green-ink); }
.dk-btn.pri:hover { background: #59ee98; }
.dk-btn.danger { background: rgba(240,82,95,.14); border-color: rgba(240,82,95,.45); color: #ff8791; }
.dk-btn.danger:hover { background: rgba(240,82,95,.24); }
.dk-btn.ghost { background: transparent; border-color: transparent; color: var(--dk-dim); }
.dk-btn.ghost:hover { color: var(--dk-text); background: var(--dk-hover); }
.dk-btn.meta { color: #8ab4f8; border-color: rgba(24,119,242,.4); background: rgba(24,119,242,.12); }
.dk-btn.sm { height: 26px; padding: 0 8px; font-size: 12px; }
.dk-btn.on { border-color: var(--dk-green); color: var(--dk-green); background: rgba(46,228,123,.1); }
.dk-ico { font-size: 13px; line-height: 1; }
.dk-kbd { display: inline-block; min-width: 16px; padding: 1px 5px; border-radius: 4px; border: 1px solid var(--dk-line-hi); background: #101113; color: var(--dk-dim); font: 600 10.5px/1.4 "Consolas", ui-monospace, monospace; text-align: center; }

.dk-seg { display: inline-flex; border: 1px solid var(--dk-line-hi); border-radius: var(--dk-r); overflow: hidden; background: var(--dk-raised); height: 30px; }
.dk-seg button { background: transparent; border: 0; color: var(--dk-dim); padding: 0 12px; font-size: 12.5px; font-weight: 650; cursor: pointer; }
.dk-seg button + button { border-left: 1px solid var(--dk-line); }
.dk-seg button:hover { color: var(--dk-text); background: var(--dk-hover); }
.dk-seg button.on { background: var(--dk-green); color: var(--dk-green-ink); }
.dk-seg.views button.on[data-desk-view="kill"] { background: var(--dk-red); color: #fff; }

.dk-sel, .dk-in {
  height: 30px; background: #101113; border: 1px solid var(--dk-line-hi); color: var(--dk-text);
  border-radius: var(--dk-r); padding: 0 10px; font-size: 12.5px;
}
.dk-sel:focus, .dk-in:focus { outline: none; border-color: var(--dk-green); box-shadow: 0 0 0 2px rgba(46,228,123,.18); }
.dk-lab { display: inline-flex; flex-direction: column; gap: 3px; font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--dk-mute); }

.dk-pill { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 8px; border-radius: 999px; font-size: 11px; font-weight: 600; border: 1px solid var(--dk-line); background: var(--dk-raised); color: var(--dk-dim); white-space: nowrap; }
.dk-pill i { width: 7px; height: 7px; border-radius: 50%; background: var(--dk-mute); flex: 0 0 auto; }
.dk-pill.ok i { background: var(--dk-green); box-shadow: 0 0 6px rgba(46,228,123,.6); }
.dk-pill.warn i { background: var(--dk-amber); }
.dk-pill.bad i { background: var(--dk-red); }
.dk-pill b { color: var(--dk-text); font-weight: 650; }

/* ------------------------------------------------------------ command bar */
.dk-cmdbar {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  padding: 8px 12px; background: var(--dk-panel); border-bottom: 1px solid var(--dk-line);
}
.dk-cmdbar .grow { flex: 1; }
.dk-cmdbar .dk-in[type="date"] { width: 124px; padding: 0 6px; }
.dk-acct { min-width: 200px; max-width: 300px; font-weight: 650; }
.dk-actid { font: 11px "Consolas", ui-monospace, monospace; color: var(--dk-mute); }
.dk-status { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; width: 100%; font-size: 11px; }
.dk-status .dim { color: var(--dk-mute); }
@media (max-width: 1500px) { .dk-cmdbar .dk-btn .lab { display: none; } .dk-cmdbar .dk-btn { padding: 0 9px; } .dk-cmdbar .dk-actid { display: none; } }
.dk-warnline { width: 100%; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 7px 10px; border-radius: var(--dk-r); background: rgba(232,168,59,.1); border: 1px solid rgba(232,168,59,.35); font-size: 12px; }
.dk-errline { color: var(--dk-red); font-size: 12px; padding: 4px 12px; }

/* ------------------------------------------------------------ action log */
.dk-log { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 6px 12px; background: #151618; border-bottom: 1px solid var(--dk-line); font-size: 12px; }
.dk-log .dk-log-h { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--dk-mute); font-weight: 700; }
.dk-log .tfilter { border-radius: 999px; font-size: 12px; padding: 2px 10px; background: var(--dk-raised); border-color: var(--dk-line-hi); }
.dk-log .tfilter.on { border-color: var(--dk-green); background: rgba(46,228,123,.12); }
.dk-log-more { width: 100%; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding-top: 4px; }
.dk-log-hit { color: var(--dk-amber); }

/* ------------------------------------------------------------ breakdown row */
.dk-brk { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 6px 12px; background: var(--dk-panel); border-bottom: 1px solid var(--dk-line); }
.dk-tabs { display: inline-flex; gap: 2px; }
.dk-tab { background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--dk-dim); padding: 8px 12px 7px; cursor: pointer; font-weight: 650; font-size: 13px; }
.dk-tab i { font-style: normal; font-weight: 500; color: var(--dk-mute); margin-left: 6px; font-variant-numeric: tabular-nums; }
.dk-tab:hover { color: var(--dk-text); }
.dk-tab.on { color: var(--dk-text); border-bottom-color: var(--dk-green); }
.dk-search { display: flex; align-items: center; gap: 0; flex: 1; min-width: 260px; max-width: 640px; }
.dk-search .dk-sel { border-radius: var(--dk-r) 0 0 var(--dk-r); border-right: 0; max-width: 140px; }
.dk-search .dk-in { flex: 1; border-radius: 0 var(--dk-r) var(--dk-r) 0; min-width: 0; }
.dk-fchip { display: inline-flex; gap: 5px; align-items: center; height: 28px; background: var(--dk-raised); border: 1px solid var(--dk-line-hi); border-radius: 999px; padding: 0 6px 0 10px; font-size: 12px; }
.dk-fchip select, .dk-fchip input { height: 22px; background: #101113; border: 1px solid var(--dk-line); color: var(--dk-text); border-radius: 5px; padding: 0 6px; font-size: 12px; }
.dk-fchip input { width: 70px; }
.dk-fchip button { background: none; border: 0; color: var(--dk-dim); cursor: pointer; font-size: 14px; padding: 0 4px; }
.dk-fchip .dk-pctn { font-size: 10px; color: var(--dk-mute); }
.dk-saved { display: inline-flex; align-items: center; height: 26px; padding: 0 4px 0 10px; border-radius: 999px; background: rgba(76,141,255,.12); border: 1px solid rgba(76,141,255,.35); color: #9dbdff; font-size: 12px; cursor: pointer; }
.dk-saved button { background: none; border: 0; color: inherit; cursor: pointer; font-size: 13px; padding: 0 5px; opacity: .7; }
.dk-saved button:hover { opacity: 1; }
.dk-cleanup.on { border-color: var(--dk-amber); color: var(--dk-amber); background: rgba(232,168,59,.12); }

/* ------------------------------------------------------------ kill header */
.dk-killhead { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; align-items: center; padding: 10px 14px; background: var(--dk-panel); border-bottom: 1px solid var(--dk-line); }
.dk-killhead b { font-size: 15px; }
.dk-killhead .dim { font-size: 12px; }
.dk-killstats { display: flex; gap: 14px; flex-wrap: wrap; padding: 6px 14px; font-size: 12px; color: var(--dk-dim); background: #151618; border-bottom: 1px solid var(--dk-line); }
.dk-killstats b { color: var(--dk-text); }
.dk-open { color: var(--dk-blue); font-size: 12px; font-weight: 650; text-decoration: none; }
.dk-open:hover { text-decoration: underline; }

/* ------------------------------------------------------------ KPI tiles */
.dk-kpis { display: flex; gap: 1px; background: var(--dk-line); border-bottom: 1px solid var(--dk-line); overflow-x: auto; scrollbar-width: none; }
.dk-kpis::-webkit-scrollbar { display: none; }
.dk-kpi { position: relative; flex: 1 0 118px; min-width: 118px; background: var(--dk-bg); padding: 7px 12px 5px; display: grid; gap: 1px; min-height: 54px; overflow: hidden; align-content: start; }
.dk-kpi i { font-style: normal; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--dk-mute); white-space: nowrap; }
.dk-kpi b { font-size: 17px; font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.dk-kpi small { font-size: 10.5px; color: var(--dk-dim); font-variant-numeric: tabular-nums; }
.dk-kpi small.up { color: var(--dk-green); }
.dk-kpi small.down { color: var(--dk-red); }
.dk-kpi svg { position: absolute; right: 8px; bottom: 6px; width: 64px; height: 22px; opacity: .8; }
.dk-kpi svg path { fill: none; stroke: var(--dk-green); stroke-width: 1.5; }
.dk-kpi svg path.area { fill: rgba(46,228,123,.12); stroke: none; }

/* ------------------------------------------------------------ chart */
.dk-chart { background: var(--dk-bg); border-bottom: 1px solid var(--dk-line); padding: 6px 12px 8px; }
.dk-chart-bar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.dk-mpicks { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; flex: 1; }
.dk-mchip { height: 24px; padding: 0 9px; border-radius: 999px; border: 1px solid var(--dk-line-hi); background: transparent; color: var(--dk-dim); font-size: 11px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }
.dk-mchip::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--dk-line-hi); }
.dk-mchip.on { color: var(--dk-text); border-color: var(--mc); }
.dk-mchip.on::before { background: var(--mc); }
.dk-mchip.off-axis { opacity: .5; border-style: dashed; }
.dk-chart-box { position: relative; margin-top: 6px; background: #0f1012; border: 1px solid var(--dk-line); border-radius: var(--dk-r); padding: 4px 6px 2px; }
.dk-chart-box canvas { width: 100%; height: 150px; display: block; }
.dk-chart-src { font-size: 10.5px; color: var(--dk-mute); padding: 2px 4px 0; }
.dk-tip { position: absolute; pointer-events: none; background: #1f2226; border: 1px solid var(--dk-line-hi); border-radius: 6px; padding: 8px 10px; font-size: 11px; min-width: 150px; z-index: 5; box-shadow: 0 8px 24px rgba(0,0,0,.4); }
.dk-tip i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; }
.dk-tip-d { color: var(--dk-dim); margin-bottom: 4px; }
.dk-tip b { float: right; margin-left: 10px; font-variant-numeric: tabular-nums; }
.hidden { display: none !important; }

/* ------------------------------------------------------------ grid */
.dk-grid { flex: 1; min-height: 0; overflow: auto; background: var(--dk-bg); scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.22) transparent; position: relative; }
.desk-ws.has-dock .dk-grid { padding-bottom: 72px; }
.dk-grid::-webkit-scrollbar { height: 10px; width: 10px; }
.dk-grid::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); border-radius: 8px; }
.dk-grid::-webkit-scrollbar-corner { background: transparent; }
.dk-table { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; font-size: 12.5px; table-layout: fixed; }
.dk-table th, .dk-table td {
  padding: 0 10px; height: var(--dk-row-h); border-bottom: 1px solid var(--dk-line);
  text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  vertical-align: middle; background: var(--dk-bg);
}
.dk-table thead th {
  position: sticky; top: 0; z-index: 5; height: var(--dk-th-h);
  background: var(--dk-panel); color: var(--dk-dim); font-weight: 650; font-size: 11px;
  cursor: pointer; user-select: none; border-bottom: 1px solid var(--dk-line-hi);
}
.dk-table thead th small { display: block; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; color: var(--dk-mute); font-weight: 600; line-height: 1.1; margin-bottom: 1px; }
.dk-table thead th.g-tw small { color: #9dbdff; }
.dk-table thead th.g-nb small { color: #d9a5ff; }
.dk-table thead th.g-cdv small { color: var(--dk-cyan); }
.dk-table thead th.g-meta small { color: #8ab4f8; }
.dk-table thead th.g-rule small { color: var(--dk-amber); }
.dk-table thead th.sorted { color: var(--dk-text); }
.dk-table thead th.sorted::after { content: " ↓"; color: var(--dk-green); }
.dk-table thead th.sorted.asc::after { content: " ↑"; }
.dk-table thead th:hover { color: var(--dk-text); }
.dk-table th i.dk-rs { position: absolute; right: 0; top: 0; bottom: 0; width: 10px; cursor: col-resize; z-index: 6; }
.dk-table th i.dk-rs::after { content: ""; position: absolute; right: 0; top: 8px; bottom: 8px; width: 1px; background: var(--dk-line-hi); }
.dk-table th i.dk-rs:hover { box-shadow: inset -2px 0 0 var(--dk-green); }
.dk-table th.num, .dk-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
.dk-table tr.dk-total td { position: sticky; top: var(--dk-th-h); z-index: 4; height: var(--dk-tot-h); background: var(--dk-raised); font-weight: 700; border-bottom: 1px solid var(--dk-line-hi); }
.dk-table tbody tr:hover td { background: var(--dk-hover); }
.dk-table tr.is-sel td { background: var(--dk-sel); }
.dk-table tr.is-sel:hover td { background: rgba(46,228,123,.15); }
.dk-table tr.is-cur td { box-shadow: inset 0 0 0 1px rgba(46,228,123,.5); }
.dk-table tr.is-drill td { box-shadow: inset 3px 0 0 var(--dk-green); }
.dk-table tr.is-off td { color: var(--dk-dim); }
.dk-table tr.is-off td.dk-name button { color: var(--dk-dim); }
.dk-table tr.dk-total td.dk-pin, .dk-table thead th.dk-pin { z-index: 7; }
.dk-pin { position: sticky; z-index: 3; }
.dk-pin-sel { left: 0; width: 36px; min-width: 36px; }
.dk-pin-on { left: var(--dk-pin1); width: 64px; min-width: 64px; }
.dk-pin-name { left: var(--dk-pin2); box-shadow: 1px 0 0 var(--dk-line-hi); }
.dk-table input[type="checkbox"] { accent-color: var(--dk-green); width: 14px; height: 14px; cursor: pointer; }
.dk-name { max-width: 100%; }
.dk-namecell { display: flex; align-items: center; gap: 6px; min-width: 0; }
.dk-namecell > button[data-desk-drill] { background: none; border: 0; color: var(--dk-text); text-align: left; cursor: pointer; font-weight: 600; min-width: 0; flex: 0 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0; font-size: 12.5px; }
.dk-namecell > button[data-desk-drill]:hover { color: var(--dk-green); }
.dk-c { font-size: 10px; color: var(--dk-dim); letter-spacing: .04em; padding: 1px 5px; border-radius: 4px; background: var(--dk-raised); border: 1px solid var(--dk-line); flex: 0 0 auto; }
.dk-sub { display: block; font-size: 10.5px; color: var(--dk-mute); line-height: 1.1; overflow: hidden; text-overflow: ellipsis; }
.dk-rowact { display: none; gap: 2px; margin-left: auto; flex: 0 0 auto; }
.dk-table tr:hover .dk-rowact, .dk-table tr.is-cur .dk-rowact { display: inline-flex; }
.dk-rowact a, .dk-rowact button { height: 22px; min-width: 22px; padding: 0 6px; border-radius: 5px; border: 1px solid var(--dk-line-hi); background: var(--dk-raised); color: var(--dk-dim); font-size: 11px; font-weight: 650; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; }
.dk-rowact a:hover, .dk-rowact button:hover { color: var(--dk-text); border-color: rgba(255,255,255,.25); }
.dk-rowact a.meta { color: #8ab4f8; }
.desk-ws.compact .dk-sub { display: none; }

/* status cell */
.dk-stcell { display: flex; align-items: center; gap: 6px; }
.dk-tog { appearance: none; width: 30px; height: 16px; border: 0; border-radius: 999px; background: rgba(255,255,255,.16); cursor: pointer; position: relative; padding: 0; flex: 0 0 30px; }
.dk-tog.on { background: var(--dk-green); }
.dk-tog:disabled { opacity: .35; cursor: not-allowed; }
.dk-tog::after { content: ""; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff; transition: left .12s; }
.dk-tog.on::after { left: 16px; }
.dk-st { font-size: 9.5px; color: var(--dk-mute); letter-spacing: .04em; text-transform: uppercase; }
.dk-st.parent { color: var(--dk-amber); }
.dk-lock { font-size: 11px; color: var(--dk-amber); }

/* budget cell */
.dk-bud { background: none; border: 0; border-bottom: 1px dashed rgba(255,255,255,.3); color: var(--dk-text); cursor: pointer; font: inherit; font-variant-numeric: tabular-nums; padding: 0 0 1px; }
.dk-bud:hover { border-bottom-color: var(--dk-green); color: var(--dk-green); }
.dk-bud small { color: var(--dk-mute); font-size: 10px; margin-left: 2px; }
.dk-budedit { position: absolute; left: 0; top: 4px; z-index: 8; display: flex; gap: 4px; align-items: center; flex-wrap: nowrap; padding: 4px 6px; background: #1f2226; border: 1px solid var(--dk-green); border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.5); }
.dk-budedit input { width: 76px; height: 24px; background: #101113; border: 1px solid var(--dk-green); color: var(--dk-text); padding: 0 6px; border-radius: 5px; font-variant-numeric: tabular-nums; }
.dk-budedit .dk-pct { height: 22px; padding: 0 5px; border-radius: 4px; border: 1px solid var(--dk-line-hi); background: var(--dk-raised); color: var(--dk-dim); font-size: 10.5px; cursor: pointer; }
.dk-budedit .dk-pct:hover { color: var(--dk-green); border-color: var(--dk-green); }
.dk-budedit .dk-pct.up { color: #8ef0b7; }
.dk-budedit .dk-pct.down { color: #ff9aa3; }
td.dk-budcell { overflow: visible; position: relative; }

/* rule cells (Kill / Scale) */
.dk-allow { line-height: 1.2; }
.dk-allow .ok { color: var(--dk-green); font-weight: 700; }
.dk-allow .bad { color: var(--dk-red); font-weight: 700; }
.dk-allow small { display: block; font-size: 10px; color: var(--dk-mute); font-weight: 500; }
.dk-save.bad, .dk-dec-kill { color: var(--dk-red); font-weight: 750; }
.dk-save.ok, .dk-dec-hold { color: var(--dk-green); font-weight: 650; }
.dk-dec-kill { display: inline-block; padding: 2px 8px; border-radius: 4px; background: rgba(240,82,95,.15); border: 1px solid rgba(240,82,95,.35); }
.dk-dec-hold { display: inline-block; padding: 2px 8px; border-radius: 4px; background: rgba(46,228,123,.1); border: 1px solid rgba(46,228,123,.3); }
.dk-zone small { display: block; font-size: 10px; color: var(--dk-mute); }

.dk-empty { padding: 48px 16px; color: var(--dk-dim); text-align: center; font-size: 13px; }
.dk-empty b { display: block; color: var(--dk-text); font-size: 15px; margin-bottom: 6px; }

/* ------------------------------------------------------------ dock */
.dk-dock {
  position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 45;
  display: flex; align-items: center; gap: 6px; padding: 8px 10px 8px 14px;
  background: #1d2024; border: 1px solid var(--dk-line-hi); border-radius: 14px;
  box-shadow: 0 16px 48px rgba(0,0,0,.55), 0 0 0 1px rgba(46,228,123,.15);
  font-size: 12.5px; max-width: calc(100vw - 32px); flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
}
.dk-dock.is-off { display: none; }
.dk-dock .n { font-size: 14px; font-weight: 750; color: var(--dk-green); margin-right: 2px; }
.dk-dock .sep { width: 1px; height: 22px; background: var(--dk-line-hi); margin: 0 4px; }
.dk-dock-scale { display: inline-flex; align-items: center; gap: 3px; }
.dk-dock-scale .dk-btn.sm { padding: 0 7px; }

/* ------------------------------------------------------------ drawer */
.dk-drawer {
  position: absolute; top: var(--dk-cmd-h, 0px); right: 0; bottom: 0; width: min(440px, 92vw); z-index: 30;
  background: var(--dk-panel); border-left: 1px solid var(--dk-line-hi);
  box-shadow: -16px 0 48px rgba(0,0,0,.45); display: flex; flex-direction: column; overflow: hidden;
}
.dk-drawer-h { display: flex; gap: 8px; align-items: flex-start; padding: 12px 14px 10px; border-bottom: 1px solid var(--dk-line); }
.dk-drawer-h b { font-size: 14px; line-height: 1.25; overflow-wrap: anywhere; }
.dk-drawer-x { margin-left: auto; }
.dk-drawer-b { flex: 1; overflow: auto; padding: 10px 14px 20px; display: grid; gap: 12px; align-content: start; scrollbar-width: thin; }
.dk-drawer-k { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--dk-mute); font-weight: 700; margin-bottom: 4px; }
.dk-chain { display: grid; gap: 3px; font-size: 12px; }
.dk-chain span { color: var(--dk-mute); display: inline-block; width: 28px; font-size: 10px; letter-spacing: .06em; }
.dk-chain div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dk-ids { display: flex; gap: 6px; flex-wrap: wrap; }
.dk-ids button { height: 24px; padding: 0 8px; border-radius: 5px; border: 1px solid var(--dk-line-hi); background: var(--dk-raised); color: var(--dk-dim); font: 600 11px "Consolas", ui-monospace, monospace; cursor: pointer; }
.dk-ids button:hover { color: var(--dk-text); }
.dk-mgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--dk-line); border: 1px solid var(--dk-line); border-radius: var(--dk-r); overflow: hidden; }
.dk-mgrid div { background: var(--dk-bg); padding: 6px 10px; display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.dk-mgrid div span { color: var(--dk-dim); }
.dk-mgrid div b { font-variant-numeric: tabular-nums; font-weight: 650; }
.dk-judge { border: 1px solid var(--dk-line); border-radius: var(--dk-r); padding: 8px 10px; display: grid; gap: 6px; font-size: 12px; }
.dk-judge .dk-cellrow { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; align-items: center; font-variant-numeric: tabular-nums; }
.dk-judge .dk-cellrow small { color: var(--dk-mute); }
.dk-drawer-acts { display: flex; gap: 6px; flex-wrap: wrap; }

/* ------------------------------------------------------------ popovers */
.dk-pop { position: absolute; right: 12px; top: 48px; background: #1f2226; border: 1px solid var(--dk-line-hi); border-radius: 10px; padding: 12px; z-index: 35; min-width: 280px; display: grid; gap: 6px; box-shadow: 0 16px 48px rgba(0,0,0,.5); }
.dk-pop-cols { width: min(92vw, 720px); max-height: 78vh; display: flex; flex-direction: column; gap: 0; padding: 0; }
.dk-pop-head { padding: 12px 12px 8px; border-bottom: 1px solid var(--dk-line); display: grid; gap: 8px; }
.dk-pop-head .dk-in { width: 100%; box-sizing: border-box; }
.dk-presets { display: flex; gap: 6px; flex-wrap: wrap; }
.dk-pop-body { overflow: auto; scrollbar-width: thin; padding: 6px 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 18px; align-content: start; }
.dk-colgroup { padding: 6px 0 8px; break-inside: avoid; }
.dk-colgroup-h { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0 0 4px; }
.dk-colgroup .dk-check { padding: 3px 0; }
.dk-pop-cols .dk-pop-acts { padding: 8px 12px 12px; border-top: 1px solid var(--dk-line); margin: 0; }
.dk-table td.dk-txt { color: var(--dk-dim); font: 11.5px "Consolas", ui-monospace, monospace; }
@media (max-width: 860px) { .dk-pop-body { grid-template-columns: 1fr; } }
.dk-pop .dk-drawer-k { margin-top: 6px; }
.dk-check { font-size: 12px; display: flex; gap: 6px; align-items: center; cursor: pointer; }
.dk-check input { accent-color: var(--dk-green); }
.dk-pop-acts { display: flex; justify-content: flex-end; gap: 6px; margin-top: 6px; }
.dk-help { position: fixed; inset: 0; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; z-index: 50; }
.dk-help-card { background: #1f2226; border: 1px solid var(--dk-line-hi); border-radius: 12px; padding: 18px 20px; width: min(92vw, 520px); display: grid; gap: 8px; font-size: 13px; }
.dk-help-card h3 { font-size: 15px; margin: 0 0 4px; }
.dk-help-row { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border-bottom: 1px solid var(--dk-line); }
.dk-help-row:last-child { border-bottom: 0; }

/* bulk modal */
.desk-modal { position: fixed; inset: 0; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; z-index: 40; }
.desk-modal-card { background: #1f2226; border: 1px solid var(--dk-line-hi); border-radius: 12px; padding: 20px; width: min(92vw, 560px); display: grid; gap: 8px; font-size: 13px; }
.desk-modal-card h3 { font-size: 16px; margin: 0; }
.desk-bulk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.desk-modal-card label { display: grid; gap: 3px; font-size: 12px; color: var(--dk-dim); }
.desk-modal-card input, .desk-modal-card select { height: 30px; background: #101113; border: 1px solid var(--dk-line-hi); color: var(--dk-text); padding: 0 8px; border-radius: 6px; }
.desk-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }

/* results toast strip */
.dk-result { position: fixed; right: 16px; bottom: 76px; z-index: 44; background: #1d2024; border: 1px solid var(--dk-line-hi); border-radius: 10px; padding: 10px 12px; font-size: 12px; max-width: min(520px, 90vw); max-height: 40vh; overflow: auto; box-shadow: 0 16px 48px rgba(0,0,0,.5); display: grid; gap: 3px; }
.dk-result .dk-ritem.done { color: var(--dk-green); }
.dk-result .dk-ritem.failed, .dk-result .dk-ritem.flagged { color: var(--dk-amber); }
.dk-result .dk-ritem.failed { color: var(--dk-red); }

@media (max-width: 860px) {
  .desk-bulk-grid, .dk-mgrid { grid-template-columns: 1fr; }
  .dk-acct { min-width: 160px; }
  .dk-search { min-width: 100%; }
  .dk-drawer { width: 100vw; }
  .dk-kpis { grid-template-columns: repeat(2, 1fr); }
}
