:root{--ink:#304e48;--rose:#b4455c;--line:#ddc8c8;--green:#557c73}
html{scroll-behavior:auto!important}
/* Keep shared form styles from stretching the navigation and calendar. */
.site-header{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px 20px}
.site-header .brand{grid-column:1}.site-header .main-nav{grid-column:2 / 5;justify-self:end;margin:0;width:auto;order:0}
.site-header .language-picker{grid-column:1;width:auto;justify-self:start;min-width:76px}
.site-header .sound-player{grid-column:2;justify-self:end}.site-header .header-actions{grid-column:3 / 5;justify-self:end;flex-wrap:wrap;margin:0}
.hero-copy{padding:clamp(40px,5vw,80px)}
.hero h1{font-size:clamp(3rem,4.6vw,5.5rem);line-height:1.04}
.booking-columns>div{min-width:0}
.calendar#calendar{min-width:0;grid-template-columns:repeat(7,minmax(130px,1fr))}
.calendar-day>h4{min-height:56px;display:flex;align-items:center}
.calendar-slot{height:var(--slot-height,40px);overflow:auto}
.calendar-event{overflow-wrap:anywhere}
.dialog-content>h2,.dialog-content>#manage-body>h2{padding-inline-end:40px}
.customer-row>div{min-width:0}.customer-row .row-actions{align-content:start}
@media(max-width:760px){
 .site-header{grid-template-columns:1fr auto;gap:12px}
 .site-header .brand{grid-column:1;grid-row:1;font-size:15px}
 .site-header .language-picker{grid-column:2;grid-row:1;justify-self:end}
 .site-header .main-nav{grid-column:1 / -1;grid-row:2;justify-self:stretch;justify-content:space-between;gap:10px}
 .site-header .sound-player{grid-column:1;grid-row:3;justify-self:start}
 .site-header .header-actions{grid-column:2;grid-row:3;max-width:180px}
 .hero-copy{padding:44px 24px}.hero h1{font-size:clamp(2.6rem,10vw,3.5rem)}
 .customer-row{flex-direction:column}.image-picker{grid-template-columns:1fr!important}
 .date-heading{flex-wrap:wrap}.date-heading h3{margin-bottom:8px}
}
[hidden]{display:none!important}body{color:var(--ink);background:#fff4f3}.test-banner{padding:8px 20px;text-align:center;background:#edd7d5;color:#603c43;font-size:12px}.app-section{max-width:1180px;margin:50px auto;padding:36px;border:1px solid var(--line);border-radius:24px;background:#fffaf8;scroll-margin-top:25px}.app-section h2{font-size:clamp(26px,4vw,40px)}.app-section h3{font-size:19px}.app-section p{line-height:1.6}.app-section button:not(.button),dialog button:not(.button){cursor:pointer;border:1px solid var(--line);background:#fffaf8;color:var(--ink);border-radius:8px;padding:9px 13px;font:inherit}button:disabled{opacity:.42;cursor:not-allowed!important}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #af5870;outline-offset:3px}.booking-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px}.booking-options{min-width:0}.booking-options fieldset{border:0;padding:0;margin:0}.booking-options legend{font-weight:700;margin-bottom:10px}.staff-tiles{display:flex;gap:10px;flex-wrap:wrap}.staff-tile{flex:1;font-weight:600!important}.staff-tile small{display:block;font-size:11px;font-weight:400;line-height:1.4;margin-top:4px}.choice-tiles{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.choice-tiles button{min-width:76px;padding:10px 12px!important}.choice-tiles button[aria-pressed=true],.staff-tile[aria-pressed=true]{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important;box-shadow:0 0 0 3px #557c7326}.choice-tiles button:disabled{text-decoration:line-through}.date-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.date-heading label{font-size:12px;max-width:165px}input,select,textarea{max-width:100%;color:var(--ink);font:inherit}label.field,.field{display:grid;gap:7px;margin-bottom:14px}input:not([type=checkbox]),select,textarea{border:1px solid var(--line);border-radius:9px;padding:11px;background:#fff;width:100%}input[type=checkbox]{appearance:auto!important;display:inline-block!important;position:static!important;opacity:1!important;width:20px!important;height:20px!important;flex-shrink:0;accent-color:var(--green)}details{border:1px solid var(--line);border-radius:12px;margin:10px 0;background:#fffaf8}summary{padding:15px;cursor:pointer;font-weight:600;list-style-position:inside}details[open]>summary{border-bottom:1px solid var(--line)}details>*:not(summary){margin-left:15px;margin-right:15px}details>*:last-child{margin-bottom:15px}.service-choice{display:flex!important;align-items:center;gap:10px;padding:11px 3px;border-bottom:1px solid #eee1df;font-size:14px;cursor:pointer}.service-choice span{flex:1}.service-choice small{display:block;color:#6a776f}.service-choice b{font-size:13px;white-space:nowrap}.price-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;align-items:start}.price-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #eee1df;font-size:14px}.price-row strong{white-space:nowrap}.muted{font-size:13px;color:#65776f}.notice,[role=status]:not([hidden]){padding:12px;background:#eef5ef;border-radius:9px;border:1px solid #bdd1c0;white-space:pre-line}.error{background:#fff0f0!important;border-color:#d19797!important;color:#7f2437!important}.appointment-card{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.appointment-card p{margin:4px 0}.appointment-card small{display:block}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.calendar-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:24px 0 10px}.calendar-toolbar h3{flex:1}.calendar-toolbar label{font-size:12px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);overflow:auto;border-radius:12px;max-height:730px}.calendar-day{border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);min-height:135px;background:#fff;padding:5px;min-width:112px}.calendar-day>h4{position:sticky;top:0;margin:0;padding:10px 3px;font-size:13px;background:#f8eae5;z-index:1}.calendar-day.is-today>h4{background:var(--green);color:#fff}.calendar-slot{min-height:31px;border-bottom:1px dashed #e8e4df;padding:4px}.calendar-slot>small{font-size:10px;color:#52635a}.calendar-event{display:block;width:100%;text-align:start!important;font-size:11px!important;padding:7px!important;margin:4px 0;background:#f4e0e4!important;border-color:#ddbfc4!important;cursor:grab!important;line-height:1.4}.calendar-event.parmis{background:#e0eee8!important;border-color:#bdd4c7!important}.calendar-event strong{display:block}.drop-hover{outline:2px solid var(--green);background:#e9f2eb!important}.customer-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e8dddd}.customer-row small{display:block;overflow-wrap:anywhere}.cms-form,.service-form{padding:15px 0;border-bottom:1px solid var(--line);display:grid;gap:9px}.cms-form textarea{min-height:70px}.cms-form .row-actions{align-items:center}.service-form{grid-template-columns:1fr 1fr}.service-form .wide{grid-column:1/-1}.service-form label{font-size:13px}.dialog-close{position:absolute;right:18px;top:16px}.dialog-content{position:relative;padding:32px;min-width:0}dialog{max-width:min(680px,calc(100vw - 24px));max-height:90dvh;border:1px solid var(--line);border-radius:20px;padding:0;width:600px;background:#fffaf8;color:var(--ink)}dialog::backdrop{background:#253b3980;backdrop-filter:blur(4px)}.dialog-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.note-card{padding:15px;background:#fff;border:1px solid var(--line);margin:10px 0;border-radius:10px;white-space:pre-line}.floating-notice{position:fixed;bottom:20px;right:20px;max-width:420px;z-index:100}.header-actions{display:flex;gap:10px;align-items:center}.header-actions button{font:inherit}.site-header{flex-wrap:wrap}.rules-grid{gap:25px}.price-list details{margin:0}.cms-form output{font-size:13px;color:var(--green)}.customer-detail-history{max-height:340px;overflow:auto}.image-picker{display:grid;grid-template-columns:90px 1fr;gap:15px;align-items:center;margin-bottom:15px}.image-picker img{width:90px;height:75px;object-fit:cover;border-radius:10px}
@media(max-width:760px){.app-section{margin:22px 12px;padding:20px}.booking-columns{grid-template-columns:1fr;gap:25px}.appointment-card{align-items:flex-start;flex-direction:column}.calendar{grid-template-columns:repeat(7,130px)}.calendar-toolbar h3{flex-basis:100%;order:-1}.dialog-content{padding:27px 20px}.service-form{grid-template-columns:1fr}.service-form .wide{grid-column:auto}.date-heading{align-items:end}.site-header{gap:12px}.rules-grid{grid-template-columns:1fr}.floating-notice{left:12px;right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
