@font-face{font-family:Manrope;src:url('assets/cedar-sans.ttf?v=1') format('truetype');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--bg:#eef3f0;--surface:#ffffff;--raised:#e6eee8;--field:#f6f9f7;--ink:#15291e;--muted:#4c6254;--quiet:#4e6758;--accent:#246347;--accent-ink:#ffffff;--wash:#e0eee4;--line:#789281;--subline:#d9e3dc;--danger:#9e352c;--danger-bg:#fff0ed;--ease:cubic-bezier(.16,1,.3,1);--radius:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--z-sticky:10;--z-dialog:20;--z-skip:30}
:root[data-theme=dark]{color-scheme:dark;--bg:#0b1110;--surface:#121c18;--raised:#19251f;--field:#0f1713;--ink:#f5f0e5;--muted:#b5c0b8;--quiet:#96aa9c;--accent:#8fbda5;--accent-ink:#10251a;--wash:#22372b;--line:#607c69;--subline:#27372e;--danger:#f1aaa0;--danger-bg:#38221f}
*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:radial-gradient(ellipse at 85% 0%,#8fbda51c,transparent 52%),var(--bg);color:var(--ink);font:14px/1.55 Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button{transition:background .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease)}button:hover:not(:disabled){background:var(--raised)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty;max-width:70ch}h1{font-size:32px;font-weight:550;line-height:1.2;letter-spacing:-.03em}h2{font-size:18px;line-height:1.4;font-weight:650;letter-spacing:-.015em}h3{font-size:15px;font-weight:650}.muted,.intro{color:var(--muted)}.intro{margin-top:9px}.small,small{font-size:12px}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}.icon-button{width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.text-button{min-height:44px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);padding:8px 0;font-size:12px}.button{border:1px solid var(--line);border-radius:7px;min-height:46px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--surface);font-weight:650;font-size:13px;text-decoration:none}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:inset 0 1px #ffffff28}.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent),var(--ink) 10%)}.danger{color:var(--danger);background:var(--danger-bg)}.sample-band{background:color-mix(in srgb,var(--surface),var(--bg) 45%);border-bottom:1px solid var(--subline)}.sample-band>div{max-width:1440px;margin:auto;min-height:40px;padding:0 40px;display:flex;justify-content:space-between;align-items:center;gap:18px}.sample-band p,.sample-band button{font-size:11px;color:var(--muted)}.sample-band button{min-height:38px;white-space:nowrap}.sample-band .icon{width:13px;height:13px}.brand-header{padding:20px 40px;display:flex;align-items:center;gap:24px;max-width:1440px;margin:auto;border-bottom:1px solid var(--subline)}.brand{display:flex;align-items:center;gap:12px}.brand p{font-size:20px;font-weight:550;letter-spacing:-.025em;line-height:1.3}.brand span{font-size:9px;letter-spacing:.25em;color:var(--accent)}#theme{margin-left:auto;width:36px;height:36px}#theme .icon{width:17px;height:17px}:root[data-theme=light] .brand img,:root[data-theme=light] footer img{filter:brightness(.25)}.page-shell{max-width:1120px;margin:auto;padding:28px 32px 0}.view-switch{display:flex;background:var(--raised);border:1px solid var(--subline);border-radius:8px;padding:4px;width:max-content;max-width:100%;margin-bottom:30px}.view-switch button{min-height:42px;padding:9px 22px;background:transparent;border:1px solid transparent;border-radius:5px;font-size:13px;color:var(--muted);font-weight:600}.view-switch button[aria-current]{background:var(--surface);color:var(--ink);border-color:var(--subline)}main{min-width:0;outline:none}.steps{list-style:none;display:flex;padding:0;margin:0 0 27px;gap:30px;color:var(--muted);font-size:12px}.steps li{display:flex;align-items:center;gap:8px}.steps .number{border:1px solid var(--line);border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-size:11px}.steps [aria-current]{color:var(--accent);font-weight:650}.steps [aria-current] .number{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.screen-head{margin-bottom:26px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}.work-panel{min-width:0;background:var(--surface);border:1px solid var(--subline);border-radius:var(--radius);box-shadow:inset 0 1px #8fbda51a;padding:24px}.service-list{background:var(--surface);border:1px solid var(--subline);border-radius:var(--radius);padding:0;overflow:clip}.service-choice{position:relative;width:100%;min-height:106px;display:flex;align-items:flex-start;gap:16px;padding:20px 22px;text-align:left;border:0;background:transparent;color:var(--ink)}.service-choice+.service-choice{border-top:1px solid var(--subline)}.service-choice[aria-pressed=true]{background:var(--wash);box-shadow:inset 0 1px color-mix(in srgb,var(--accent),transparent 70%)}.radio{width:19px;height:19px;border:1px solid var(--line);border-radius:50%;margin-top:3px;flex:none;display:grid;place-items:center}.service-choice[aria-pressed=true] .radio{border-color:var(--accent);background:var(--accent)}.service-choice[aria-pressed=true] .radio:after{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent-ink)}.service-body{flex:1;min-width:0}.service-title{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:16px;font-weight:650}.service-title small{font-size:12px;white-space:nowrap;font-weight:550;color:var(--muted)}.service-body p{font-size:12px;color:var(--muted);margin-top:6px;max-width:45ch}.side-summary{padding:23px 0 16px;border-top:1px solid var(--line);min-width:0}.summary-label{font-size:12px;color:var(--muted);margin-bottom:15px}.side-summary h2{font-size:19px;font-weight:600;line-height:1.4}.summary-length{font-size:12px;color:var(--muted);margin-top:7px}.prep{margin-top:23px;padding-top:19px;border-top:1px solid var(--subline)}.prep h3{font-size:12px;color:var(--muted);margin-bottom:7px}.prep p{font-size:13px}.prep p+p{margin-top:10px;color:var(--muted)}.summary-date{margin-top:18px;font-size:13px;color:var(--accent);display:flex;gap:10px;align-items:flex-start}.summary-date .icon{margin-top:2px}.actions{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--subline);margin-top:28px;padding-top:20px;min-height:67px}.action-note{color:var(--muted);font-size:12px}.action-buttons{margin-left:auto;display:flex;gap:12px;align-items:center}.action-buttons .text-button{padding:8px 12px}.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:16px}.date-choice{min-width:0;min-height:82px;padding:9px 2px 7px;background:var(--surface);border:1px solid var(--subline);border-radius:7px;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;gap:3px}.date-choice .weekday{font-size:10px;color:var(--muted)}.date-choice strong{font-size:19px;font-weight:550;line-height:1.25}.date-choice .day-status{font-size:9px;color:var(--muted);min-height:14px}.date-choice.unavailable{background:var(--field);color:var(--muted)}.date-choice[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--wash);color:var(--accent)}.date-choice .dot{display:block;width:4px;height:4px;margin-top:4px;background:var(--accent);border-radius:50%}.date-choice.unavailable .dot{background:var(--line)}.time-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 14px}.time-head h3{font-size:13px}.time-head small{font-size:11px;color:var(--muted)}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.slot{min-height:43px;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:8px 3px;font-size:12px;font-variant-numeric:tabular-nums}.slot[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.empty{padding:28px 12px;text-align:center;background:var(--field);border-radius:7px}.empty h3{font-size:15px}.empty p{font-size:12px;color:var(--muted);margin:8px auto 12px;max-width:40ch}.empty .icon{width:26px;height:26px;color:var(--muted);margin-bottom:13px}.empty .button{font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 18px}.field{min-width:0;display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}label{font-size:12px;font-weight:600}input,select,textarea{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:6px;background:var(--field);padding:10px 11px;font-size:14px}textarea{min-height:94px;resize:vertical}small,.field small{color:var(--muted);font-size:11px}.field-error{font-size:12px;color:var(--danger)}[aria-invalid=true]{border-color:var(--danger)}.form-toolbar{display:flex;justify-content:flex-end;margin:-9px 0 15px}.form-toolbar button{font-size:11px;color:var(--accent)}.notice{background:var(--wash);padding:12px 16px;border:1px solid var(--line);border-radius:7px;margin-bottom:18px;font-size:13px}.notice.error{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}dl{margin:0}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}.facts>div{min-width:0}.facts .full{grid-column:1/-1}dt{font-size:11px;color:var(--muted);margin-bottom:5px}dd{margin:0;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}.section-divider{margin:23px 0;border:0;border-top:1px solid var(--subline)}.review-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.review-head h2{font-size:15px}.review-head .text-button{font-size:11px}.receipt{background:var(--surface);border:1px solid var(--subline);border-radius:var(--radius);padding:30px;max-width:760px;margin:auto}.receipt-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px}.receipt-seal{width:47px;height:47px;flex:none;display:grid;place-items:center;background:var(--wash);border:1px solid var(--accent);border-radius:50%;color:var(--accent);box-shadow:0 0 16px #8fbda51c;animation:seal .3s var(--ease)}.receipt-seal .icon{width:23px;height:23px}.receipt h1{font-size:28px}.receipt .intro{font-size:13px}.receipt-time{padding:20px 0;border-top:1px solid var(--subline);border-bottom:1px solid var(--subline);margin-bottom:20px}.receipt-time h2{font-size:20px;max-width:34ch}.receipt-time p{margin-top:8px;color:var(--muted);font-size:13px}.receipt-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.preview{background:var(--field);border:1px solid var(--subline);padding:18px;border-radius:8px;margin-top:24px}.preview h2{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.tag{font-size:10px;color:var(--muted);border:1px solid var(--line);padding:2px 7px;border-radius:4px;font-weight:500}.preview p{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.8}.history{padding-top:20px;margin-top:22px;border-top:1px solid var(--subline)}.history h2{font-size:13px}.history p{font-size:12px;color:var(--muted);margin-top:10px}.receipt-foot{display:flex;justify-content:space-between;align-items:center;gap:12px}.shop-tabs{display:flex;gap:24px;border-bottom:1px solid var(--subline);margin-bottom:24px}.shop-tabs button{min-height:44px;border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 0;font-size:13px;color:var(--muted)}.shop-tabs button[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}.schedule-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);gap:24px}.schedule-layout h2{margin-bottom:17px}.hour-head,.hour-row{display:grid;grid-template-columns:minmax(105px,1fr) 120px 120px;gap:12px;align-items:center}.hour-head{font-size:10px;color:var(--muted);margin-bottom:7px}.hour-row{padding:9px 0;border-bottom:1px solid var(--subline)}.hour-row label{display:flex;align-items:center;gap:9px;font-size:12px}.hour-row input[type=checkbox]{min-height:18px;width:18px;height:18px;accent-color:var(--accent);padding:0}.hour-row input[type=time]{font-size:13px;padding:7px 8px;min-height:44px}.room-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px;padding-bottom:22px;border-bottom:1px solid var(--subline)}.room-row label{font-size:14px}.room-row small{display:block;margin-top:4px}.room-row select{width:80px}.blocked-form{display:flex;gap:8px;align-items:flex-end;margin-top:20px}.blocked-form .field{flex:1}.blocked-form .button{padding:10px 13px;white-space:nowrap}.blocked-list{padding:0;margin:10px 0 0;list-style:none}.blocked-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;min-height:43px;border-bottom:1px solid var(--subline)}.blocked-list button{border:0;background:transparent;min-width:40px;min-height:40px}.rules{margin-top:24px}.rule-head,.rule-row{display:grid;grid-template-columns:minmax(0,1fr) 68px 68px;gap:12px;align-items:center}.rule-head{font-size:10px;color:var(--muted);margin-bottom:5px}.rule-row{padding:11px 0;border-bottom:1px solid var(--subline)}.rule-row>span{font-size:12px}.rule-row input{padding:8px;min-height:39px}.exports{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 11px}.exports .button{font-size:12px}.bookings-table{margin-top:20px;border:1px solid var(--subline);border-radius:var(--radius);background:var(--surface);overflow:clip}.booking-row{width:100%;display:grid;grid-template-columns:1fr 1.2fr 1fr 80px 20px;gap:16px;align-items:center;padding:18px 22px;text-align:left;border:0;border-bottom:1px solid var(--subline);background:transparent}.booking-row:last-child{border-bottom:0}.booking-row strong{font-size:13px;font-weight:650}.booking-row span{font-size:12px;color:var(--muted)}.booking-row .row-person{display:flex;align-items:center;gap:12px}.avatar{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:11px;color:var(--accent);flex:none;background:var(--field)}.booking-row .status-tag{font-size:10px;border:1px solid var(--line);border-radius:4px;padding:2px 7px;width:max-content;color:var(--accent)}.booking-row .cancel-tag{color:var(--danger)}footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:27px 0;margin-top:18px;color:var(--muted)}footer p{font-size:10px}footer img{opacity:.8;object-fit:contain}dialog{width:min(440px,calc(100% - 36px));padding:25px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);z-index:var(--z-dialog)}dialog::backdrop{background:#07140eb3;backdrop-filter:blur(3px)}dialog p{color:var(--muted);font-size:13px;margin-top:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.skip{position:fixed;left:16px;top:-100px;background:var(--accent);color:var(--accent-ink);padding:12px;z-index:var(--z-skip)}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{margin-top:25px;color:var(--muted)}.noscript{padding:24px;text-align:center}.file-input{display:none}[hidden]{display:none!important}@keyframes seal{from{transform:scale(.88)}to{transform:scale(1)}}
@media(min-width:701px) and (max-width:1000px){.booking-layout{grid-template-columns:minmax(0,1fr) 225px;gap:24px}.page-shell{padding-left:24px;padding-right:24px}.schedule-layout{grid-template-columns:1fr}.date-grid{gap:4px}.date-choice{min-height:76px}.date-choice .day-status{font-size:8px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-choice{padding:18px 16px}.service-title{font-size:14px}.booking-row{grid-template-columns:1fr 1fr 1fr 75px 16px;gap:10px;padding:17px 14px}}
@media(max-width:700px){html{scrollbar-gutter:auto}body{padding-bottom:85px}.sample-band>div{padding:6px 19px;min-height:59px;gap:12px}.sample-band p{font-size:10px;line-height:1.6;max-width:235px}.sample-band button{font-size:10px}.sample-band .icon{display:none}.brand-header{padding:15px 20px;gap:14px}.brand img{width:39px;height:38px}.brand{gap:10px}.brand p{font-size:18px}.brand span{font-size:8px}#theme{margin-left:auto;width:34px;height:34px}.page-shell{padding:20px 19px 0}.view-switch{width:100%;margin-bottom:25px}.view-switch button{flex:1;font-size:12px;min-height:39px;padding:8px}.steps{gap:0;justify-content:space-between;margin-bottom:23px;font-size:10px}.steps li{gap:5px}.steps .number{width:21px;height:21px;font-size:10px}.screen-head{margin-bottom:22px}h1{font-size:28px}.intro{font-size:12px;margin-top:8px}.booking-layout{display:flex;flex-direction:column;gap:22px}.booking-layout>.primary-pane{width:100%;min-width:0}.service-choice{padding:17px 15px;min-height:99px;gap:12px}.service-title{font-size:14px;gap:8px}.service-title small{font-size:11px}.service-body p{font-size:11px;line-height:1.65;margin-top:5px}.radio{width:17px;height:17px}.side-summary{width:100%;padding:16px 0 0;border-top:1px solid var(--subline)}.side-summary .summary-label,.side-summary>h2,.side-summary .summary-length{display:none}.prep{margin-top:0;padding-top:0;border-top:0}.prep h3{font-size:11px;margin-bottom:6px}.prep p{font-size:12px}.prep p+p{margin-top:8px}.summary-date{font-size:12px;margin:13px 0 0}.work-panel{padding:17px 14px;border-radius:8px}.actions{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:12px 19px calc(12px + env(safe-area-inset-bottom));min-height:74px;z-index:var(--z-sticky);margin:0;gap:12px;box-shadow:0 -4px 8px #0b111008}.action-note{display:none}.action-buttons{width:100%;gap:12px}.action-buttons .button{flex:1;min-height:47px}.action-buttons .text-button{min-width:64px}.date-grid{gap:5px;margin-top:13px}.date-choice{min-height:72px;padding:8px 1px 5px;gap:2px;border-radius:5px}.date-choice strong{font-size:18px}.date-choice .weekday{font-size:9px}.date-choice .day-status{font-size:9px;letter-spacing:-.01em;line-height:1.3;min-height:17px;display:flex;align-items:center}.date-choice .dot{margin-top:0}.time-head{margin:22px 0 12px}.time-head h3{font-size:12px}.time-head small{font-size:10px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.slot{min-height:43px;font-size:11px}.empty{padding:23px 10px}.empty h3{font-size:14px}.empty p{font-size:11px}.form-grid{gap:18px 13px}.field input,.field select,.field textarea{font-size:16px}label{font-size:11px}.field small{font-size:10px}.form-grid .contact-field{grid-column:1/-1}.form-toolbar{margin:-11px 0 9px}.form-toolbar button{min-height:36px}.facts{gap:18px 16px}.facts dd{font-size:12px}.review-head h2{font-size:14px}.review-head .text-button{font-size:10px}.receipt{padding:23px 18px}.receipt-head{gap:12px;margin-bottom:22px}.receipt-seal{width:39px;height:39px}.receipt h1{font-size:24px;line-height:1.25}.receipt .intro{font-size:11px}.receipt-time{padding:18px 0}.receipt-time h2{font-size:18px}.receipt-time p{font-size:12px}.receipt-buttons{gap:8px}.receipt-buttons .button{padding:10px 12px;font-size:11px;flex:1}.receipt-buttons .button:first-child{flex-basis:100%}.preview{padding:15px;margin-top:20px}.preview h2{font-size:11px}.preview p{font-size:12px;line-height:1.8}.receipt-foot{flex-wrap:wrap;margin-top:10px}.receipt-foot button{font-size:11px}.schedule-layout{display:block}.schedule-layout>.work-panel+.work-panel{margin-top:19px}.hour-head,.hour-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hour-head>span:first-child{display:none}.hour-row>label{grid-column:1/-1}.hour-row label{font-size:11px;gap:7px}.hour-row input[type=time]{font-size:14px}.schedule-layout h2{font-size:16px}.shop-tabs{margin-bottom:20px}.room-row{gap:12px}.room-row label{font-size:12px}.room-row small{font-size:10px}.blocked-form{gap:7px}.blocked-form input{font-size:13px}.blocked-form .button{padding:10px 12px;font-size:11px}.rule-head,.rule-row{grid-template-columns:minmax(0,1fr) 60px 60px;gap:10px}.rule-row>span{font-size:11px}.rule-row input{font-size:14px}.rule-head{font-size:9px}.exports .button{font-size:11px;padding:9px 12px}.booking-row{grid-template-columns:minmax(0,1fr) 90px 16px;gap:10px;padding:16px 14px}.booking-row .row-person{gap:9px}.booking-row .row-time{grid-column:1/3;margin-left:41px;grid-row:2;font-size:11px}.booking-row .row-service{grid-column:1/3;margin-left:41px;grid-row:3;font-size:11px}.booking-row .status-tag{grid-column:2;grid-row:1;justify-self:end}.booking-row>.icon{grid-column:3;grid-row:1}.booking-row strong{font-size:12px}.booking-row .avatar{font-size:10px}.booking-row{row-gap:4px}footer{gap:12px;padding:20px 0;margin-top:10px}footer p{font-size:9px;max-width:29ch}footer img{width:72px;height:20px}.notice{font-size:12px}.dialog-actions .button{padding:10px 12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.row-contact{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}.row-contact>span{font-size:11px}footer a{color:inherit;text-underline-offset:3px}
