/* Pflegetagebuch tool + print. Tokens come from site.css. No inline styles (CSP). */
.tb { display: grid; gap: var(--space-4); margin-block: var(--space-5); min-width: 0; }
.tb * { min-width: 0; }
.tb-tabs { display: flex; border: 2px solid var(--line); border-radius: var(--radius-input); overflow: hidden; background: var(--surface); }
.tb-tabs [role="tab"] {
  flex: 1 1 auto; min-height: var(--target); padding: 8px var(--space-2); white-space: nowrap;
  background: var(--surface); color: var(--teal); border: 0; border-radius: 0;
  font: inherit; font-size: var(--fs-small); font-weight: 600; cursor: pointer;
}
.tb-tabs [role="tab"] + [role="tab"] { border-inline-start: 2px solid var(--line); }
.tb-tabs [role="tab"][aria-selected="true"] { background: var(--teal); color: var(--surface); }
.tb-tabs [role="tab"]:focus-visible { outline: 3px solid var(--teal); outline-offset: -5px; }
.tb-tabs [role="tab"][aria-selected="true"]:focus-visible { outline-color: var(--surface); }
@media (min-width: 40rem) { .tb-tabs [role="tab"] { font-size: var(--fs-body); } }
.tb-panel { display: grid; gap: var(--space-3); }
.tb-panel > * { margin-block: 0; }
.tb-limits { padding: var(--space-3) var(--space-4); }
.tb-limits > p { margin: 0; }
.tb-panel[hidden], .tb [hidden] { display: none; }
#tb-form { display: grid; gap: var(--space-3); }
#tb-form textarea { min-height: 5.5rem; }
.tb-more { border: 0; }
textarea { font-family: inherit; resize: vertical; }
.tb-radio { display: inline-flex; gap: var(--space-2); align-items: center; min-height: var(--target); margin-inline-end: var(--space-4); font-weight: 600; }
.tb-radio input, .tb-num input[type="checkbox"] { width: 24px; height: 24px; accent-color: var(--teal); }
.tb-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
.tb-entry { display: grid; gap: var(--space-2); overflow-wrap: anywhere; }
.tb-entry p { margin: 0; }
.tb-mod { background: var(--surface); border: 2px solid var(--line); border-radius: var(--radius-card); padding: var(--space-3) var(--space-4); margin-block-end: var(--space-3); }
.tb-body { display: grid; gap: var(--space-3); margin-block-start: var(--space-2); }
.tb-body select { text-overflow: ellipsis; }
.tb-gate, .tb-crit { border: 2px solid var(--line); border-radius: var(--radius-input); padding: var(--space-3); margin: 0; }
.tb-gate legend, .tb-crit legend { font-weight: 600; padding-inline: var(--space-2); }
.tb-nums { display: grid; grid-template-columns: repeat(auto-fit, minmax(5.5rem, 1fr)); gap: var(--space-3); }
.tb-group { display: grid; gap: var(--space-3); }
.tb-sum { font-weight: 600; margin: 0; }
.tb-result { margin-block-start: var(--space-4); display: grid; gap: var(--space-3); }
.tb-result p { margin: 0; }
.tb-table th, .tb-table td { overflow-wrap: anywhere; }
.tb-off th, .tb-off td { color: var(--ink-2); background: var(--teal-tint); }
.tb-actions { display: grid; gap: var(--space-3); }
.tb-actions .btn { width: 100%; }
@media (min-width: 40rem) { .tb-actions { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); } }

/* ---------- Print: #tb-printwrap is filled by tagebuch.js; shown only when body[data-print] ---------- */
#tb-printwrap { display: none; }
@page { size: A4 landscape; margin: 12mm; }
@media print {
  body[data-print] :is(.site-header, .site-footer) { display: none; }
  body[data-print] main > :not(#tb-printwrap) { display: none; }
  body[data-print] #tb-printwrap { display: block; font-size: 11pt; color: #000; background: #fff; }
  body[data-print] { background: #fff; }
  #tb-printwrap h1 { font-size: 18pt; margin: 0 0 6pt; }
  #tb-printwrap h2 { font-size: 13pt; margin: 10pt 0 4pt; }
  #tb-printwrap p, #tb-printwrap li { font-size: 10.5pt; margin: 2pt 0; line-height: 1.35; }
  .tb-ptable, #tb-printwrap .table { width: 100%; border-collapse: collapse; table-layout: fixed; margin-block: 4pt; }
  .tb-ptable th, .tb-ptable td, #tb-printwrap .table th, #tb-printwrap .table td { border: 1px solid #000; padding: 3pt 4pt; font-size: 9.5pt; text-align: left; vertical-align: top; overflow-wrap: anywhere; background: #fff; color: #000; font-weight: 400; }
  .tb-ptable thead th, #tb-printwrap .table thead th { font-weight: 700; }
  .tb-ptable tr, #tb-printwrap .table tr { break-inside: avoid; }
  .tb-blank th[scope="row"] { width: 28%; }
  .tb-blank td { height: 22pt; }
  .tb-blank .tb-day { width: 6.5%; }
  #tb-printwrap .table-scroll { overflow: visible; }
  .tb-pmod { break-before: page; }
  .tb-pmod:first-of-type { break-before: auto; }
  #tb-printwrap :is(h1, h2, p, li) { max-width: none; }
  #tb-printwrap .tb-table { break-inside: avoid; }
  .tb-foot, .tb-source { margin-top: 8pt; font-size: 9.5pt; }
  #tb-printwrap .tb-off th, #tb-printwrap .tb-off td { background: #fff; color: #555; }
  #tb-printwrap .tag-draft { border: 1px solid #000; padding: 0 3pt; }
}

@media screen and (max-width: 39.99rem) { .tb-empty-cell { display: none !important; } }
