/* wizard.css — Create-component workflow, SBOM editor & components screens.
   Builds on the tokens/classes in styles.css. */

/* ===================================================== wizard scaffold */
.wiz{gap:18px;}
.wiz-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}

/* — rail layout — */
.wiz-body-rail{display:grid;grid-template-columns:236px 1fr;gap:20px;align-items:start;}
.wiz-rail{display:flex;flex-direction:column;gap:2px;position:sticky;top:74px;}

/* — stepper layout — */
.wiz-stepper{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px;}
.wiz-body-stepper{display:grid;grid-template-columns:1fr 288px;gap:18px;align-items:start;}

/* step button — shared by both layouts */
.wizstep{display:flex;align-items:center;gap:11px;text-align:left;background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:11px 12px;cursor:default;transition:.14s;width:100%;}
.wizstep.is-unlocked{cursor:pointer;}
.wizstep.is-unlocked:hover{background:var(--surface-2);}
.wizstep-dot{width:30px;height:30px;flex:none;border-radius:9px;display:grid;place-items:center;border:1px solid var(--line-2);background:var(--surface);color:var(--text-faint);transition:.15s;}
.wizstep-tx{display:flex;flex-direction:column;gap:3px;min-width:0;}
.wizstep-lab{font:600 13px/1 var(--font);color:var(--text-dim);white-space:nowrap;}
.wizstep-lab em{font-style:normal;color:var(--text-faint);font-weight:500;font-size:11px;}
.wizstep-sub{font:11px/1 var(--font);color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wizstep.is-cur{background:var(--accent-soft);border-color:var(--accent-line);}
.wizstep.is-cur .wizstep-dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 4px var(--accent-soft);}
.app[data-theme="light"] .wizstep.is-cur .wizstep-dot{color:#fff;}
.wizstep.is-cur .wizstep-lab{color:var(--text);}
.wizstep.is-done .wizstep-dot{background:color-mix(in oklab,var(--ok) 18%,transparent);border-color:var(--ok);color:var(--ok);}
.wizstep.is-done .wizstep-lab{color:var(--text);}

/* panel + footer */
.wiz-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;display:flex;flex-direction:column;min-height:440px;}
.wiz-stepper-layout .wiz-panel{min-height:480px;}
.wiz-foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:22px;border-top:1px solid var(--line);}
.wiz-foot-sp{flex:1;}
.btn:disabled{opacity:.4;cursor:not-allowed;}

/* ===================================================== step form bits */
.wizform{display:flex;flex-direction:column;gap:22px;flex:1;}
.wizform-head h2{font:700 21px/1.15 var(--font-display);letter-spacing:-.01em;color:var(--text);margin:0;}
.wizform-head p{font:14px/1.5 var(--font);color:var(--text-dim);margin:7px 0 0;max-width:62ch;text-wrap:pretty;}
.wizform-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.wiz-advanced{font:600 10px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);padding:4px 7px;border-radius:5px;vertical-align:middle;margin-left:8px;}
.field-req{font:600 10px/1 var(--font);text-transform:uppercase;letter-spacing:.05em;color:var(--sev-high);margin-left:7px;}
.field-opt{font:11px/1 var(--font);color:var(--text-faint);margin-left:7px;font-weight:500;}

/* category cards */
.catgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.catcard{display:flex;flex-direction:column;gap:7px;align-items:flex-start;text-align:left;padding:14px;border:none;border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:.13s;}
.catcard:hover{border-color:var(--line-2);background:var(--surface-2);transform:translateY(-1px);}
.catcard-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);color:var(--text-dim);transition:.13s;}
.catcard-lab{font:600 13.5px/1 var(--font);color:var(--text);}
.catcard-hint{font:11px/1.3 var(--font);color:var(--text-faint);}
.catcard.is-on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent);}
.catcard.is-on .catcard-ic{background:var(--accent);color:var(--accent-ink);}
.app[data-theme="light"] .catcard.is-on .catcard-ic{color:#fff;}

/* ===================================================== upload / dropzone */
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;
  border:1.5px dashed var(--line-2);border-radius:var(--radius);background:var(--surface-2);padding:46px 28px;transition:.15s;}
