:root{color-scheme:light;--color-primary:#915cc2;--color-primary-active:#b98bdb;--color-primary-dark:#6e3c99;--color-primary-soft:#f8f3fb;--color-primary-border:#e4d5ef;--color-secondary:#d2afe9;--color-surface-tint:#fdfbff;--color-ink:#1f1724;--color-success:#16805d;--color-success-soft:#cdede1;--color-danger:#c23b43;--color-danger-dark:#a92f37;--ink:var(--color-ink);--muted:#666666;--surface:#f8f8fa;--card:#ffffff;--accent:var(--color-primary);--accent-active:var(--color-primary-active);--accent-dark:var(--color-primary-dark);--accent-soft:var(--color-primary-soft);--line:var(--color-primary-border);--nav:#251b2c;--nav-active:#392a42;--nav-muted:#d4bce6;--brand:var(--color-primary);--brand-soft:var(--color-primary-soft);--danger:var(--color-danger);--focus-ring:rgb(145 92 194/18%);--overlay:rgb(31 23 36/62%);--shadow-brand:rgb(110 60 153/24%)}.desktop-calendar-shell{--schedule-canvas:#f6f6f9;--schedule-surface:#fff;--schedule-soft:#faf9fc;--schedule-ink:#202027;--schedule-muted:#74747f;--schedule-subtle:#a3a2aa;--schedule-line:#e9e7ed;--schedule-line-strong:#ddd9e3;--schedule-green:#2f7d5d;--schedule-green-soft:#e8f4ee;--schedule-amber:#9a681c;--schedule-amber-soft:#fbf0d9;--schedule-red:#c63f4b;--schedule-red-soft:#fae9eb;--schedule-blue:#446a9a;--schedule-blue-soft:#eaf0f7;height:100dvh;min-width:0;padding:26px 28px 30px;display:flex;flex-direction:column;overflow:hidden;color:var(--schedule-ink);background:var(--schedule-canvas)}.calendar-toolbar{flex:0 0 auto}.calendar-page-heading{min-height:36px;justify-content:flex-end;gap:24px}.calendar-heading-actions,.calendar-page-heading{display:flex;align-items:center}.calendar-heading-actions{padding-bottom:3px;gap:16px}.calendar-load{display:flex;align-items:center;gap:10px;color:var(--schedule-muted);font-size:12px}.calendar-load i{width:112px;height:7px;display:block;overflow:hidden;border-radius:999px;background:#e4e1e7}.calendar-load b{height:100%;display:block;border-radius:inherit;background:var(--brand)}.calendar-load strong{min-width:32px;color:#5f5c65;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-activity-button{min-height:34px;padding:0 11px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--schedule-line-strong);border-radius:10px;color:var(--schedule-ink);background:var(--schedule-surface);font-size:12px;font-weight:700}.calendar-activity-button:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.calendar-activity-button:disabled{border-color:var(--schedule-line);color:var(--schedule-subtle);background:var(--schedule-soft);cursor:not-allowed}.calendar-activity-button svg{width:15px}.professional-sheet.activity-feed-sheet{width:min(520px,100%)}.activity-feed-filters{display:grid;gap:12px}.activity-filter-control{display:grid;gap:7px;color:var(--schedule-muted);font-size:12px;font-weight:700}.activity-filter-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.activity-feed-filters .ui-combobox-trigger,.activity-feed-filters .ui-select-trigger{width:100%}.activity-add-filter{min-height:42px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;border:1px dashed var(--schedule-line-strong);border-radius:9px;color:var(--schedule-muted);background:var(--schedule-surface);font-size:12px;font-weight:700}.activity-add-filter:hover,.activity-add-filter[data-state=open]{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.activity-add-filter:disabled{opacity:.45;cursor:not-allowed}.activity-add-filter svg,.activity-remove-filter svg{width:15px;height:15px}.activity-add-filter-menu{min-width:180px}.activity-additional-filters{display:grid;gap:10px}.activity-additional-filter{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:end;gap:8px}.activity-remove-filter{width:34px;height:42px;display:grid;place-items:center;border:0;border-radius:9px;color:var(--schedule-muted);background:transparent}.activity-remove-filter:hover{color:var(--schedule-ink);background:var(--schedule-soft)}.activity-entity-filter{min-height:52px;padding:9px 12px;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #cfe0d8;border-radius:12px;color:var(--schedule-green);background:var(--schedule-green-soft);text-align:left}.activity-entity-filter span{display:grid;gap:2px;font-weight:700}.activity-entity-filter small{color:var(--schedule-muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.activity-entity-filter svg{width:16px}.activity-feed-list{margin-top:18px;display:grid}.activity-feed-event{position:relative;min-height:76px;padding:14px 0 14px 25px;border-bottom:1px solid var(--schedule-line)}.activity-feed-event:first-child{border-top:1px solid var(--schedule-line)}.activity-feed-marker{position:absolute;top:19px;left:3px;width:10px;height:10px;border:3px solid var(--brand-soft);border-radius:50%;background:var(--brand);box-sizing:content-box}.activity-feed-event p,.activity-feed-event small,.activity-feed-event strong{display:block;margin:0}.activity-feed-event strong{color:var(--schedule-ink);font-size:13px}.activity-feed-event p{margin-top:5px;color:var(--schedule-muted);font-size:12px}.activity-feed-event small{margin-top:4px;color:var(--schedule-subtle);font-size:11px;line-height:1.4}.activity-feed-state{padding:36px 12px;color:var(--schedule-muted);text-align:center;font-size:13px}.activity-feed-state.error{color:var(--schedule-red)}.activity-feed-count{margin-right:auto;color:var(--schedule-muted);font-size:12px;font-weight:700}.activity-refresh{min-height:40px;padding:0 14px;display:inline-flex;align-items:center;gap:7px}.activity-refresh svg{width:15px}.calendar-control-deck{min-height:68px;margin-top:22px;padding:13px 16px;gap:14px;border:1px solid var(--schedule-line);border-bottom:0;border-radius:18px 18px 0 0;background:var(--schedule-surface)}.calendar-control-deck,.calendar-navigation,.calendar-toolbar-actions,.calendar-view-switcher{display:flex;align-items:center}.calendar-navigation{gap:4px}.calendar-navigation button{width:38px;height:38px;padding:0;display:grid;place-items:center;border:1px solid var(--schedule-line);border-radius:10px;color:#5e5d65;background:white}.calendar-navigation button:hover{border-color:var(--schedule-line-strong);background:var(--schedule-canvas)}.calendar-navigation button svg{width:17px;height:17px}.calendar-navigation .today{width:auto;min-width:63px;padding:0 13px;font-size:12px;font-weight:700}.calendar-date-context{min-width:220px;display:grid;gap:2px}.calendar-date-context strong{font-size:14px;font-weight:700}.calendar-date-context span{color:var(--schedule-muted);font-size:11px}.calendar-toolbar-actions{margin-left:auto;gap:10px}.calendar-view-switcher{padding:3px;border:1px solid var(--schedule-line);border-radius:11px;background:var(--schedule-canvas)}.calendar-view-switcher button{height:32px;padding:0 14px;border:0;border-radius:8px;color:var(--schedule-muted);background:transparent;font-size:11px;font-weight:700}.calendar-view-switcher button.active{color:var(--schedule-ink);background:white;box-shadow:0 2px 7px rgb(30 20 40/8%)}.calendar-toolbar-actions .button{min-height:40px;padding:0 15px;border-radius:11px;box-shadow:0 8px 22px rgb(145 92 194/18%)}.calendar-toolbar-actions .button svg{width:15px;height:15px}.calendar-filters{min-height:58px;padding:10px 16px;display:flex;align-items:center;gap:8px;overflow-x:auto;border:1px solid var(--schedule-line);border-bottom:0;background:white;scrollbar-width:thin}.calendar-filter-label{flex:0 0 auto;margin-right:2px;color:var(--schedule-muted);font-size:11px}.professional-filter,.professional-filter-list{display:flex;align-items:center;gap:7px}.professional-filter{height:34px;padding:0 11px 0 7px;flex:0 0 auto;overflow:hidden;border:1px solid var(--schedule-line);border-radius:999px;color:#55545b;background:white;font-size:11px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.professional-filter:hover{border-color:#d7c6e5}.professional-filter.active{border-color:rgb(145 92 194/42%);color:var(--accent-dark);background:var(--brand-soft)}.professional-filter-avatar,.resource-avatar,.schedule-list-client>i,.schedule-list-professionals>i{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-style:normal;font-weight:800}.professional-filter-avatar{width:22px;height:22px;font-size:8px}.professional-filter-avatar.all{color:white;background:#313039}.tone-0{color:#6d3f92;background:#ecddf7}.tone-1{color:#3d6679;background:#dcebf2}.tone-2{color:#8d5547;background:#f8e2dc}.tone-3{color:#4b7147;background:#e1efdf}.unassigned{color:#6e6d75;background:#ecebef}.calendar-search{width:min(220px,20vw);height:34px;margin-left:auto;padding:0 10px;display:flex;align-items:center;gap:7px;flex:0 0 auto;border:1px solid var(--schedule-line);border-radius:9px;background:var(--schedule-canvas)}.calendar-search svg{width:14px;height:14px;color:var(--schedule-muted)}.calendar-search input{width:100%;height:32px;border:0;outline:0;color:var(--schedule-ink);background:transparent;font-size:11px}.calendar-filter-control{width:154px;height:34px;flex:0 0 auto}.calendar-list-grouping{width:178px}.calendar-filter-control>span{display:none}.calendar-filter-control .ui-select-trigger{min-height:34px;padding:5px 9px;border-color:var(--schedule-line);border-radius:9px;background:white;font-size:11px}.clear-filters{height:34px;padding:0 8px;display:flex;align-items:center;gap:5px;flex:0 0 auto;border:0;border-radius:8px;color:var(--schedule-muted);background:transparent;font-size:10px;font-weight:700}.clear-filters:disabled{opacity:.34;cursor:default}.clear-filters svg{width:13px;height:13px}.calendar-surface{position:relative;min-height:0;flex:1 1;overflow:hidden;border:1px solid var(--schedule-line);border-radius:0 0 18px 18px;background:white;box-shadow:0 18px 60px rgb(49 36 60/8%)}.calendar-error{position:absolute;z-index:20;top:12px;left:50%;padding:9px 13px;transform:translateX(-50%);border-radius:9px;color:#a6384b;background:#fff0f2;box-shadow:0 6px 20px rgb(90 20 30/12%);font-size:12px}.resource-calendar-scroll{width:100%;height:100%;overflow:auto}.resource-calendar{position:relative;min-width:max(100%,calc(72px + var(--resource-lane-count) * 228px));display:grid;grid-template-columns:72px repeat(var(--resource-lane-count),minmax(228px,1fr));grid-template-rows:72px auto}.resource-corner{position:sticky;z-index:14;top:0;left:0;height:72px;display:grid;place-items:center;color:var(--schedule-subtle);background:var(--schedule-soft);font-size:9px}.resource-corner,.resource-professional-head{border-right:1px solid var(--schedule-line);border-bottom:1px solid var(--schedule-line)}.resource-professional-head{position:sticky;z-index:12;top:0;height:72px;padding:12px 14px;display:flex;align-items:center;gap:10px;background:rgb(250 249 252/96%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.resource-avatar{width:38px;height:38px;border-radius:13px;font-size:11px}.resource-professional-head>span{min-width:0;display:grid;gap:3px}.resource-professional-head small,.resource-professional-head strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.resource-professional-head strong{font-size:12px}.resource-professional-head small{color:var(--schedule-muted);font-size:10px}.resource-times{position:sticky;z-index:9;left:0;display:grid;grid-template-rows:repeat(24,var(--calendar-hour-height));background:white}.resource-times time{padding:8px 11px 0 0;border-bottom:1px solid var(--schedule-line);color:var(--schedule-muted);text-align:right;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.resource-lane,.resource-times time{border-right:1px solid var(--schedule-line)}.resource-lane{position:relative;min-height:calc(var(--calendar-hour-height) * 24);display:grid;grid-template-rows:repeat(24,var(--calendar-hour-height));background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--calendar-hour-height) / 2 - 1px),#f1eff3 calc(var(--calendar-hour-height) / 2 - 1px),#f1eff3 calc(var(--calendar-hour-height) / 2),transparent calc(var(--calendar-hour-height) / 2),transparent calc(var(--calendar-hour-height) - 1px),var(--schedule-line) calc(var(--calendar-hour-height) - 1px),var(--schedule-line) var(--calendar-hour-height))}.resource-time-cell{border:0;background:transparent}.resource-time-cell:hover{background:rgb(145 92 194/4%)}.resource-appointment-position{position:absolute;z-index:4;min-width:0;min-height:34px}.resource-appointment-position:hover{z-index:7}.resource-now-line{z-index:10;right:0;left:72px;height:1px;pointer-events:none}.resource-now-line,.resource-now-line:before{position:absolute;background:var(--schedule-red)}.resource-now-line:before{content:"";top:-3px;left:-3px;width:7px;height:7px;border-radius:50%}.resource-now-line time{position:absolute;top:0;left:-61px;width:54px;padding:2px 5px;transform:translateY(-50%);border-radius:5px;color:white;background:var(--schedule-red);font-size:9px;font-style:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2;text-align:center}.week-resource-scroll{width:100%;height:100%;overflow:auto}.week-resource-grid{min-width:max(100%,1110px);display:grid;grid-template-columns:190px repeat(7,minmax(130px,1fr));gap:1px;background:var(--schedule-line)}.week-resource-corner,.week-resource-day-head{position:sticky;z-index:12;top:0;min-height:68px;padding:10px 12px;display:flex;flex-direction:column;justify-content:center;background:rgb(250 249 252/97%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.week-resource-corner{z-index:15;left:0;color:var(--schedule-muted);font-size:10px}.week-resource-corner strong{margin-bottom:3px;color:var(--schedule-ink);font-size:12px}.week-resource-day-head{align-items:center;text-align:center}.week-resource-day-head span{color:var(--schedule-muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.week-resource-day-head strong{margin-top:4px;font-size:16px}.week-resource-day-head.today strong{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;color:white;background:var(--brand)}.week-resource-row{grid-column:1/-1;min-height:172px;display:grid;grid-template-columns:190px repeat(7,minmax(130px,1fr));gap:1px;background:var(--schedule-line)}.week-resource-professional{position:sticky;z-index:8;left:0;min-height:172px;padding:15px 13px;display:flex;align-items:flex-start;gap:10px;background:white}.week-resource-professional .resource-avatar{width:36px;height:36px;border-radius:12px}.week-resource-professional>span{min-width:0;display:grid;gap:4px}.week-resource-professional small,.week-resource-professional strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.week-resource-professional strong{font-size:11px}.week-resource-professional small{color:var(--schedule-muted);font-size:9px}.week-resource-cell{position:relative;min-width:0;min-height:172px;padding:8px 8px 16px;background:white}.week-resource-cell.today{background:#fdfbff;box-shadow:inset 0 2px 0 var(--brand)}.week-resource-cell>.calendar-appointment{position:relative;z-index:1;height:43px;min-height:43px;margin-bottom:5px;padding:6px 7px 6px 9px;border-radius:7px}.week-resource-cell>.calendar-appointment time{font-size:8px}.week-resource-cell>.calendar-appointment strong{font-size:10px}.week-resource-cell>.calendar-appointment span{font-size:8px}.week-cell-add{position:absolute;inset:8px 8px 16px;z-index:0;border:1px dashed transparent;border-radius:8px;color:transparent;background:transparent;font-size:10px;text-align:center;cursor:pointer}.week-cell-add:focus-visible,.week-resource-cell:hover .week-cell-add{border-color:var(--schedule-line-strong);color:var(--schedule-muted);background:rgb(145 92 194/3%)}.week-add-another{position:relative;z-index:2;width:100%;min-height:22px;margin-top:1px;border:1px dashed var(--schedule-line-strong);border-radius:6px;color:var(--schedule-muted);background:white;font-size:9px;font-weight:700;cursor:pointer}.week-add-another:focus-visible,.week-add-another:hover{border-color:var(--brand);color:var(--accent-dark);background:var(--brand-soft)}.week-resource-load{position:absolute;right:8px;bottom:7px;left:8px;height:3px;overflow:hidden;border-radius:99px;background:var(--schedule-line);pointer-events:none}.week-resource-load b{height:100%;display:block;border-radius:inherit;background:var(--schedule-green)}.calendar-appointment{width:100%;min-width:0;height:100%;padding:8px 9px 7px 11px;display:block;overflow:hidden;border:0;border-left:3px solid var(--schedule-blue);border-radius:8px;color:#345374;text-align:left;background:var(--schedule-blue-soft);box-shadow:inset 0 0 0 1px rgb(68 106 154/9%)}.calendar-appointment:hover{filter:brightness(.985);box-shadow:0 5px 14px rgb(35 30 45/10%)}.calendar-appointment span,.calendar-appointment strong,.calendar-appointment time{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-appointment time{opacity:.72;font-size:9px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-appointment strong{margin-top:2px;font-size:11px}.calendar-appointment span{margin-top:2px;opacity:.78;font-size:9px}.calendar-appointment .calendar-appointment-amount{opacity:1;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-appointment em{width:fit-content;margin-top:4px;padding:2px 4px;display:block;border-radius:5px;color:#9c2531;background:rgb(198 63 75/12%);font-size:8px;font-style:normal;font-weight:800;white-space:nowrap}.calendar-appointment.compact{height:auto;min-height:32px;padding:4px 5px;display:grid;align-content:start;gap:1px;border-left-width:2px;border-radius:5px}.calendar-appointment.compact time{flex:0 0 auto}.calendar-appointment.compact strong{margin:0;font-size:8px}.calendar-appointment.compact em{display:none}.calendar-appointment.compact span{margin:0}.calendar-appointment.compact .calendar-appointment-services{font-size:9px}.calendar-appointment.compact .calendar-appointment-amount{font-size:8px}.calendar-appointment.status-scheduled,.table-status.status-scheduled{border-left-color:var(--schedule-green);color:#276745;background:var(--schedule-green-soft)}.calendar-appointment.status-pending-review,.table-status.status-pending-review{border-left-color:var(--schedule-amber);color:#805313;background:var(--schedule-amber-soft)}.calendar-appointment.status-completed,.table-status.status-completed{border-left-color:var(--brand);color:var(--accent-dark);background:var(--brand-soft)}.calendar-appointment.schedule-conflict,.calendar-appointment.status-cancelled,.calendar-appointment.status-no-show,.table-status.status-cancelled,.table-status.status-no-show{border-left-color:var(--schedule-red);color:#8c3544;background:var(--schedule-red-soft)}.month-calendar{height:100%;min-width:800px;overflow:auto}.month-calendar-head{position:sticky;z-index:5;top:0;height:42px;display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--schedule-line);background:var(--schedule-soft)}.month-calendar-head span{padding:0 11px;display:flex;align-items:center;border-right:1px solid var(--schedule-line);color:var(--schedule-muted);font-size:10px;font-weight:700}.month-calendar-grid{min-height:calc(100% - 42px);display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(152px,auto)}.month-cell{position:relative;min-width:0;padding:8px 8px 18px;overflow:visible;border-right:1px solid var(--schedule-line);border-bottom:1px solid var(--schedule-line);background:white}.month-cell:nth-child(7n){border-right:0}.month-cell.outside{background:#fafafa}.month-date{width:100%;min-height:24px;margin-bottom:5px;padding:0;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent}.month-date>span{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;font-size:10px;font-weight:800}.month-date small{color:var(--schedule-muted);font-size:8px}.month-cell.outside .month-date>span{color:var(--schedule-subtle)}.month-cell.today{box-shadow:inset 0 0 0 2px var(--brand)}.month-cell.today .month-date>span{color:white;background:var(--brand)}.month-appointments{display:grid;gap:3px}.month-capacity{position:absolute;right:8px;bottom:8px;left:8px;height:3px;overflow:hidden;border-radius:99px;background:var(--schedule-line)}.month-capacity b{height:100%;display:block;border-radius:inherit;background:var(--schedule-green)}.month-capacity.busy b{background:var(--schedule-amber)}.month-capacity.full b{background:var(--schedule-red)}.schedule-list{height:100%;padding-bottom:18px;overflow:auto}.schedule-list-group{background:white}.schedule-list-group-heading{position:sticky;z-index:5;top:0;min-height:64px;padding:10px 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--schedule-line);background:rgb(255 255 255/97%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.schedule-list-group-heading.today{background:rgb(253 251 255/97%);box-shadow:inset 3px 0 0 var(--brand)}.schedule-list-date-badge{width:42px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;border-radius:11px;background:var(--schedule-canvas);font-style:normal}.schedule-list-date-badge strong{font-size:15px;line-height:1}.schedule-list-date-badge small{margin-top:3px;color:var(--schedule-muted);font-size:7px;font-weight:800;text-transform:uppercase}.schedule-list-group-heading.today .schedule-list-date-badge{color:white;background:var(--brand)}.schedule-list-group-heading.today .schedule-list-date-badge small{color:rgb(255 255 255/78%)}.schedule-list-group-heading>.resource-avatar{width:42px;height:42px;border-radius:12px}.schedule-list-group-heading>span{min-width:0;display:grid;gap:3px}.schedule-list-group-heading>span strong{font-size:12px}.schedule-list-group-heading>b,.schedule-list-group-heading>span small{color:var(--schedule-muted);font-size:9px;font-weight:500}.schedule-list-group-heading>b{margin-left:auto;white-space:nowrap}.schedule-table-head,.schedule-table-row{min-width:860px;display:grid;grid-template-columns:118px minmax(170px,1.25fr) minmax(180px,1.1fr) minmax(150px,1fr) 116px;align-items:center;gap:14px}.schedule-table-head{min-height:36px;padding:0 4px;color:var(--schedule-muted);font-size:9px;font-weight:800}.schedule-table-row{width:100%;min-height:66px;padding:8px 18px;border:0;border-bottom:1px solid var(--schedule-line);text-align:left;background:white}.schedule-list-empty-row{min-height:58px;padding:11px 18px 11px 71px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--schedule-line);color:var(--schedule-muted);font-size:10px}.schedule-list-empty-row button{margin-left:auto;border:0;color:var(--accent-dark);background:transparent;font-size:10px;font-weight:800}.schedule-table-row:hover{background:var(--schedule-soft)}.schedule-table-row>span{min-width:0;overflow:hidden;color:#555a65;font-size:11px;text-overflow:ellipsis}.schedule-list-client>b,.schedule-table-row span:has(>small){display:grid;gap:3px}.schedule-table-row small,.schedule-table-row strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.schedule-table-row small{color:#9296a0;font-size:9px}.schedule-list-client,.schedule-list-professionals{display:flex;align-items:center;gap:8px}.schedule-list-client>i{width:34px;height:34px;color:#6e6d75;background:var(--schedule-canvas);border-radius:11px;font-size:9px}.schedule-list-client>b{min-width:0;font-weight:inherit}.schedule-list-professionals>i{width:23px;height:23px;margin-right:-12px;border:2px solid white;font-size:7px}.schedule-list-professionals>strong{margin-left:10px}.table-status{width:fit-content;padding:5px 8px;display:flex;align-items:center;gap:6px;border-radius:999px;font-size:8px;font-style:normal;font-weight:800}.table-status:before{content:"";width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:currentColor}.calendar-empty{height:100%;display:grid;place-content:center;gap:5px;color:var(--schedule-muted);text-align:center}.calendar-empty strong{color:var(--schedule-ink)}@media (max-width:1120px){.desktop-calendar-shell{padding:22px 20px 26px}.calendar-search{width:175px}.professional-filter{max-width:150px}}@media (max-width:900px){.desktop-calendar-shell{height:calc(100dvh - 66px);padding:18px 12px 76px}.calendar-heading-actions{padding-bottom:0}.calendar-load{display:none}.calendar-activity-button{min-height:36px}.calendar-control-deck{margin-top:16px;flex-wrap:wrap}.calendar-date-context{min-width:0;flex:1 1}.calendar-toolbar-actions{width:100%;margin-left:0}.calendar-view-switcher,.calendar-view-switcher button{flex:1 1}.calendar-filters{padding:9px 11px}.calendar-search{margin-left:8px}.calendar-surface{overflow:auto}}@media (max-width:560px){.desktop-calendar-shell{padding-right:10px;padding-left:10px}.calendar-control-deck{padding:10px;gap:9px;border-radius:15px 15px 0 0}.calendar-navigation .today{display:none}.calendar-date-context strong{font-size:12px}.calendar-toolbar-actions .button{width:42px;padding:0;overflow:hidden;color:transparent;white-space:nowrap}.calendar-toolbar-actions .button svg{margin:0 auto;color:white}.calendar-filter-control,.calendar-filter-label,.calendar-search,.clear-filters{display:none}.calendar-list-grouping{width:178px;display:block}.resource-calendar{min-width:max(100%,calc(64px + var(--resource-lane-count) * 240px));grid-template-columns:64px repeat(var(--resource-lane-count),minmax(240px,1fr))}.resource-corner{width:64px}.resource-now-line{left:64px}.month-calendar{min-width:760px}.schedule-list{padding-bottom:14px}.schedule-list-empty-row,.schedule-list-group-heading,.schedule-table-row{padding-right:10px;padding-left:10px}.week-resource-grid,.week-resource-row{grid-template-columns:150px repeat(7,minmax(126px,1fr))}.week-resource-professional{padding:12px 9px}.week-resource-professional .resource-avatar{display:none}.activity-feed-filters{gap:10px}.activity-filter-toolbar{grid-template-columns:1fr}.activity-add-filter{justify-content:center}}@media (prefers-reduced-motion:reduce){.calendar-appointment,.calendar-navigation button,.professional-filter{transition:none}}.ao-page{--ao-surface:#f6f6f8;--ao-line:#e8e5eb;--ao-muted:#6f6c73;--ao-subtle:#9c98a1;--ao-green:#16805d;--ao-green-soft:#e6f3ee;--ao-amber:#9a681c;--ao-amber-soft:#fbf0d9;--ao-red:#c23b43;--ao-red-soft:#fae9eb;--ao-blue:#446a9a;--ao-blue-soft:#eaf0f7;width:min(1340px,calc(100% - 56px));padding-top:34px}.ao-header{min-height:72px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.ao-header>div:first-child>p{margin:0 0 7px;color:var(--accent-dark);font-size:12px;font-weight:700}.ao-header h1{margin:0;font-size:clamp(29px,3.2vw,42px);line-height:1;letter-spacing:-.05em}.ao-header>div:first-child>span{display:block;margin-top:9px;color:var(--ao-muted);font-size:13px}.ao-header-actions{display:flex;align-items:center;gap:9px}.ao-header-actions svg{width:15px}.ao-date-deck{margin-top:24px;padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--ao-line);border-radius:15px;background:white}.ao-date-navigation{display:flex;gap:5px}.ao-date-navigation button{width:36px;height:36px;padding:0;display:grid;place-items:center;border:1px solid var(--ao-line);border-radius:9px;background:white}.ao-date-navigation button:hover{background:var(--ao-surface)}.ao-date-navigation svg{width:16px}.ao-days{min-width:0;display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));gap:5px}.ao-days>button{min-width:0;min-height:50px;padding:6px 9px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left}.ao-days>button:hover{background:var(--ao-surface)}.ao-days>button.active{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.ao-days time{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#f1eff3;font-size:13px;font-weight:800}.ao-days>button.active time{color:white;background:var(--accent)}.ao-days span{min-width:0;display:grid;gap:2px}.ao-days small,.ao-days strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ao-days strong{font-size:10px}.ao-days small{color:var(--ao-muted);font-size:9px}.ao-state{margin-top:14px;padding:12px 15px;border:1px solid var(--color-primary-border);border-radius:11px;color:var(--accent-dark);background:var(--color-primary-soft);font-size:12px}.ao-state.error{border-color:#efcbd0;color:var(--ao-red);background:var(--ao-red-soft)}.ao-summary{margin-top:14px;display:grid;grid-template-columns:1.05fr 1fr 1fr 1.15fr;overflow:hidden;border:1px solid var(--ao-line);border-radius:15px;background:white}.ao-summary article{min-width:0;min-height:92px;padding:17px 18px;display:grid;grid-template-columns:36px minmax(0,1fr);align-content:center;gap:9px 12px;border-right:1px solid var(--ao-line)}.ao-summary article:last-child{border-right:0}.ao-summary article>i{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--accent-dark);background:var(--color-primary-soft);font-style:normal}.ao-summary article>i svg{width:17px}.ao-summary article>div{min-width:0;display:flex;align-items:baseline;gap:6px}.ao-summary article>div strong{min-width:0;overflow:hidden;font-size:24px;line-height:1;letter-spacing:-.04em;white-space:nowrap;text-overflow:ellipsis}.ao-summary article>div span,.ao-summary article>small{color:var(--ao-muted);font-size:10px}.ao-summary article>div span{font-weight:600;white-space:nowrap}.ao-summary article>small{grid-column:2}.ao-summary article>small.warning{color:var(--ao-amber)}.ao-summary article>small.positive{color:var(--ao-green)}.ao-primary-grid{margin-top:14px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.72fr);align-items:start;gap:14px}.ao-panel{overflow:hidden;border:1px solid var(--ao-line);border-radius:15px;background:white}.ao-panel-heading{min-height:70px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ao-line)}.ao-panel-heading h2{margin:0;font-size:16px;letter-spacing:-.02em}.ao-panel-heading p{margin:4px 0 0;color:var(--ao-muted);font-size:11px}.ao-panel-heading>a{display:inline-flex;align-items:center;gap:5px;color:var(--accent-dark);font-size:11px;font-weight:700;white-space:nowrap}.ao-panel-heading>a:hover{text-decoration:underline;text-underline-offset:3px}.ao-panel-heading>a svg{width:13px}.ao-live{margin-left:7px;padding:4px 7px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;color:var(--ao-green);background:var(--ao-green-soft);font-size:9px;font-style:normal;font-weight:800;vertical-align:2px}.ao-live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ao-green);box-shadow:0 0 0 3px rgb(22 128 93/12%)}.ao-timeline-scroll{overflow-x:auto;scrollbar-width:thin}.ao-timeline{min-width:1662px}.ao-timeline-head{min-height:38px;display:grid;grid-template-columns:150px minmax(1512px,1fr);border-bottom:1px solid var(--ao-line);background:#fbfafc}.ao-timeline-head>span{position:sticky;z-index:7;left:0;padding:12px 14px;border-right:1px solid var(--ao-line);color:var(--ao-muted);background:#fbfafc;font-size:9px;font-weight:700}.ao-timeline-head>div{display:grid;grid-template-columns:repeat(24,1fr);align-items:center}.ao-timeline-head time{color:var(--ao-subtle);font-size:9px;transform:translateX(-4px)}.ao-lane{display:grid;grid-template-columns:150px minmax(1512px,1fr);border-bottom:1px solid #f0eef2}.ao-lane:last-child{border-bottom:0}.ao-person{position:sticky;z-index:7;left:0;padding:12px 13px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;border-right:1px solid var(--ao-line);background:white}.ao-avatar{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:var(--accent-dark);background:var(--color-primary-soft);font-size:10px;font-style:normal;font-weight:800}.ao-avatar.tone-1{color:#35617a;background:#eaf2f7}.ao-avatar.tone-2{color:#8d5a15;background:#fbf0d9}.ao-avatar.tone-3{color:#26705a;background:#e6f3ee}.ao-person>span{min-width:0;display:grid;gap:3px}.ao-person small,.ao-person strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ao-person strong{font-size:11px}.ao-person small{color:var(--ao-muted);font-size:9px}.ao-track{position:relative;min-width:1512px;background-image:linear-gradient(90deg,transparent calc(100% - 1px),#efedf1 0);background-size:calc(100% / 24) 100%}.ao-now-line{z-index:5;bottom:0;width:1px}.ao-now-line,.ao-now-line:before{position:absolute;top:0;background:var(--ao-red)}.ao-now-line:before{content:"";left:50%;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%)}.ao-slot{position:absolute;z-index:2;height:27px;min-width:34px;padding:4px 6px;overflow:hidden;border:1px solid #d9e2eb;border-left:3px solid var(--ao-blue);border-radius:7px;background:var(--ao-blue-soft);box-shadow:0 3px 10px rgb(45 34 51/7%);text-align:left}.ao-slot:hover{z-index:6;border-color:var(--color-primary-border);box-shadow:0 7px 18px rgb(45 34 51/14%);transform:translateY(-1px)}.ao-slot small,.ao-slot strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ao-slot strong{font-size:8px}.ao-slot small{margin-top:1px;color:var(--ao-muted);font-size:7px}.ao-slot.completed{border-color:#cce5db;border-left-color:var(--ao-green);background:var(--ao-green-soft)}.ao-slot.review{border-color:#efdeba;border-left-color:var(--ao-amber);background:var(--ao-amber-soft)}.ao-slot.terminal{border-color:#ebd8dc;border-left-color:var(--ao-red);background:var(--ao-red-soft);opacity:.7}.ao-legend{padding:11px 14px;display:flex;align-items:center;flex-wrap:wrap;gap:14px;border-top:1px solid var(--ao-line);color:var(--ao-muted);background:#fbfafc;font-size:9px}.ao-legend span{display:inline-flex;align-items:center;gap:5px}.ao-legend i{width:7px;height:7px;border-radius:2px}.ao-legend i.completed{background:var(--ao-green)}.ao-legend i.scheduled{background:var(--ao-blue)}.ao-legend i.review{background:var(--ao-amber)}.ao-legend i.terminal{background:var(--ao-red)}.ao-attention{position:sticky;top:14px}.ao-count{min-width:27px;padding:4px 7px;border-radius:7px;color:var(--accent-dark);background:var(--color-primary-soft);font-size:11px;text-align:center}.ao-attention-list{display:grid}.ao-attention-list>button{width:100%;min-height:80px;padding:13px 15px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:9px;border:0;border-bottom:1px solid #f0eef2;background:white;text-align:left}.ao-attention-list>button:last-child{border-bottom:0}.ao-attention-list>button:hover{background:#fdfbff}.ao-attention-list>button>i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:var(--ao-amber);background:var(--ao-amber-soft);font-style:normal}.ao-attention-list>button>i.danger{color:var(--ao-red);background:var(--ao-red-soft)}.ao-attention-list svg{width:15px}.ao-attention-list button>span{min-width:0;display:grid;gap:4px}.ao-attention-list strong{font-size:11px;line-height:1.3}.ao-attention-list small{color:var(--ao-muted);font-size:9px;line-height:1.4}.ao-attention-list em{align-self:center;color:var(--accent-dark);font-size:9px;font-style:normal;font-weight:800}.ao-attention-footer{padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--ao-line);color:var(--ao-muted);background:#fbfafc;font-size:9px}.ao-attention-footer strong{color:var(--ao-green)}.ao-lower-grid{margin-top:14px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:14px}.ao-appointment-table{display:grid}.ao-appointment-table>article{min-height:64px;padding:0 10px 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid #f0eef2}.ao-appointment-table>article:last-child{border-bottom:0}.ao-appointment-table>article:hover{background:#fdfbff}.ao-appointment-main{min-width:0;min-height:63px;padding:9px 12px 9px 16px;display:grid;grid-template-columns:64px minmax(130px,1.1fr) minmax(130px,1fr) 90px;align-items:center;gap:12px;border:0;background:transparent;text-align:left}.ao-appointment-main>span,.ao-appointment-main>time{min-width:0;display:grid;gap:3px}.ao-appointment-main small,.ao-appointment-main strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ao-appointment-main strong{font-size:10px}.ao-appointment-main time strong{font-size:12px}.ao-appointment-main small{color:var(--ao-muted);font-size:9px}.ao-appointment-table .appointment-actions{flex:0 0 auto}.ao-appointment-table .appointment-more{width:32px;height:32px}.ao-status{width:fit-content;padding:5px 7px;border-radius:7px;color:var(--ao-blue);background:var(--ao-blue-soft);font-size:8px;font-style:normal;font-weight:800;white-space:nowrap}.ao-status.completed{color:var(--ao-green);background:var(--ao-green-soft)}.ao-status.review{color:var(--ao-amber);background:var(--ao-amber-soft)}.ao-status.terminal{color:var(--ao-red);background:var(--ao-red-soft)}.ao-load-list{display:grid}.ao-load-list>article{min-height:71px;padding:12px 15px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;border-bottom:1px solid #f0eef2}.ao-load-list>article:last-child{border-bottom:0}.ao-load-list>article>span{min-width:0;display:grid;gap:6px}.ao-load-list>article>span>span{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ao-load-list strong{overflow:hidden;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.ao-load-list small,.ao-load-list time{color:var(--ao-muted);font-size:9px;white-space:nowrap}.ao-load-list>article>span>i{height:5px;overflow:hidden;border-radius:999px;background:#eeeaf0}.ao-load-list b{height:100%;display:block;border-radius:inherit;background:var(--accent)}.ao-outlook{margin-top:14px}.ao-outlook-bars{min-height:150px;padding:16px 18px 18px;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:12px}.ao-outlook-bars>button{display:grid;justify-items:center;gap:6px;border:0;border-radius:9px;background:transparent}.ao-outlook-bars>button.active,.ao-outlook-bars>button:hover{background:var(--color-primary-soft)}.ao-outlook-bars button>span{width:100%;height:82px;display:flex;align-items:end;overflow:hidden;border-radius:8px;background:#f3f0f4}.ao-outlook-bars button>span>i{width:100%;min-height:4px;border-radius:8px 8px 0 0;background:#c9a6df}.ao-outlook-bars>button.active span>i{background:var(--accent)}.ao-outlook-bars strong{font-size:9px}.ao-outlook-bars small{color:var(--ao-muted);font-size:8px}.ao-empty{min-height:270px;padding:32px;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--ao-muted);text-align:center}.ao-empty.compact{min-height:154px}.ao-empty>svg{width:24px;height:24px;margin-bottom:3px;color:var(--accent)}.ao-empty>strong{color:var(--ink);font-size:13px}.ao-empty>span{max-width:320px;font-size:11px;line-height:1.5}.ao-empty>.button{margin-top:7px}@media (max-width:1100px){.ao-days{grid-template-columns:repeat(7,105px);overflow-x:auto;scrollbar-width:thin}.ao-lower-grid,.ao-primary-grid{grid-template-columns:1fr}.ao-attention{position:static}}@media (max-width:840px){.ao-page{width:min(100% - 28px,720px);padding-top:24px}.ao-header{align-items:flex-start}.ao-header>div:first-child>span{max-width:430px}.ao-summary{grid-template-columns:1fr 1fr}.ao-summary article:nth-child(2){border-right:0}.ao-summary article:nth-child(-n+2){border-bottom:1px solid var(--ao-line)}}@media (max-width:620px){.ao-header{display:grid}.ao-header-actions{width:100%}.ao-header-actions .button{flex:1 1}.ao-date-deck{grid-template-columns:auto minmax(0,1fr)}.ao-date-deck>.button{display:none}.ao-summary{grid-template-columns:1fr}.ao-summary article{min-height:76px;border-right:0;border-bottom:1px solid var(--ao-line)}.ao-summary article:last-child{border-bottom:0}.ao-appointment-table{overflow-x:auto}.ao-appointment-table>article{min-width:620px}.ao-outlook-bars{gap:6px}.ao-panel-heading{align-items:flex-start}}