/* Schedule styles, scoped to .dia-schedule so they can live inside the workspace. */
.dia-schedule{font-family:"DM Sans",sans-serif;color:var(--ink);font-synthesis:none;
:root{font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0;display:flex}button,input,select{font:inherit}button{cursor:pointer;color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffc273;outline-offset:3px}[hidden]{display:none!important}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#148269;flex-shrink:0}.content{padding:30px 34px 20px;max-width:1900px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{color:#0b65ad;font-size:9px;letter-spacing:1.7px;font-weight:650;margin:0 0 12px}.page-heading h1{font-size:32px;font-weight:550;letter-spacing:-1.2px;margin:0 0 10px}.page-heading p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0}.office-label{background:white;border:1px solid var(--line);border-radius:7px;padding:11px 13px;font-size:10px;display:flex;align-items:center;gap:8px}.overview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:25px}.overview-card{background:white;border:1px solid var(--line);border-radius:10px;padding:18px 19px}.overview-label{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;color:#64798c}.metric-icon{height:25px;width:25px;border-radius:7px;background:#eaf5fc;color:#0b65ad;display:grid;place-items:center;font-size:15px}.metric-icon.review{color:#9a5718;background:#fff2e5}.metric-icon.images{color:#0b65ad;background:#eaf5fc}.overview-card>strong{display:block;font-size:29px;font-weight:550;letter-spacing:-1px;margin:9px 0}.overview-card>small{color:#64798c;font-size:9px}.schedule-panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.schedule-top{display:flex;align-items:center;justify-content:space-between;padding:19px 20px;gap:16px}.date-controls{display:flex;align-items:center;gap:13px}.date-controls>button{border:1px solid #bcd9eb;border-radius:6px;background:#fff;font-size:10px;padding:8px 12px}.arrows{display:flex;gap:2px}.arrows button{border:0;background:transparent;font-size:24px;width:23px;line-height:1}.date-controls h2{font-size:15px;font-weight:600;letter-spacing:-.3px;margin:0}.view-switch{padding:3px;display:flex;border:1px solid var(--line);background:#f3f7fa;border-radius:7px;gap:3px}.view-switch button{border:0;background:transparent;border-radius:4px;font-size:14px;padding:7px 10px;color:#64798c}.view-switch button span{font-size:9px;margin-left:5px}.view-switch button.selected{color:#0b65ad;background:white;box-shadow:0 1px 4px #082b4a14}.schedule-tools{display:flex;gap:18px;align-items:center;padding:0 20px 16px}.search{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;padding:8px 11px;flex:1;max-width:340px;color:#64798c}.search input{min-width:0;width:100%;border:0;font-size:10px;background:transparent;color:#17324c;outline:0}.search input::placeholder{color:#8296a8}.provider-select{display:flex;align-items:center;gap:8px;font-size:9px;color:#64798c}.provider-select select{max-width:160px;border:1px solid var(--line);padding:7px;border-radius:6px;font-size:10px;background:white;color:#17324c}.schedule-tools>span{font-size:9px;color:#64798c;margin-left:auto}.filter-section{padding:16px 20px 14px;border-top:1px solid #eaf1f6}.filter-caption{color:#64798c;font-size:8px;letter-spacing:1.3px;margin-bottom:11px}.treatment-tabs{display:flex;flex-wrap:wrap;gap:7px}.treatment-tab{border:1px solid var(--line);border-radius:6px;background:white;padding:8px 10px;display:flex;gap:7px;align-items:center;font-size:9px;color:#64798c;white-space:nowrap}.treatment-tab i{width:5px;height:5px;border-radius:50%}.treatment-tab>span{font-size:8px;background:#edf3f8;border-radius:3px;min-width:15px;padding:2px 4px;color:#64798c}.treatment-tab.active{background:#eaf5fc;color:#0b65ad;border-color:#8abddd}.treatment-tab.active>span{background:#cde8f9;color:#0b65ad}.readiness-filters{display:flex;flex-wrap:wrap;gap:5px;padding:0 20px 16px}.readiness-filters button{background:transparent;border:0;border-radius:5px;color:#64798c;font-size:9px;padding:6px 9px}.readiness-filters button.active{background:#eaf5fc;color:#0b65ad}.readiness-filters button span{margin-left:5px;font-size:8px;opacity:.75}.calendar-scroll{overflow:auto;max-height:640px;border-top:1px solid var(--line)}.calendar{display:grid;grid-template-columns:64px repeat(var(--providers),minmax(170px,1fr));min-width:calc(64px + var(--providers)*170px);position:relative}.time-header{position:sticky;top:0;left:0;z-index:4;font-size:7px;color:#64798c;display:flex;align-items:center;justify-content:center;background:#fff;border-bottom:1px solid var(--line)}.provider-header{display:flex;align-items:center;gap:8px;padding:16px 10px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:white;position:sticky;top:0;z-index:3;min-width:0;height:70px}.provider-header>span{display:grid;place-items:center;height:29px;width:29px;flex-shrink:0;border-radius:50%;font-size:9px;color:#17324c}.provider-header strong{display:block;font-size:10px;font-weight:600;white-space:nowrap}.provider-header small{display:block;font-size:8px;color:#64798c;margin-top:5px}.provider-header>b{font-size:8px;color:#64798c;margin-left:auto;font-weight:500}.time-rail{height:745px;position:sticky;left:0;background:white;z-index:2}.time-rail span{position:absolute;left:8px;transform:translateY(-50%);font-size:8px;color:#64798c;background:white;padding:4px 0}.time-rail span:first-child{transform:none}.provider-lane{height:745px;position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 45px,#f3f7fa 45px,#f3f7fa 46px,transparent 46px,transparent 91px,#dfe9f1 91px,#dfe9f1 92px)}.appointment{position:absolute;left:5px;right:5px;text-align:left;border:1px solid #d7e3ec;border-left:3px solid var(--procedure-color);border-radius:6px;background:#f0f8fc;padding:8px 8px 6px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .15s,transform .15s}.appointment.review{background:#fff2e5;border-top-color:#f4d7b8;border-right-color:#f4d7b8;border-bottom-color:#f4d7b8}.appointment.images{background:#eaf5fc;border-top-color:#bcd9eb;border-right-color:#bcd9eb;border-bottom-color:#bcd9eb}.appointment:hover{box-shadow:0 3px 9px #082b4a24;transform:translateY(-1px);z-index:1}.appointment-time{font-size:8px;color:#64798c;display:flex;align-items:center;justify-content:space-between;line-height:1;margin-bottom:5px}.appointment-status{font-style:normal;font-size:9px;color:#148269}.appointment.review .appointment-status{color:#d17c25}.appointment.images .appointment-status{color:#0b65ad}.appointment strong{font-size:10px;font-weight:600;color:#17324c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-procedure{font-size:8px;color:#64798c;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-meta{font-size:7px;color:#64798c;margin-top:auto;padding-top:4px}.calendar-empty{position:absolute;inset:110px 20px auto 85px;background:#f8fcfff2;border:1px solid #d7e3ec;border-radius:9px;padding:30px;z-index:2;display:grid;justify-items:center;gap:12px;font-size:12px}.calendar-empty span{font-size:11px;color:var(--muted)}.calendar-empty button,.list-empty button{background:white;border:1px solid #bcd9eb;padding:8px 12px;border-radius:6px;font-size:10px}.schedule-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--line);font-size:8px;color:#64798c;gap:12px}.legend{display:flex;flex-wrap:wrap;gap:15px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:6px;height:6px;border-radius:2px}.legend-ready{background:#148269}.legend-review{background:#f28c28}.legend-images{background:#0b65ad}.demo-disclosure{text-align:center;font-size:9px;color:#64798c;line-height:1.8;margin:17px 0 0}.list-header,.patient-row{display:grid;grid-template-columns:1.1fr 1.4fr 1.1fr .8fr;align-items:center;gap:14px;padding:16px 20px}.list-header{background:#f3f7fa;border-top:1px solid var(--line);font-size:9px;color:#64798c}.patient-row{width:100%;background:white;border:0;border-bottom:1px solid #e4edf3;text-align:left}.patient-row:hover{background:#f8fcff}.patient-row strong{font-size:10px;font-weight:550;display:block}.patient-row small{display:block;font-size:9px;color:#64798c;margin-top:6px}.status-pill{font-size:8px;display:inline-block;padding:6px 8px;border-radius:5px;white-space:nowrap;background:#e9f7f2;color:#148269;justify-self:start}.status-pill.review{background:#fff2e5;color:#9a5718}.status-pill.images{background:#eaf5fc;color:#0b65ad}.list-empty{text-align:center;padding:60px 20px;color:#64798c;font-size:12px}.list-empty p{font-size:11px}dialog{width:min(530px,calc(100vw - 28px));max-height:90vh;padding:25px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#17324c;box-shadow:0 30px 90px #082b4a33}dialog::backdrop{background:#082b4a66;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between}.dialog-header .eyebrow{margin:0;font-size:8px}.dialog-header button{border:0;background:#eaf5fc;border-radius:50%;width:27px;height:27px;font-size:20px;color:#64798c}.patient-heading{display:flex;align-items:center;gap:14px;padding:23px 0}.patient-avatar{width:49px;height:49px;background:#eaf5fc;border:1px solid #bcd9eb;color:#0b65ad;display:grid;place-items:center;border-radius:50%;font-size:15px}.patient-heading h2{font-size:23px;font-weight:550;letter-spacing:-.5px;margin:0 0 7px}.patient-heading p{font-size:10px;color:#64798c;margin:0}.patient-appointment{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d7e3ec;background:#f8fcff;border-radius:8px;padding:15px;gap:10px}.patient-appointment small{font-size:9px;display:block;color:#64798c;margin-bottom:8px}.patient-appointment strong{font-size:11px;font-weight:550}.detail-section{padding:22px 0;border-bottom:1px solid var(--line)}.detail-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.detail-title h3{font-size:12px;font-weight:600;margin:0}.treatment-label{font-size:8px;color:var(--procedure-color);background:#f3f7fa;padding:5px 8px;border-radius:4px}.detail-section h4{font-size:15px;margin:16px 0 8px;font-weight:550}.detail-section p{font-size:10px;line-height:1.7;color:#64798c;margin:4px 0}.prep-item{display:flex;gap:11px;margin-top:19px}.prep-icon{width:25px;height:25px;display:grid;place-items:center;flex-shrink:0;border-radius:7px;background:#e9f7f2;color:#148269}.prep-icon.images{color:#0b65ad;background:#eaf5fc}.prep-icon.review{color:#9a5718;background:#fff2e5}.prep-item strong{font-size:11px;font-weight:550}.preparation-note{margin-top:18px;padding:13px;background:#eaf5fc;border-radius:6px;border-left:2px solid #0b65ad}.preparation-note small{font-size:8px;color:#0b65ad;letter-spacing:1px}.preparation-note p{color:#17324c;margin:7px 0 0}.demo-detail-note{font-size:9px;line-height:1.8;color:#64798c;margin-top:18px}.back-button{margin-top:17px;width:100%;border:0;background:#0b65ad;color:white;padding:12px;border-radius:7px;font-size:11px}
@media(min-width:1600px){.calendar-scroll{max-height:none}.calendar{grid-template-columns:64px repeat(var(--providers),minmax(190px,1fr))}.appointment strong{font-size:12px}.appointment-procedure{font-size:9px}}
@media(max-width:1150px){.content{padding:25px 20px}.overview{gap:9px}.overview-card{padding:14px}.overview-card>small{font-size:8px}.schedule-top{flex-wrap:wrap}.schedule-tools{flex-wrap:wrap}.schedule-tools>span{margin-left:0}.list-header,.patient-row{grid-template-columns:1fr 1.4fr 1fr}.list-header>span:nth-child(3),.patient-row>span:nth-child(3){display:none}}
@media(max-width:720px){body{display:block}.content{padding:23px 14px}.page-heading h1{font-size:27px}.page-heading p:not(.eyebrow){font-size:11px;max-width:260px;line-height:1.7}.office-label{display:none}.overview{grid-template-columns:1fr 1fr;gap:9px}.overview-card>strong{font-size:25px}.overview-card>small{font-size:8px}.schedule-top{padding:15px 12px;gap:12px}.date-controls{gap:7px;flex-wrap:wrap}.date-controls h2{font-size:12px}.date-controls>button{padding:7px 9px}.view-switch button{padding:6px 8px}.schedule-tools{padding:0 12px 14px;gap:12px}.search{max-width:none;flex-basis:100%}.provider-select select{max-width:145px}.schedule-tools>span{margin-left:auto}.filter-section{padding:14px 12px}.treatment-tabs{flex-wrap:nowrap;overflow:auto;padding-bottom:4px}.treatment-tab{font-size:9px;flex-shrink:0}.readiness-filters{padding:0 8px 12px;gap:0}.readiness-filters button{font-size:8px;padding:6px}.schedule-footer{padding:13px 12px}.schedule-footer>span{display:none}.calendar-scroll{max-height:540px}.list-header,.patient-row{grid-template-columns:1fr 1fr;padding:15px 12px;gap:10px}.list-header>span:nth-child(4){display:none}.patient-row>.status-pill{grid-column:2}.patient-row>span:first-child{grid-row:1/3}.patient-row strong{font-size:10px}.patient-row small{font-size:8px}.patient-heading h2{font-size:21px}dialog{padding:20px}.patient-appointment{padding:12px}.patient-appointment strong{font-size:10px}}

/* Reuse the established Dia palette and app shell from official.css. */
.pilot-strip{position:fixed;inset:0 0 auto;z-index:30;height:28px;min-height:28px;font-size:9px}
body{padding-top:28px;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--canvas)}
h1,h2,h3,h4{font-family:"Manrope",sans-serif}.page-heading h1{font-size:26px;font-weight:800;letter-spacing:normal}.eyebrow{font-size:9px;font-weight:800;color:var(--blue);letter-spacing:.12em}
.page-heading p:not(.eyebrow){color:var(--muted);font-size:11px}.office-label{border-color:#bcd9eb;background:#f8fcff;color:var(--blue);font-weight:700}
.overview-card{border-radius:13px;box-shadow:var(--shadow)}.overview-label{font-size:11px}.overview-card>strong{font-family:"Manrope",sans-serif;font-size:29px;font-weight:800;color:var(--navy)}.overview-card>small{font-size:9px}.overview-card:nth-child(3){border-top:3px solid var(--orange)}
.schedule-panel{border-radius:15px;box-shadow:var(--shadow)}.date-controls h2{font-weight:800}.date-controls>button{color:var(--blue);font-weight:700}.view-switch button.selected{background:var(--blue);color:white}.treatment-tab.active{font-weight:700;box-shadow:inset 0 -2px var(--orange)}
.back-button{background:var(--orange);color:var(--navy);font-weight:800}.appointment{border-radius:8px}.appointment strong{font-weight:700}.provider-header strong{font-weight:700}.patient-heading h2{font-weight:800}
@media(max-width:1150px){}
@media(max-width:720px){.pilot-strip{font-size:7px}.page-heading h1{font-size:25px}}

/* Treatment spotlight: keep every appointment in position, emphasize matches. */
.treatment-preview-hint{margin:0;padding:0 20px 12px;min-height:28px;color:var(--muted);font-size:10px;line-height:1.6}
.treatment-preview-hint.highlighting{color:var(--blue);font-weight:700}
.treatment-tab{transition:background-color .16s,border-color .16s,box-shadow .16s}
.treatment-tab.previewing{background:var(--blue-soft);border-color:var(--blue);box-shadow:inset 0 -2px var(--orange),0 2px 8px #082b4a12;color:var(--navy)}
.appointment,.patient-row{transition:opacity .18s,box-shadow .18s,background-color .18s,border-color .18s,transform .18s}
.appointment.treatment-muted,.patient-row.treatment-muted{opacity:.23}
.appointment.treatment-match{background:#d9edfc;border-color:var(--blue);border-left:4px solid var(--orange);box-shadow:0 0 0 1px var(--blue),0 5px 14px #0b65ad26;z-index:1}
.appointment.treatment-match strong,.appointment.treatment-match .appointment-procedure{color:var(--navy)}
.patient-row.treatment-match{background:var(--blue-soft);box-shadow:inset 4px 0 var(--orange)}
@media(prefers-reduced-motion:reduce){.appointment,.patient-row,.treatment-tab{transition:none}}
@media(max-width:720px){.treatment-preview-hint{padding:0 12px 12px;font-size:9px}}
}
