/* ---------- scope banner (external links) ---------- */
.scope{background:var(--surface);border-bottom:1px solid var(--line);padding:12px var(--gutter)}
.scope-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;margin-bottom:8px}
.scope-title .icon{color:var(--primary)}
.scope-grid{display:flex;flex-wrap:wrap;gap:6px 0}
.scope-item{padding:0 20px 0 0;margin-right:20px;border-right:1px solid var(--line);min-width:0}
.scope-item:last-child{border-right:0;margin-right:0}
.scope-item dt{font-size:12px;color:var(--muted);line-height:16px}
.scope-item dd{margin:0;font-weight:500;font-size:13px;line-height:18px}
@media (max-width:700px){.scope-item{width:50%;border:0;margin:0;padding:0 8px 6px 0}}

/* ---------- toolbar ---------- */
.toolbar{background:var(--surface);border-bottom:1px solid var(--line);padding:12px var(--gutter) 14px}
.toolbar form{display:flex;flex-direction:column;gap:10px}
.tb-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.tb-row .grow{flex:1 1 260px;min-width:200px}
.tb-row .w-mode{flex:0 0 150px}
.tb-row .w-date{flex:0 0 150px}
.tb-row .w-sel{flex:0 1 170px;min-width:130px}
.tb-row .w-amt{flex:0 0 130px}
.tb-row .w-num{flex:0 1 220px}
.search-box{position:relative}
.search-box .icon{position:absolute;left:10px;top:50%;margin-top:-8px;color:var(--muted);pointer-events:none}
.search-box .input{padding-left:32px}
.tb-check{height:34px;align-items:center}
.tb-actions{display:flex;gap:8px;align-items:center;margin-left:auto}
.tb-filter-toggle{display:none}
.tb-error{margin-top:2px}
@media (max-width:700px){
  .toolbar{padding:10px var(--gutter) 12px}
  .tb-row .w-mode,.tb-row .w-date{flex:1 1 130px}
  .tb-row .w-sel,.tb-row .w-amt{flex:1 1 130px}
  .tb-filter-toggle{display:inline-flex}
  .tb-more{display:none}
  .tb-more.open{display:flex}
  .input,.select,.btn{height:40px}
  .btn-sm{height:32px}
}

