/* Shared reading and navigation layer. Business-specific layouts remain in style.css. */
:root { --muted:#58667b; }
body { line-height:1.65; }
h1 { font-size:28px; letter-spacing:-.35px; line-height:1.3; }
h2,h3 { line-height:1.45; }
button,input,select,textarea { font-family:inherit; }
.sidebar-caption { font-size:12px; letter-spacing:.4px; color:#64738b; padding-top:18px; }
.nav-scroll { padding-top:0; }
.nav-item { min-height:42px; font-size:14px; }
.nav-search { display:block; margin:0 16px 10px; font-size:12px; color:var(--muted); }
.nav-search span { display:block; margin-bottom:6px; }
.nav-search input { width:100%; min-width:0; padding:10px; font-size:14px; background:#f7f9fc; border:1px solid #cbd3e1; border-radius:8px; }
.nav-search-status { font-size:13px; padding:0 12px; }
.nav-search-status:empty { display:none; }
.nav-result { display:flex; flex-direction:column; align-items:flex-start; gap:2px; white-space:normal; text-align:left; }
.nav-result small { color:var(--muted); font-size:12px; }
.nav-close { display:none; }
.page-heading { align-items:flex-start; margin-bottom:22px; }
.page-heading>div { min-width:0; }
.eyebrow { font-size:12px; letter-spacing:.5px; margin-bottom:7px; }
.subtitle,.dialog-subtitle { font-size:14px; line-height:1.7; }
.button { min-height:40px; font-size:14px; }
.button.small { min-height:36px; font-size:13px; }
.tabs { gap:6px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:10px; }
.tab { font-size:14px; min-height:40px; border-radius:7px; }
.tab.active { background:var(--blue-pale); }
.data-table { font-size:14px; font-variant-numeric:tabular-nums; }
.data-table th { font-size:13px; color:#55657b; font-weight:600; }
.data-table .cell-secondary { font-size:12px; line-height:1.6; }
.data-table .row-actions { flex-wrap:wrap; }
.table-filter-input .filter-label,.toolbar-meta { font-size:13px; }
.table-filter-input>input,.search-wrap input,.filter-select { font-size:14px; }
.badge,.status-badge { font-size:12px; }
.dialog { max-height:calc(100dvh - 32px); }
.dialog-subtitle { max-width:72ch; }
.dialog-footer { flex-wrap:wrap; }
.detail-value,.detail-label,.field-help,.form-help { overflow-wrap:anywhere; }
@media (max-width:720px) {
  h1 { font-size:24px; }
  .sidebar { width:min(300px,calc(100vw - 40px)); visibility:hidden; }
  .nav-open .sidebar { visibility:visible; }
  .nav-close { display:flex; margin:0 16px 12px; }
  .nav-item { min-height:44px; }
  .main-content { padding:22px 16px 32px; }
  .page-heading { gap:14px; }
  .heading-actions { justify-content:flex-start; }
  .heading-actions .button { white-space:normal; text-align:center; }
  .tabs { display:flex; flex-wrap:nowrap; overflow-x:auto; max-width:100%; scroll-padding:12px; padding-bottom:10px; }
  .tab { flex:0 0 auto; }
  input,select,textarea,.search-wrap input,.table-filter-input>input { font-size:16px; }
  .button,.button.small,.icon-button { min-height:44px; }
  .data-table td,.data-table th { padding:13px 14px; }
  .dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); }
  .dialog-footer .button { flex:1 1 auto; }
}
@media (prefers-reduced-motion:reduce) { .sidebar { transition:none; } }

.menu-toggle { display:none; }
.pill { font-size:12px; }
@media(max-width:720px) { .menu-toggle { display:inline-flex; } .data-table td,.data-table td::before { font-size:13px; } .pill { font-size:12px; } }
@media(max-width:600px) { .page-heading { flex-direction:column; align-items:stretch; } .page-heading .heading-actions { justify-content:flex-start; } }
.student-intake-permissions { grid-column: 1 / -1; }
.student-permission-row { min-width: 0; margin: 12px 0 0; padding: 12px; border: 1px solid var(--border, #dce2ec); border-radius: 10px; }
.student-permission-row legend { padding: 0 6px; font-size: 14px; font-weight: 600; }
.student-permission-toggle { display: flex; align-items: center; gap: 8px; min-height: 32px; margin-bottom: 8px; font-size: 14px; }
.student-permission-toggle input { width: 20px; height: 20px; margin: 0; }
.student-permission-dates { margin: 0; }
.student-intake-modes { display: grid; gap: 12px; }
.button.student-intake-mode { display: flex; flex-direction: column; align-items: flex-start; white-space: normal; text-align: left; padding: 18px; gap: 7px; width: 100%; min-width: 0; }
.student-intake-mode strong { font-size: 16px; }
.student-intake-mode span,.student-intake-mode small { font-weight: 400; color: var(--muted); line-height: 1.6; }
.student-trial-results { margin: 14px 0; }
.student-trial-result { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.student-trial-result .grow { min-width: 0; overflow-wrap: anywhere; }
.student-conversion-chosen { margin: 14px 0; }
.student-conversion-chosen .button { margin-top: 8px; }
