@font-face{font-family:Italiana;src:url('/assets/fonts/italiana.60bf55626d54.woff2') format('woff2');font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter.cf4054a46c16.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#f7f5f1;--panel:#fffefa;--ink:#25211d;--muted:#62584f;--line:#dcd3c8;--accent:#745642;--wash:#efe4d9;--green:#e6ece1;--danger:#802f32;--white:#fffefa;--space:clamp(14px,2.25vw,24px);--round:9px;--display:Italiana,Georgia,serif;--sans:Inter,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.55 var(--sans);overflow-wrap:anywhere}
h1,h2,h3,p{margin:0}
h1,h2{font:400 clamp(36px,5.3vw,64px)/1.04 var(--display)}
h2{font-size:clamp(29px,3.5vw,42px)}
h3{font-size:16px;line-height:1.35}
img{display:block;max-width:100%;object-fit:cover}
a{color:inherit;text-underline-offset:4px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.top{background:var(--panel);border-bottom:1px solid var(--line)}
.top-inner{width:min(100% - 36px,1220px);min-height:76px;margin:auto;display:flex;align-items:center;gap:16px;justify-content:space-between}
.top-inner img{object-fit:contain}
.preview-tag,.badge,.eyebrow{font-size:11px;font-weight:650;letter-spacing:.13em;text-transform:uppercase}
.preview-tag,.badge{border:1px solid var(--line);background:var(--wash);padding:3px 8px;border-radius:4px;line-height:1.4}
.top-inner>a:last-child{font-size:13px;font-weight:550;text-align:right}
.frame{width:min(100% - 36px,1220px);margin:clamp(22px,4vw,55px) auto;min-height:60vh}
.footer{width:min(100% - 36px,1220px);margin:32px auto 20px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:center;gap:16px;flex-wrap:wrap;text-align:center;color:var(--muted);font-size:12px}
.stack,.form,.card-body,.section{display:grid;gap:var(--space);align-content:start;min-width:0}
.form,.card-body{gap:16px}
.compact{display:grid;gap:8px;min-width:0}
.muted,small{color:var(--muted)}
.eyebrow{color:var(--accent)}
.panel,.card,.person,.appointment,.metric{background:var(--panel);border:1px solid var(--line);border-radius:var(--round);min-width:0}
.panel{padding:var(--space)}
.columns,.split,.fields,.stats,.catalog,.week,.dates,.slots,.toolbar,.actions{display:grid;gap:var(--space);min-width:0}
.columns{grid-template-columns:minmax(240px,1fr) minmax(0,1.8fr);align-items:start}
.fields,.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.catalog{grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr))}
.card{overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.card>img{width:100%;aspect-ratio:1.8;object-position:center 45%;background:var(--wash)}
.card-body{padding:16px;grid-template-rows:auto auto 1fr auto}
.price{font-weight:700;font-variant-numeric:tabular-nums}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.actions.end{justify-content:flex-end}
.btn,.chip,.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:10px 15px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink);text-align:center;text-decoration:none;white-space:normal;font-weight:570;line-height:1.28}
.btn:hover,.chip:hover,.person:hover{border-color:var(--accent);background:var(--wash)}
.btn.primary{color:var(--white);background:var(--ink);border-color:var(--ink)}
.btn.primary:hover{background:#493b31;border-color:#493b31}
.btn.danger{color:var(--danger)}
.text-btn{background:transparent;border-color:transparent;padding-inline:2px;text-decoration:underline;text-underline-offset:4px}
button:disabled{opacity:.46;cursor:default}
.chip[aria-pressed=true],.person[aria-pressed=true]{background:var(--wash);border-color:var(--accent)}
label.field{display:grid;gap:7px;min-width:0;align-content:start;font-size:13px;font-weight:600}
input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-width:0;max-width:100%;min-height:44px;padding:10px 13px;background:var(--panel);border:1px solid #bdb0a2;border-radius:5px;font-size:16px;line-height:1.3}
select{appearance:none;padding-right:46px;text-overflow:ellipsis}
:root{--chevron-size:18px;--chevron-inset:14px}
textarea{min-height:94px;resize:vertical}
input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--accent);margin:2px 0 0}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.person{display:flex;gap:13px;align-items:center;padding:12px;width:100%;text-align:left}
.portrait{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;background:var(--wash)}
.staff-avatar{width:var(--staff-avatar-size,48px);height:var(--staff-avatar-size,48px);display:grid;place-items:center;flex:none;overflow:hidden;border-radius:50%;background:var(--wash);color:var(--ink);font-size:calc(var(--staff-avatar-size,48px) * .36);font-weight:650;line-height:1}
.staff-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.person span,.appointment span{min-width:0}
.person strong,.person small{display:block}
.steps{display:flex;gap:8px 14px;flex-wrap:wrap;padding:0;margin:0;list-style:none;color:var(--muted);font-size:12px}
.steps [aria-current]{color:var(--ink);font-weight:700}
.dates{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.dates .chip{padding:6px 3px;display:grid;gap:0;font-size:13px}
.slots{grid-template-columns:repeat(auto-fit,minmax(min(100%, max(5ch + 18px, 74px)),1fr));gap:7px}
.slots .chip{padding-inline:8px;white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}
.toolbar{grid-template-columns:auto minmax(105px,1fr) auto;gap:7px;align-items:end}
.notice{min-width:0;padding:12px 14px;border-radius:5px;background:var(--wash);border:1px solid var(--line)}
.error{color:var(--danger);font-weight:600}
.error:empty{display:none}
.loading{color:var(--muted)}
.studio-grid{display:grid;grid-template-columns:minmax(155px,205px) minmax(0,1fr);gap:var(--space);align-items:start}
.studio-nav{display:grid;gap:5px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--round)}
.studio-nav button{text-align:left;justify-content:flex-start}
.studio-nav button[aria-current]{background:var(--wash);border-color:var(--accent)}
.studio-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px}
.metric{padding:12px;display:grid;gap:3px}
.metric strong{font-size:24px;line-height:1.18}
.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:start}
.week-day{padding:7px;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:5px;display:grid;gap:7px}
.week-day>button{min-width:0}
.appointment{padding:12px;display:grid;gap:4px;text-align:left;width:100%;font-size:13px}
.week .appointment{padding:6px;font-size:11px;gap:3px}
.appointment.booked{background:var(--wash)}
.appointment.completed{background:var(--green)}
.appointment.cancelled{text-decoration:line-through;color:var(--muted)}
.appointment.block{background:#ece9e5}
details.panel{padding:0}
details>summary{cursor:pointer;font-weight:620;padding:14px;list-style-position:inside}
details>summary+div{padding:0 14px 14px}
.dialog{width:min(100% - 28px,590px);max-height:calc(100dvh - 30px);padding:var(--space);border:1px solid var(--line);border-radius:var(--round);background:var(--paper);color:var(--ink)}
.dialog::backdrop{background:#271e18a6}
.dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:var(--space)}
.dialog-head .btn{min-width:44px;padding:8px}
.day-line{display:grid;grid-template-columns:45px repeat(4,minmax(0,1fr));gap:6px;align-items:end}
.day-line>label.field{font-size:10px}
.day-line input[type=time]{font-size:13px;padding-inline:5px}
.day-line .check{font-size:12px}
.mail-text{margin:0;white-space:pre-wrap;font:13px/1.5 var(--sans)}
@media(max-width:920px){.week{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-grid{grid-template-columns:minmax(0,1fr)}.studio-nav{display:flex;flex-wrap:wrap}.studio-nav button{justify-content:center;flex:1 1 130px}}
@media(max-width:650px){.top-inner,.frame,.footer{width:calc(100% - 26px)}.columns{grid-template-columns:minmax(0,1fr)}.frame{margin-top:22px}.top-inner{min-height:65px;gap:8px}.top-inner img{width:57px}.top-inner>a:last-child{font-size:11px}.preview-tag{font-size:9px}.week{grid-template-columns:minmax(0,1fr)}.day-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.day-line .check{grid-column:1/-1}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.actions.end>.primary{width:100%}}
@media(max-width:360px){.fields,.split{grid-template-columns:minmax(0,1fr)}}


:root {--field-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23574638' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
select {background-image:var(--field-chevron);background-size:var(--chevron-size);background-position:right var(--chevron-inset) center;background-repeat:no-repeat}
.picker-control {position:relative;display:block;min-width:0}
.picker-control input {min-width:0;font-variant-numeric:tabular-nums}
.picker-trigger {display:none}
.custom-native-picker .picker-control input {padding-inline-end:38px}
.custom-native-picker .picker-control input::-webkit-calendar-picker-indicator {display:none}
.custom-native-picker .picker-trigger {display:block;position:absolute;inset:1px 1px 1px auto;width:37px;
  border-radius:0 4px 4px 0;background:var(--panel) var(--field-chevron) no-repeat right calc(var(--chevron-inset) - 1px) center / var(--chevron-size);
  cursor:pointer}
.custom-native-picker .picker-control:has(input:disabled) .picker-trigger {pointer-events:none;opacity:.5}
.booking-layout {grid-template-columns:minmax(240px,1fr) minmax(0,1.8fr)}
.booking-calendar {gap:12px}
.booking-calendar .dates .chip {background:transparent}
.booking-calendar .dates .chip.has-slots {background:#e6ece1;border-color:#9caa91}
.booking-calendar .dates .chip[aria-pressed=true] {background:var(--wash);border-color:var(--accent)}
.booking-calendar .dates .chip:disabled {opacity:.48}
.booking-calendar .dates {row-gap:5px}
.calendar-weekdays {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;color:var(--muted);text-align:center;font-size:11px}
@media(max-width:800px){.booking-layout {grid-template-columns:minmax(0,1fr)}}

.manage-panel {width:min(100%,640px);margin-inline:auto}
.manage-summary {background:var(--wash);border:1px solid var(--line);border-radius:var(--round);padding:var(--space)}
.manage-summary h3 {font-size:19px}
.manage-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.manage-actions .btn {padding-inline:7px}
.appointment.open {background:var(--wash)}
.appointment.no_show {color:var(--muted)}

.booking-site img.service-photo-placeholder{object-fit:contain;background:#f7f4ee}
