/* Cabinet-only typography; forms and public pages do not load this stylesheet. */
body {
  --cabinet-text: calc(14px * var(--ui-text-scale, 1));
  --cabinet-small: calc(12px * var(--ui-text-scale, 1));
  --cabinet-title: calc(22px * var(--ui-text-scale, 1));
  --cabinet-section: calc(18px * var(--ui-text-scale, 1));
  font-size: var(--cabinet-text);
}
.cabinet-heading h1, .welcome-row h2, .view-heading h2,
.cabinet-view > .view-heading h2, .appointment-dialog h2, #journalFileDialog h2 {
  font-size: var(--cabinet-title); line-height: 1.3;
}
.panel-title h2, .panel-title h3, .workspace-panel h3 {
  font-size: var(--cabinet-section); line-height: 1.35;
}
.welcome-row p, .view-heading p, .panel-title p, .today-label,
.table-row, .table-row strong, .journal-table-row, .journal-table-row > *, .journal-table-row strong,
.appointment-person h3, .appointment-person p, .appointment-person small,
.appointment-time, .appointment-time strong, .appointment-time small,
.template-row strong, .template-row p, .template-row small,
.button-primary, .button-secondary, .mobile-home-toggle,
.appointment-dialog label, .journal-periods select, #journalFileDialog {
  font-size: var(--cabinet-text); line-height: 1.45;
}
.table-row small, .journal-table-row small, .cabinet-eyebrow,
.panel-eyebrow, .panel-kicker, .retention-availability, .appointment-time .retention-availability {
  font-size: var(--cabinet-small); line-height: 1.45;
}
.appointment-time .retention-availability { color: var(--muted); font-weight: 400; }
.appointment-time { min-width: 0; }
.appointment-dialog input, .appointment-dialog select {
  font-size: calc(16px * var(--ui-text-scale, 1));
}
.journal-table-row .journal-date-info {
  display: flex; flex-wrap: wrap; align-items: center; gap: 2px;
  font-size: var(--cabinet-small); line-height: 1.35;
}
.journal-date-info > span { white-space: nowrap; }
.journal-table-row .journal-info-button {
  display: inline-grid; width: 28px; height: 28px; min-width: 28px;
  padding: 4px; border: 0; border-radius: 4px; background: transparent;
  color: var(--muted); box-shadow: none;
}
.journal-info-button svg { width: 16px; height: 16px; }
.journal-info-button:focus-visible { outline: 2px solid var(--green); outline-offset: 1px; }
.journal-info-button:hover { color: var(--green-dark); }
#journalFileDialog footer { display: flex; flex-wrap: wrap; gap: 10px; }
#journalFileDownload { text-decoration: none; }
#journalFileName { overflow-wrap: anywhere; }
.reference-search input { font-size: calc(16px * var(--ui-text-scale, 1)); }
.journal-summary strong { font-size: var(--cabinet-title); }
@media (min-width: 901px) {
  .journal-table-head, .journal-table-row { grid-template-columns: 140px 130px 180px 180px 190px minmax(230px,1fr) 110px 50px; }
  .journal-table { min-width: 1320px; }
}
@media (max-width: 900px), (pointer: coarse) and (orientation: landscape) and (max-height: 600px) {
  .mobile-home-ready .mobile-home-toggle { justify-content: flex-start; text-align: left; gap: 10px; }
  .mobile-home-toggle span { margin-left: 0; text-align: left; }
  .mobile-home-toggle svg { flex: 0 0 18px; }
  .journal-table-row .journal-info-button { width: 36px; height: 36px; min-width: 36px; }
  .journal-table-row > :nth-child(7) { font-size: var(--cabinet-text); }
}