.drop.is-drag{border-color:var(--accent);background:var(--accent-soft);}
.drop.is-parsing{border-style:solid;}
.drop-ic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:var(--surface-3);color:var(--accent);margin-bottom:4px;}
.drop strong{font:600 16px/1.2 var(--font);color:var(--text);}
.drop-sub{font:13px/1.4 var(--font);color:var(--text-dim);}
.drop-sub b{color:var(--text);font-weight:600;}
.drop-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;justify-content:center;}
.drop-spin{width:26px;height:26px;border-width:3px;}

/* parsed summary */
.sbomsum{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;}
.sbomsum-stat{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--surface);}
.sbomsum-stat b{font:700 22px/1 var(--font-display);color:var(--text);}
.sbomsum-stat b.is-warn{color:var(--sev-high);}
.sbomsum-stat span{font:11.5px/1.2 var(--font);color:var(--text-faint);}
.sbomsum-stat-wide{grid-column:span 1;}
.sbomsum-stat-wide b{font:600 15px/1.2 var(--font);}
.sbom-metaline{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font:11.5px/1.2 var(--font);color:var(--text-faint);}
.sbom-metaline span{display:flex;align-items:center;gap:6px;}
.sbom-metaline .ic{color:var(--ok);}
.sbom-metaline .mono{color:var(--text-dim);}

/* inventory preview list */
.liblist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;}
.liblist-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface-2);font:600 11px/1 var(--font);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);}
.liblist-raw{background:none;border:none;color:var(--accent);font:600 11.5px/1 var(--font);cursor:pointer;text-transform:none;letter-spacing:0;}
.librow{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line);}
.liblist-flat .librow:first-child,.liblist .librow:first-child{border-top:none;}
.liblist-flat{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;}
.librow.is-flagged{background:color-mix(in oklab,var(--sev-high) 6%,transparent);}
.librow-name{font:600 12.5px/1 var(--font-mono);color:var(--text);flex:1;min-width:0;}
.librow-ver{color:var(--text-faint);font-weight:500;}
.librow-sup{font:11.5px/1 var(--font);color:var(--text-dim);width:130px;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.librow-type{font:10.5px/1 var(--font-mono);color:var(--text-faint);background:var(--surface-2);padding:4px 7px;border-radius:5px;flex:none;}
.librow-cve{display:inline-flex;align-items:center;gap:4px;font:600 11px/1 var(--font);color:var(--sev-high);background:color-mix(in oklab,var(--sev-high) 14%,transparent);border:1px solid color-mix(in oklab,var(--sev-high) 30%,transparent);padding:4px 7px;border-radius:20px;flex:none;}
.librow-ok{display:grid;place-items:center;color:var(--ok);opacity:.7;flex:none;width:22px;}
.liblist-more{padding:9px 14px;border-top:1px solid var(--line);font:12px/1 var(--font);color:var(--text-faint);background:var(--surface-2);}
.sbom-raw{margin:0;padding:14px;max-height:280px;overflow:auto;font-size:11px;line-height:1.55;color:var(--text-dim);background:var(--bg-panel);border-top:1px solid var(--line);white-space:pre;}

/* ===================================================== SBOM editor */
.sbed{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;}
.sbed-bar{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);}
.sbed-search{flex:1;height:36px;min-width:160px;}
.sbed-meta{display:flex;align-items:center;gap:12px;}
.sbed-count{font:12px/1 var(--font);color:var(--text-dim);}
.sbed-count b{color:var(--text);font-weight:700;}
.sbed-flag{display:inline-flex;align-items:center;gap:5px;font:600 11.5px/1 var(--font);color:var(--sev-high);}
.sbed-table{display:flex;flex-direction:column;max-height:392px;overflow:auto;}
.sbed-row{display:grid;grid-template-columns:26px 1fr 96px 132px 132px 92px 34px;align-items:center;gap:10px;padding:7px 14px;border-top:1px solid var(--line);}
.sbed-head{position:sticky;top:0;z-index:2;background:var(--surface-2);border-top:none;border-bottom:1px solid var(--line);
  font:600 10px/1 var(--font);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);padding-top:10px;padding-bottom:10px;}
