.vb-root{--vb-accent:#2563eb;--vb-accent-contrast:#fff;--vb-surface:#fff;--vb-surface-elevated:#f8fafc;--vb-text:#0f172a;--vb-muted:#64748b;--vb-border:#e2e8f0;--vb-danger:#dc2626;--vb-success:#15803d;--vb-radius:20px;--vb-font:Inter,ui-sans-serif,system-ui,sans-serif;--vb-shadow:0 24px 70px #0f172a1f;font-family:var(--vb-font);color:var(--vb-text);width:100%;container-type:inline-size}.vb-root *{box-sizing:border-box}.vb-root button,.vb-root input,.vb-root select,.vb-root textarea{font:inherit}.vb-root button{color:inherit}.vb-hero{margin-bottom:20px}.vb-hero h2{letter-spacing:-.045em;margin:10px 0;font-size:clamp(1.8rem,5cqi,3.2rem);line-height:1}.vb-hero p{color:var(--vb-muted);max-width:68ch;margin:0;font-size:1rem}.vb-hero--admin{padding:4px}.vb-eyebrow{border:1px solid color-mix(in srgb,var(--vb-accent) 20%,var(--vb-border));background:color-mix(in srgb,var(--vb-accent) 7%,var(--vb-surface));color:var(--vb-accent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:.73rem;font-weight:800;display:inline-flex}.vb-booking__layout{grid-template-columns:minmax(230px,.85fr) minmax(440px,1.45fr) minmax(260px,.9fr);align-items:start;gap:14px;display:grid}.vb-booking__layout--wizard{grid-template-columns:minmax(0,780px);justify-content:center}.vb-booking__layout--wizard .vb-panel{width:100%}.vb-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.vb-progress li{min-width:0}.vb-progress button{border:1px solid var(--vb-border);background:var(--vb-surface);width:100%;color:var(--vb-muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:.78rem;font-weight:800;transition:all .18s;display:flex}.vb-progress button span{background:var(--vb-surface-elevated);border-radius:999px;flex:none;place-items:center;width:22px;height:22px;font-size:.68rem;display:grid}.vb-progress li.is-active button{border-color:var(--vb-accent);background:color-mix(in srgb,var(--vb-accent) 8%,var(--vb-surface));color:var(--vb-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--vb-accent) 12%,transparent)}.vb-progress li.is-active button span,.vb-progress li.is-complete button span{background:var(--vb-accent);color:var(--vb-accent-contrast)}.vb-progress li.is-complete button{color:var(--vb-text)}.vb-progress button:disabled{cursor:not-allowed;opacity:.62}.vb-step-panel-actions{border-top:1px solid var(--vb-border);justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;display:flex}.vb-step-panel-actions--split{justify-content:space-between}.vb-panel{background:var(--vb-surface);border:1px solid var(--vb-border);border-radius:var(--vb-radius);box-shadow:var(--vb-shadow);min-width:0;padding:clamp(15px,2.4cqi,24px)}.vb-section-heading{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.vb-section-heading h3{margin:0 0 3px;font-size:1.05rem}.vb-section-heading p{color:var(--vb-muted);margin:0;font-size:.82rem}.vb-step{background:color-mix(in srgb,var(--vb-accent) 11%,var(--vb-surface));width:31px;height:31px;color:var(--vb-accent);border-radius:10px;flex:none;place-items:center;font-size:.82rem;font-weight:900;display:grid}.vb-input,.vb-field input,.vb-field select,.vb-field textarea,.vb-filterbar select,.vb-time-range input{border:1px solid var(--vb-border);background:var(--vb-surface);width:100%;color:var(--vb-text);border-radius:12px;padding:11px 12px;transition:border-color .18s,box-shadow .18s,background .18s}.vb-input:focus,.vb-field input:focus,.vb-field select:focus,.vb-field textarea:focus,.vb-filterbar select:focus,.vb-time-range input:focus{border-color:var(--vb-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--vb-accent) 14%,transparent);outline:none}.vb-field{gap:6px;font-size:.8rem;font-weight:760;display:grid}.vb-field small{color:var(--vb-muted);font-weight:500}.vb-field textarea{resize:vertical;min-height:76px}.vb-field input[type=color]{height:43px;padding:4px}.vb-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.vb-chips{scrollbar-width:thin;gap:7px;padding:12px 0 4px;display:flex;overflow:auto}.vb-chips button,.vb-plan-chip{white-space:nowrap;border:1px solid var(--vb-border);background:var(--vb-surface);cursor:pointer;border-radius:999px;padding:8px 11px;font-size:.76rem;font-weight:750;transition:all .18s}.vb-chips button:hover,.vb-plan-chip:hover{border-color:var(--vb-accent);transform:translateY(-1px)}.vb-chips button.is-active,.vb-plan-chip.is-selected{background:var(--vb-accent);border-color:var(--vb-accent);color:var(--vb-accent-contrast)}.vb-service-list{gap:8px;max-height:420px;padding:9px 3px 3px 0;display:grid;overflow:auto}.vb-service-card{--vb-item-color:var(--vb-accent);text-align:left;border:1px solid var(--vb-border);background:var(--vb-surface);cursor:pointer;border-radius:14px;align-items:flex-start;gap:10px;width:100%;padding:12px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.vb-service-card:hover{border-color:color-mix(in srgb,var(--vb-item-color) 45%,var(--vb-border));box-shadow:0 8px 25px color-mix(in srgb,var(--vb-item-color) 10%,transparent);transform:translateY(-2px)}.vb-service-card.is-selected{border-color:var(--vb-item-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--vb-item-color) 13%,transparent)}.vb-service-card__color{background:var(--vb-item-color);border-radius:999px;align-self:stretch;width:4px;min-height:50px}.vb-service-card__body{flex:1;gap:3px;display:grid}.vb-service-card strong{font-size:.9rem}.vb-service-card small{color:var(--vb-muted);font-size:.72rem}.vb-service-card em{color:var(--vb-muted);font-size:.73rem;font-style:normal;line-height:1.35}.vb-check{opacity:0;background:var(--vb-item-color);color:#fff;border-radius:999px;place-items:center;width:21px;height:21px;font-size:.68rem;transition:all .18s;display:grid}.vb-service-card.is-selected .vb-check{opacity:1;transform:scale(1)}.vb-subsection{margin-top:18px}.vb-subsection h4{margin:0 0 8px;font-size:.8rem}.vb-plan-list{flex-wrap:wrap;gap:7px;display:flex}.vb-plan-chip{--vb-item-color:var(--vb-accent)}.vb-plan-chip.is-selected{background:var(--vb-item-color);border-color:var(--vb-item-color)}.vb-calendar{width:100%;min-width:0}.vb-calendar__toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.vb-calendar__toolbar h3{text-transform:capitalize;margin:0;font-size:1.05rem}.vb-calendar__nav{align-items:center;gap:6px;display:flex}.vb-icon-button{border:1px solid var(--vb-border);background:var(--vb-surface);cursor:pointer;border-radius:10px;place-items:center;width:35px;height:35px;font-size:1.35rem;line-height:1;transition:all .18s;display:grid}.vb-icon-button:hover{border-color:var(--vb-accent);color:var(--vb-accent);transform:translateY(-1px)}.vb-icon-button--danger{color:var(--vb-danger)}.vb-calendar__weekdays{grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:5px;display:grid}.vb-calendar__weekdays span{text-align:center;text-transform:uppercase;color:var(--vb-muted);padding:5px;font-size:.68rem;font-weight:850}.vb-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.vb-calendar__day{--vb-date-color:var(--vb-accent);border:1px solid var(--vb-border);background:var(--vb-surface);cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:3px;min-height:74px;padding:8px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:flex;position:relative;overflow:hidden}.vb-calendar__day:hover:not(:disabled){border-color:var(--vb-accent);z-index:1;transform:translateY(-2px);box-shadow:0 8px 22px #0f172a14}.vb-calendar__day.is-outside{opacity:.38}.vb-calendar__day.is-selected{border-color:var(--vb-accent);background:color-mix(in srgb,var(--vb-accent) 7%,var(--vb-surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--vb-accent) 13%,transparent)}.vb-calendar__day.is-today .vb-calendar__date-number{background:var(--vb-accent);color:var(--vb-accent-contrast)}.vb-calendar__day.has-marker:after{content:"";background:var(--vb-date-color);height:3px;position:absolute;bottom:0;left:0;right:0}.vb-calendar__day:disabled{cursor:not-allowed;opacity:.28;filter:grayscale(.7)}.vb-calendar__date-number{border-radius:8px;place-items:center;width:24px;height:24px;font-size:.78rem;font-weight:850;display:grid}.vb-calendar__date-label{color:var(--vb-date-color);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.58rem;font-weight:800;line-height:1.1;overflow:hidden}.vb-calendar__count{background:var(--vb-date-color);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.62rem;font-weight:900;display:grid;position:absolute;top:6px;right:6px}.vb-times{border-top:1px solid var(--vb-border);margin-top:18px;padding-top:17px;animation:.24s both vb-fade-slide}.vb-times__heading,.vb-inline-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.vb-times__heading h4,.vb-inline-heading h3,.vb-inline-heading h4{margin:0}.vb-times__heading p,.vb-inline-heading p{color:var(--vb-muted);text-transform:capitalize;margin:3px 0 0;font-size:.77rem}.vb-duration{background:var(--vb-surface-elevated);border:1px solid var(--vb-border);border-radius:999px;padding:7px 10px;font-size:.7rem;font-weight:800}.vb-time-grid,.vb-skeleton-grid{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:7px;margin-top:12px;display:grid}.vb-time-grid button{border:1px solid var(--vb-border);background:var(--vb-surface);cursor:pointer;border-radius:11px;padding:10px 7px;font-size:.78rem;font-weight:800;transition:all .17s}.vb-time-grid button:hover{border-color:var(--vb-accent);color:var(--vb-accent);transform:translateY(-1px)}.vb-time-grid button.is-selected{background:var(--vb-accent);border-color:var(--vb-accent);color:var(--vb-accent-contrast);box-shadow:0 7px 18px color-mix(in srgb,var(--vb-accent) 25%,transparent)}.vb-time-grid button small{opacity:.8;margin-top:2px;font-size:.58rem;font-weight:600;display:block}.vb-skeleton-grid span{background:linear-gradient(90deg,var(--vb-surface-elevated),color-mix(in srgb,var(--vb-border) 70%,white),var(--vb-surface-elevated));background-size:200% 100%;border-radius:11px;height:40px;animation:1.3s infinite vb-shimmer}.vb-summary{border:1px solid var(--vb-border);border-radius:14px;gap:0;margin-bottom:15px;display:grid;overflow:hidden}.vb-summary>div{background:var(--vb-surface-elevated);border-bottom:1px solid var(--vb-border);gap:3px;padding:10px 12px;display:grid}.vb-summary>div:last-child{border-bottom:0}.vb-summary span{text-transform:uppercase;letter-spacing:.06em;color:var(--vb-muted);font-size:.65rem;font-weight:800}.vb-summary strong{font-size:.78rem}.vb-form{gap:10px;display:grid}.vb-checkbox{align-items:center;gap:8px;font-size:.8rem;display:flex}.vb-checkbox input{width:17px;height:17px;accent-color:var(--vb-accent)}.vb-button{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:10px 13px;font-size:.8rem;font-weight:820;transition:transform .17s,box-shadow .17s,border-color .17s,background .17s;display:inline-flex}.vb-button:hover:not(:disabled){transform:translateY(-1px)}.vb-button:disabled{opacity:.5;cursor:not-allowed}.vb-button--primary{background:var(--vb-accent);color:var(--vb-accent-contrast);box-shadow:0 9px 24px color-mix(in srgb,var(--vb-accent) 24%,transparent)}.vb-button--ghost{background:var(--vb-surface);border-color:var(--vb-border)}.vb-button--danger-ghost{background:color-mix(in srgb,var(--vb-danger) 6%,var(--vb-surface));border-color:color-mix(in srgb,var(--vb-danger) 20%,var(--vb-border));color:var(--vb-danger)}.vb-message{background:color-mix(in srgb,var(--vb-danger) 7%,var(--vb-surface));color:var(--vb-danger);border-radius:11px;margin:0;padding:10px 12px;font-size:.77rem}.vb-message.is-success{background:color-mix(in srgb,var(--vb-success) 8%,var(--vb-surface));color:var(--vb-success)}.vb-empty{text-align:center;color:var(--vb-muted);border:1px dashed var(--vb-border);border-radius:12px;padding:20px;font-size:.78rem}.vb-empty--wide{grid-column:1/-1}.vb-muted,.vb-hint{color:var(--vb-muted);font-size:.78rem}.vb-admin-suite{width:100%}.vb-editor-layout{grid-template-columns:minmax(500px,1.5fr) minmax(280px,.75fr);align-items:start;gap:14px;display:grid}.vb-editor-layout--admin{grid-template-columns:minmax(520px,1.55fr) minmax(320px,.8fr)}.vb-date-editor,.vb-day-agenda{position:sticky;top:12px}.vb-switch-row{border:1px solid var(--vb-border);background:var(--vb-surface-elevated);border-radius:13px;justify-content:space-between;align-items:center;gap:15px;padding:12px;display:flex}.vb-switch-row span{gap:3px;display:grid}.vb-switch-row small{color:var(--vb-muted)}.vb-switch-row input{appearance:none;background:var(--vb-border);cursor:pointer;border-radius:999px;width:42px;height:24px;transition:all .2s;position:relative}.vb-switch-row input:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #0003}.vb-switch-row input:checked{background:var(--vb-danger)}.vb-switch-row input:checked:after{transform:translate(18px)}.vb-range-editor{margin:15px 0}.vb-time-range{grid-template-columns:1fr auto 1fr auto;align-items:center;gap:8px;margin-top:8px;display:grid}.vb-time-range span{color:var(--vb-muted);font-size:.75rem}.vb-time-range--inline{margin:0;display:flex}.vb-time-range input{padding:9px}.vb-action-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.vb-save-state{color:var(--vb-success);font-size:.76rem;font-weight:800}.vb-week-editor{margin-top:14px}.vb-week-list{gap:6px;margin-top:15px;display:grid}.vb-week-row{border-top:1px solid var(--vb-border);grid-template-columns:150px 1fr;align-items:center;gap:12px;padding:10px 2px;display:grid}.vb-week-row:first-child{border-top:0}.vb-filterbar{grid-template-columns:2fr repeat(3,minmax(140px,1fr));gap:9px;margin-bottom:14px;display:grid}.vb-filterbar select{padding:11px 12px}.vb-calendar-events{gap:2px;width:100%;margin-top:auto;display:grid}.vb-calendar-event{--vb-event-color:var(--vb-accent);text-overflow:ellipsis;white-space:nowrap;text-align:left;border-left:3px solid var(--vb-event-color);background:color-mix(in srgb,var(--vb-event-color) 10%,var(--vb-surface));border-radius:4px;width:100%;padding:2px 4px;font-size:.52rem;font-weight:750;display:block;overflow:hidden}.vb-calendar-event.is-cancelled{opacity:.5;text-decoration:line-through}.vb-calendar-events small{color:var(--vb-muted);font-size:.53rem}.vb-agenda-list{gap:9px;max-height:690px;padding-right:3px;display:grid;overflow:auto}.vb-agenda-card{--vb-event-color:var(--vb-accent);border:1px solid var(--vb-border);border-radius:14px;padding:12px 12px 12px 17px;animation:.2s both vb-fade-slide;position:relative;overflow:hidden}.vb-agenda-card__bar{background:var(--vb-event-color);width:4px;position:absolute;top:0;bottom:0;left:0}.vb-agenda-card__top{justify-content:space-between;gap:10px;display:flex}.vb-agenda-card__top>div{gap:2px;display:grid}.vb-agenda-card small{color:var(--vb-muted);font-size:.68rem}.vb-agenda-card dl{gap:5px;margin:11px 0;display:grid}.vb-agenda-card dl>div{grid-template-columns:80px 1fr;gap:8px;font-size:.7rem;display:grid}.vb-agenda-card dt{color:var(--vb-muted)}.vb-agenda-card dd{margin:0}.vb-agenda-card p{color:var(--vb-muted);margin:8px 0;font-size:.72rem}.vb-status{border:0;border-radius:999px;align-self:flex-start;padding:7px 9px;font-size:.65rem;font-weight:800}.vb-status.is-pending{color:#9a6700;background:#fff7e6}.vb-status.is-confirmed{color:#176b36;background:#eaf8ef}.vb-status.is-in-progress{color:#075985;background:#e8f4ff}.vb-status.is-completed{color:#4338ca;background:#eef2ff}.vb-status.is-cancelled{color:#a12626;background:#fff0f0}.vb-status.is-no-show{color:#6537a3;background:#f4f0ff}.vb-link-danger{color:var(--vb-danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:.7rem;font-weight:800}.vb-segmented{border:1px solid var(--vb-border);background:var(--vb-surface);border-radius:13px;margin-bottom:14px;padding:4px;display:inline-flex}.vb-segmented button{cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 13px;font-size:.78rem;font-weight:800}.vb-segmented button.is-active{background:var(--vb-accent);color:var(--vb-accent-contrast)}.vb-catalog-layout{grid-template-columns:minmax(280px,.7fr) minmax(420px,1.3fr);align-items:start;gap:14px;display:grid}.vb-catalog-form{gap:11px;display:grid;position:sticky;top:12px}.vb-catalog-form h3{margin:0}.vb-catalog-list{gap:9px;display:grid}.vb-catalog-list article{--vb-item-color:var(--vb-accent);border:1px solid var(--vb-border);border-radius:14px;grid-template-columns:5px 1fr auto;gap:12px;padding:12px;display:grid}.vb-catalog-color{background:var(--vb-item-color);border-radius:999px;width:5px}.vb-catalog-list strong{display:block}.vb-catalog-list small{color:var(--vb-muted);font-size:.68rem}.vb-catalog-list p{color:var(--vb-muted);margin:5px 0 0;font-size:.72rem}.vb-row-actions{align-items:center;gap:8px;display:flex}.vb-loading-card{border:1px solid var(--vb-border);border-radius:var(--vb-radius);background:var(--vb-surface);color:var(--vb-muted);padding:30px}.vb-layout--compact .vb-booking__layout{grid-template-columns:1fr}.vb-layout--compact .vb-service-panel,.vb-layout--compact .vb-summary-panel{position:static}.vb-layout--compact .vb-service-list{max-height:250px}.vb-layout--embedded .vb-panel{box-shadow:none;border-radius:14px}.vb-layout--embedded .vb-hero{display:none}.vb-animate .vb-panel{animation:.36s cubic-bezier(.2,.8,.2,1) both vb-panel-in}.vb-animate .vb-panel:nth-child(2){animation-delay:50ms}.vb-animate .vb-panel:nth-child(3){animation-delay:.1s}@keyframes vb-panel-in{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:none}}@keyframes vb-fade-slide{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes vb-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.vb-root *{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@container (max-width:1050px){.vb-booking__layout{grid-template-columns:minmax(220px,.75fr) minmax(420px,1.25fr)}.vb-summary-panel{grid-column:1/-1}.vb-summary-panel .vb-form{grid-template-columns:repeat(2,minmax(0,1fr))}.vb-summary-panel .vb-summary,.vb-summary-panel .vb-button,.vb-summary-panel .vb-message{grid-column:1/-1}.vb-editor-layout,.vb-editor-layout--admin{grid-template-columns:1fr}.vb-date-editor,.vb-day-agenda,.vb-catalog-form{position:static}.vb-catalog-layout{grid-template-columns:1fr}}@container (max-width:760px){.vb-booking__layout{grid-template-columns:1fr}.vb-calendar__day{min-height:62px;padding:6px}.vb-service-list{max-height:none}.vb-summary-panel .vb-form{grid-template-columns:1fr}.vb-filterbar{grid-template-columns:1fr 1fr}.vb-fields-grid{grid-template-columns:1fr}.vb-calendar-event{display:none}.vb-calendar__date-label{font-size:.5rem}.vb-week-row{grid-template-columns:110px 1fr}.vb-catalog-list article{grid-template-columns:5px 1fr}.vb-row-actions{grid-column:2;justify-content:flex-start}.vb-progress button{padding:9px 7px;font-size:.7rem}.vb-step-panel-actions{flex-wrap:wrap}.vb-step-panel-actions .vb-button{flex:1}}@container (max-width:480px){.vb-panel{border-radius:15px;padding:13px}.vb-hero h2{font-size:1.8rem}.vb-calendar__toolbar{align-items:flex-start}.vb-calendar__toolbar h3{font-size:.9rem}.vb-calendar__nav .vb-button{display:none}.vb-calendar__grid,.vb-calendar__weekdays{gap:3px}.vb-calendar__day{border-radius:9px;min-height:48px;padding:4px}.vb-calendar__date-number{width:21px;height:21px;font-size:.68rem}.vb-calendar__count{min-width:17px;height:17px;font-size:.55rem;top:3px;right:3px}.vb-calendar__date-label{display:none}.vb-time-grid{grid-template-columns:repeat(3,1fr)}.vb-filterbar{grid-template-columns:1fr}.vb-time-range{grid-template-columns:1fr auto 1fr auto}.vb-week-row{grid-template-columns:1fr}.vb-time-range--inline{width:100%}.vb-catalog-list article{padding:10px}.vb-action-row .vb-button{flex:1}}.vb-service-card__icon{background:color-mix(in srgb,var(--vb-item-color) 10%,var(--vb-surface));width:32px;height:32px;color:var(--vb-item-color);border-radius:10px;flex:none;place-items:center;display:grid}
