.app-layout{width:100%;min-height:100dvh;min-height:100lvh;background:var(--bg);touch-action:manipulation}.app-container{width:100%;max-width:var(--app-max-width);margin:0 auto;min-height:100dvh;min-height:100lvh;position:relative}.app-layout--splash .app-container,html.chrome-primary .app-layout,html.chrome-primary .app-layout--splash .app-container{background:transparent}.ui-page-loader{display:flex;align-items:center;justify-content:center;flex:none;overflow:visible}.ui-page-loader__visual{position:relative;width:48px;height:48px;flex-shrink:0}.ui-page-loader__ring{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:ui-spin .85s linear infinite}.ui-page-loader__mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;font-size:18px;line-height:1;color:var(--primary);animation:ui-page-loader-pulse 1.4s ease-in-out infinite;will-change:transform,opacity}@keyframes ui-page-loader-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.85}50%{transform:translate(-50%,-50%) scale(1.12);opacity:1}}@media(prefers-reduced-motion:reduce){.ui-page-loader__ring{animation:none;border-top-color:var(--primary);opacity:.75}.ui-page-loader__mark{animation:none;opacity:1}}.sw-update-banner{position:fixed;bottom:calc(var(--bottom-nav-total) + 10px);left:50%;z-index:200;width:min(calc(100vw - 2 * var(--page-padding-x)),calc(var(--app-max-width) - 2 * var(--page-padding-x)));max-width:calc(var(--app-max-width) - 2 * var(--page-padding-x));transform:translate(-50%);display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px 14px;box-sizing:border-box;overflow:hidden;background:var(--text);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:sw-banner-in .35s cubic-bezier(.34,1.4,.64,1) both}@keyframes sw-banner-in{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.sw-update-banner__top{display:flex;align-items:flex-start;gap:10px;min-width:0}.sw-update-banner__icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#ffffff26;display:flex;align-items:center;justify-content:center}.sw-update-banner__text{flex:1;min-width:0}.sw-update-banner__title{font-size:var(--text-sm);font-weight:600;line-height:var(--leading-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-update-banner__sub{font-size:var(--text-xs);color:#ffffffa6;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-update-banner__btn{width:100%;max-width:100%;min-height:var(--touch-min);padding:10px 12px;border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-size:var(--text-sm);font-weight:600;border:none;cursor:pointer;transition:opacity .15s;box-sizing:border-box}.sw-update-banner__btn:active{opacity:.8}.sw-update-banner__close{flex-shrink:0;width:28px;height:28px;margin-top:2px;border:none;background:transparent;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;padding:0;transition:color .15s}.sw-update-banner__close:active{color:#fff}.ui-swipe-row{position:relative;overflow:hidden}.ui-swipe-row__actions{position:absolute;top:0;right:0;bottom:0;display:flex;z-index:0;opacity:0;pointer-events:none}.ui-swipe-row--revealed .ui-swipe-row__actions{opacity:1;pointer-events:auto}.ui-swipe-row__action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:72px;padding:0 10px;font-size:11px;font-weight:600;color:#fff;background:var(--primary)}.ui-swipe-row__action:active{opacity:.88}.ui-swipe-row__action--danger{background:var(--danger)}.ui-swipe-row__action--success{background:var(--success)}.ui-swipe-row__action--compact{min-width:58px;max-width:58px;padding:0 4px}.ui-swipe-row__action-label{line-height:1.1;text-align:center}.ui-swipe-row__content{position:relative;z-index:1;box-sizing:border-box;width:100%;background:var(--surface);will-change:transform;touch-action:pan-y}.ui-swipe-row__content>*{box-sizing:border-box;width:100%}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-md);font-family:var(--font);font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s,box-shadow .15s;border:2px solid transparent;white-space:nowrap;-webkit-user-select:none;user-select:none}.ui-btn:active:not(:disabled){transform:scale(.97)}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn--sm{height:36px;padding:0 14px;font-size:13px}.ui-btn--md{height:48px;padding:0 20px;font-size:15px}.ui-btn--lg{height:54px;padding:0 24px;font-size:16px;border-radius:var(--radius-lg)}.ui-btn--block{width:100%}.ui-btn--primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px #e8654a59}.ui-btn--primary:hover:not(:disabled){background:var(--primary-dark)}.ui-btn--outline{background:transparent;border-color:var(--primary);color:var(--primary)}.ui-btn--outline:hover:not(:disabled){background:var(--primary-light)}.ui-btn--ghost{background:transparent;color:var(--text-secondary)}.ui-btn--ghost:hover:not(:disabled){background:var(--surface-2)}.ui-btn--ghost-danger{background:transparent;color:var(--danger)}.ui-btn--ghost-danger:hover:not(:disabled){background:var(--danger-light)}.ui-btn--danger{background:var(--danger);color:#fff}.ui-btn--success{background:var(--success);color:#fff;box-shadow:0 4px 12px #29a37a4d}.ui-btn--success:hover:not(:disabled){opacity:.88}.ui-btn__spinner{width:16px;height:16px}.splash{min-height:100dvh;width:100%;display:flex;flex-direction:column;background:transparent;padding:0 28px calc(40px + env(safe-area-inset-bottom,0px))}.splash__top{flex:1;display:flex;align-items:center;justify-content:center;padding-top:calc(env(safe-area-inset-top,0px) + 16px)}.splash__avatars{position:relative;width:200px;height:140px}.splash__avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.5);position:absolute;box-shadow:0 8px 24px #0003}.splash__avatar--1{top:0;left:0}.splash__avatar--2{bottom:0;right:0}.splash__body{text-align:center;color:#fff;margin-bottom:32px}.splash__logo{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px}.splash__logo-mark{font-size:22px;opacity:.9}.splash__logo-text{font-size:32px;font-weight:700;letter-spacing:-.5px}.splash__title{font-size:22px;font-weight:700;line-height:1.3;margin-bottom:12px}.splash__sub{font-size:14px;opacity:.85;line-height:1.5}.splash__loader,.splash__actions{display:flex;flex-direction:column;align-items:center;gap:12px;flex-shrink:0;min-height:118px}.splash__loader-text{margin:0;font-size:14px;color:#fff;opacity:.85}.splash__actions{align-items:stretch}.splash__actions .ui-btn--primary{background:#fff;color:var(--primary);box-shadow:0 4px 16px #0000001f}.splash__actions .ui-btn--primary:hover:not(:disabled){background:#ffffffeb}.splash__actions .ui-btn--primary:active:not(:disabled){background:#ffffffd9}.splash__actions .ui-btn--outline{border-color:#ffffffb3;color:#fff}.splash__actions .ui-btn--outline:active{background:#ffffff26}.app-header{position:fixed;top:0;left:0;right:0;margin:0 auto;max-width:var(--app-max-width);height:var(--header-total);padding:var(--safe-top) 8px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:20;min-width:0;width:100%;overflow:hidden;box-sizing:border-box}.app-header--primary{background:var(--primary);border-bottom-color:transparent;color:#fff}.app-header--transparent{background:transparent;border-bottom-color:transparent}.app-header__start{display:flex;align-items:center;justify-self:start;min-width:0}.app-header__end{display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:4px;min-width:0}.app-header__back{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:inherit;transition:background .15s;flex-shrink:0}.app-header__back:active:not(:disabled){background:#0000000f}.app-header__back:disabled{opacity:.35;cursor:not-allowed}.app-header--primary .app-header__back:active:not(:disabled){background:#ffffff26}.app-header__title{grid-column:2;max-width:min(240px,100%);text-align:center;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header--search-open{grid-template-columns:auto 1fr auto}.app-header--search-open .app-header__start{grid-column:1}.app-header--search-open .app-header__end{grid-column:3}.app-header--search-open .app-header__search{grid-column:2;justify-self:stretch;width:100%;min-width:0}.app-header__search{display:flex;align-items:center;gap:6px;height:36px;padding:0 10px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-md);min-width:0}.app-header__search:focus-within{border-color:var(--primary)}.app-header__search-icon{color:var(--muted);flex-shrink:0}.app-header__search-input{flex:1;min-width:0;height:100%;border:none;background:transparent;font-size:15px;font-family:inherit;color:var(--text);outline:none}.app-header__search-input::placeholder{color:var(--muted)}.app-header__search-input::-webkit-search-cancel-button{display:none}.app-header__icon-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:inherit;flex-shrink:0}.app-header__icon-btn:active{background:#0000000f}.app-header--primary .app-header__icon-btn:active{background:#ffffff26}.ui-input{display:flex;flex-direction:column;gap:8px}.ui-input__label{font-size:14px;font-weight:600;color:var(--text-secondary)}.ui-input__wrap{display:flex;align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s;overflow:hidden}.ui-input__wrap:focus-within{border-color:var(--primary)}.ui-input--error .ui-input__wrap{border-color:var(--danger)}.ui-input__field{flex:1;height:48px;padding:0 14px;font-size:16px;color:var(--text);background:transparent;border:none;outline:none}.ui-input__field::placeholder{color:var(--muted)}.ui-input__field:disabled{opacity:.5}.ui-input__prefix,.ui-input__suffix{padding:0 10px;color:var(--muted);display:flex;align-items:center}.ui-input__error{font-size:13px;color:var(--danger)}.ui-input__hint{font-size:13px;color:var(--muted)}.login-screen{min-height:100dvh;display:flex;flex-direction:column}.login-tabs{display:flex;border-bottom:2px solid var(--border);margin:0 var(--page-padding-x)}.login-tab{flex:1;height:44px;font-size:15px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.login-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.login-form{display:flex;flex-direction:column;gap:16px;padding:24px var(--page-padding-x)}.login-form__forgot{text-align:center;font-size:13px}.login-form__forgot a{color:var(--primary);font-weight:600}.login-form__alt{text-align:center;font-size:13px;color:var(--muted)}.login-form__alt a{color:var(--primary);font-weight:600}.forgot-password{display:flex;flex-direction:column;gap:16px;padding:24px var(--page-padding-x)}.forgot-password__form{display:flex;flex-direction:column;gap:16px}.forgot-password__intro{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.forgot-password__notice{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.6;text-align:center}.bs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;height:100lvh;background:#0000;z-index:200;overflow:hidden;transition:background-color .28s ease}.bs-overlay--open{background:var(--overlay-scrim)}.bs-panel{position:fixed;left:0;right:0;bottom:0;margin:0 auto;width:100%;max-width:var(--app-max-width);background:var(--surface);border-radius:24px 24px 0 0;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));max-height:min(92lvh,calc(100lvh - env(safe-area-inset-top,0px) - 16px));display:flex;flex-direction:column;transform:translateY(calc(100% + var(--bs-drag-y, 0px)));transition:transform .28s cubic-bezier(.32,.72,0,1);will-change:transform;box-sizing:border-box;overflow:hidden}.bs-panel--open{transform:translateY(var(--bs-drag-y, 0px))}.bs-panel--dragging{transition:none}.bs-panel__handle{width:40px;height:4px;background:var(--border);border-radius:2px;margin:10px auto 4px;flex-shrink:0;touch-action:none;cursor:grab}.bs-panel__header{display:flex;align-items:center;padding:8px var(--page-padding-x);flex-shrink:0;background:var(--surface)}.bs-panel__title{flex:1;font-size:16px;font-weight:700}.bs-panel__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--muted)}.bs-panel__body{overflow-y:auto;overflow-x:hidden;padding:0 var(--page-padding-x);flex:0 1 auto;min-height:0;max-height:calc(92lvh - 72px - env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.bs-panel__body--flush{padding-inline:0}.bs-actions{display:flex;flex-direction:column;padding-bottom:16px}@media(max-width:430px){.bs-panel{max-width:none;border-radius:20px 20px 0 0}}@media(prefers-reduced-motion:reduce){.bs-overlay,.bs-panel{transition-duration:.01ms}}.ui-phone-input{display:flex;flex-direction:column;gap:6px}.ui-phone-input__label{font-size:13px;font-weight:600;color:var(--text-secondary)}.ui-phone-input__field-wrap{display:flex;align-items:center;min-width:0;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s;overflow:hidden}.ui-phone-input__field-wrap:focus-within{border-color:var(--primary)}.ui-phone-input__field-wrap--intl .ui-phone-input__field{padding-left:14px}.ui-phone-input--error .ui-phone-input__field-wrap{border-color:var(--danger)}.ui-phone-input__region-btn{flex:0 0 auto;min-width:72px;height:var(--touch-min, 48px);padding:0 24px 0 12px;font-size:15px;font-weight:600;color:var(--text);background:transparent;border:none;border-right:1px solid var(--border);border-radius:0;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer}.ui-phone-input__region-btn:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.ui-phone-input__region-btn:disabled{opacity:.5;cursor:not-allowed}.ui-phone-input__field{flex:1;min-width:0;height:var(--touch-min, 48px);padding:0 14px;font-size:16px;color:var(--text);background:transparent;border:none;outline:none}.ui-phone-input__field::placeholder{color:var(--muted)}.ui-phone-input__field:disabled{opacity:.5}.ui-phone-input__error{font-size:12px;color:var(--danger)}.ui-phone-input__hint{font-size:12px;color:var(--muted)}.ui-phone-input__region-sheet{display:flex;flex-direction:column;gap:12px}.ui-phone-input__region-list{display:flex;flex-direction:column;gap:4px;max-height:min(50vh,320px);overflow-y:auto}.ui-phone-input__region-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--touch-min, 48px);padding:0 14px;font-size:16px;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:left}.ui-phone-input__region-option--active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.ui-phone-input__region-option-label{font-weight:500}.ui-phone-input__region-option-dial{font-weight:600;color:var(--text-secondary);white-space:nowrap}.ui-phone-input__region-empty{margin:0;padding:12px 0;font-size:14px;color:var(--muted);text-align:center}.ui-phone-input__region-hint{margin:0;font-size:12px;color:var(--muted);line-height:1.4}.ob-form{display:flex;flex-direction:column;gap:16px;padding:8px var(--page-padding-x) 24px}.ob-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.ob-avatar{width:80px;height:80px;border-radius:50%;background:var(--primary-light);border:2px dashed var(--primary);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--primary)}.ob-avatar__img{width:100%;height:100%;object-fit:cover}.ob-avatar__btn{font-size:13px;font-weight:600;color:var(--primary)}.ui-list-item{position:relative;display:flex;align-items:center;gap:12px;padding:14px var(--page-padding-x);background:var(--surface);cursor:pointer;transition:background .15s}.ui-list-item:active{background:var(--bg)}.ui-list-item--danger .ui-list-item__label{color:var(--danger)}.ui-list-item__icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ui-list-item__icon--green{background:var(--success-light);color:var(--success)}.ui-list-item__icon--gray{background:var(--surface-2);color:var(--muted)}.ui-list-item__icon--danger{background:var(--danger-light);color:var(--danger)}.ui-list-item__icon--warning{background:var(--warning-light);color:var(--warning)}.ui-list-item__body{flex:1;min-width:0}.ui-list-item__label{font-size:14px;font-weight:500}.ui-list-item__sublabel{font-size:12px;color:var(--muted);margin-top:2px}.ui-list-item__description{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.ui-list-item--multiline{align-items:flex-start}.ui-list-item--multiline .ui-list-item__icon{margin-top:1px}.ui-list-item--multiline .ui-list-item__chevron{align-self:flex-start;margin-top:3px}.ui-list-item--reorder{align-items:flex-start}.ui-list-item--reorder .ui-list-item__icon{margin-top:1px}.ui-list-item--reorder .ui-list-item__chevron{align-self:flex-start;margin-top:3px}.ui-list-item__value{font-size:13px;color:var(--muted);flex-shrink:0}.ui-list-item__chevron{color:var(--muted);flex-shrink:0}.section-group:not(:first-child){margin-top:4px}.section-group__header{display:flex;align-items:center}.section-group__toggle{flex:1;display:flex;align-items:center;gap:6px;padding:10px 4px 4px var(--page-padding-x);font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;min-width:0}.section-group__toggle:disabled{cursor:default}.section-group__toggle--static{cursor:default}.section-group__title{flex:1;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-group__count{font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap;flex-shrink:0;text-transform:none;letter-spacing:0}.section-group__chevron{color:var(--muted);transition:transform .22s ease;flex-shrink:0}.section-group__chevron--open{transform:rotate(180deg)}.section-group__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.section-group__body--open{grid-template-rows:1fr}.section-group__body:not(.section-group__body--open) .section-group__list{box-shadow:none}.section-group__list{min-height:0;overflow:hidden}.section-group__add{display:flex;align-items:center;gap:8px;box-sizing:border-box;width:100%;margin:0;padding:12px var(--page-padding-x);font-size:13px;font-weight:600;color:var(--primary);border:none;border-top:1.5px dashed var(--border);border-radius:0;transition:background .15s}.section-group__add:active{background:var(--primary-light)}.section-group__header--drag-over{outline:2px solid var(--primary-light);outline-offset:2px;border-radius:var(--radius-sm)}.section-group--dragging{opacity:.55}.svc-cat__grip{display:flex;align-items:center;justify-content:center;width:36px;min-height:var(--touch-min, 44px);margin-top:2px;margin-left:calc(var(--page-padding-x) - 8px);margin-right:-4px;color:var(--muted);flex-shrink:0;touch-action:none;cursor:grab;-webkit-tap-highlight-color:transparent}.svc-cat__grip:active{cursor:grabbing;color:var(--primary)}.svc-cat__edit-cat{display:flex;align-items:center;justify-content:center;width:36px;height:32px;margin-top:6px;margin-right:calc(var(--page-padding-x) - 4px);color:var(--muted);flex-shrink:0}.svc-cat__edit-cat:active{color:var(--primary)}.svc-cat__sortable{display:block}.callout--list .svc-cat__sortable>.svc-item-wrap:not(:last-child):after{content:"";position:absolute;bottom:0;left:var(--list-divider-inset);right:0;height:1px;background:var(--border);pointer-events:none;z-index:2}.callout--list .svc-cat__sortable>.svc-item-wrap:last-child:after{content:none}.svc-cat__sortable--empty{display:block;min-height:44px}.svc-cat__sortable--empty:before{content:"Перетащите услугу сюда";display:block;box-sizing:border-box;width:100%;min-height:44px;padding:12px var(--page-padding-x);font-size:13px;line-height:1.4;color:var(--muted);text-align:center;border-bottom:1.5px dashed var(--border);pointer-events:none}.svc-item{--list-divider-inset: 62px}.svc-item:has(.ui-list-item--reorder){--list-divider-inset: 94px}.svc-item-wrap{position:relative;-webkit-tap-highlight-color:transparent}.ui-list-item--reorder,.ui-list-item--reorder *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.callout--list .svc-item .ui-list-item:active{background:transparent}.callout--list .svc-item .ui-list-item--reorder:active:not(:has(.svc-item__grip:active)) .ui-list-item__body{opacity:.72}.svc-item__leading{display:flex;align-items:center;gap:8px}.svc-item__grip{display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;min-height:var(--touch-min, 44px);margin:-2px 0;color:var(--muted);flex-shrink:0;touch-action:none;cursor:grab;-webkit-tap-highlight-color:transparent}.svc-item__grip:active{cursor:grabbing;color:var(--primary)}.ui-list-item--reorder .ui-list-item__icon{width:auto;min-width:0;padding:0;background:transparent;overflow:visible}.svc-item .ui-list-item__icon:has(.svc-item__thumb-img){padding:0;overflow:hidden;width:40px;height:40px;background:var(--primary-light)}.svc-item__thumb-img{width:40px;height:40px;object-fit:cover;display:block;border-radius:var(--radius-sm)}.svc-item__meta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:2px}.svc-item__price{font-size:12px;font-weight:700;color:var(--text)}.svc-item__sep,.svc-item__duration{font-size:12px;color:var(--muted)}.svc-item .ui-list-item__description{line-height:1.45}.bc-svc-select .svc-item__icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.bc-svc-select .svc-item__icon .svc-item__thumb-img{width:100%;height:100%;object-fit:cover}.svc-sortable-ghost{opacity:.35}.svc-sortable-ghost .ui-list-item,.svc-sortable-ghost.section-group{background:transparent}.svc-sortable-chosen .svc-item__grip,.svc-sortable-chosen .svc-cat__grip{color:var(--primary);background:var(--primary-light);border-radius:var(--radius-sm)}.svc-sortable-drag{opacity:1!important;box-shadow:0 10px 28px #0f172a24;border-radius:var(--radius-md)}.services-cat-slot.svc-sortable-drag .section-group{box-shadow:0 10px 28px #0f172a24;border-radius:var(--radius-lg)}body.svc-sortable-active{user-select:none;-webkit-user-select:none}body.svc-sortable-active .svc-item__grip,body.svc-sortable-active .svc-cat__grip{touch-action:none}.ob-progress__bar{height:100%;background:var(--primary);border-radius:2px}.ob-header{padding:28px 24px 16px;text-align:center}.ob-icon{width:72px;height:72px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.ob-title{font-size:20px;font-weight:700;margin-bottom:8px}.ob-services{display:flex;flex-direction:column;gap:10px;padding-bottom:0}.ob-add-cat{display:flex;align-items:center;gap:8px;margin:8px 0 24px;padding:13px var(--page-padding-x);border:1.5px dashed var(--border);border-radius:var(--radius-lg);font-size:14px;font-weight:600;color:var(--primary);width:100%;box-sizing:border-box;transition:background .15s}.ob-add-cat:active{background:var(--primary-light)}.ob-footer{padding:12px var(--page-padding-x) 20px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);flex-shrink:0}.ob-skip{text-align:center;font-size:13px;color:var(--muted);padding:8px}.svc-form__textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:15px;color:var(--text);background:var(--surface);resize:none;line-height:1.5;transition:border-color .15s}.ui-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.ui-toggle__input{display:none}.ui-toggle__track{width:46px;height:26px;border-radius:13px;background:var(--border);position:relative;transition:background .2s;flex-shrink:0}.ui-toggle__input:checked+.ui-toggle__track{background:var(--primary)}.ui-toggle__input:disabled+.ui-toggle__track{opacity:.5}.ui-toggle__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .2s}.ui-toggle__input:checked+.ui-toggle__track .ui-toggle__thumb{transform:translate(20px)}.ui-toggle__label{font-size:14px;font-weight:500}.ob-screen{flex:1;display:flex;flex-direction:column}.ob-progress{height:3px;background:var(--border);flex-shrink:0}.ob-progress__bar{height:100%;background:var(--primary)}.ob-header{padding:24px 24px 12px;text-align:center}.ob-icon{width:72px;height:72px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 10px}.ob-title{font-size:20px;font-weight:700;margin-bottom:6px}.ob-sub{font-size:13px;color:var(--text-secondary)}.ob-form{display:flex;flex-direction:column;gap:10px;padding-bottom:8px}.ob-section-title{font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.ob-days{display:flex;gap:6px;justify-content:space-between}.ob-day{width:38px;height:38px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--muted);background:var(--surface-2);transition:all .15s}.ob-day--active{background:var(--primary);color:#fff}.ob-time-row{display:flex;align-items:center;gap:12px}.ob-time-field{display:flex;align-items:center;gap:8px;flex:1}.ob-time-field label{font-size:13px;color:var(--muted);flex-shrink:0}.ob-time-sep{color:var(--muted)}.ob-select{flex:1;height:40px;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:0 8px;font-size:14px;font-weight:600;color:var(--text);background:var(--surface);-webkit-appearance:none;-moz-appearance:none;appearance:none}.ob-slots{display:flex;gap:8px}.ob-slot{flex:1;height:38px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--text-secondary);transition:all .15s}.ob-slot--active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.ob-row-between{display:flex;align-items:center;justify-content:space-between}.ob-footer{padding:12px var(--page-padding-x) 20px;border-top:1px solid var(--border);flex-shrink:0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;margin:0 auto;max-width:var(--app-max-width);width:100%;display:flex;min-height:var(--bottom-nav-total);padding-bottom:constant(safe-area-inset-bottom);padding-bottom:var(--safe-bottom, env(safe-area-inset-bottom, 0px));box-sizing:border-box;background:var(--surface);border-top:1px solid var(--border);z-index:20}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:11px;font-weight:500;transition:color .15s;min-height:var(--bottom-nav-height)}.bottom-nav__item--active{color:var(--primary)}.bottom-nav__item svg{flex-shrink:0;width:22px;height:22px}.bottom-nav__item--active svg{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--primary) 40%,transparent))}.app-top-chrome{position:fixed;top:0;left:0;right:0;margin:0 auto;max-width:var(--app-max-width);z-index:20;padding-top:var(--safe-top);background:var(--surface);box-shadow:var(--shadow-sm);box-sizing:border-box}.app-top-chrome .app-header{position:relative;top:auto;left:auto;right:auto;margin:0;max-width:none;height:var(--header-height);padding:0 8px;box-shadow:none}.app-top-chrome .cal-header{position:relative;top:auto;left:auto;right:auto;margin:0;max-width:none;box-shadow:none}.app-top-chrome .bc-master-header{position:relative;margin:0;max-width:none;box-shadow:none}.app-top-chrome .week-strip,.app-top-chrome .view-period-tabs,.app-top-chrome .booking-view__tabs,.app-top-chrome .clients-filters{position:static;top:auto;z-index:auto}.week-strip{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden;width:100%;max-width:100%}.section--flush>.week-strip{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-bottom:none}.week-strip__month-label{padding:10px var(--page-padding-x) 4px;font-size:15px;font-weight:700;color:var(--text);text-align:center}.week-strip__tabs{display:flex;padding:7px 12px 0;gap:0}.week-strip__tabs-inner{display:flex;flex:1;background:var(--surface-2);border-radius:var(--radius-sm);padding:2px;gap:1px}.week-strip__tab{flex:1;height:28px;border-radius:calc(var(--radius-sm) - 1px);font-size:12px;font-weight:600;color:var(--muted);transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.week-strip__tab--active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}.week-strip__tab--month{font-size:11px}.week-strip__weekdays-header{display:flex;padding:4px 32px 0}.week-strip__weekday-label{flex:1;text-align:center;font-size:10px;font-weight:500;color:var(--muted);text-transform:uppercase;line-height:1}.week-strip__nav{display:flex;align-items:center;padding:2px 4px 6px}.week-strip__arrow{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);transition:background .15s}.week-strip__arrow:active{background:var(--bg)}.app-top-chrome .week-strip__arrow{display:none}.app-top-chrome .week-strip__weekdays-header{padding:4px 8px 0}.week-strip__viewport{flex:1;min-width:0;overflow:hidden}.week-strip__slider{display:flex;flex-direction:row;flex-wrap:nowrap;width:300%;will-change:transform;touch-action:pan-y}.week-strip__slider--dragging{touch-action:none;-webkit-user-select:none;user-select:none}.week-strip__slider--no-transition{transition:none!important}.week-strip__panel{flex:0 0 calc(100% / 3);width:calc(100% / 3);display:flex;flex-direction:column;gap:2px;min-width:0}.week-strip__panel--adjacent{opacity:.88;pointer-events:none}.week-strip__days{display:flex;justify-content:space-between;min-width:0}button.week-strip__day{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px;border-radius:var(--radius-sm);min-width:0;background:none;color:inherit;transition:background .15s}button.week-strip__day:active{background:var(--bg)}button.week-strip__day:disabled{cursor:default}button.week-strip__day:disabled:active{background:none}.week-strip__num{font-size:15px;font-weight:600;color:var(--text);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;line-height:1;flex-shrink:0}.week-strip__day--today .week-strip__num{color:var(--primary)}.week-strip__day--unavailable{opacity:.3;cursor:default}.week-strip__day--off .week-strip__num{color:var(--muted);opacity:.65;background:repeating-linear-gradient(-45deg,transparent,transparent 2px,var(--border) 2px,var(--border) 3px)}.week-strip__day--off.week-strip__day--selected .week-strip__num{opacity:1;background:var(--primary);color:#fff}.week-strip__day--selected .week-strip__num{background:var(--primary);color:#fff}.week-strip__dots{display:flex;height:14px}.week-strip__dot-cell{flex:1;display:flex;align-items:center;justify-content:center;height:14px}.week-strip__dot{min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:var(--primary);color:#fff;font-size:8px;font-weight:700;line-height:14px;text-align:center;box-sizing:border-box}.week-strip__dot--selected{background:var(--primary-light);color:var(--primary)}.week-strip--calendar{border-bottom:none}.week-strip--calendar .week-strip__nav{padding:4px 8px 8px}.week-strip--calendar .week-strip__viewport{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.week-strip--calendar .week-strip__num{width:30px;height:30px;font-size:15px;font-weight:600;border-radius:50%;background:none}.week-strip--calendar .week-strip__day--today:not(.week-strip__day--selected) .week-strip__num{color:var(--primary);background:none}.week-strip--calendar .week-strip__day--selected .week-strip__num{width:34px;height:34px;padding:0;border-radius:50%;background:var(--text);color:#fff;font-size:15px;font-weight:600}.week-strip--calendar .week-strip__day--off.week-strip__day--selected .week-strip__num{background:var(--text);color:#fff;opacity:1}.week-strip--calendar .week-strip__day--off:not(.week-strip__day--selected) .week-strip__num{background:none}.cal-grid{width:100%;max-width:100%;box-sizing:border-box;background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.section--flush>.cal-grid{width:100%;max-width:100%}.cal-grid__header{display:flex;align-items:center;padding:12px 8px}.cal-grid__nav{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary)}.cal-grid__nav:active{background:var(--bg)}.cal-grid__month{flex:1;text-align:center;font-size:15px;font-weight:700}.cal-grid__viewport{overflow:hidden;width:100%}.cal-grid__slider{display:flex;flex-direction:row;flex-wrap:nowrap;width:300%;will-change:transform;touch-action:pan-y}.cal-grid__slider--dragging{touch-action:none;-webkit-user-select:none;user-select:none}.cal-grid__slider--no-transition{transition:none!important}.cal-grid__panel{flex:0 0 calc(100% / 3);width:calc(100% / 3);min-width:0}.cal-grid__panel--adjacent{opacity:.88;pointer-events:none}.cal-grid__weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:4px 8px 0}.cal-grid__weekdays span{text-align:center;font-size:11px;font-weight:600;color:var(--muted);padding:4px 0}.cal-grid__days{display:grid;grid-template-columns:repeat(7,1fr);padding:0 8px 8px;gap:2px;box-sizing:border-box}.cal-grid__cell{display:grid;grid-template-rows:26px 14px;row-gap:2px;align-content:center;justify-items:center;height:44px;border-radius:var(--radius-sm);transition:background .15s}.cal-grid__cell:not(:disabled):active{background:var(--bg)}.cal-grid__cell:disabled{opacity:.3;cursor:default}.cal-grid__num{font-size:13px;font-weight:500;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;line-height:1}.cal-grid__cell--today .cal-grid__num{color:var(--primary);font-weight:700}.cal-grid__cell--selected .cal-grid__num{background:var(--primary);color:#fff}.cal-grid__badge{min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:var(--primary);color:#fff;font-size:9px;font-weight:700;line-height:14px;text-align:center;box-sizing:border-box}.cal-grid__badge--empty{visibility:hidden}.cal-grid__cell--selected .cal-grid__badge{background:var(--primary-light);color:var(--primary)}.cal-grid__cell--off .cal-grid__num{color:var(--muted);opacity:.65;background:repeating-linear-gradient(-45deg,transparent,transparent 2px,var(--border) 2px,var(--border) 3px)}.cal-grid__cell--off.cal-grid__cell--selected .cal-grid__num{opacity:1;background:var(--primary);color:#fff}.slot{display:flex;align-items:flex-start;gap:10px;padding:8px var(--page-padding-x);min-height:52px;cursor:pointer;transition:background .15s}.slot:active{background:var(--bg)}.slot__time{width:40px;font-size:12px;font-weight:600;color:var(--muted);padding-top:2px;flex-shrink:0}.slot__body{flex:1;padding:8px 12px;border-radius:var(--radius-sm);min-height:36px}.slot--empty .slot__body{border:1.5px dashed var(--border)}.slot--booked .slot__body{background:var(--primary-light);border-left:3px solid var(--primary);border-radius:var(--radius-sm)}.slot--paid .slot__body{background:var(--success-light);border-left-color:var(--success)}.slot__apt-header{display:flex;align-items:center;justify-content:space-between;gap:4px}.slot__name{font-size:13px;font-weight:700;color:var(--text)}.slot__check{color:var(--success);flex-shrink:0}.slot__services{font-size:11px;color:var(--text-secondary);margin-top:2px}.slot__price{font-size:12px;font-weight:600;color:var(--primary);margin-top:4px}.slot--paid .slot__price{color:var(--success)}.slot__empty{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.outcome-sheet{display:flex;flex-direction:column;gap:16px;padding-bottom:8px}.outcome-sheet__hint{margin:0;font-size:13px;line-height:1.45;color:var(--text-secondary)}.outcome-sheet__divider{height:1px;background:var(--border);margin:2px 0}.outcome-sheet__pay-disabled{margin:0;padding:12px 14px;font-size:13px;line-height:1.45;color:var(--text-secondary);background:var(--bg);border-radius:var(--radius-md)}.outcome-sheet__error{margin:0;font-size:14px;color:var(--danger)}.outcome-sheet__visit{display:flex;gap:8px}.outcome-sheet__visit-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border-radius:var(--radius-md);border:1.5px solid var(--border);font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--surface);transition:border-color .15s,background .15s,color .15s}.outcome-sheet__visit-btn--active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.outcome-sheet__visit-btn--success.outcome-sheet__visit-btn--active{border-color:var(--success);background:var(--success-light);color:var(--success)}.outcome-sheet__visit-btn--danger.outcome-sheet__visit-btn--active{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.outcome-sheet__pay{display:flex;flex-direction:column;gap:16px;padding-bottom:8px}.outcome-sheet__pay-summary{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--bg);border-radius:var(--radius-md)}.outcome-sheet__presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.outcome-sheet__preset{height:40px;border-radius:var(--radius-sm);border:1.5px solid var(--border);font-size:13px;font-weight:700;color:var(--text-secondary);transition:all .15s}.outcome-sheet__preset--active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.outcome-sheet__preset--add{color:var(--success);border-color:var(--success-light);background:var(--success-light)}.outcome-sheet__preview{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500}.outcome-sheet__preview--partial{background:var(--warning-light);color:var(--warning-dark)}.outcome-sheet__preview--full,.outcome-sheet__preview--over{background:var(--success-light);color:var(--success)}.apt-card{position:absolute;left:56px;right:0;z-index:3;display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:6px 10px;border-radius:var(--radius-md);background:var(--primary-light);border-left:3px solid var(--primary);box-shadow:var(--shadow-sm);overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s;-webkit-user-select:none;user-select:none}.apt-card:active{opacity:.88}.apt-card--arrived,.apt-card--paid{background:var(--success-light);border-left-color:var(--success)}.apt-card--no_show{background:var(--surface-2);border-left-color:var(--muted);opacity:.7}.apt-card__header{display:flex;align-items:center;gap:4px;min-width:0}.apt-card__time{font-size:11px;font-weight:600;color:var(--muted);flex-shrink:0;letter-spacing:.01em;white-space:nowrap}.apt-card__name{font-size:13px;font-weight:700;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apt-card__check{color:var(--success);flex-shrink:0}.apt-card__status-icon--muted{color:var(--muted);flex-shrink:0}.apt-card__lines{display:flex;flex-direction:column;gap:2px;margin-top:2px;min-height:0;overflow:hidden}.apt-card__svc{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;line-height:1.3;min-width:0}.apt-card__svc-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.apt-card__svc-price{flex-shrink:0;font-weight:600;color:var(--primary);white-space:nowrap}.apt-card__total{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:auto;padding-top:2px;font-size:12px;font-weight:700;color:var(--text)}.apt-card__total span:last-child{color:var(--primary)}.apt-card__dur-line{font-size:11px;color:var(--muted)}.apt-card--arrived .apt-card__svc-price,.apt-card--paid .apt-card__svc-price,.apt-card--arrived .apt-card__total span:last-child,.apt-card--paid .apt-card__total span:last-child{color:var(--success)}.apt-card--no_show .apt-card__svc-price,.apt-card--no_show .apt-card__total span:last-child{color:var(--muted)}.apt-confirm-form{display:flex;flex-direction:column;gap:16px}.apt-confirm-form__text{font-size:14px;line-height:1.45;color:var(--text-secondary);margin:0}.apt-confirm-form__error{margin:0;font-size:14px;color:var(--danger)}.timeline{flex:1 1 0;min-height:0;min-width:0}.timeline__grid{position:relative;width:100%;box-sizing:border-box;margin:0;background:var(--bg)}.timeline__body{position:absolute;left:0;right:0;box-sizing:border-box;background:var(--bg)}.timeline__click-area{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer}.timeline__canvas{position:absolute;top:0;bottom:0;left:48px;right:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent,transparent calc(var(--slot-step-px, 40px) - 1px),color-mix(in srgb,var(--surface-2) 65%,transparent) calc(var(--slot-step-px, 40px) - 1px),color-mix(in srgb,var(--surface-2) 65%,transparent) var(--slot-step-px, 40px))}.timeline__grid--off .timeline__canvas{display:none}.timeline__off{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(-45deg,var(--surface-2),var(--surface-2) 8px,var(--bg) 8px,var(--bg) 16px);opacity:.82;pointer-events:none}.timeline__off-label{font-size:14px;font-weight:600;color:var(--muted);font-style:italic;padding:10px 18px;background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.timeline__label{position:absolute;left:0;width:44px;font-size:11px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;transform:translateY(-50%);text-align:right;padding-right:8px;pointer-events:none;z-index:2}.timeline__label--hour{font-size:12px;font-weight:700;color:var(--text)}.timeline__line{position:absolute;left:48px;right:0;height:0;border-top:1px dashed var(--border);background:transparent;opacity:.35;pointer-events:none;z-index:2}.timeline__line--hour{height:1px;border-top:none;background:var(--border);opacity:1;box-shadow:0 1px color-mix(in srgb,var(--border) 40%,transparent)}.timeline__break{position:absolute;left:56px;right:0;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--surface-2) 80%,transparent),color-mix(in srgb,var(--surface-2) 80%,transparent) 6px,transparent 6px,transparent 12px);border:1px dashed var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}.timeline__break-label{font-size:12px;font-weight:600;color:var(--muted);font-style:italic;padding:6px 12px;background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.timeline__now{position:absolute;left:48px;right:0;height:2px;background:var(--danger);z-index:4;pointer-events:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 20%,transparent)}.timeline__now:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--danger)}.ui-ptr{flex:1 1 0;min-height:0;min-width:0;position:relative;overflow:hidden;display:flex;flex-direction:column}.ui-ptr__indicator{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;pointer-events:none;opacity:0;transition:opacity .15s ease}.ui-ptr__indicator--visible{opacity:1}.ui-ptr__indicator--ready .ui-spinner{border-top-color:var(--primary-dark);transform:scale(1.08)}.ui-ptr__scroll{flex:1 1 0;min-height:0;will-change:transform}.ui-ptr--window{flex:none;min-height:auto;overflow:visible}.ui-ptr--window .ui-ptr__indicator{position:fixed;top:var(--app-chrome-height, var(--header-total));left:0;right:0;margin-inline:auto;max-width:var(--app-max-width);z-index:10}.ui-ptr--window .ui-ptr__scroll{flex:none;min-height:auto;overflow:visible}.cal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:4px var(--page-padding-x);background:var(--surface);min-width:0;width:100%;box-sizing:border-box}.cal-header__month{display:inline-flex;align-items:center;gap:2px;min-height:var(--touch-min);padding:0 4px 0 0;font-size:var(--text-lg);font-weight:700;color:var(--text);background:none;border-radius:var(--radius-sm);flex-shrink:0}.cal-header__month:active{opacity:.7}.cal-header__month--active{color:var(--primary)}.cal-header__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.cal-header__view-toggle{display:flex;background:var(--surface-2);border-radius:999px;padding:2px;gap:2px}.cal-header__view-btn{width:36px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:999px;color:var(--muted);transition:background .15s,color .15s}.cal-header__view-btn--active{background:var(--primary);color:#fff}.cal-header__view-btn:active:not(.cal-header__view-btn--active){background:var(--bg)}.icon-btn--notif{position:relative}.icon-btn__badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;border-radius:999px;background:var(--primary);color:#fff;font-size:9px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none;box-shadow:0 0 0 2px var(--surface)}.list-group{padding-top:12px}.list-group__date{font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:8px;text-transform:capitalize}.cal-view__today-btn{position:fixed;left:50%;bottom:calc(var(--bottom-nav-total) + 16px);transform:translate(-50%);z-index:10;min-height:var(--touch-min);padding:0 24px;border-radius:999px;background:var(--surface);color:var(--text);font-size:15px;font-weight:400;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);box-shadow:0 2px 12px #00000014;transition:transform .15s;white-space:nowrap}.cal-view__today-btn:active{transform:translate(-50%) scale(.96)}.cal-view__fab{position:fixed;right:calc(var(--app-column-inset) + var(--page-padding-x));bottom:calc(var(--bottom-nav-total) + 16px);z-index:10;width:52px;height:52px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #e8654a73;transition:transform .15s}.cal-view__fab:active{transform:scale(.93)}.cal-view>.ui-ptr{display:flex;flex-direction:column}.cal-view .ui-ptr__scroll.cal-view__ptr-day,.cal-view>.screen-scroll.cal-view__ptr-day{padding-bottom:calc(var(--bottom-nav-total) + 16px)}.ui-badge--primary{background:var(--primary-light);color:var(--primary)}.ui-badge--success{background:var(--success-light);color:var(--success)}.ui-badge--warning{background:var(--warning-light);color:var(--warning-dark)}.ui-badge--gray{background:var(--surface-2);color:var(--muted)}.ui-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;color:var(--muted);text-align:center}.ui-empty-state svg{opacity:.4}.ui-empty-state p{font-size:14px;margin:0}.finance-segment-wrap{display:flex;align-items:center;padding:0 var(--page-padding-x);height:44px;background:var(--surface);border-bottom:1px solid var(--border)}.finance-segment-wrap .analytics-segment{width:100%}.finance-segment-wrap .analytics-segment__btn{flex:1}.finance-summary{padding:var(--space-4) var(--page-padding-x)}.finance-summary__top{margin-bottom:12px}.finance-summary__lbl{font-size:12px;font-weight:500;color:var(--muted);margin-bottom:4px}.finance-summary__total{font-size:28px;font-weight:700;color:var(--text);line-height:1.1}.finance-summary__progress-wrap{display:flex;align-items:center;gap:8px;margin-bottom:0}.finance-summary__progress{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.finance-summary__progress-fill{height:100%;background:var(--success);border-radius:2px;transition:width .4s ease}.finance-summary__progress-pct{font-size:12px;font-weight:700;color:var(--success);flex-shrink:0;min-width:32px;text-align:right}.finance-summary__row{display:flex;gap:20px;margin-top:var(--space-2);padding-top:var(--space-3)}.finance-summary__stat{display:flex;align-items:center;gap:8px}.finance-summary__stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.finance-summary__stat-dot--success{background:var(--success)}.finance-summary__stat-dot--warning{background:var(--warning)}.finance-summary__stat-val{font-size:14px;font-weight:700;color:var(--text)}.finance-summary__stat-lbl{font-size:11px;color:var(--muted);margin-top:1px}.finance-filter{display:flex;gap:8px;flex-wrap:wrap;padding-inline:var(--page-padding-x)}.finance-filter__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border:1.5px solid var(--border);border-radius:17px;font:inherit;font-size:13px;font-weight:600;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .15s}.finance-filter__btn--active{background:var(--primary);border-color:var(--primary);color:#fff}.finance-filter__count{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:700;line-height:18px;text-align:center;background:var(--surface-2);color:var(--muted)}.finance-filter__btn--active .finance-filter__count{background:#ffffff38;color:#fff}.finance-page__groups{display:flex;flex-direction:column;gap:var(--space-4)}.finance-view .finance-page__groups .section-group:not(:first-child){margin-top:0}.finance-view .section-group__title{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-op-swipe{--list-divider-inset: 62px}.finance-view .finance-op-swipe .ui-list-item--multiline .finance-op__right{align-self:flex-start;margin-top:1px}.finance-op__right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.finance-op__amount{font-size:15px;font-weight:700}.text-warning{color:var(--warning)}.finance-analytics-link{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--text)}.finance-analytics-link__icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--primary-light);color:var(--primary);flex-shrink:0}.finance-analytics-link .text-muted{margin-left:auto;flex-shrink:0}.services-page__categories{display:flex;flex-direction:column;padding-bottom:8px}.services-page__categories-sortable{display:flex;flex-direction:column;gap:var(--space-4)}.services-view .services-cat-slot .section-group:not(:first-child){margin-top:0}.services-view .section-group__toggle{padding-top:var(--space-3)}.services-view .section-group__title{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.services-view .section-group__count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:700;line-height:18px;text-align:center;background:var(--surface-2);color:var(--muted)}.services-cat-slot{position:relative}.services-search{display:flex;align-items:center;gap:10px;margin:var(--space-4) var(--page-padding-x);padding:0 14px;height:44px;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:none}.services-search__icon{color:var(--muted);flex-shrink:0}.services-search__input{flex:1;min-width:0;height:100%;border:none;background:transparent;font:inherit;font-size:14px;color:var(--text);outline:none}.services-search__input::placeholder{color:var(--muted)}.services-search__input::-webkit-search-cancel-button{display:none}.services-search__clear{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:var(--surface-2);border-radius:50%;color:var(--muted);flex-shrink:0;padding:0;cursor:pointer}.services-search__clear:active{opacity:.7}.services-page__status{margin:0 0 12px;font-size:14px;color:var(--muted);text-align:center}.services-page__empty{margin:0 0 16px;padding:20px var(--page-padding-x);border-radius:var(--radius-lg);background:var(--surface-secondary, rgba(0, 0, 0, .03));text-align:center}.services-page__empty p{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--text)}.services-page__empty span{font-size:13px;line-height:1.45;color:var(--muted)}.services-page__error{margin:0 0 16px;padding:12px 14px;border-radius:var(--radius-md);background:#ef444414;color:var(--danger);font-size:13px}.services-page__error p{margin:0 0 8px}.services-page__retry{font-size:13px;font-weight:600;color:var(--primary)}.services-add-cat{display:flex;align-items:center;gap:8px;box-sizing:border-box;width:calc(100% - 2 * var(--page-padding-x));margin:0 var(--page-padding-x) 8px;padding:13px var(--page-padding-x);border:1.5px dashed var(--border);border-radius:var(--radius-lg);font-size:14px;font-weight:600;color:var(--primary);transition:background .15s}.services-add-cat:active{background:var(--primary-light)}.svc-form{display:flex;flex-direction:column;gap:16px;padding-bottom:8px}.svc-form__textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:16px;color:var(--text);background:var(--surface);resize:none;line-height:1.5;transition:border-color .15s}.svc-form__textarea:focus{outline:none;border-color:var(--primary)}.svc-form__textarea::placeholder{color:var(--muted)}.svc-form__label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.svc-form__cats{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -4px;padding:0 4px 2px}.svc-form__cats::-webkit-scrollbar{display:none}.svc-form__cat{flex-shrink:0;white-space:nowrap;padding:8px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);font-size:13px;font-weight:600;color:var(--text-secondary);transition:all .15s}.svc-form__cat--active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.svc-form__warn{font-size:13px;color:var(--warning);margin:-4px 0}.services-page__empty-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;padding-bottom:8px}.services-page__empty-hint{font-size:13px;color:var(--muted);text-align:center;line-height:1.45;margin:-4px 0 0;max-width:260px}.services-view__fab{position:fixed;right:calc(var(--app-column-inset) + var(--page-padding-x));bottom:calc(var(--bottom-nav-total) + 16px);z-index:10;width:52px;height:52px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #e8654a73;transition:transform .15s}.services-view__fab:active{transform:scale(.93)}.ui-avatar--xs{width:28px;height:28px;font-size:11px}.ui-avatar--sm{width:36px;height:36px;font-size:13px}.ui-avatar--lg{width:56px;height:56px;font-size:20px}.ui-avatar--xl{width:80px;height:80px;font-size:28px}.settings-profile{display:flex;align-items:center;gap:14px}.settings-profile__name{font-size:16px;font-weight:700}.settings-profile__spec{font-size:13px;color:var(--text-secondary);margin-top:2px}.settings-profile__edit{margin-top:4px}.settings-booking-link__header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.settings-booking-link__url{font-size:12px;color:var(--muted);margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-version{text-align:center;font-size:11px;color:var(--muted);padding:16px}.donate-sheet{display:flex;flex-direction:column;gap:16px;padding-bottom:8px}.donate-sheet__desc{font-size:14px;color:var(--text-secondary);line-height:1.6;text-align:center}.donate-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.donate-amount{height:44px;border-radius:var(--radius-md);border:1.5px solid var(--border);font-size:13px;font-weight:700;color:var(--text-secondary);transition:all .15s}.donate-amount--active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.donate-sheet__methods{text-align:center;font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:3px}.donate-sheet__methods strong{color:var(--text-secondary)}.app-sticky-footer{position:fixed;bottom:0;left:0;right:0;margin:0 auto;max-width:var(--app-max-width);z-index:20;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 8px #0000000a;box-sizing:border-box;padding:12px var(--page-padding-x) calc(12px + var(--safe-bottom))}.ui-section-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.new-apt__footer.app-sticky-footer{display:flex;flex-direction:column;gap:8px;padding-top:12px}.new-apt .flex-1{flex:1;min-width:0}.new-apt__label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.new-apt__client-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;background:var(--primary-light);border-radius:var(--radius-xl);font-size:14px;font-weight:600;color:var(--primary)}.new-apt__client-chip__name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.new-apt__client-chip__remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:#00000014;border-radius:50%;color:var(--primary);flex-shrink:0;cursor:pointer;padding:0}.new-apt__client-chip__remove:active{background:#00000029}.new-apt__search{padding:12px}.new-apt__suggestions{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.new-apt__suggestion{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-sm);width:100%;text-align:left;transition:background .15s}.new-apt__suggestion:active{background:var(--bg)}.new-apt__suggestion-more{padding:6px 8px;font-size:12px;color:var(--muted);text-align:center}.new-apt__new-client{display:flex;align-items:center;gap:8px;padding:10px 0 0;font-size:13px;font-weight:600;color:var(--primary)}.new-apt__svc-item{position:relative;display:flex;align-items:center;padding:12px var(--page-padding-x)}.new-apt__svc-remove{color:var(--muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center}.new-apt__add-svc{display:flex;align-items:center;gap:8px;padding:12px var(--page-padding-x);font-size:13px;font-weight:600;color:var(--primary);width:100%;border-top:1px solid var(--border)}.new-apt__times-grouped{display:flex;flex-direction:column;gap:16px}.new-apt__times-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.new-apt__times{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.new-apt__time{width:100%;padding:8px 4px;border-radius:var(--radius-sm);border:1.5px solid var(--border);font-size:13px;font-weight:600;color:var(--text-secondary);text-align:center;transition:all .15s}.new-apt__time--active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.new-apt__time--busy{border-color:var(--border);background:repeating-linear-gradient(135deg,transparent,transparent 3px,var(--border) 3px,var(--border) 4px);color:var(--muted);opacity:.6}.bs-panel__body:has(.new-apt__svc-sheet){overflow:hidden;display:flex;flex-direction:column;padding:0}.new-apt__svc-sheet{display:flex;flex-direction:column;flex:1;min-height:0}.new-apt__svc-search{flex-shrink:0;padding:0 var(--page-padding-x) 8px}.new-apt__svc-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0}.new-apt__svc-footer{flex-shrink:0;padding:12px var(--page-padding-x) 0}.new-apt__cat-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px var(--page-padding-x);border:none;border-bottom:1px solid var(--border);background:var(--bg);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.new-apt__cat-toggle:active{background:var(--surface-2)}.new-apt__cat-toggle__name{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.new-apt__cat-toggle__right{display:flex;align-items:center;gap:6px;flex-shrink:0}.new-apt__cat-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--primary);color:#fff;font-size:11px;font-weight:700;line-height:1}.new-apt__cat-toggle__icon{color:var(--muted);transition:transform .2s ease;flex-shrink:0}.new-apt__cat-toggle__icon--collapsed{transform:rotate(-90deg)}.new-apt__svc-row{display:flex;align-items:center;gap:10px;width:100%;padding:13px var(--page-padding-x);box-sizing:border-box;border:none;border-bottom:1px solid var(--border);background:transparent;text-align:left;cursor:pointer;transition:background .15s}.new-apt__svc-row:last-child{border-bottom:none}.new-apt__svc-row:active{background:var(--bg)}.new-apt__svc-row--selected,.new-apt__svc-row--selected:active{background:var(--primary-light)}.new-apt__svc-row__info{flex:1;min-width:0}.new-apt__svc-row__check{flex-shrink:0;color:var(--success)}.new-apt__total{font-size:13px;color:var(--text-secondary);text-align:center}.new-apt__error{margin:0;font-size:13px;line-height:1.4;color:var(--danger);text-align:center}.cv-hero{display:flex;flex-direction:column;align-items:center;padding:20px var(--page-padding-x) 16px;background:var(--surface);border-bottom:1px solid var(--border);gap:6px;flex-shrink:0}.cv-hero__price{font-size:28px;font-weight:700;color:var(--text)}.cv-hero__extra{font-size:12px;font-weight:600;padding:3px 10px;border-radius:100px}.cv-hero__extra--debt{background:var(--warning-light);color:var(--warning-dark)}.cv-hero__extra--extra{background:var(--success-light);color:var(--success)}.cv-hero__time{font-size:13px;color:var(--text-secondary)}.cv-hero__badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.svc-form__confirm-text{font-size:14px;line-height:1.45;color:var(--text-secondary);margin:0}.svc-form{display:flex;flex-direction:column;gap:16px}.cv-payment-progress{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin:2px 0}.cv-payment-progress__fill{height:100%;background:var(--warning);border-radius:2px;transition:width .3s ease}.cv-section-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.cv-client-row{display:flex;align-items:flex-start;gap:14px;padding:14px var(--page-padding-x)}.cv-client-row--link{width:100%;margin:0;border:none;border-bottom:1px solid var(--border);background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .15s}.cv-client-row--link:active{background:var(--bg)}.cv-client-row__chevron{flex-shrink:0;align-self:center;margin-left:auto;color:var(--muted)}.cv-client-info{flex:1;min-width:0}.cv-client-name{font-size:16px;font-weight:700;display:flex;align-items:center;gap:6px}.cv-client-stats{font-size:12px;color:var(--text-secondary);margin-top:4px}.cv-client-last{font-size:12px;color:var(--muted);margin-top:2px}.cv-contact-row{display:flex;align-items:center;gap:12px;padding:12px var(--page-padding-x);font-size:14px;font-weight:500}.cv-contact-icon{flex-shrink:0}.cv-contact-icon--primary{color:var(--primary)}.cv-contact-actions{display:flex;gap:8px;margin-left:auto}.cv-action-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}a.cv-action-btn{text-decoration:none}a.cv-action-btn--phone{color:var(--primary)}.cv-action-btn--phone{background:var(--primary-light);color:var(--primary)}.cv-action-btn--wa{background:var(--wa-bg);color:var(--wa-color)}.cv-svc-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px var(--page-padding-x);font-size:14px;border-bottom:1px solid var(--border)}.cv-svc-row:last-child{border-bottom:none}.cv-svc-row__name{min-width:0}.cv-svc-row__trail{display:flex;align-items:center;gap:10px;flex-shrink:0}.cv-svc-row__duration{font-size:13px;color:var(--text-secondary);white-space:nowrap}.cv-svc-total{font-size:15px}.cv-svc-total__duration{font-size:13px;font-weight:500;color:var(--text-secondary)}.cv-menu-error{margin:0;padding:8px var(--page-padding-x) 12px;font-size:13px;color:var(--danger);text-align:center}.cv-footer.app-sticky-footer{display:flex;gap:8px;min-width:0;padding-top:12px}.cv-footer .ui-btn:first-child{flex:1 1 0;min-width:0;min-height:var(--touch-min, 44px)}.cv-footer .ui-btn:last-child{flex:0 0 auto;min-height:var(--touch-min, 44px)}.cv-footer__outcome--recorded.ui-btn--outline{border-color:var(--primary);color:var(--primary)}.cv-footer__outcome--recorded.ui-btn--outline:hover:not(:disabled){background:var(--primary-light)}.cv-footer__outcome--success.ui-btn--outline{border-color:var(--success);color:var(--success)}.cv-footer__outcome--success.ui-btn--outline:hover:not(:disabled){background:var(--success-light)}.cv-footer__outcome--danger.ui-btn--outline{border-color:var(--danger);color:var(--danger)}.cv-footer__outcome--danger.ui-btn--outline:hover:not(:disabled){background:var(--danger-light)}.booking-view__tabs{display:flex;border-bottom:2px solid var(--border);background:var(--surface);flex-shrink:0}.booking-tab{flex:1;height:44px;font-size:13px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;padding:0 8px}.booking-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.booking-hero{padding:20px var(--page-padding-x) 0}.booking-hero__img{border-radius:var(--radius-lg);overflow:hidden;position:relative;margin-bottom:16px}.booking-hero__img img{width:100%;height:160px;object-fit:cover}.booking-hero__play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;color:#fff}.booking-hero__title{font-size:20px;font-weight:700;text-align:center;margin-bottom:20px}.booking-steps{display:flex;flex-direction:column;gap:0;padding:0 var(--page-padding-x);margin-bottom:16px}.booking-step-item{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.booking-step-item:last-child{border-bottom:none}.booking-step-item__num{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.booking-step-item__title{font-size:14px;font-weight:700;margin-bottom:3px}.booking-step-item__desc{font-size:12px;color:var(--text-secondary)}.booking-link-section{padding:20px var(--page-padding-x);display:flex;flex-direction:column;gap:16px}.booking-link-section__label{font-size:13px;color:var(--muted);font-weight:500}.booking-url-box{display:flex;align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;gap:10px}.booking-url-box__url{flex:1;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-url-box__copy{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--primary);flex-shrink:0}.booking-link-actions{display:flex;flex-direction:column;gap:10px}.booking-url-box__copy--ok{color:var(--success)}.booking-channels{display:flex;gap:12px;justify-content:center}.booking-channel{display:flex;flex-direction:column;align-items:center;gap:6px;border:none;background:transparent;padding:0;font:inherit;font-size:11px;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.booking-channel:active .booking-channel__icon{opacity:.75}.booking-channel__icon{width:52px;height:52px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;transition:opacity .15s}.booking-channel__icon--wa{background:var(--wa-color)}.booking-channel__icon--ig{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.booking-channel__icon--tg{background:#229ed9}.booking-ig-hint{font-size:12px;color:var(--text-secondary);background:var(--surface-2);border-radius:var(--radius-md);padding:10px 14px;text-align:center;line-height:1.4;margin:0}.booking-qr{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.booking-qr__code{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);overflow:hidden;padding:8px;background:#fff;box-shadow:0 0 0 1px var(--border)}.booking-qr__inner{font-size:24px;font-weight:900;color:var(--text);letter-spacing:4px}.booking-qr__logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:#1a1a2e;display:flex;align-items:center;justify-content:center;font-size:9px;line-height:1;color:#fff;-webkit-user-select:none;user-select:none;box-shadow:0 0 0 3px #fff}.booking-qr__download{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;font:inherit;font-size:14px;font-weight:700;color:var(--primary);cursor:pointer;padding:4px 0}.booking-qr__download:active{opacity:.7}.booking-qr__hint{font-size:11px;color:var(--muted);text-align:center}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;padding:24px var(--page-padding-x) 16px;background:var(--surface);border-bottom:1px solid var(--border);gap:6px;flex-shrink:0}.profile-avatar__input{display:none}.profile-avatar--loading{opacity:.7;pointer-events:none}.profile-avatar__error{margin:0;font-size:13px;color:var(--danger);text-align:center}.profile-avatar{position:relative;cursor:pointer;margin-bottom:4px}.profile-avatar__overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#00000059;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .15s}.profile-avatar:hover .profile-avatar__overlay{opacity:1}.profile-avatar__name{font-size:18px;font-weight:700}.profile-avatar__spec{font-size:13px;color:var(--text-secondary)}.profile-rating{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--warning);font-weight:600}.profile-page__form{display:flex;flex-direction:column;gap:16px}.profile-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.profile-textarea{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:15px;color:var(--text);background:var(--surface);resize:none;line-height:1.5;transition:border-color .15s}.profile-textarea:focus{outline:none;border-color:var(--primary)}.profile-textarea::placeholder{color:var(--muted)}.profile-page__pass-form{display:flex;flex-direction:column;gap:16px;padding-bottom:16px}.ui-select-wrap{position:relative;display:inline-flex;align-items:center;flex:1}.ui-select-wrap--full{width:100%}.ui-select{width:100%;height:40px;box-sizing:border-box;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:0 32px 0 12px;font-size:16px;font-family:var(--font);font-weight:600;color:var(--text);background:var(--surface);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color .15s}.ui-select:focus{outline:none;border-color:var(--primary)}.ui-select__icon{position:absolute;right:10px;color:var(--muted);pointer-events:none}.schedule-page__lunch{display:flex;flex-direction:column;gap:16px}.schedule-page__vacations{display:flex;flex-direction:column;gap:12px}.schedule-page__vac-sheet{display:flex;flex-direction:column;gap:16px;padding-bottom:8px}.sch-days{display:flex;gap:6px;justify-content:space-between}.sch-day{width:38px;height:38px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--muted);background:var(--surface-2);transition:all .15s}.sch-day--active{background:var(--primary);color:#fff}.sch-time-row{display:flex;align-items:center;gap:12px}.sch-time-field{display:flex;align-items:center;gap:8px;flex:1}.sch-time-field label{font-size:13px;color:var(--muted);flex-shrink:0}.sch-slots{display:flex;gap:8px;flex-wrap:wrap}.sch-slot{padding:8px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);font-size:13px;font-weight:600;color:var(--text-secondary);transition:all .15s;flex:1;min-width:60px}.sch-slot--active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.sch-vacation{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--primary-light);border-radius:var(--radius-sm)}.sch-vacation__del{margin-left:auto;color:var(--muted)}.vac-date-fields{display:flex;flex-direction:column;gap:12px}.vac-date-field{display:flex;flex-direction:column;gap:6px}.vac-date-label{font-size:12px;font-weight:600;color:var(--muted)}.notif-view{flex:1;display:flex;flex-direction:column}.notif-row{position:relative;display:flex;align-items:center;gap:12px;padding:14px var(--page-padding-x)}.notif-row__icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-row__icon--primary{background:var(--primary-light);color:var(--primary)}.notif-row__icon--green{background:var(--success-light);color:var(--success)}.notif-row__icon--gray{background:var(--surface-2);color:var(--muted)}.notif-row__info{flex:1}.notif-row__label{font-size:14px;font-weight:500}.notif-row__desc{font-size:12px;color:var(--muted);margin-top:2px}.notif-info{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--text-secondary);line-height:1.6}.notif-info svg{flex-shrink:0;margin-top:1px;color:var(--primary)}.notif-row__error{padding:6px var(--page-padding-x) 6px 52px;font-size:12px;color:var(--error, #e53935)}.inbox-view{flex:1;display:flex;flex-direction:column}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 32px;color:var(--muted);text-align:center}.empty-state p{font-size:15px;font-weight:500;color:var(--text-secondary)}.empty-state__sub{font-size:13px!important;font-weight:400!important;color:var(--muted)!important;margin-top:-4px}.inbox-clear-btn{color:var(--muted)}.inbox-item{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px var(--page-padding-x);width:100%;text-align:left;background:none;transition:background .12s}.inbox-item--clickable:active{background:var(--bg)}.inbox-item__icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--success-light);color:var(--success);display:flex;align-items:center;justify-content:center;flex-shrink:0}.inbox-item__body{flex:1;min-width:0}.inbox-item__title{font-size:14px;font-weight:600;color:var(--text)}.inbox-item__desc{font-size:13px;color:var(--text-secondary);margin-top:2px}.inbox-item__time{font-size:11px;color:var(--muted);margin-top:4px}.inbox-item__arrow{color:var(--muted);flex-shrink:0;align-self:center}.inbox-item__dot{position:absolute;top:50%;left:4px;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--primary)}.client-card{display:flex;align-items:center;gap:12px;padding:14px var(--page-padding-x);background:transparent;cursor:pointer;transition:background .15s}.client-card:active{background:#0000000a}.client-card__info{flex:1;min-width:0}.client-card__name{font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px}.client-card__meta{font-size:12px;color:var(--muted);margin-top:2px}.client-card__stats{font-size:11px;color:var(--text-secondary);margin-top:3px;display:flex;align-items:center;gap:4px}.client-card__stats-new{color:var(--success);font-weight:600}.client-card__last-visit{color:var(--muted)}.client-card__dot{color:var(--border)}.client-card__arrow{color:var(--muted);flex-shrink:0}.ui-avatar{border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--primary);color:#fff;font-weight:700}.ui-avatar--md{width:44px;height:44px;font-size:16px}.ui-avatar__img{width:100%;height:100%;object-fit:cover}.ui-avatar__initials{line-height:1}.ui-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:100px;font-size:11px;font-weight:700;white-space:nowrap}.ui-badge--danger{background:var(--danger-light);color:var(--danger)}.clients-view{display:flex;flex-direction:column;min-width:0}.clients-view__fab{position:fixed;right:calc(var(--app-column-inset) + var(--page-padding-x));bottom:calc(var(--bottom-nav-total) + 8px);z-index:10;width:52px;height:52px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #e8654a73;transition:transform .15s}.clients-view__fab:active{transform:scale(.93)}.clients-search{display:flex;align-items:center;gap:10px;margin:var(--space-4) var(--page-padding-x);padding:0 14px;height:44px;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:none}.clients-search__icon{color:var(--muted);flex-shrink:0}.clients-search__input{flex:1;min-width:0;height:100%;border:none;background:transparent;font:inherit;font-size:14px;color:var(--text);outline:none}.clients-search__input::placeholder{color:var(--muted)}.clients-search__input::-webkit-search-cancel-button{display:none}.clients-search__clear{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:var(--surface-2);border-radius:50%;color:var(--muted);flex-shrink:0;padding:0;cursor:pointer}.clients-search__clear:active{opacity:.7}.clients-header-filter{position:relative}.clients-header-filter__dot{position:absolute;top:10px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--primary);pointer-events:none;box-shadow:0 0 0 2px var(--surface)}.clients-filter-sheet{padding:0}.clients-filter-sheet__check{color:var(--primary);flex-shrink:0}.clients-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding-bottom:8px}.nc-form{display:flex;flex-direction:column;gap:16px;padding-bottom:0}.nc-form>.ui-btn:last-child{margin-top:16px}.nc-form__toggle{padding:4px 0}.nc-form__error{margin:0;font-size:14px;color:var(--danger)}.clients-delete-confirm__text{font-size:14px;line-height:1.45;color:var(--text-secondary);margin:0}.clients-delete-confirm__error{font-size:13px;color:var(--danger);margin:0}.clients-view .section--flush>.callout--list{margin-inline:0;width:100%}.client-card-swipe{--list-divider-inset: 66px}.clients-view .client-card-swipe .ui-swipe-row__content{background:var(--bg)}.cp-view{display:flex;flex-direction:column;min-width:0}.cp-contact{display:flex;align-items:flex-start;gap:12px}.cp-contact__info{flex:1;min-width:0}.cp-contact__name{font-size:15px;font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cp-contact__phone{font-size:13px;color:var(--muted);margin-top:3px}.cp-contact__last{font-size:12px;color:var(--text-secondary);margin-top:2px}.cp-contact__actions{display:flex;gap:8px;flex-shrink:0}.cp-action-btn{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:none;text-decoration:none;-webkit-tap-highlight-color:transparent}.cp-action-btn--phone{background:var(--primary-light);color:var(--primary)}.cp-action-btn--wa{background:var(--wa-bg);color:var(--wa-color)}.cp-action-btn--phone:active,.cp-action-btn--wa:active{opacity:.7}.cp-contact__note{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}.cp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 var(--page-padding-x)}.cp-stat{background:var(--surface);border-radius:var(--radius-lg);padding:14px 10px;text-align:center}.cp-stat__val{font-size:20px;font-weight:700;color:var(--text)}.cp-stat__lbl{font-size:11px;color:var(--muted);margin-top:3px}.cp-section-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.cp-view .callout--list .ui-list-item{background:transparent}.cp-view .callout--list .ui-list-item:active{background:#0000000a}.cp-apt__trailing{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.cp-apt__amount{font-size:14px;font-weight:700}.cp-edit-form{display:flex;flex-direction:column;gap:16px;padding-bottom:8px}.cp-edit-form__toggle{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:14px;font-weight:500;color:var(--text-secondary)}.cp-edit-form__error{margin:0;font-size:14px;color:var(--danger)}.cp-delete-confirm{display:flex;flex-direction:column;gap:14px;padding-bottom:8px}.cp-delete-confirm__text{margin:0;font-size:14px;line-height:1.5;color:var(--text-secondary)}.analytics-view{flex:1;display:flex;flex-direction:column}.analytics-toolbar{display:flex;align-items:center;gap:8px;padding:0 var(--page-padding-x);height:44px;background:var(--surface);border-bottom:1px solid var(--border)}.analytics-segment{display:flex;background:var(--surface-2);border-radius:var(--radius-sm);padding:2px;gap:1px;flex-shrink:0}.analytics-segment__btn{height:30px;padding:0 10px;font-size:12px;font-weight:600;color:var(--muted);border-radius:calc(var(--radius-sm) - 1px);transition:all .15s;white-space:nowrap}.analytics-segment__btn--active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}.analytics-nav{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:0}.analytics-nav__arrow{width:28px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--muted);border-radius:var(--radius-sm);flex-shrink:0}.analytics-nav__arrow:active:not(:disabled){background:var(--surface-2)}.analytics-nav__arrow:disabled{color:var(--border)}.analytics-nav__label{font-size:13px;font-weight:600;color:var(--text-secondary);padding:0 2px;height:30px;display:flex;align-items:center;border-radius:var(--radius-sm);white-space:nowrap}.analytics-nav__label--past{color:var(--primary)}.analytics-nav__label--past:active{background:var(--primary-light)}.analytics-period-hint{font-size:12px;color:var(--muted);margin:0 0 8px;padding:0 var(--page-padding-x)}.analytics-empty-inline{padding:16px;margin:0;font-size:13px;color:var(--muted);text-align:center}.analytics-kpi{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;box-sizing:border-box;width:calc(100% - 2 * var(--page-padding-x));margin-inline:var(--page-padding-x)}.analytics-kpi__card{background:var(--surface);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-sm)}.analytics-kpi__card:last-child:nth-child(odd){grid-column:1 / -1}.analytics-kpi__val{font-size:18px;font-weight:700}.analytics-kpi__val--primary{color:var(--primary)}.analytics-kpi__val--danger{color:var(--danger)}.analytics-kpi__lbl{font-size:11px;color:var(--muted);margin-top:2px}.analytics-kpi__card--warn{background:var(--danger-light)}.bar-chart{display:flex;align-items:flex-end;gap:6px;height:100px}.bar-chart__col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;gap:2px;min-width:0}.bar-chart__bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end}.bar-chart__bar{width:100%;background:var(--primary-light);border-radius:4px 4px 0 0;min-height:4px;transition:height .3s ease}.bar-chart__bar--today{background:var(--primary)}.bar-chart__label{font-size:10px;color:var(--muted);font-weight:600}.bar-chart__val{font-size:9px;color:var(--muted)}.analytics-top-row{display:flex;align-items:center;gap:10px;padding:12px var(--page-padding-x);border-bottom:1px solid var(--border)}.analytics-top-row:last-child{border-bottom:none}.analytics-top-row__num{width:20px;height:20px;border-radius:50%;background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.analytics-top-row__info{flex:1;min-width:0}.analytics-top-row__header{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}.analytics-top-row__name{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.analytics-top-row__share{font-size:11px;color:var(--muted);flex-shrink:0}.analytics-top-row__bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.analytics-top-row__fill{height:100%;background:var(--primary);border-radius:2px}.analytics-top-row__right{flex-shrink:0;text-align:right}.analytics-top-row__val{font-size:13px;font-weight:700}.analytics-top-row__sub{font-size:11px;color:var(--muted);margin-top:2px}.analytics-debt-row{display:flex;align-items:center;gap:10px;padding:12px var(--page-padding-x);border-bottom:1px solid var(--border)}.analytics-debt-row:last-child{border-bottom:none}.analytics-debt-row__info{flex:1;min-width:0}.analytics-debt-row__name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-debt-row__phone{font-size:12px;color:var(--muted);margin-top:2px}.analytics-debt-row__amount{font-size:14px;font-weight:700;color:var(--danger);flex-shrink:0}.analytics-debt-row__actions{display:flex;gap:6px;flex-shrink:0}.analytics-debt-btn{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;text-decoration:none;border:none;flex-shrink:0;-webkit-tap-highlight-color:transparent}.analytics-debt-btn--phone{background:var(--primary-light);color:var(--primary)}.analytics-debt-btn--wa{background:var(--wa-bg);color:var(--wa-color)}.analytics-debt-btn:active{opacity:.7}.analytics-donut{display:flex;align-items:center;gap:20px}.analytics-donut__legend{display:flex;flex-direction:column;gap:10px;flex:1;font-size:13px}.analytics-donut__item{display:flex;align-items:center;gap:8px}.analytics-donut__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.analytics-donut__dot--primary{background:var(--primary)}.analytics-donut__dot--success{background:var(--success)}.analytics-donut__visual{position:relative;width:100px;flex-shrink:0}.analytics-donut__svg{width:100%;height:100%}.analytics-donut__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.analytics-donut__total{font-size:20px;font-weight:700}.analytics-donut__lbl{font-size:10px;color:var(--muted)}:root{--primary: #E8654A;--primary-dark: #C94F35;--primary-light: #FDEAE5;--bg: #f8f8f8;--surface: #FFFFFF;--surface-2: #ececec;--success: #29a37a;--success-light: #E8F7F1;--danger: #E53935;--danger-light: #FFEBEE;--warning: #F59E0B;--warning-light: #FEF3C7;--warning-dark: #92400E;--wa-bg: #E8F5E9;--wa-color: #25D366;--text: #1A1A1A;--text-secondary: #555555;--muted: #767676;--border: #E8E8E8;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.14);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--font: "Montserrat", system-ui, sans-serif;--bottom-nav-height: 56px;--bottom-nav-total: calc(var(--bottom-nav-height) + var(--safe-bottom));--header-height: 52px;--header-total: calc(var(--header-height) + var(--safe-top));--app-max-width: 480px;--app-column-inset: max(0px, calc((100vw - var(--app-max-width)) / 2));--safe-top: env(safe-area-inset-top, 0px);--text-xs: .6875rem;--text-sm: .8125rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--leading-tight: 1.25;--leading-normal: 1.5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--page-padding-x: 15px;--overlay-scrim: rgba(0, 0, 0, .45);--touch-min: 44px;--safe-bottom: env(safe-area-inset-bottom, 0px);--splash-top: #E8654A;--splash-bottom: #C94F35;--splash-gradient: linear-gradient(180deg, var(--splash-top) 0%, var(--splash-bottom) 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;overflow-x:hidden;touch-action:manipulation;overscroll-behavior-y:none;background:var(--bg);min-height:100dvh;min-height:100lvh}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100dvh;min-height:100lvh;display:block;overflow-x:hidden;overflow-y:auto;touch-action:manipulation;overscroll-behavior-y:none}html.fonts-ready body,html.fonts-ready .app-layout{font-family:var(--font)}#app{width:100%;min-height:100dvh;min-height:100lvh;display:block;overflow-x:hidden;touch-action:manipulation}html.pwa-standalone,html.pwa-standalone body{background:var(--bg)}html.chrome-primary:not(.pwa-standalone),html.chrome-primary:not(.pwa-standalone) body{background-color:var(--splash-top);background-image:none}html.chrome-primary:not(.pwa-standalone) #app{background:transparent}html.pwa-standalone.chrome-primary,html.pwa-standalone.chrome-primary body,html.pwa-standalone.chrome-primary #app{background-color:var(--splash-top);background-image:var(--splash-gradient)}html.env-prod body{background:var(--bg)}html.env-prod.chrome-primary:not(.pwa-standalone),html.env-prod.chrome-primary:not(.pwa-standalone) body{background-color:var(--splash-top);background-image:none}html.env-prod.pwa-standalone.chrome-primary,html.env-prod.pwa-standalone.chrome-primary body{background-color:var(--splash-top);background-image:var(--splash-gradient)}html.sheet-open,html.sheet-open body,html.sheet-open .app-layout{background:#fff}html.sheet-open body{overflow:hidden;overscroll-behavior:none}html.env-prod.pwa-standalone,html.env-prod.pwa-standalone body{background:var(--bg)}html.chrome-primary:not(.pwa-standalone),html.chrome-primary:not(.pwa-standalone) body{min-height:100vh;min-height:100lvh}html.chrome-primary:not(.pwa-standalone) #app{background:transparent;min-height:100vh;min-height:100lvh}@media(max-width:480px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.ui-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:ui-spin .7s linear infinite;flex-shrink:0}.ui-spinner--inverse{border-color:#fff6;border-top-color:#fff}.ui-spinner--ptr{width:22px;height:22px}@keyframes ui-spin{to{transform:rotate(360deg)}}.screen-scroll{background:var(--bg)}.app-form-page{width:100%;max-width:100%;position:relative;box-sizing:border-box}.app-form-page>.screen-scroll{padding-bottom:8px}.app-screen{width:100%;max-width:100%;display:flex;flex-direction:column;position:relative;box-sizing:border-box;min-height:100dvh;min-height:100lvh;background:var(--bg);padding-bottom:var(--bottom-nav-total)}.app-screen>.screen-scroll{flex:1 1 auto;min-width:0}.app-screen>.ui-ptr:not(.ui-ptr--window){flex:1 1 auto;min-height:0;min-width:0}.app-screen>.ui-ptr.ui-ptr--window{flex:1 1 auto;min-height:0;min-width:0}.app-screen>.ui-ptr.ui-ptr--window .ui-ptr__scroll{flex:1 1 auto;min-height:100%}.cal-view.app-screen{padding-bottom:var(--bottom-nav-total)}.app-screen>.screen-scroll,.app-screen>.ui-ptr .ui-ptr__scroll.screen-scroll{padding-bottom:8px}:where(.app-screen,[class$=-view],[class$=-screen]):has(>.app-header):not(:has(>.app-top-chrome)){padding-top:var(--header-total)}html.pwa-standalone .ob-screen{padding-top:var(--safe-top)}.view-period-tabs{display:flex;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.period-btn{flex:1;height:44px;font-size:13px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.period-btn--active{color:var(--primary);border-bottom-color:var(--primary)}.app-container>*{width:100%}.section{padding:var(--space-4) var(--page-padding-x)}.section+.section{padding-top:0}.section--flush{padding-inline:0;padding-bottom:16px}.section--flush>.callout,.section--flush>.cal-grid,.section--flush>.week-strip,.section--flush .callout--list{box-sizing:border-box;margin-inline:var(--page-padding-x);width:calc(100% - 2 * var(--page-padding-x))}.callout{width:100%;box-sizing:border-box;background:var(--surface);padding:14px var(--page-padding-x);border-radius:var(--radius-lg)}.callout--interactive{cursor:pointer;transition:background .15s}.callout--interactive:active{background:var(--bg)}.callout--list{--list-divider-inset: 62px;padding:0;overflow:hidden}.callout--list .ui-list-item,.callout--list .client-card{background:transparent}.callout--list .ui-list-item:active,.callout--list .client-card:active{background:#0000000a}.callout--list>*:not(:last-child):not(.ui-swipe-row):not(.svc-cat__sortable):after,.callout--list>.ui-swipe-row:not(:last-child) .ui-swipe-row__content:after,.callout--list .svc-cat__items-inner>.bc-svc-select:not(:last-child):after{content:"";position:absolute;bottom:0;left:var(--list-divider-inset);right:0;height:1px;background:var(--border);pointer-events:none;z-index:2}.callout--list>.ui-list-item:not(:has(.ui-list-item__icon)):not(:last-child):after{left:var(--page-padding-x)}.callout--list>*:has(+.section-group__add):after,.callout--list>*:has(+.svc-cat__add):after{content:none}.section--flush>.ui-section-title,.section--flush>.notif-section-title,.section--flush>.cv-section-title,.section--flush>.cp-section-title,.section--flush>.new-apt__label,.section--flush>.list-group__date{padding-inline:var(--page-padding-x)}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.divider{height:1px;background:var(--border);margin:0 0 0 var(--list-divider-inset, 62px)}.row-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:14px var(--page-padding-x);background:var(--surface);cursor:pointer;transition:background .15s;text-align:left}.row-item:active{background:var(--bg)}.row-item__icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.row-item__icon--green{background:var(--success-light);color:var(--success)}.row-item__icon--gray{background:var(--surface-2);color:var(--muted)}.row-item__icon--danger{background:var(--danger-light);color:var(--danger)}.row-item--danger .row-item__label{color:var(--danger)}.row-item__label{flex:1;font-size:14px;font-weight:500}.row-item__value{font-size:13px;color:var(--muted)}.row-item__chevron{color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:600}.badge--primary{background:var(--primary-light);color:var(--primary)}.badge--success{background:var(--success-light);color:var(--success)}.badge--danger{background:var(--danger-light);color:var(--danger)}.badge--gray{background:var(--surface-2);color:var(--muted)}.text-xs{font-size:11px}.text-sm{font-size:13px}.text-md{font-size:15px}.text-lg{font-size:18px}.text-xl{font-size:22px}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.text-muted{color:var(--muted)}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.p-16{padding:16px}.pt-8{padding-top:8px}.pb-8{padding-bottom:8px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.ui-date-input{width:100%;height:40px;box-sizing:border-box;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;font-size:16px;font-family:var(--font);font-weight:600;color:var(--text);background:var(--surface);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color .15s}.ui-date-input:focus{outline:none;border-color:var(--primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;color:var(--muted);text-align:center}.empty-state svg{opacity:.4}.empty-state p{font-size:14px}.icon-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);flex-shrink:0}.icon-btn:active{background:var(--bg)}.header-text-btn{height:44px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--primary);font-size:14px;font-weight:700;flex-shrink:0;white-space:nowrap}.header-text-btn:active:not(:disabled){background:var(--bg)}.header-text-btn--save{position:relative}.header-text-btn--save:disabled{opacity:1;cursor:default}.header-text-btn__label--hidden{visibility:hidden}.header-text-btn__spinner-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.header-text-btn__spinner{width:20px;height:20px}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:transform .25s ease,opacity .25s}.slide-up-enter-from,.slide-up-leave-to{transform:translateY(20px);opacity:0}.auth-loading{display:flex;align-items:center;justify-content:center;flex:1 1 0;min-height:0;padding:24px;overflow:visible}.app-container>.auth-loading{min-height:60dvh;overflow:visible}.login-form__error{color:var(--danger);font-size:14px;margin:0 0 12px}
