.med-row { border: 1px solid var(--line); border-radius: 8px; padding: 14px; margin-bottom: 12px; background: var(--bg); }
.med-row .grid { gap: 12px; }
.med-times { display: flex; flex-wrap: wrap; gap: 4px 20px; margin-top: 8px; }
.med-remove { margin-top: 10px; min-height: 44px; border-color: var(--line); color: var(--ink-2); }
.chart-title { font-size: 1.4rem; font-weight: 800; margin: 0 0 4px; }
.chart-sub { margin: 0 0 12px; color: var(--muted); }
.chart-table th, .chart-table td { border: 1.5px solid var(--ink-2); padding: 8px; }
.chart-table th { background: var(--accent-soft); color: var(--ink); font-size: 1rem; text-align: center; }
.chart-table td.box { width: 9%; height: 48px; }
.chart-table .time-head td { background: var(--line); font-weight: 800; font-size: 1.05rem; }
.chart-table .med-name { font-weight: 700; font-size: 1.05rem; }
.chart-table .med-note { display: block; font-weight: 400; font-size: 0.9rem; color: var(--ink-2); }
.empty { padding: 20px; text-align: center; color: var(--muted); border: 2px dashed var(--line); border-radius: 8px; }
@media print {
  @page { size: landscape; margin: 12mm; }
  .chart-table th, .chart-table td { border-color: #000 !important; }
  .chart-table th, .chart-table .time-head td { background: #eee !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .chart-title { font-size: 20pt; }
  .med-name { font-size: 14pt; }
}
