/* BN22 Claims & Revenue — module styles. Uses RC3 design tokens (--paper/--panel/
   --ink/--line/--green/--red/--yellow/--blue/--accent/--brand), light + dark. */
.clm-wrap{max-width:1080px;margin:0 auto;padding:12px 12px 96px}
.clm-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 2px 10px}
.clm-h h1{font-size:18px;margin:0;color:var(--ink);font-weight:700}
.clm-sub{color:var(--mut);font-size:12px}

/* role simulation banner */
.clm-rolebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;padding:8px 10px;margin-bottom:10px}
.clm-rolebar .warn{font-size:11px;color:var(--orange);font-weight:700;letter-spacing:.02em}
.clm-rolebar select{font:inherit;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}

/* summary tiles */
.clm-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.clm-tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.clm-tile .k{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}
.clm-tile .v{font-size:18px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:2px}
.clm-tile.pos .v{color:var(--green)} .clm-tile.warn .v{color:var(--orange)} .clm-tile.info .v{color:var(--blue)}

/* filters */
.clm-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.clm-filters input,.clm-filters select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}

/* cards + register */
.clm-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}
.clm-card h2{font-size:14px;margin:0 0 8px;color:var(--ink)}
.clm-reg{width:100%;border-collapse:collapse;font-size:13px}
.clm-reg th,.clm-reg td{text-align:left;padding:8px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.clm-reg th{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}
.clm-reg td.num,.clm-reg th.num{text-align:right;font-variant-numeric:tabular-nums}
.clm-reg tr[data-open]{cursor:pointer}
.clm-reg tr[data-open]:hover td{background:color-mix(in srgb,var(--accent) 8%,transparent)}

/* badges */
.badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.badge.none{color:var(--mut)} .badge.partial{color:#8a5a00;border-color:var(--yellow);background:color-mix(in srgb,var(--yellow) 16%,transparent)}
.badge.full{color:var(--green);border-color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}
.badge.paid{color:var(--green);border-color:var(--green)} .badge.pending{color:var(--mut)}
.badge.inv{color:var(--blue);border-color:var(--blue)} .badge.unknown{color:var(--orange);border-color:var(--orange)}
.badge.void{color:var(--red);border-color:var(--red)}

/* buttons */
.btn{font:inherit;font-size:13px;padding:7px 12px;border-radius:9px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.sm{padding:4px 9px;font-size:12px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}

/* wizard */
.wz-steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.wz-step{font-size:12px;color:var(--mut);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.wz-step.on{color:#fff;background:var(--accent);border-color:var(--accent)}
.wz-step.done{color:var(--green);border-color:var(--green)}
.field{margin-bottom:10px}
.field label{display:block;font-size:12px;color:var(--ink2);margin-bottom:3px}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:14px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);box-sizing:border-box}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reconcile{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:14px;font-variant-numeric:tabular-nums}
.reconcile .lab{color:var(--ink2)} .reconcile .v{text-align:right;font-weight:600;color:var(--ink)}
.reconcile .ok{color:var(--green)} .reconcile .bad{color:var(--red)}

/* line editor rows */
.lnrow{display:grid;grid-template-columns:1fr 90px 110px 90px 110px auto;gap:6px;align-items:end;margin-bottom:6px}
.lnrow .amt{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;padding-bottom:8px}
.grp-head{font-weight:700;color:var(--ink);margin:10px 0 4px;font-size:13px}

/* dup + notices */
.notice{border-radius:10px;padding:10px 12px;font-size:13px;margin:8px 0;border:1px solid var(--line)}
.notice.warn{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 12%,transparent);color:var(--ink)}
.notice.block{border-color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--ink)}
.notice.info{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--ink)}
.notice b{display:block;margin-bottom:2px}

/* FOT card claim section */
.fot-claim{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px}
.fot-claim .lab{font-size:10px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em}
.fot-claim .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:3px;font-size:12px;color:var(--ink2)}
.fot-claim .cbu{color:var(--orange);font-weight:600}

/* audit */
.audit{font-size:12px;color:var(--ink2)}
.audit .ev{display:flex;gap:8px;padding:4px 0;border-bottom:1px solid var(--line)}
.audit .ev .t{color:var(--mut);white-space:nowrap;font-variant-numeric:tabular-nums}

.mono{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--ink2);word-break:break-all}

/* responsive: stack the register + wizard on narrow screens */
@media(max-width:720px){
  .clm-tiles{grid-template-columns:1fr 1fr}
  .grid2{grid-template-columns:1fr}
  .lnrow{grid-template-columns:1fr 1fr;gap:6px}
  .clm-reg thead{display:none}
  .clm-reg,.clm-reg tbody,.clm-reg tr,.clm-reg td{display:block;width:auto}
  .clm-reg tr{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;padding:6px}
  .clm-reg td{border:0;padding:3px 6px}
  .clm-reg td::before{content:attr(data-l);display:inline-block;min-width:110px;color:var(--mut);font-size:11px;text-transform:uppercase}
  .clm-reg td.num{text-align:left}
}

/* PDF auto-extraction review panel */
.ex-tbl{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0}
.ex-tbl th,.ex-tbl td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.ex-tbl th{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}
.ex-tbl td.r,.ex-tbl th.r{text-align:right;font-variant-numeric:tabular-nums}
.ex-raw{white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.4;color:var(--mut);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px;max-height:40vh;overflow:auto;margin-top:6px}
