:root{font-family:system-ui,sans-serif;color:#17324a;background:#f4f8fd;line-height:1.5;color-scheme:light}
.agenda-overview{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:28px 0 18px}.agenda-overview h2{font-size:1.5rem;margin:5px 0}.agenda-overview p{margin:0;color:#4a6b85;font-size:.9rem;max-width:650px}.agenda-overview>button{white-space:nowrap}.agenda-counts{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.agenda-counts>span{background:white;border:1px solid #dce7ef;border-radius:10px;padding:10px 16px;color:#4a6b85;font-size:.9rem}.agenda-counts strong{color:#17324a;margin-right:5px;font-size:1.1rem}.queue-panel{background:#eaf4fb;border:1px solid #c9deed;padding:22px;border-radius:14px;margin-bottom:28px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.section-heading h2{margin:0}.section-heading p{font-size:.85rem;color:#4a6b85;margin:5px 0 0}.section-count{border-radius:50%;width:32px;height:32px;background:#eaf2fb;display:grid;place-items:center;flex-shrink:0;font-weight:700}.queue-lane+.queue-lane{margin-top:18px}.queue-lane h3{font-size:.85rem;color:#4a6b85;margin:0 0 10px}.queue-patients{display:flex;gap:10px;overflow-x:auto;padding:0 0 4px;list-style:none;margin:0}.queue-patient{display:flex;gap:10px;align-items:center;border:1px solid #c9deed;background:white;border-radius:10px;padding:12px 16px;flex-shrink:0}.queue-patient strong{font-size:.9rem}.queue-position{display:grid;place-items:center;width:28px;height:28px;background:#eaf2fb;border-radius:50%;font-weight:750}.queue-patient.status-called,.queue-patient.status-consulting{border-color:#14b8a6;background:#edfaf7}.appointment-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start}.appointment-section{min-width:0}.appointment-timeline{list-style:none;padding:0;margin:0}.appointment-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;position:relative;padding-bottom:20px}.appointment-item:not(:last-child)::before{content:'';position:absolute;left:31px;top:50px;bottom:-4px;width:2px;background:#c9deed}.appointment-marker{padding-top:16px;text-align:center;position:relative;z-index:1}.appointment-marker time,.appointment-marker>strong{font-size:1.03rem;font-weight:750}.appointment-marker small{font-size:.75rem}.appointment-card{border:1px solid #dce7ef;border-radius:12px;background:white;padding:18px;min-width:0}.appointment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.appointment-heading h3{font-size:1rem;margin:4px 0 0;overflow-wrap:anywhere}.appointment-number{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#4a6b85}.appointment-clinic{font-size:.8rem;font-weight:650;color:#087cad;margin:8px 0}.appointment-contact{font-size:.85rem;margin:10px 0;color:#4a6b85;overflow-wrap:anywhere}.appointment-contact small{font-size:.77rem;margin-top:3px}.appointment-detail{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.77rem;color:#4a6b85;margin:14px 0}.turn-badge{background:#eaf2fb;color:#17324a;border-radius:6px;font-weight:700;padding:5px 8px}.appointment-actions{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #eaf2fb;padding-top:12px}.appointment-actions button{min-height:34px;padding:7px 10px;font-size:.75rem}.appointment-actions button[data-action^=move-],.appointment-actions button[data-action=reschedule],.appointment-actions button[data-action=status-cancelled],.appointment-actions button[data-action=status-absent]{background:#eaf2fb;color:#17324a}.appointment-payment{font-size:.8rem;margin:12px 0;color:#4a6b85}.badge.status-badge-completed{background:#e2f5ed;color:#216342}.badge.status-badge-called,.badge.status-badge-consulting{background:#d5f4ed;color:#0c6554}.badge.status-badge-waiting{background:#fff1d6;color:#795517}.badge.status-badge-cancelled,.badge.status-badge-absent{background:#f0f2f5;color:#627083}.badge.status-badge-reschedule_pending{background:#fff0ef;color:#922d28}.status-called>.appointment-card,.status-consulting>.appointment-card{border-color:#14b8a6;box-shadow:0 0 0 2px #14b8a612}.untimed-list .appointment-marker{color:#087cad}.untimed-list .appointment-item:not(:last-child)::before{background:#dce7ef}@media(max-width:780px){.appointment-columns{grid-template-columns:1fr}}@media(max-width:600px){.agenda-overview{align-items:flex-start;flex-direction:column}.appointment-item{grid-template-columns:50px minmax(0,1fr);gap:8px}.appointment-item:not(:last-child)::before{left:24px}.appointment-card{padding:14px}.queue-panel{padding:16px}.agenda-counts{gap:8px}.agenda-counts>span{padding:8px 10px;font-size:.8rem}}
*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;padding:20px max(24px,calc((100vw - 1120px)/2));background:white;border-bottom:1px solid #dce7ef;gap:20px}header>a{font-weight:750;font-size:1.2rem}a{color:#087cad;text-decoration:none}nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}main{max-width:1120px;margin:48px auto;padding:0 24px 64px}h1{font-size:clamp(1.9rem,4vw,2.8rem);margin:8px 0}h2{font-size:1.2rem;margin:0 0 18px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;color:#087cad}.card,dialog{background:white;border:1px solid #dce7ef;border-radius:16px;padding:28px;box-shadow:0 8px 28px #17324a08}.card{margin:24px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}label{display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:6px;margin:0 0 16px}input,select,button{font:inherit;min-height:44px;border-radius:8px}input,select{border:1px solid #b6cbdc;padding:10px;background:white;color:inherit;width:100%}button{border:0;background:#087cad;color:white;padding:10px 18px;font-weight:650;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.secondary,.tabs button{background:#eaf2fb;color:#17324a}.tabs{margin:28px 0 20px;gap:8px}.tabs button[aria-current=true]{background:#087cad;color:white}.toolbar,.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar label{min-width:160px}.toolbar button{margin-bottom:16px}.check{flex-direction:row;align-items:center}.check input{width:18px;min-height:18px}.muted,#subtitle{color:#4a6b85}.muted{font-size:.9rem}.table-wrap{overflow:auto;background:white;border:1px solid #dce7ef;border-radius:12px}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:14px;text-align:left;border-bottom:1px solid #eaf2fb;vertical-align:top}th{background:#eaf2fb;white-space:nowrap}td button{font-size:.8rem;padding:8px;min-height:36px;margin:3px}.badge{display:inline-block;background:#eaf2fb;border-radius:20px;padding:4px 10px;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.metric{padding:22px;background:white;border:1px solid #dce7ef;border-radius:12px}.metric strong{display:block;font-size:1.6rem;margin-top:8px}.empty{text-align:center;padding:48px 20px;color:#4a6b85;background:white;border-radius:12px}#message{padding:14px;background:#e0f6ed;border-radius:10px}#message.error{background:#fff0ef;color:#922d28}dialog{width:min(620px,calc(100vw - 32px));max-height:85vh;overflow:auto}dialog::backdrop{background:#17324a70}#editor-error{color:#922d28}small{display:block;color:#4a6b85}[hidden]{display:none!important}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #38bdf8;outline-offset:2px}@media(max-width:600px){header{padding:16px;flex-wrap:wrap}main{margin-top:28px;padding:0 16px 40px}.card{padding:20px}.tabs button{font-size:.85rem}.toolbar label{flex:1}}
.nav-group{display:none}.workspace-panel{min-width:0}.staff-panel main{max-width:1440px;margin-top:28px}.staff-panel #title{font-size:1.7rem}.staff-panel #workspace{display:grid;grid-template-columns:235px minmax(0,1fr);gap:28px;margin-top:30px;align-items:start}.staff-panel .tabs{position:sticky;top:20px;display:flex;flex-direction:column;align-items:stretch;gap:6px;margin:0;padding:18px 12px;background:white;border:1px solid #dce7ef;border-radius:16px}.staff-panel .nav-group{display:block;padding:14px 12px 6px;font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#607c91}.staff-panel .tabs button{text-align:left;background:transparent;padding:12px;font-size:.9rem;line-height:1.4}.staff-panel .tabs button:hover{background:#eef6fc}.staff-panel .tabs button[aria-current=true]{background:#dff3f7;color:#075b76;box-shadow:inset 3px 0 #089bb3}.staff-panel #section-heading h2{font-size:1.65rem;margin:6px 0 8px}.staff-panel #section-description{color:#4a6b85;margin:0 0 22px}.staff-panel .toolbar{padding:16px;background:#fff;border:1px solid #dce7ef;border-radius:12px;margin-bottom:24px;align-items:end}.staff-panel .toolbar label{margin:0}.staff-panel .toolbar button{margin:0 0 0 auto}.staff-panel .agenda-overview>div:first-child>h2,.staff-panel .agenda-overview>div:first-child>.eyebrow,.staff-panel .agenda-overview>div:first-child>p{display:none}.staff-panel #family-table{margin-top:18px}.staff-panel #content>.card:first-child{margin-top:0}@media(max-width:1050px){.staff-panel #workspace{grid-template-columns:205px minmax(0,1fr);gap:18px}.staff-panel .appointment-columns{grid-template-columns:1fr}}@media(max-width:760px){.staff-panel #workspace{display:block}.staff-panel .tabs{position:static;display:grid;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:12px}.staff-panel .nav-group{grid-column:1/-1}.staff-panel .tabs button{font-size:.85rem}.staff-panel .toolbar label{min-width:120px}.staff-panel #section-heading h2{font-size:1.35rem}}
.parent-panel main{max-width:1080px;margin-top:36px}.parent-panel #title{font-size:2rem}.parent-panel #workspace{position:relative;margin-top:28px}.parent-panel #open-booking{float:right;position:relative;z-index:1;box-shadow:0 5px 16px #087cad20}.parent-panel .tabs{min-height:46px;margin:0 190px 18px 0;border-bottom:1px solid #dce7ef;padding-bottom:16px}.parent-panel .tabs button{border-radius:24px;padding:10px 22px}.parent-panel .toolbar{justify-content:flex-end;margin-bottom:10px}.parent-panel .toolbar button{font-size:.8rem;background:transparent;margin:0;color:#4a6b85}.parent-panel #content{clear:both}.my-section-heading{margin:0 0 20px}.my-section-heading h2{font-size:1.45rem;margin-bottom:8px}.my-section-heading p{color:#607c91;font-size:.9rem;margin:0}.my-appointments{display:grid;gap:16px}.my-appointment{padding:24px;background:white;border:1px solid #dce7ef;border-radius:16px;box-shadow:0 4px 16px #17324a05}.my-appointment-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.my-appointment-top .eyebrow{margin:0 0 7px}.my-appointment h3{font-size:1.2rem;margin:0}.my-appointment-info{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.my-appointment-info strong,.my-appointment-info span{display:block;margin-top:5px}.my-appointment-info span{color:#4a6b85}.my-turn{border-radius:10px;background:#e0f6ed;padding:14px;color:#216342}.my-payment{color:#4a6b85}.my-appointment-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf2f7;padding-top:14px}.my-appointment-footer button{background:transparent;color:#8a4242;font-size:.85rem}.my-pagination{justify-content:space-between;margin:24px 0 32px;padding:16px 0}.my-pagination span{color:#607c91;font-size:.9rem}.my-pagination button:disabled{cursor:default;opacity:.4}.account-option{background:white;border:1px solid #dce7ef;border-radius:14px;margin:14px 0;overflow:hidden}.account-option summary{padding:20px 24px;cursor:pointer;list-style-position:inside}.account-option summary strong{margin-left:8px}.account-option summary span{display:block;margin:8px 0 0 25px;color:#607c91;font-size:.9rem}.account-option .card{margin:0;border:0;border-top:1px solid #edf2f7;border-radius:0;box-shadow:none}.account-option button{margin:4px 6px 4px 0}.my-family-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.my-family-grid .card{margin:0}.my-family-grid .card:first-child{grid-column:1/-1}.my-family-grid h3{margin-top:0}.my-family-grid ul{padding-left:20px;line-height:1.8}.parent-panel #booking-dialog .card{border:0;box-shadow:none;padding:20px 0 0;margin:0}.parent-panel #close-booking{float:right;margin-bottom:18px}.parent-panel #booking-title{clear:both}.parent-panel #booking-error{color:#922d28;clear:both}@media(max-width:600px){.parent-panel #open-booking{float:none;width:100%;margin-bottom:18px}.parent-panel .tabs{margin-right:0;justify-content:center}.my-appointment{padding:18px}.my-appointment-info,.my-family-grid{grid-template-columns:1fr;gap:16px}.my-appointment-top{align-items:flex-start}.my-appointment-top .badge{font-size:.8rem}.my-pagination{gap:8px}.my-pagination button{font-size:.8rem;padding:10px}.account-option summary{padding:18px}.my-appointment-footer{align-items:flex-start;flex-direction:column}}
