.appointment-shell{max-width:1320px;margin:auto;padding:24px}.appointment-header{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding-bottom:22px;margin-bottom:32px;border-bottom:1px solid #d5e2df}.appointment-header>span{margin-left:auto;font-size:14px;color:#526963}.appointment-header .primary-nav{gap:8px}.appointment-header .primary-nav a{font-size:15px}.appointment-header .primary-nav a:hover{background:#e5f0ec}.appointment-shell main{padding:0}.appointment-heading{margin-bottom:24px}.appointment-heading h1{font-size:clamp(32px,5vw,48px);margin:8px 0 12px}.appointment-heading p{font-size:18px;color:#526963}.appointment-notice{padding:18px 20px;border:1px solid #cbded7;border-radius:12px;background:#edf5f2;line-height:1.7}.appointment-notice strong{color:#14685e}.appointment-notice p{margin-top:4px}.appointment-hint{font-size:14px;line-height:1.7;color:#526963}.appointment-shell section>.appointment-hint{margin:8px 0 16px}#appointmentFilters{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:26px 0 12px}#appointmentFilters label{display:grid;gap:6px;font-size:15px;flex:1 1 160px}#appointmentFilters label:first-child{flex:2 1 260px}#appointmentFilters input,#appointmentFilters select{min-width:0;width:100%;min-height:46px;padding:10px 12px;border:1px solid #abc3bb;border-radius:8px;background:white;font-size:16px}#appointmentFilters button,.appointment-pages button,.appointment-card button,#appointmentClose{min-height:44px;padding:10px 16px;border:1px solid #9bbcb0;border-radius:8px;background:white;cursor:pointer;font-size:16px}#appointmentFilters button{background:#167c75;color:white;border-color:#167c75}.appointment-state{padding:18px;border:1px solid #cbded7;border-radius:10px;background:#edf5f2;margin:22px 0;line-height:1.7}.appointment-state[data-state=error],.appointment-state[data-state=stale]{background:#fff1d9;border-color:#e9cf99;color:#70470c}.appointment-list{display:grid;gap:14px}.appointment-card{background:white;border:1px solid #d4e2dc;border-radius:12px;padding:20px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:18px;align-items:start;overflow-wrap:anywhere}.appointment-card h3{font-size:20px}.appointment-card p{margin:6px 0}.appointment-card small{display:block;font-size:14px;line-height:1.7;color:#526963}.appointment-status,.appointment-example{display:inline-block;font-size:14px;line-height:1.5;padding:5px 10px;border:1px solid #bdd1ca;border-radius:6px;background:#f0f6f3;overflow-wrap:anywhere}.appointment-example{background:#fff1d9;border-color:#e9cf99;color:#70470c;font-weight:700;margin-bottom:8px}.appointment-card[data-example=true]{border-left:4px solid #cb943a;background:#fffdfa}.appointment-warning{padding:12px;background:#fff1d9;border-radius:8px;line-height:1.7}.appointment-pages{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:26px 0}.appointment-pages button:disabled{opacity:.5;cursor:default}#appointmentExamples{margin-top:28px}#appointmentRecords[hidden],#appointmentExamples[hidden]{display:none!important}#appointmentDetail{width:min(850px,calc(100vw - 32px));max-height:88dvh;overflow:auto;padding:24px;border:1px solid #b3cbbf;border-radius:16px;background:#f7faf8}#appointmentDetail::backdrop{background:#102e367a}#appointmentDetail>header{position:sticky;top:-24px;z-index:1;background:#f7faf8;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:12px 0 20px}#appointmentDetailTitle{font-size:24px}#appointmentDetailBody section{background:white;border:1px solid #d4e2dc;padding:20px;border-radius:10px;margin:16px 0}#appointmentDetailBody h3{font-size:19px;margin-bottom:14px}#appointmentDetailBody dl{margin:0}#appointmentDetailBody dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:18px;padding:10px 0;border-top:1px solid #e2ebe7}#appointmentDetailBody dt{font-size:14px;color:#526963}#appointmentDetailBody dd{margin:0;overflow-wrap:anywhere;font-size:16px}#appointmentDetailBody p{line-height:1.7;margin:8px 0}#appointmentSource{padding-bottom:24px}@media(max-width:850px){.appointment-card{grid-template-columns:1fr 1fr}.appointment-card>div:first-child{grid-column:1/-1}.appointment-card button{justify-self:start}}@media(max-width:520px){.appointment-shell{padding:16px}.appointment-header{gap:12px}.appointment-header>span{margin-left:0}.appointment-header .primary-nav{gap:4px}.appointment-header .primary-nav a{padding:10px 8px}.appointment-card{grid-template-columns:1fr;padding:16px;gap:12px}.appointment-card>div:first-child{grid-column:auto}.appointment-pages{gap:12px}.appointment-pages span{order:-1;flex-basis:100%;text-align:center}#appointmentDetail{padding:16px}#appointmentDetail>header{top:-16px}#appointmentDetailBody section{padding:14px}#appointmentDetailBody dl>div{grid-template-columns:1fr;gap:4px}}

#appointmentFilters button:disabled{opacity:.5;cursor:default}#appointmentFilters #appointmentReload{background:white;color:#14685e}#appointmentReloadHint{min-height:24px}
/* Compact source-backed overview; details and secondary filters stay on demand. */
.appointment-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:22px 0}.appointment-summary[hidden]{display:none}.appointment-metric{min-width:0;padding:16px;border:1px solid #d2e4da;border-radius:12px;background:#fff;display:grid;gap:7px}.appointment-metric>span{font-size:14px;color:#526963}.appointment-metric>strong{font-size:30px;line-height:1.2;color:#14685e}.appointment-metric>small{font-size:12px;line-height:1.5;color:#526963}.appointment-metric[data-metric=examples]{background:#fffaf0}.appointment-metric[data-metric=needsReview]>strong{color:#916010}#appointmentFilters.appointment-filter-panel{display:block;padding:20px;background:#fff;border:1px solid #d2e4da;border-radius:12px}.appointment-filter-main,.appointment-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.appointment-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:14px}.appointment-more-filters{padding:16px 0;border-bottom:1px solid #e1ebe5;margin-bottom:16px}.appointment-more-filters summary{cursor:pointer;color:#14685e;font-size:14px;line-height:1.6}.appointment-filter-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}#appointmentFilters .appointment-filter-actions label{flex:1 1 220px;max-width:300px;margin-right:auto}#appointmentFilters #appointmentReset{background:#f5faf7;color:#14685e}.appointment-view-control{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0}.appointment-view-control label{display:flex;gap:10px;align-items:center;font-size:14px}.appointment-view-control select{max-width:100%;border:1px solid #abc3bb;border-radius:8px;padding:10px;background:#fff;color:#234f43;font-size:15px}.appointment-card h3{margin:0 0 5px}.appointment-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.appointment-attention{font-size:12px;line-height:1.6;background:#fff5df;color:#77520e;border:1px solid #ead5a4;border-radius:5px;padding:2px 6px}.appointment-card [data-state=confirmed] .appointment-status{background:#e7f5ed;border-color:#a4cfb7;color:#14613d}.appointment-card [data-state=requested] .appointment-status{background:#fff5df;border-color:#ead5a4;color:#77520e}.appointment-card [data-state=cancelled] .appointment-status{background:#f3f4f4;border-color:#d1d9d6;color:#53615b}.appointment-agenda-day>h3{font-size:16px;color:#14685e;padding:10px 0;margin:0 0 8px;border-bottom:1px solid #d2e4da}.appointment-agenda-day+.appointment-agenda-day{margin-top:12px}.appointment-shell,.appointment-shell main,.appointment-filter-panel,.appointment-filter-panel>div,.appointment-card>div{min-width:0}.appointment-shell input,.appointment-shell select{box-sizing:border-box}.appointment-filter-panel label{min-width:0}.appointment-card button:focus-visible,.appointment-filter-panel button:focus-visible,.appointment-more-filters summary:focus-visible,.appointment-view-control select:focus-visible{outline:3px solid #7abf98;outline-offset:3px}#appointmentDetailBody li{margin-bottom:7px;line-height:1.6}
@media(max-width:1000px){.appointment-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-filter-main{grid-template-columns:1fr 1fr}.appointment-filter-main>label:first-child{grid-column:1/-1}.appointment-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.appointment-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.appointment-metric{padding:12px}.appointment-metric:last-child{grid-column:1/-1}.appointment-metric>strong{font-size:26px}.appointment-filter-main,.appointment-filter-grid{grid-template-columns:1fr}.appointment-filter-main>label:first-child{grid-column:auto}#appointmentFilters.appointment-filter-panel{padding:14px}.appointment-filter-actions>button{flex:1 1 130px}#appointmentFilters .appointment-filter-actions label{flex-basis:100%;max-width:none}.appointment-view-control{align-items:start}.appointment-card button{width:100%;max-width:100%}.appointment-heading p{font-size:16px}.appointment-notice{font-size:14px}.appointment-header .primary-nav{max-width:100%}}
