.ts-spinner{position:relative;width:65px;height:65px;display:block;margin:0 auto}.ts-circle{position:absolute;width:30px;height:30px;border-radius:50%;transform-origin:center center}.ts-circle.orange{background-color:var(--color-discount-yellow);animation:ts-animate-orange 3s ease-in-out infinite;animation-direction:reverse}.ts-circle.blue{background-color:var(--color-discount-blue);animation:ts-animate-blue 3s ease-in-out infinite;animation-direction:reverse}.ts-circle.green{background-color:var(--color-discount-green);animation:ts-animate-green 3s ease-in-out infinite;animation-direction:reverse}@keyframes ts-animate-orange{0%{transform:translate(17.5px) scale(1)}16.66%{transform:translate(17.5px) scale(.5)}33.33%{transform:translateY(30px) scale(1)}50%{transform:translateY(30px) scale(.5)}66.66%{transform:translate(35px,30px) scale(1)}83.33%{transform:translate(35px,30px) scale(.5)}to{transform:translate(17.5px) scale(1)}}@keyframes ts-animate-blue{0%{transform:translateY(30px) scale(1)}16.66%{transform:translateY(30px) scale(.5)}33.33%{transform:translate(35px,30px) scale(1)}50%{transform:translate(35px,30px) scale(.5)}66.66%{transform:translate(17.5px) scale(1)}83.33%{transform:translate(17.5px) scale(.5)}to{transform:translateY(30px) scale(1)}}@keyframes ts-animate-green{0%{transform:translate(35px,30px) scale(1)}16.66%{transform:translate(35px,30px) scale(.5)}33.33%{transform:translate(17.5px) scale(1)}50%{transform:translate(17.5px) scale(.5)}66.66%{transform:translateY(30px) scale(1)}83.33%{transform:translateY(30px) scale(.5)}to{transform:translate(35px,30px) scale(1)}}.ts-size-xs{transform:scale(.5);transform-origin:center}.ts-size-sm{transform:scale(.75);transform-origin:center}.ts-size-md{transform:scale(1);transform-origin:center}.ts-size-lg{transform:scale(1.25);transform-origin:center}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.shake{animation:shake .4s ease-in-out}.input-error{border-color:#ef4444!important;box-shadow:0 0 0 2px #ef444433}.hint-error{color:#b91c1c}.slot-counter-wrapper{display:flex;align-items:center;justify-content:center;min-height:25px}.slot-counter{width:24px;height:24px;border-radius:9999px;background:#fff;border:1px solid #E5E7EB;display:flex;align-items:center;justify-content:center;color:#1f2937;font-size:15px;font-weight:600;line-height:1;box-shadow:0 1px 2px #0000000a;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.slot-counter:hover{box-shadow:0 2px 4px #0000001a}.planning-cell:hover{filter:brightness(.98)}.slot-counter--active{color:#fff;border-width:2px;background-color:#3b82f6}@media (max-width: 768px){.slot-counter{width:22px;height:22px;font-size:14px}}.slot-popup{background:#fff;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 10px 25px #0000001a;padding:16px}.slot-popup__item{border:1px solid #E5E7EB;border-radius:8px;padding:12px;background:#fff}.slot-popup__line1{font-weight:600;font-size:14px;color:#111827}.slot-popup__line2,.slot-popup__line3,.slot-popup__line4{font-weight:400;font-size:13px;color:#374151}.slot-popup__line4{color:#6b7280}.slot-popup__line5{font-size:14px}.planning-row{content-visibility:auto;contain-intrinsic-size:40px}@keyframes radial-fill{0%{clip-path:circle(0% at center)}to{clip-path:circle(100% at center)}}@keyframes radial-unfill{0%{clip-path:circle(100% at center)}to{clip-path:circle(0% at center)}}.radio-fill-animation{animation:radial-fill .3s ease-out forwards}.radio-unfill-animation{animation:radial-unfill .3s ease-out forwards}.radio-button-wrapper{transition:transform .15s ease-out}.radio-button-wrapper:active{transform:scale(.95)}.planning-grid{border-collapse:collapse;width:100%;min-width:900px;table-layout:fixed}.planning-header-day{text-align:center;padding:16px 8px;font-weight:500;border-bottom:2px solid var(--color-border-default);background:#fff;position:sticky;top:0;z-index:10}.planning-header-day.is-today{background-color:var(--color-background)}.planning-header-day.is-today .day-name{color:var(--color-primary);font-weight:600}.planning-column{position:relative;min-width:150px;border-right:4px solid var(--color-border-default)}.planning-column.is-today{background-color:var(--color-background)}.planning-row{position:relative;height:25px}.planning-row.first-slot{border-top:none}.planning-row.hour-transition{border-top:4px solid #E5E7EB}.planning-row.half-hour-transition{border-top:2px solid #E5E7EB}.planning-row.quarter-transition{border-top:1px solid #F3F4F6}.planning-time-label{position:sticky;left:0;background:#fff;padding:4px 8px;font-size:11px;font-weight:400;color:var(--color-text-secondary);width:60px;text-align:right;border-right:1px solid var(--color-border-default);z-index:5;vertical-align:middle;line-height:1;height:25px}.planning-cell{position:relative;padding:2px;min-height:25px;transition:background-color .2s ease}.planning-cell:hover{background-color:#00000005}.booking-block{position:absolute;left:4px;right:4px;border-radius:6px;padding:4px 8px;border-left:3px solid;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;overflow:hidden;box-shadow:0 1px 3px #0000001a;z-index:2}.booking-block:hover{transform:scale(1.02);box-shadow:0 4px 12px #0000001a;z-index:3}.booking-block.status-confirmed{background-color:#dcfce7;border-left-color:#16a34a;color:#15803d}.booking-block.status-pending{background-color:#fef3c7;border-left-color:#f59e0b;color:#92400e}.booking-block.status-completed{background-color:#f3f4f6;border-left-color:#6b7280;color:#374151}.current-time-indicator{position:absolute;left:60px;right:0;height:2px;background-color:var(--color-danger);z-index:20;pointer-events:none;transition:top .2s ease}.current-time-indicator:before{content:"";position:absolute;left:-6px;top:-4px;width:10px;height:10px;border-radius:50%;background-color:var(--color-danger)}.current-time-indicator-limited{position:absolute;height:2px;background-color:var(--color-danger);z-index:20;pointer-events:none;transition:top .2s ease,left .2s ease}.current-time-indicator-limited:before{content:"";position:absolute;left:-6px;top:-4px;width:10px;height:10px;border-radius:50%;background-color:var(--color-danger)}.planning-cell.non-bookable{background-color:#5757571a}.planning-cell.discount-low{background-color:#ff74401a}.planning-cell.discount-medium{background-color:#4a8aff1a}.planning-cell.discount-high{background-color:#0acf701a}@keyframes pulse-planning{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.planning-loading{animation:pulse-planning 1.5s ease-in-out infinite}@media (max-width: 768px){.planning-column{min-width:100px}.booking-block{font-size:11px;padding:2px 6px}}.merchant-dashboard-section{margin-bottom:var(--spacing-lg)}.merchant-card{padding:var(--spacing-md)}.merchant-kpi-card{padding:var(--spacing-sm)}.merchant-card-hover{transition:all .3s ease}.merchant-card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}@keyframes value-update{0%{transform:scale(1)}50%{transform:scale(1.05);color:var(--color-primary)}to{transform:scale(1)}}.value-updating{animation:value-update .6s ease-in-out}.discount-tag{display:inline-block;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;transition:all .2s ease}.discount-tag.low{background-color:var(--color-discount-yellow);color:var(--color-text-primary)}.discount-tag.medium{background-color:var(--color-discount-blue);color:var(--color-text-primary)}.discount-tag.high{background-color:var(--color-discount-green);color:#fff}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%;transform:translate(30px,-30px)}.form-section{margin-bottom:var(--spacing-lg)}.form-section:last-child{margin-bottom:0}.input-success{border-color:var(--color-success)!important;background-color:#10b9810d}.input-error{border-color:var(--color-danger)!important;background-color:#ef44440d}.merchant-breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.merchant-breadcrumb-separator{color:var(--color-text-tertiary)}.skeleton-pulse{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 768px){.merchant-dashboard-section{margin-bottom:var(--spacing-md)}.merchant-kpi-card .p-4{padding:.8rem!important}.merchant-kpi-card .pt-2{padding-top:.4rem!important}.merchant-kpi-card .pb-2{padding-bottom:.4rem!important}.merchant-card{padding:var(--spacing-sm)}.kpi-grid{grid-template-columns:1fr!important}}.merchant-dashboard-section *:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.high-contrast-text{color:var(--color-text-primary);font-weight:500}.pie-no-outline *:focus,.pie-no-outline *:focus-visible,.pie-no-outline .recharts-sector:focus,.pie-no-outline .recharts-sector:focus-visible,.pie-no-outline .recharts-pie-sector:focus,.pie-no-outline .recharts-pie-sector:focus-visible{outline:none!important}.merchant-dashboard-section .recharts-wrapper *:focus,.merchant-dashboard-section .recharts-wrapper *:focus-visible,.merchant-dashboard-section .recharts-surface:focus,.merchant-dashboard-section .recharts-surface:focus-visible{outline:none!important}
