:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#171717;background:#f5f5f3;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{border:0;font:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f5f3}.login-card{width:min(440px,100%);display:grid;gap:18px;padding:24px;border:1px solid #deded8;background:#fff}.login-card h1{margin:4px 0 8px;font-size:32px;line-height:1}.login-card p{margin:0;color:#5d5a54;line-height:1.5}.login-card label,.settings-field{display:grid;gap:7px}.login-card label span,.settings-field span{color:#76736d;font-size:12px;text-transform:uppercase;font-weight:800}.login-card input,.settings-field input,.settings-field select,.settings-field textarea{min-height:42px;border:1px solid #deded8;padding:0 10px;background:#fff;color:#171717;font:inherit}.settings-field select{cursor:pointer}.login-card .primary-button{width:100%}.login-card .primary-button:disabled{opacity:.7;cursor:wait}.show-password-toggle{display:flex!important;grid-template-columns:none;align-items:center;gap:8px;color:#5d5a54}.show-password-toggle input{min-height:0;width:16px;height:16px;margin:0;accent-color:#07100a}.show-password-toggle span{color:inherit;font-size:13px;text-transform:none;font-weight:700}.auth-error{padding:10px 12px;border:1px solid #f0c7bd;background:#fff3f0;color:#a52e15;font-size:13px}.auth-success,.login-hint{padding:10px 12px;border:1px solid #e2e0d8;background:#f7f7f3;font-size:12px}.auth-success{border-color:#bfdcc5;background:#eef8ef;color:#225b2f;font-size:13px}.text-button{justify-self:center;padding:2px 4px;background:transparent;color:#111;font-weight:800;text-decoration:underline;text-underline-offset:3px}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:#f5f5f3}.app-shell.embed-mode{display:block;min-height:100vh;background:#fff}.embed-mode .main-panel{padding:0}.embed-mode .module-page{border:0;padding:0}.embed-mode .booking-brand{margin:0 0 18px}.embed-mode .booking-columns{padding:0 18px 18px}.sidebar{min-height:100vh;padding:24px 18px;border-right:1px solid #deded8;background:#fbfbf9;display:flex;flex-direction:column;gap:26px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid #202020;background:#111;color:#fff;font-weight:800;letter-spacing:0;overflow:hidden}.brand-mark img{width:100%;height:100%;display:block;object-fit:cover}.brand strong,.brand span,.booking-preview strong,.booking-preview span{display:block}.brand strong{font-size:15px}.brand span,.booking-preview span,.eyebrow,.muted{color:#76736d}.brand span,.booking-preview span{font-size:12px}.side-nav{display:grid;gap:4px}.side-nav button,.outline-button,.primary-button,.danger-button,.icon-button,.pill,.quick-create button,.toast button{cursor:pointer}.side-nav button{height:42px;display:flex;align-items:center;gap:10px;padding:0 12px;color:#4f4d49;background:transparent;text-align:left}.side-nav button:hover,.side-nav button.active{background:#eeeeea;color:#151515}.side-nav button.nav-logout{color:#5f625c}.booking-preview{margin-top:auto;border:1px solid #deded8;padding:16px;background:#fff;color:#171717;cursor:pointer;text-align:left}.booking-preview strong{margin:8px 0 6px;font-size:18px}.booking-preview p{margin:0;color:#5d5a54;font-size:13px;line-height:1.45}.main-panel{min-width:0;padding:24px}.topbar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.eyebrow,.topbar span,.calendar-toolbar p,.day-heading span,.service-summary span,.panel-header span{font-size:12px;text-transform:uppercase;letter-spacing:0;font-weight:700}.eyebrow,.topbar h1,.topbar span{margin:0}.topbar h1{margin-top:3px;font-size:clamp(26px,3vw,40px);line-height:1}.topbar span{display:inline-block;margin-top:7px;color:#696761;text-transform:none;font-weight:500}.top-actions,.calendar-toolbar,.calendar-toolbar>div,.panel-actions{display:flex;align-items:center;gap:10px}.icon-button,.outline-button,.primary-button,.danger-button,.pill{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d9d9d2;background:#fff;color:#151515}.icon-button{width:40px}.icon-button.small{width:34px;height:34px}.outline-button{padding:0 14px}.primary-button{padding:0 16px;border-color:#111;background:#111;color:#fff;font-weight:700}.danger-button{padding:0 16px;border-color:#f0c7bd;background:#fff3f0;color:#a52e15}.pill{height:34px;padding:0 14px;border-radius:999px;background:#f2f2ee}.active-pill{background:#111;border-color:#111;color:#fff}.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.is-hidden{display:none}.module-page{background:#fff;border:1px solid #deded8;padding:22px}.module-grid,.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.settings-page{display:grid;gap:16px}.settings-tabs{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:14px;border-bottom:1px solid #e1e5dc}.settings-tabs button{min-height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d9ded2;border-radius:8px;background:#fff;color:#454a43;font-weight:800}.settings-tabs button.active{border-color:#111;background:#111;color:#fff}.settings-grid>.settings-section{display:none!important}.settings-grid.settings-tab-services>.settings-services,.settings-grid.settings-tab-availability>.settings-availability,.settings-grid.settings-tab-booking>.settings-booking{display:block!important}.settings-grid.settings-tab-account>.settings-account,.settings-grid.settings-tab-calendar>.settings-calendar,.settings-grid.settings-tab-email>.settings-email,.settings-grid.settings-tab-text>.settings-text,.settings-grid.settings-tab-branding>.settings-branding,.settings-grid.settings-tab-data>.settings-data{display:grid!important}.settings-services,.settings-availability,.settings-booking,.settings-branding,.settings-data{grid-column:1 / -1}.settings-booking{border:1px solid #deded8;border-radius:8px;overflow:hidden}.data-card,.client-row,.booking-card{border:1px solid #deded8;background:#fff}.data-card{padding:18px}.data-card.wide{min-width:0}.data-card span,.booking-card>span,.client-row span,.meta-row span{color:#76736d;font-size:12px}.data-card>span,.booking-card>span{display:block;text-transform:uppercase;font-weight:800}.data-card h2,.booking-card h2{margin:6px 0 10px;font-size:21px}.data-card p{color:#56534d;line-height:1.5}.data-card-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.data-card-header h2{margin:4px 0 0}.data-card-header strong{white-space:nowrap;font-size:18px}.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.meta-row span{padding:6px 8px;border:1px solid #e2e0d8;background:#f7f7f3}.service-layout{display:grid;gap:12px}.services-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.services-topline span,.settings-subsection-title span{display:block;color:#76736d;font-size:12px;text-transform:uppercase;font-weight:800}.services-topline h2{margin:4px 0 0;font-size:22px}.service-list{display:grid;gap:0;border:1px solid #deded8;background:#fff}.service-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,auto) auto;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid #ecebe5}.service-row:last-child{border-bottom:0}.service-row.is-archived{opacity:.62}.service-row-main{display:grid;gap:3px;padding:0;border:0;background:transparent;color:#171717;text-align:left;cursor:pointer}.service-row-main span,.service-row-main em,.service-row-meta span{color:#76736d;font-size:12px}.service-row-main strong{font-size:15px}.service-row-main em{font-style:normal}.service-row-meta{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.service-row-meta strong,.service-row-meta span{padding:5px 7px;border:1px solid #e2e0d8;background:#f7f7f3}.service-row-actions{display:flex;gap:7px;justify-content:flex-end}.account-settings-groups{display:grid;gap:12px}.settings-subsection{display:grid;gap:12px;padding-top:12px;border-top:1px solid #ecebe5}.settings-subsection:first-child{padding-top:0;border-top:0}.settings-subsection-title{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.settings-subsection-title::-webkit-details-marker{display:none}.settings-subsection-title:after{content:"+";margin-left:auto;color:#76736d;font-weight:800}.settings-subsection[open] .settings-subsection-title:after{content:"-"}.settings-subsection-title strong{display:block;margin-top:2px;color:#171717;font-size:15px}.availability-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.availability-editor{display:grid;margin-top:14px;border-top:1px solid #e5e3dc}.availability-edit-row{display:grid;grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);gap:16px;align-items:start;padding:12px 0;border-bottom:1px solid #e5e3dc}.availability-day-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.availability-edit-row strong,.availability-edit-row span{display:block}.availability-edit-row span{margin-top:3px;color:#76736d;font-size:12px}.availability-windows{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.availability-window{display:flex;gap:6px;align-items:center;min-height:40px}.availability-window.is-editing{padding:5px;border:1px solid #deded8;background:#f7f7f3}.availability-window label{display:flex;align-items:center;gap:6px}.availability-window input{min-height:36px;border:1px solid #deded8;padding:0 8px;background:#fff;color:#171717;font:inherit}.availability-range-button{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid #deded8;background:#f7f7f3;color:#171717;cursor:pointer;font-weight:800;white-space:nowrap}.availability-range-button:hover{border-color:#111}.availability-windows .outline-button{min-height:36px}.compact-button{min-height:32px;padding:0 10px}.availability-list{display:grid;gap:0;border-top:1px solid #e5e3dc}.availability-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid #e5e3dc}.availability-row span{color:#4b4944}.clients-page{display:grid;gap:12px;overflow-anchor:none}.client-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto 42px;gap:10px;align-items:start}.client-search{position:relative;min-height:42px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:9px;padding:0 12px;border:1px solid #deded8;background:#fff}.client-search input{width:100%;min-height:40px;padding-right:0;border:0;outline:0;background:transparent;color:#171717;font:inherit}.client-search.has-ghost input{padding-right:min(240px,42vw)}.client-ghost{position:absolute;z-index:5;top:50%;right:5px;left:auto;transform:translateY(-50%);max-width:min(250px,calc(100% - 48px));min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 9px;border:1px solid #deded8;border-radius:8px;background:#fbfbf9;color:#171717;text-align:left;box-shadow:0 8px 20px #0a110c1a;cursor:pointer}.client-ghost span,.client-ghost em{display:block}.client-ghost em{color:#76736d;font-style:normal;font-size:12px}.client-ghost span,.client-ghost em{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-client-button{width:42px;height:42px}.import-client-button{min-height:42px}.import-client-button.active,.add-client-button.active{background:#111;color:#fff}.import-card{display:grid;gap:12px}.import-card textarea{min-height:126px;resize:vertical;border:1px solid #d8d6cf;padding:11px 12px;font:inherit;line-height:1.45;color:#191815;background:#fff}.import-actions{display:flex;align-items:center;gap:8px}.import-actions{justify-content:space-between}.import-actions>span{color:#76736d;font-size:12px}.client-table{display:grid;gap:0;min-height:228px;border:1px solid #deded8;background:#fff;overflow-anchor:none}.client-row{min-height:54px;width:100%;display:grid;grid-template-columns:minmax(210px,1fr) minmax(128px,.55fr) minmax(110px,.4fr) 26px;gap:12px;align-items:center;padding:9px 12px;border:0;border-bottom:1px solid #ecebe5;background:#fff;color:#171717;text-align:left;cursor:pointer}.client-row:last-child{border-bottom:0}.client-row:hover{background:#f8f8f4}.client-row strong,.client-row span{display:block}.client-row em{display:block;margin-top:3px;color:#111;font-size:11px;font-style:normal;font-weight:800}.client-row-arrow{justify-self:end;color:#77746d}.client-profile-modal{width:min(520px,calc(100vw - 32px))}.client-editor,.client-history{display:grid;gap:10px}.client-editor textarea{min-height:94px;resize:vertical;border:1px solid #deded8;padding:10px;background:#fff;color:#171717;font:inherit}.client-profile-info{margin:18px 0}.client-history{margin-top:16px;padding-top:14px;border-top:1px solid #e4e2da}.client-history summary{color:#76736d;font-size:12px;text-transform:uppercase;font-weight:800;cursor:pointer;list-style:none}.client-history summary::-webkit-details-marker{display:none}.client-history summary:after{content:"+";float:right}.client-history[open] summary:after{content:"-"}.client-history div{display:grid;gap:3px;padding:9px 0;border-bottom:1px solid #efeee9}.client-history div:last-child{border-bottom:0}.client-history em,.client-history p{margin:0;color:#76736d;font-style:normal;font-size:13px}.linked-profile{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #deded8;background:#f8f8f4}.linked-profile span{display:block;color:#76736d;font-size:12px;text-transform:uppercase;font-weight:800}.linked-profile strong{display:block;margin-top:3px}.caddy-settings-link{margin-top:12px}.public-booking{background:#fff}.booking-brand{min-height:150px;display:grid;place-items:center;align-content:center;border-bottom:1px solid #e8e6df;margin:-22px -22px 22px}.booking-brand strong{font-size:32px;letter-spacing:0}.booking-brand span{color:#c39b61;font-size:23px;letter-spacing:0}.booking-brand em{margin-top:16px;font-style:normal;font-weight:800;color:#45423d}.booking-columns{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px}.booking-card{padding:16px}.service-picker,.booking-form,.time-slots{display:grid;gap:8px;margin-top:14px}.service-picker button,.time-slots button,.booking-days button{border:1px solid #deded8;background:#fbfbf9;color:#171717;cursor:pointer;text-align:left}.service-picker button{padding:12px}.service-picker strong,.service-picker em,.service-picker small{display:block}.service-picker em,.service-picker small{margin-top:5px;color:#5d5a54;font-style:normal}.service-picker .selected-service,.time-slots .selected-time,.booking-days .selected-day{border-color:#111;background:#111;color:#fff}.service-picker .selected-service em,.service-picker .selected-service small{color:#deded8}.booking-days{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:6px;margin-top:14px}.booking-days button{min-height:58px;text-align:center}.booking-days strong,.booking-days em{display:block;font-style:normal}.time-slots{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.time-slots button{min-height:38px;text-align:center}.time-slots p{color:#76736d}.booking-form input{min-height:42px;border:1px solid #deded8;padding:0 10px;font:inherit}.booking-summary{margin:14px 0;padding:12px;background:#f7f7f3;border:1px solid #e2e1d9}.booking-summary strong,.booking-summary span{display:block}.booking-summary span{margin-top:5px;color:#5d5a54}.confirm-booking{width:100%}.embed-panel{margin-top:18px;border:1px solid #deded8;background:#fbfbf9}.embed-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border-bottom:1px solid #e4e2da}.embed-copy span,.embed-code span,.sync-field span,.sync-output span,.sync-meta span{display:block;color:#76736d;font-size:12px;text-transform:uppercase;font-weight:800}.embed-copy h2{margin:5px 0 8px;font-size:22px}.embed-copy p{max-width:660px;margin:0;color:#56534d;line-height:1.5}.embed-actions,.sync-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.embed-actions a,.sync-actions a{text-decoration:none}.embed-code{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;margin:18px;padding:13px;border:1px solid #d9d7cf;background:#fff}.embed-code code,.sync-output code{color:#26231f;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45;word-break:break-all}.widget-preview{margin:18px;border:1px solid #d8d6ce;background:#fff}.preview-bar{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;border-bottom:1px solid #e4e2da}.preview-bar strong{font-size:13px}.preview-bar span{color:#76736d;font-size:12px}.widget-preview iframe{display:block;width:100%;height:520px;border:0}.sync-card{grid-column:1 / -1}.sync-card .data-card-header svg{flex:0 0 auto;color:#c39b61}.sync-field{display:grid;gap:7px;margin-top:16px}.sync-status{display:grid;grid-template-columns:max-content max-content minmax(0,1fr);gap:8px;align-items:center;margin-top:14px;padding:10px 12px;border:1px solid #deded8;background:#fff}.sync-status span{color:#76736d;font-size:12px;text-transform:uppercase;font-weight:800}.sync-status strong{min-height:24px;display:inline-flex;align-items:center;padding:0 8px;background:#f0eee6;color:#34312d;font-size:12px}.sync-status.connected strong{background:#e8f3e5;color:#275325}.sync-status.offline strong{background:#fff3f0;color:#a52e15}.sync-status em{min-width:0;color:#56534d;font-size:13px;font-style:normal}.sync-field input{min-height:42px;border:1px solid #deded8;padding:0 10px;background:#fff;font:inherit}.sync-output{display:grid;gap:7px;margin:14px 0;padding:12px;border:1px solid #d9d7cf;background:#fbfbf9}.sync-actions{justify-content:flex-start}.sync-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.sync-meta span,.sync-meta strong{min-height:30px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid #e2e0d8;background:#f7f7f3}.sync-meta strong{color:#34312d;font-size:12px}.notification-card{display:grid;gap:12px}.notification-card p{margin:0 0 2px}.settings-toggle{min-height:38px;display:flex;align-items:center;gap:10px;padding:8px 0;color:#34312d;font-size:14px}.settings-toggle input{width:18px;height:18px;accent-color:#111}.settings-save{width:100%;margin-top:10px}.appointment-dock{display:grid;grid-template-columns:minmax(0,1fr);align-items:end;margin:-2px 0 18px;padding:0 2px 6px}.dock-label{display:none}.dock-label span,.dock-label strong{display:block}.dock-label span{color:#76736d;font-size:12px;text-transform:uppercase;font-weight:800}.dock-label strong{margin-top:4px;font-size:14px}.dock-shelf{position:relative;min-height:62px;display:flex;align-items:flex-end;gap:10px;padding:8px 14px 12px;border:1px solid #d8d6ce;background:linear-gradient(#fbfbf9 0 75%,#efeee8 75% 100%);overflow:hidden}.dock-shelf:after{content:"";position:absolute;left:10px;right:10px;bottom:10px;height:6px;border-top:1px solid #beb9aa;border-bottom:2px solid #d3d0c7;background:#e5e2d8}.dock-empty{position:relative;z-index:1;width:100%;min-height:34px;color:#77746f;font-size:13px}.dock-tile{position:relative;z-index:2;min-width:220px;min-height:46px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #171717;background:#181818;color:#fff;cursor:grab;box-shadow:0 8px 18px #00000029;animation:dockSettle .9s ease-out both,dockIdleNudge 7s ease-in-out 2.7s infinite}.dock-tile.is-armed{transform:translateY(-2px);outline:2px solid #c7a45b;outline-offset:2px}.dock-tile span,.dock-tile strong,.dock-tile em{min-width:0;display:block}.dock-tile span{flex:1}.dock-tile strong,.dock-tile em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-tile strong{font-size:12px}.dock-tile em{margin-top:2px;opacity:.72;font-size:11px;font-style:normal}.dock-remove{position:relative;z-index:2;width:26px;height:26px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:#ffffff14;color:inherit;cursor:pointer}.dock-remove:hover{background:#ffffff29}.dock-tile.flying-to-dock{pointer-events:none;animation:flyToDock .62s cubic-bezier(.18,.9,.2,1) both;transform-origin:center}.appointment-dock.is-focus .dock-shelf{border-color:#b8a373;box-shadow:0 0 0 3px #c7a45b29}.calendar-card,.details-panel{background:#fff;border:1px solid #deded8}.calendar-toolbar{justify-content:space-between;gap:16px;min-height:66px;padding:14px 16px;border-bottom:1px solid #e7e7e1}.calendar-toolbar p{margin:0;color:#6e6b65;text-align:left;line-height:1.4;max-width:none}.calendar-toolbar h2{margin:0;color:#171717;font-size:24px;line-height:1.05}.calendar-header-row{display:grid;grid-template-columns:64px repeat(7,minmax(92px,1fr));border-bottom:1px solid #d7d7cf}.time-gutter,.day-heading{height:58px}.day-heading{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:0 12px;border-left:1px solid #e1e1dc}.day-heading strong{font-size:19px}.calendar-scroll{display:grid;grid-template-columns:64px minmax(644px,1fr);max-height:calc(100vh - 230px);overflow:auto}.time-column,.week-grid{position:relative}.time-column{background:#fbfbf9;border-right:1px solid #d7d7cf}.time-label{position:absolute;right:10px;transform:translateY(-8px);color:#6f6c66;font-size:12px}.week-grid{min-width:644px;background:linear-gradient(to right,transparent calc(100% / 7 - 1px),#dddcd5 calc(100% / 7 - 1px)) 0 0 / calc(100% / 7) 100%,#ecece7;-webkit-user-select:none;user-select:none;touch-action:none}.week-grid.is-grabbing,.week-grid.is-grabbing *{cursor:grabbing}.day-lane{position:absolute;top:0;bottom:0;width:calc(100% / 7);pointer-events:none}.available-band{position:absolute;left:0;right:0;background:#fff;border-top:1px solid #f0f0ea;border-bottom:1px solid #f0f0ea}.hour-line{position:absolute;left:0;right:0;height:1px;background:#d9d9d2;pointer-events:none}.hour-line:after{content:"";position:absolute;left:0;right:0;top:36px;border-top:1px dashed #d6d6ce}.calendar-item{position:absolute;z-index:2;min-height:34px;display:flex;gap:4px;padding:8px 8px 8px 4px;border:1px solid #1f1f1f;background:#181818;color:#fff;overflow:hidden;box-shadow:0 8px 18px #00000024;cursor:grab}.calendar-item.block{z-index:1;border-color:#afa899;background:#d8d4ca;color:#24221f;box-shadow:none}.calendar-item.appointment{z-index:3}.calendar-item.selected{z-index:4;outline:3px solid #c7a45b;outline-offset:2px}.calendar-item.invalid{border-color:#d9482f;background:#ffe3dc;color:#8e1d0c}.calendar-item.just-placed-from-dock{animation:flyFromDockToSlot .56s cubic-bezier(.18,.9,.2,1) both;transform-origin:center}.floating-drag-tile{position:fixed;z-index:1000;pointer-events:none;opacity:.96;transform:rotate(-1deg);box-shadow:0 18px 44px #00000047}.draft-block{opacity:.78;border-style:dashed}.item-grip{display:flex;align-items:flex-start;padding-top:2px;opacity:.65}.item-content{min-width:0;display:grid;gap:2px}.item-content strong,.item-content span,.item-content em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-content strong{font-size:12px}.item-content span,.item-content em{font-size:11px}.item-content em{font-style:normal;opacity:.78}.resize-handle{position:absolute;left:8px;right:8px;bottom:2px;height:9px;border-radius:0;background:transparent;cursor:ns-resize}.resize-handle:after{content:"";position:absolute;left:36%;right:36%;bottom:2px;height:2px;background:currentColor;opacity:.55}.details-panel{min-height:570px;padding:20px;position:sticky;top:24px}.details-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:#07100a47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.details-panel.details-modal{width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);min-height:0;position:relative;top:auto;overflow:auto;box-shadow:0 24px 70px #060d0842;animation:detailsPop .16s ease-out both}.details-panel:has(.empty-panel){min-height:260px;animation:panelCollapse .26s ease-out both}.panel-header{display:flex;align-items:center;justify-content:space-between}.details-panel h2{margin:18px 0 8px;font-size:24px}.details-panel p{line-height:1.5}.info-stack{display:grid;gap:12px;margin:24px 0}.info-stack div{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:center;color:#45423d;font-size:14px}.service-summary{padding:16px;background:#f7f7f3;border:1px solid #e2e1d9}.service-summary strong{display:block;margin-top:4px;font-size:22px}.service-summary p{margin:10px 0 0;color:#5d5a54}.admin-override{margin-top:14px;padding:14px;border:1px solid #d9d9d2;background:#fbfbf9}.admin-override span,.admin-override strong{display:block}.admin-override span{color:#6f6c66;font-size:12px;text-transform:uppercase;font-weight:700}.admin-override strong{margin:4px 0 10px;font-size:14px}.admin-override button{width:100%;min-height:38px;display:flex;align-items:center;gap:8px;margin-top:7px;padding:8px 10px;border:1px solid #deded8;background:#fff;color:#171717;cursor:pointer;text-align:left}.panel-actions{margin-top:18px}.empty-panel{min-height:430px;display:grid;place-items:center;align-content:center;text-align:center;color:#696761}.empty-panel.compact{min-height:120px;padding:18px}.empty-panel h2{margin-bottom:0;color:#202020}.empty-panel p{max-width:240px}.quick-create{position:fixed;z-index:5;width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:16px;border:1px solid #d7d7cf;background:#fff;box-shadow:0 16px 40px #0000002e}.quick-create>span,.quick-create>strong{display:block}.quick-create>span{color:#6f6c66;font-size:12px;text-transform:uppercase;font-weight:700}.quick-create>strong{margin:4px 0 12px;font-size:18px}.quick-client-search{position:relative;min-height:38px;display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:8px;padding:0 10px;border:1px solid #deded8;background:#fff}.quick-match-anchor{position:relative}.quick-client-search input{min-height:36px;border:0;outline:0;background:transparent;color:#171717;font:inherit}.quick-client-ghost{position:absolute;left:-1px;right:-1px;top:calc(100% + 4px);z-index:2;min-height:34px;padding:7px 10px;border:1px solid #deded8;background:#fff;color:#171717;text-align:left}.client-match-prompt{display:flex;align-items:center;gap:9px;width:100%;min-height:42px;padding:8px 10px;border:1px solid #cbd8cd;background:linear-gradient(180deg,#ffffffe6,#f5faf5f0);color:#111;text-align:left}.client-match-prompt span{display:grid;gap:2px}.client-match-prompt strong{font-size:13px;line-height:1.2}.client-match-prompt em{color:#6f6c66;font-size:11px;font-style:normal}.booking-client-match{margin-top:9px}.quick-field-match{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:8;min-height:40px;margin:0;box-shadow:0 12px 26px #00000038}.quick-create button:not(.popover-close):not(.quick-client-ghost){width:100%;min-height:38px;display:flex;align-items:center;gap:8px;padding:8px 10px;margin-top:7px;border:1px solid #deded8;background:#fbfbf9;color:#171717;text-align:left}.quick-create button:not(.popover-close):not(.quick-client-ghost)>span{display:grid;gap:2px}.quick-create button:not(.popover-close):not(.quick-client-ghost) strong{margin:0;font-size:14px}.quick-create button:not(.popover-close):not(.quick-client-ghost) em{color:#6f6c66;font-size:12px;font-style:normal}.quick-create-form{display:grid;gap:8px}.quick-create-form label{display:grid;gap:5px}.quick-create-form label span{color:#6f6c66;font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.quick-create-form input,.quick-create-form textarea{width:100%;min-height:38px;padding:9px 10px;border:1px solid #deded8;border-radius:8px;background:#fff;color:#171717;font:inherit}.quick-create-form textarea{min-height:58px;resize:vertical}.quick-service-summary,.quick-create-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.quick-service-summary{width:100%;padding:9px 10px;border:1px solid #deded8;border-radius:8px;background:#fbfbf9;cursor:pointer}.quick-service-summary span,.quick-service-summary strong{display:block;margin:0;color:#171717;font-size:13px;text-transform:none}.quick-service-summary em{display:block;margin-top:2px;color:#6f6c66;font-size:12px;font-style:normal}.quick-create-error{margin:0;color:#a43b30;font-size:13px}.quick-create-actions button:not(.popover-close):not(.quick-client-ghost){justify-content:center;margin-top:0}.popover-close{position:absolute;top:8px;right:8px;width:28px;height:28px;display:grid;place-items:center;background:transparent}.toast{position:fixed;left:50%;bottom:24px;z-index:10;transform:translate(-50%);min-height:46px;max-width:min(680px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;padding:9px 10px 9px 16px;background:#111;color:#fff;box-shadow:0 16px 44px #00000047}.toast span{min-width:0}.toast button{height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;background:#fff;color:#111}.toast-close{width:30px;padding:0}.edge-cue{position:fixed;top:50%;z-index:12;transform:translateY(-50%);padding:12px 14px;background:#111;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;box-shadow:0 12px 34px #00000038;animation:edgePulse .56s ease-out both;pointer-events:none}.edge-cue.prev{left:12px}.edge-cue.next{right:12px}@keyframes flyToDock{0%{opacity:0;transform:translate(44vw,120px) scale(1.06)}72%{opacity:1;transform:translateY(-5px) scale(1)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes flyFromDockToSlot{0%{opacity:.88;transform:translate(var(--dock-fly-x, 0),var(--dock-fly-y, -80px)) scale(.96)}72%{opacity:1;transform:translateY(-3px) scale(1.01)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes dockSettle{0%{transform:translateY(-4px)}50%{transform:translateY(2px)}to{transform:translateY(0)}}@keyframes dockIdleNudge{0%,76%,to{transform:translateY(0)}80%{transform:translateY(-2px)}84%{transform:translateY(1px)}88%{transform:translateY(0)}}@keyframes panelCollapse{0%{opacity:.9;transform:translate(0)}to{opacity:1;transform:translate(0)}}@keyframes detailsPop{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes edgePulse{0%{opacity:0;transform:translateY(-50%) scale(.94)}35%{opacity:1;transform:translateY(-50%) scale(1)}to{opacity:0;transform:translateY(-50%) scale(1)}}.app-shell,.login-shell{--coach-neutral: #ffffff;--page: #f3f5ef;--panel: #ffffff;--panel-soft: #f8faf4;--panel-glass: rgba(255, 255, 255, .86);--text: #111612;--heading: #07100a;--muted: #6d746c;--quiet: #878d84;--border: #dfe5d8;--border-strong: #bfcbbd;--primary: #06100a;--primary-soft: #142019;--primary-text: #f7fff9;--danger: #b52f1f;--danger-soft: #fff1ed;--success-soft: #eaf8ed;--grid-bg: #eef1ea;--grid-line: #dce2d7;--available: #ffffff;--block-bg: #dfe2d7;--block-text: #2d312b;--shadow: 0 18px 46px rgba(8, 18, 12, .08);--shadow-strong: 0 18px 52px rgba(4, 9, 6, .2);--shine: linear-gradient(180deg, color-mix(in srgb, var(--coach-primary) 7%, #ffffff), rgba(255, 255, 255, 0));color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--coach-primary) 2%,transparent),transparent 280px),var(--page)}.app-shell.theme-dark,.login-shell.theme-dark{--page: #050806;--panel: #0a100c;--panel-soft: #101813;--panel-glass: rgba(9, 17, 12, .9);--text: #f7fff9;--heading: #ffffff;--muted: rgba(239, 255, 244, .64);--quiet: rgba(239, 255, 244, .42);--border: rgba(255, 255, 255, .12);--border-strong: rgba(31, 211, 109, .35);--primary: #07100a;--primary-soft: #101b14;--primary-text: #f7fff9;--danger: #ff7d6f;--danger-soft: rgba(255, 98, 80, .13);--success-soft: rgba(31, 211, 109, .08);--grid-bg: #0d140f;--grid-line: rgba(255, 255, 255, .08);--available: rgba(255, 255, 255, .045);--block-bg: rgba(255, 255, 255, .08);--block-text: rgba(248, 255, 249, .76);--shadow: 0 20px 58px rgba(0, 0, 0, .36);--shadow-strong: 0 24px 70px rgba(0, 0, 0, .5);--shine: linear-gradient(180deg, rgba(31, 211, 109, .045), rgba(255, 255, 255, .02));background:linear-gradient(180deg,rgba(31,211,109,.025),transparent 280px),linear-gradient(180deg,#09110c,var(--page) 380px)}.app-shell.embed-mode{background:var(--panel)}.login-card,.sidebar,.module-page,.calendar-card,.details-panel,.data-card,.client-row,.client-search,.client-table,.client-ghost,.booking-card,.booking-preview,.embed-panel,.widget-preview,.quick-create,.client-match-prompt,.availability-window.is-editing,.availability-range-button,.toast,.edge-cue{border-color:var(--border);color:var(--text)}.login-card,.module-page,.calendar-card,.details-panel,.data-card,.booking-card,.booking-preview,.widget-preview,.quick-create,.client-match-prompt{border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.sidebar{background:color-mix(in srgb,var(--panel) 84%,var(--coach-primary) 3%);border-right-color:var(--border)}.brand-mark{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--coach-primary) 42%,var(--primary));background:linear-gradient(135deg,rgba(255,255,255,.13),transparent 38%),linear-gradient(180deg,color-mix(in srgb,var(--coach-primary) 16%,#111),#030604);color:var(--primary-text);box-shadow:inset 0 1px #ffffff29,0 10px 24px #0000002e}.brand-mark:after{content:none}.brand strong,.topbar h1,.data-card h2,.booking-card h2,.details-panel h2,.empty-panel h2,.booking-preview strong,.quick-create strong{color:var(--heading)}.brand span,.booking-preview span,.booking-preview p,.eyebrow,.muted,.data-card span,.booking-card>span,.client-row span,.meta-row span,.calendar-toolbar p,.topbar span,.day-heading span,.service-picker em,.service-picker small,.time-slots p,.booking-summary span,.embed-copy span,.embed-code span,.sync-field span,.sync-output span,.sync-meta span,.dock-label span,.dock-empty,.preview-bar span,.settings-field span,.login-card label span,.linked-profile span,.admin-override span,.quick-create span,.service-row-main span,.service-row-main em,.service-row-meta span,.settings-subsection-title span{color:var(--muted)}.data-card p,.embed-copy p,.service-summary p,.sync-status em,.info-stack div,.availability-row span,.admin-override strong,.settings-toggle,.client-row em,.service-row-main,.service-row-main strong,.settings-subsection-title strong{color:var(--text)}.service-list,.service-row{border-color:var(--border);background:var(--panel)}.service-row-meta strong,.service-row-meta span{border-color:var(--border);background:var(--panel-soft);color:var(--text)}.settings-subsection{border-color:var(--border)}.icon-button,.outline-button,.danger-button,.pill,.admin-override button,.quick-create button:not(.popover-close),.client-match-prompt,.service-picker button,.time-slots button,.booking-days button{border-color:var(--border);border-radius:8px;background:var(--panel-soft);color:var(--text);transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease}.icon-button:hover,.outline-button:hover,.pill:hover,.admin-override button:hover,.quick-create button:not(.popover-close):hover,.client-match-prompt:hover,.service-picker button:hover,.time-slots button:hover,.booking-days button:hover{border-color:color-mix(in srgb,var(--coach-primary) 22%,var(--border));background:color-mix(in srgb,var(--coach-primary) 3%,var(--panel-soft))}.primary-button,.active-pill,.service-picker .selected-service,.time-slots .selected-time,.booking-days .selected-day{border-color:color-mix(in srgb,var(--coach-primary) 24%,#050805);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 40%),linear-gradient(180deg,color-mix(in srgb,var(--coach-primary) 8%,#111),#030604);color:var(--primary-text);box-shadow:inset 0 1px #ffffff24,0 10px 24px #00000029}.primary-button:disabled{opacity:.55;cursor:wait}.danger-button{border-color:color-mix(in srgb,var(--danger) 40%,var(--border));background:var(--danger-soft);color:var(--danger)}.theme-switch{height:40px;display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--panel-soft);cursor:pointer}.theme-switch>span{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:transparent;color:var(--muted);font-size:inherit;font-weight:700;line-height:1;text-transform:none}.theme-switch>span.active{background:var(--primary);color:var(--primary-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--coach-primary) 34%,transparent)}.theme-toggle{flex:0 0 auto;position:relative}.theme-toggle:focus-visible{outline:2px solid var(--coach-primary);outline-offset:3px}.side-nav button{border:1px solid transparent;border-radius:8px;color:var(--muted)}.side-nav button:hover{border-color:var(--border);background:var(--panel-soft);color:var(--heading)}.side-nav button.active{border-color:#111;background:#111;color:#fff;box-shadow:0 8px 18px #0000000a}.booking-preview{background:var(--shine),var(--panel)}.client-table,.client-search,.client-ghost,.client-match-prompt,.quick-client-search,.quick-create-form input,.quick-create-form textarea,.quick-service-summary,.client-row,.availability-window.is-editing,.availability-range-button{background:var(--panel)}.quick-client-search,.quick-create-form input,.quick-create-form textarea,.quick-service-summary{border-color:var(--border);color:var(--text)}.quick-client-search input,.quick-create-form input,.quick-create-form textarea{color:var(--text)}.quick-service-summary strong{color:var(--heading)}.quick-service-summary em{color:var(--muted)}.client-row{border-bottom-color:var(--border)}.client-row:hover,.client-ghost:hover{background:var(--panel-soft)}.client-search input{color:var(--text)}.login-card input,.settings-field input,.settings-field select,.settings-field textarea,.sync-field input,.booking-form input,.availability-window input,.import-card textarea,.client-editor textarea{border-color:var(--border);border-radius:8px;background:var(--panel-soft);color:var(--text)}.login-card input:focus,.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus,.sync-field input:focus,.booking-form input:focus,.import-card textarea:focus{outline:3px solid color-mix(in srgb,var(--coach-primary) 10%,transparent);border-color:color-mix(in srgb,var(--coach-primary) 30%,var(--border))}.auth-error,.sync-status.offline strong{border-color:color-mix(in srgb,var(--danger) 34%,var(--border));background:var(--danger-soft);color:var(--danger)}.auth-success{border-color:color-mix(in srgb,var(--coach-primary) 24%,var(--border));background:var(--success-soft);color:var(--text)}.show-password-toggle,.text-button{color:var(--text)}.show-password-toggle input{accent-color:var(--primary)}.login-hint,.meta-row span,.booking-summary,.sync-output,.sync-meta span,.sync-meta strong,.linked-profile,.admin-override,.embed-code,.preview-bar,.service-summary{border-color:var(--border);border-radius:8px;background:var(--panel-soft)}.service-summary{background:linear-gradient(90deg,color-mix(in srgb,var(--coach-primary) 4%,transparent),transparent 68%),var(--panel-soft)}.service-summary strong,.sync-card .data-card-header svg,.booking-brand span{color:var(--coach-secondary)}.settings-toggle input{accent-color:var(--coach-primary)}.appointment-dock{color:var(--text)}.dock-shelf{border-color:var(--border);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--coach-primary) 2%,var(--panel)) 0 72%,var(--panel-soft) 72%),var(--panel-soft);box-shadow:inset 0 1px #ffffff14}.dock-shelf:after{border-top-color:color-mix(in srgb,var(--coach-accent) 30%,var(--border));border-bottom-color:color-mix(in srgb,var(--coach-primary) 22%,var(--border));background:color-mix(in srgb,var(--coach-accent) 9%,var(--panel-soft))}.dock-tile,.calendar-item.appointment,.draft-place{border-color:color-mix(in srgb,var(--coach-primary) 30%,#101613);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--coach-primary) 8%,rgba(255,255,255,.06)),transparent 44%),linear-gradient(180deg,color-mix(in srgb,var(--coach-accent) 90%,#18231c),#060a07);color:var(--primary-text);box-shadow:0 10px 24px #0000002e}.dock-tile:before,.calendar-item.appointment:before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--coach-primary);opacity:.72}.appointment-dock.is-focus .dock-shelf{border-color:color-mix(in srgb,var(--coach-secondary) 60%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--coach-secondary) 18%,transparent)}.calendar-toolbar,.calendar-header-row{border-bottom-color:var(--border)}.day-heading{border-left-color:var(--border)}.time-column{background:var(--panel-soft);border-right-color:var(--border)}.time-label{color:var(--quiet)}.week-grid{background:linear-gradient(to right,transparent calc(100% / 7 - 1px),var(--grid-line) calc(100% / 7 - 1px)) 0 0 / calc(100% / 7) 100%,var(--grid-bg)}.available-band{background:var(--available);border-top-color:color-mix(in srgb,var(--coach-primary) 3%,var(--grid-line));border-bottom-color:color-mix(in srgb,var(--coach-primary) 3%,var(--grid-line))}.hour-line{background:var(--grid-line)}.hour-line:after{border-top-color:color-mix(in srgb,var(--grid-line) 84%,transparent)}.calendar-item.block{border-color:color-mix(in srgb,var(--coach-secondary) 22%,var(--border));background:var(--block-bg);color:var(--block-text)}.calendar-item.selected{outline-color:var(--coach-secondary)}.calendar-item.invalid{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.quick-create{background:var(--panel-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.public-booking{background:var(--panel)}.booking-brand{min-height:172px;border-bottom-color:var(--border);border-radius:8px 8px 0 0;background:linear-gradient(135deg,color-mix(in srgb,var(--coach-primary) 7%,transparent),transparent 45%),linear-gradient(180deg,color-mix(in srgb,var(--coach-accent) 84%,#101811),#040705);color:var(--primary-text)}.booking-brand strong{color:#fff}.booking-brand em{color:color-mix(in srgb,var(--coach-primary) 78%,#ffffff)}.booking-brand img{display:block;max-width:min(360px,76%);max-height:84px;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.24))}.service-picker .selected-service em,.service-picker .selected-service small{color:color-mix(in srgb,var(--primary-text) 78%,var(--coach-primary))}.embed-panel{border-color:var(--border);border-radius:8px;background:var(--panel-soft)}.embed-copy,.availability-list,.availability-row,.preview-bar{border-color:var(--border)}.embed-code code,.sync-output code{color:var(--heading)}.sync-status{border-color:var(--border);border-radius:8px;background:var(--panel)}.sync-status strong{background:var(--panel-soft);color:var(--text)}.sync-status.connected strong{background:var(--success-soft);color:color-mix(in srgb,var(--coach-primary) 75%,var(--heading))}.brand-vein-card{grid-column:span 2;display:grid;gap:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--coach-primary) 9%,transparent),transparent 42%),var(--panel)}.brand-vein-preview{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft)}.brand-vein-logo{min-height:74px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--coach-primary) 28%,var(--border));border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent),color-mix(in srgb,var(--coach-accent) 82%,#101a12);color:#fff;overflow:hidden}.brand-vein-logo img{width:100%;max-height:72px;object-fit:contain;padding:8px}.brand-vein-preview span,.brand-vein-preview strong,.brand-vein-preview em{display:block}.brand-vein-preview span{color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:800}.brand-vein-preview strong{margin-top:3px;color:var(--heading)}.brand-vein-preview em{margin-top:5px;color:var(--muted);font-size:12px;font-style:normal}.brand-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.brand-swatches span{min-height:62px;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;padding:9px;border-radius:8px;color:#fff;font-size:12px;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.55);box-shadow:inset 0 0 0 1px #ffffff2e}.brand-swatches em{display:block;font-size:10px;font-style:normal;text-transform:uppercase;opacity:.82}.booking-surface-setting{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--coach-primary) 8%,transparent),transparent 68%),var(--panel-soft)}.booking-surface-setting span,.booking-surface-setting strong{display:block}.booking-surface-setting span{color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:800}.booking-surface-setting strong{margin-top:3px;color:var(--heading);font-size:14px}.brand-vein-actions{display:flex;flex-wrap:wrap;gap:8px}.logo-upload{position:relative;overflow:hidden}.logo-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.toast,.edge-cue{border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--coach-primary) 18%,#111),#050805);color:var(--primary-text)}.toast button{border-radius:7px;background:var(--primary-text);color:#07100a}.theme-dark .login-card,.theme-dark .module-page,.theme-dark .calendar-card,.theme-dark .details-panel,.theme-dark .data-card,.theme-dark .booking-card,.theme-dark .booking-preview,.theme-dark .widget-preview,.theme-dark .quick-create{background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 46%),var(--panel);border-color:var(--border)}.theme-dark .sidebar{background:#050907eb}.theme-dark .popover-close{color:var(--text)}.public-booking.booking-theme-light{--booking-page: color-mix(in srgb, var(--coach-primary) 2%, #fbfcf8);--booking-card: rgba(255, 255, 255, .92);--booking-card-soft: color-mix(in srgb, var(--coach-primary) 2%, #f7faf4);--booking-input: #ffffff;--booking-text: #101612;--booking-muted: #606960;--booking-border: #dfe5d8;--booking-control: rgba(255, 255, 255, .82);--booking-control-hover: color-mix(in srgb, var(--coach-primary) 4%, #ffffff);--booking-shadow: 0 18px 40px rgba(6, 17, 10, .1)}.public-booking.booking-theme-dark{--booking-page: #050806;--booking-card: rgba(8, 16, 11, .94);--booking-card-soft: rgba(255, 255, 255, .055);--booking-input: rgba(255, 255, 255, .055);--booking-text: #f8fff9;--booking-muted: rgba(242, 255, 246, .64);--booking-border: rgba(255, 255, 255, .13);--booking-control: rgba(255, 255, 255, .055);--booking-control-hover: rgba(255, 255, 255, .075);--booking-shadow: 0 22px 58px rgba(0, 0, 0, .36)}.app-shell .public-booking{background:linear-gradient(180deg,color-mix(in srgb,var(--coach-primary) 2%,transparent),transparent 340px),var(--booking-page);color:var(--booking-text)}.booking-brand{position:relative}.app-shell .public-booking .booking-card{--card-vein: var(--coach-secondary);--card-outline: var(--coach-neutral);position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--card-outline) 88%,var(--booking-border));background:linear-gradient(135deg,color-mix(in srgb,var(--card-vein) 26%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in srgb,var(--card-vein) 18%,var(--booking-card)),color-mix(in srgb,var(--card-vein) 8%,var(--booking-card)));color:var(--booking-text);box-shadow:var(--booking-shadow)}.app-shell .public-booking .booking-card:nth-child(2){--card-vein: color-mix(in srgb, var(--coach-secondary) 72%, var(--coach-primary))}.app-shell .public-booking .booking-card:nth-child(3){--card-vein: color-mix(in srgb, var(--coach-secondary) 86%, var(--coach-accent))}.app-shell .public-booking .booking-card:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--card-outline),color-mix(in srgb,var(--card-outline) 46%,var(--card-vein)));opacity:.72}.app-shell .public-booking .booking-card>span,.app-shell .public-booking .service-picker em,.app-shell .public-booking .service-picker small,.app-shell .public-booking .time-slots p,.app-shell .public-booking .booking-summary span{color:var(--booking-muted)}.app-shell .public-booking .service-picker button,.app-shell .public-booking .time-slots button,.app-shell .public-booking .booking-days button{border-color:color-mix(in srgb,var(--card-outline) 28%,var(--booking-border));background:linear-gradient(180deg,color-mix(in srgb,var(--card-vein) 10%,transparent),transparent),var(--booking-control);color:var(--booking-text)}.app-shell .public-booking .service-picker button:hover,.app-shell .public-booking .time-slots button:hover,.app-shell .public-booking .booking-days button:hover{border-color:color-mix(in srgb,var(--card-outline) 58%,var(--booking-border));background:var(--booking-control-hover)}.app-shell .public-booking .service-picker .selected-service,.app-shell .public-booking .time-slots .selected-time,.app-shell .public-booking .booking-days .selected-day{border-color:color-mix(in srgb,var(--card-outline) 88%,var(--booking-border));background:linear-gradient(180deg,rgba(255,255,255,.1),transparent 42%),linear-gradient(135deg,color-mix(in srgb,var(--card-vein) 42%,var(--coach-accent)),color-mix(in srgb,var(--card-vein) 22%,var(--coach-accent)));color:#fff;box-shadow:inset 0 1px #ffffff2e,0 10px 20px #0000002e}.app-shell .public-booking .service-picker .selected-service em,.app-shell .public-booking .service-picker .selected-service small{color:#ffffffc2}.app-shell .public-booking .booking-form input,.app-shell .public-booking .booking-summary{border-color:color-mix(in srgb,var(--card-outline) 24%,var(--booking-border));background:var(--booking-input);color:var(--booking-text)}.app-shell .public-booking .booking-form input::placeholder{color:var(--booking-muted)}.app-shell .public-booking .booking-summary{background:linear-gradient(135deg,color-mix(in srgb,var(--card-vein) 12%,transparent),transparent 58%),var(--booking-card-soft)}.app-shell .public-booking .confirm-booking{border-color:color-mix(in srgb,var(--coach-primary) 38%,var(--coach-secondary));background:linear-gradient(180deg,rgba(255,255,255,.1),transparent 42%),linear-gradient(135deg,color-mix(in srgb,var(--coach-primary) 12%,#101612),var(--coach-accent));color:#fff;box-shadow:0 14px 30px #0003}.public-booking.booking-theme-dark .confirm-booking{color:#fff}.app-shell .public-booking.booking-theme-light{--booking-page: #fff;--booking-card: #fff;--booking-card-soft: #f7f7f3;--booking-input: #fff;--booking-text: #171717;--booking-muted: #5d5a54;--booking-border: #deded8;--booking-control: #fbfbf9;--booking-control-hover: #f7f7f3;--booking-shadow: none;background:#fff}.app-shell .public-booking.booking-theme-light .booking-brand{background:#fff;border-bottom-color:#e8e6df;color:#171717}.app-shell .public-booking.booking-theme-light .booking-brand strong{color:#171717}.app-shell .public-booking.booking-theme-light .booking-brand span{color:#c39b61}.app-shell .public-booking.booking-theme-light .booking-brand em{color:#45423d}.app-shell .public-booking.booking-theme-light .booking-card{border-color:#deded8;background:#fff;color:#171717;box-shadow:none}.app-shell .public-booking.booking-theme-light .booking-card:first-child{border-color:#fff;background:#d7b06b;color:#171717;box-shadow:0 0 0 1px #deded8}.app-shell .public-booking.booking-theme-light .booking-card:before{display:none}.app-shell .public-booking.booking-theme-light .booking-card>span,.app-shell .public-booking.booking-theme-light .service-picker em,.app-shell .public-booking.booking-theme-light .service-picker small,.app-shell .public-booking.booking-theme-light .time-slots p,.app-shell .public-booking.booking-theme-light .booking-summary span{color:#5d5a54}.app-shell .public-booking.booking-theme-light .booking-card:first-child>span,.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker em,.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker small{color:#3f3424}.app-shell .public-booking.booking-theme-light .service-picker button,.app-shell .public-booking.booking-theme-light .time-slots button,.app-shell .public-booking.booking-theme-light .booking-days button{border-color:#deded8;background:#fbfbf9;color:#171717;box-shadow:none}.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker button{border-color:#ffffffb8;background:#ffffff8f}.app-shell .public-booking.booking-theme-light .service-picker button:hover,.app-shell .public-booking.booking-theme-light .time-slots button:hover,.app-shell .public-booking.booking-theme-light .booking-days button:hover{border-color:#cfcfc8;background:#f7f7f3}.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker button:hover{border-color:#fff;background:#ffffffb8}.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker .selected-service{border-color:#111;background:#ffffffd1;color:#171717;box-shadow:inset 0 0 0 1px #111}.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker .selected-service em,.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker .selected-service small{color:#3f3424}.app-shell .public-booking.booking-theme-light .service-picker .selected-service,.app-shell .public-booking.booking-theme-light .time-slots .selected-time,.app-shell .public-booking.booking-theme-light .booking-days .selected-day,.app-shell .public-booking.booking-theme-light .confirm-booking{border-color:#111;background:#111;color:#fff;box-shadow:none}.app-shell .public-booking.booking-theme-light .service-picker .selected-service em,.app-shell .public-booking.booking-theme-light .service-picker .selected-service small{color:#deded8}.app-shell .public-booking.booking-theme-light .booking-form input{border-color:#deded8;background:#fff;color:#171717}.app-shell .public-booking.booking-theme-light .booking-summary{border-color:#e2e1d9;background:#f7f7f3;color:#171717}.app-shell .public-booking.booking-theme-light .booking-card,.app-shell .public-booking.booking-theme-light .booking-card:first-child{border-color:#deded8;background:#fff;color:#171717;box-shadow:none}.app-shell .public-booking.booking-theme-light .booking-card:first-child>span,.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker em,.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker small{color:#5d5a54}.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker button,.app-shell .public-booking.booking-theme-light .service-picker button,.app-shell .public-booking.booking-theme-light .time-slots button,.app-shell .public-booking.booking-theme-light .booking-days button{border-color:#deded8;background:#fbfbf9;color:#171717;box-shadow:none}.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker button:hover,.app-shell .public-booking.booking-theme-light .service-picker button:hover,.app-shell .public-booking.booking-theme-light .time-slots button:hover,.app-shell .public-booking.booking-theme-light .booking-days button:hover{border-color:#cfcfc8;background:#f7f7f3}.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker .selected-service,.app-shell .public-booking.booking-theme-light .service-picker .selected-service,.app-shell .public-booking.booking-theme-light .time-slots .selected-time,.app-shell .public-booking.booking-theme-light .booking-days .selected-day{border-color:#cfcfc8;background:#f7f7f3;color:#171717;box-shadow:none}.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker .selected-service em,.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker .selected-service small,.app-shell .public-booking.booking-theme-light .service-picker .selected-service em,.app-shell .public-booking.booking-theme-light .service-picker .selected-service small{color:#5d5a54}.app-shell .public-booking.booking-theme-light .confirm-booking{border-color:#111;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.04) 38%,transparent 62%),linear-gradient(180deg,#1a1a1a,#070707);color:#fff;box-shadow:inset 0 1px #ffffff2e,0 10px 20px #00000024}.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker button:hover,.app-shell .public-booking.booking-theme-light .service-picker button:hover,.app-shell .public-booking.booking-theme-light .time-slots button:hover,.app-shell .public-booking.booking-theme-light .booking-days button:hover,.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker .selected-service,.app-shell .public-booking.booking-theme-light .service-picker .selected-service,.app-shell .public-booking.booking-theme-light .time-slots .selected-time,.app-shell .public-booking.booking-theme-light .booking-days .selected-day{border-color:#111;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.04) 38%,transparent 62%),linear-gradient(180deg,#1a1a1a,#070707);color:#fff;box-shadow:inset 0 1px #ffffff2e,0 10px 20px #0000001f}.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker button:hover em,.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker button:hover small,.app-shell .public-booking.booking-theme-light .service-picker button:hover em,.app-shell .public-booking.booking-theme-light .service-picker button:hover small,.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker .selected-service em,.app-shell .public-booking.booking-theme-light .booking-card:first-child .service-picker .selected-service small,.app-shell .public-booking.booking-theme-light .service-picker .selected-service em,.app-shell .public-booking.booking-theme-light .service-picker .selected-service small{color:#deded8}@media(max-width:1120px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;flex-direction:row;align-items:center;overflow:auto}.side-nav{grid-auto-flow:column;grid-auto-columns:max-content}.booking-preview{display:none}.workspace,.appointment-dock{grid-template-columns:1fr}.details-panel{position:static}.client-row,.service-row{grid-template-columns:1fr}.service-row-meta,.service-row-actions{justify-content:flex-start}.booking-columns{grid-template-columns:1fr}.brand-vein-card{grid-column:1 / -1}}@media(max-width:760px){.main-panel{padding:14px}.topbar,.calendar-toolbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;flex-wrap:wrap}.calendar-toolbar p{text-align:left}.calendar-scroll{max-height:620px}.sidebar{padding:14px}.brand-vein-preview,.brand-swatches{grid-template-columns:1fr}}
