/* ── Medications · Medication schedules · Medication pass · Drug information ──
   Section-specific rules; everything else comes from app.css. */

/* Underlined tab row (drug information, pass views on narrow screens) */
.utabs{display:flex;gap:4px;border-bottom:1px solid var(--rule);flex-wrap:wrap;margin-bottom:16px}
.utabs .btn.ghost{border-radius:8px 8px 0 0}
.utabs .btn.ghost.on{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}

/* Banners: the overdue line on the pass, the allergy line, review checks */
.banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-radius:8px;font-size:13.5px;margin-bottom:12px}
.banner.crit{background:var(--crit-soft);color:var(--crit)}
.banner.warn{background:var(--warn-soft);color:var(--warn)}
.banner.info{background:var(--info-soft);color:var(--info)}
.banner.acc{background:var(--accent-soft);color:var(--accent)}
.banner a{color:inherit;text-decoration:underline}
.banner .sp{flex:1}
.banner .btn.crit{background:var(--crit);border-color:var(--crit);color:#fff}

/* Year timeline on the schedules page */
.yr{position:relative;background:var(--surface-2);border-radius:8px;min-height:48px}
.yr .bar{position:absolute;height:16px;border-radius:8px;cursor:pointer;min-width:6px;background:var(--rule)}
.yr .bar.active{background:var(--accent)} .yr .bar.upcoming{background:var(--info)}
.yr .now{position:absolute;top:0;bottom:0;width:2px;background:var(--crit)}
.yr-months{display:flex;justify-content:space-between;margin-top:4px}
.blk-n{width:22px;height:22px;border-radius:50%;background:var(--rule);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}
.blk-n.active{background:var(--accent)} .blk-n.upcoming{background:var(--info)}
.sched-card{padding:10px 12px;border:1px solid var(--rule);border-radius:8px}
.sched-card.expired{opacity:.55}

/* Week record (MAR) cells */
.mar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:6px;font-weight:700;font-family:var(--f-data);font-size:13px;cursor:pointer}
.mar.g{background:var(--good-soft);color:var(--good)}
.mar.l,.mar.h{background:var(--warn-dot);color:#fff}
.mar.s{background:var(--faint);color:#fff}
.mar.m{background:var(--crit);color:#fff}
.mar.o{color:var(--faint)}
.mar.n{color:var(--rule);cursor:default}
.mar.p{background:var(--info-soft);color:var(--info)}

/* Dose cards on the pass */
.dose.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.dose input[type=checkbox]{margin:0 -2px 0 0}
.dose .meta{font-size:12.5px;color:var(--muted)}
.dose .warnline{font-size:12.5px;color:var(--warn)}
.dose .meta .num{font-family:var(--f-data)}
.dose .n a{color:inherit;text-decoration:none}
.dose .n a:hover{text-decoration:underline}

/* Look-up hits */
.hit{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;cursor:pointer}
.hit:hover{border-color:var(--accent);background:var(--surface-2)}
.hit.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.hit .num{font-family:var(--f-data)}

/* Steps header row */
.step-lbl{display:flex;align-items:center;gap:8px;padding:8px 22px 0;color:var(--muted);font-size:13px}

/* Printable medication list */
.print-sheet{max-width:860px;background:#fff;color:#111;padding:28px 32px;border:1px solid var(--rule);border-radius:6px;font-family:var(--f-ui);font-size:13px;line-height:1.45}
.print-sheet h1{font-size:18px;margin:0 0 2px}
.print-sheet .sub{color:#555;margin-bottom:10px}
.print-sheet .allergy{color:#a00;font-weight:700;margin:8px 0 12px}
.print-sheet table{width:100%;border-collapse:collapse}
.print-sheet th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#555;border-bottom:1px solid #999;padding:4px 6px}
.print-sheet td{padding:6px;border-bottom:1px solid #e5e5e5;vertical-align:top}
.print-sheet .grp td{background:#f3f3f3;font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#555;padding:4px 6px}
.print-sheet .foot{color:#777;font-size:11px;margin-top:12px;border-top:0;padding:0}
/* The week record on paper — the MAR a nurse signs. Boxes, not ticks: the
   initials go in them, and the blank next-week sheet prints the same rows with
   every box empty. */
.mar-sheet{width:100%;border-collapse:collapse;margin-top:6px}
.mar-sheet th{text-align:left;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:#555;border-bottom:1px solid #999;padding:4px 5px;vertical-align:bottom}
.mar-sheet th.c,.mar-sheet td.c{text-align:center;width:8%}
.mar-sheet th .dt{font-weight:400;letter-spacing:0;text-transform:none;color:#777}
.mar-sheet td{padding:5px;border-bottom:1px solid #ddd;vertical-align:middle;font-size:12px}
.mar-sheet .box{display:inline-block;min-width:26px;height:20px;line-height:19px;border:1px solid #999;border-radius:3px;font-family:var(--f-data);font-size:11px;font-weight:700;color:#111}
.pagebreak{break-before:page;page-break-before:always;height:18px}

@media print{
  .side,.top,.secbar,.drawer,.scrim,.toast,.no-print,.side-scrim{display:none!important}
  .shell{display:block}
  .main{padding:0}
  .print-sheet{border:0;padding:0;max-width:none}
  .mar-sheet{font-size:10.5px}
  .mar-sheet .box{min-width:22px}
  body{background:#fff}
}
