:root{--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #2563eb;--brand-600: #1d4ed8;--brand-700: #1e40af;--gray-0: #ffffff;--gray-25: #fbfbfb;--gray-50: #f5f5f5;--gray-75: #efefef;--gray-100:#e6e6e6;--gray-150:#d6d6d6;--gray-200:#c8c8c8;--gray-300:#a6a6a6;--gray-400:#8a8a8a;--gray-500:#6e6e6e;--gray-600:#525252;--gray-700:#3b3b3b;--gray-800:#242424;--gray-900:#161616;--success: #107c10;--success-bg: #dff6dd;--warn: #f7630c;--warn-bg: #fff4ce;--danger: #c50f1f;--danger-bg: #fde7e9;--info: #0078d4;--bg-app: #faf9f8;--bg-card: #ffffff;--border: #e1dfdd;--border-strong: #c8c6c4;--font-sans: "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--fs-100: 12px;--fs-200: 13px;--fs-300: 14px;--fs-400: 16px;--fs-500: 18px;--fs-600: 20px;--fs-700: 24px;--fs-800: 28px;--fs-900: 32px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--sh-1: 0 1px 2px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--sh-2: 0 2px 4px rgba(0,0,0,.08), 0 1px 6px rgba(0,0,0,.04);--sh-3: 0 4px 12px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.05);--sh-pop: 0 8px 24px rgba(0,0,0,.18);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--topbar-h: 52px;--sidebar-w: 240px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:var(--font-sans);font-size:var(--fs-300);color:var(--gray-800);background:var(--bg-app);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--brand-600);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:600;color:var(--gray-900)}h1{font-size:var(--fs-800);letter-spacing:-.01em}h2{font-size:var(--fs-600)}h3{font-size:var(--fs-500)}h4{font-size:var(--fs-400)}p{margin:0;color:var(--gray-700)}button{font-family:inherit}input,textarea,select{font-family:inherit;font-size:var(--fs-300);color:var(--gray-800)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--r-md);font-size:var(--fs-300);font-weight:600;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .05s;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px}.btn-primary{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.btn-primary:hover{background:var(--brand-700);border-color:var(--brand-700)}.btn-secondary{background:var(--gray-0);color:var(--gray-800);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--gray-50)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{filter:brightness(.92)}.btn-subtle{background:transparent;color:var(--gray-700);border-color:transparent}.btn-subtle:hover{background:var(--gray-75)}.btn-link{background:transparent;color:var(--brand-600);border:none;padding:4px 6px}.btn-link:hover{text-decoration:underline}.btn-icon{width:32px;height:32px;padding:0;background:transparent;color:var(--gray-700);border-color:transparent;border-radius:var(--r-md)}.btn-icon:hover{background:var(--gray-75)}.btn-block{width:100%}.btn-sm{padding:4px 10px;font-size:var(--fs-200)}.btn-lg{padding:12px 22px;font-size:var(--fs-400)}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.field label,.label{font-size:var(--fs-200);font-weight:600;color:var(--gray-700)}.field .help{font-size:var(--fs-100);color:var(--gray-500)}.branding-fields{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr);gap:16px;align-items:end;margin-top:12px}.branding-field{margin-bottom:0}.branding-field label{min-height:1.25em}.input-color{height:40px;min-height:40px;padding:4px 6px;cursor:pointer;box-sizing:border-box}.input-file{height:40px;min-height:40px;padding:6px 10px;box-sizing:border-box;line-height:1.25}.branding-logo-preview{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--gray-25);display:flex;align-items:center;justify-content:flex-start}.branding-logo-preview img{max-height:56px;max-width:200px;object-fit:contain}@media(max-width:520px){.branding-fields{grid-template-columns:1fr;align-items:stretch}}.input,.textarea,.select{width:100%;padding:8px 12px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--gray-0);transition:border-color .15s,box-shadow .15s}.input:hover,.textarea:hover,.select:hover{border-color:var(--gray-400)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 2px var(--brand-100)}.textarea{min-height:80px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23525252' fill='none' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.input-readonly{background:var(--gray-50);color:var(--gray-600)}.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.25}.toggle input{display:none}.toggle .track{flex-shrink:0}.toggle .track{width:36px;height:20px;border-radius:999px;background:var(--gray-200);position:relative;transition:background .2s}.toggle .thumb{width:14px;height:14px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;transition:left .2s,background .2s;box-shadow:0 1px 2px #0003}.toggle input:checked+.track{background:var(--brand-600)}.toggle input:checked+.track .thumb{left:19px}.toggle .toggle-label{font-size:var(--fs-300);color:var(--gray-700)}.radio-card-group{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.radio-card{padding:16px;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:6px}.radio-card:hover{border-color:var(--brand-400)}.radio-card.selected{border-color:var(--brand-600);box-shadow:0 0 0 2px var(--brand-100);background:var(--brand-50)}.radio-card .icon{font-size:24px}.radio-card .title{font-weight:600;font-size:var(--fs-300);color:var(--gray-900)}.radio-card .desc{font-size:var(--fs-200);color:var(--gray-600)}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;min-width:1rem;min-height:1rem;margin:0;padding:0;flex-shrink:0;accent-color:var(--brand-600);cursor:pointer;vertical-align:middle}input[type=checkbox].input,input[type=radio].input{width:1rem;height:1rem;min-width:1rem;padding:0;border:none;background:transparent;box-shadow:none}.checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;line-height:1.25;-webkit-user-select:none;user-select:none}.checkbox input[type=checkbox],.checkbox input[type=radio]{margin:0}.row>input[type=checkbox]:first-child,.row>input[type=radio]:first-child{align-self:center}.field-controls-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.field-controls-row .input{width:120px;flex:0 0 auto}.field-controls-row .checkbox{min-height:38px}.staff-picker-row{align-items:center}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.card-pad{padding:20px}.data-table-wrap{overflow-x:auto;margin-top:4px}.data-table-wrap--fit{overflow-x:visible}.data-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.data-table thead tr{background:var(--gray-25)}.data-table th,.data-table td{padding:12px 16px;text-align:left;vertical-align:middle}.data-table tbody tr{border-top:1px solid var(--border)}.data-table th.col-num,.data-table td.col-num{text-align:right;width:96px}.data-table th.col-actions,.data-table td.col-actions{text-align:right;width:108px;white-space:nowrap}.data-table th.col-calendar,.data-table td.col-calendar{width:128px}.data-table td.col-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table--admin-pages{table-layout:fixed}.data-table--admin-pages th,.data-table--admin-pages td{padding:10px 12px}.data-table--admin-pages th.col-name,.data-table--admin-pages td.col-name{width:28%}.data-table--admin-pages th.col-owner,.data-table--admin-pages td.col-owner{width:20%}.data-table--admin-pages th.col-type,.data-table--admin-pages td.col-type{width:11%;white-space:nowrap}.data-table--admin-pages th.col-num,.data-table--admin-pages td.col-num{width:8%;min-width:4.5rem}.data-table--admin-pages th.col-status,.data-table--admin-pages td.col-status{width:14%;white-space:nowrap}.data-table--admin-pages th.col-actions,.data-table--admin-pages td.col-actions{width:10%;min-width:4.5rem;text-align:left}.data-table--admin-pages tbody tr:hover{background:var(--gray-25)}.table-action-links{display:inline-grid;grid-template-columns:auto auto minmax(5.5rem,max-content);align-items:center;column-gap:10px}.table-action-link{display:inline;padding:0;margin:0;border:none;background:none;font:inherit;font-size:var(--fs-200);font-weight:600;color:var(--brand-600);cursor:pointer;text-decoration:none;white-space:nowrap}.table-action-link:hover:not(:disabled){color:var(--brand-700);text-decoration:underline}.table-action-link:disabled{opacity:.6;cursor:wait}.table-action-link:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px;border-radius:2px}.table-action-sep{color:var(--gray-300);-webkit-user-select:none;user-select:none;font-weight:400}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:var(--fs-100);font-weight:600;background:var(--gray-75);color:var(--gray-700)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-toggle{border:1px solid transparent;cursor:pointer;transition:box-shadow .15s ease,filter .15s ease}.badge-toggle:hover:not(:disabled){box-shadow:var(--sh-1);filter:brightness(.97)}.badge-toggle:disabled{opacity:.75;cursor:wait}.badge-toggle:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px}.badge-info{background:var(--brand-50);color:var(--brand-700)}.badge-personal{background:#efe6ff;color:#5226cc}.badge-shared{background:#e6f4ff;color:#0a5cbf}.divider{height:1px;background:var(--border);margin:16px 0;border:0}.stepper{display:flex;align-items:center;gap:8px;justify-content:center;margin-bottom:24px}.stepper .dot{width:28px;height:28px;border-radius:50%;background:var(--gray-100);color:var(--gray-500);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-200)}.stepper .dot.active{background:var(--brand-600);color:#fff}.stepper .dot.done{background:var(--success);color:#fff}.stepper .line{width:40px;height:2px;background:var(--gray-100)}.stepper .line.done{background:var(--success)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.dialog{background:#fff;border-radius:var(--r-lg);max-width:520px;width:100%;box-shadow:var(--sh-pop);overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.dialog-header{padding:20px 24px 0;display:flex;justify-content:space-between;align-items:flex-start}.dialog-body{padding:12px 24px 20px;overflow:auto}.dialog-footer{padding:16px 24px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);background:var(--gray-25)}.side-panel{position:fixed;top:0;right:0;height:100%;width:360px;background:#fff;box-shadow:var(--sh-pop);display:flex;flex-direction:column;z-index:40;overflow:hidden;animation:slideInR .2s ease-out}@keyframes slideInR{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.side-panel-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.side-panel-body{padding:20px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}.side-panel-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;flex-shrink:0;flex-wrap:nowrap;align-items:stretch}.side-panel-footer .btn{flex:1;min-width:0;padding:8px 10px;font-size:var(--fs-200);white-space:nowrap}.skeleton{background:linear-gradient(90deg,var(--gray-75) 0%,var(--gray-100) 50%,var(--gray-75) 100%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.row{display:flex;gap:12px;align-items:center}.col{display:flex;flex-direction:column;gap:12px}.spacer{flex:1}.muted{color:var(--gray-500)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:10px 14px;border:none;background:transparent;cursor:pointer;font-size:var(--fs-300);font-weight:600;color:var(--gray-600);border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--gray-800)}.tab.active{color:var(--brand-700);border-bottom-color:var(--brand-600)}.alert{padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--border);display:flex;gap:10px;align-items:flex-start}.alert-danger{background:var(--danger-bg);border-color:#f3b7bd;color:var(--danger)}.alert-warn{background:var(--warn-bg);border-color:#f7d588;color:#8a4b00}.alert-info{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-700)}.alert-success{background:var(--success-bg);border-color:#b6e2b3;color:var(--success)}.public-booking-view-page{min-height:100vh;background:var(--gray-50);display:flex;align-items:flex-start;justify-content:center;padding:32px 16px 48px}.public-booking-view-card{width:100%;max-width:420px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-md);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.public-booking-view-header{padding:20px 20px 16px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.public-booking-view-header h1{margin:4px 0 0;font-size:var(--fs-600);font-weight:700;line-height:1.25}.public-booking-view-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.public-booking-view-body{padding:20px;flex:1}.public-booking-view-section-label{text-transform:uppercase;font-size:11px;letter-spacing:.05em;margin:0 0 8px;font-weight:600}.public-booking-view-row{display:grid;grid-template-columns:88px 1fr;gap:8px;padding:4px 0;font-size:13px}.public-booking-view-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px}.public-booking-view-footer .btn{flex:1;justify-content:center}.public-booking-view-state{padding:48px 24px;text-align:center;color:var(--gray-600);display:flex;align-items:center;justify-content:center;gap:8px}.public-booking-view-error{color:var(--danger);margin:0}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;background:var(--bg-app);transition:grid-template-columns .22s ease}.app-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;width:var(--sidebar-w);min-width:var(--sidebar-w);overflow:hidden;transition:opacity .2s ease,transform .22s ease}.app-shell.sidebar-collapsed .sidebar{opacity:0;transform:translate(-12px);pointer-events:none;border-right:none}.sidebar-toggle{flex-shrink:0}.sidebar-toggle[aria-expanded=true]{background:var(--brand-50);color:var(--brand-700)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:16px 16px 12px;border-bottom:1px solid var(--border)}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.sidebar-user .name{font-weight:600;font-size:var(--fs-300);color:var(--gray-900);line-height:1.2}.sidebar-user .sub{font-size:var(--fs-100);color:var(--gray-500)}.sidebar-nav{padding:12px 8px;flex:1;overflow:auto}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-md);color:var(--gray-700);cursor:pointer;font-size:var(--fs-300);text-decoration:none;margin-bottom:2px}.nav-item:hover{background:var(--gray-75);text-decoration:none}.nav-item.active{background:var(--brand-50);color:var(--brand-700);font-weight:600}.nav-item--placeholder{cursor:default;opacity:.85}.nav-item--placeholder:hover{background:transparent}.nav-item .ico{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.sidebar-footer{padding:12px;border-top:1px solid var(--border)}.topbar{height:var(--topbar-h);background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:16px;position:sticky;top:0;z-index:10}.topbar h1{font-size:var(--fs-600)}.main{display:flex;flex-direction:column;min-width:0}.page{padding:24px;flex:1}.toggle-group{display:inline-flex;background:var(--gray-75);border-radius:var(--r-md);padding:2px}.toggle-group button{border:none;background:transparent;padding:6px 14px;font-size:var(--fs-200);font-weight:600;color:var(--gray-700);border-radius:var(--r-sm);cursor:pointer}.toggle-group button.active{background:#fff;color:var(--brand-700);box-shadow:var(--sh-1)}.dashboard-toolbar{margin-bottom:12px}.dashboard-toolbar__main{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.dashboard-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dashboard-nav__label{margin-left:4px;font-size:var(--fs-200);white-space:nowrap}.dashboard-filters-bar{margin-bottom:16px;padding:12px!important}.dashboard-filters-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}@media(max-width:900px){.dashboard-filters-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.dashboard-filters-row{grid-template-columns:1fr}}.dashboard-filters-actions{display:flex;justify-content:flex-end;margin-top:8px}.dashboard-filter-field{margin-bottom:0;min-width:0;width:100%}.dashboard-filter-field label{font-size:11px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}.dashboard-filter-field .select{width:100%;min-width:0;max-width:none}.data-table--bookings-list{table-layout:fixed}.data-table--bookings-list th.col-when,.data-table--bookings-list td.col-when{width:22%}.data-table--bookings-list th.col-customer,.data-table--bookings-list td.col-customer{width:28%}.data-table--bookings-list th.col-service,.data-table--bookings-list td.col-service{width:38%}.data-table--bookings-list th.col-status,.data-table--bookings-list td.col-status{width:12%;white-space:nowrap}.data-table--bookings-list tbody tr:hover{background:var(--gray-25)}.week-cal{display:grid;grid-template-columns:76px repeat(7,1fr);background:var(--border);gap:1px;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.week-cal.is-day{grid-template-columns:76px 1fr}.wc-cell{background:#fff;min-height:60px;padding:4px;min-width:0;position:relative}.wc-corner{background:var(--gray-25);min-height:0}.wc-day-head{background:var(--gray-25);text-align:center;padding:10px 6px;font-size:var(--fs-200);font-weight:600;color:var(--gray-600);min-height:0}.wc-day-head .wc-date{font-size:11px;color:var(--gray-400);font-weight:400;margin-top:2px}.wc-hour{background:var(--gray-25);color:var(--gray-500);font-size:var(--fs-100);text-align:right;padding:4px 10px 4px 6px;white-space:nowrap;line-height:1.25;overflow:hidden}.chip{display:block;box-sizing:border-box;width:100%;border-radius:var(--r-sm);padding:4px 8px;font-size:var(--fs-100);font-weight:600;color:#fff;cursor:pointer;text-align:left;border:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.3}.chip+.chip{margin-top:2px}.chip:hover{filter:brightness(.95);box-shadow:var(--sh-1)}.month-cal{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.month-head{padding:12px 16px;font-weight:600;font-size:var(--fs-500);border-bottom:1px solid var(--border);background:var(--gray-25)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--border);gap:1px}.month-dow{background:var(--gray-25);padding:8px 10px;font-size:var(--fs-200);font-weight:600;color:var(--gray-600);text-align:left}.month-cell{background:#fff;min-height:92px;padding:6px 6px 8px;display:flex;flex-direction:column;gap:4px;min-width:0}.month-cell.is-muted{background:var(--gray-25)}.month-cell.is-muted .month-cell-num{color:var(--gray-300)}.month-cell-num{font-size:var(--fs-200);color:var(--gray-700);font-weight:600;line-height:1;padding:2px 2px 0}.month-cell-events{display:flex;flex-direction:column;gap:2px;min-width:0}.page-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}@media(max-width:720px){.page-grid{grid-template-columns:1fr}}.page-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:8px;min-height:0;box-shadow:0 1px 2px #0f172a0a;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease,transform .15s ease}.page-card--clickable{cursor:pointer}.page-card--clickable:hover{border-color:var(--brand-400);background:#fff;box-shadow:0 10px 24px #0f172a1f,0 0 0 1px #2563eb1f;transform:translateY(-2px);z-index:1}.page-card:focus-within{border-color:var(--brand-500);box-shadow:0 4px 14px #2563eb1f,0 0 0 2px #2563eb33;z-index:1}.page-card .top{display:flex;justify-content:space-between;align-items:center}.page-card .actions{display:flex;gap:4px}.page-card h3{margin:0;font-size:var(--fs-500, 1.125rem);line-height:1.3;transition:color .15s ease}.page-card--clickable:hover h3{color:var(--brand-700)}.page-card .slug{color:var(--gray-500);font-size:var(--fs-200);word-break:break-all}.page-card .count{color:var(--gray-600);font-size:var(--fs-200)}.page-card.deleting{opacity:.65;background:var(--gray-50)}.page-card.deleting:hover{border-color:var(--border);background:var(--gray-50);box-shadow:0 1px 2px #0f172a0a}.page-card-actions{position:relative;z-index:2}.stats-grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}@media(max-width:880px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:8px}.stat-card .num{font-size:var(--fs-900);font-weight:700;color:var(--gray-900);line-height:1}.stat-card .lbl{font-size:var(--fs-200);color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}.trend{font-size:var(--fs-200);font-weight:600;display:inline-flex;gap:4px;align-items:center}.trend.up{color:var(--success)}.trend.down{color:var(--danger)}.charts-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr}@media(max-width:880px){.charts-grid{grid-template-columns:1fr}}.bar-chart{display:flex;align-items:flex-end;gap:6px;height:220px;padding:16px 8px 0}.bar{flex:1;background:var(--brand-500);border-radius:4px 4px 0 0;min-width:8px;position:relative;transition:background .2s}.bar:hover{background:var(--brand-700)}.bar-label{font-size:var(--fs-100);color:var(--gray-500);text-align:center}.chart-x{display:grid;gap:6px;padding:6px 8px 0}.heatmap{display:grid;grid-template-columns:40px repeat(24,1fr);gap:2px}.heat-cell{aspect-ratio:1;border-radius:2px;background:var(--gray-50)}.heat-day-label{font-size:var(--fs-100);color:var(--gray-500);align-self:center}.heat-hour-label{font-size:9px;color:var(--gray-400);text-align:center}.service-editor{display:grid;grid-template-columns:280px 1fr;gap:16px;min-height:70vh}@media(max-width:880px){.service-editor{grid-template-columns:1fr}}.service-list{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:12px}.service-list-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-md);cursor:pointer;border:1px solid transparent}.service-list-item:hover{background:var(--gray-50)}.service-list-item.selected{background:var(--brand-50);border-color:var(--brand-200)}.service-list-item .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.service-list-item .grab{color:var(--gray-400);cursor:grab}.service-form{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:24px}.save-indicator{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-200);color:var(--gray-500)}.public-wrap{min-height:100vh;background:#f5f7fa;color:#1a1f36;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.cal-page{max-width:1060px;margin:0 auto;padding:32px 20px 48px}.cal-card{position:relative;background:#fff;border-radius:8px;box-shadow:0 1px 8px #1a233614,0 8px 24px #1a23360f;overflow:visible;min-height:520px}.cal-card-inner{border-radius:8px;overflow:hidden;min-height:520px}.cal-ribbon{position:absolute;top:0;right:0;z-index:3;width:118px;height:118px;overflow:hidden;pointer-events:none}.cal-ribbon-inner{position:absolute;top:26px;right:-38px;width:168px;padding:7px 0 9px;background:#656668;color:#fff;text-align:center;transform:rotate(45deg);transform-origin:center center;box-shadow:0 1px 3px #0000002e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.15}.cal-ribbon-inner span{display:block;font-size:7px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.cal-ribbon-inner strong{display:block;font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:none}.cal-split{display:grid;grid-template-columns:minmax(260px,34%) 1fr;min-height:520px}.cal-aside{border-right:1px solid #e8eaed;padding:32px 28px 28px;display:flex;flex-direction:column}.cal-aside-back{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 0 16px;padding:0;border:1px solid #d0d5dd;border-radius:50%;background:#fff;color:#0069ff;cursor:pointer;flex-shrink:0;transition:border-color .15s,background-color .15s}.cal-aside-back:hover{border-color:#0069ff;background:#f8faff}.cal-aside-back:focus-visible{outline:none;border-color:#0069ff;box-shadow:0 0 0 2px #0069ff40}.cal-team-booking-note{font-size:13px;line-height:1.5;color:var(--gray-600);margin:0 0 16px;max-width:36em}.cal-aside .cal-team-booking-note{margin:-4px 0 16px;font-size:12px}.cal-host{margin:0 0 8px;padding:0;font-size:15px;font-weight:500;line-height:1.35;letter-spacing:-.01em;color:#1a1a1a99;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.cal-event-title{font-size:28px;font-weight:700;color:#0a2540;line-height:1.15;margin:0 0 20px;letter-spacing:-.025em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.cal-detail-list{display:flex;flex-direction:column;gap:16px}.cal-detail-row{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#1a1f36;line-height:1.45}.cal-detail-row .cal-detail-icon{flex-shrink:0;width:20px;height:20px;color:#666a73;margin-top:1px}.cal-aside-footer{margin-top:auto;padding-top:24px;font-size:12px}.cal-aside-footer a{color:#0069ff;text-decoration:none;margin-right:12px}.cal-main{padding:40px 56px 32px 36px;display:flex;flex-direction:column;min-width:0}.cal-main.cal-confirm{padding-right:64px}.cal-cancel-copy{font-size:15px;line-height:1.55;color:#1a1f36;margin:0 0 12px;padding-right:8px;max-width:100%}.cal-main-title{font-size:18px;font-weight:700;color:#0b3558;margin:0 0 24px}.cal-step1{padding:40px 36px}.cal-step1-title{font-size:22px;font-weight:700;color:#0b3558;margin:0 0 8px}.cal-step1-sub{color:#666a73;margin:0 0 28px;font-size:15px}.cal-service-list{display:flex;flex-direction:column;gap:0;border:1px solid #e8eaed;border-radius:8px;overflow:hidden}.cal-service-item{display:block;width:100%;text-align:left;padding:18px 20px;border:none;border-bottom:1px solid #e8eaed;background:#fff;cursor:pointer;transition:background .12s}.cal-service-item:last-child{border-bottom:none}.cal-service-item:hover{background:#f8faff}.cal-service-item .name{font-size:16px;font-weight:600;color:#0069ff;margin-bottom:4px}.cal-service-item .meta{font-size:13px;color:#666a73}.cal-schedule{display:grid;grid-template-columns:1fr minmax(200px,240px);gap:28px;align-items:start}.cal-cal-wrap{min-width:0}.cal-month-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.cal-month-nav strong{font-size:16px;font-weight:600;color:#1a1f36;min-width:140px;text-align:center}.cal-nav-btn{width:36px;height:36px;border-radius:50%;border:none;background:#e8f2ff;color:#0069ff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s}.cal-nav-btn:hover:not(:disabled){background:#d4e8ff}.cal-nav-btn:disabled{opacity:.35;cursor:not-allowed}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal-dow{font-size:11px;font-weight:600;color:#666a73;text-transform:uppercase;padding:4px 0 8px;letter-spacing:.04em}.cal-day{aspect-ratio:1;max-width:44px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;font-weight:500;border:none;background:transparent;color:#bdbfc7;cursor:default;padding:0}.cal-day.is-available{color:#0069ff;font-weight:600;cursor:pointer;background:#e8f2ff}.cal-day.is-available:hover{background:#d4e8ff}.cal-day.is-selected{background:#0069ff!important;color:#fff!important}.cal-day.is-empty{visibility:hidden}.cal-calendar-panel{min-width:0}.cal-calendar-body{position:relative;margin-top:4px}.cal-empty-month{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:0;padding:14px 28px 16px;min-width:200px;background:#fff;border:1px solid #d5d8de;border-radius:999px;box-shadow:0 6px 24px #1a23361f;text-align:center}.cal-empty-month-text{margin:0;color:#3d4354;font-size:12px;font-weight:400;line-height:1.3;letter-spacing:.01em;white-space:nowrap}.cal-empty-month-next{display:inline-flex;align-items:center;gap:4px;color:#0069ff;font-size:17px;font-weight:700;background:none;border:none;cursor:pointer;padding:0;line-height:1.25;white-space:nowrap}.cal-empty-month-next:hover{text-decoration:underline}.cal-empty-month-next svg{width:16px;height:16px;flex-shrink:0}.cal-grid.is-faded{opacity:.45}.cal-tz{margin-top:20px;font-size:13px;color:#1a1f36}.cal-tz-label{font-weight:700;margin-bottom:6px;display:block}.cal-tz-value{display:flex;align-items:center;gap:8px;color:#666a73}.cal-times{min-width:0}.cal-times-heading{font-size:15px;font-weight:600;color:#1a1f36;margin-bottom:12px}.cal-times-list{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto;padding-right:4px}.cal-time-row{display:flex;gap:8px;align-items:stretch}.cal-time-btn{flex:1;padding:12px 16px;border:1px solid #0069ff;border-radius:4px;background:#fff;color:#0069ff;font-size:15px;font-weight:700;cursor:pointer;transition:background .12s,color .12s}.cal-time-btn:hover{background:#f8faff}.cal-time-btn.is-selected{background:#1a1f36;border-color:#1a1f36;color:#fff}.cal-next-btn{flex-shrink:0;padding:12px 20px;border:none;border-radius:4px;background:#0069ff;color:#fff;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap}.cal-next-btn:disabled{opacity:.5;cursor:not-allowed}.cal-form .field label{font-size:14px;font-weight:600;color:#1a1f36}.cal-form .input,.cal-form .textarea{border:1px solid #d0d5dd;border-radius:4px;background:#fff;transition:border-color .15s ease}.public-wrap .cal-form .input:hover,.public-wrap .cal-form .textarea:hover{border-color:#b0b8c4}.public-wrap .cal-form .input:focus,.public-wrap .cal-form .textarea:focus{outline:none;border-color:#0069ff;box-shadow:none}.cal-schedule-btn{width:100%;max-width:200px;padding:12px 24px;border:none;border-radius:999px;background:#0069ff;color:#fff;font-size:15px;font-weight:700;cursor:pointer;margin-top:8px}.cal-schedule-btn:disabled{opacity:.6;cursor:not-allowed}.cal-confirm{padding:40px 32px 48px;text-align:center;position:relative;overflow:visible}.booking-confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.booking-success{position:relative;z-index:1;max-width:400px;margin:0 auto}.booking-success.is-celebration .booking-success-hero{animation:bookingSuccessFadeUp .55s ease-out both}.booking-success.is-celebration .booking-success-when-card{animation:bookingSuccessFadeUp .55s ease-out .12s both}.booking-success.is-celebration .booking-success-calendar,.booking-success.is-celebration .booking-success-actions{animation:bookingSuccessFadeUp .55s ease-out .22s both}@keyframes bookingSuccessFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.booking-success-hero{margin-bottom:24px}.booking-success-icon{position:relative;width:72px;height:72px;border-radius:50%;background:linear-gradient(145deg,#dbeafe,#eff6ff);color:#0069ff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 8px 24px #0069ff2e}.booking-success-icon svg{width:32px;height:32px;stroke-width:2.2}.booking-success.is-celebration .booking-success-icon{animation:bookingSuccessPop .5s cubic-bezier(.34,1.56,.64,1) both}.booking-success-icon.is-muted{background:linear-gradient(145deg,#f3f4f6,#f9fafb);color:#6b7280;box-shadow:none}.booking-success-icon-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid rgba(0,105,255,.35);animation:bookingSuccessRing 1.2s ease-out .35s both}@keyframes bookingSuccessPop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bookingSuccessRing{0%{transform:scale(.85);opacity:.9}to{transform:scale(1.35);opacity:0}}.booking-success-eyebrow{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0069ff}.booking-success-title{margin:0 0 10px;font-size:26px;font-weight:800;line-height:1.2;color:#0b3558;letter-spacing:-.02em}.booking-success-subtitle{margin:0;font-size:15px;line-height:1.55;color:#4b5563}.booking-success-email{margin:14px 0 0;font-size:14px;line-height:1.5;color:#6b7280}.booking-success-email strong{color:#111827;font-weight:600}.booking-success-when-card{background:linear-gradient(135deg,#f0f7ff,#faf5ff);border:1px solid #dbeafe;border-radius:12px;padding:16px 18px;margin-bottom:24px;text-align:left}.booking-success-when-row{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;color:#1f2937;font-weight:500}.booking-success-when-icon{flex-shrink:0;color:#0069ff;margin-top:2px}.booking-success-calendar{margin-bottom:20px}.booking-success-calendar-label{margin:0 0 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}.booking-success-calendar-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.booking-success-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.booking-success-link{color:#0069ff;font-size:14px;font-weight:600;text-decoration:none}.booking-success-link:hover{text-decoration:underline}.booking-success-cta{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;font-size:14px;font-weight:600;color:#0069ff;background:#fff;border:1px solid #c7d7fe;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.booking-success-cta:hover{background:#eff6ff;border-color:#93c5fd}.booking-success.is-cancelled .booking-success-title{font-size:22px;color:#374151}@media(prefers-reduced-motion:reduce){.booking-success.is-celebration .booking-success-hero,.booking-success.is-celebration .booking-success-when-card,.booking-success.is-celebration .booking-success-calendar,.booking-success.is-celebration .booking-success-actions,.booking-success.is-celebration .booking-success-icon,.booking-success-icon-ring{animation:none}}.cal-back-link{display:inline-flex;align-items:center;gap:4px;color:#0069ff;font-size:14px;font-weight:600;background:none;border:none;cursor:pointer;padding:0;margin-bottom:16px}.cal-alert{padding:12px 14px;border-radius:6px;font-size:14px;margin-bottom:16px;display:flex;gap:8px;align-items:flex-start}.cal-alert.is-error{background:#fef2f2;color:#b42318}.cal-alert.is-info{background:#eff8ff;color:#175cd3}@media(max-width:860px){.cal-split{grid-template-columns:1fr}.cal-aside{border-right:none;border-bottom:1px solid #e8eaed;padding:28px 24px}.cal-main{padding:28px 40px 28px 24px}.cal-main.cal-confirm{padding-right:44px}.cal-schedule{grid-template-columns:1fr}.cal-ribbon{width:100px;height:100px}.cal-ribbon-inner{top:22px;right:-34px;width:150px;padding:6px 0 8px}.cal-ribbon-inner span{font-size:6px}.cal-ribbon-inner strong{font-size:10px}}.breadcrumb{font-size:var(--fs-200);color:var(--gray-500);margin-bottom:12px}.breadcrumb .crumb-sep{margin:0 6px;color:var(--gray-400)}.summary-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.summary-row:last-child{border-bottom:none}.summary-row .lbl{color:var(--gray-600);font-size:var(--fs-200)}.summary-row .val{color:var(--gray-900);font-weight:600;font-size:var(--fs-300);text-align:right}.onboarding{background:#fff;max-width:480px;width:100%;border-radius:var(--r-xl);box-shadow:var(--sh-3);padding:32px}.onboarding .brand{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px}.onboarding .logo-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--brand-500),var(--brand-700));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800}@keyframes confetti-fall{0%{transform:translate3d(0,-100vh,0) rotate(0);opacity:1}to{transform:translate3d(0,100vh,0) rotate(720deg);opacity:0}}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:100}.confetti span{position:absolute;top:-10vh;width:8px;height:14px;border-radius:2px;animation:confetti-fall 2.5s linear forwards}.check-anim{width:64px;height:64px;border-radius:50%;background:var(--success);display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 16px;animation:pop .5s ease-out}@keyframes pop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.index-wrap{max-width:1080px;margin:0 auto;padding:48px 24px}.index-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}@media(max-width:880px){.index-grid{grid-template-columns:1fr}}.index-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}.index-card:hover{box-shadow:var(--sh-2);transform:translateY(-2px);text-decoration:none}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent}.swatch.selected{border-color:var(--gray-900)}.week-grid{display:flex;flex-direction:column;gap:8px}.week-row{display:grid;grid-template-columns:110px auto 1fr auto;align-items:center;gap:12px;padding:8px 10px;background:var(--gray-25);border-radius:var(--r-md)}.week-row .toggle{align-self:center}.time-range{display:flex;gap:6px;align-items:center}.time-range .input{width:110px}.q-row{display:grid;grid-template-columns:auto 1fr 160px auto auto;gap:10px;align-items:center;padding:10px;background:var(--gray-25);border-radius:var(--r-md);margin-bottom:8px}.q-row .toggle{align-self:center;white-space:nowrap}.handle{color:var(--gray-400);cursor:grab;-webkit-user-select:none;user-select:none}.copy-input{display:flex;gap:0;border:1px solid var(--border-strong);border-radius:var(--r-md);overflow:hidden;margin:8px 0 16px;background:#fff}.copy-input input{flex:1;border:none;padding:10px 12px;outline:none}.copy-input button{border:none;border-left:1px solid var(--border-strong);background:var(--gray-50);padding:0 14px;cursor:pointer;font-weight:600}.copy-input button:hover{background:var(--gray-75)}.copy-input button:disabled{opacity:.45;cursor:not-allowed}.copy-input--public-url .public-url-prefix{padding:10px 0 10px 12px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(52%,420px);flex-shrink:1;min-width:0}.copy-input--public-url .public-url-prefix-link{color:var(--gray-500);text-decoration:none}.copy-input--public-url .public-url-prefix-link:hover{color:var(--link, #2563eb);text-decoration:underline}.copy-input--public-url .public-url-slug{color:var(--link, #2563eb);font-weight:500}.copy-input--public-url-link .public-url-slug{cursor:pointer}.copy-input--public-url-link .public-url-slug:hover{text-decoration:underline}.copy-input--public-url-editing .public-url-slug{cursor:text;text-decoration:none}.powered{font-size:var(--fs-100);color:var(--gray-500);margin-left:auto}
