/* ---------- report & admin pages ---------- */
.sec{display:flex;flex-direction:column;gap:10px}
.sec-intro{color:var(--muted);max-width:78ch}
.cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px;align-items:start}
@media (max-width:900px){.cols{grid-template-columns:minmax(0,1fr)}}
.status-slot:empty{display:none}
.skeleton-block{padding:4px 0}

/* figure strip: hairline-separated numbers, not cards */
.figures{display:flex;flex-wrap:wrap;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.fig{flex:1 1 200px;padding:14px 18px;border-right:1px solid var(--line);margin:0 -1px -1px 0;border-bottom:1px solid var(--line);min-width:0}
.fig-label{font-size:12px;line-height:16px;color:var(--muted);font-weight:500}
.fig-value{margin:2px 0 0;font-size:22px;line-height:30px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em;word-break:break-word}
.fig-value a{color:var(--ink);text-decoration-color:var(--line-strong)}
.fig-value a:hover{color:var(--primary)}
.fig-sub{margin:0;font-size:12px;line-height:16px;color:var(--muted)}

/* admin sub navigation */
.subnav{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-top:-4px;overflow-x:auto}
.subnav a{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;color:var(--muted);text-decoration:none;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.subnav a:hover{color:var(--ink);background:var(--hover)}
.subnav a[aria-current="page"]{color:var(--ink);font-weight:600;border-bottom-color:var(--brand)}

/* table helpers */
.col-finding{min-width:200px}
.col-finding strong{font-weight:600}
.col-interp{min-width:260px;max-width:460px;color:var(--ink)}
.samples{display:flex;flex-direction:column;gap:2px}
.inline-list li{padding:1px 0}
.bullets{list-style:disc;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--ink);max-width:90ch}
.mono-ish{font-size:13px;white-space:nowrap}
.row.end{justify-content:flex-end;flex-wrap:nowrap}
.tbl td.r{white-space:nowrap}
.self-chip{margin-left:6px}
.pin-chip,.patient-chip{margin-top:4px;display:flex;width:fit-content}
.wrap-any{word-break:break-all;max-width:240px}
.audit-detail{color:var(--muted);font-size:12px;line-height:17px;max-width:340px;word-break:break-word}
.audit-filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.audit-filters .field{flex:0 1 260px;min-width:180px}
details.raw summary{cursor:pointer;color:var(--primary);font-weight:500}
.tbl details.raw pre{max-width:420px}
.raw-wrap{margin-top:14px}

/* dialogs: forms */
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
@media (max-width:560px){.grid2{grid-template-columns:minmax(0,1fr)}}
.hours{width:110px;flex:none}
.presets{gap:6px}
.preset[aria-pressed="true"]{background:var(--tint);border-color:var(--primary);color:var(--primary);font-weight:600}
.checklist{display:flex;flex-direction:column;gap:6px;max-height:160px;overflow:auto;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);margin-top:4px}
fieldset.field .input[type="search"]{margin-top:4px}
.role-desc{padding:8px 10px;background:var(--canvas);border-radius:var(--radius-sm);font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.chips-inline{display:flex;flex-wrap:wrap;gap:4px}
.mono-input{font-family:var(--mono);font-size:12px}
.nowrap-row{flex-wrap:nowrap}
.nowrap-row .input{flex:1}
.copy-state{min-height:18px;font-size:12px;color:var(--primary)}

.fig-value.sm{font-size:17px;line-height:26px;margin-top:5px}

@media (max-width:700px){
  .tbl-stack thead{display:none}
  .tbl-stack,.tbl-stack tbody{display:block}
  .tbl-stack tbody tr{display:block;padding:12px 14px;border-bottom:1px solid var(--line)}
  .tbl-stack tbody tr:last-child{border-bottom:0}
  .tbl-stack td{display:block;padding:4px 0;border:0}
  .tbl-stack td[data-label]::before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;line-height:14px;text-transform:none}
  .tbl-stack td.r{justify-content:flex-start;padding-top:8px}
  .tbl-stack td .sub{display:block}
  .row.end{justify-content:flex-start;flex-wrap:wrap}
  .audit-detail,.wrap-any{max-width:none}
}

/* addresses stay on one line; the table scrolls instead of splitting an e-mail in half */
.mono-ish{white-space:nowrap}
