/* Extend the existing KKU palette and compact card-based working surfaces. */
.extend-page { max-width: 1250px; }
.extend-page h3 { line-height: 1.3; margin-bottom: 12px; }
.extend-page p { line-height: 1.5; }
.extend-actions, .extend-tabs { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-block:16px; }
.extend-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.extend-client-select { margin-top:20px; }
.extend-client-select summary { cursor:pointer; margin-bottom:12px; }
.extend-slot-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.extend-slot { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.extend-slot h3 { font-size:1.6rem; margin:0; }
.extend-slot p { margin:0 0 10px; font-size:1rem; }
.extend-results-heading { display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; margin-block:30px 16px; }
.extend-results-heading span { color:var(--muted); font-size:.9rem; }
.extend-note { padding:16px; background:var(--beige); border-radius:12px; }
.extend-list { display:grid; gap:18px; margin-top:20px; }
.extend-empty { padding:20px 0; color:var(--muted); }
.extend-subsection { border-top:1px solid var(--line); margin-top:20px; padding-top:20px; }
.extend-days { display:flex;flex-wrap:wrap;gap:20px; }
.extend-page fieldset { border:1px solid var(--line);border-radius:12px;padding:18px;margin:18px 0; }
.extend-paper { background:white;color:#012628;max-width:850px;margin:24px auto;padding:54px 64px;border:1px solid var(--line);box-shadow:var(--shadow); }
.extend-paper header { display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:2px solid #009D9F;padding-bottom:22px;margin-bottom:32px; }
.extend-paper header strong { font-family:'IBM Plex Serif',serif;font-size:1.3rem; }
.extend-paper header span { font-size:.8rem; }
.extend-paper h1 { font-size:2rem;margin-bottom:28px; }
.extend-paper h2 { font-size:1.3rem;margin-block:32px 14px; }
.extend-paper dl > div { display:flex;gap:20px;margin-bottom:8px; }
.extend-paper dt { min-width:85px;color:#53615a; }
.extend-paper dd { margin:0; }
.extend-preserve { white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.05rem;line-height:1.65; }
.extend-paper footer { border-top:1px solid #ccc;margin-top:45px;padding-top:16px;font-size:.875rem; }
.extend-question { margin-bottom:22px;min-width:0; }
.extend-question > label { display:flex;flex-direction:column;gap:10px; }
.extend-question-heading { display:block;font-weight:600;margin-bottom:10px; }
.extend-q-row { display:flex;gap:18px;justify-content:space-between;align-items:center; }
.extend-q-row > div:first-child { flex:1;min-width:0; }
.extend-q-row h3 { font-family:inherit;font-size:1.15rem; }
.extend-q-row small { font-size:.9rem; }
.extend-q-actions { display:flex;gap:8px;flex-wrap:wrap; }
.extend-answers { margin-top:20px; }
.extend-answers > div { border-top:1px solid var(--line);padding:16px 0; }
.extend-answers dt { font-weight:600;margin-bottom:8px; }
.extend-answers dd { margin:0;white-space:pre-wrap;overflow-wrap:anywhere; }
.extend-q-group { display:grid;gap:4px; }
.extend-q-group .symptom-row { grid-template-columns:2fr 1fr 1fr; }
@media(max-width:1000px){.extend-filter-grid,.extend-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.extend-paper{padding:30px;}}
@media(max-width:700px){.extend-filter-grid,.extend-slot-grid{grid-template-columns:minmax(0,1fr);}.extend-q-row{align-items:flex-start;flex-direction:column;}.extend-paper{padding:24px 18px;}.extend-paper header{flex-direction:column;align-items:flex-start;}.extend-paper h1{font-size:1.6rem;}.extend-q-group .symptom-row{grid-template-columns:1fr;}.extend-actions>button{max-width:100%;white-space:normal;}.extend-page .panel{padding:20px;}}
@media print {
  @page { size:A4; margin:18mm; }
  body { background:white!important; }
  body:has(#client-print)>*:not(.app-shell), .sidebar, .topbar, .sidebar-scrim, .extend-print-help, .extend-page>.extend-actions, .toast-region, .desk-external { display:none!important; }
  .app-shell,.main,.view,.extend-page { display:block!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important; }
  .extend-paper { margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;max-width:none!important; }
  .extend-paper h2,.extend-paper header { break-after:avoid; }
  .extend-paper footer { break-inside:avoid; }
}
