:root{--color-primary:#aa3bff;--color-primary-hover:#9522f0;--color-primary-contrast:#fff;--color-primary-bg:#aa3bff1a;--color-bg:#fff;--color-surface:#f4f3ec;--color-border:#e5e4e7;--color-text:#08060d;--color-text-muted:#6b6375;--color-danger:#d1332f;--color-danger-bg:#d1332f1a;--color-success:#1f9254;--color-success-bg:#1f92541a}@media (prefers-color-scheme:dark){:root{--color-primary:#c084fc;--color-primary-hover:#d2a3ff;--color-primary-contrast:#16171d;--color-primary-bg:#c084fc26;--color-bg:#16171d;--color-surface:#1f2028;--color-border:#2e303a;--color-text:#f3f4f6;--color-text-muted:#9ca3af;--color-danger:#f87171;--color-danger-bg:#f8717126;--color-success:#4ade80;--color-success-bg:#4ade8026}}:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}#root{box-sizing:border-box;min-height:100svh}body{margin:0}h1,h2{font-family:var(--sans);color:var(--color-text);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code{font-family:var(--mono);color:var(--color-text);background:var(--color-surface);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}.toast-container{z-index:50;flex-direction:column;align-items:center;gap:10px;max-width:calc(100% - 40px);display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast{color:var(--color-primary-contrast);box-sizing:border-box;border-radius:8px;width:320px;max-width:100%;padding:12px 16px;font-size:14px;animation:.2s toast-in;box-shadow:0 4px 12px #00000026}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast--success{background:var(--color-success)}.toast--error{background:var(--color-danger)}.button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:10px 20px;font-family:inherit;font-size:16px;transition:opacity .15s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.5}.button--primary{background:var(--color-primary);color:var(--color-primary-contrast)}.button--primary:not(:disabled):hover{background:var(--color-primary-hover)}.button--secondary{color:var(--color-text);border-color:var(--color-border);background:0 0}.button--secondary:not(:disabled):hover{background:var(--color-surface)}.button--link{color:var(--color-primary);font-size:inherit;background:0 0;padding:0;text-decoration:underline;display:inline}.button--link:not(:disabled):hover{color:var(--color-primary-hover)}.button--icon{width:36px;height:36px;color:var(--color-text);background:0 0;padding:0}.button--icon:not(:disabled):hover{background:var(--color-surface)}.button--danger{background:var(--color-danger);color:var(--color-primary-contrast)}.button--danger:not(:disabled):hover{opacity:.9}.button--danger-outline{color:var(--color-danger);border-color:var(--color-danger);background:0 0}.button--danger-outline:not(:disabled):hover{background:var(--color-danger-bg)}.button--sm{padding:6px 14px;font-size:14px}.input{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);box-sizing:border-box;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:16px}.input:focus{border-color:var(--color-primary);outline:none}.input:disabled{background:var(--color-surface);color:var(--color-text-muted);cursor:not-allowed}.textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-bg);width:100%;min-height:90px;color:var(--color-text);box-sizing:border-box;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:16px;line-height:1.4}.textarea:focus{border-color:var(--color-primary);outline:none}.textarea:disabled{background:var(--color-surface);color:var(--color-text-muted);cursor:not-allowed}.select{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);box-sizing:border-box;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:16px}.select:focus{border-color:var(--color-primary);outline:none}.select:disabled{background:var(--color-surface);color:var(--color-text-muted);cursor:not-allowed}.checkbox{color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;display:inline-flex}.checkbox input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.checkbox-group{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:10px;max-height:180px;padding:12px;display:flex;overflow-y:auto}.checkbox-group__empty{color:var(--color-text-muted);font-size:14px}.code-input{gap:10px;display:flex}.code-input__box{text-align:center;border:1px solid var(--color-border);background:var(--color-bg);width:48px;height:56px;color:var(--color-text);box-sizing:border-box;border-radius:8px;font-family:inherit;font-size:24px}.code-input__box:focus{border-color:var(--color-primary);outline:none}.avatar{background:var(--color-primary);width:32px;height:32px;color:var(--color-primary-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.avatar--photo{object-fit:cover}.user-menu{position:relative}.user-menu__trigger{cursor:pointer;color:var(--color-text);background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:4px;font-family:inherit;font-size:14px;display:flex}.user-menu__trigger:hover{background:var(--color-surface)}.user-menu__name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.user-menu__dropdown{background:var(--color-bg);border:1px solid var(--color-border);z-index:10;border-radius:8px;min-width:180px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 4px 12px #0000001a}.user-menu__dropdown--up{top:auto;bottom:calc(100% + 8px)}.user-menu__item{text-align:left;width:100%;color:var(--color-text);cursor:pointer;box-sizing:border-box;background:0 0;border:none;padding:10px 14px;font-family:inherit;font-size:14px;text-decoration:none;display:block}.user-menu__item:hover{background:var(--color-surface)}.user-menu__item--danger{color:var(--color-danger)}.user-menu__divider{background:var(--color-border);height:1px}.navbar{background:var(--color-bg);border-top:1px solid var(--color-border);z-index:5;justify-content:space-around;align-items:center;padding:8px 0;display:flex;position:fixed;bottom:0;left:0;right:0}.navbar__link{color:var(--color-text-muted);border-radius:8px;padding:6px 10px;font-size:13px;text-decoration:none}.navbar__link--active{color:var(--color-primary);font-weight:600}.navbar__label{flex-direction:column;align-items:center;display:inline-flex}.navbar__label:after{content:attr(data-label);visibility:hidden;pointer-events:none;height:0;font-weight:600;overflow:hidden}@media (width>=768px){.navbar{background:0 0;border-top:none;justify-content:flex-start;gap:24px;padding:0;position:static}.navbar__link{padding:4px 0;font-size:14px}}.sidebar{box-sizing:border-box;border-right:1px solid var(--color-border);background:var(--color-bg);flex-direction:column;flex-shrink:0;width:220px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}.sidebar__header{color:var(--color-text);flex-shrink:0;padding:0 10px 20px;font-size:18px;font-weight:600}.sidebar__nav{flex-direction:column;flex:1;gap:20px;display:flex;overflow-y:auto}.sidebar__footer{border-top:1px solid var(--color-border);flex-shrink:0;margin-top:16px;padding-top:16px}.sidebar__group{flex-direction:column;gap:2px;display:flex}.sidebar__group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:6px;padding:0 10px;font-size:12px}.sidebar__link{color:var(--color-text);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;text-decoration:none;display:flex}.sidebar__icon{flex-shrink:0;width:18px;height:18px;display:flex}.sidebar__icon svg{width:100%;height:100%}.sidebar__link:hover{background:var(--color-surface)}.sidebar__link--active,.sidebar__link--active:hover{background:var(--color-primary);color:var(--color-primary-contrast);font-weight:600}.sidebar__toggle,.sidebar__backdrop{display:none}@media (width<=640px){.sidebar__toggle{border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;z-index:30;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex;position:fixed;top:12px;left:12px}.sidebar__backdrop{z-index:15;background:#0000004d;display:block;position:fixed;inset:0}.sidebar{z-index:20;height:100vh;padding-top:64px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar--open{transform:translate(0);box-shadow:4px 0 16px #00000026}}.date-jump{border:1px solid var(--color-border);background:var(--color-bg);border-radius:10px;width:288px;padding:12px;box-shadow:0 6px 20px #00000026}.date-jump__header{grid-template-columns:auto 1fr auto auto;align-items:center;gap:4px;margin-bottom:10px;display:grid}.date-jump__header .select{text-transform:capitalize;width:100%;min-width:0;padding:5px 8px;font-size:14px}.date-jump__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-jump__weekday{text-align:center;color:var(--color-text-muted);padding:4px 0;font-size:12px}.date-jump__day{height:34px;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:6px;font-family:inherit;font-size:14px}.date-jump__day:hover:not(:disabled){background:var(--color-surface)}.date-jump__day--other{color:var(--color-text-muted);opacity:.6}.date-jump__day--period{background:var(--color-primary-bg);color:var(--color-primary);font-weight:600}.date-jump__day--today{box-shadow:inset 0 0 0 1px var(--color-primary)}.date-jump__day:disabled{opacity:.25;cursor:not-allowed}.date-field{position:relative}.date-field__button{border:1px solid var(--color-border);background:var(--color-bg);text-align:left;width:100%;color:var(--color-text);cursor:pointer;box-sizing:border-box;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:16px;display:flex}.date-field__button:hover,.date-field__button[aria-expanded=true]{border-color:var(--color-primary)}.date-field__button svg{color:var(--color-primary);flex-shrink:0}.date-field__button--empty span{color:var(--color-text-muted)}.date-field__clear{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.date-field__clear:hover{background:var(--color-surface);color:var(--color-text)}.date-field__popover{z-index:40;position:absolute;top:calc(100% + 6px);left:0}.tab-nav{border-bottom:1px solid var(--color-border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tab-nav__item{color:var(--color-text-muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none}.tab-nav__item:hover{color:var(--color-text)}.tab-nav__item--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-nav--inline{border-bottom:none;margin-bottom:0}.page-shell__header{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-end;gap:4px 24px;margin-bottom:16px;display:flex}.page-shell__title{color:var(--color-text);margin:0;padding-bottom:10px;font-size:22px;font-weight:600;line-height:1.2}.page-shell__actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;padding-bottom:6px;display:flex}.page-shell__actions:empty{display:none}.page-shell__actions>.select{width:auto;min-width:180px;padding:6px 10px;font-size:14px}.period-nav{align-items:center;gap:8px;display:flex}.period-nav__picker{position:relative}.period-nav__label{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.period-nav__label:hover,.period-nav__label[aria-expanded=true]{border-color:var(--color-primary)}.period-nav__label svg{color:var(--color-primary);flex-shrink:0}.period-nav__popover{z-index:25;position:absolute;top:calc(100% + 6px);right:0}.period-nav .button{white-space:nowrap}.period-nav--inline{flex-direction:column;align-items:stretch;gap:12px}.period-nav__inline-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.period-nav__inline-label{color:var(--color-text);text-transform:capitalize;font-size:14px;font-weight:600}.period-nav__inline-arrows{gap:6px;display:flex}@media (width<=520px){.period-nav{flex-wrap:wrap;width:100%}.period-nav__picker{order:1}.period-nav__popover{left:0;right:auto}}.segmented{background:var(--color-surface);border-radius:8px;flex-wrap:wrap;flex-shrink:0;gap:2px;padding:3px;display:inline-flex}.segmented__option{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 12px;font-family:inherit;font-size:14px}.segmented__option:hover{color:var(--color-text)}.segmented__option--active{background:var(--color-bg);color:var(--color-text);font-weight:600;box-shadow:0 1px 2px #0000001a}.empty-state{border:1px dashed var(--color-border);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:40px 20px;display:flex}.empty-state__title{color:var(--color-text);margin:0;font-size:16px;font-weight:600}.empty-state__description{max-width:420px;color:var(--color-text-muted);margin:0;font-size:14px}.empty-state__action{margin-top:10px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);padding:10px 12px;font-size:13px;font-weight:600}.table td{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:10px 12px}.table tbody tr:last-child td{border-bottom:none}.table__row--clickable{cursor:pointer}.table__row--clickable:hover{background:var(--color-surface)}.table__empty{color:var(--color-text-muted);padding:20px 0;font-size:14px}.side-panel__backdrop{z-index:30;background:#0000004d;position:fixed;inset:0}.side-panel{box-sizing:border-box;background:var(--color-bg);border-left:1px solid var(--color-border);z-index:31;flex-direction:column;width:400px;max-width:100%;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-4px 0 16px #00000026}.side-panel--open{transform:translate(0)}.side-panel__header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.side-panel__header h2{color:var(--color-text);margin:0;font-size:18px;font-weight:600}.side-panel__content{flex:1;padding:20px;overflow-y:auto}.side-panel__footer{border-top:1px solid var(--color-border);flex-shrink:0;justify-content:flex-end;padding:16px 20px;display:flex}.side-panel-footer{gap:12px;width:100%;display:flex}.side-panel-footer__primary{flex:3}.side-panel-footer__secondary{white-space:nowrap;flex:1}.modal__backdrop{inset:0;left:var(--modal-content-left,0);z-index:30;background:#0000004d;position:fixed}.modal__frame{inset:0;left:var(--modal-content-left,0);z-index:31;pointer-events:none;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed}.modal{pointer-events:auto;box-sizing:border-box;background:var(--color-bg);border-radius:12px;flex-direction:column;width:100%;max-width:1000px;max-height:calc(100vh - 80px);display:flex;overflow:hidden;box-shadow:0 8px 32px #00000040}.modal__header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal__header h2{color:var(--color-text);margin:0;font-size:18px;font-weight:600}.modal__content{flex:1;min-height:0;padding:20px;overflow-y:auto}.modal__footer{border-top:1px solid var(--color-border);flex-shrink:0;justify-content:flex-end;padding:16px 20px;display:flex}@media (width<=640px){.modal__frame{padding:0;left:0}.modal{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%}}.confirm-dialog__backdrop{z-index:40;background:#0000004d;position:fixed;inset:0}.confirm-dialog{background:var(--color-bg);z-index:41;border-radius:12px;width:360px;max-width:calc(100% - 40px);padding:24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 40px #0003}.confirm-dialog h2{color:var(--color-text);margin:0 0 8px;font-size:18px;font-weight:600}.confirm-dialog p{color:var(--color-text-muted);margin:0 0 20px;font-size:14px}.confirm-dialog__actions{justify-content:flex-end;gap:10px;display:flex}.loading-state{color:var(--color-text-muted);flex-direction:column;align-items:center;gap:8px;padding:60px 20px;display:flex}.loading-state__spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite loading-state-spin}.loading-state__label,.loading-state__hint{margin:0;font-size:14px}@keyframes loading-state-spin{to{transform:rotate(360deg)}}.error-boundary{text-align:center;max-width:480px;margin:80px auto;padding:0 20px}.error-boundary p{color:var(--color-text-muted);margin-bottom:20px}.customer-layout__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.customer-layout__logo{color:var(--color-text);font-size:18px;font-weight:600}.customer-layout__content{padding:20px 20px 88px}@media (width>=768px){.customer-layout__header{justify-content:flex-start;gap:32px}.customer-layout__user{margin-left:auto}.customer-layout__content{padding-bottom:20px}}.booking-page{max-width:720px;margin:0 auto}.booking-page__muted{color:var(--color-text-muted)}.booking-page__error{color:var(--color-danger);font-size:14px}.booking-page__list{flex-direction:column;gap:10px;margin:24px 0 0;padding:0;list-style:none;display:flex}.booking-page__clinic{border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;flex-direction:column;gap:2px;padding:16px;text-decoration:none;display:flex}.booking-page__clinic:hover{border-color:var(--color-primary)}.booking-page__name{font-weight:600}.booking-page__address{color:var(--color-text-muted);font-size:14px}.booking-stepper{gap:8px;margin:0 0 28px;padding:0;list-style:none;display:flex}.booking-stepper__step{flex:1;min-width:0}.booking-stepper__step button{border:none;border-bottom:3px solid var(--color-border);width:100%;color:var(--color-text-muted);text-align:left;cursor:default;background:0 0;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;font-size:14px;display:flex}.booking-stepper__text{flex-direction:column;min-width:0;display:flex}.booking-stepper__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-stepper__value{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;overflow:hidden}.booking-stepper__step button:not(:disabled){cursor:pointer}.booking-stepper__step button:not(:disabled):hover{color:var(--color-text)}.booking-stepper__step--done button{border-bottom-color:var(--color-primary);color:var(--color-text)}.booking-stepper__step--active button{border-bottom-color:var(--color-primary);color:var(--color-text);font-weight:600}.booking-stepper__number{background:var(--color-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:inline-flex}.booking-stepper__step--active .booking-stepper__number,.booking-stepper__step--done .booking-stepper__number{background:var(--color-primary);color:var(--color-primary-contrast)}@media (width<=480px){.booking-stepper__text{display:none}}.service-list{flex-direction:column;gap:28px;display:flex}.service-list__group h2{color:var(--color-text);margin:0 0 8px;font-size:16px;font-weight:600}.service-list__item{border:1px solid var(--color-border);background:var(--color-bg);width:100%;font-family:inherit;font-size:inherit;text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:16px;margin-bottom:8px;padding:12px 14px;display:flex}.service-list__item:hover{border-color:var(--color-primary)}.service-list__item--selected{border-color:var(--color-primary);background:var(--color-primary-bg)}.service-list__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.service-list__name{color:var(--color-text);font-weight:600}.service-list__meta{color:var(--color-text-muted);font-size:13px}.service-list__price{color:var(--color-text);white-space:nowrap;font-size:14px}.service-list__empty{color:var(--color-text-muted)}.service-step__addons{margin-top:28px}.service-step__addons h2{color:var(--color-text);margin:0 0 8px;font-size:16px;font-weight:600}.service-step__bar{border-top:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding:14px 0;font-size:14px;display:flex;position:sticky;bottom:0}.day-strip{align-items:center;gap:4px;margin-bottom:24px;display:flex}.day-strip__days{flex:1;grid-template-columns:repeat(7,1fr);gap:6px;min-width:0;display:grid}.day-strip__day{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;font-family:inherit;display:flex}.day-strip__day:hover:not(:disabled){border-color:var(--color-primary)}.day-strip__day:disabled{opacity:.4;cursor:not-allowed}.day-strip__day--active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast)}.day-strip__weekday,.day-strip__month{text-transform:capitalize;font-size:12px}.day-strip__number{font-size:18px;font-weight:600}.practitioner-header{align-items:flex-start;gap:10px;display:flex}.practitioner-header .avatar{width:40px;height:40px;font-size:16px}.practitioner-header__text{min-width:0}.practitioner-header__text h3{color:var(--color-text);align-items:baseline;gap:8px;margin:0;font-size:15px;font-weight:600;display:flex}.practitioner-header__price{color:var(--color-text-muted);font-size:13px;font-weight:400}.practitioner-header__text p{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:13px;display:-webkit-box;overflow:hidden}.practitioner-slots{flex-direction:column;gap:12px;display:flex}.practitioner-slots__card{border:1px solid var(--color-border);border-radius:8px;padding:14px}.practitioner-slots__card .practitioner-header{margin-bottom:10px}.practitioner-slots__none{color:var(--color-text-muted);margin:0;font-size:14px}.practitioner-slots__chips{flex-wrap:wrap;gap:8px;display:flex}.practitioner-slots__chip{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:6px;padding:7px 12px;font-family:inherit;font-size:14px}.practitioner-slots__chip:hover{border-color:var(--color-primary)}.practitioner-slots__chip--selected{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast)}.week-times{flex-direction:column;gap:16px;display:flex}.week-times__section{border:1px solid var(--color-border);border-radius:8px;padding:14px}.week-times__section .practitioner-header{margin-bottom:12px}.week-times__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week-times__col{flex-direction:column;align-items:stretch;gap:5px;display:flex}.week-times__head{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);text-transform:capitalize;flex-direction:column;align-items:center;padding-bottom:6px;font-size:12px;display:flex}.week-times__head strong{color:var(--color-text);font-size:16px}.week-times__col--empty .week-times__head{opacity:.45}.week-times__none{text-align:center;color:var(--color-text-muted);opacity:.6}.week-times__slot{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:6px;padding:6px 0;font-family:inherit;font-size:13px}.week-times__slot:hover{border-color:var(--color-primary)}.week-times__slot--selected{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast)}.week-times__more{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit;font-size:12px}.time-step__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:16px;display:flex}.time-step__summary{color:var(--color-text-muted);margin:0;font-size:14px}.time-step__who{margin-bottom:16px}.time-step__day:first-letter{text-transform:uppercase}.time-step__day{color:var(--color-text);margin:0 0 12px;font-size:16px;font-weight:600}.time-step__muted{color:var(--color-text-muted)}.time-step__error{color:var(--color-danger);font-size:14px}.time-step__bar{border-top:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding:14px 0;font-size:14px;display:flex;position:sticky;bottom:0}.booking-done{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.booking-done h2{margin:0}.booking-done__check{background:var(--color-success-bg);width:56px;height:56px;color:var(--color-success);border-radius:50%;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex}.booking-done__when:first-letter{text-transform:uppercase}.booking-done__when{color:var(--color-text);margin:0;font-size:16px;font-weight:600}.booking-done__details{border:1px solid var(--color-border);text-align:left;color:var(--color-text);border-radius:8px;grid-template-columns:max-content 1fr;gap:8px 24px;margin:12px 0;padding:16px;font-size:15px;display:grid}.booking-done__details dt{font-weight:600}.booking-done__details dd{margin:0}.booking-done__actions{align-items:center;gap:20px;display:flex}.booking-done__actions a{color:var(--color-primary);font-size:14px}.confirm-step{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.confirm-step__summary{border:1px solid var(--color-border);width:100%;color:var(--color-text);border-radius:8px;grid-template-columns:max-content 1fr;gap:10px 24px;margin:0;padding:16px;font-size:15px;display:grid}.confirm-step__summary dt{font-weight:600}.confirm-step__summary dd{margin:0}.confirm-step__muted{color:var(--color-text-muted);margin:0;font-size:14px}.confirm-step__error{color:var(--color-danger);margin:0;font-size:14px}.confirm-step__practitioner{align-items:center;gap:8px;display:flex}.confirm-step__practitioner-bio{color:var(--color-text-muted);font-size:13px;font-weight:400;display:block}.clinic-booking{max-width:720px;margin:0 auto}.clinic-booking h1{margin-bottom:12px}.clinic-booking__muted{color:var(--color-text-muted);margin:0 0 24px}.booking-card{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:4px;padding:16px;display:flex}.booking-card__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-card__header h2{color:var(--color-text);margin:0;font-size:16px;font-weight:600}.booking-card__header h2:first-letter{text-transform:uppercase}.booking-card p{color:var(--color-text);margin:0;font-size:14px}.booking-card__service{font-weight:600}.booking-card__meta{color:var(--color-text-muted)}.booking-card__meta a{color:var(--color-primary);text-decoration:none}.booking-card__meta a:hover{text-decoration:underline}.booking-card__price{margin-top:4px}.booking-card--cancelled{opacity:.7}.booking-card__status{background:var(--color-danger-bg);color:var(--color-danger);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.booking-card__footer{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.booking-card__footer .booking-card__price{margin:0}.my-bookings{max-width:720px;margin:0 auto}.my-bookings .segmented{margin:8px 0 20px}.my-bookings__list{flex-direction:column;gap:12px;display:flex}.my-bookings__empty{color:var(--color-text-muted)}.my-bookings__empty a{color:var(--color-primary)}.my-bookings__error{color:var(--color-danger);font-size:14px}.profile-page{text-align:left;max-width:480px;padding:24px 20px}.profile-page h1{margin-bottom:20px}.profile-page__card{border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:20px;padding:20px;display:flex}.profile-page form{flex-direction:column;gap:16px;display:flex}.profile-page__field{flex-direction:column;gap:6px;display:flex}.profile-page__avatar-row{align-items:center;gap:16px;display:flex}.profile-page__avatar-row .avatar{width:56px;height:56px;font-size:22px}.profile-page__avatar-upload{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.profile-page__avatar-upload .input{font-size:14px}.profile-page label{color:var(--color-text);font-size:14px;font-weight:600}.profile-page .error{color:var(--color-danger);font-size:14px}.admin-layout{--modal-content-left:220px;min-height:100vh;display:flex}.admin-layout__content{flex:1;min-width:0;padding:20px}.admin-layout__brand{flex-direction:column;gap:2px;display:flex}.admin-layout__zone{color:var(--color-text-muted);font-size:13px;font-weight:400}@media (width<=640px){.admin-layout{--modal-content-left:0}.admin-layout__content{padding-top:76px}}.clinic-credentials{flex-direction:column;gap:12px;display:flex}.clinic-credentials__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.clinic-credentials__item{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.clinic-credentials__row{justify-content:space-between;align-items:center;display:flex}.clinic-credentials__label{color:var(--color-text);font-size:14px;font-weight:600}.clinic-credentials__field{color:var(--color-text-muted);align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.clinic-credentials__field--notes{font-style:italic}.clinic-credentials__reveal{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.clinic-credentials__copy{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:inline-flex}.clinic-credentials__copy:hover{color:var(--color-primary);background:var(--color-surface)}.clinic-credentials__form{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex-direction:column;gap:10px;padding:10px 12px;display:flex}.clinic-credentials__form-field{flex-direction:column;gap:4px;display:flex}.clinic-credentials__form-field label{color:var(--color-text);font-size:13px;font-weight:600}.clinic-credentials__form-actions{gap:8px;display:flex}.clinic-credentials__muted{color:var(--color-text-muted);margin:0;font-size:13px}.clinic-credentials__error{color:var(--color-danger);margin:0;font-size:13px}.clinic-integrations{flex-direction:column;gap:12px;display:flex}.clinic-integrations__card{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.clinic-integrations__header{justify-content:space-between;align-items:center;display:flex}.clinic-integrations__title{color:var(--color-text);font-size:14px;font-weight:600}.clinic-integrations__status{color:var(--color-text-muted);font-size:12px}.clinic-integrations__status--on{color:var(--color-primary)}.clinic-integrations__field{flex-direction:column;gap:4px;display:flex}.clinic-integrations__field label{color:var(--color-text);font-size:13px;font-weight:600}.clinic-integrations__secret-row{align-items:center;gap:6px;display:flex}.clinic-integrations__secret-row .input{flex:1}.clinic-integrations__reveal{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:12px}.clinic-integrations__copy{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:inline-flex}.clinic-integrations__copy:hover{color:var(--color-primary);background:var(--color-surface)}.clinic-integrations__error{color:var(--color-danger);margin:0;font-size:13px}.admin-clinics-page__form{flex-direction:column;gap:16px;display:flex}.admin-clinics-page__field{flex-direction:column;flex:1;gap:6px;display:flex}.admin-clinics-page__field label{color:var(--color-text);font-size:14px;font-weight:600}.admin-clinics-page__row{gap:16px;display:flex}.admin-clinics-page__hint{color:var(--color-text-muted);margin:0;font-size:13px}.admin-clinics-page .error{color:var(--color-danger);font-size:14px}.admin-clinics-page__detail{flex-direction:column;gap:24px;display:flex}.admin-clinics-page__info{color:var(--color-text);grid-template-columns:max-content 1fr;gap:8px 20px;margin:0;font-size:14px;display:grid}.admin-clinics-page__info dt{font-weight:600}.admin-clinics-page__info dd{overflow-wrap:anywhere;margin:0}.admin-clinics-page__section h3{margin:0 0 10px;font-size:14px}.admin-users-page__form{flex-direction:column;gap:16px;display:flex}.admin-users-page__field{flex-direction:column;gap:6px;display:flex}.admin-users-page__field label{color:var(--color-text);font-size:14px;font-weight:600}.admin-users-page__hint{color:var(--color-text-muted);margin:-8px 0 0;font-size:13px}.admin-users-page .error{color:var(--color-danger);font-size:14px}.backoffice-layout{--modal-content-left:220px;min-height:100vh;display:flex}.backoffice-layout__content{flex:1;min-width:0;padding:20px}.backoffice-layout__brand{flex-direction:column;gap:2px;display:flex}.backoffice-layout__clinic{color:var(--color-text-muted);font-size:13px;font-weight:400}@media (width<=640px){.backoffice-layout{--modal-content-left:0}.backoffice-layout__content{padding-top:76px}}.login-page{text-align:left;max-width:360px;margin:80px auto;padding:0 20px}.login-page__header{align-items:center;gap:8px;display:flex}.login-page form{flex-direction:column;gap:12px;margin-top:24px;display:flex}.login-page .hint{color:var(--color-text-muted);margin-top:8px;font-size:14px}.login-page .error{color:var(--color-danger);margin-top:-4px;font-size:14px}.customer-picker{flex-direction:column;gap:12px;display:flex}.customer-picker__current{border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;display:flex}.customer-picker__current-name{color:var(--color-text);font-weight:600}.customer-picker__recent{flex-direction:column;gap:6px;display:flex}.customer-picker__recent-label{color:var(--color-text-muted);font-size:13px;font-weight:600}.customer-picker__recent-list{flex-wrap:wrap;gap:8px;display:flex}.customer-picker__recent-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:14px;font-weight:600}.customer-picker__recent-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.customer-picker__search{flex-direction:column;gap:10px;display:flex}.customer-picker__results{flex-direction:column;gap:6px;max-height:200px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.customer-picker__result{border:1px solid var(--color-border);text-align:left;cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:10px 14px;font-family:inherit;display:flex}.customer-picker__result:hover{background:var(--color-surface)}.customer-picker__result-name{color:var(--color-text);font-weight:600}.customer-picker__result-meta{color:var(--color-text-muted);font-size:13px}.customer-picker__form{flex-direction:column;gap:16px;max-width:360px;display:flex}.customer-picker__field{flex-direction:column;gap:6px;display:flex}.customer-picker__field label{color:var(--color-text);font-size:14px;font-weight:600}.customer-picker__hint{color:var(--color-text-muted);margin:-8px 0 0;font-size:13px}.customer-picker__muted{color:var(--color-text-muted);margin:0;font-size:14px}.customer-picker__error{color:var(--color-danger);margin:0;font-size:14px}.create-invoice{flex-direction:column;gap:24px;display:flex}.create-invoice__section{flex-direction:column;gap:10px;display:flex}.create-invoice__section h3{color:var(--color-text);margin:0;font-size:14px;font-weight:600}.create-invoice__lines{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.create-invoice__line{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:8px 0;display:flex}.create-invoice__line-desc{color:var(--color-text);flex:1;font-size:14px}.create-invoice__line-qty{flex-shrink:0;width:60px;padding:5px 8px;font-size:14px}.create-invoice__line-total{text-align:right;width:90px;color:var(--color-text);flex-shrink:0;font-size:14px;font-weight:600}.create-invoice__add-buttons{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.create-invoice__add-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex-direction:column;flex:1;gap:8px;min-width:260px;padding:10px;display:flex}.create-invoice__add-row{align-items:center;gap:8px;display:flex}.create-invoice__add-row .select{flex:1}.create-invoice__add-qty{flex-shrink:0;width:60px}.create-invoice__total{border-top:1px solid var(--color-border);color:var(--color-text);justify-content:space-between;margin:4px 0 0;padding-top:8px;font-size:14px;font-weight:600;display:flex}.create-invoice__payment-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.create-invoice__payment-name{color:var(--color-text);font-size:14px}.create-invoice__payment-amount{flex-shrink:0;align-items:center;gap:6px;display:flex}.create-invoice__payment-amount .input{width:90px;padding:5px 8px;font-size:14px}.create-invoice__payment-amount span{color:var(--color-text-muted);font-size:13px}.create-invoice__remaining{color:var(--color-text-muted);margin:0;font-size:13px}.create-invoice__muted{color:var(--color-text-muted);margin:0;font-size:14px}.create-invoice__error{color:var(--color-danger);margin:0;font-size:14px}.invoice-payment{flex-direction:column;gap:10px;display:flex}.invoice-payment__row{color:var(--color-text);justify-content:space-between;margin:0;font-size:14px;display:flex}.invoice-payment__form-row{align-items:center;gap:8px;display:flex}.invoice-payment__form-row .select{flex:1}.invoice-payment__amount{flex-shrink:0;align-items:center;gap:6px;display:flex}.invoice-payment__amount .input{width:90px;padding:5px 8px;font-size:14px}.invoice-payment__amount span{color:var(--color-text-muted);font-size:13px}.invoice-payment__remove{flex-shrink:0;font-size:16px;line-height:1}.invoice-payment__add{align-self:flex-start;padding:0}.invoice-payment__remaining{color:var(--color-text-muted);margin:0;font-size:13px}.view-invoice{flex-direction:column;gap:16px;display:flex}.view-invoice__status{background:var(--color-success-bg);color:var(--color-success);border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:13px;font-weight:600}.view-invoice__status--cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.view-invoice__status--paid{background:var(--color-success-bg);color:var(--color-success)}.view-invoice__status--unpaid{background:var(--color-surface);color:var(--color-text-muted)}.view-invoice__meta{color:var(--color-text-muted);margin:0;font-size:13px}.view-invoice__lines{flex-direction:column;gap:4px;display:flex}.view-invoice__line{color:var(--color-text-muted);justify-content:space-between;margin:0;font-size:14px;display:flex}.view-invoice__total{border-top:1px solid var(--color-border);color:var(--color-text);justify-content:space-between;margin:6px 0 0;padding-top:8px;font-size:14px;font-weight:600;display:flex}.view-invoice__muted{color:var(--color-text-muted);margin:0;font-size:14px}.view-invoice__error{color:var(--color-danger);margin:0;font-size:14px}.booking-detail{flex-direction:column;gap:20px;display:flex}.booking-detail section{flex-direction:column;gap:4px;display:flex}.booking-detail h3{color:var(--color-text);margin:0 0 4px;font-size:14px;font-weight:600}.booking-detail p{color:var(--color-text);margin:0;font-size:14px}.booking-detail__addon,.booking-detail__total{justify-content:space-between;display:flex}.booking-detail__addon{color:var(--color-text-muted)}.booking-detail__total{border-top:1px solid var(--color-border);margin-top:6px;padding-top:8px;font-weight:600}.booking-detail__made{color:var(--color-text-muted)}.booking-detail__status{background:var(--color-success-bg);color:var(--color-success);border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:13px;font-weight:600}.booking-detail__status--cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.booking-detail__status--paid{background:var(--color-success-bg);color:var(--color-success)}.booking-detail__status--unpaid{background:var(--color-surface);color:var(--color-text-muted)}.booking-detail__invoice-row{align-items:center;gap:10px;display:flex}.booking-detail__invoice-total{color:var(--color-text);flex:1;font-size:14px;font-weight:600}.booking-detail__error{color:var(--color-danger);margin:0;font-size:14px}.bookings-by-day{flex-direction:column;gap:28px;display:flex}.bookings-by-day h2{color:var(--color-text);margin:0 0 8px;font-size:15px;font-weight:600}.bookings-by-day__status{background:var(--color-success-bg);color:var(--color-success);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.bookings-by-day__status--cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.bookings-by-day .table{table-layout:fixed;width:100%}.bookings-by-day th:first-child{width:100px}.bookings-by-day th:nth-child(2){width:26%}.bookings-by-day th:nth-child(5){width:76px}.bookings-by-day th:nth-child(6){width:100px}.confirm-booking-step{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.confirm-booking-step__summary{border:1px solid var(--color-border);width:100%;color:var(--color-text);border-radius:8px;grid-template-columns:max-content 1fr;gap:10px 24px;margin:0;padding:16px;font-size:15px;display:grid}.confirm-booking-step__summary dt{font-weight:600}.confirm-booking-step__summary dd{margin:0}.confirm-booking-step__muted{color:var(--color-text-muted);margin:0;font-size:14px}.confirm-booking-step__error{color:var(--color-danger);margin:0;font-size:14px}.confirm-booking-step__practitioner{align-items:center;gap:8px;display:flex}.confirm-booking-step__practitioner-bio{color:var(--color-text-muted);font-size:13px;font-weight:400;display:block}.customer-step__current{border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.customer-step__current-name{color:var(--color-text);font-weight:600}.customer-step__recent{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.customer-step__recent-label{color:var(--color-text-muted);font-size:13px;font-weight:600}.customer-step__recent-list{flex-wrap:wrap;gap:8px;display:flex}.customer-step__recent-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:14px;font-weight:600}.customer-step__recent-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.customer-step__search{flex-direction:column;gap:10px;margin-top:16px;display:flex}.customer-step__results{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.customer-step__result{border:1px solid var(--color-border);text-align:left;cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:10px 14px;font-family:inherit;display:flex}.customer-step__result:hover{background:var(--color-surface)}.customer-step__result-name{color:var(--color-text);font-weight:600}.customer-step__result-meta{color:var(--color-text-muted);font-size:13px}.customer-step__form{flex-direction:column;gap:16px;max-width:360px;margin-top:16px;display:flex}.customer-step__field{flex-direction:column;gap:6px;display:flex}.customer-step__field label{color:var(--color-text);font-size:14px;font-weight:600}.customer-step__hint{color:var(--color-text-muted);margin:-8px 0 0;font-size:13px}.customer-step__muted{color:var(--color-text-muted);margin:0;font-size:14px}.customer-step__error{color:var(--color-danger);margin:0;font-size:14px}.customer-step__bar{border-top:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding:14px 0;font-size:14px;display:flex;position:sticky;bottom:0}.new-booking-done{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.new-booking-done h2{margin:0}.new-booking-done__check{background:var(--color-success-bg);width:56px;height:56px;color:var(--color-success);border-radius:50%;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex}.new-booking-done__when:first-letter{text-transform:uppercase}.new-booking-done__when{color:var(--color-text);margin:0;font-size:16px;font-weight:600}.new-booking-done__details{border:1px solid var(--color-border);text-align:left;color:var(--color-text);border-radius:8px;grid-template-columns:max-content 1fr;gap:8px 24px;margin:12px 0;padding:16px;font-size:15px;display:grid}.new-booking-done__details dt{font-weight:600}.new-booking-done__details dd{margin:0}.new-booking-done__actions{align-items:center;gap:20px;display:flex}.new-booking-modal__error{color:var(--color-danger);font-size:14px}.new-booking-modal__muted{color:var(--color-text-muted);font-size:14px}.bookings-page__muted{color:var(--color-text-muted);margin:0 0 16px;font-size:14px}.bookings-page__error{color:var(--color-danger);font-size:14px}.day-timeline{border:1px solid var(--color-border);border-radius:10px;flex:auto;min-width:0;overflow:hidden}.day-timeline__scroll{max-height:calc(100vh - 150px);overflow:auto}.day-timeline__grid{align-items:stretch;display:grid}.day-timeline__corner,.day-timeline__col-header{z-index:3;background:var(--color-bg);border-bottom:1px solid var(--color-border);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;padding:8px 12px;font-size:13px;font-weight:600;position:sticky;top:0;overflow:hidden}.day-timeline__corner{z-index:4;left:0}.day-timeline__col-header{border-left:1px solid var(--color-border)}.day-timeline__gutter{z-index:2;background:var(--color-bg);border-right:1px solid var(--color-border);position:sticky;left:0}.day-timeline__hour-label{color:var(--color-text-muted);font-size:11px;position:absolute;right:8px;transform:translateY(-50%)}.day-timeline__quarter-label{color:var(--color-text-muted);opacity:.7;font-size:9px;position:absolute;right:8px;transform:translateY(-50%)}.day-timeline__now-label{background:var(--color-danger);color:var(--color-primary-contrast);z-index:1;border-radius:4px;padding:1px 4px;font-size:10px;font-weight:600;position:absolute;right:8px;transform:translateY(-50%)}.day-timeline__column{cursor:pointer;border-left:1px solid var(--color-border);background-image:repeating-linear-gradient(to bottom, var(--color-border) 0, var(--color-border) 1px, transparent 1px, transparent 56px), repeating-linear-gradient(to bottom, color-mix(in srgb, var(--color-border) 50%, transparent) 0, color-mix(in srgb, var(--color-border) 50%, transparent) 1px, transparent 1px, transparent 14px);position:relative}.day-timeline__column--closed{cursor:not-allowed}.day-timeline__unavailable{background:color-mix(in srgb, var(--color-text-muted) 12%, transparent);cursor:not-allowed;position:absolute;left:0;right:0}.day-timeline__closed-label{color:var(--color-text-muted);pointer-events:none;margin:12px;font-size:12px;font-style:italic;position:sticky;top:40px}.day-timeline__now-line{background:var(--color-danger);z-index:1;height:2px;position:absolute;left:0;right:0}.day-timeline__now-line:before{content:"";background:var(--color-danger);border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:-3px;transform:translateY(-50%)}.day-timeline__booking{border:none;border-left:3px solid var(--color-primary);background:var(--color-primary-bg);text-align:left;cursor:pointer;border-radius:6px;align-items:center;gap:5px;min-height:18px;padding:2px 6px;font-family:inherit;display:flex;position:absolute;overflow:hidden}.day-timeline__booking:hover{filter:brightness(.97)}.day-timeline__booking-time{color:var(--color-primary);flex-shrink:0;font-size:10px;font-weight:600}.day-timeline__booking-service{min-width:0;max-width:55%;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:11px;font-weight:600;overflow:hidden}.day-timeline__booking-customer{min-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:10px;overflow:hidden}.day-timeline__booking--cancelled{border-left-color:var(--color-danger);background:var(--color-danger-bg);opacity:.75}.day-timeline__booking--cancelled .day-timeline__booking-time{color:var(--color-danger)}.day-timeline__booking--cancelled .day-timeline__booking-service{text-decoration:line-through}.overview-page__error,.overview-page__muted{color:var(--color-text-muted);font-size:14px}.overview-page__error{color:var(--color-danger)}.overview-page__layout{align-items:flex-start;gap:20px;display:flex}.overview-page__sidebar{flex:0 0 300px;position:sticky;top:20px}.orders-page .error{color:var(--color-danger);font-size:14px}.orders-page__status{background:var(--color-surface);color:var(--color-text-muted);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.orders-page__status--processing,.orders-page__status--on-hold{background:var(--color-primary-bg);color:var(--color-primary)}.orders-page__status--completed{background:var(--color-success-bg);color:var(--color-success)}.orders-page__status--cancelled,.orders-page__status--failed,.orders-page__status--trash{background:var(--color-danger-bg);color:var(--color-danger)}.orders-page__detail{flex-direction:column;gap:24px;display:flex}.orders-page__section{flex-direction:column;gap:8px;display:flex}.orders-page__section h3{color:var(--color-text);margin:0;font-size:14px;font-weight:600}.orders-page__section p{color:var(--color-text);margin:0;font-size:14px}.orders-page__line-items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.orders-page__line-items li{color:var(--color-text);justify-content:space-between;font-size:14px;display:flex}.orders-page__total{border-top:1px solid var(--color-border);color:var(--color-text);justify-content:space-between;padding-top:8px;font-size:14px;font-weight:600;display:flex}.customer-library-page__search{max-width:320px;margin-bottom:16px}.customer-library-page__name{align-items:center;gap:10px;display:flex}.customer-library-page__detail{flex-direction:column;gap:24px;display:flex}.customer-library-page__info{color:var(--color-text);grid-template-columns:max-content 1fr;gap:8px 20px;margin:0;font-size:14px;display:grid}.customer-library-page__info dt{font-weight:600}.customer-library-page__info dd{overflow-wrap:anywhere;margin:0}.customer-library-page__section h3{margin:0 0 10px;font-size:14px}.customer-library-page__hint{color:var(--color-text-muted);margin:0;font-size:13px}.customer-library-page__mini-table .table{font-size:12px}.customer-library-page__mini-table .table th,.customer-library-page__mini-table .table td{padding:5px 6px}.customer-library-page__mini-table .table__empty{padding:8px 0;font-size:12px}.customer-library-page__cell-meta{color:var(--color-text-muted);margin-top:1px;font-size:11px}.customer-library-page__badge{white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.customer-library-page__badge--upcoming{background:var(--color-primary-bg);color:var(--color-primary)}.customer-library-page__badge--past{background:var(--color-surface);color:var(--color-text-muted)}.customer-library-page__badge--cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.customer-library-page__badge--paid{background:var(--color-success-bg);color:var(--color-success)}.categories-page__form{flex-direction:column;gap:16px;display:flex}.categories-page__field{flex-direction:column;gap:6px;display:flex}.categories-page__field label{color:var(--color-text);font-size:14px;font-weight:600}.categories-page__slug{color:var(--color-text-muted);font-size:12px}.categories-page .error{color:var(--color-danger);font-size:14px}.brands-page__form{flex-direction:column;gap:16px;display:flex}.brands-page__field{flex-direction:column;gap:6px;display:flex}.brands-page__field label{color:var(--color-text);font-size:14px;font-weight:600}.brands-page__slug{color:var(--color-text-muted);font-size:12px}.brands-page .error{color:var(--color-danger);font-size:14px}.products-page__form{flex-direction:column;gap:16px;display:flex}.products-page__field{flex-direction:column;gap:6px;display:flex}.products-page__row{gap:16px;display:flex}.products-page__row .products-page__field{flex:1}.products-page__field label{color:var(--color-text);font-size:14px;font-weight:600}.products-page .error{color:var(--color-danger);font-size:14px}.products-page__thumb{object-fit:cover;border-radius:6px;width:40px;height:40px;display:block}.products-page__thumb--empty{background:var(--color-surface);border:1px solid var(--color-border)}.products-page__image-preview{aspect-ratio:1;object-fit:cover;border:1px solid var(--color-border);border-radius:8px;width:100%;max-width:200px}.products-page__hint{color:var(--color-text-muted);margin:0;font-size:14px}.block-editor{flex-direction:column;gap:8px;display:flex}.block-editor>.button{align-self:flex-start}.block-editor__row{grid-template-columns:1fr 1fr 1.2fr auto;align-items:center;gap:6px;display:grid}.block-editor__row .input,.block-editor__row .select{padding:8px;font-size:14px}.block-editor__error{color:var(--color-danger);margin:0;font-size:13px}.day-edit{flex-direction:column;gap:16px;display:flex}.day-edit__date{color:var(--color-text-muted);margin:0;font-size:14px}.day-edit__field{flex-direction:column;gap:6px;display:flex}.day-edit__field>label{color:var(--color-text);font-size:14px;font-weight:600}.day-edit__hint{color:var(--color-text-muted);margin:0;font-size:13px}.week-grid__scroll{overflow-x:auto}.week-grid{border-collapse:collapse;width:100%;color:var(--color-text);font-size:14px}.week-grid th,.week-grid td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:10px 12px}.week-grid thead th{color:var(--color-text-muted);white-space:nowrap;font-size:13px;font-weight:600}.week-grid__date{font-weight:400}.week-grid__today{color:var(--color-primary)!important}.week-grid__name{white-space:nowrap;font-weight:600}.week-grid__cell{cursor:pointer;min-width:96px}.week-grid__cell:hover,.week-grid__cell:focus-visible{background:var(--color-surface);outline:none}.week-grid__time{white-space:nowrap;display:block}.week-grid__tag{color:var(--color-primary);margin-top:2px;font-size:11px;display:inline-block}.week-grid__empty{color:var(--color-text-muted)}.week-grid__pill{background:var(--color-surface);color:var(--color-text-muted);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.week-grid__pill--sick{background:var(--color-danger-bg);color:var(--color-danger)}.week-grid__pill--vacation{background:var(--color-success-bg);color:var(--color-success)}.week-page__error{color:var(--color-danger);font-size:14px}.week-page__empty{color:var(--color-text-muted);font-size:14px}.rule-panel{flex-direction:column;gap:16px;display:flex}.rule-panel__field{flex-direction:column;gap:6px;display:flex}.rule-panel__field>label{color:var(--color-text);font-size:14px;font-weight:600}.rule-panel__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rule-panel__hint{color:var(--color-text-muted);margin:0;font-size:13px}.rule-panel__error{color:var(--color-danger);margin:0;font-size:13px}.rules-page__hint{color:var(--color-text-muted);max-width:640px;margin:0 0 16px;font-size:13px}.rules-page__error{color:var(--color-danger);font-size:14px}.clinic-info{flex-direction:column;gap:20px;max-width:520px;display:flex}.clinic-info>.button{align-self:flex-start}.clinic-info__field{flex-direction:column;gap:6px;display:flex}.clinic-info__field>label{color:var(--color-text);font-size:14px;font-weight:600}.clinic-info__row{grid-template-columns:1fr 2fr;gap:8px;display:grid}.clinic-info__slug{color:var(--color-text-muted);align-items:center;gap:6px;font-size:14px;display:flex}.clinic-info__slug span{white-space:nowrap}.clinic-info__hint{color:var(--color-text-muted);margin:0;font-size:13px}.clinic-info__error{color:var(--color-danger);font-size:14px}.employee-services-editor{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:10px;max-height:260px;padding:12px;display:flex;overflow-y:auto}.employee-services-editor__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.employee-services-editor__price{flex-shrink:0;align-items:center;gap:6px;display:flex}.employee-services-editor__price .input{width:90px;padding:5px 8px;font-size:14px}.employee-services-editor__price span{color:var(--color-text-muted);font-size:13px}.employee-services-editor__empty{color:var(--color-text-muted);font-size:14px}.employees-page .error{color:var(--color-danger);font-size:14px}.employees-page__detail{flex-direction:column;gap:24px;display:flex}.employees-page__info{color:var(--color-text);grid-template-columns:max-content 1fr;gap:8px 20px;margin:0;font-size:14px;display:grid}.employees-page__info dt{font-weight:600}.employees-page__info dd{overflow-wrap:anywhere;margin:0}.employees-page__section{flex-direction:column;gap:8px;display:flex}.employees-page__section label,.employees-page__section h3{color:var(--color-text);margin:0;font-size:14px;font-weight:600}.employees-page__hint{color:var(--color-text-muted);margin:0;font-size:13px}.employees-page__form{flex-direction:column;gap:16px;display:flex}.employees-page__practitioner{flex-direction:column;gap:6px;display:flex}.services-page .error{color:var(--color-danger);font-size:14px}.services-page__form{flex-direction:column;gap:16px;display:flex}.services-page__field{flex-direction:column;gap:6px;display:flex}.services-page__field>label{color:var(--color-text);font-size:14px;font-weight:600}.services-page__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.services-page__hint{color:var(--color-text-muted);margin:0;font-size:13px}.services-page__addon{border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.services-page__addon-numbers{grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;display:grid}.services-page__field>.button{align-self:flex-start}.varegrupper-page__form{flex-direction:column;gap:16px;display:flex}.varegrupper-page__field{flex-direction:column;gap:6px;display:flex}.varegrupper-page__field label{color:var(--color-text);font-size:14px;font-weight:600}.varegrupper-page .error{color:var(--color-danger);font-size:14px}.leverandorer-page__form{flex-direction:column;gap:16px;display:flex}.leverandorer-page__field{flex-direction:column;gap:6px;display:flex}.leverandorer-page__field label{color:var(--color-text);font-size:14px;font-weight:600}.leverandorer-page .error{color:var(--color-danger);font-size:14px}.payment-methods-page__form{flex-direction:column;gap:16px;display:flex}.payment-methods-page__field{flex-direction:column;gap:6px;display:flex}.payment-methods-page__field label{color:var(--color-text);font-size:14px;font-weight:600}.payment-methods-page .error{color:var(--color-danger);font-size:14px}.payment-methods-page__status{background:var(--color-success-bg);color:var(--color-success);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.payment-methods-page__status--inactive{background:var(--color-surface);color:var(--color-text-muted)}
