.appointment-calendar-frame{min-width:0}.calendar-exception-strip{flex-wrap:wrap;gap:7px;margin:0 0 10px;display:flex}.calendar-exception{color:#5d6b72;font-size:calc(10px * var(--text-scale,1));background:#f1f4f3;border-radius:9px;padding:7px 9px}.calendar-exception strong{margin-right:6px}.calendar-exception-closed{color:#80423d;background:#faecea}.calendar-exception-special_hours{color:#765a18;background:#fff6da}.calendar-exception-regular{color:#2d655b;background:#eaf7f3}.appointment-calendar .calendar-date-past{background-color:#fafbfb}.appointment-calendar .calendar-date-exception-closed{background-image:repeating-linear-gradient(-45deg,#8b42420d,#8b42420d 7px,#0000 7px 14px)}.appointment-calendar .calendar-date-exception-special{box-shadow:inset 0 3px #d5a62d}.appointment-calendar .calendar-event-past{opacity:.72;filter:saturate(.65)}.appointment-calendar{padding:16px;overflow-x:auto}.calendar-period-frame-week{padding:16px}.calendar-period-frame-week>.calendar-period-week{padding:0}.appointment-calendar>*{min-width:760px;color:var(--ink);font-size:calc(11px * var(--text-scale,1))}.appointment-calendar .calendar-event-scheduled,.appointment-calendar .calendar-event-confirmed,.appointment-calendar .calendar-event-reschedule_requested,.appointment-calendar .calendar-event-cancelled,.appointment-calendar .calendar-event-no_response{--calendar-event-text:var(--status-waiting-strong);border:0;border-left:3px solid var(--status-waiting-strong);background:var(--status-waiting-bg);color:var(--calendar-event-text);cursor:pointer}.appointment-calendar .calendar-event-confirmed{--calendar-event-text:var(--status-confirmed-strong);border-left-color:var(--status-confirmed-strong);background:var(--status-confirmed-bg)}.appointment-calendar .calendar-event-reschedule_requested{--calendar-event-text:var(--status-reschedule-strong);border-left-color:var(--status-reschedule-strong);background:var(--status-reschedule-bg)}.appointment-calendar .calendar-event-cancelled{--calendar-event-text:var(--status-cancelled-strong);border-left-color:var(--status-cancelled-strong);background:var(--status-cancelled-bg)}.appointment-calendar .calendar-event-no_response{--calendar-event-text:var(--status-no-response-strong);border-left-color:var(--status-no-response-strong);background:var(--status-no-response-bg)}.calendar-event-content{min-width:0;color:var(--calendar-event-text);grid-template-columns:auto minmax(0,1fr) auto;gap:1px 6px;padding:3px 5px;line-height:1.2;display:grid}.calendar-event-content>*{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-event-content strong{font-size:calc(10px * var(--text-scale,1));grid-area:1/2}.calendar-event-status{font-size:calc(8px * var(--text-scale,1));grid-area:1/3;align-items:center;gap:3px;display:flex}.calendar-event-status-icon{flex:none}.calendar-event-service{font-size:calc(8px * var(--text-scale,1));grid-area:2/1/auto/-1}.calendar-event-professional{font-size:calc(8px * var(--text-scale,1));grid-area:3/1/auto/-1}.calendar-event-time{font-size:calc(8px * var(--text-scale,1));grid-area:1/1;font-weight:800}.calendar-period-day .calendar-event-content,.calendar-period-week .calendar-event-content{flex-direction:column;align-items:stretch;gap:2px;height:100%;padding:5px 7px;display:flex}.calendar-period-day .calendar-event-content strong,.calendar-period-week .calendar-event-content strong{font-size:calc(11px * var(--text-scale,1))}.calendar-period-day .calendar-event-service,.calendar-period-week .calendar-event-service,.calendar-period-day .calendar-event-professional,.calendar-period-week .calendar-event-professional{font-size:calc(9px * var(--text-scale,1))}.calendar-period-day .calendar-event-status,.calendar-period-week .calendar-event-status{font-size:calc(8px * var(--text-scale,1));margin-top:auto}.calendar-event-history{font-size:calc(7px * var(--text-scale,1));opacity:.82;border:1px solid;border-radius:999px;align-self:flex-end;padding:1px 4px;font-weight:800}.calendar-period-month .calendar-event-professional,.calendar-period-month .calendar-event-history{display:none}.calendar-mobile-simultaneous-harness{margin-inline-end:0!important;inset-inline:0!important}.calendar-mobile-simultaneous-harness>[class*=calendar-event-]{flex:0 0 calc(var(--simultaneous-height) - 1px)!important;top:var(--simultaneous-top)!important;inset-inline:0!important;height:calc(var(--simultaneous-height) - 1px)!important;bottom:auto!important}.calendar-period-month .calendar-day-closed{background:#f5f7f6}.calendar-period-month>*{min-width:0}.calendar-period-month .calendar-month-event-harness{margin:2px 3px;visibility:visible!important;position:relative!important;inset:auto!important}.appointment-calendar .calendar-event-scheduled:focus-visible,.appointment-calendar .calendar-event-confirmed:focus-visible,.appointment-calendar .calendar-event-reschedule_requested:focus-visible,.appointment-calendar .calendar-event-cancelled:focus-visible,.appointment-calendar .calendar-event-no_response:focus-visible{outline-offset:2px;outline:3px solid #00a88f47}.calendar-period-week{overscroll-behavior-inline:contain;min-width:0;max-width:100%;overflow-x:auto}.calendar-period-week [role=rowheader][aria-label=Timed]{z-index:4;box-shadow:1px 0 0 var(--line);background:#fff;position:sticky;left:0}.calendar-period-week [role=rowgroup]:has([role=columnheader])>[role=row]>div:first-child{z-index:4;box-shadow:1px 0 0 var(--line);background:#fff;position:sticky;left:0}.calendar-period-week [role=row]:has(>[role=rowheader][aria-label=Timed])+[aria-hidden=true]>div>div:first-child{z-index:4;box-shadow:1px 0 0 var(--line);background:#fff;position:sticky;left:0}.calendar-period-week [role=rowgroup]:has([role=columnheader]){z-index:5;background:#fff;top:0!important}.calendar-period-week [role=rowgroup]:has([role=columnheader])>[role=row]>div:first-child{z-index:6}@media (max-width:768px){.calendar-period-week>*{min-width:var(--calendar-week-min-width,760px)}}
.toolbar-actions,.inline-actions{align-items:center;gap:9px;display:flex}.client-status-tabs{background:#e9efed;border-radius:11px;gap:3px;width:fit-content;padding:4px;display:flex}.client-status-tabs button{color:#65747c;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:8px 16px;font-weight:800;display:flex}.client-status-tabs button[aria-selected=true]{color:var(--teal-dark);background:#fff;box-shadow:0 2px 7px #1f3a4114}.client-status-tabs span{min-width:22px;font-size:calc(9px * var(--text-scale,1));text-align:center;background:#dfe7e4;border-radius:999px;padding:3px 6px}.client-status-tabs button[aria-selected=true] span{background:var(--teal-soft)}.client-row-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.clients-mobile-list{display:none}.client-action-trigger{width:36px;min-width:36px;min-height:36px;color:var(--teal-dark);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;margin:0;padding:0;line-height:1;display:grid}.client-action-trigger:hover,.client-action-trigger[aria-expanded=true],.client-action-trigger:active{background:var(--teal-soft)}.client-action-trigger:focus-visible{background:#f1faf8}.client-action-overlay{z-index:var(--layer-popover);pointer-events:none;position:fixed;inset:0}.client-action-popover{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);pointer-events:auto;width:228px;padding:6px;position:fixed;box-shadow:0 15px 36px #18303829}.client-action-popover header{display:none}.client-action-popover>button{border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--ink);font-size:calc(11px * var(--text-scale,1));text-align:left;background:0 0;border:0;align-items:center;margin:0;padding:8px 10px;font-weight:700;display:flex}.client-action-popover>button:hover,.client-action-popover>button:focus-visible{background:var(--teal-soft)}.client-action-popover>.danger-link{color:var(--danger)}.client-action-popover>.danger-link:hover,.client-action-popover>.danger-link:focus-visible{background:#fbeaea}.loading-list,.inline-error{min-height:250px;color:var(--muted);font-size:calc(12px * var(--text-scale,1));place-content:center;justify-items:center;gap:12px;padding:32px;display:grid}.inline-error{color:var(--danger)}@media (max-width:900px){.clients-desktop-table{display:none}.clients-mobile-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);display:block;overflow:hidden}.client-mobile-row{border-top:1px solid var(--line);align-items:center;gap:6px;min-height:72px;padding:7px 8px 7px 10px;display:flex}.client-mobile-row:first-child{border-top:0}.client-mobile-primary{border-radius:var(--radius-sm);min-width:0;min-height:56px;color:var(--ink);text-align:left;background:0 0;border:0;flex:auto;align-items:center;gap:10px;padding:4px 2px;display:flex;overflow:hidden}.client-mobile-primary:hover{background:#f7faf9}.client-mobile-primary .person-avatar{width:36px;height:36px}.client-mobile-copy{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.client-mobile-copy strong,.client-mobile-copy>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-mobile-copy strong{font-size:max(13px, calc(13px * var(--text-scale,1)))}.client-mobile-copy>span{color:var(--muted);font-size:max(11px, calc(11px * var(--text-scale,1)));font-variant-numeric:tabular-nums}.client-mobile-copy small{color:#5f6e76;background:#edf1f0;border-radius:999px;width:fit-content;padding:1px 6px;font-size:10px;font-weight:800}.client-mobile-actions{flex:none;align-self:stretch;align-items:center;gap:2px;display:flex}.client-mobile-actions .client-action-trigger{width:44px;min-width:44px;min-height:44px}.client-mobile-schedule{border-radius:var(--radius-sm);min-height:42px;color:var(--teal-dark);font-size:max(11px, calc(11px * var(--text-scale,1)));background:0 0;border:0;padding:0 9px;font-weight:800}.client-mobile-schedule:hover{background:var(--teal-soft)}.client-action-overlay{padding:max(16px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));pointer-events:auto;background:#091d247a;align-items:flex-end;display:flex}.client-action-popover{width:min(100%,560px);margin:0 auto max(18px, env(safe-area-inset-bottom));border-radius:var(--radius-lg);padding:8px;position:relative;box-shadow:0 24px 70px #091d244d;inset:auto!important}.client-action-popover header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:4px 4px 8px 10px;display:flex}.client-action-popover header strong{font-size:max(13px, calc(13px * var(--text-scale,1)));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-action-popover header button{border-radius:var(--radius-sm);width:42px;min-width:42px;min-height:42px;color:var(--muted);background:0 0;border:0;font-size:24px}.client-action-popover>button{min-height:48px;font-size:max(13px, calc(13px * var(--text-scale,1)));padding:10px 12px}}.pagination{border-top:1px solid var(--line);min-height:64px;color:var(--muted);font-size:calc(10px * var(--text-scale,1));justify-content:flex-end;align-items:center;gap:12px;padding:10px 18px;display:flex}.duplicate-review{background:#fffaf0;border:1px solid #edcf91;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.duplicate-review h3,.duplicate-review h4,.duplicate-review p{margin:0}.duplicate-review h3,.duplicate-review h4{color:#77500c;font-size:calc(13px * var(--text-scale,1))}.duplicate-review p,.duplicate-review small{color:#8a6c32;font-size:calc(10px * var(--text-scale,1))}.duplicate-match{background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:3px;padding:10px;display:grid}.duplicate-match>div:first-child{flex-direction:column;gap:3px;min-width:0;display:flex}.duplicate-match span{overflow-wrap:anywhere;color:#604d29;font-size:calc(10px * var(--text-scale,1))}.duplicate-actions,.duplicate-footer-actions{align-items:center;gap:8px;display:flex}.duplicate-footer-actions{flex-wrap:wrap;justify-content:flex-end}.duplicate-review-probable{background:#f4faff;border-color:#b8d5e4}.duplicate-review-probable h3{color:#265d78}.duplicate-review-probable p,.duplicate-review-probable small{color:#52758a}.agenda-command-bar{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:auto auto minmax(260px,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.view-switch,.period-switch{background:#e9efed;border-radius:9px;padding:4px;display:flex}.period-switch button{color:#65747c;min-height:36px;font-size:calc(10px * var(--text-scale,1));background:0 0;border:0;border-radius:6px;padding:7px 11px;font-weight:800}.period-switch button[aria-pressed=true]{color:var(--teal-dark);background:#fff;box-shadow:0 2px 7px #1f3a4114}.view-switch button{color:#65747c;min-height:36px;font-size:calc(10px * var(--text-scale,1));background:0 0;border:0;border-radius:7px;padding:7px 13px;font-weight:800}.view-switch button[aria-pressed=true]{color:var(--teal-dark);background:#fff;box-shadow:0 2px 7px #1f3a4114}.period-navigation{justify-content:center;align-items:center;gap:8px;display:flex}.period-navigation strong{min-width:210px;color:var(--ink);text-align:center;text-transform:capitalize;font-size:calc(12px * var(--text-scale,1))}.agenda-filters{grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;display:grid}.agenda-status-filter{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;display:grid}.agenda-panel{min-height:500px}.limit-chip{background:var(--amber-soft);color:#98670d;font-size:calc(9px * var(--text-scale,1));border-radius:999px;padding:6px 9px;font-weight:800}@media (max-width:900px){.agenda-command-bar{grid-template-columns:1fr auto}.period-switch{justify-self:end}.period-navigation{grid-area:2/1/auto/-1}.agenda-filters{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.client-toolbar .toolbar-actions,.toolbar-actions{flex-direction:column;align-items:stretch}.client-toolbar .toolbar-actions .select-control,.toolbar-actions .button{width:100%}.pagination{justify-content:space-between}.agenda-command-bar{grid-template-columns:1fr}.view-switch,.period-switch,.agenda-command-bar>.button{width:100%}.view-switch button,.period-switch button{flex:1}.period-navigation{flex-wrap:wrap;grid-area:auto/1}.period-navigation strong{min-width:calc(100% - 104px)}.agenda-filters{grid-template-columns:1fr}.appointment-calendar,.calendar-period-frame-week{padding:8px}.calendar-period-frame-week>.calendar-period-week{padding:0}.appointment-calendar.calendar-period-day>*{min-width:0}.calendar-period-month>*{min-width:0;font-size:calc(9px * var(--text-scale,1))}.calendar-period-month .calendar-event-content{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1px;padding:2px 1px;line-height:1;display:grid}.calendar-period-month .calendar-month-event-harness{margin-inline:1px}.calendar-period-month .calendar-event-scheduled,.calendar-period-month .calendar-event-confirmed,.calendar-period-month .calendar-event-reschedule_requested,.calendar-period-month .calendar-event-cancelled,.calendar-period-month .calendar-event-no_response{border-left-width:2px}.calendar-period-month .calendar-event-content strong,.calendar-period-month .calendar-event-service,.calendar-period-month .calendar-event-status-label{display:none}.calendar-period-month .calendar-event-time{font-size:calc(7px * var(--text-scale,1));grid-area:1/2}.calendar-period-month .calendar-event-status{font-size:calc(7px * var(--text-scale,1));grid-area:1/1;display:block}.calendar-period-day .calendar-event-content,.calendar-period-week .calendar-event-content{gap:1px;padding:4px 5px}.calendar-period-day .calendar-event-content strong,.calendar-period-week .calendar-event-content strong{font-size:calc(10px * var(--text-scale,1))}.calendar-period-day .calendar-event-service,.calendar-period-week .calendar-event-service,.calendar-period-day .calendar-event-professional,.calendar-period-week .calendar-event-professional,.calendar-period-day .calendar-event-status,.calendar-period-week .calendar-event-status{font-size:calc(8px * var(--text-scale,1))}.calendar-mobile-simultaneous-harness .calendar-event-content{gap:0;padding:2px 4px;position:relative}.calendar-mobile-simultaneous-harness .calendar-event-service,.calendar-mobile-simultaneous-harness .calendar-event-status-label{display:none}.calendar-mobile-simultaneous-harness .calendar-event-status{margin:0;position:absolute;top:2px;right:3px}.calendar-mobile-simultaneous-harness .calendar-event-content strong{font-size:calc(9px * var(--text-scale,1));padding-right:12px}.calendar-mobile-simultaneous-harness .calendar-event-professional{font-size:calc(7px * var(--text-scale,1))}.duplicate-match{grid-template-columns:1fr}.duplicate-actions,.duplicate-footer-actions{flex-direction:column;align-items:stretch}.duplicate-actions .button,.duplicate-footer-actions .button{width:100%}}
.modal:has(.appointment-form){width:min(820px,100%)}.appointment-form{gap:20px}.flow-steps{grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.flow-steps li{color:#819098;text-align:center;font-size:calc(10px * var(--text-scale,1));border-bottom:3px solid #dce5e2;padding:9px;font-weight:800}.flow-steps li.active,.flow-steps li.complete{border-color:var(--teal);color:var(--teal-dark)}.flow-steps li.complete{background:#f1faf8}.appointment-section{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;padding:17px;display:flex}.appointment-section>h3,.quick-client h4{color:var(--ink);font-size:calc(14px * var(--text-scale,1));margin:0}.selected-client{background:#eff9f6;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.selected-client>div,.patient-options button{flex-direction:column;gap:4px;min-width:0;display:flex}.selected-client span,.patient-options span,.muted-note{color:var(--muted);font-size:calc(10px * var(--text-scale,1))}.patient-options{border:1px solid var(--line);border-radius:9px;flex-direction:column;max-height:220px;display:flex;overflow-y:auto}.patient-options button{border:0;border-top:1px solid var(--line);min-height:54px;color:var(--ink);text-align:left;background:#fff;padding:10px 12px}.patient-options button:first-child{border-top:0}.patient-options button:hover,.patient-options button:focus-visible{background:#f0faf7}.quick-client{flex-direction:column;gap:13px;padding:4px 0 0;display:flex}.quick-client-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:12px;display:flex}.quick-client-header p{color:var(--muted);font-size:calc(10px * var(--text-scale,1));margin:4px 0 0}.client-search-step{flex-direction:column;gap:12px;display:flex}.slot-picker{grid-template-columns:repeat(5,minmax(84px,1fr));gap:8px;display:grid}.slot-picker>p{color:var(--muted);font-size:calc(11px * var(--text-scale,1));grid-column:1/-1}.slot-picker button{min-height:48px;color:var(--teal-dark);background:#fff;border:1px solid #bfded7;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px;font-weight:800;display:flex}.slot-picker button:hover,.slot-picker button.selected{border-color:var(--teal);background:var(--teal-soft)}.slot-picker button span{color:#a06710;font-size:calc(8px * var(--text-scale,1))}.conflict-confirm{background:var(--amber-soft);color:#82580d;font-size:calc(10px * var(--text-scale,1));border-radius:8px;align-items:flex-start;gap:9px;padding:11px;line-height:1.5;display:flex}.conflict-confirm input{width:18px;height:18px}.appointment-summary,.detail-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.appointment-summary>span,.detail-grid>span{color:var(--muted);font-size:calc(9px * var(--text-scale,1));background:#f5f8f7;border-radius:8px;flex-direction:column;gap:4px;padding:11px;display:flex}.appointment-summary strong,.detail-grid strong{color:var(--ink);font-size:calc(11px * var(--text-scale,1))}.detail-grid .detail-status{align-items:flex-start}.detail-grid .appointment-status-detail{justify-content:flex-start;width:100%}.detail-grid .appointment-status-detail>span{background:0 0;padding:0}.appointment-details{flex-direction:column;gap:18px;padding:22px;display:flex}.detail-notes,.cancellation-record,.cancellation-warning{background:#f5f8f7;border-radius:9px;padding:13px}.appointment-outcome{background:#f8fbfa;border:1px solid #cfe0dc;border-radius:10px;gap:12px;padding:15px;display:grid}.appointment-outcome h3,.appointment-outcome h4{font-size:calc(12px * var(--text-scale,1));margin:0}.appointment-outcome>div:first-child p{color:var(--muted);font-size:calc(10px * var(--text-scale,1));margin:4px 0 0}.appointment-outcome-form,.outcome-history{gap:12px;display:grid}.appointment-outcome-form fieldset{border:0;flex-wrap:wrap;gap:12px;margin:0;padding:0;display:flex}.appointment-outcome-form legend{width:100%;font-size:calc(11px * var(--text-scale,1));margin-bottom:3px;font-weight:800}.appointment-outcome-form label{font-size:calc(11px * var(--text-scale,1));align-items:center;gap:6px;font-weight:700;display:flex}.appointment-outcome-form input{accent-color:var(--teal)}.outcome-history{border-top:1px solid var(--line);gap:7px;padding-top:10px}.outcome-history p{color:var(--muted);font-size:calc(10px * var(--text-scale,1));flex-direction:column;gap:2px;margin:0;display:flex}.outcome-history small{color:var(--muted);font-size:calc(9px * var(--text-scale,1))}.detail-notes h3,.cancellation-record h3,.history-timeline h3{font-size:calc(12px * var(--text-scale,1));margin:0 0 8px}.detail-notes p,.cancellation-record p,.cancellation-warning p{color:var(--muted);font-size:calc(10px * var(--text-scale,1));margin:4px 0 0;line-height:1.5}.cancellation-record,.cancellation-warning{color:#8b4242;background:#fbeaea}.history-timeline>p{color:var(--muted);font-size:calc(10px * var(--text-scale,1))}.history-timeline article{grid-template-columns:14px 1fr;gap:10px;display:grid}.history-timeline article>span{background:var(--teal);border:2px solid #fff;border-radius:50%;width:9px;height:9px;margin-top:5px;box-shadow:0 0 0 2px #a9ddd3}.history-timeline article>div{border-bottom:1px solid var(--line);padding:0 0 15px}.history-timeline article p{color:#57666f;font-size:calc(10px * var(--text-scale,1));margin:4px 0}.history-timeline article small{color:var(--muted);font-size:calc(9px * var(--text-scale,1))}.detail-actions{flex-wrap:wrap}.patient-details,.lifecycle-dialog{flex-direction:column;gap:18px;padding:22px;display:flex}.preserve-lines{white-space:pre-wrap}.detail-notes small{color:var(--muted);font-size:calc(9px * var(--text-scale,1));margin-top:8px;display:block}.patient-appointment-summary{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.patient-appointment-summary section{border:1px solid var(--line);background:#fafcfb;border-radius:10px;flex-direction:column;gap:5px;min-height:125px;padding:14px;display:flex}.patient-appointment-summary h3,.patient-appointment-summary p{margin:0 0 6px}.patient-appointment-summary h3{font-size:calc(11px * var(--text-scale,1))}.patient-appointment-summary span,.patient-appointment-summary small,.patient-appointment-summary p{color:var(--muted);font-size:calc(9px * var(--text-scale,1))}.lifecycle-dialog>p{color:#53616a;font-size:calc(11px * var(--text-scale,1));margin:0;line-height:1.55}.lifecycle-dialog-danger{border-top:3px solid var(--danger)}@media (max-width:900px){.slot-picker{grid-template-columns:repeat(4,1fr)}}@media (max-width:560px){.flow-steps li{font-size:calc(9px * var(--text-scale,1));padding:8px 3px}.appointment-section{padding:13px}.slot-picker{grid-template-columns:repeat(3,1fr)}.appointment-summary,.detail-grid,.patient-appointment-summary{grid-template-columns:1fr}.quick-client-header,.inline-actions{flex-direction:column;align-items:stretch}.inline-actions .button{width:100%}}
.modal:has(.appointment-details){width:min(760px,100%)}.appointment-detail-hero{border-bottom:1px solid var(--line);padding:4px 2px 18px}.appointment-detail-hero>span{color:var(--teal-dark);font-size:calc(10px * var(--text-scale,1));letter-spacing:.07em;text-transform:uppercase;font-weight:900}.appointment-detail-hero h3{color:var(--ink);font-size:calc(25px * var(--text-scale,1));letter-spacing:-.03em;margin:5px 0 3px;line-height:1.15}.appointment-detail-hero p,.appointment-detail-hero time{color:#4f6069;font-size:calc(12px * var(--text-scale,1));margin:0;display:block}.appointment-detail-hero time{color:var(--muted);margin-top:5px}.appointment-status-section{background:#f8fbfa;border:1px solid #cfe0dc;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;padding:15px;display:flex}.appointment-status-section h3{font-size:calc(12px * var(--text-scale,1));margin:0 0 9px}.appointment-status-section p{color:var(--muted);font-size:calc(10px * var(--text-scale,1));margin:9px 0 0}.appointment-status-section .appointment-status-detail{justify-content:flex-start}.appointment-status-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.outcome-record{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.outcome-record small{color:var(--muted);font-size:calc(10px * var(--text-scale,1))}.appointment-outcome-actions{justify-content:flex-end;gap:8px;display:flex}.outcome-history p>span{color:#52616f}.followup-note{color:#31584f;font-size:calc(11px * var(--text-scale,1));background:#f1faf7;border:1px solid #cfe0dc;border-radius:9px;margin:0;padding:12px 14px}@media (max-width:620px){.appointment-details{padding:17px}.appointment-status-section,.appointment-status-actions{flex-direction:column;align-items:stretch}.appointment-status-actions .button,.appointment-outcome-actions .button{width:100%}.appointment-outcome-actions{flex-direction:column-reverse}.detail-actions{grid-template-columns:1fr;display:grid}.detail-actions .button{width:100%}}
.appointments-mobile-list{display:none}.appointment-action-popover>.danger-link{border-top:1px solid #f0d7d7;margin-top:5px}.appointments-desktop-table tr.appointment-past{background:#fafbfb}.appointments-desktop-table tr.appointment-past>td{color:#6c7a81}.outcome{width:fit-content;max-width:100%;font-size:calc(10px * var(--text-scale,1));white-space:normal;border-radius:999px;padding:5px 8px;font-weight:800;line-height:1.25;display:inline-flex}.outcome-completed{color:#276356;background:#e9f7f3}.outcome-no-show{color:#7b4540;background:#faecea}.outcome-pending{color:#785b15;background:#fff6da}.outcome-neutral{color:#75838a;background:#f1f4f3}@media (max-width:900px){.appointments-table{margin:0!important;overflow:visible!important}.appointments-desktop-table{display:none!important}.appointments-mobile-list{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);display:block;overflow:visible}.appointment-day-group{content-visibility:auto;contain-intrinsic-size:400px}.appointment-day-group+.appointment-day-group{border-top:9px solid var(--canvas)}.appointment-day-group>h3{border-bottom:1px solid var(--line);color:#596971;font-size:max(10px, calc(10px * var(--text-scale,1)));letter-spacing:.065em;text-transform:uppercase;background:#f7f9f8;margin:0;padding:9px 13px;font-weight:900;line-height:1.35}.appointment-mobile-item{background:var(--surface);content-visibility:auto;contain-intrinsic-size:108px;border-top:1px solid #edf1f0;grid-template-columns:minmax(0,1fr) 52px;align-items:stretch;min-width:0;min-height:108px;display:grid}.appointment-day-group>h3+.appointment-mobile-item{border-top:0}.appointment-mobile-primary{min-width:0;min-height:108px;color:var(--ink);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:start;gap:4px;padding:11px 8px 11px 13px;display:grid;overflow:hidden}.appointment-mobile-primary:hover{background:#f8fbfa}.appointment-mobile-primary:active{background:#edf7f4}.appointment-mobile-primary:focus-visible{z-index:2;outline:3px solid var(--focus-ring);outline-offset:-3px;position:relative}.appointment-mobile-primary time{color:#42535c;font-size:max(12px, calc(12px * var(--text-scale,1)));font-variant-numeric:tabular-nums;letter-spacing:.015em;white-space:nowrap;font-weight:850}.appointment-mobile-primary>strong{width:100%;font-size:max(14px, calc(14px * var(--text-scale,1)));text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.appointment-mobile-meta{width:100%;min-width:0;color:var(--muted);font-size:max(11px, calc(11px * var(--text-scale,1)));white-space:nowrap;align-items:center;gap:5px;line-height:1.35;display:flex;overflow:hidden}.appointment-mobile-meta>span:not([aria-hidden]){text-overflow:ellipsis;min-width:0;max-width:calc(50% - 8px);overflow:hidden}.appointment-mobile-meta>span[aria-hidden]{color:#9aa6ab;flex:none}.appointment-mobile-status{min-width:0;max-width:100%;display:block;overflow:hidden}.appointment-mobile-status .appointment-status-compact{max-width:100%;font-size:max(10px, calc(10px * var(--text-scale,1)));border-radius:999px;margin:1px 0 0;padding:3px 7px}.appointment-mobile-status .appointment-status-icon{flex:none;width:14px;height:14px}.appointment-mobile-status .outcome{margin-top:5px}.appointment-mobile-actions{border-left:1px solid #f0f3f2;place-items:center;min-width:52px;display:grid}.appointment-mobile-actions .appointment-action-trigger{width:44px;min-width:44px;min-height:44px}.appointment-action-popover>.danger-link{border-top:1px solid #f0d7d7;margin-top:6px}}@media (max-width:430px){.appointment-mobile-item,.appointment-mobile-primary{min-height:104px}.appointment-mobile-primary{padding-left:11px}}
