  /* Master Logs: a summary strip, filter chips, an expanding name list, and log cards with the
     completion each log had at its last compliance scan. */
  .banner-error{background:var(--rose-soft);border:1px solid #eabfc7;color:var(--rose-ink);border-radius:10px;padding:10px 14px;font-size:11.5px;margin-bottom:12px}
  .ml-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin-bottom:16px}
  .ml-strip > div{padding:14px 18px;border-right:1px solid var(--line-soft);min-width:0}
  .ml-strip > div:first-child{padding-left:0}
  .ml-strip > div:last-child{border-right:0}
  .ml-strip .ledger-figure{display:block;font-size:34px;margin-top:8px}
  .ml-strip.ml-strip-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ml-bar{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
  .ml-bar #ml-search{width:260px;margin:0}
  .ml-chips{display:flex;gap:6px;flex-wrap:wrap}
  .ml-chip{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:5px 12px;font-size:11.5px;cursor:pointer;color:var(--ink);transition:background .15s,color .15s,border-color .15s}
  .ml-chip.is-on{background:var(--ink);border-color:var(--ink);color:#fff6ef}
  .ml-chip:focus-visible,.ml-row:focus-visible{outline:2px solid var(--rose-2);outline-offset:2px}
  .ml-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
  .ml-list > li{border-bottom:1px solid var(--line-soft)}
  .ml-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 4px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .15s}
  .ml-row:hover{background:var(--surface-2)}
  .ml-row[aria-expanded="true"]{background:var(--tile-bg)}
  .ml-name{min-width:0}
  .ml-name b{display:block;font:400 15px Georgia,serif}
  .ml-name small{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ml-count{display:inline-flex;align-items:center;gap:10px;flex:none;font-size:11.5px;color:var(--muted);white-space:nowrap}
  .ml-count .ml-chev{display:inline-grid;place-items:center;transition:transform .15s}
  .ml-row[aria-expanded="true"] .ml-chev{transform:rotate(180deg)}
  .ml-row.is-empty .ml-name b{color:var(--muted)}
  .ml-panel{padding:4px 4px 18px;background:var(--tile-bg)}
  .ml-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .ml-card{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0}
  .ml-card.is-completed{background:var(--surface-2)}
  .ml-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
  .ml-title{font:400 15px Georgia,serif;color:var(--ink);overflow-wrap:anywhere}
  .ml-card.is-completed .ml-title{color:var(--muted);text-decoration:line-through;text-decoration-color:#cdbfb8}
  .ml-rename{display:flex;gap:8px;flex:1;min-width:0}
  .ml-name-input{flex:1;min-width:0}
  .ml-url{font-size:11px;color:var(--muted);word-break:break-all}
  .ml-url:hover{color:var(--rose-ink)}
  .ml-tag{flex:none;font-size:10px;padding:3px 7px;border-radius:6px;background:var(--line-soft);color:var(--muted);white-space:nowrap}
  .ml-tag.ok{background:var(--pill-ok-bg);color:var(--pill-ok-text)}
  .ml-progress{display:flex;flex-direction:column;gap:5px}
  .ml-track{height:6px;border-radius:3px;background:var(--track);overflow:hidden}
  .ml-track span{display:block;height:100%;border-radius:inherit;background:#d49a3c}
  .ml-track span.full{background:#7fa86f}
  .ml-progress-label{font-size:11px;color:var(--muted)}
  .ml-progress-label .ledger-figure{font-size:15px;color:var(--ink)}
  .ml-meta{font-size:10.5px;color:var(--muted)}
  .ml-card .ml-status{display:inline-flex;align-self:flex-start;gap:0;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:8px;padding:3px}
  .ml-card .ml-status .seg-opt{border:0;background:none;border-radius:6px;padding:5px 11px;font-size:11px;color:var(--muted)}
  .ml-card .ml-status .seg-opt.checked{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(69,42,29,.12)}
  .ml-card .ml-status .seg-opt::before,.ml-card .ml-status .seg-opt::after{display:none}
  .ml-panel .empty{padding:14px 4px}
  @media(max-width:1000px){.ml-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ml-strip > div{border-bottom:1px solid var(--line-soft)}.ml-strip > div:nth-child(3){padding-left:0}}
  @media(max-width:760px){.ml-cards{grid-template-columns:minmax(0,1fr)}.ml-bar #ml-search{width:100%}.ml-count .ml-sum{display:none}}
  @media(prefers-reduced-motion:reduce){.ml-row,.ml-chip,.ml-chev{transition:none}}

.ml-add{display:flex;gap:8px;margin:0 0 12px}
.ml-add-url{flex:1;min-width:0}
.ml-remove{margin-top:8px;justify-self:start}
/* Removed CHWs stay listed through their 30-day hold so their logs can be handed on. */
.ml-tag.removed{display:inline-block;vertical-align:2px;margin-left:6px;font:500 10px Inter,ui-sans-serif,sans-serif;background:var(--amber-soft);color:var(--amber)}
.ml-removed-note{margin:0 0 12px;padding:9px 12px;border-radius:8px;background:var(--amber-soft);color:#7a4c1c;font-size:12px;line-height:1.45}
.ml-note{margin:0 0 12px;font-size:12px;color:var(--pill-ok-text)}
.ml-reassign{display:flex;gap:8px;margin-top:8px}
.ml-reassign-to{flex:1;min-width:0}

/* Search hides rows in place (master_logs.js applySearch). */
#ml-list li[hidden], .ml-list li[hidden]{display:none}
.ml-failures{margin:0 0 14px;font-size:12px;color:var(--muted)}
.ml-failures summary{cursor:pointer;color:var(--ink);font-weight:600}
.ml-failures ul{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}
.ml-failures b{color:var(--ink);font-weight:600}