.sbed-row.is-flagged{background:color-mix(in oklab,var(--sev-high) 5%,transparent);}
.sbed-grip{color:var(--text-faint);opacity:.5;display:grid;place-items:center;cursor:grab;}
.sbed-cell-name{display:flex;flex-direction:column;gap:2px;min-width:0;}
.sbed-purl{font-size:10px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cellinput{width:100%;border:1px solid transparent;background:transparent;color:var(--text);font:13px/1 var(--font);padding:6px 8px;border-radius:6px;outline:none;transition:.12s;}
.cellinput:hover{background:var(--surface-2);}
.cellinput:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 2px var(--accent-soft);}
.cellinput-strong{font-weight:600;font-family:var(--font-mono);font-size:12.5px;}
.cellinput.mono{font-family:var(--font-mono);font-size:12px;}
.cellselect{cursor:pointer;appearance:none;-webkit-appearance:none;color:var(--text-dim);}
.sbed-status{display:flex;justify-content:flex-start;}
.sbed-cve{display:inline-flex;align-items:center;gap:4px;font:600 10.5px/1 var(--font);color:var(--sev-high);background:color-mix(in oklab,var(--sev-high) 14%,transparent);border:1px solid color-mix(in oklab,var(--sev-high) 28%,transparent);padding:4px 6px;border-radius:5px;white-space:nowrap;}
.sbed-clean{display:inline-flex;align-items:center;gap:4px;font:500 10.5px/1 var(--font);color:var(--text-faint);}
.sbed-del{background:none;border:none;color:var(--text-faint);cursor:pointer;display:grid;place-items:center;padding:5px;border-radius:6px;}
.sbed-del:hover{color:var(--sev-critical);background:var(--surface-2);}
.sbed-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px;color:var(--text-faint);font:13px/1 var(--font);}

/* ===================================================== match step */
.suppgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.suppcard{position:relative;display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;border:none;border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:.13s;}
.suppcard:hover{background:var(--surface-2);}
.suppcard-av{width:30px;height:30px;flex:none;border-radius:8px;display:grid;place-items:center;font:700 11px/1 var(--font-mono);background:var(--surface-2);color:var(--text-dim);}
.suppcard-name{font:600 13px/1.1 var(--font);color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.suppcard.is-on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent);}
.suppcard.is-on .suppcard-av{background:var(--accent);color:var(--accent-ink);}
.app[data-theme="light"] .suppcard.is-on .suppcard-av{color:#fff;}
.suppcard-sug{position:absolute;top:-8px;right:8px;display:inline-flex;align-items:center;gap:3px;font:600 9.5px/1 var(--font);letter-spacing:.02em;color:var(--accent-ink);background:var(--accent);padding:3px 6px;border-radius:20px;}
.app[data-theme="light"] .suppcard-sug{color:#fff;}
.brandchips{display:flex;flex-wrap:wrap;gap:8px;}
.chip-brand{padding:8px 13px;}
.chip-brand.is-on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text);}
.chip-brand.is-on .ic{color:var(--accent);}

/* ===================================================== review (hero) */
.rev-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:22px 24px;border-radius:var(--radius);
  background:linear-gradient(100deg,var(--accent-soft),transparent 72%),var(--surface);border:1px solid var(--accent-line);}