/* ---------- results ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
.list-pane{min-width:0;padding:14px var(--gutter) 28px;display:flex;flex-direction:column;gap:10px}
.results-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:30px}
.results-status{color:var(--muted);font-size:13px}
.results-status strong{color:var(--ink);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fchip{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 4px 0 9px;border:1px solid #CBE5C6;background:var(--tint);color:var(--ink);border-radius:var(--radius-sm);font-size:12px;cursor:pointer}
.fchip b{font-weight:600}
.fchip .icon{width:14px;height:14px;color:var(--muted)}
.fchip:hover{background:#E1F0DD}
.results .table-wrap{overflow:clip}
.tbl-results{table-layout:auto}
.tbl-results th{top:var(--topbar-h)}
.tbl-results td{padding:7px 12px;vertical-align:middle}
.tbl-results tbody tr{cursor:pointer}
.tbl-results tbody tr:hover td{background:var(--hover)}
.tbl-results tbody tr[aria-current="true"] td{background:var(--tint)}
.tbl-results tbody tr[aria-current="true"] td:first-child{box-shadow:inset 3px 0 0 var(--brand)}
.tbl-results tbody tr.kbd td{background:var(--hover)}
.row-link{padding:0;border:0;background:none;font-weight:600;color:var(--ink);cursor:pointer;text-align:left;font-size:13px;line-height:18px;border-radius:2px}
.row-link:hover{color:var(--primary);text-decoration:underline}
.cell-trunc{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-amt{text-align:right;white-space:nowrap}
.c-time{white-space:nowrap}
.money{font-variant-numeric:tabular-nums;font-weight:500}
.flag-count{display:inline-flex;align-items:center;gap:4px}
.pdf-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--primary)}
.pdf-link:hover{background:var(--tint)}
.pdf-none{color:var(--muted)}
.tbl-results.no-patient .c-pat{display:none}
.load-more{display:flex;justify-content:center;padding:6px 0}

/* skeleton rows + states */
.state{padding:44px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.state h3{font-size:15px}
.state p{color:var(--muted);max-width:46ch}
.state .btn{margin-top:8px}

/* ---------- detail panel ---------- */
.panel{background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:0;min-height:0}
.panel[hidden]{display:none!important}
.scrim{display:none}
@media (min-width:1100px){
  .split.has-panel{grid-template-columns:minmax(0,1fr) var(--panel-w)}
  .panel{position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));align-self:start}
}
@media (min-width:1100px){
  .has-panel .c-pdf{display:none}
  .has-panel .tbl-results th,.has-panel .tbl-results td{padding-left:10px;padding-right:10px}
  .has-panel .cell-trunc{max-width:130px}
}
@media (min-width:1100px) and (max-width:1319px){.has-panel .c-pat{display:none}}
@media (min-width:1100px) and (max-width:1199px){.has-panel .c-clinic{display:none}}
@media (max-width:1099px){
  .tbl-results th,.tbl-results td{padding-left:8px;padding-right:8px}
  .cell-trunc{max-width:140px}
  .panel{position:fixed;top:var(--topbar-h);right:0;bottom:0;width:min(640px,94vw);z-index:40;box-shadow:-10px 0 30px rgba(27,36,32,.16)}
  .scrim{display:block;position:fixed;left:0;right:0;bottom:0;top:var(--topbar-h);z-index:35;background:rgba(27,36,32,.38)}
  .scrim[hidden]{display:none}
}
@media (max-width:699px){
  .panel{top:0;width:100vw;z-index:60;border-left:0;box-shadow:none}
  .scrim{display:none!important}
}
.p-head{padding:14px 20px 0;border-bottom:1px solid var(--line);flex:none}
.p-title{display:flex;align-items:flex-start;gap:12px}
.p-title h2{font-size:18px;line-height:24px;word-break:break-all;flex:1;min-width:0;outline:none}
.p-sub{color:var(--muted);font-size:13px;margin-top:2px;display:flex;flex-wrap:wrap;gap:2px 8px}
.p-sub span+span::before{content:"·";margin-right:8px}
.p-amount{font-size:22px;line-height:30px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:8px;letter-spacing:-.01em}
.p-meta{font-size:13px;color:var(--muted);margin-top:2px}
.p-flags{margin-top:8px}
.tabs{display:flex;gap:4px;margin-top:10px;margin-bottom:-1px}
.tab{padding:9px 12px;border:0;background:none;color:var(--muted);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;display:inline-flex;gap:6px;align-items:center;font-size:14px;border-radius:0}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{color:var(--ink);font-weight:600;border-bottom-color:var(--brand)}
.p-body{flex:1;min-height:0;overflow:auto}
.p-pane{min-height:0}
.p-pane.pdf{height:100%;display:flex;flex-direction:column}
.dsec{padding:16px 20px;border-bottom:1px solid var(--line)}
.dsec:last-child{border-bottom:0}
.dsec>h3{margin-bottom:10px}
.dsec .tbl th{position:static;background:none;padding:6px 8px 6px 0;border-bottom:1px solid var(--line)}
.dsec .tbl td{padding:7px 8px 7px 0}
.dsec .tbl th:last-child,.dsec .tbl td:last-child{padding-right:0}
.dsec .tbl tfoot td{font-weight:600;border-bottom:0;border-top:1px solid var(--line)}
.flaglist{display:flex;flex-direction:column;gap:12px}
.flaglist li{position:relative;padding-left:16px}
.flaglist li::before{content:"";position:absolute;left:2px;top:7px;width:6px;height:6px;border-radius:1px;background:var(--warn)}
.flaglist li.info::before{background:var(--info)}
.flaglist li.high::before{background:var(--danger)}
.flaglist b{display:block;font-weight:600;font-size:13px;line-height:18px}
.flaglist span{display:block;color:var(--muted);font-size:13px;line-height:19px}
.basis{margin-top:10px;padding:8px 10px;background:var(--canvas);border-radius:var(--radius-sm);font-size:12px;line-height:18px;color:var(--muted)}
details.raw summary{cursor:pointer;color:var(--primary);font-weight:500;font-size:13px}
details.raw pre{margin:8px 0 0;max-height:320px;overflow:auto;background:#F8FAF8;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px;white-space:pre-wrap;word-break:break-word}
.pdf-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line);flex:none}
.pdf-notice{padding:0 20px;margin-top:10px;flex:none}
.pdf-host{flex:1;min-height:280px;display:flex;flex-direction:column;margin:12px 20px 20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#F3F5F4;overflow:hidden}
.pdf-host iframe{flex:1;width:100%;min-height:420px;border:0;background:#fff}
.pdf-placeholder{margin:auto;padding:24px;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center;color:var(--muted)}
.pdf-placeholder h3{color:var(--ink)}

@media (max-width:699px){
  /* stacked rows */
  .results .table-wrap{border-left:0;border-right:0;border-radius:0;margin:0 calc(var(--gutter) * -1)}
  .tbl-results thead{display:none}
  .tbl-results,.tbl-results tbody{display:block}
  .tbl-results tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"inv amt" "time flag" "clinic pdf" "pat pat";gap:2px 12px;padding:10px var(--gutter);border-bottom:1px solid var(--line)}
  .tbl-results tbody tr:last-child{border-bottom:0}
  .tbl-results td{display:block;padding:0;border:0;min-width:0}
  .tbl-results td.c-inv{grid-area:inv}
  .tbl-results td.c-amt{grid-area:amt}
  .tbl-results td.c-time{grid-area:time;color:var(--muted);font-size:12px}
  .tbl-results td.c-flag{grid-area:flag;text-align:right}
  .tbl-results td.c-clinic{grid-area:clinic;font-size:12px}
  .tbl-results td.c-pdf{grid-area:pdf;text-align:right}
  .tbl-results td.c-pat{grid-area:pat;font-size:12px}
  .tbl-results.no-patient td.c-pat{display:none}
  .tbl-results tbody tr[aria-current="true"]{box-shadow:inset 3px 0 0 var(--brand)}
  .tbl-results tbody tr[aria-current="true"] td:first-child{box-shadow:none}
  .cell-trunc{max-width:none;display:inline}
  .tbl-results td.c-clinic .sub,.tbl-results td.c-pat .sub{display:inline}
  .tbl-results td.c-clinic .sub::before,.tbl-results td.c-pat .sub::before{content:" · "}
  .tbl-results td.c-clinic,.tbl-results td.c-pat{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tbl-results th,.tbl-results td{padding-left:0;padding-right:0}
  .tbl-results tbody tr{padding-left:var(--gutter);padding-right:var(--gutter)}
  .btn-icon.btn-sm{width:40px;height:40px}
  .p-head,.dsec{padding-left:16px;padding-right:16px}
  .pdf-bar{padding:12px 16px}
  .pdf-notice{padding:0 16px}
  .pdf-host{margin:12px 16px 16px}
}

.tbl-results.no-flags .c-flag{display:none}
