:root{--paper:#f7f5ef;--ink:#263f36;--muted:#6f7972;--line:#e2e5dc;--accent:#cde4ad}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:15px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.35}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #63833e}.demo{text-align:center;color:#f3f5ed;letter-spacing:1.4px;background:#263f36;padding:10px;font-size:10px}.demo span{letter-spacing:.3px;opacity:.8}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1200px;margin:auto;padding:30px 35px;display:flex}.brand{letter-spacing:-1px;font-family:Georgia,serif;font-size:29px;text-decoration:none}.brand span{letter-spacing:2.6px;margin-top:8px;font:8px Arial,sans-serif;display:block}.back{font-size:12px;text-decoration:none}main{max-width:1120px;margin:auto;padding:55px 28px 65px}.eyebrow{letter-spacing:1.8px;font-size:10px;font-weight:700}h1{letter-spacing:-1.8px;margin:18px 0;font-family:Georgia,serif;font-size:54px;font-weight:400;line-height:1.12}h1 em{color:#748b59;font-weight:400}.intro>p:last-child{color:var(--muted);line-height:1.7}.steps{gap:30px;margin:38px 0 28px;display:flex}.steps button{color:var(--muted);background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:12px;display:flex}.steps button span{border:1px solid #c9cec2;border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.steps [aria-current=step]{color:var(--ink);font-weight:700}.steps [aria-current=step] span{background:var(--ink);color:#fff;border-color:var(--ink)}.workspace{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;gap:30px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:14px}.primary{padding:34px 38px}.section-heading p:last-child,.muted{color:var(--muted);font-size:13px;line-height:1.6}h2{letter-spacing:-.5px;margin:12px 0;font-family:Georgia,serif;font-size:29px;font-weight:400}h3{font-size:15px;font-weight:600}.calendar-head{justify-content:space-between;align-items:center;margin:26px 0 15px;display:flex}.calendar-head h3{text-transform:capitalize}.calendar-head button{border:1px solid var(--line);background:#fff;border-radius:50%;width:32px;height:32px;margin-left:8px}.calendar{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar .weekday{text-align:center;color:var(--muted);padding:8px;font-size:11px}.calendar button{min-height:46px;color:var(--ink);background:#f6f7f2;border:0;border-radius:6px;position:relative}.calendar button.selected{background:var(--ink);color:#fff}.dot{background:#87a367;border-radius:50%;width:3px;height:3px;margin:5px auto 0;display:block}.calendar button:disabled{background:0 0}.calendar button:disabled .dot{visibility:hidden}.calendar-note{color:var(--muted);align-items:center;gap:6px;margin-top:18px;font-size:10px;display:flex}.calendar-note>span:last-child{margin-left:auto}.legend-dot{background:#87a367;border-radius:50%;width:5px;height:5px}.divider{background:var(--line);height:1px;margin:25px 0}.option{border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;margin:12px 0;padding:15px;font-size:13px;display:flex}.option input{width:17px;height:17px;accent-color:var(--ink)}.option span{flex:1}.option small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.option strong{font-size:13px}.time-fields{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}label{font-size:12px}select,form input{width:100%;color:var(--ink);background:#fff;border:1px solid #d5dbcf;border-radius:6px;margin-top:9px;padding:13px}.hint{background:#f0f4e9;border-radius:8px;padding:14px;font-size:12px;line-height:1.65}.summary{padding:28px}.summary h2{font-size:28px;line-height:1.2}.room-art{text-align:center;background:repeating-linear-gradient(110deg,#0000 0 25px,#ffffff12 25px 26px),#e2e6d4;border-radius:8px;justify-content:center;align-items:center;height:120px;margin:22px 0;font-family:Georgia,serif;font-size:22px;line-height:1.4;display:flex;overflow:hidden}.room-art em{color:#6e8053;font-size:19px}.summary-date{text-transform:capitalize;font-size:13px;line-height:1.5}.summary-date small{color:var(--muted);text-transform:none;margin-top:6px;display:block}.price-line{justify-content:space-between;gap:16px;margin:13px 0;font-size:12px;line-height:1.5;display:flex}.price-line span:last-child{white-space:nowrap}.total{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;display:flex}.total strong{letter-spacing:-1px;font-size:27px}.fine-print{color:var(--muted);margin:18px 0;font-size:10px;line-height:1.7}.cta{background:var(--ink);color:#fff;text-align:left;border:0;border-radius:7px;width:100%;padding:17px 16px;font-size:12px}.cta span{float:right}.footnote{text-align:center;color:var(--muted);margin:14px 0 0;font-size:10px}.help{padding:26px 12px;font-size:12px}.help p{color:var(--muted);font-size:11px}.help a{text-underline-offset:4px;margin-top:8px;font-size:11px;display:inline-block}footer{border-top:1px solid var(--line);max-width:1130px;color:var(--muted);justify-content:space-between;margin:auto;padding:24px 28px;font-size:10px;display:flex}.error{color:#a02e25;font-size:13px}fieldset{border:0;gap:20px;margin:25px 0;padding:0;display:grid}fieldset:disabled{opacity:.7}@media (max-width:740px){header{padding:22px}.brand{font-size:23px}.brand span{font-size:7px}.back{font-size:10px}main{padding:34px 18px}h1{font-size:39px}.eyebrow{font-size:8px}.workspace{grid-template-columns:1fr;gap:20px}.primary{padding:25px 20px}.summary{padding:25px}.steps{gap:22px}.steps button{gap:7px;font-size:10px}.demo{font-size:8px}.calendar{gap:5px}.calendar button{min-height:43px}.intro>p:last-child{font-size:13px}.room-art{display:none}footer{gap:15px;font-size:9px}.help{padding-bottom:0}}.login-shell{max-width:600px}.login-shell .card{margin-top:35px}.login-shell h1{font-size:35px}.admin-main{max-width:1250px}.admin-main h1{font-size:43px}.admin-section{margin:22px 0;padding:28px}.admin-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.secondary{color:var(--ink);background:#fff;border:1px solid #bbc8b4;border-radius:6px;padding:10px 14px;font-size:12px}.danger{color:#a02e25}.admin-main input:not([type=checkbox]){width:100%;color:var(--ink);background:#fff;border:1px solid #d5dbcf;border-radius:6px;margin-top:8px;padding:11px;display:block}.admin-main .option input{width:17px}.booking-row{border-top:1px solid var(--line);justify-content:space-between;gap:18px;padding:22px 0;font-size:13px;display:flex}.booking-row p{line-height:1.6}.row-actions{flex-wrap:wrap;align-items:start;gap:10px;display:flex}.badge{background:#e2efcf;border-radius:12px;margin-left:12px;padding:5px 9px;font-size:10px;display:inline-block}.badge.cancelled{color:#776456;background:#eee8e2}summary{cursor:pointer;margin:12px 0;font-size:12px}.empty-state{color:var(--muted);padding:25px 0}.admin-main .time-fields{margin-top:0}.admin-main fieldset{gap:15px}@media (max-width:740px){.admin-grid{grid-template-columns:1fr;gap:0}.admin-section{padding:22px 18px}.admin-heading,.booking-row{flex-direction:column;align-items:stretch}.admin-main h1{font-size:35px}.admin-main .badge{margin:8px}.admin-main small{overflow-wrap:anywhere}}.booking-main .steps{justify-content:space-between;gap:12px;max-width:760px}.booking-main .steps button{min-height:44px;font-size:13px}.booking-panel{min-height:520px}.booking-panel h2:focus{outline:none}.booking-panel .section-heading>p{font-size:14px;line-height:1.7}.booking-panel .calendar button{min-height:54px;font-size:16px}.booking-panel .calendar-head button{width:44px;height:44px}.selection-banner{background:#f0f4e9;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:22px 0;padding:18px;font-size:13px;line-height:1.5;display:flex}.selection-banner strong{text-transform:capitalize}.selection-banner>span{color:#526249}.text-button{color:var(--ink);text-underline-offset:4px;white-space:nowrap;background:0 0;border:0;min-height:44px;padding:12px 0;font-size:13px;text-decoration:underline}.booking-modes{grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;display:grid}.booking-modes button{color:var(--ink);background:#fff;border:1px solid #c8d1c1;border-radius:10px;padding:17px 10px;font-weight:600}.booking-modes small{margin-top:8px;font-size:12px;font-weight:400;display:block}.booking-modes [aria-pressed=true]{border:2px solid var(--ink);background:#edf3e5;padding:16px 9px}.slot-fieldset{margin:30px 0;display:block}.slot-fieldset legend{font-size:16px;font-weight:600}.mini-number{background:#edf3e5;border-radius:50%;place-items:center;width:26px;height:26px;margin-right:8px;font-size:12px;display:inline-grid}.slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.slots button{min-height:48px;color:var(--ink);background:#fff;border:1px solid #c8d1c1;border-radius:8px;padding:12px 5px;font-size:14px}.slots button small{margin-top:6px;font-size:10px;line-height:1.4;display:block}.slots [aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 0 0 2px #cde4ad}.slots button:hover:not([aria-pressed=true]),.calendar button:hover:enabled:not(.selected){background:#eaf0e3}.flow-actions{border-top:1px solid var(--line);align-items:center;gap:24px;margin-top:32px;padding-top:24px;display:flex}.flow-actions .cta{flex:1;min-height:52px;font-size:14px}.extra-card{cursor:pointer;border:1px solid #c8d1c1;border-radius:12px;align-items:center;gap:16px;margin:18px 0;padding:23px 18px;display:flex}.extra-card.is-selected{background:#f0f5e9;border-color:#547443}.extra-icon{background:#edf1e5;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:26px;display:grid}.extra-card>span:nth-child(2){flex:1}.extra-card strong{font-size:15px;display:block}.extra-card small{color:#59675e;margin:8px 0;font-size:13px;line-height:1.6;display:block}.extra-card b{font-size:14px}.extra-card input{width:22px;height:22px;accent-color:var(--ink);flex-shrink:0}.customer-form{margin-top:30px}.form-field{margin-bottom:25px}.form-field label{font-size:14px;font-weight:600;display:block}.form-field label span{color:#637c50}.form-field input{background:#fbfcf8;border-radius:10px;min-height:54px;padding:16px;font-size:16px}.form-field input:focus{background:#fff;border-color:#547443}.form-field small{color:#59675e;margin-top:9px;font-size:12px;line-height:1.5;display:block}.privacy-note{color:#59675e;background:#f4f5f0;border-radius:10px;padding:16px;font-size:12px;line-height:1.7}.review-block{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:18px 0}.review-block p{font-size:14px;line-height:1.6}.booking-main aside{position:sticky;top:24px}@media (max-width:740px){.booking-main .steps{align-items:start;gap:4px;margin:25px 0}.booking-main .steps button{flex-direction:column;flex:1;gap:7px;font-size:11px}.booking-panel{min-height:0}.booking-main aside{position:static}.booking-main .summary h2,.booking-main .summary>.eyebrow{display:none}.booking-main .summary .divider{margin:16px 0}.booking-panel .calendar button{min-height:47px}.slots{grid-template-columns:repeat(3,minmax(0,1fr))}.selection-banner{flex-wrap:wrap}.extra-card{gap:10px;padding:18px 12px}.extra-icon{width:34px;height:34px}.flow-actions{gap:18px}.booking-main .intro h1{font-size:36px}.booking-main .steps button:disabled{opacity:.6}}.admin-main{--muted:#59685f}.admin-create{text-align:center;width:auto;min-width:170px}.agenda-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0;display:grid}.agenda-stats>div{background:#edf1e5;border:1px solid #dde5d2;border-radius:12px;align-items:center;gap:16px;padding:22px;display:flex}.agenda-stats strong{font-family:Georgia,serif;font-size:34px}.agenda-stats span{font-size:13px;line-height:1.5}.agenda-layout{grid-template-columns:minmax(0,1fr) 285px;gap:28px;display:grid}.agenda-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.agenda-toolbar .secondary{min-width:44px;min-height:44px}.agenda-legend{flex-wrap:wrap;gap:14px;margin:20px 0;font-size:11px;display:flex}.agenda-legend>span:before{content:"";background:#dbeacb;border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.agenda-legend>.block:before{background:#efd7bc}.agenda-legend>.google:before{background:#d4e4f3}.agenda-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.agenda-weekday{text-align:center;color:var(--muted);padding:9px 0;font-size:11px}.agenda-day{min-width:0;min-height:100px;color:var(--ink);text-align:left;background:#fafbf8;border:1px solid #e2e5dc;border-radius:8px;flex-direction:column;gap:8px;padding:8px;display:flex}.agenda-day:hover{background:#edf3e5}.agenda-day.is-selected{background:#eff5e8;border:2px solid #365443;padding:7px;box-shadow:0 0 0 2px #dce9cb}.agenda-number{align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.agenda-number small{font-size:8px}.is-today .agenda-number{text-underline-offset:4px;text-decoration:underline}.agenda-day-items{gap:4px;width:100%;display:grid}.agenda-chip{white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:5px 4px;font-size:9px;display:block;overflow:hidden}.agenda-chip.booking{color:#2c4926;background:#dfeccc}.agenda-chip.block{color:#714721;background:#f4e4d1}.agenda-chip.google{color:#315774;background:#deebf7}.agenda-more{font-size:10px}.agenda-detail{border-left:1px solid var(--line);padding-left:24px}.agenda-detail h2{font-size:25px;line-height:1.3}.agenda-event{overflow-wrap:anywhere;background:#f1f6e9;border-left:3px solid #769758;border-radius:0 8px 8px 0;margin:16px 0;padding:14px}.agenda-event.block{background:#fbf1e5;border-color:#b98145}.agenda-event.google{background:#edf4fb;border-color:#6f99b9}.agenda-event>span{letter-spacing:.7px;margin-bottom:9px;font-size:9px;display:block}.agenda-event strong{font-size:14px}.agenda-event p{margin-bottom:0;font-size:12px;line-height:1.5}.agenda-free{padding:20px 0;font-size:13px;line-height:1.6}.agenda-detail .cta{margin-top:12px}.agenda-detail .text-button{white-space:normal;display:block}.agenda-filters{align-items:center;gap:24px;margin:20px 0;display:flex}.agenda-filters>label:first-child{flex:1}.agenda-filters .option{border:0}.admin-main [aria-pressed=true].secondary{background:var(--ink);color:#fff}.admin-main .booking-row>div:first-child{overflow-wrap:anywhere;min-width:0}.admin-main .secondary{min-height:42px}.agenda-mobile-count{display:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#reservation-form,#block-form{scroll-margin-top:24px}@media (max-width:1050px){.agenda-layout{grid-template-columns:1fr}.agenda-detail{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.agenda-day{min-height:95px}}@media (max-width:600px){.agenda-stats{gap:8px}.agenda-stats>div{flex-direction:column;align-items:start;gap:6px;padding:14px 10px}.agenda-stats strong{font-size:28px}.agenda-stats span{font-size:11px}.agenda-toolbar h2{font-size:24px}.agenda-toolbar .row-actions{flex-wrap:nowrap;gap:5px}.agenda-month{gap:4px}.agenda-day{min-height:65px;padding:6px}.agenda-day.is-selected{padding:5px}.agenda-day-items{display:none}.agenda-mobile-count{background:#e0e8d5;border-radius:10px;align-self:start;padding:3px 6px;font-size:10px;display:block}.agenda-number{flex-wrap:wrap}.agenda-filters{flex-direction:column;align-items:stretch;gap:4px}.agenda-legend{gap:10px;font-size:10px}.admin-main h1{font-size:34px}.admin-create{width:100%}}.agenda-view-switch{gap:6px;margin-top:18px;display:flex}.agenda-view-switch button{min-width:75px}.hour-agenda{border:1px solid var(--line);overscroll-behavior:contain;border-radius:10px;max-height:640px;position:relative;overflow:auto}.hour-grid{background:#fff;min-width:760px;display:grid;position:relative}.hour-grid.single-day{min-width:0}.hour-corner,.hour-day-heading{z-index:4;color:var(--ink);background:#f1f5eb;border:0;border-bottom:1px solid #cbd6c1;min-height:48px;padding:16px 3px;font-size:11px;position:sticky;top:0}.hour-corner{z-index:5;left:0}.hour-day-heading[aria-pressed=true]{background:#dceacb;font-weight:700}.hour-labels{z-index:3;border-right:1px solid var(--line);background:#fff;height:1536px;position:sticky;left:0}.hour-labels>span{font-size:10px;line-height:18px;position:absolute;right:7px}.hour-column{border-right:1px solid var(--line);height:1536px;position:relative}.hour-column.selected-day{background:#fafcf7}.hour-slot{background:linear-gradient(#0000 31px,#edf0e9 31px 32px,#0000 32px);border-top:1px solid #e0e5db;height:64px}.hour-event{z-index:2;text-align:left;color:#294625;background:#dfebd1;border:1px solid #a8bf90;border-left:3px solid #638342;border-radius:5px;min-height:16px;padding:7px 5px;position:absolute;overflow:hidden}.hour-event.block{color:#714721;background:#f6e6d2;border-color:#c79861}.hour-event.google{color:#315774;background:#dfeefa;border-color:#7d9fba}.hour-event strong,.hour-event span,.hour-event small{overflow-wrap:anywhere;line-height:1.4;display:block}.hour-event strong{font-size:11px}.hour-event span{margin-top:5px;font-size:10px}.hour-event small{margin-top:7px;font-size:9px}.hour-event:hover{filter:brightness(.96)}.agenda-toolbar h2,.agenda-detail h2{text-transform:none}.agenda-toolbar h2:first-letter,.agenda-detail h2:first-letter{text-transform:uppercase}@media (max-width:600px){.hour-agenda{max-height:550px}.agenda-toolbar{flex-wrap:wrap}.agenda-view-switch button{flex:1}}.hour-event{flex-direction:column;justify-content:flex-start;align-items:flex-start;display:flex}