.rev-hero.is-clean{background:var(--surface);border-color:var(--line);}
.rev-hero-l{display:flex;align-items:center;gap:16px;}
.rev-hero-ic{width:46px;height:46px;flex:none;border-radius:13px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);box-shadow:0 0 24px var(--accent-soft);}
.app[data-theme="light"] .rev-hero-ic{color:#fff;}
.rev-hero-num{font:700 34px/1 var(--font-display);letter-spacing:-.02em;color:var(--text);display:flex;align-items:baseline;gap:11px;}
.rev-hero-num span{font:600 15px/1.2 var(--font);color:var(--text-dim);letter-spacing:0;}
.rev-hero-sub{font:13px/1.4 var(--font);color:var(--text-dim);margin:6px 0 0;}
.rev-hero-sev{display:flex;flex-wrap:wrap;gap:8px;}
.rev-sevchip{display:inline-flex;align-items:center;gap:7px;font:600 12px/1 var(--font);color:var(--sc);background:color-mix(in oklab,var(--sc) 13%,transparent);border:1px solid color-mix(in oklab,var(--sc) 28%,transparent);padding:7px 11px;border-radius:20px;}
.rev-sevchip-dot{width:7px;height:7px;border-radius:50%;background:var(--sc);box-shadow:0 0 7px var(--sc);}

.rev-cols{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start;}
.rev-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:13px;}
.rev-sec-head h3{font:600 15px/1 var(--font);color:var(--text);margin:0;}
.rev-list{display:flex;flex-direction:column;border:none;border-radius:var(--radius-sm);overflow:hidden;}
.rev-row{display:flex;align-items:flex-start;gap:13px;padding:13px 15px;border-top:1px solid var(--line);}
.rev-row:first-child{border-top:none;}
.rev-row-main{display:flex;flex-direction:column;gap:5px;min-width:0;}
.rev-row-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.rev-row-id{font:600 12.5px/1 var(--font-mono);color:var(--text);}
.rev-row-via{font:11.5px/1 var(--font);color:var(--text-faint);}
.rev-row-via b{color:var(--text-dim);}
.rev-row-desc{font:12.5px/1.45 var(--font);color:var(--text-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.rev-summary{background:var(--surface);border:none;border-radius:var(--radius);padding:18px;}
.rev-card-name{font:600 16px/1.25 var(--font);color:var(--text);}
.rev-card-cat{margin:10px 0 14px;}
.rev-meta{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:12px;}
.rev-brands-lab{font:600 11px/1 var(--font);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin:14px 0 8px;}
.rev-brands{display:flex;flex-wrap:wrap;gap:6px;}

/* ===================================================== live summary (stepper) */
.wiz-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;position:sticky;top:74px;display:flex;flex-direction:column;gap:11px;}
.wiz-summary-head{font:600 11px/1 var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);}
.wiz-sum-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font:13px/1.2 var(--font);color:var(--text-dim);}
.wiz-sum-row b{color:var(--text);font-weight:600;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wiz-sum-div{height:1px;background:var(--line);margin:3px 0;}
.wiz-sum-match{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-line);}
.wiz-sum-match-num{font:700 30px/1 var(--font-display);color:var(--accent);}
.wiz-sum-match-lab{font:11.5px/1 var(--font);color:var(--text-dim);}

/* ===================================================== components screen */
.compcard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:11px;margin-top:2px;font:11px/1.2 var(--font);color:var(--text-faint);}
.compcard-foot .mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.compcard-clean{display:inline-flex;align-items:center;gap:7px;font:600 12px/1 var(--font);color:var(--ok);}
.comp-matchlist .ent-row{grid-template-columns:104px 132px 1fr 168px auto auto;}
.comp-risk{display:flex;gap:20px;}
.comp-risk-big{display:flex;flex-direction:column;gap:3px;}
.comp-risk-big b{font:700 26px/1 var(--font-display);color:var(--text);}
.comp-risk-big span{font:11px/1 var(--font);color:var(--text-faint);}
.comp-sevrows{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px;}
.comp-sevrow{display:flex;align-items:center;gap:9px;font:12.5px/1 var(--font);color:var(--text-dim);}
.comp-sevrow-lab{flex:1;}
.comp-sevrow b{color:var(--text);}

