.overview-view{--overview-purple:#7d63c8;--overview-text:#493d6b;--overview-muted:#8d7eaa;--overview-line:#f0eaf7;color:var(--overview-text);font-family:inherit;font-size:14px;line-height:1.6;padding-bottom:12px}
.overview-view h2,.overview-view h3,.overview-view p{margin:0}.overview-view h2,.overview-view h3,.overview-view strong{font-weight:400}.overview-view button{font-family:inherit;touch-action:manipulation;cursor:pointer}.overview-view button:focus-visible{outline:2px solid var(--overview-purple);outline-offset:2px}.overview-icon{display:block;width:20px;height:20px;flex-shrink:0}.overview-summary,.overview-calendar,.overview-selected-day{border-radius:16px;background:#fff;padding:18px 16px}.overview-summary h2{font-size:19px;color:#9373c9}.overview-summary .overview-summary-label{margin-top:12px;color:var(--overview-muted);font-size:12px}.overview-all-total{display:block;font-size:36px;line-height:1.4;letter-spacing:.3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.overview-summary .overview-summary-note{font-size:11px;color:var(--overview-muted);margin-top:3px}.overview-summary .overview-unknown{font-size:11px;color:#9a773c;background:#fbf5e9;padding:7px 9px;border-radius:8px;margin-top:12px;line-height:1.7}.overview-all-total.overview-number-wide{font-size:31px}.overview-all-total.overview-number-long{font-size:26px}
.overview-calendar{margin-top:16px;padding:10px 12px 8px}.overview-month-header{display:grid;grid-template-columns:36px 1fr 36px 43px;gap:2px;align-items:center}.overview-month-header h3{text-align:center;font-size:17px;color:var(--overview-text);white-space:nowrap}.overview-month-header button{border:0;background:transparent;color:var(--overview-purple);min-width:0;min-height:44px;padding:0;display:grid;place-items:center}.overview-month-header .overview-today{font-size:12px;border-left:1px solid var(--overview-line);min-height:28px;margin-left:5px}.overview-weekdays,.overview-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.overview-weekdays{margin:8px 0 6px;color:#aa9ebc;font-size:11px;text-align:center}.overview-day{height:43px;min-width:0;border:0;background:transparent;border-radius:11px;color:#65567e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:3px 0 0;font-size:16px;line-height:1.25;position:relative}.overview-day>small{height:11px;line-height:11px;font-size:9px;color:#9d7bce}.overview-day-counted:not(.overview-day-selected){background:#f7f3fc}.overview-day-today:not(.overview-day-selected){box-shadow:inset 0 0 0 1px #c6b3e7}.overview-day.overview-day-selected{background:var(--overview-purple);color:#fff;box-shadow:0 2px 6px #7d63c824}.overview-day-selected>small{color:#fff}.overview-calendar .overview-calendar-key{font-size:10px;color:#aa9ebc;margin:7px 3px 0;text-align:right}.overview-calendar-key>span{color:#9d7bce;font-size:13px;vertical-align:middle;margin-right:3px}
.overview-selected-day{margin-top:16px}.overview-day-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.overview-day-heading h3{font-size:18px;display:flex;align-items:center;gap:8px}.overview-day-heading h3>span{font-size:10px;color:#9472cc;background:#f3ecfc;border-radius:5px;padding:1px 5px}.overview-day-heading>span{color:var(--overview-muted);font-size:11px}.overview-source-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}.overview-source-stats>div{min-width:0}.overview-source-stats>div>span{display:block;font-size:11px;color:var(--overview-muted)}.overview-source-stats strong{display:block;font-size:22px;color:#9272c8;letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.4;margin-top:3px;overflow-wrap:anywhere}.overview-source-stats .overview-source-total strong{color:var(--overview-text)}.overview-source-stats strong.overview-number-wide{font-size:18px}.overview-source-stats strong.overview-number-long{font-size:15px}.overview-selected-day .overview-empty-day{font-size:11px;color:#aa9ebc;margin-top:14px;padding-top:12px;border-top:1px solid var(--overview-line)}
.overview-details{margin-top:20px}.overview-details-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 2px 10px}.overview-details-heading h3{font-size:17px}.overview-details-heading>span{font-size:10px;color:var(--overview-muted)}.overview-practice-list{background:#fff;border-radius:16px;overflow:hidden}.overview-practice{display:flex;align-items:center;gap:9px;width:100%;padding:16px 13px;border:0;background:#fff;text-align:left;color:var(--overview-text)}.overview-practice+.overview-practice{border-top:1px solid var(--overview-line)}.overview-practice:hover{background:#fdfbff}.overview-practice:active{background:#f6effe}.overview-practice-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:34px;background:#f1ebf9;border-radius:9px;color:#9675ca}.overview-practice-icon-app{background:#eff2fc;color:#8d90bd}.overview-practice-icon .overview-icon{width:18px;height:21px}.overview-practice-info{display:block;flex:1;min-width:0}.overview-practice-info>strong{display:block;font-size:15px;line-height:1.5;overflow-wrap:anywhere}.overview-practice-group{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:10px;color:var(--overview-muted);margin-top:3px;line-height:1.6}.overview-practice-group em{font-size:9px;line-height:1.4;padding:2px 4px;border-radius:4px;background:#f3f0f6;color:#9b8daa;font-style:normal;white-space:nowrap}.overview-practice-sources{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:10px;color:#a091b4;margin-top:5px}.overview-practice-total{font-size:22px;line-height:1.4;color:var(--overview-purple);max-width:102px;overflow-wrap:anywhere;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.4px}.overview-practice-total.overview-number-wide{font-size:18px}.overview-practice-total.overview-number-long{font-size:15px;max-width:87px}.overview-practice>.overview-icon{width:12px;height:16px;color:#b4a3ca;margin-left:-3px}.overview-empty{padding:25px 18px;background:#fff;border-radius:16px;text-align:center}.overview-empty p{font-size:16px;color:#8d70b8}.overview-empty>span{display:block;font-size:12px;color:#a091b4;margin-top:8px;line-height:1.8}

/* An individual calendar keeps the practice identity visible, with no selectors. */
.practice-calendar-view{--overview-purple:#7353ac;--overview-muted:#746585}

.practice-calendar-summary{padding:16px}
.practice-calendar-context{display:flex;align-items:center;gap:6px;min-width:0;color:var(--overview-muted);font-size:12px;line-height:1.5}
.practice-calendar-context .overview-icon{width:14px;height:16px}
.practice-calendar-context>span{flex:1;min-width:0;overflow-wrap:anywhere}
.practice-calendar-context>em{font-size:12px;white-space:nowrap;font-style:normal;background:#f4f0f8;color:var(--overview-muted);padding:1px 5px;border-radius:4px}
.practice-calendar-summary h2{font-size:23px;line-height:1.4;color:var(--overview-text);overflow-wrap:anywhere;margin-top:6px}
.practice-calendar-summary .practice-calendar-channel{display:flex;align-items:center;gap:8px;color:var(--overview-muted);font-size:12px;margin-top:5px}
.practice-calendar-type{padding:1px 6px;border-radius:5px;font-size:11px;background:#f0eaf8;color:#6f5b85}
.practice-calendar-type-bow{background:#faf0dc;color:#896024}.practice-calendar-type-three{background:#e5f3f0;color:#376e68}.practice-calendar-type-ten{background:#eaf0fc;color:#5266a0}
.practice-calendar-summary .overview-summary-label{margin-top:10px;font-size:12px}
.practice-calendar-summary .overview-all-total{font-size:35px;line-height:1.3;margin-top:1px;letter-spacing:0}
.practice-calendar-summary .overview-all-total.overview-number-wide{font-size:31px}.practice-calendar-summary .overview-all-total.overview-number-long{font-size:25px;letter-spacing:-.3px}
.practice-calendar-all-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid var(--overview-line);padding-top:9px;margin-top:8px}
.practice-calendar-all-sources>span{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;min-width:0;font-size:12px;color:var(--overview-muted)}
.practice-calendar-all-sources strong{font-size:15px;line-height:1.4;color:var(--overview-purple);overflow-wrap:anywhere;max-width:100%;font-variant-numeric:tabular-nums;letter-spacing:-.2px}
.practice-calendar-all-sources strong.overview-number-wide{font-size:13px}.practice-calendar-all-sources strong.overview-number-long{font-size:12px}
.practice-calendar-month{margin-top:12px;padding:9px 12px 14px}
.practice-calendar-month .overview-weekdays{margin:5px 0}
.practice-calendar-month .overview-day{height:39px;font-size:15px}
.practice-calendar-day{border-top:1px solid var(--overview-line);margin:11px 3px 0;padding-top:8px}
.practice-calendar-day .overview-day-heading{gap:6px;min-height:34px}
.practice-calendar-day .overview-day-heading h3{font-size:16px}
.practice-calendar-add{display:flex;align-items:center;justify-content:center;min-height:36px;padding:0 7px;background:#f7f3fc;border-radius:8px;color:var(--overview-purple);font-size:12px;white-space:nowrap}
.practice-calendar-day .overview-source-stats{margin-top:6px;gap:7px}
.practice-calendar-day .overview-source-stats strong{font-size:21px;letter-spacing:-.4px;margin-top:1px}
.practice-calendar-day .overview-source-stats strong.overview-number-wide{font-size:17px}.practice-calendar-day .overview-source-stats strong.overview-number-long{font-size:13px}
.practice-calendar-records{background:#fff;border-radius:16px;padding:13px 16px 3px;margin-top:12px}
.practice-calendar-records-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.practice-calendar-records-heading h3{font-size:17px;line-height:1.5}
.practice-calendar-records-heading h3>span{font-size:12px;color:var(--overview-muted);margin-left:6px}
.practice-calendar-records-heading>button{font-size:12px;color:var(--overview-muted);min-height:36px;padding:0;white-space:nowrap}
.practice-calendar-records .record-row:last-child{border-bottom:0}.practice-calendar-records .record-text strong{font-size:12px}.practice-calendar-records .record-text p{font-size:12px;line-height:1.7}
.practice-calendar-records .record-qty{font-size:17px;max-width:93px;overflow-wrap:anywhere;line-height:1.4;font-variant-numeric:tabular-nums}
.practice-calendar-records .record-edit{min-width:28px;min-height:40px;padding:0;font-size:12px;color:var(--overview-purple)}
.practice-calendar-records .empty-state,.practice-calendar-records>.overview-empty-day{font-size:12px;color:var(--overview-muted);text-align:center;padding:24px 0 27px;line-height:1.7}
.practice-calendar-unknown{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fbf5e9;border-radius:12px;padding:10px 13px;margin-top:12px;color:#896024;font-size:12px}
.practice-calendar-unknown>span{min-width:0;overflow-wrap:anywhere}.practice-calendar-unknown>button{display:flex;align-items:center;gap:3px;font-size:12px;color:#896024;padding:0;min-height:32px;white-space:nowrap}.practice-calendar-unknown .overview-icon{width:11px;height:16px}
.practice-calendar-footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:13px 3px 1px;color:var(--overview-muted);font-size:12px}.practice-calendar-footer>button{display:flex;align-items:center;gap:3px;color:var(--overview-purple);font-size:12px;min-height:36px;padding:0}.practice-calendar-footer .overview-icon{width:11px;height:15px}

.practice-calendar-view .overview-weekdays{color:var(--overview-muted);font-size:12px}
.practice-calendar-view .overview-day>small{color:#6f5b85;font-size:11px;height:12px;line-height:12px}
.practice-calendar-view .overview-day-selected>small{color:#fff}
.practice-calendar-view .overview-day-heading h3>span{font-size:11px;color:#6f5b85}
.practice-calendar-view .overview-source-stats>div>span{font-size:12px}
.practice-calendar-view .overview-source-stats strong{color:var(--overview-purple)}
.practice-calendar-view .overview-source-stats .overview-source-total strong{color:var(--overview-text)}
.practice-calendar-records .record-text p,.practice-calendar-records .record-qty.deleted{color:var(--overview-muted)}
.practice-calendar-empty{padding:23px 0 25px;font-size:12px;line-height:1.7;color:var(--overview-muted);text-align:center}

.calendar-nav-spacer{width:56px;flex-shrink:0}

/* User-level statistics: all practices share one plane; origin is a filter and label. */
.flat-overview{--overview-purple:#7755ae;--overview-text:#43385f;--overview-muted:#766a87;--overview-line:#f0ebf6;padding-top:1px}
.flat-overview-filters{display:flex;align-items:center;gap:7px;margin:0 0 12px;padding:0 1px 4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d8cae9 transparent}
.flat-overview-filters>button{display:flex;flex-shrink:0;align-items:center;justify-content:center;gap:5px;min-height:44px;min-width:0;border:1px solid transparent;border-radius:22px;padding:0 12px;background:transparent;color:var(--overview-muted);font-size:13px;line-height:1.3;white-space:nowrap}
.flat-overview-filters>button>span{max-width:200px;white-space:normal;overflow-wrap:anywhere;text-align:left}
.flat-overview-filters>button>em{font-size:10px;font-style:normal;color:var(--overview-muted)}
.flat-overview-filters>button:focus-visible{outline:2px solid var(--overview-purple);outline-offset:-2px}
.flat-overview-filters>button.is-active{background:#fff;border-color:#dfd4ee;color:var(--overview-purple)}
.flat-overview-filters .overview-icon{width:14px;height:17px}
.flat-overview-summary{padding:14px 16px 13px;border-radius:18px}
.flat-overview-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.flat-overview-total{min-width:0;text-align:left}
.flat-overview-total h2,.flat-overview-total>span{display:block;font-size:14px;line-height:20px;letter-spacing:0;color:#71627f;white-space:nowrap}
.flat-overview-total h2{color:var(--overview-purple)}
.flat-overview-total>strong{display:block;min-width:0;max-width:100%;height:36px;margin-top:2px;font-size:34px;line-height:36px;letter-spacing:-.4px;color:var(--overview-purple);font-variant-numeric:tabular-nums;white-space:nowrap}
.flat-overview-total.is-today>strong{color:var(--overview-text)}
.flat-overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:11px;padding-top:9px;border-top:1px solid var(--overview-line)}
.flat-overview-metrics>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;min-width:0;padding:0 5px;text-align:center}
.flat-overview-metrics>div+div{border-left:1px solid var(--overview-line)}
.flat-overview-metrics>div>span{font-size:12px;line-height:17px;color:#71627f;white-space:nowrap}
.flat-overview-metrics strong{display:block;min-width:0;max-width:100%;height:23px;font-size:20px;line-height:23px;color:var(--overview-text);font-variant-numeric:tabular-nums;white-space:nowrap}
.flat-overview-practices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:18px 6px;margin-top:18px}
.flat-overview-practice{display:flex;flex-direction:column;align-items:center;min-width:0;width:100%;padding:0;border:0;background:transparent;text-align:center;color:var(--overview-purple);border-radius:8px}
.flat-overview-ring{width:58px;height:58px;position:relative;display:grid;place-items:center;margin-bottom:7px;flex-shrink:0}
.flat-overview-ring>svg{position:absolute;inset:0;display:block;width:100%;height:100%;fill:none;stroke-width:4.3;transform:rotate(-90deg)}
.flat-overview-ring-track{stroke:#eeebf3}.flat-overview-ring-progress{stroke:#8064c7;stroke-linecap:round}
.flat-overview-ring>span{position:relative;z-index:1;max-width:100%;font-size:11.5px;line-height:1;color:var(--overview-purple);font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.flat-overview-practice>strong{font-size:13px;line-height:1.5;max-width:100%;overflow-wrap:anywhere;min-height:20px}
.flat-overview-origin{display:flex;align-items:center;justify-content:center;gap:2px;font-size:12px;line-height:1.6;white-space:nowrap;margin-top:3px;color:#76648b}
.flat-overview-origin .overview-icon{width:11px;height:13px}.flat-overview-origin-app{color:#66708f}
.flat-overview-device-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--overview-muted);font-size:12px;line-height:1.5;margin-top:1px}
.flat-overview-practice-state{max-width:100%;font-size:12px;line-height:1.5;color:var(--overview-muted);margin-top:1px}
.flat-overview-progress{margin-top:18px;padding:0 16px;background:#fff;border-radius:18px}
.flat-overview-progress>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;list-style:none;cursor:pointer;color:var(--overview-text);font-size:14px;touch-action:manipulation}
.flat-overview-progress>summary::-webkit-details-marker{display:none}
.flat-overview-progress>summary small{font-size:12px;color:var(--overview-muted);white-space:nowrap}
.flat-overview-progress>summary .overview-icon{width:16px;height:18px;color:var(--overview-purple);transition:transform .15s ease}
.flat-overview-progress[open]>summary .overview-icon{transform:rotate(90deg)}
.flat-overview-progress>summary:focus-visible{outline:2px solid var(--overview-purple);outline-offset:2px;border-radius:8px}
.flat-overview-progress .flat-overview-practices{margin-top:6px;padding-top:14px;border-top:1px solid var(--overview-line)}
.flat-overview-progress .flat-overview-ring-note{color:var(--overview-muted);font-size:12px;line-height:1.6;text-align:center;margin-top:19px;padding-bottom:18px}
@media(prefers-reduced-motion:reduce){.flat-overview-progress>summary .overview-icon{transition:none}}
.flat-overview-summary .overview-unknown{font-size:12px;line-height:1.65;color:#896024}
.flat-overview-calendar{padding:15px 13px 6px;border-radius:18px;margin-top:18px}
.flat-overview-month-header{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:2px}
.flat-overview-month-header>h3{font-size:20px;line-height:1.4;text-align:center;color:var(--overview-text)}
.flat-overview-month-header>button{display:grid;place-items:center;min-height:42px;padding:0;border:0;background:transparent;color:var(--overview-purple)}
.flat-overview-month-header .overview-icon{width:21px;height:21px}
.flat-overview-period-totals{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:2px 12px;font-size:13px;line-height:1.6;color:var(--overview-muted);padding:0 5px}
.flat-overview-period-totals>span{min-width:0;overflow-wrap:anywhere}.flat-overview-period-totals strong{font-variant-numeric:tabular-nums;color:var(--overview-muted)}
.flat-overview-calendar .overview-weekdays{margin:18px 0 9px;font-size:14px;line-height:1.6;color:#716778;gap:2px}
.flat-overview-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px 2px}
.flat-overview-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:51px;min-width:0;border:1px solid transparent;border-radius:9px;background:transparent;padding:3px 0;color:var(--overview-text);line-height:1.3;font-variant-numeric:tabular-nums}
.flat-overview-day>span{font-size:17px}.flat-overview-day>small{max-width:100%;font-size:12px;line-height:1.3;color:var(--overview-muted);letter-spacing:-.3px;overflow-wrap:anywhere}
.flat-overview-day>small.is-long{font-size:11px;letter-spacing:-.5px}
.flat-overview-day.has-count>small{color:var(--overview-purple)}
.flat-overview-day.is-adjacent>span{color:#776d83}.flat-overview-day.is-adjacent>small{color:#7b6b87}
.flat-overview-day.is-today{box-shadow:inset 0 0 0 1px #d3c3e8}
.flat-overview-day.is-selected{border-color:#987dc3;background:#f2edf9;box-shadow:none}
.flat-overview-day:hover{background:#f7f3fc}
.flat-overview-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 3px 0;font-size:12px;color:var(--overview-muted)}
.flat-overview-calendar-footer>button{min-height:36px;padding:0 3px;background:transparent;border:0;color:var(--overview-purple);font-size:12px}
.flat-overview-selected{padding:17px 16px;margin-top:18px;border-radius:18px}
.flat-overview-selected .overview-day-heading h3{font-size:17px}.flat-overview-selected .overview-day-heading h3>span{font-size:12px;color:#7755ae}
.flat-overview-selected .overview-day-heading>span{font-size:12px}
.flat-overview-selected .overview-source-stats{gap:7px;margin-top:13px}
.flat-overview-selected .overview-source-stats>div>span{font-size:12px}
.flat-overview-selected .overview-source-stats strong{font-size:21px;color:var(--overview-purple)}
.flat-overview-selected .overview-source-stats strong.overview-number-wide{font-size:17px}.flat-overview-selected .overview-source-stats strong.overview-number-long{font-size:14px}
.flat-overview-selected .overview-source-total strong{color:var(--overview-text)}
.flat-overview-selected .overview-empty-day{font-size:12px;color:var(--overview-muted)}
.flat-overview-daily-list{margin-top:19px;border-top:1px solid var(--overview-line);padding-top:14px}
.flat-overview-daily-list>h3{font-size:14px;color:var(--overview-text);margin-bottom:4px}
.flat-overview-daily-list .overview-practice{padding:12px 0;gap:7px}
.flat-overview-daily-list .overview-practice-icon{flex-basis:26px;width:26px;height:31px}.flat-overview-daily-list .overview-practice-icon .overview-icon{width:16px;height:19px}
.flat-overview-daily-list .overview-practice-info>strong{font-size:14px}
.flat-overview-daily-list .overview-practice-group,.flat-overview-daily-list .overview-practice-group em,.flat-overview-daily-list .overview-practice-sources{font-size:12px;color:var(--overview-muted)}
.flat-overview-daily-list .overview-practice-total{font-size:20px;max-width:94px}.flat-overview-daily-list .overview-practice-total.overview-number-wide{font-size:17px}.flat-overview-daily-list .overview-practice-total.overview-number-long{font-size:14px}
