:root{--bg:#e8f1e7;--surface:#fff;--surface-soft:#f6faf5;--text:#435548;--text-h:#1c3425;--muted:#66786b;--border:#d5e3d6;--accent:#326b49;--accent-hover:#25573a;--accent-bg:#e7f3e9;--accent-border:#8fbea0;--code-bg:#f1f5ef;--social-bg:#f3f7f2;--shadow:0 8px 28px #19392212;--shadow-raised:0 12px 32px #1939221c;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--heading:var(--sans);--mono:ui-monospace, Consolas, monospace;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--control-border:#bbd2c0;--input-border:#c6d7c9;--placeholder:#819084;--section-rule:#e1ebe2;--card-border:#dbe6dc;--card-selected:#edf7ee;--accent-contrast:#fff;--ambient-color:#7ab68b;--surface-glass:#ffffffc7}:root[data-theme=rose]{--bg:#f9f0f1;--surface:#fff;--surface-soft:#fff7f8;--text:#604b54;--text-h:#49323a;--muted:#806d75;--border:#e9d5db;--accent:#a65e75;--accent-hover:#85455a;--accent-bg:#f6e4ea;--accent-border:#d4a4b4;--code-bg:#f8eef1;--social-bg:#fcf5f7;--control-border:#d8b8c2;--input-border:#dfc6ce;--placeholder:#97828a;--section-rule:#eddde2;--card-border:#e9d5db;--card-selected:#fbedf1;--ambient-color:#d9a5b7;--surface-glass:#ffffffd6}:root[data-theme=lavender]{--bg:#f4f1fa;--surface:#fff;--surface-soft:#faf8ff;--text:#564d68;--text-h:#3e3554;--muted:#776d89;--border:#e4dcf2;--accent:#8064ad;--accent-hover:#664b92;--accent-bg:#eee8f8;--accent-border:#bba9da;--code-bg:#f2eef9;--social-bg:#faf8fd;--control-border:#cbbfe0;--input-border:#d6cbe8;--placeholder:#9287a5;--section-rule:#e9e1f3;--card-border:#e4dcf2;--card-selected:#f1ebfa;--ambient-color:#b6a0df;--surface-glass:#ffffffd6}:root[data-theme=sand]{--bg:#f5f0e7;--surface:#fffdf9;--surface-soft:#faf5ed;--text:#665747;--text-h:#514436;--muted:#837363;--border:#e8dccb;--accent:#906a43;--accent-hover:#755332;--accent-bg:#f3e7d7;--accent-border:#cdb18f;--code-bg:#f2eade;--social-bg:#faf5ed;--control-border:#d6c1a8;--input-border:#decbb5;--placeholder:#9b8a77;--section-rule:#ecdfcf;--card-border:#e8dccb;--card-selected:#f8eddd;--ambient-color:#d2b38e;--surface-glass:#fffdf9db}:root[data-theme=night]{--bg:#1f222a;--surface:#30343e;--surface-soft:#393e49;--text:#ded8ce;--text-h:#f5efe5;--muted:#c0b7ab;--border:#505563;--accent:#d4ad79;--accent-hover:#e4c498;--accent-bg:#474039;--accent-border:#a98a63;--code-bg:#393e49;--social-bg:#353943;--control-border:#646574;--input-border:#666977;--placeholder:#b2a99e;--section-rule:#555966;--card-border:#505563;--card-selected:#484038;--accent-contrast:#1f222a;--ambient-color:#856c54;--surface-glass:#30343eeb;--shadow:0 8px 28px #0003;--shadow-raised:0 12px 32px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{min-width:320px;margin:0}#root{text-align:center;flex-direction:column;width:min(100%,1126px);min-height:100svh;margin:0 auto;padding:0 clamp(12px,3vw,30px) 48px;display:flex}main{width:100%;min-width:0;max-width:1040px;margin:0 auto}h1,h2,h3,h4{font-family:var(--heading);color:var(--text-h);line-height:1.22}h1{letter-spacing:-.035em;margin:26px 0 12px;font-size:clamp(29px,5vw,43px);font-weight:750}h2{letter-spacing:-.02em;margin:0 0 18px;font-size:clamp(22px,3vw,28px);font-weight:730}h3{margin:12px 0 9px;font-size:clamp(17px,2vw,20px)}p{margin:0 0 11px}small{line-height:1.45}a{color:var(--accent);text-underline-offset:3px}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:6px}code{background:var(--code-bg);padding:4px 8px;font-size:14px}button,input,select,textarea{font:inherit}button{border:1px solid var(--control-border);background:var(--surface);max-width:100%;min-height:46px;color:var(--text-h);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:12px;padding:11px 16px;font-weight:650;transition:background .16s,border-color .16s,box-shadow .16s,transform .12s}button:hover:not(:disabled){background:var(--surface-soft);border-color:var(--accent-border);box-shadow:0 3px 12px #183c221a}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.55;cursor:not-allowed}:where(button,input,select,textarea,a):focus-visible{outline:3px solid var(--accent-border);outline-offset:3px}input,select,textarea{border:1px solid var(--input-border);background:var(--surface);width:auto;max-width:100%;min-height:48px;color:var(--text-h);border-radius:12px;padding:12px 13px;font-size:16px;box-shadow:inset 0 1px 2px #183c2206}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--placeholder)}textarea{resize:vertical;min-height:108px}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--accent);vertical-align:middle;padding:0}label{color:var(--text-h);font-weight:580}nav[aria-label=Menu\ administrativo],.admin-nav{border:1px solid var(--border);background:var(--surface-glass);width:min(100%,760px);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px auto 20px;padding:10px;display:grid}nav[aria-label=Menu\ administrativo] button,.admin-nav-button{background:var(--surface);overflow-wrap:anywhere;border-radius:13px;width:100%;min-width:0;min-height:60px;margin:0;padding:12px 8px;font-size:clamp(13px,2.8vw,16px);line-height:1.3}nav[aria-label=Menu\ administrativo] button.active,nav[aria-label=Menu\ administrativo] button[aria-current=page],.admin-nav-button.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);box-shadow:0 5px 16px #26603933}@media (width>=900px){nav[aria-label=Menu\ administrativo],.admin-nav{grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,920px)}}main>section{border:1px solid var(--border);background:var(--surface-glass);width:100%;min-width:0;box-shadow:var(--shadow);text-align:left;border-radius:22px;margin:16px auto 22px;padding:clamp(16px,3vw,28px)}main>section>h2{border-bottom:1px solid var(--section-rule);padding-bottom:12px}main>section label{text-align:left;flex-direction:column;align-items:flex-start;gap:7px;max-width:100%;margin:8px 6px;display:inline-flex}:is(main>section label:has(input[type=checkbox]),main>section label:has(input[type=radio])){flex-direction:row;align-items:center}main>section label input:not([type=checkbox]):not([type=radio]),main>section label select,main>section label textarea{width:min(100%,400px)}main>section button{margin:4px}main>section article{border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;border-radius:16px;min-width:0;margin:12px 0;padding:16px;box-shadow:0 3px 12px #1e32230b}main>section article p{margin:7px 0}.status-badge{border-radius:999px;align-items:center;padding:6px 11px;font-size:13px;font-weight:750;line-height:1.2;display:inline-flex}.status-confirmed{color:#765600;background:#fff2cc}.status-completed{color:#216139;background:#dcefe0}.status-cancelled{color:#913939;background:#f9e0e0}.status-no_show{color:#4c5550;background:#e8e9e8}.appointment-card,main>section article.appointment-card{border:1px solid var(--card-border);background:var(--surface);text-align:left;border-left:5px solid #c9a447;border-radius:18px;margin:14px 0;padding:clamp(16px,3vw,22px);font-size:16px;line-height:1.55;position:relative;box-shadow:0 5px 18px #1b3d2511}.appointment-confirmed{border-left-color:#c9a447!important}.appointment-completed{border-left-color:#4f9561!important}.appointment-cancelled{border-left-color:#c67676!important}.appointment-card>h3{background:var(--accent-bg);max-width:100%;color:var(--text-h);overflow-wrap:anywhere;border-radius:12px;align-items:center;gap:9px;margin:0 0 13px;padding:10px 13px;font-size:clamp(17px,2.5vw,21px);font-weight:760;display:inline-flex}.appointment-card>h3:before{content:"📅";margin-right:6px;font-size:18px;line-height:1}.appointment-card p{color:var(--text);margin:8px 0}.appointment-card strong{color:var(--text-h);font-weight:720}.appointment-card button{min-height:46px;padding:10px 14px;font-size:15px}.appointment-client{margin:12px 0 14px}.appointment-client-label{color:var(--muted);letter-spacing:.1em;margin-bottom:3px;font-size:12px;font-weight:750;display:block}.appointment-client h4{color:var(--text-h);margin:0;font-size:clamp(21px,3vw,25px);font-weight:780;line-height:1.3}.procedure-card{border:1px solid var(--card-border);background:var(--surface);text-align:left;border-radius:18px;margin:12px 0;padding:clamp(16px,3vw,22px);transition:border-color .18s,background .18s,box-shadow .18s,transform .16s;box-shadow:0 4px 16px #1e32230e}.procedure-card:hover{border-color:var(--accent-border);box-shadow:0 7px 22px #1e462817}.procedure-card-selected{border:2px solid var(--accent);background:var(--card-selected);box-shadow:0 6px 20px #2963381f}.procedure-card h3,.procedure-card strong{color:var(--text-h)}.procedure-card button{min-height:46px}.booking-page{isolation:isolate;min-height:100svh;position:relative;overflow:hidden}.booking-page>*{z-index:1;position:relative}.booking-page:before,.booking-page:after{content:"";z-index:0;pointer-events:none;filter:blur(70px);opacity:.22;border-radius:50%;width:260px;height:260px;position:absolute}.booking-page:before{background:var(--ambient-color);animation:10s ease-in-out infinite alternate ambient-float-1;top:5%;left:-100px}.booking-page:after{background:var(--surface);animation:12s ease-in-out infinite alternate ambient-float-2;bottom:8%;right:-100px}@keyframes ambient-float-1{to{transform:translate(40px,65px)scale(1.15)}}@keyframes ambient-float-2{to{transform:translate(-50px,-55px)scale(1.13)}}@media (width<=640px){#root{padding:0 10px 30px}h1{margin:19px 0 10px}nav[aria-label=Menu\ administrativo],.admin-nav{gap:9px;margin:16px auto;padding:9px}nav[aria-label=Menu\ administrativo] button,.admin-nav-button{min-height:58px;font-size:15px}main>section{border-radius:18px;margin:12px auto 18px;padding:16px 12px}main>section label{width:calc(100% - 12px);margin:8px 6px;display:flex}:is(main>section label:has(input[type=checkbox]),main>section label:has(input[type=radio])){flex-direction:row}main>section label input:not([type=checkbox]):not([type=radio]),main>section label select,main>section label textarea{width:100%}main>section article{padding:14px}.appointment-card,main>section article.appointment-card,.procedure-card{padding:16px}.appointment-card button{max-width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-agenda-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.admin-agenda-grid .appointment-card{box-sizing:border-box;overflow-wrap:anywhere;width:100%;min-width:0;margin:0;padding:12px}.admin-agenda-grid .appointment-card h3{font-size:15px;line-height:1.35}.admin-agenda-grid .appointment-card p{margin:6px 0;font-size:13px;line-height:1.4}@media (width<=400px){.admin-agenda-grid{gap:8px}.admin-agenda-grid .appointment-card{padding:9px}}.appointment-created-at{color:var(--muted);margin:6px 0 12px;font-size:12px;line-height:1.5}.admin-month-calendar{box-sizing:border-box;border:1px solid var(--border);border-radius:14px;width:100%;margin:16px 0 24px;padding:14px}.admin-calendar-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px;display:flex}.admin-calendar-header h3{text-align:center;text-transform:capitalize;margin:0;font-size:16px}.admin-calendar-header button{border-radius:8px;min-width:36px;min-height:36px;padding:6px}.admin-calendar-weekdays,.admin-calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.admin-calendar-weekdays{text-align:center;margin-bottom:8px;font-size:12px;font-weight:700}.admin-calendar-day{border:1px solid var(--border);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:48px;padding:4px 0;font-size:13px;font-weight:600;display:flex}.admin-calendar-day small{opacity:.75;white-space:nowrap;font-size:10px;font-weight:400;line-height:1.2;display:block}@media (width<=480px){.admin-calendar-day{min-height:44px}.admin-calendar-day small{font-size:9px}}.admin-calendar-day--available{color:#24683d;background-color:#e5f4e9;border-color:#a9d8b5}.admin-calendar-day--full{color:#945b12;background-color:#fff0d7;border-color:#efc47a}.admin-calendar-day--blocked{color:#a52c2c;background-color:#fde5e5;border-color:#e8a2a2}.admin-calendar-day--closed{color:#737780;background-color:#f0f1f3;border-color:#d7d9dd}.finish-dialog-overlay{z-index:1000;background:#1412188c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.finish-dialog{box-sizing:border-box;background:var(--card-bg,#fffdf9);width:100%;max-width:480px;max-height:90dvh;color:var(--text-color,#40372f);border:1px solid var(--border-color,#e8e0d7);border-radius:18px;padding:24px;overflow-y:auto;box-shadow:0 20px 60px #0003}.finish-dialog h2{margin:0 0 12px;font-size:1.35rem;line-height:1.3}.finish-dialog p{line-height:1.6}.finish-dialog button{cursor:pointer;border-radius:10px;width:100%;min-height:44px;margin-top:16px;padding:12px 16px}@media (width<=480px){.finish-dialog{border-radius:16px;padding:20px}}.finish-dialog .admin-card{flex-direction:column;gap:12px;margin:16px 0;padding:14px;display:flex}.finish-dialog .admin-card label{text-align:left;flex-direction:column;gap:6px;width:100%;display:flex}.finish-dialog .admin-card input,.finish-dialog .admin-card select,.finish-dialog .admin-card textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.finish-dialog .admin-card textarea{resize:vertical;min-height:70px}.finance-dialog-backdrop{z-index:10000;background:#14161a94;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.finance-dialog{box-sizing:border-box;background:var(--surface);width:min(100%,430px);max-height:calc(100dvh - 40px);color:var(--text);border:1px solid var(--border);border-radius:22px;padding:28px 24px 22px;overflow-y:auto;box-shadow:0 22px 65px #0000003d}.finance-dialog-icon{background:var(--accent-bg);width:52px;height:52px;color:var(--accent);border-radius:16px;justify-content:center;align-items:center;margin-bottom:14px;font-size:26px;font-weight:700;display:flex}.finance-dialog-error,.finance-dialog-warning{color:#a44a36;background:#fff1ee}.finance-dialog-success{color:#277a44;background:#e6f5e9}.finance-dialog h2{color:var(--text-h);margin:0 0 10px;font-size:21px;line-height:1.25}.finance-dialog p{overflow-wrap:anywhere;margin:0 0 18px;line-height:1.5}.finance-dialog label{margin:0 0 8px;font-weight:650;display:block}.finance-dialog textarea{box-sizing:border-box;border:1px solid var(--input-border);background:var(--surface-soft);width:100%;color:var(--text-h);font:inherit;resize:vertical;border-radius:12px;padding:12px}.finance-dialog textarea:focus-visible,.finance-dialog button:focus-visible{outline:3px solid var(--accent-border);outline-offset:2px}.finance-dialog .finance-dialog-validation{color:#a44a36;margin:8px 0 0;font-size:13px}.finance-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.finance-dialog-actions button{min-height:44px;font:inherit;cursor:pointer;border-radius:11px;padding:10px 17px;font-weight:650}.finance-dialog-cancel{background:var(--surface-soft);border:1px solid var(--border);color:var(--text-h)}.finance-dialog-primary{background:var(--accent);border:1px solid var(--accent);color:var(--accent-contrast)}.finance-dialog-actions button:disabled{opacity:.6;cursor:wait}@media (width<=420px){.finance-dialog{padding:22px 18px 18px}.finance-dialog-actions button{flex:1}}.finance-report{border:1px solid var(--border-color,#e7dfe0);background:var(--card-bg,#fff);border-radius:16px;margin:18px 0;padding:18px}.finance-report-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.finance-report-head h3{margin:0 0 5px}.finance-report-head p{opacity:.75;margin:0;font-size:13px}.finance-report-head button,.finance-report-periods button{color:inherit;cursor:pointer;background:0 0;border:1px solid #d9cbd0;border-radius:9px;padding:10px 13px}.finance-report-head button:disabled{opacity:.45;cursor:not-allowed}.finance-report-periods{flex-wrap:wrap;gap:7px;margin:16px 0;display:flex}.finance-report-periods button.selected{color:#fff;background:#a45f78;border-color:#a45f78}.finance-report-date,.finance-report-dates label{flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.finance-report-date input,.finance-report-dates input{max-width:220px;min-height:39px;color:inherit;background:0 0;border:1px solid #ddd;border-radius:8px;padding:7px}.finance-report-dates{flex-wrap:wrap;gap:12px;display:flex}.finance-report-caption{opacity:.7;margin:12px 0;font-size:12px}.finance-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.finance-report-metrics article{border:1px solid #e7dfe0;border-radius:12px;flex-direction:column;gap:7px;min-width:0;padding:14px;display:flex}.finance-report-metrics span{font-size:12px}.finance-report-metrics strong{overflow-wrap:anywhere;font-size:clamp(17px,3vw,23px)}.finance-report-metrics small{opacity:.7;font-size:11px}.finance-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.finance-report-panel{border:1px solid #e7dfe0;border-radius:12px;min-width:0;padding:14px}.finance-report-panel h4{margin:0 0 12px}.finance-report-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.finance-report-chart-head select{max-width:190px;color:inherit;background:0 0;border:1px solid #ddd;border-radius:7px;padding:7px}.finance-report-bars{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-height:190px;display:grid}.finance-report-bar-item{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.finance-report-bar-item>span{overflow-wrap:anywhere;text-align:center;font-size:10px}.finance-report-bar-track{background:#f5edf0;border-radius:7px;align-items:flex-end;width:100%;max-width:48px;height:135px;display:flex;overflow:hidden}.finance-report-bar-track>div{background:#a45f78;border-radius:7px 7px 0 0;width:100%}.finance-report-bar-item small{font-size:10px}.finance-report-rank{border-bottom:1px solid #eee;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;font-size:13px;display:flex}.finance-report-rank strong{white-space:nowrap}.finance-report-rank:last-child{border-bottom:0}@media (width<=650px){.finance-report{padding:12px}.finance-report-grid{grid-template-columns:1fr}.finance-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-report-head button{width:100%}.finance-report-periods button{flex:40%}}.insight-page{max-width:1100px;margin:1rem auto;padding:1rem}.insight-muted{opacity:.75;font-size:.9rem}.insight-cards{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin:18px 0;display:grid}.insight-cards>div,.insight-alert,.insight-item{border:1px solid var(--border-color,#ddd);background:var(--card-bg,transparent);border-radius:12px;padding:16px}.insight-cards small,.insight-item small{opacity:.75;display:block}.insight-cards strong{margin-top:6px;font-size:1.55rem;display:block}.insight-item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:9px 0;display:flex}.insight-actions{flex-wrap:wrap;gap:7px;display:flex}.insight-actions button,.insight-alert button{font-size:.86rem}.insight-search{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.insight-search input{min-width:200px}.insight-refresh{margin-top:18px}.booking-page{max-width:760px}.booking-page .booking-progress-top{letter-spacing:.055em}.booking-page .booking-step-heading h2{text-wrap:balance;line-height:1.22}.booking-page .booking-procedure{transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s}.booking-page .booking-procedure:hover:not(:disabled){border-color:var(--booking-primary);box-shadow:0 5px 18px #1c2c2212}.booking-page .booking-procedure-content>strong{overflow-wrap:anywhere;line-height:1.4}.booking-page .booking-procedure-content small{overflow-wrap:anywhere;line-height:1.45}.booking-page .booking-slot{transition:border-color .18s,background-color .18s,transform .18s}.booking-page .booking-slot:hover:not(:disabled){border-color:var(--booking-primary)}.booking-page .booking-summary span{overflow-wrap:anywhere;min-width:0}.booking-page .booking-summary strong{flex-shrink:0}.booking-page .booking-form input:focus-visible,.booking-page .booking-form textarea:focus-visible,.booking-page button:focus-visible{outline:3px solid var(--booking-primary);outline-offset:3px}.booking-page .booking-review-item strong,.booking-page .booking-facts strong{overflow-wrap:anywhere}.booking-page .booking-bottom{gap:10px}.booking-page .booking-back,.booking-page .booking-next{line-height:1.3}@media (width<=640px){.booking-page{padding:12px 10px 24px}.booking-page .booking-brand{padding-bottom:16px}.booking-page .booking-shell{border-radius:20px}.booking-page .booking-progress-top{padding:17px 17px 11px}.booking-page .booking-progress{padding-inline:17px}.booking-page .booking-panel{padding:19px 17px 21px}.booking-page .booking-step-heading{margin-bottom:18px}.booking-page .booking-procedure-list{gap:10px}.booking-page .booking-procedure{border-radius:15px;min-height:74px;padding:12px}.booking-page .booking-slots{gap:10px}.booking-page .booking-slot{min-height:50px}.booking-page .booking-bottom{padding:15px 17px 18px}.booking-page .booking-next,.booking-page .booking-back{min-height:52px}}@media (width<=380px){.booking-page{padding-inline:7px}.booking-page .booking-panel,.booking-page .booking-progress-top,.booking-page .booking-bottom,.booking-page .booking-progress{padding-inline:13px}.booking-page .booking-procedure{gap:8px;padding:10px}.booking-page .booking-procedure-right>strong{font-size:12px}.booking-page .booking-next{padding-inline:9px;font-size:14px}.booking-page .booking-back{padding-inline:10px}}@media (prefers-reduced-motion:reduce){.booking-page .booking-procedure,.booking-page .booking-slot{transition:none}}.studio-logo{object-fit:contain;width:min(100%,190px);height:auto;max-height:165px;margin:10px auto;display:block}.studio-logo.compact{width:72px;max-height:72px;margin:4px 0}.studio-settings-31{border-top:1px solid var(--border,#ddd);max-width:760px;margin-top:24px;padding:18px 0}.studio-settings-31 label{flex-direction:column;gap:8px;margin:15px 0;font-weight:600;display:flex}.studio-settings-31 textarea,.studio-settings-31 input[type=file]{box-sizing:border-box;background:var(--surface,#fff);width:100%;max-width:100%;color:var(--text-h,#333);font:inherit;border:1px solid #9996;border-radius:10px;padding:10px}.studio-actions{flex-wrap:wrap;gap:10px;display:flex}.studio-actions button{min-height:44px}.studio-guidance{background:var(--surface,#fff);border:1px solid #ad8c5b77;border-radius:12px;margin:16px 0;padding:15px}.studio-guidance p{margin:7px 0;font-size:.94rem;line-height:1.5}.studio-guidance-actions{margin-top:10px}.studio-guidance-actions button{min-height:42px}@media (width<=600px){.studio-logo{width:155px;max-height:145px}.studio-logo.compact{width:52px;max-height:52px}.studio-settings-31{padding:12px 0}.studio-actions button{flex:1;min-width:125px}}.studio-settings-31{border:0;max-width:100%;margin:12px 0;padding:0}.studio-accordion{border:1px solid var(--border,#e5dfe2);background:var(--surface,#fff);border-radius:16px;margin:12px 0;overflow:hidden;box-shadow:0 3px 14px #00000008}.studio-accordion>summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-h,#333);align-items:center;gap:12px;padding:16px;list-style:none;display:flex}.studio-accordion>summary::-webkit-details-marker{display:none}.studio-accordion>summary>span:nth-child(2){flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.studio-accordion>summary strong{font-size:1rem;line-height:1.35}.studio-accordion>summary small{color:var(--text,#777);opacity:.78;font-size:.82rem;font-weight:400;line-height:1.4}.studio-accordion-icon{background:color-mix(in srgb,var(--accent,#a65e75) 12%,transparent);border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:1.1rem;display:grid}.studio-chevron{opacity:.65;font-size:1.5rem;line-height:1;transition:transform .2s}.studio-accordion[open] .studio-chevron{transform:rotate(180deg)}.studio-accordion-body{border-top:1px solid var(--border,#eee);padding:2px 16px 18px}.studio-accordion-body>p{font-size:.9rem;line-height:1.55}.studio-accordion-body label{flex-direction:column;gap:8px;margin:16px 0 10px;font-size:.9rem;font-weight:600;display:flex}.studio-accordion-body textarea,.studio-accordion-body select,.studio-accordion-body input[type=file]{box-sizing:border-box;border:1px solid var(--border,#d5ccd0);background:var(--surface,#fff);width:100%;max-width:100%;color:var(--text-h,#333);font:inherit;border-radius:11px;padding:12px}.studio-accordion-body textarea{resize:vertical;line-height:1.55}.studio-accordion-body button{min-height:43px}.studio-hint{opacity:.75;font-size:.8rem!important}.studio-logo-preview{border:1px dashed var(--border,#ddd);background:color-mix(in srgb,var(--surface,#fff) 92%,var(--accent,#a65e75));border-radius:14px;justify-content:center;align-items:center;min-height:130px;margin:14px 0;display:flex}.studio-notice{background:color-mix(in srgb,var(--accent,#a65e75) 9%,var(--surface,#fff));border-radius:10px;padding:10px 12px;font-size:.9rem}.studio-theme-accordion{max-width:100%;margin-top:12px}.studio-theme-accordion .theme-personalization{box-shadow:none;background:0 0;border:0;padding:0}@media (width<=600px){.studio-accordion>summary{gap:10px;padding:13px 12px}.studio-accordion-body{padding:2px 12px 14px}.studio-accordion-icon{width:36px;height:36px}.studio-actions{grid-template-columns:1fr;display:grid}.studio-actions button{width:100%}}.weekly-editor{color:var(--text-h,#493a40);box-sizing:border-box;width:100%;max-width:100%}.weekly-editor *{box-sizing:border-box}.weekly-editor-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.weekly-editor-heading h3{margin:0 0 4px;font-size:17px}.weekly-editor-heading p{color:var(--text,#75676d);margin:0;font-size:12px}.weekly-editor-count{color:#8c4861;white-space:nowrap;background:#f6e8ed;border-radius:20px;padding:6px 10px;font-size:11px}.weekly-editor-days{gap:9px;display:grid}.weekly-editor-day{background:var(--surface,#fff);border:1px solid #e9dfe2;border-radius:13px;overflow:hidden}.weekly-editor-day.is-expanded{border-color:#d7abb9;box-shadow:0 2px 12px #9f647012}.weekly-editor-day-toggle{text-align:left;align-items:center;gap:10px;width:100%;min-height:61px;display:flex;color:inherit!important;background:0 0!important;border:0!important;border-radius:0!important;padding:13px 12px!important}.weekly-editor-day-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.weekly-editor-day-info strong{font-size:13px}.weekly-editor-day-info small{color:var(--text,#75676d);font-size:11px;font-weight:400}.weekly-editor-status{color:#777;background:#f2f1f2;border-radius:15px;padding:5px 8px;font-size:10px}.weekly-editor-status.is-open{color:#267a4b;background:#e8f5ed}.weekly-editor-chevron{color:#9b6a7a;font-size:18px}.weekly-editor-day-body{border-top:1px solid #eee5e8;padding:14px 12px 16px}.weekly-editor-switch{align-items:center;gap:8px;margin-bottom:15px;font-size:13px;font-weight:600;display:flex!important}.weekly-editor-switch input{accent-color:#a65e75;width:17px!important;height:17px!important}.weekly-editor-time-grid,.weekly-editor-break-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.weekly-editor-time-grid{margin-bottom:19px}.weekly-editor-time-grid label,.weekly-editor-break label{min-width:0;color:var(--text,#75676d);flex-direction:column;gap:5px;font-size:11px;font-weight:600;display:flex}.weekly-editor input[type=time],.weekly-editor-break input[type=text],.weekly-editor-break input:not([type]){background:var(--surface,#fff);width:100%;min-width:0;max-width:100%;color:var(--text-h,#493a40);border:1px solid #e5d9dd;border-radius:8px;padding:9px 8px;font-size:13px}.weekly-editor-break-heading{border-top:1px solid #eee5e8;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;padding-top:12px;display:flex}.weekly-editor-break-heading strong{font-size:12px}.weekly-editor-break-heading small{color:#88747b;font-size:11px}.weekly-editor-break{background:var(--background,#fcf9fa);border:1px solid #eee5e8;border-radius:10px;gap:10px;margin-bottom:9px;padding:12px;display:grid}.weekly-editor-remove{justify-self:start;color:#a33d52!important;background:0 0!important;border:0!important;padding:3px 0!important;font-size:11px!important}.weekly-editor-add{width:100%;color:#8d4d64!important;background:0 0!important;border:1px dashed #ca9aac!important;border-radius:9px!important;padding:11px!important;font-size:12px!important}.weekly-editor-empty{color:#85777b;margin:10px 0;font-size:12px}.weekly-editor-warning,.weekly-editor-error{color:#a53636;font-size:12px}.weekly-editor-success{color:#23794b;font-size:12px}.weekly-editor-footer{gap:10px;margin-top:18px;display:grid}.weekly-editor-footer p{color:#85777b;margin:0;font-size:11px}.weekly-editor-footer button{width:100%;color:#fff!important;background:#a65e75!important;border-radius:9px!important;padding:12px!important;font-size:12px!important}.weekly-editor-footer button:disabled{opacity:.65}.studio-config-section{background:var(--surface,#fff);border:1px solid #e9dfe2;border-radius:13px;margin:0 0 12px;overflow:hidden}.studio-config-section>summary{cursor:pointer;align-items:center;gap:12px;padding:15px 13px;list-style:none;display:flex}.studio-config-section>summary::-webkit-details-marker{display:none}.studio-config-section>summary .config-icon{font-size:19px}.studio-config-section>summary .config-title{flex-direction:column;flex:1;gap:3px;display:flex}.studio-config-section>summary strong{font-size:13px}.studio-config-section>summary small{color:#88747b;font-size:11px}.studio-config-section>summary .config-arrow{color:#9b6a7a}.studio-config-section[open]>summary .config-arrow{transform:rotate(180deg)}.studio-config-section-body{border-top:1px solid #eee5e8;padding:14px 13px 17px}.studio-config-section-body>label{margin-bottom:13px;display:block}.studio-config-section-body>label>input,.studio-config-section-body>label>textarea{box-sizing:border-box;width:100%;max-width:100%}.rose-date-field{flex-direction:column;gap:6px;max-width:100%;display:flex}.rose-date-label{font-weight:600}.rose-date-trigger{background:var(--surface,#fff);border:1px solid var(--border,#ead5dc);width:100%;min-height:44px;color:var(--text,#443548);font:inherit;text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.rose-date-trigger:focus-visible{outline:3px solid var(--accent-border,#e7a8bb)}.rose-date-backdrop{z-index:12000;background:#14161a99;justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;inset:0}.rose-date-dialog{box-sizing:border-box;background:var(--surface,#fff);border:1px solid var(--border,#ead5dc);width:min(100%,380px);max-height:calc(100dvh - 28px);color:var(--text-h,#453548);border-radius:20px;padding:20px;overflow:auto;box-shadow:0 20px 60px #0003}.rose-date-head,.rose-date-month,.rose-date-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.rose-date-head{margin-bottom:18px}.rose-date-head button,.rose-date-month button,.rose-date-foot button{border:1px solid var(--border,#ead5dc);background:var(--surface-soft,#faf3f5);color:inherit;cursor:pointer;min-width:40px;min-height:40px;font:inherit;border-radius:10px}.rose-date-head button{font-size:25px}.rose-date-month{text-transform:capitalize;text-align:center;margin-bottom:14px}.rose-date-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.rose-date-weekday{opacity:.7;padding:10px 0;font-size:12px}.rose-date-grid button{aspect-ratio:1;min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:11px}.rose-date-grid button:hover,.rose-date-grid button.today{background:var(--accent-bg,#f8e7ee)}.rose-date-grid button.selected{background:var(--accent,#a95c77);color:var(--accent-contrast,#fff);font-weight:700}.rose-date-grid button:disabled{opacity:.25;cursor:not-allowed}.rose-date-foot{justify-content:flex-end;margin-top:18px}.rose-date-foot button{padding:0 12px}.rose-time-field{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.rose-time-label{font-size:14px;font-weight:600}.rose-time-trigger{border:1px solid var(--border,#e5d3d6);background:var(--surface,#fff);width:100%;min-height:48px;color:var(--text,#435548);font:inherit;text-align:left;cursor:pointer;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.rose-time-trigger:focus-visible,.rose-time-dialog button:focus-visible{outline:3px solid var(--accent,#a95c77);outline-offset:3px}.rose-time-backdrop{z-index:13000;background:#14161a9e;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.rose-time-dialog{box-sizing:border-box;border:1px solid var(--border,#e5d3d6);background:var(--surface,#fff);width:min(100%,390px);max-height:calc(100dvh - 32px);color:var(--text,#435548);border-radius:20px;padding:20px;overflow:auto;box-shadow:0 20px 60px #00000040}.rose-time-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.rose-time-head strong{font-size:17px}.rose-time-head button{border:1px solid var(--border,#e5d3d6);width:38px;height:38px;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:10px}.rose-time-selected{background:var(--accent-bg,#e7f3e9);color:var(--text,#435548);text-align:center;font-variant-numeric:tabular-nums;border-radius:12px;margin:14px 0 18px;padding:12px;font-size:30px;font-weight:700}.rose-time-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.rose-time-columns>div{min-width:0}.rose-time-columns>div>strong{text-align:center;margin-bottom:9px;font-size:13px;display:block}.rose-time-options{overscroll-behavior:contain;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:220px;padding:3px;display:grid;overflow-y:auto}.rose-time-options button{border:1px solid var(--border,#e5d3d6);min-width:0;min-height:42px;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:10px;font-size:14px}.rose-time-options button.selected{border-color:var(--accent,#a95c77);background:var(--accent,#a95c77);color:#fff;font-weight:700}.rose-time-confirm{background:var(--accent,#a95c77);color:#fff;width:100%;min-height:46px;font:inherit;cursor:pointer;border:0;border-radius:11px;margin-top:18px;padding:10px 14px;font-weight:700}@media (width<=380px){.rose-time-dialog{padding:14px}.rose-time-columns{gap:8px}.rose-time-options{gap:4px}.rose-time-options button{min-height:40px;font-size:13px}}@media (prefers-reduced-motion:reduce){.rose-time-dialog,.rose-time-options button{scroll-behavior:auto;transition:none}}.booking-app{--booking-primary:#315e46;--booking-primary-dark:#244a35;--booking-primary-light:#e7f2e9;--booking-text:#21382b;--booking-muted:#718075;--booking-border:#dce7dd;--booking-white:#fff;width:100%;max-width:720px;min-height:100svh;color:var(--booking-text);text-align:left;margin:0 auto;padding:20px 16px 32px}.booking-app,.booking-app *{box-sizing:border-box}.booking-app button,.booking-app input,.booking-app textarea{font-family:inherit}.booking-brand{text-align:center;padding:12px 0 22px}.booking-brand-mark{background:var(--booking-primary);color:#fff;border-radius:15px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:8px;font-size:23px;display:inline-flex;box-shadow:0 6px 16px #315e462e}.booking-brand h1{color:var(--booking-text);letter-spacing:-.8px;margin:0 0 6px;font-size:clamp(25px,5vw,32px);font-weight:750}.booking-brand p{color:var(--booking-muted);margin:0;font-size:14px}.booking-shell{border:1px solid var(--booking-border);background:var(--booking-white);border-radius:24px;overflow:hidden;box-shadow:0 12px 40px #234b2d1a}.booking-progress-top{color:var(--booking-muted);letter-spacing:.7px;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px 12px;font-size:11px;font-weight:750;display:flex}.booking-progress-top span:last-child{color:var(--booking-primary)}.booking-progress{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:0 22px 18px;display:grid}.booking-progress>span{background:#e6ebe7;border-radius:999px;height:5px;transition:background .2s}.booking-app .booking-panel{width:100%;box-shadow:none;text-align:left;background:#fff;border:0;border-top:1px solid #edf1ed;border-radius:0;margin:0;padding:20px 22px}.booking-step{min-height:280px;animation:.22s ease-out booking-enter}@keyframes booking-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.booking-step-heading{margin-bottom:20px}.booking-step-heading h2{color:var(--booking-text);letter-spacing:-.5px;margin:0 0 6px;font-size:23px;font-weight:750}.booking-step-heading p{color:var(--booking-muted);margin:0;font-size:14px}.booking-procedure-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b5cdbb transparent;grid-template-columns:1fr;gap:9px;max-height:min(56svh,510px);padding:2px 3px 8px;display:grid;overflow-y:auto}.booking-app .booking-procedure{border:1px solid var(--booking-border);width:100%;min-height:72px;box-shadow:none;color:var(--booking-text);text-align:left;cursor:pointer;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:12px 14px;display:flex}.booking-procedure-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.booking-procedure-content>strong{color:var(--booking-text);font-size:15px;font-weight:750;line-height:1.3}.booking-procedure-content small{color:var(--booking-muted);font-size:12px;line-height:1.35;display:block}.booking-procedure-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.booking-procedure-right>strong{color:var(--booking-primary);white-space:nowrap;font-size:14px}.booking-check{width:26px;height:26px;color:var(--booking-primary);background:#f1f6f2;border:1px solid #cbded0;border-radius:9px;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:inline-flex}.booking-procedure.is-selected .booking-check{background:var(--booking-primary);border-color:var(--booking-primary);color:#fff}.booking-summary{background:#f1f8f2;border:1px solid #d9e9dd;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px;padding:14px;display:flex}.booking-summary span{color:#526b58;font-size:13px}.booking-summary strong{color:var(--booking-primary);white-space:nowrap;font-size:16px}.booking-form{gap:15px;display:grid}.booking-app .booking-field{width:100%;color:var(--booking-text);text-align:left;flex-direction:column;align-items:stretch;gap:8px;margin:0;font-size:14px;font-weight:700;display:flex}.booking-app .booking-field input,.booking-app .booking-field textarea{width:100%;max-width:none;min-height:50px;color:var(--booking-text);background:#fff;border:1px solid #cfded2;border-radius:12px;outline:none;margin:0;padding:12px 14px;font-size:16px;font-weight:400;display:block}.booking-app .booking-field textarea{resize:vertical;min-height:88px}.booking-optional{color:var(--booking-muted);font-size:12px;font-weight:400;display:inline}.booking-hint{color:var(--booking-muted);margin-top:15px;font-size:13px;line-height:1.5}.booking-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.booking-app .booking-slot{border:1px solid var(--booking-border);min-height:52px;color:var(--booking-text);text-align:center;box-shadow:none;background:#fff;border-radius:12px;margin:0;padding:10px 6px;font-size:15px;font-weight:700}.booking-app .booking-slot.is-selected{border-color:var(--booking-primary);background:var(--booking-primary);color:#fff;box-shadow:0 4px 12px #315e462b}.booking-empty{text-align:center;background:#f7faf7;border:1px dashed #b9d2bf;border-radius:14px;padding:28px 16px}.booking-empty strong{color:var(--booking-text);margin-bottom:6px;display:block}.booking-empty p{color:var(--booking-muted);margin:0;font-size:14px}.booking-review-list{gap:8px;margin-bottom:20px;display:grid}.booking-review-item{border:1px solid var(--booking-border);background:#f9fbf9;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.booking-review-item strong{color:var(--booking-text);font-size:14px}.booking-review-item span{color:var(--booking-muted);text-align:right;font-size:12px}.booking-facts{gap:0;display:grid}.booking-facts p{border-bottom:1px solid #edf1ed;justify-content:space-between;align-items:flex-start;gap:12px;margin:0;padding:11px 0;font-size:14px;display:flex}.booking-facts p span{color:var(--booking-muted)}.booking-facts p strong{color:var(--booking-text);text-align:right;overflow-wrap:anywhere;font-weight:700}.booking-deposit{color:#6d571f;background:#fff9e9;border:1px solid #e9d7a2;border-radius:13px;margin-top:18px;padding:16px;font-size:13px;line-height:1.5}.booking-deposit>strong{margin-bottom:8px;font-size:14px;display:block}.booking-deposit p{margin:7px 0}.booking-error{color:#9b2c2c;background:#fce9e9;border-radius:10px;margin-top:15px;padding:12px 14px;font-size:14px}.booking-bottom{background:#fff;border-top:1px solid #edf1ed;align-items:center;gap:10px;padding:15px 22px 20px;display:flex}.booking-app .booking-back{border:1px solid var(--booking-border);min-height:50px;color:var(--booking-text);background:#f6f9f6;border-radius:12px;flex:none;margin:0;padding:12px 17px;font-size:14px;font-weight:700}.booking-app .booking-next{border:1px solid var(--booking-primary);background:var(--booking-primary);color:#fff;border-radius:12px;flex:1;min-height:50px;margin:0;padding:12px 18px;font-size:15px;font-weight:750;box-shadow:0 5px 14px #315e462e}.booking-app .booking-next:hover:not(:disabled){background:var(--booking-primary-dark)}.booking-app .booking-next:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}.booking-app .booking-next:active:not(:disabled),.booking-app .booking-back:active:not(:disabled){transform:scale(.98)}.booking-result{max-width:640px}.booking-result .booking-panel{border:1px solid var(--booking-border);border-radius:20px;padding:22px;box-shadow:0 8px 25px #234b2d12}.booking-result .booking-panel h2{margin-bottom:20px;font-size:22px}.booking-token{color:var(--booking-muted);overflow-wrap:anywhere;background:#f3f7f3;border-radius:10px;margin-top:18px;padding:12px;font-size:12px}@media (width<=640px){.booking-app{width:100%;max-width:none;min-height:100svh;padding:10px 8px 18px}.booking-brand{padding:7px 0 15px}.booking-brand-mark{border-radius:12px;width:35px;height:35px;margin-bottom:6px;font-size:20px}.booking-brand h1{font-size:25px}.booking-brand p{font-size:12px}.booking-shell{border-radius:19px}.booking-progress-top{padding:15px 16px 10px}.booking-progress{padding:0 16px 14px}.booking-app .booking-panel{padding:17px 15px}.booking-step-heading{margin-bottom:15px}.booking-step-heading h2{font-size:21px}.booking-procedure-list{gap:7px;max-height:min(53svh,480px)}.booking-app .booking-procedure{min-height:65px;padding:10px 11px}.booking-procedure-content>strong{font-size:14px}.booking-procedure-content small{font-size:11px}.booking-procedure-right>strong{font-size:13px}.booking-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.booking-bottom{padding:13px 15px 16px}.booking-review-item{flex-direction:column;align-items:flex-start;gap:4px}.booking-review-item span{text-align:left}}@media (width<=360px){.booking-app{padding-inline:5px}.booking-app .booking-panel{padding-inline:12px}.booking-procedure-content>strong{font-size:13px}.booking-procedure-right>strong{font-size:12px}.booking-bottom{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.booking-step{animation:none}.booking-app *,.booking-app :before,.booking-app :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.booking-app{--booking-primary:var(--accent);--booking-primary-dark:var(--accent-hover);--booking-primary-light:var(--accent-bg);--booking-text:var(--text-h);--booking-muted:var(--muted);--booking-border:var(--border);--booking-white:var(--surface);--booking-soft:var(--surface-soft);--booking-selected:var(--card-selected);--booking-highlight-border:var(--accent-border);--booking-button-text:var(--accent-contrast)}.booking-app .booking-panel,.booking-bottom,.booking-app .booking-procedure,.booking-app .booking-slot,.booking-app .booking-field input,.booking-app .booking-field textarea{background:var(--booking-white)}.booking-app .booking-panel,.booking-bottom,.booking-facts p{border-color:var(--booking-border)}.booking-progress>span{background:var(--booking-border)}.booking-progress>span.is-done{background:var(--booking-primary)}.booking-app .booking-procedure:hover{background:var(--booking-soft);border-color:var(--booking-highlight-border)}.booking-app .booking-procedure.is-selected{background:var(--booking-selected);border-color:var(--booking-primary);box-shadow:0 0 0 1px var(--booking-highlight-border)}.booking-check{border-color:var(--booking-highlight-border);background:var(--booking-primary-light)}.booking-procedure.is-selected .booking-check,.booking-app .booking-slot.is-selected,.booking-app .booking-next,.booking-brand-mark{color:var(--booking-button-text)}.booking-summary{border-color:var(--booking-highlight-border);background:var(--booking-primary-light)}.booking-summary span{color:var(--booking-text)}.booking-app .booking-field input,.booking-app .booking-field textarea{border-color:var(--input-border)}.booking-app .booking-field input:focus,.booking-app .booking-field textarea:focus{border-color:var(--booking-primary);box-shadow:0 0 0 3px var(--booking-primary-light)}.booking-empty{border-color:var(--booking-highlight-border);background:var(--booking-soft)}.booking-review-item,.booking-token,.booking-app .booking-back{background:var(--booking-soft)}.booking-app .booking-back,.booking-review-item{border-color:var(--booking-border)}.booking-procedure-list{scrollbar-color:var(--booking-highlight-border) transparent}html[data-theme=night] .booking-deposit{color:#f3dfb2;background:#453c2c;border-color:#9b8153}html[data-theme=night] .booking-error{color:#ffcdcd;background:#4a3035}.booking-page .booking-brand h1{margin-bottom:3px;font-size:clamp(23px,4.5vw,30px)}.booking-page .booking-brand p{line-height:1.35}.booking-page .booking-shell{border-radius:20px;box-shadow:0 12px 30px #1f422a17}.booking-page .booking-progress-top{padding:14px 17px 9px}.booking-page .booking-progress{gap:5px;padding:0 17px 13px}.booking-page .booking-step{min-height:0}.booking-page .booking-step-heading h2{font-size:clamp(20px,4.5vw,24px);line-height:1.22}.booking-page .booking-step-heading p{line-height:1.45}.booking-page .booking-procedure{border-radius:15px;transition:border-color .18s,box-shadow .18s,background-color .18s;min-height:76px!important;padding:10px 12px!important}.booking-page .booking-procedure-content{min-width:0}.booking-page .booking-procedure-content strong,.booking-page .booking-procedure-content small{overflow-wrap:anywhere}.booking-page .booking-procedure-right{flex-shrink:0}.booking-page .booking-procedure:hover:not(:disabled){border-color:var(--booking-primary)}.booking-page .booking-procedure.is-selected{box-shadow:inset 0 0 0 1px var(--booking-primary)}.booking-page .booking-slot{border-radius:12px;min-height:48px}.booking-page .booking-summary{gap:8px}.booking-page .booking-summary span,.booking-page .booking-summary strong{overflow-wrap:anywhere;min-width:0}.booking-page .booking-form input,.booking-page .booking-form textarea{max-width:100%;font-size:16px}.booking-page .booking-bottom{gap:9px;padding:12px 17px 16px}.booking-page .booking-back,.booking-page .booking-next{border-radius:13px;min-height:48px}.booking-page :is(button,input,textarea,select):focus-visible{outline:3px solid var(--booking-primary);outline-offset:2px}.admin-nav{border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;max-width:1040px;margin:14px auto 15px;padding:7px}.admin-nav>.admin-nav-button{border-radius:11px;min-height:46px;padding:8px 6px;font-size:clamp(12px,2.6vw,14px);line-height:1.25}.admin-nav>.admin-nav-button.active{box-shadow:0 3px 10px #1e4d2e24}main:has(>.admin-nav)>h1{margin:12px 0 4px;font-size:clamp(23px,4.4vw,33px)}main:has(>.admin-nav)>p{margin-bottom:8px}main:has(>.admin-nav)>section{border-radius:18px;margin:10px auto 16px;padding:clamp(12px,2.5vw,22px)}main:has(>.admin-nav)>section>h2{margin-bottom:13px;padding-bottom:9px}main:has(>.admin-nav) .admin-card{border-radius:15px;min-width:0}main:has(>.admin-nav) :is(input,select,textarea){max-width:100%}main:has(>.admin-nav) .appointment-card{overflow-wrap:anywhere;min-width:0}main:has(>.admin-nav) .appointment-card h3{line-height:1.3}main:has(>.admin-nav) .appointment-card p{line-height:1.45}main:has(>.admin-nav) .admin-agenda-grid{gap:10px}main:has(>.admin-nav) .admin-calendar-day{min-width:0}main:has(>.admin-nav) .finance-list-panel{padding:clamp(12px,2.5vw,20px)!important}main:has(>.admin-nav) .finance-appointment-card{margin:9px 0}main:has(>.admin-nav) .finance-appointment-heading{padding:13px 38px 13px 13px}main:has(>.admin-nav) .finance-appointment-body{padding:13px}main:has(>.admin-nav) .finance-report-panel{min-width:0}main:has(>.admin-nav) .finance-report-grid{min-width:0}main:has(>.admin-nav) .studio-config-section{min-width:0}main:has(>.admin-nav) .studio-config-section>summary{cursor:pointer}main:has(>.admin-nav) .studio-config-section-body{min-width:0}main:has(>.admin-nav) :is(button,summary):focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (width>=900px){.admin-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){#root{padding:0 8px 24px}.booking-page.booking-app{padding:6px 3px 16px}.booking-page .booking-brand{padding:6px 8px 11px}.booking-page .booking-shell{border-radius:16px}.booking-page .booking-panel{padding:13px 12px}.booking-page .booking-progress-top{padding:12px 12px 7px}.booking-page .booking-progress{padding:0 12px 11px}.booking-page .booking-procedure{gap:9px!important;min-height:72px!important;padding:9px!important}.booking-page .procedure-thumbnail{border-radius:12px;flex-basis:54px;width:54px;height:54px;font-size:31px}.booking-page .booking-bottom{padding:11px 12px 13px}.booking-page .booking-slots{gap:8px}.admin-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:10px auto 12px;padding:6px}.admin-nav>.admin-nav-button{min-height:44px;padding:8px 3px;font-size:12px}main:has(>.admin-nav)>section{border-radius:14px;padding:12px 10px}main:has(>.admin-nav) .admin-agenda-grid{gap:8px}main:has(>.admin-nav) .finance-appointment-heading{padding:12px 36px 12px 12px}main:has(>.admin-nav) .finance-report-periods{gap:6px}}@media (width<=370px){.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-page .booking-procedure-right>strong{font-size:13px}}@media (prefers-reduced-motion:reduce){.booking-page .booking-procedure{transition:none}}.booking-calendar{background:#f8faf8;border:1px solid #dce8df;border-radius:18px;width:100%;padding:16px}.booking-calendar-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.booking-calendar-header button{color:#315f4a;cursor:pointer;background:#fff;border:1px solid #dce8df;border-radius:12px;width:38px;height:38px;font-size:22px}.booking-calendar-header button:disabled{opacity:.3;cursor:not-allowed}.booking-calendar-header strong{color:#253f32;text-transform:capitalize;font-size:16px}.booking-calendar-weekdays,.booking-calendar-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.booking-calendar-weekdays{margin-bottom:10px}.booking-calendar-weekdays span{color:#7c9185;font-size:12px;font-weight:700}.booking-calendar-days button{aspect-ratio:1;color:#294333;cursor:pointer;background:0 0;border:none;border-radius:10px;width:100%;min-height:36px;font-size:14px}.booking-calendar-days button:hover:not(:disabled){background:#e2eee5}.booking-calendar-days button.selected{color:#fff;background:#315f4a;font-weight:700}.booking-calendar-days button:disabled{color:#b9c5bd;cursor:not-allowed}.booking-calendar-footer{color:#315f4a;text-align:center;background:#edf5ee;border-radius:10px;margin-top:16px;padding:12px;font-size:13px;font-weight:600}@media (width<=400px){.booking-calendar{padding:12px}.booking-calendar-days{gap:3px}.booking-calendar-days button{min-height:32px;font-size:13px}}.booking-calendar{box-sizing:border-box;min-width:0;max-width:100%}.booking-calendar-weekdays,.booking-calendar-days{box-sizing:border-box;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;display:grid}.booking-calendar-weekdays>span{white-space:nowrap;text-align:center;justify-content:center;align-items:center;width:100%;min-width:0;font-size:10px;line-height:1.4;display:flex}.booking-calendar-days>button{box-sizing:border-box;aspect-ratio:1;justify-content:center;align-items:center;width:100%;min-width:0;min-height:0;padding:0;display:flex}@media (width<=400px){.booking-calendar{padding:10px}.booking-calendar-weekdays,.booking-calendar-days{gap:2px}.booking-calendar-weekdays>span{font-size:9px}.booking-calendar-days>button{font-size:12px}}.booking-calendar-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:5px;width:100%;display:grid}.booking-calendar-weekday{color:#7c9185;white-space:nowrap;justify-content:center;align-items:center;min-width:0;padding:8px 0;font-size:11px;font-weight:700;display:flex}.booking-calendar-grid>button{aspect-ratio:1;color:#294333;cursor:pointer;background:#fff;border:1px solid #dce8df;border-radius:10px;justify-content:center;align-items:center;width:100%;min-width:0;padding:0;font-size:13px;display:flex}.booking-calendar-grid>button.selected{color:#fff;background:#315f4a;border-color:#315f4a;font-weight:700}.booking-calendar-grid>button:disabled{opacity:.4;cursor:not-allowed}@media (width<=400px){.booking-calendar-grid{gap:3px}.booking-calendar-weekday{font-size:10px}.booking-calendar-grid>button{font-size:12px}}.booking-calendar-grid>button.day-available:not(.selected):not(:disabled){color:#255d3a;background:#e4f3e8;border-color:#87b99b}.booking-calendar-grid>button.day-unavailable:not(.selected):not(:disabled){color:#805018;background:#fff0d9;border-color:#dfb77a}.booking-calendar-legend{flex-wrap:wrap;justify-content:center;gap:8px 14px;margin:14px 0 6px;font-size:11px;display:flex}.booking-calendar-legend span{align-items:center;gap:5px;display:inline-flex}.booking-calendar-legend i{border:1px solid #aaa;border-radius:3px;width:10px;height:10px;display:inline-block}.booking-calendar-legend .legend-available{background:#e4f3e8;border-color:#87b99b}.booking-calendar-legend .legend-unavailable{background:#fff0d9;border-color:#dfb77a}.booking-calendar-legend .legend-pending{background:#f0f0f0}.booking-calendar-note{text-align:center;color:var(--text,#555);margin:7px 0;font-size:12px}#root{width:min(100%,1440px)}.studio-admin-v35{text-align:left;max-width:1240px}.studio-admin-header-v35{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;justify-content:space-between;align-items:center;gap:18px;margin:16px 0 10px;padding:17px 20px;display:flex}.studio-admin-identity-v35{align-items:center;gap:15px;min-width:0;display:flex}.studio-admin-heading-v35{min-width:0}.studio-admin-eyebrow-v35{color:var(--accent);letter-spacing:.13em;font-size:10px;font-weight:800;display:block}.studio-admin-heading-v35 h1{margin:2px 0 3px;font-size:clamp(19px,3vw,28px);line-height:1.12}.studio-admin-heading-v35 p{color:var(--muted);margin:0;font-size:13px}.studio-admin-logout-v35{flex:none;min-height:40px;padding:8px 13px;font-size:13px}.studio-admin-v35>.admin-nav{border-radius:16px;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;max-width:none;margin:0 0 13px;padding:7px;display:grid}.studio-admin-v35>.admin-nav>button{border-radius:10px;min-height:48px;padding:8px 4px;font-size:12px;line-height:1.2}.studio-admin-v35>section{width:100%;margin:0 0 14px;padding:clamp(12px,2vw,20px)}.studio-admin-v35>section>h2{margin-bottom:12px;padding-bottom:10px;font-size:clamp(19px,2.5vw,24px)}.studio-admin-v35 .admin-month-calendar{max-width:100%;margin-inline:auto}.studio-admin-v35 .admin-agenda-grid{gap:10px}.studio-admin-v35 .appointment-card{min-width:0}.studio-admin-v35 .appointment-card h3{margin-top:4px}.studio-admin-v35 .admin-card{min-width:0}.studio-admin-v35 .finance-page,.studio-admin-v35 .finance-report,.studio-admin-v35 .finance-report-grid,.studio-admin-v35 .finance-report-panel{min-width:0;max-width:100%}.studio-admin-v35 .finance-report-metrics{gap:8px}.studio-admin-v35 .finance-report-periods{gap:6px}.studio-admin-v35 .studio-config-section{min-width:0}.studio-admin-v35>section:has(input[type=search])>input[type=search]{background:var(--surface);border-radius:13px;width:100%;margin:12px 0 14px;display:block}.studio-admin-v35>section:has(input[type=search])>article{border:1px solid var(--border);background:var(--surface);border-radius:15px;margin:0 0 10px;padding:14px 16px;box-shadow:0 3px 12px #00000006}.studio-admin-v35>section:has(input[type=search])>article h3{margin:0 0 6px}.studio-admin-v35>section:has(input[type=search])>article p{margin:3px 0 7px}.booking-page.booking-app{width:100%;max-width:860px;padding:10px clamp(7px,2vw,20px) 25px}.booking-page .booking-brand{padding:8px 0 12px}.booking-page .booking-brand h1{margin:4px 0;font-size:clamp(22px,3.5vw,28px)}.booking-page .booking-brand p{margin-bottom:0;font-size:13px}.booking-page .booking-shell{border-radius:18px;overflow:visible}.booking-page .booking-progress-top{justify-content:space-between;align-items:center;padding:14px 18px 8px;font-size:11px;display:flex}.booking-page .booking-progress-top strong{color:var(--booking-primary,var(--accent));font-size:12px}.booking-page .studio-booking-steps-v35{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0;padding:0 18px 12px;list-style:none;display:grid}.booking-page .studio-booking-steps-v35 li{min-width:0;color:var(--muted);flex-direction:column;align-items:center;gap:4px;display:flex}.booking-page .studio-booking-steps-v35 li span{border:1px solid var(--border);background:var(--surface);border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;font-weight:800;display:grid}.booking-page .studio-booking-steps-v35 li small{text-align:center;overflow-wrap:anywhere;font-size:10px;line-height:1.2}.booking-page .studio-booking-steps-v35 li.current span{background:var(--booking-primary,var(--accent));color:#fff;border-color:var(--booking-primary,var(--accent));box-shadow:0 0 0 3px var(--accent-bg)}.booking-page .studio-booking-steps-v35 li.current{color:var(--text-h);font-weight:800}.booking-page .studio-booking-steps-v35 li.complete span{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.booking-page .booking-progress{padding:0 18px 12px}.booking-page .booking-panel{padding:clamp(13px,2.6vw,22px)}.booking-page .booking-step-heading{margin-bottom:12px}.booking-page .booking-step-heading h2{font-size:clamp(19px,3vw,23px)}.booking-page .booking-procedure-list{gap:8px}.booking-page .booking-procedure{min-height:72px!important;padding:10px 12px!important}.booking-page .booking-slots{gap:8px}.booking-page .booking-slot{min-height:46px}.booking-page .booking-bottom{border-radius:0 0 18px 18px;padding:12px 16px}.booking-page .booking-back,.booking-page .booking-next{min-height:48px}@media (width<=820px){.studio-admin-v35>.admin-nav{overscroll-behavior-inline:contain;scrollbar-width:thin;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;display:flex;overflow-x:auto}.studio-admin-v35>.admin-nav>button{white-space:nowrap;scroll-snap-align:start;flex:none;width:auto;min-width:108px;padding:8px 11px}}@media (width<=640px){#root{padding:0 8px 25px}.studio-admin-header-v35{border-radius:15px;gap:8px;margin:8px 0;padding:10px 12px}.studio-admin-identity-v35{gap:8px}.studio-admin-heading-v35 h1{font-size:18px}.studio-admin-eyebrow-v35{letter-spacing:.07em;font-size:8px}.studio-admin-heading-v35 p{font-size:11px}.studio-admin-logout-v35{min-height:38px;padding:7px 9px;font-size:11px}.studio-admin-v35>.admin-nav{border-radius:12px;gap:5px;margin:0 0 9px;padding:5px}.studio-admin-v35>.admin-nav>button{min-width:100px;min-height:42px;font-size:12px}.studio-admin-v35>section{border-radius:14px;padding:11px 10px}.studio-admin-v35>section>h2{margin-bottom:9px;font-size:19px}.studio-admin-v35>section:has(input[type=search])>article{padding:11px 12px}.booking-page.booking-app{padding:5px 0 18px}.booking-page .booking-brand{padding:5px 0 8px}.booking-page .booking-shell{border-radius:14px}.booking-page .booking-progress-top{padding:10px 11px 7px}.booking-page .studio-booking-steps-v35{gap:2px;padding:0 8px 9px}.booking-page .studio-booking-steps-v35 li span{width:23px;height:23px}.booking-page .studio-booking-steps-v35 li small{font-size:9px}.booking-page .booking-progress{padding:0 11px 10px}.booking-page .booking-panel{padding:12px 11px}.booking-page .booking-procedure{min-height:70px!important;padding:9px!important}.booking-page .booking-bottom{padding:10px 11px}}@media (prefers-reduced-motion:reduce){.studio-admin-v35 *,.booking-page .studio-booking-steps-v35 *{scroll-behavior:auto;transition:none}}
