:root{--ink: #152033;--muted: #5c6b7a;--brand: #1a7aad;--brand-deep: #0f4f6e;--brand-soft: #e6f3f9;--accent: #128f7e;--surface: #f4f7fa;--line: #d7e2ea;--sidebar-from: #0f4f6e;--sidebar-to: #123a52;--danger: #c0352b;--shadow: 0 10px 28px rgba(15, 79, 110, .1);font-family:Outfit,sans-serif;line-height:1.5;color:var(--ink);background:var(--surface)}*{box-sizing:border-box}body{margin:0;background:var(--surface)}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-deep)}.layout{display:grid;grid-template-columns:248px 1fr;min-height:100vh;--muted: color-mix(in srgb, var(--ink) 68%, transparent);--shadow: 0 10px 28px color-mix(in srgb, var(--brand) 10%, transparent);color:var(--ink)}.sidebar{background:linear-gradient(180deg,var(--sidebar-from) 0%,var(--sidebar-to) 100%);color:#fff;padding:1.35rem 1rem;display:flex;flex-direction:column;gap:1.1rem}.sidebar a{color:#ecf6fce0;display:block;padding:.55rem .75rem;border-radius:8px;font-weight:500;transition:background .15s ease,color .15s ease}.sidebar a:hover{background:#ffffff14;color:#fff}.sidebar a.active{background:#ffffff29;color:#fff;font-weight:650}.brand{font-family:Fraunces,serif;font-size:1.2rem;font-weight:700;padding:0 .35rem;letter-spacing:-.01em}.sidebar-foot{margin-top:auto;padding:.35rem}.content{padding:1.6rem clamp(1.2rem,3vw,2.2rem);background:radial-gradient(900px 320px at 100% -10%,color-mix(in srgb,var(--brand) 8%,transparent),transparent 60%),var(--surface)}:is(.layout,.public-booking)[data-theme=ocean]{--surface: #eaf4f8;--brand: #1a7aad;--brand-deep: #0f4f6e;--brand-soft: #dceef6;--accent: #128f7e;--line: #c8dce7;--sidebar-from: #0f4f6e;--sidebar-to: #123a52}:is(.layout,.public-booking)[data-theme=mint]{--surface: #eaf7f1;--brand: #24866f;--brand-deep: #155545;--brand-soft: #d8f0e6;--accent: #3c927c;--line: #c9e1d8;--sidebar-from: #155545;--sidebar-to: #173f37}:is(.layout,.public-booking)[data-theme=lavender]{--surface: #f1eef9;--brand: #7659a8;--brand-deep: #4f3978;--brand-soft: #e6def4;--accent: #9276bf;--line: #d9d0ea;--sidebar-from: #4f3978;--sidebar-to: #382b55}:is(.layout,.public-booking)[data-theme=sand]{--surface: #f7f2e8;--brand: #9a7139;--brand-deep: #65491f;--brand-soft: #efe3ce;--accent: #ae8247;--line: #e2d4bd;--sidebar-from: #65491f;--sidebar-to: #49371e}:is(.layout,.public-booking)[data-theme=rose]{--surface: #faeef1;--brand: #b84e70;--brand-deep: #7f2f4b;--brand-soft: #f5dce4;--accent: #c76382;--line: #e8cad4;--sidebar-from: #7f2f4b;--sidebar-to: #572337}:is(.layout,.public-booking)[data-theme=slate]{--surface: #eef2f5;--brand: #586b7a;--brand-deep: #354653;--brand-soft: #dfe7ec;--accent: #708492;--line: #ced9e0;--sidebar-from: #354653;--sidebar-to: #283640}:is(.layout,.public-booking)[data-theme=sky]{--surface: #eaf3fc;--brand: #397fc0;--brand-deep: #245680;--brand-soft: #d9eafa;--accent: #4d91ce;--line: #c9ddef;--sidebar-from: #245680;--sidebar-to: #1d405e}:is(.layout,.public-booking)[data-theme=peach]{--surface: #fff0e8;--brand: #c46b42;--brand-deep: #88452a;--brand-soft: #f9dfd2;--accent: #d07d55;--line: #eccfc0;--sidebar-from: #88452a;--sidebar-to: #61321f}:is(.layout,.public-booking)[data-theme=forest]{--surface: #e8f1e9;--brand: #477b4d;--brand-deep: #2e5433;--brand-soft: #d5e7d7;--accent: #5d9163;--line: #c6d9c8;--sidebar-from: #2e5433;--sidebar-to: #233f27}:is(.layout,.public-booking)[data-theme=graphite]{--surface: #e9ebee;--brand: #4f5966;--brand-deep: #303943;--brand-soft: #dce0e5;--accent: #687380;--line: #cbd1d8;--sidebar-from: #303943;--sidebar-to: #222931}:is(.layout,.public-booking)[data-theme=system]{--surface: #f4f7fa;--brand: #1a7aad;--brand-deep: #0f4f6e;--brand-soft: #e6f3f9;--accent: #128f7e;--line: #d7e2ea;--sidebar-from: #0f4f6e;--sidebar-to: #123a52}.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(700px 280px at 10% 0%,rgba(26,122,173,.18),transparent 55%),linear-gradient(160deg,#e8f2f8,#f4f7fa 45%,#eef6f4)}.auth-card{width:min(420px,92vw);background:#fff;border-radius:14px;padding:1.6rem;display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--line);box-shadow:var(--shadow)}.auth-card h1{margin:0;font-family:Fraunces,serif;color:var(--brand-deep)}label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--ink)}input,select,button,textarea{font:inherit;padding:.6rem .75rem;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}button{background:var(--brand);color:#fff;border:none;cursor:pointer;font-weight:600}button:hover:not(:disabled){background:var(--brand-deep)}button:disabled{opacity:.6;cursor:not-allowed}.linkish{background:transparent;border:none;color:#d2e8f4e6;padding:0;text-align:left;cursor:pointer;font-weight:500}.linkish:hover{color:#fff;background:transparent}.stack{display:flex;flex-direction:column;gap:.75rem;max-width:480px}.row{display:flex;align-items:center}.gap{gap:.75rem}.list{list-style:none;padding:0;margin:0}.list li{padding:.7rem 0;border-bottom:1px solid var(--line)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.ok{color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{background:var(--brand-soft);color:var(--brand-deep);border:1px solid transparent}.chip.active{background:var(--brand);color:#fff}.appbar,.tabbar,.sheet-root{display:none}.landing{min-height:100vh;background:#eef4f8}.landing-top{position:absolute;z-index:3;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.25rem clamp(1.25rem,4vw,3rem);color:#f4f9fc}.landing-top-brand{font-family:Fraunces,serif;font-weight:700;font-size:1.05rem}.landing-top-nav{display:flex;align-items:center;gap:1.15rem}.landing-top-link{color:#f4f9fc;font-weight:500;border-bottom:1px solid transparent;transition:border-color .25s ease}.landing-top-link:hover{border-bottom-color:#f4f9fcb3}.landing-hero{position:relative;min-height:100vh;display:grid;align-items:end;overflow:hidden}.landing-hero-media{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f4f6e47,#0f3a52c7),url(https://images.unsplash.com/photo-1560066984-138dadb4c035?auto=format&fit=crop&w=1920&q=80) center / cover no-repeat;transform:scale(1.04);animation:landing-media 18s ease-in-out infinite alternate}.landing-hero-copy{position:relative;z-index:2;width:min(640px,92vw);padding:clamp(5rem,12vh,7rem) clamp(1.25rem,4vw,3rem) clamp(3rem,8vh,5rem);color:#f4f9fc;animation:landing-rise .9s ease-out both}.landing-brand{margin:0 0 .85rem;font-family:Fraunces,serif;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700;line-height:1.05;letter-spacing:-.02em}.landing-title{margin:0 0 .9rem;font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:500;line-height:1.35;max-width:28ch}.landing-lead{margin:0 0 1.75rem;max-width:38ch;font-size:1.02rem;line-height:1.55;color:#f4f9fcd6}.landing-cta{display:flex;flex-wrap:wrap;gap:.75rem 1rem;animation:landing-rise 1.05s ease-out .12s both}.landing-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem 1.25rem;border-radius:8px;font-weight:600;transition:transform .2s ease,background .2s ease}.landing-btn:hover{transform:translateY(-1px)}.landing-booking-btn{gap:.5rem}.landing-booking-btn svg{width:19px;height:19px}.landing-btn-primary{background:#f4f9fc;color:var(--brand-deep)}.landing-btn-primary:hover{background:#fff}.landing-btn-ghost{background:transparent;color:#f4f9fc;border:1px solid rgba(244,249,252,.55)}.landing-btn-ghost:hover{border-color:#f4f9fc}.landing-customer-note{margin:1rem 0 0;color:#f4f9fcbf;font-size:.86rem}.landing-section{padding:clamp(3rem,8vh,5rem) clamp(1.25rem,4vw,3rem);max-width:640px}.landing-section h2{margin:0 0 .75rem;font-family:Fraunces,serif;font-size:1.75rem;color:var(--brand-deep)}.landing-section p{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.65}@keyframes landing-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-media{0%{transform:scale(1.04)}to{transform:scale(1.1)}}@media (max-width: 640px){.landing-top-nav{gap:.75rem}.landing-cta{flex-direction:column;align-items:stretch}.landing-btn{width:100%}}.page{max-width:1120px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-head h1{margin:0 0 .25rem;font-size:1.7rem;letter-spacing:-.02em}.page-head p{margin:0}.page-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:1.25rem;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.25rem;box-shadow:0 1px color-mix(in srgb,var(--brand) 3%,transparent)}.panel h2{margin:0 0 .85rem;font-size:1.05rem}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.panel-toolbar h2{margin:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field-label{font-size:.9rem;margin-bottom:.45rem;color:var(--ink)}.search-input{min-width:min(280px,100%)}.chip-picker,.tag-row{display:flex;flex-wrap:wrap;gap:.45rem}.pick-chip{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.45rem .75rem;font-weight:500}.pick-chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.class-picker{display:grid;gap:.5rem}.class-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;background:#f8fbfd;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.65rem .8rem}.class-tile.on{background:var(--brand-soft);border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.class-tile-name{font-weight:600}.class-tile-meta{font-size:.8rem;color:var(--muted)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table th,.data-table td{text-align:left;padding:.75rem .55rem;border-bottom:1px solid #e8eef3;vertical-align:top}.data-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.data-table tbody tr:hover{background:#f8fbfd}.data-table tr.is-editing{background:var(--brand-soft)}.tag{display:inline-block;background:var(--brand-soft);color:var(--brand-deep);border-radius:6px;padding:.15rem .45rem;font-size:.8rem}.tag-soft{background:#eef2f5;color:#445363}.actions{white-space:nowrap;text-align:right!important}.cell-stack{display:flex;flex-direction:column;gap:.1rem;min-width:0;overflow-wrap:anywhere;word-break:break-word}.cell-stack strong{font-weight:650}.working-hours-fieldset{margin:0;padding:.9rem;border:1px solid var(--line);border-radius:14px}.working-hours-fieldset legend{padding:0 .35rem;font-weight:650}.working-hours-fieldset>p{margin:0 0 .7rem}.working-hours-list{display:grid;gap:.45rem}.working-hours-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(220px,auto);align-items:center;gap:.75rem;padding:.45rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.working-hours-row:last-child{border-bottom:0}.working-day-toggle{display:flex;align-items:center;gap:.5rem}.working-day-toggle input{width:18px;height:18px}.working-time-range{display:flex;align-items:center;justify-content:flex-end;gap:.4rem}.working-time-range input{width:108px;min-width:0}.working-closed{justify-self:end;color:var(--muted);font-size:.88rem}.btn-text{background:transparent;color:var(--brand);border:none;padding:.25rem .4rem;font-weight:600}.btn-text:hover{background:transparent;color:var(--brand-deep)}.btn-text.danger{color:var(--danger)}.btn-secondary{background:#e8eef3;color:var(--ink)}.btn-secondary:hover{background:#dde6ed}.badge-muted{color:var(--muted);font-size:.8rem;font-weight:500}textarea{resize:vertical;min-height:72px}@media (max-width: 900px){.page-grid{grid-template-columns:1fr}}@media (max-width: 480px){.field-grid{grid-template-columns:1fr}}.head-tools{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.head-tools>select{height:44px}.search-field{position:relative;display:flex;align-items:center;flex:1 1 260px}.search-field-icon{position:absolute;left:.7rem;width:18px;height:18px;color:var(--muted);pointer-events:none}.search-input{width:100%;min-width:0;height:44px;padding-left:2.35rem;border-radius:22px;background:#fff}.btn-new{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:44px;padding:0 1.05rem;border-radius:22px;white-space:nowrap;background:var(--brand);color:#fff;font-weight:600;border:none;cursor:pointer}.btn-new:hover{background:var(--brand-deep);color:#fff}.btn-new-icon{width:18px;height:18px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;border-radius:10px;background:var(--brand-soft);color:var(--brand-deep);border:1px solid var(--line)}.btn-icon:hover{background:var(--brand);color:#fff}.form-wide{max-width:760px}.settings-panel{max-width:820px}.theme-fieldset{margin:0;padding:.8rem;border:1px solid var(--line);border-radius:12px}.theme-fieldset legend{padding:0 .35rem;color:var(--ink);font-size:.9rem}.theme-options{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:.55rem}.theme-option{display:flex;flex-direction:column;align-items:center;gap:.35rem;background:#fff;color:var(--ink);border:2px solid transparent;padding:.5rem}.theme-option.on{border-color:var(--brand);background:var(--brand-soft)}.theme-swatch{width:100%;height:38px;border-radius:8px;border:1px solid rgba(21,32,51,.12)}.color-input-row{display:grid;grid-template-columns:52px 1fr;gap:.5rem}.color-input-row input[type=color]{width:52px;min-height:42px;padding:.2rem;cursor:pointer}.admin-tenant-editor{margin-bottom:1rem}.slot-field{display:flex;flex-direction:column}.slot-field .field-label{margin-bottom:.3rem}.slot-trigger{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;width:100%;min-height:42px;background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:500;text-align:left}.slot-trigger:hover:not(:disabled){border-color:var(--brand);background:#fff}.slot-trigger.picked{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.slot-trigger-value{font-variant-numeric:tabular-nums;font-weight:650}.slot-trigger-meta{color:var(--muted);font-size:.8rem;font-weight:500}.slot-modal-hint{margin:0 0 .75rem}.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.45rem}.time-slot{background:#fff;color:var(--brand-deep);border:1px solid var(--line);padding:.55rem .4rem;font-variant-numeric:tabular-nums}.time-slot:hover:not(:disabled),.time-slot.on{background:var(--brand);border-color:var(--brand);color:#fff}.time-slot:disabled{background:#eef1f3;color:#9aa5ae;text-decoration:line-through}.input-with-action{display:flex;align-items:center;gap:.5rem}.input-with-action>select,.input-with-action>input{flex:1;min-width:0}.check-row{flex-direction:row;align-items:center;gap:.55rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:10px;background:#fff}.check-row input{width:18px;height:18px;accent-color:var(--brand)}.segmented{display:inline-flex;padding:.25rem;gap:.25rem;background:var(--surface);border:1px solid var(--line);border-radius:12px}.segmented button{background:transparent;color:var(--muted);border-radius:9px;padding:.5rem 1rem;font-weight:600}.segmented button:hover{background:color-mix(in srgb,var(--brand) 8%,transparent);color:var(--brand-deep)}.segmented button.on{background:var(--brand);color:#fff}.segmented button.on:hover{background:var(--brand-deep)}.search-results{margin-top:1rem;border-top:1px solid var(--line);padding-top:.85rem}.result-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.45rem}.result-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;background:#f8fbfd;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.65rem .8rem}.result-item:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--ink)}.result-name{font-weight:600}.result-meta{font-size:.85rem;color:var(--muted)}.appbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem}.appbar-eyebrow{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#e0f0fab8}.appbar-title{margin:.1rem 0 0;font-size:1.2rem;font-weight:650;letter-spacing:-.01em}.appbar-avatar{width:38px;height:38px;border-radius:50%;background:#ffffff29;color:#fff;border:1px solid rgba(255,255,255,.24);font-size:.85rem;font-weight:700;padding:0}.appbar-avatar:hover{background:#ffffff42}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;background:transparent;border:none;padding:.45rem .2rem;color:var(--muted);font-size:.68rem;font-weight:600;border-radius:0;white-space:nowrap}.tab:hover{background:transparent;color:var(--brand)}.tab.active{color:var(--brand)}.tab svg{width:22px;height:22px}.tab-fab{padding:0}.fab{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;margin-top:-22px;border-radius:50%;background:linear-gradient(160deg,var(--brand) 0%,var(--brand-deep) 100%);color:#fff;box-shadow:0 10px 22px color-mix(in srgb,var(--brand-deep) 32%,transparent)}.fab svg{width:26px;height:26px;stroke-width:2.2}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;border-radius:0;background:#0f3a5273;cursor:pointer}.sheet{position:relative;width:100%;background:#fff;border-radius:20px 20px 0 0;padding:.5rem .9rem calc(1rem + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #0f3a523d;animation:sheet-up .22s ease-out}.sheet-grip{width:40px;height:4px;border-radius:2px;background:#d7e2ea;margin:.35rem auto .75rem}.sheet-user{display:flex;align-items:center;gap:.7rem;padding:0 .3rem .75rem;border-bottom:1px solid var(--line);margin-bottom:.5rem}.sheet-avatar{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);font-weight:700}.sheet-item{display:flex;align-items:center;gap:.7rem;width:100%;padding:.85rem .6rem;border:none;border-radius:12px;background:transparent;color:var(--ink);font-weight:500;text-align:left}.sheet-item:hover{background:var(--surface);color:var(--ink)}.sheet-item.active{background:var(--brand-soft);color:var(--brand-deep);font-weight:650}.sheet-item.danger{color:var(--danger)}.sheet-item svg{width:20px;height:20px}.sheet-section{padding:.75rem .6rem .25rem;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}@keyframes sheet-up{0%{transform:translateY(14%);opacity:.6}to{transform:translateY(0);opacity:1}}.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start;max-width:960px}.account-grid .stack{max-width:none}.account-grid form>button{align-self:flex-start}.public-booking{min-height:100vh;--muted: color-mix(in srgb, var(--ink) 68%, transparent);color:var(--ink);background:radial-gradient(700px 260px at 10% 0%,color-mix(in srgb,var(--brand) 13%,transparent),transparent 60%),var(--surface)}.public-booking-top{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,2.5rem);background:#fff;border-bottom:1px solid var(--line)}.public-brand{font-family:Fraunces,serif;font-weight:700;color:var(--brand-deep)}.public-booking-main{width:min(760px,calc(100% - 2rem));margin:0 auto;padding:2.2rem 0 4rem}.public-booking-hero{text-align:center;margin-bottom:1.5rem}.public-booking-hero.compact{margin-bottom:1.2rem}.public-booking-hero h1{margin:.65rem 0 .25rem;font-family:Fraunces,serif;font-size:clamp(1.8rem,5vw,2.5rem);color:var(--brand-deep)}.public-booking-hero p{margin:0;color:var(--muted)}.public-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:var(--brand-soft);color:var(--brand-deep)}.public-icon svg{width:27px;height:27px}.public-search{position:relative;display:flex;align-items:center;margin-bottom:1rem}.public-search svg{position:absolute;left:.9rem;width:20px;color:var(--muted)}.public-search input{width:100%;height:50px;padding-left:2.7rem;border-radius:25px;box-shadow:0 3px 12px #0f4f6e0f}.business-list{display:grid;gap:.65rem}.business-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;width:100%;padding:.9rem 1rem;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 8px #0f4f6e0a}.business-card:hover{background:var(--brand-soft);color:var(--ink);border-color:var(--brand)}.business-card-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--brand-soft);color:var(--brand-deep)}.business-card small{display:block;margin-top:.1rem;color:var(--muted)}.business-arrow{font-size:1.8rem;color:var(--brand)}.public-booking-form{display:grid;gap:.8rem}.booking-step{display:grid;grid-template-columns:auto 1fr;gap:.8rem;padding:1.1rem;background:#fff;border:1px solid var(--line);border-radius:15px}.booking-step>div{min-width:0}.booking-step h2{margin:0 0 .8rem;font-size:1rem}.step-number{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;font-size:.85rem}.booking-submit{min-height:50px;border-radius:13px;font-size:1rem}.booking-message{margin:0;padding:.8rem 1rem;background:#fff;border:1px solid currentColor;border-radius:12px}@media (max-width: 700px){.account-grid{grid-template-columns:1fr}.public-booking-top{height:calc(58px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.public-booking-main{width:min(100% - 1.25rem,760px);padding-top:1.25rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.booking-step{padding:.9rem}}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1rem}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;border-radius:0;background:#0f3a5273;cursor:pointer}.modal-dialog{position:relative;z-index:1;width:min(480px,100%);max-height:min(90vh,820px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 18px 48px #0f3a5238}.modal-dialog.modal-wide{width:min(560px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}.modal-head h2{margin:0;font-size:1.15rem}.modal-close{background:transparent;color:var(--muted);border:none;font-size:1.5rem;line-height:1;padding:.15rem .4rem}.modal-close:hover{background:transparent;color:var(--ink)}.modal-body{padding:1.15rem}.nav-section{margin-top:1rem;padding:.75rem .75rem .35rem;border-top:1px solid rgba(255,255,255,.18);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#d2e8f4a6}.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.cal-nav{display:flex;align-items:center;gap:.5rem}.cal-nav button{min-width:2.4rem;background:#fff;color:var(--brand-deep);border:1px solid var(--line)}.cal-nav button:hover{background:var(--brand-soft)}.cal-day-label{min-width:11rem;text-align:center;font-weight:600}.cal-stats{display:flex;gap:.6rem;flex-wrap:wrap}.cal-stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.55rem .85rem;font-size:.88rem}.cal-stat strong{color:var(--brand-deep)}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.public-booking-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:1;padding:.8rem .9rem;background:#fff;border:1px solid var(--line);border-radius:14px}.public-booking-toggle>div{display:flex;flex-direction:column;gap:.15rem}.public-booking-toggle span{color:var(--muted);font-size:.83rem}.switch-control{display:inline-flex;flex:0 0 auto}.switch-control input{position:absolute;opacity:0;pointer-events:none}.switch-control>span{position:relative;width:46px;height:26px;border-radius:999px;background:#b8c2cc;cursor:pointer;transition:.2s ease}.switch-control>span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:.2s ease}.switch-control input:checked+span{background:var(--brand)}.switch-control input:checked+span:after{transform:translate(20px)}.switch-control input:focus-visible+span{outline:3px solid var(--brand-soft)}.switch-control input:disabled+span{cursor:wait;opacity:.65}.cal-legend{display:flex;align-items:center;gap:.75rem}.cal-legend span{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem}.cal-legend i{width:12px;height:12px;border-radius:3px}.cal-legend i.solo{background:#2563eb}.cal-legend i.group{background:#ea580c}.cal-board{background:#fff;border:1px solid var(--line);border-radius:16px;padding:.9rem;box-shadow:0 1px 2px color-mix(in srgb,var(--brand) 5%,transparent)}.cal-month-nav{display:flex;align-items:center;gap:.55rem;margin-bottom:.85rem}.cal-month-nav button{min-width:2.2rem;background:#fff;color:var(--brand);border:1px solid var(--line)}.cal-month-label{flex:1;text-align:center;text-transform:capitalize;color:var(--ink)}.cal-date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin-bottom:1rem}.cal-day-chip{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.45rem .2rem;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--ink);font-weight:600}.cal-day-chip-dow{font-size:.72rem;color:var(--muted);text-transform:capitalize}.cal-day-chip-num{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.cal-day-chip.on{background:color-mix(in srgb,var(--brand) 10%,#fff);border-color:color-mix(in srgb,var(--brand) 25%,var(--line))}.cal-day-chip.on .cal-day-chip-num{background:var(--brand);color:#fff}.cal-day-chip.today:not(.on) .cal-day-chip-num{box-shadow:inset 0 0 0 1.5px var(--brand)}.cal-timeline{display:grid;gap:.55rem}.cal-hour-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:.55rem;align-items:start}.cal-hour-label{padding-top:.85rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);font-size:.92rem}.cal-hour-slots{display:grid;gap:.4rem;min-width:0}.cal-slot-empty{display:flex;align-items:center;gap:.55rem;min-height:52px;padding:.7rem .85rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:600}.cal-slot-empty:hover{background:var(--brand-soft);color:var(--brand-deep)}.cal-slot-plus{display:inline-flex;width:1.4rem;height:1.4rem;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--brand) 16%,#fff);color:var(--brand);font-size:1rem;line-height:1}.cal-slot-add{display:inline-flex;align-self:start;padding:.35rem .55rem;font-size:.82rem;font-weight:650;color:var(--brand)}.cal-appt-block{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;min-width:0;padding:.75rem .85rem;border-radius:12px;border:1px solid var(--line);border-left-width:4px;background:color-mix(in srgb,var(--brand) 8%,#fff)}.cal-appt-block.solo{color:#173b7a;background:#eaf2ff;border-color:#9fc1f8;border-left-color:#2563eb}.cal-appt-block.group{color:#7c2d12;background:#fff0e6;border-color:#fdba8c;border-left-color:#ea580c}.cal-appt-block.solo .muted{color:#315b98}.cal-appt-block.group .muted{color:#9a4b21}.cal-appt-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.cal-appt-main strong{overflow-wrap:anywhere}.cal-group-members{list-style:none;margin:.45rem 0 0;padding:0;display:grid;gap:.25rem}.cal-group-members li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.86rem}.appt-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.appt-card{display:grid;grid-template-columns:88px 1fr auto;gap:.85rem;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;padding:.85rem 1rem;transition:box-shadow .15s ease,transform .15s ease}.appt-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.appt-time{font-weight:700;color:var(--brand-deep);font-variant-numeric:tabular-nums}.appt-time small{display:block;font-weight:500;color:var(--muted);font-size:.78rem}.appt-title{margin:0;font-weight:600}.appt-meta{margin:.2rem 0 0;color:var(--muted);font-size:.88rem}.appt-badge{background:var(--brand-soft);color:var(--brand-deep);border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:600}.empty-state{text-align:center;padding:2.5rem 1rem;background:#fff;border:1px dashed var(--line);border-radius:12px}.empty-state h3{margin:0 0 .4rem;font-size:1.1rem}.empty-state p{margin:0 0 1rem;color:var(--muted)}@media (max-width: 860px){body{-webkit-tap-highlight-color:transparent}.layout{grid-template-columns:1fr}.sidebar{display:none}.appbar{display:block;position:fixed;top:0;left:0;right:0;z-index:40;background:linear-gradient(160deg,var(--sidebar-from) 0%,var(--sidebar-to) 100%);color:#fff;padding-top:env(safe-area-inset-top);box-shadow:0 2px 14px #0f3a522e}.tabbar{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar-system{grid-template-columns:repeat(4,1fr)}.sheet-root{display:flex;align-items:flex-end;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.content{padding:calc(env(safe-area-inset-top) + 4.6rem) 1rem calc(env(safe-area-inset-bottom) + 5.5rem);background:var(--surface)}.page-head{margin-bottom:.9rem}.page-head h1{display:none}.page-head>div:first-child p{margin-bottom:.25rem}.page-head,.cal-toolbar{flex-direction:column;align-items:stretch}.head-tools>select{flex:1}.stack,.form-wide{max-width:none}.segmented{display:grid;grid-template-columns:1fr 1fr}.panel-list{background:transparent;border:none;box-shadow:none;padding:0}.panel{padding:1rem;border-radius:14px}.table-wrap{overflow-x:hidden;max-width:100%}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%;max-width:100%}.data-table thead{display:none}.data-table tr{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:.7rem;padding:.35rem .2rem;box-shadow:0 1px 2px #0f4f6e0d;box-sizing:border-box}.data-table tbody tr:hover{background:#fff}.data-table td{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.4rem .75rem;border:none;text-align:right;min-width:0}.data-table td:before{content:attr(data-label);flex:0 0 auto;max-width:38%;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:left}.data-table td>*{flex:1 1 auto;min-width:0;text-align:right;overflow-wrap:anywhere;word-break:break-word}.data-table td .tag-row{justify-content:flex-end}.data-table td.actions{justify-content:flex-end;flex-wrap:wrap;gap:.25rem;margin-top:.15rem;padding-top:.55rem;border-top:1px solid #eef3f7;white-space:normal}.data-table td.actions:before{content:none}.data-table td.actions .btn-text{white-space:normal;padding:.45rem .55rem}.btn-text{padding:.45rem .6rem}.cal-nav{justify-content:space-between}.cal-day-label{flex:1}.cal-stats{justify-content:space-between}.cal-stat{flex:1;text-align:center}.calendar-controls{align-items:stretch;flex-direction:column}.cal-legend{justify-content:flex-end}.working-hours-row{grid-template-columns:1fr;gap:.35rem}.working-time-range{justify-content:flex-start}.working-time-range input{width:min(42vw,130px)}.working-closed{justify-self:start;padding-left:1.65rem}.cal-board{padding:.75rem;border-radius:14px}.cal-hour-row{grid-template-columns:46px minmax(0,1fr);gap:.4rem}.cal-hour-label{font-size:.84rem;padding-top:.7rem}.cal-slot-empty{min-height:48px;padding:.65rem .75rem}.cal-appt-block{padding:.7rem .75rem}.modal-root{place-items:end center;padding:0}.modal-dialog,.modal-dialog.modal-wide{width:100%;max-height:92vh;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom);animation:sheet-up .22s ease-out}.modal-body{padding:1rem}}@media (max-width: 640px){.appt-card{grid-template-columns:1fr;gap:.35rem}.theme-options{grid-template-columns:repeat(2,1fr)}.time-slots{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}}
