:root{--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: Georgia, "Times New Roman", serif;--tap: 48px;color-scheme:dark}.theme-dark{--bg: #0b0b0d;--surface: #141417;--surface-2: #1c1c21;--text: #f4f4f6;--muted: #9a9aa4;--border: rgba(255, 255, 255, .09);--shadow: 0 18px 48px rgba(0, 0, 0, .55);color-scheme:dark}.theme-light{--bg: #f5f6fa;--surface: #ffffff;--surface-2: #eef1f9;--text: #14161c;--muted: #5f6572;--border: rgba(16, 20, 32, .1);--shadow: 0 16px 40px rgba(20, 26, 48, .12);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app{max-width:720px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + var(--space-4)) var(--space-4) calc(env(safe-area-inset-bottom,0px) + 96px);display:flex;flex-direction:column;gap:var(--space-5)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.brand__logo{width:46px;height:46px;border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--border);background:var(--surface)}.brand__name{font-family:var(--font-display);font-size:20px;letter-spacing:.01em;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand__meta{font-size:12px;color:var(--muted);margin:2px 0 0}.hero{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);aspect-ratio:16 / 10}.hero img{width:100%;height:100%;object-fit:cover;display:block}.hero__overlay{position:absolute;inset:auto 0 0;padding:var(--space-4);background:linear-gradient(180deg,transparent,rgba(0,0,0,.72));color:#fff}.hero__title{font-family:var(--font-display);font-size:22px;margin:0 0 4px}.hero__text{margin:0;font-size:13px;opacity:.86}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.section-title h2{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-weight:600}.section-title span{font-size:12px;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-5);border-radius:999px;border:1px solid transparent;font-weight:600;font-size:15px;cursor:pointer;transition:transform .15s ease,background .15s ease,opacity .15s ease}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-contrast)}.btn--secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn--ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn--full{width:100%}.services{display:grid;gap:var(--space-3)}.service{display:grid;grid-template-columns:76px 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .15s ease,background .15s ease}.service:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.service--selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.service__image{width:76px;height:76px;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-2)}.service__name{margin:0 0 4px;font-size:15px;font-weight:600}.service__desc{margin:0;font-size:12px;color:var(--muted);line-height:1.4}.service__price{text-align:right;font-weight:600;white-space:nowrap}.service__duration{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:2px}.dates{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2);scrollbar-width:thin}.date-chip{flex:0 0 auto;min-width:64px;min-height:68px;padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:border-color .15s ease}.date-chip__dow{font-size:11px;color:var(--muted);text-transform:lowercase}.date-chip__day{font-size:17px;font-weight:600}.date-chip__count{font-size:10px;color:var(--muted)}.date-chip--active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.date-chip:disabled{opacity:.4;cursor:not-allowed}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:var(--space-2)}.slot{min-height:44px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);font-weight:600;font-size:14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.slot--active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.field{display:grid;gap:var(--space-2)}.field label{font-size:13px;color:var(--muted)}.input{min-height:var(--tap);padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:16px;width:100%}.input--invalid{border-color:#e5484d}.field__error{margin:0;font-size:12px;color:#ff7b7f}.field__hint{margin:0;font-size:12px;color:var(--muted)}.sticky-cta{position:fixed;inset:auto 0 0;padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-3));background:linear-gradient(180deg,transparent,var(--bg) 40%);display:flex;justify-content:center;pointer-events:none}.sticky-cta>*{pointer-events:auto;width:100%;max-width:688px}.sheet-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:40;animation:fade .18s ease}.sheet{width:100%;max-width:560px;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--border);padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-5));display:grid;gap:var(--space-4);max-height:88vh;overflow-y:auto;animation:slide .22s ease}.sheet__handle{width:44px;height:4px;border-radius:999px;background:var(--border);justify-self:center}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.sheet__head h3{margin:0;font-size:17px}.sheet__close{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;padding:var(--space-1)}.sheet__body{display:grid;gap:var(--space-4)}.summary{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);font-size:14px}.summary__row{display:flex;justify-content:space-between;gap:var(--space-3)}.summary__row span:first-child{color:var(--muted)}.pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border);white-space:nowrap}.pill--new{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.pill--confirmed{background:#40a0ff29;color:#6bb6ff}.pill--in_progress{background:#ffbe3c29;color:#ffc85c}.pill--done{background:#3cc88229;color:#4fd18b}.pill--cancelled{background:#ffffff0f;color:var(--muted)}.booking-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.booking-row__time{font-weight:600;font-size:15px}.booking-row__service{font-size:13px;color:var(--muted)}.booking-row__customer{font-size:13px}.booking-row__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;grid-column:1 / -1}.booking-row__actions .btn{min-height:36px;padding:0 var(--space-3);font-size:13px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.stat{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);display:grid;gap:2px}.stat__value{font-size:20px;font-weight:700}.stat__label{font-size:11px;color:var(--muted);line-height:1.3}.filters{display:flex;gap:var(--space-2);overflow-x:auto}.chip{flex:0 0 auto;min-height:36px;padding:0 var(--space-3);border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:13px;cursor:pointer}.chip--active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.empty{padding:var(--space-6) var(--space-4);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-md)}.empty__title{margin:0 0 var(--space-2);font-weight:600}.empty__text{margin:0;color:var(--muted);font-size:13px}.spinner{display:inline-flex;gap:6px;align-items:center;justify-content:center;padding:var(--space-5)}.spinner__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1s infinite ease-in-out}.spinner__dot:nth-child(2){animation-delay:.15s}.spinner__dot:nth-child(3){animation-delay:.3s}.toast{padding:var(--space-3);border-radius:var(--radius-sm);font-size:13px;border:1px solid var(--border);background:var(--surface-2)}.toast--error{border-color:#e5484d80;color:#ff8c8f}.success{display:grid;gap:var(--space-4);text-align:center;padding:var(--space-6) var(--space-4)}.success__icon{width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);display:grid;place-items:center;font-size:30px;margin:0 auto}.link-list{display:grid;gap:var(--space-2)}.link-list a{color:var(--accent);font-weight:600}.tenants{display:grid;gap:var(--space-3)}.tenant-card{display:grid;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.tenant-card__name{font-family:var(--font-display);font-size:18px;margin:0}.tenant-card__meta{font-size:12px;color:var(--muted);margin:0}.tenant-card__links{display:flex;gap:var(--space-3);font-size:13px}.muted{color:var(--muted)}@keyframes pulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{transform:translateY(16px);opacity:0}}