/* ===================================================== responsive */
@media (max-width:1080px){
  .wiz-body-rail{grid-template-columns:1fr;}
  .wiz-rail{position:static;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px;}
  .wiz-rail .wizstep{flex:none;}
  .wiz-rail .wizstep-sub{display:none;}
  .wiz-body-stepper{grid-template-columns:1fr;}
  .wiz-summary{position:static;}
  .rev-cols{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .catgrid{grid-template-columns:repeat(2,1fr);}
  .suppgrid{grid-template-columns:repeat(2,1fr);}
  .sbomsum{grid-template-columns:repeat(2,1fr);}
  .wiz-stepper{grid-auto-flow:row;grid-auto-columns:auto;}
}
@media (max-width:560px){
  /* Match the app shell's phone padding for the modal + review surfaces. */
  .usm-head,.usm-tabs,.usm-body,.usm-impact,.usm-foot{padding-left:16px;padding-right:16px;}
  .usm-scrim{padding:10px;}
  /* Match-list vuln rows drop the "via lib" column (mirrors .ent-row in styles.css). */
  .comp-matchlist .ent-row{grid-template-columns:96px 116px 1fr auto auto;}
  .comp-matchlist .ent-row-comp{display:none;}
  /* SBOM summary + supplier picker go single-column on the narrowest screens. */
  .sbomsum{grid-template-columns:1fr 1fr;}
  .suppgrid{grid-template-columns:1fr;}
}

/* ===================================================== update-SBOM modal */
.usm-scrim{position:fixed;inset:0;z-index:300;background:color-mix(in oklab,#000 55%,transparent);backdrop-filter:blur(3px);
  display:flex;align-items:flex-start;justify-content:center;padding:48px 20px;overflow:auto;animation:fade .2s ease;}
.usm{width:100%;max-width:780px;background:var(--bg-panel);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;animation:rise .25s ease;}
.usm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line);}
.usm-head h3{font:700 18px/1.2 var(--font-display);color:var(--text);margin:5px 0 0;}
.usm-tabs{display:flex;gap:4px;padding:14px 22px 0;border-bottom:1px solid var(--line);}
.usm-tabs .seg-btn{border-radius:8px 8px 0 0;padding:10px 14px;margin-bottom:-1px;border:1px solid transparent;border-bottom:none;}
.usm-tabs .seg-btn:hover{color:var(--text);background:var(--surface-2);}
.usm-tabs .seg-btn.is-on{background:var(--surface);color:var(--text);box-shadow:none;border-color:var(--line);border-bottom:1px solid var(--surface);}
.usm-body{padding:20px 22px;min-height:230px;max-height:50vh;overflow:auto;}
.usm-impact{display:flex;flex-direction:column;gap:10px;padding:14px 22px;background:var(--surface-2);border-top:1px solid var(--line);}
.usm-impact-stats{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.usm-stat{font:13px/1.2 var(--font);color:var(--text-dim);display:flex;align-items:baseline;gap:8px;}
.usm-stat b{font:700 18px/1 var(--font-display);color:var(--text);}
.usm-stat b.is-good{color:var(--ok);}
.usm-stat em{font-style:normal;font-size:11.5px;color:var(--text-faint);}
.usm-pill{display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--font);padding:6px 10px;border-radius:20px;}
.usm-pill-good{color:var(--ok);background:color-mix(in oklab,var(--ok) 14%,transparent);border:1px solid color-mix(in oklab,var(--ok) 30%,transparent);}
.usm-pill-warn{color:var(--sev-high);background:color-mix(in oklab,var(--sev-high) 14%,transparent);border:1px solid color-mix(in oklab,var(--sev-high) 30%,transparent);}
.usm-remlist{display:flex;flex-wrap:wrap;gap:6px;}
.usm-remchip{display:inline-flex;align-items:center;gap:6px;font:600 11px/1 var(--font-mono);color:var(--text-dim);background:var(--surface);border:1px solid var(--line);padding:5px 8px;border-radius:6px;}
.usm-foot{display:flex;align-items:center;gap:10px;padding:16px 22px;border-top:1px solid var(--line);}
.usm-foot-note{font:12px/1 var(--font);color:var(--text-faint);}

/* detail: update button + remediated subsection */
.dsec-head-aside{margin-left:auto;display:flex;align-items:center;gap:10px;}
.dsec-head-aside .dsec-kick{margin-left:0;}
.dsec-ic-ok{background:color-mix(in oklab,var(--ok) 16%,transparent);color:var(--ok);}
.ent-row-rem .ent-row-id{color:var(--text-dim);}
.ent-row-rem .ent-row-comp{color:var(--ok);}

/* ===================================================== ledger column-header filters */
.lc-head-cell{position:relative;padding-right:22px;}
.lc-head-cell.is-filtered .lc-head-lab{color:var(--accent);}
.colfilt{position:absolute;right:0;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:2px;
  border:none;background:none;color:var(--text-faint);cursor:pointer;padding:3px;border-radius:5px;line-height:0;}
.colfilt:hover{color:var(--text-dim);background:var(--surface-3);}
.colfilt.is-open{color:var(--text);background:var(--surface-3);}
.colfilt.is-active{color:var(--accent);}
.colfilt-badge{font:700 9px/1 var(--font-mono);color:var(--accent-ink);background:var(--accent);border-radius:10px;padding:2px 4px;}
.app[data-theme="light"] .colfilt-badge{color:#fff;}

