/* ==========================================================================
   RPM billing worklist — existing SmartCare tokens only, no new palette.

   styles.css sets `width: 100%` on every input, which previously stretched
   checkboxes across the card. Anything interactive here therefore gets an
   explicit width back.
   ========================================================================== */

/* ---- month picker in the topbar ---------------------------------------- */
.bw-month { display: flex; align-items: center; gap: 8px; font-size: 13px;
            color: var(--muted); white-space: nowrap; }
.bw-month select { width: auto; min-width: 170px; font: inherit; }

/* ---- summary strip ----------------------------------------------------- */
.bw-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 12px; margin-bottom: 16px; }
.bw-stat { background: var(--surface); border: 1px solid var(--line);
           border-radius: var(--radius-sm); padding: 14px 16px;
           display: flex; flex-direction: column; gap: 2px; }
.bw-stat .bw-n { font-size: 26px; font-weight: 700; line-height: 1.1; }
.bw-stat .bw-l { font-size: 12.5px; color: var(--muted); text-transform: uppercase;
                 letter-spacing: .04em; }
.bw-stat.go .bw-n { color: var(--go); }
.bw-stat.warn .bw-n { color: var(--warn); }

.bw-head-actions { display: flex; gap: 8px; }

/* ---- table ------------------------------------------------------------- */
.bw-table td, .bw-table th { vertical-align: top; }
.bw-table .num { text-align: right; white-space: nowrap; }
.bw-table tr.ready td:first-child { box-shadow: inset 3px 0 0 var(--go); }
.bw-table tr.blocked td:first-child { box-shadow: inset 3px 0 0 var(--warn); }
.bw-table tr.done td:first-child { box-shadow: inset 3px 0 0 var(--line); }

/* The explanation column carries the sentences, so it gets the room. Other
   columns stay narrow enough that the numbers line up at a glance. */
.bw-action-text { font-size: 13.5px; line-height: 1.5; color: var(--ink-soft);
                  min-width: 220px; max-width: 460px; }
.bw-cell-btn { text-align: right; white-space: nowrap; }

.bw-yes { color: var(--go); font-weight: 600; }
.bw-no  { color: var(--muted); }
.bw-bad { color: var(--brand-red); }
.bw-lock { margin-left: 5px; font-size: 11px; opacity: .65; }

/* ---- CPT chips --------------------------------------------------------- */
.bw-code { display: inline-block; font-variant-numeric: tabular-nums;
           font-size: 12.5px; font-weight: 650; padding: 2px 7px;
           border-radius: 999px; background: var(--accent-soft); color: var(--ink);
           white-space: nowrap; }
.bw-code.done { background: var(--surface); color: var(--muted);
                border: 1px solid var(--line); }
.bw-code.bad { background: var(--warn-soft); color: var(--warn); }

/* ---- modal ------------------------------------------------------------- */
.bw-h3 { font-size: 13px; font-weight: 650; text-transform: uppercase;
         letter-spacing: .04em; color: var(--muted); margin: 18px 0 8px; }
.bw-next { background: var(--surface); border-left: 3px solid var(--accent-soft);
           padding: 10px 13px; border-radius: var(--radius-sm); margin: 0 0 14px;
           font-size: 14.5px; line-height: 1.5; }
.bw-list { list-style: none; margin: 0; padding: 0; }
.bw-list li { padding: 8px 0; border-bottom: 1px solid var(--line); }
.bw-list li:last-child { border-bottom: none; }

.bw-mini { width: 100%; border-collapse: collapse; margin: 4px 0 0; }
.bw-mini td { padding: 7px 8px; border-bottom: 1px solid var(--line);
              font-size: 13.5px; vertical-align: top; }
.bw-mini tr:last-child td { border-bottom: none; }
.bw-mini .num { text-align: right; white-space: nowrap; }

.bw-warn { background: var(--warn-soft); color: var(--warn); font-size: 13.5px;
           line-height: 1.55; padding: 12px 14px; border-radius: var(--radius-sm);
           margin: 16px 0 0; }

/* Explicit width, or styles.css stretches the box across the modal. */
.bw-ack { display: flex; gap: 10px; align-items: flex-start; cursor: pointer;
          font-size: 13.5px; line-height: 1.5; color: var(--ink);
          margin: 14px 0 0; }
.bw-ack input[type="checkbox"] { width: 16px; min-width: 16px; height: 16px;
                                 margin: 2px 0 0; flex: none; }

.bw-foot { font-size: 12.5px; color: var(--muted); line-height: 1.6;
           margin: 14px 2px 0; max-width: 78ch; }

@media (max-width: 900px) {
  .bw-table .bw-action-text { min-width: 0; }
  .bw-month { font-size: 12px; }
  .bw-month select { min-width: 140px; }
}
