:root{color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f4f6f8}#root{min-height:100vh}.shell{max-width:56rem;margin:0 auto;padding:1.75rem 1.25rem 3rem;font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#1a2332}.chrome{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 1.5rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #d7dee8}.chrome__brandBlock{min-width:12rem}.brand{margin:0;font-size:1.35rem;font-weight:650;letter-spacing:-.02em;color:#1a2332}.chrome__asOf{margin:.35rem 0 0;font-size:.85rem;color:#5a6575}.tabNav{display:flex;gap:.35rem;flex-wrap:wrap}.tabNav__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:#4a5568;padding:.45rem .85rem;font:inherit;font-size:.9rem;cursor:pointer;border-radius:4px}.tabNav__btn:hover{color:#1a2332;background:#e8eef3}.tabNav__btn.is-active{color:#1a2332;background:#fff;border-color:#c5d0db;font-weight:600}.staleBanner{margin:0 0 1.25rem;padding:.75rem 1rem;background:#fff6e8;border:1px solid #e6c48a;border-left:4px solid #c47a12;color:#5c3d0a;font-size:.9rem}.main{min-height:40vh}.loadState{margin:1.5rem 0;color:#5a6575}.loadState--error{color:#9b2c2c}.loadState__title{margin:0 0 .35rem;font-weight:600}.loadState__detail{margin:0;font-size:.9rem;color:#7a3b3b;line-height:1.45;max-width:36rem}.clinicalHero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem 1.5rem;margin-bottom:2rem;padding:.25rem 0 1.5rem;border-bottom:1px solid #e2e8f0}.metricBlock{min-width:0}.metricBlock--compact .metricBlock__value{font-size:1.45rem}.metricBlock__label{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .45rem;font-size:.8rem;letter-spacing:.02em;text-transform:uppercase;color:#5a6575}.metricBlock__value{margin:0;font-size:1.85rem;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.15}.metricBlock__hint{margin:.35rem 0 0;font-size:.8rem;color:#6b7280}.sourceChip{display:inline-block;padding:.1rem .4rem;border-radius:3px;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:none;border:1px solid transparent}.sourceChip--drchrono{background:#e6f0f4;color:#2a5568;border-color:#b7ced8}.sourceChip--stripe{background:#eef3ea;color:#3d5a2e;border-color:#c5d6b8}.sourceChip--google_analytics,.sourceChip--google_ads{background:#f3efe6;color:#6a5420;border-color:#d8cba8}.sourceChip--meta{background:#ebeff5;color:#334155;border-color:#c5d0db}.sourceChip--manual{background:#f1f1f1;color:#4b5563;border-color:#d1d5db}.sectionHeader{margin-bottom:.85rem}.sectionHeader__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem}.sectionHeader h2{margin:0;font-size:1.05rem;font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.rangeControl{display:inline-flex;flex-wrap:wrap;gap:.2rem;padding:.15rem;border:1px solid #c5d0db;border-radius:4px;background:#f4f6f8}.rangeControl__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:#4a5568;padding:.3rem .55rem;font:inherit;font-size:.75rem;line-height:1.2;cursor:pointer;border-radius:3px;white-space:nowrap}.rangeControl__btn:hover{color:#1a2332;background:#e8eef3}.rangeControl__btn.is-active{color:#1a2332;background:#fff;border-color:#c5d0db;font-weight:600}.rangeControl__btn:focus-visible{outline:2px solid #3d6b8c;outline-offset:1px}.dateRangeControl{display:inline-flex;flex-wrap:wrap;align-items:flex-end;gap:.55rem .75rem}.dateRangeControl__field{display:flex;flex-direction:column;gap:.2rem;margin:0;font-size:.75rem;color:#4a5568}.dateRangeControl__label{font-weight:600;letter-spacing:.01em}.dateRangeControl__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #c5d0db;border-radius:4px;background:#f4f6f8;color:#1a2332;padding:.3rem .45rem;font:inherit;font-size:.8rem;line-height:1.2;min-width:9.5rem}.dateRangeControl__input:focus-visible{outline:2px solid #3d6b8c;outline-offset:1px;background:#fff}.sectionCaption--error{color:#b42318;font-weight:500}.sectionHeader h3,.growthStub__slots h3{margin:0 0 .65rem;font-size:.95rem;font-weight:600}.sectionCaption{margin:.4rem 0 0;font-size:.85rem;color:#5a6575;line-height:1.45;max-width:40rem}.sectionHint{margin:.35rem 0 1rem;font-size:.75rem;line-height:1.4;color:#6b7280;max-width:52rem}.sectionCaption--note{font-size:.8rem;color:#6b7280}.dailyPulse{margin-bottom:2rem}.dailyPulse__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}.cumulativeMetrics{margin-bottom:2rem;padding-top:.25rem;border-top:1px solid #e2e8f0}.cumulativeMetrics__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem 1.5rem}.weeklyRevenue{margin-bottom:1.5rem;padding-top:.25rem;border-top:1px solid #e2e8f0}.revenueSplit{margin-bottom:2rem;padding-top:.25rem;border-top:1px solid #e2e8f0}.revenueSplit__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem 1.5rem}.revenueSplit__unclassified{margin-top:.75rem}.appointmentMix{margin-bottom:2rem;padding-top:.25rem;border-top:1px solid #e2e8f0}.appointmentMix__body,.weeklyRevenue__body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.5rem 1.75rem;align-items:start}.weeklyChart{min-width:0}.weeklyChart__frame{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:.35rem;align-items:stretch}.weeklyChart__yAxis{display:flex;flex-direction:column;justify-content:space-between;height:9.5rem;margin-top:.95rem;margin-bottom:1.35rem;align-self:end;text-align:right;font-size:.65rem;color:#6b7280;font-variant-numeric:tabular-nums;line-height:1}.weeklyChart__yTick{display:block}.weeklyChart__plot{position:relative;display:flex;align-items:flex-end;gap:.35rem;min-height:11.25rem;padding:.95rem 0 .15rem;overflow-x:auto;border-bottom:1px solid #dde4e7}.weeklyChart__grid{position:absolute;top:.95rem;right:0;bottom:1.45rem;left:0;pointer-events:none}.weeklyChart__gridLine{position:absolute;left:0;right:0;border-top:1px solid #edf1f3}.weeklyChart__gridLine:first-child{border-top-color:#dde4e7}.weeklyChart__group{position:relative;z-index:1;flex:1 0 2.75rem;min-width:2.75rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}.weeklyChart__bars{display:flex;align-items:flex-end;justify-content:center;gap:2px;height:9.5rem;width:100%}.weeklyChart__barCol{display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:0}.weeklyChart__barStack{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;min-height:0}.weeklyChart__barValue{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.15rem;font-size:.55rem;line-height:1;color:#4a5568;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.weeklyChart__bar{display:block;width:.55rem;flex:1 1 auto;align-self:center;min-height:2px;height:100%;border-radius:2px 2px 0 0}.weeklyChart__bar--projection{background:#b9c6cb}.weeklyChart__bar--adjusted{background:#5b7f94}.weeklyChart__bar--actual{background:#0f6b5c}.weeklyChart__label{font-size:.65rem;color:#5a6b73;font-variant-numeric:tabular-nums;white-space:nowrap}.weeklyChart__legend{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;margin:.75rem 0 0;padding:0;list-style:none;font-size:.8rem;color:#4a5568}.weeklyChart__legend li{display:flex;align-items:center;gap:.4rem}.swatch{width:.7rem;height:.7rem;border-radius:2px;display:inline-block}.swatch--projection{background:#b9c6cb}.swatch--adjusted{background:#5b7f94}.swatch--actual,.swatch--mixNew{background:#0f6b5c}.swatch--mixExisting{background:#5b7f94}.swatch--mixFollowup{background:#b9c6cb}.weeklyChart__barCol--stack{width:100%;max-width:1.35rem}.mixStack{display:flex;flex-direction:column-reverse;justify-content:flex-start;width:100%;height:100%;min-height:9.5rem;border-radius:2px 2px 0 0;overflow:hidden;background:#edf1f3}.mixStack__seg{display:block;width:100%;min-height:0;flex-basis:0}.mixStack__seg--new{background:#0f6b5c}.mixStack__seg--existing{background:#5b7f94}.mixStack__seg--followup{background:#b9c6cb}.mixStack__empty{display:block;width:100%;height:2px;margin-top:auto;background:#c5d0db}.weeklyChart__plot--stack .weeklyChart__group{flex:1 0 2.1rem;min-width:2.1rem}.revenueSummary{min-width:0}.revenueSummary h3{margin:0 0 .65rem;font-size:.95rem;font-weight:600}.revenueSummary__scroll{overflow-x:auto}.revenueSummary__table{width:100%;border-collapse:collapse;font-size:.82rem;font-variant-numeric:tabular-nums}.revenueSummary__table th,.revenueSummary__table td{padding:.45rem .55rem;text-align:right;border-bottom:1px solid #e8eef3;white-space:nowrap}.revenueSummary__table thead th{font-weight:600;color:#5a6575;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;border-bottom-color:#d7dee8}.revenueSummary__table th[scope=row],.revenueSummary__table thead th:first-child{text-align:left;padding-left:0}.revenueSummary__table tbody th{font-weight:500;color:#1a2332}.revenueSummary__table td:last-child{padding-right:0}.revenueSummary__var--pos{color:#0f6b5c}.revenueSummary__var--neg{color:#9b2c2c}.revenueSummary__var--flat{color:#5a6575}.emptyState{margin:1rem 0;color:#6b7280;font-size:.9rem}.growthStub__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:1.75rem}.stubCard{padding:.9rem 1rem;border:1px solid #d7dee8;background:#fff;border-radius:4px}.stubCard__title{margin:0 0 .5rem}.stubCard__status{margin:0;font-size:1rem;font-weight:600;color:#1a2332}.stubCard__meta{margin:.35rem 0 0;font-size:.8rem;color:#6b7280}.growthStub__slots ul{margin:0;padding:0;list-style:none;border-top:1px solid #e2e8f0}.growthStub__slots li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid #e2e8f0;font-size:.9rem}.growthStub__slots em{font-style:normal;color:#6b7280;font-size:.8rem}@media(max-width:860px){.weeklyRevenue__body,.appointmentMix__body{grid-template-columns:1fr}.cumulativeMetrics__row,.revenueSplit__row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.clinicalHero,.dailyPulse__row,.cumulativeMetrics__row,.revenueSplit__row,.growthStub__grid{grid-template-columns:1fr}.metricBlock__value{font-size:1.6rem}}
