@font-face{font-family:HachiDisplay;src:url(/fonts/DynaPuff-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:HachiThai;src:url(/fonts/Mali-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:HachiBody;src:url(/fonts/NotoSansThai-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:HachiBody;src:url(/fonts/NotoSansThai-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}:root{--sky:#74cdf3;--sky-soft:#e8f8ff;--ink:#174f82;--ink-strong:#133d63;--pink:#ff8fc7;--pink-soft:#fff0f7;--yellow:#ffe66b;--yellow-soft:#fff9d9;--mint:#95e7d4;--mint-soft:#e8fbf6;--lavender:#cdb5ff;--lavender-soft:#f3efff;--paper:#fff;--canvas:#f6fbfd;--muted:#64809a;--line:#d6e7ef;--danger:#c84d67;--danger-soft:#fff0f2;--success:#248469;--success-soft:#e9f8f3;--shadow:0 4px 8px #22577c1a}*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink-strong);margin:0;font-family:HachiBody,system-ui,sans-serif;line-height:1.55}body.modal-open{overflow:hidden}.auth-callback-screen{z-index:70;background:var(--canvas);color:var(--ink-strong);text-align:center;place-content:center;justify-items:center;gap:6px;padding:24px;display:none;position:fixed;inset:0}html[data-auth-redirect=true] .auth-callback-screen{display:grid}.auth-callback-screen img{width:96px;margin-bottom:10px}.auth-callback-screen strong{font-family:HachiThai,HachiBody,sans-serif;font-size:22px}.auth-callback-screen span{color:var(--muted);font-size:15px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}img{max-width:100%;height:auto}:focus-visible{outline-offset:3px;outline:3px solid #ff8fc7a6}.skip-link{z-index:1000;background:var(--ink-strong);color:#fff;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-shell{min-height:100vh;overflow:clip}.site-header{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-bottom:1px solid #174f821f;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 40px);min-height:76px;margin:0 auto;display:flex}.brand-button{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.brand-button img{object-fit:contain;width:76px;max-height:56px}.brand-button span{line-height:1.15;display:grid}.brand-button strong{color:var(--ink);font-family:HachiDisplay,sans-serif;font-size:16px}.brand-button small{color:var(--muted);margin-top:4px;font-size:12px}.header-actions{align-items:center;gap:6px;display:flex}.header-actions button,.header-actions a{min-height:42px;color:var(--ink-strong);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;text-decoration:none;display:inline-flex}.header-actions button:hover,.header-actions a:hover{background:var(--sky-soft);color:var(--ink)}.header-actions svg{width:18px;height:18px}.booking-main{width:min(1180px,100% - 40px);margin:0 auto;padding:54px 0 80px;position:relative}.sticker{z-index:-1;object-fit:contain;filter:drop-shadow(0 8px 12px #2d63871f);pointer-events:none;position:absolute}.sticker-star{top:64px;right:-74px;transform:rotate(11deg)}.sticker-heart{top:430px;left:-104px;transform:rotate(-8deg)}.sticker-flower{top:720px;right:-82px;transform:rotate(9deg)}.booking-intro{text-align:center;justify-items:center;margin:0 auto 34px;display:grid}.eyebrow{color:var(--ink);justify-content:center;align-items:center;gap:7px;margin:0 0 10px;font-family:HachiDisplay,HachiThai,sans-serif;font-size:12px;font-weight:700;display:flex}.eyebrow svg{color:#d7a800;width:16px}.booking-intro h1{max-width:720px;color:var(--ink-strong);margin:0;font-family:HachiThai,sans-serif;font-size:52px;line-height:1.18}.booking-intro h1 span{color:var(--ink)}.hours-row{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:20px;font-size:14px;display:flex}.hours-row span{align-items:center;gap:7px;display:inline-flex}.hours-row svg{width:17px;height:17px;color:var(--pink)}.stepper{grid-template-columns:repeat(4,1fr);max-width:760px;margin:0 auto 42px;padding:0;display:grid}.stepper button{color:#8ca2b4;cursor:pointer;background:0 0;border:0;justify-items:center;gap:7px;padding:0 4px;display:grid;position:relative}.stepper button:before{content:"";z-index:-1;background:var(--line);width:100%;height:2px;position:absolute;top:17px;left:-50%}.stepper button:first-child:before{display:none}.stepper button>span{border:2px solid var(--line);background:var(--canvas);border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.stepper button>span svg{width:17px}.stepper button strong{font-size:13px;font-weight:600}.stepper button.is-active,.stepper button.is-done{color:var(--ink)}.stepper button.is-active>span{border-color:var(--ink);background:var(--yellow);color:var(--ink-strong)}.stepper button.is-done>span{border-color:var(--mint);background:var(--mint);color:var(--ink-strong)}.stepper button.is-done:before,.stepper button.is-active:before{background:var(--mint)}.stepper button:disabled{cursor:not-allowed}.booking-layout{grid-template-columns:minmax(0,1fr) 332px;align-items:start;gap:28px;display:grid}.booking-workspace{min-width:0}.step-panel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:24px 26px 20px;display:flex}.panel-heading>div{align-items:baseline;gap:12px;display:flex}.panel-heading p{color:var(--pink);margin:0;font-family:HachiDisplay,sans-serif;font-size:13px}.panel-heading h2{margin:0;font-family:HachiThai,sans-serif;font-size:24px;line-height:1.3}.panel-heading>span{color:var(--muted);flex:none;font-size:13px}.booking-help{border-bottom:1px solid var(--line);background:#f8fbfc;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:8px;padding:12px 24px;display:grid}.booking-help-copy{align-items:center;gap:10px;min-width:0;display:flex}.booking-help-copy>svg{width:19px;color:var(--ink);flex:none}.booking-help-copy>span{min-width:0;display:grid}.booking-help-copy strong{font-family:HachiThai,sans-serif;font-size:13px}.booking-help-copy small{color:var(--muted);margin-top:1px;font-size:10px;line-height:1.45}.booking-help>button{min-height:48px;color:var(--ink-strong);text-align:left;cursor:pointer;background:#fff;border:1px solid #c9e2ee;border-radius:6px;grid-template-columns:22px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:8px 10px;display:grid}.booking-help>button:nth-of-type(2){border-color:#cae9df}.booking-help>button:hover,.booking-help>button:focus-visible{border-color:var(--ink);background:var(--sky-soft)}.booking-help>button>svg:first-child{width:18px;color:var(--ink)}.booking-help>button>svg:last-child{width:15px;color:var(--muted)}.booking-help button>span{min-width:0;display:grid}.booking-help button strong{font-size:13px}.booking-help button small{color:var(--muted);margin-top:1px;font-size:9px;line-height:1.35}.service-list{display:grid}.service-group>header{background:var(--sky-soft);justify-content:space-between;align-items:baseline;gap:16px;padding:14px 26px 10px;display:flex}.service-group>header h3{margin:0;font-family:HachiThai,sans-serif;font-size:15px;line-height:1.35}.service-group>header span{color:var(--muted);text-align:right;font-size:12px}.service-group+.service-group{border-top:1px solid var(--line)}.service-option{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-height:86px;padding:16px 24px;display:grid}.service-option:hover{background:var(--sky-soft)}.service-option.is-selected{background:var(--yellow-soft);box-shadow:inset 4px 0 var(--yellow)}.selection-indicator,.check-box{background:#fff;border:2px solid #b9ceda;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.is-selected .selection-indicator{border-color:var(--ink);background:var(--ink);color:#fff}.selection-indicator svg,.check-box svg{stroke-width:3px;width:15px;height:15px}.service-copy{min-width:0;display:grid}.service-copy strong{font-size:16px;font-weight:600}.service-copy small{color:var(--muted);margin-top:3px;font-size:12px}.service-meta{justify-items:end;min-width:126px;display:grid}.service-meta>strong{color:var(--ink);font-family:HachiDisplay,HachiBody,sans-serif;font-size:17px}.service-meta small{color:var(--muted);align-items:center;gap:5px;margin-top:3px;font-size:11px;display:flex}.service-meta svg{width:13px}.panel-actions{background:#fbfdfe;justify-content:space-between;align-items:center;gap:12px;padding:22px 26px;display:flex}.panel-actions-end{justify-content:flex-end}.primary-button,.secondary-button,.danger-button,.confirm-button,.line-button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-flex}.primary-button{border:1px solid var(--ink);background:var(--ink);color:#fff}.primary-button:hover{background:var(--ink-strong)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.confirm-button:disabled{cursor:not-allowed;opacity:.48}.secondary-button{color:var(--ink-strong);background:#fff;border:1px solid #bad0dc}.secondary-button:hover{border-color:var(--ink);color:var(--ink)}.danger-button{background:var(--danger-soft);color:var(--danger);border:1px solid #efb8c3}.confirm-button{border:1px solid var(--success);background:var(--success);color:#fff}.line-button{color:#fff;background:#1a9d66;border:1px solid #1a9d66}.primary-button svg,.secondary-button svg,.danger-button svg,.confirm-button svg,.line-button svg{width:18px;height:18px}.booking-summary{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;position:sticky;top:100px;overflow:hidden}.booking-summary>header{background:var(--ink);color:#fff;align-items:center;gap:10px;padding:18px 20px;display:flex}.booking-summary>header svg{width:19px}.booking-summary h2{margin:0;font-family:HachiThai,sans-serif;font-size:17px}.summary-service,.summary-addons,.summary-facts,.summary-total{border-bottom:1px solid var(--line);padding:18px 20px}.summary-service{display:grid}.summary-service>span,.summary-addons>span,.summary-total>span{color:var(--muted);text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:600}.summary-service strong{font-size:14px}.summary-service small{color:var(--ink);margin-top:4px;font-weight:600}.summary-addons p{justify-content:space-between;align-items:flex-start;gap:10px;margin:8px 0 0;font-size:13px;display:flex}.summary-addons p svg{width:15px;color:var(--success);flex:none}.summary-facts{gap:12px;margin:0;display:grid}.summary-facts div{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.summary-facts dt{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.summary-facts dt svg{width:14px}.summary-facts dd{text-align:right;max-width:155px;margin:0;font-size:12px;font-weight:600}.summary-total{background:var(--yellow-soft);border:0}.summary-total strong{color:var(--ink);font-family:HachiDisplay,HachiBody,sans-serif;font-size:26px;line-height:1.2;display:block}.summary-total small{color:#776b38;margin-top:8px;font-size:11px;display:block}.summary-empty{color:var(--muted);text-align:center;justify-items:center;padding:50px 20px;display:grid}.summary-empty svg{width:30px;color:var(--lavender)}.summary-empty p{margin:12px 0 0;font-size:13px}.addon-section{padding:22px 26px 2px}.addon-empty{color:var(--muted);text-align:center;justify-items:center;padding:42px 24px;display:grid}.addon-empty svg{width:34px;height:34px;color:var(--success)}.addon-empty h3{color:var(--ink-strong);margin:12px 0 4px;font-family:HachiThai,sans-serif;font-size:17px}.addon-empty p{margin:0;font-size:13px}.addon-section+.addon-section{border-top:1px solid var(--line)}.addon-section h3{color:var(--ink);margin:0 0 12px;font-family:HachiThai,sans-serif;font-size:16px}.addon-list{display:grid}.addon-option{border-top:1px solid var(--line)}.addon-toggle{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:14px 4px;display:grid}.addon-toggle>span:nth-child(2){display:grid}.addon-toggle strong{font-size:14px}.addon-toggle small{color:var(--muted);margin-top:2px;font-size:11px}.addon-toggle b{color:var(--ink);text-align:right;font-size:12px;font-weight:600}.check-box{border-radius:5px}.addon-option.is-selected .check-box{border-color:var(--pink);background:var(--pink);color:#fff}.addon-option.is-selected{background:var(--pink-soft)}.addon-option.is-selected .addon-toggle{padding-inline:10px}.addon-controls{justify-content:space-between;align-items:center;gap:12px;padding:0 10px 14px 46px;display:flex}.segmented-control{background:#fff;border:1px solid #efc2d8;border-radius:7px;grid-template-columns:1fr 1fr;padding:3px;display:inline-grid}.segmented-control button{min-width:74px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:6px 10px;font-size:12px}.segmented-control button.is-active{background:var(--pink);color:var(--ink-strong);font-weight:600}.quantity-stepper{align-items:center;gap:9px;display:flex}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;place-items:center;width:38px;height:38px;padding:0;display:inline-grid}.icon-button:hover{border-color:var(--ink);color:var(--ink)}.icon-button svg{width:18px;height:18px}.quantity-stepper .icon-button{width:32px;height:32px}.quantity-stepper output{text-align:center;min-width:48px;font-size:12px;font-weight:600}.date-strip{scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:thin;gap:8px;padding:22px 26px 12px;scroll-padding-inline:26px;display:flex;overflow-x:auto}.date-strip button{border:1px solid var(--line);white-space:nowrap;scroll-snap-align:start;cursor:pointer;background:#fff;border-radius:6px;flex:none;min-width:126px;min-height:46px;padding:8px 10px}.date-strip button:hover{border-color:var(--sky)}.date-strip button.is-active{border-color:var(--ink);background:var(--ink);color:#fff;font-weight:600}.calendar-input{width:fit-content;color:var(--muted);align-items:center;gap:8px;margin:0 26px 20px;font-size:12px;display:flex}.calendar-input svg{width:17px}.calendar-input input{border:1px solid var(--line);min-height:38px;color:var(--ink-strong);background:#fff;border-radius:6px;padding:7px 10px}.slot-area{border-top:1px solid var(--line);min-height:250px;padding:22px 26px 26px}.slot-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.slot-heading h3{margin:0;font-family:HachiThai,sans-serif;font-size:16px}.slot-heading span{color:var(--success);font-size:12px;font-weight:600}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.slot-grid button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:6px;grid-template-columns:20px 1fr;align-items:center;min-height:68px;padding:10px 12px;display:grid}.slot-grid button:hover{border-color:var(--mint);background:var(--mint-soft)}.slot-grid button.is-selected{border-color:var(--success);background:var(--mint-soft);box-shadow:inset 0 0 0 1px var(--success)}.slot-grid svg{width:17px;color:var(--success);grid-row:span 2}.slot-grid strong{font-size:14px}.slot-grid small{color:var(--muted);font-size:10px}.buffer-note{color:var(--muted);text-align:right;margin:14px 0 0;font-size:11px}.empty-slots{text-align:center;justify-items:center;padding:28px 20px;display:grid}.empty-slots>svg{width:36px;height:36px;color:var(--lavender)}.empty-slots h3{margin:12px 0 4px;font-family:HachiThai,sans-serif;font-size:18px}.empty-slots p{color:var(--muted);margin:0;font-size:13px}.empty-slots a{color:var(--success);align-items:center;gap:6px;margin-top:12px;font-weight:600;text-decoration:none;display:inline-flex}.empty-slots a svg{width:14px}.empty-slots>button{border:1px solid var(--ink);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:7px;margin-top:12px;padding:8px 11px;font-weight:600;display:inline-flex}.empty-slots>button:hover,.empty-slots>button:focus-visible{background:var(--sky-soft)}.empty-slots>button svg{width:15px}.slot-loading{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.slot-loading span{background:var(--sky-soft);border-radius:6px;height:68px;animation:1.4s ease-in-out infinite alternate pulse}.slot-loading span:nth-child(2){animation-delay:.15s}.slot-loading span:nth-child(3){animation-delay:.3s}.slot-loading span:nth-child(4){animation-delay:.45s}.quick-schedule{border-top:1px solid var(--line)}.quick-schedule>header{justify-content:space-between;align-items:flex-end;gap:16px;padding:20px 26px 0;display:flex}.quick-schedule>header p,.quick-schedule>header h3{margin:0}.quick-schedule>header p{color:var(--pink);font-family:HachiDisplay,sans-serif;font-size:10px}.quick-schedule>header h3{margin-top:2px;font-family:HachiThai,sans-serif;font-size:18px}.quick-schedule>header>span{max-width:250px;color:var(--muted);text-align:right;font-size:11px}.quick-schedule .slot-area{min-height:210px}.customer-form{grid-template-columns:1fr 1fr;gap:18px;padding:24px 26px;display:grid}.customer-form label,.form-stack label,.schedule-form label,.admin-login-form label{color:var(--ink-strong);gap:7px;font-size:13px;font-weight:600;display:grid}label em{color:var(--danger);font-style:normal}input,textarea{width:100%;color:var(--ink-strong);background:#fff;border:1px solid #bfd2dc;border-radius:6px}input{min-width:0;max-width:100%;min-height:46px;padding:9px 12px}input[type=date],input[type=time],input[type=datetime-local]{min-width:0;max-width:100%;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0}input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;min-width:0}textarea{resize:vertical;padding:11px 12px}input::placeholder,textarea::placeholder{color:#9baebb}input:focus,textarea:focus{border-color:var(--ink);outline:0;box-shadow:0 0 0 3px #74cdf340}.field-error{color:var(--danger);font-size:11px;font-weight:400}.full-field{grid-column:1/-1}.photo-field>input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.photo-dropzone{background:var(--sky-soft);cursor:pointer;border:1px dashed #9fc8dc;border-radius:7px;align-items:center;gap:16px;min-height:112px;padding:16px;display:flex}.photo-dropzone>svg{width:32px;color:var(--ink)}.photo-dropzone>img{object-fit:cover;border-radius:6px;width:80px;height:80px}.photo-dropzone>span{display:grid}.photo-dropzone small{color:var(--muted);margin-top:3px;font-weight:400}.consent-line{color:var(--muted);cursor:pointer;align-items:flex-start;gap:9px;padding:0 26px 22px;font-size:12px;display:flex}.consent-line input{width:18px;min-height:18px;accent-color:var(--ink);flex:none;margin:2px 0 0}.mobile-review{display:none}.error-banner,.notice-banner,.inline-error{background:var(--danger-soft);color:var(--danger);border:1px solid #efb7c2;border-radius:6px;align-items:flex-start;gap:9px;padding:12px 14px;font-size:13px;display:flex}.booking-workspace>.error-banner{margin-bottom:14px}.error-banner svg,.notice-banner svg,.inline-error svg{flex:none;width:18px;height:18px;margin-top:1px}.notice-banner{background:var(--success-soft);color:var(--success);border-color:#a9ddcc}.fatal-error{border:1px solid var(--line);text-align:center;background:#fff;border-radius:8px;justify-items:center;max-width:560px;margin:30px auto;padding:44px;display:grid}.fatal-error>svg{width:38px;color:var(--danger)}.fatal-error h2{margin:14px 0 4px;font-family:HachiThai,sans-serif}.fatal-error p{color:var(--muted);margin:0 0 18px}.mobile-estimate{display:none}.modal-backdrop{z-index:100;background:#0d304d99;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal-panel{background:#fff;border-radius:8px;width:min(520px,100%);max-height:min(880px,100vh - 44px);overflow:hidden;box-shadow:0 22px 70px #0c294159}.modal-panel-wide{width:min(820px,100%)}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.modal-header h2{margin:0;font-family:HachiThai,sans-serif;font-size:19px}.modal-body{max-height:calc(100vh - 122px);padding:20px;overflow-y:auto}.menu-figure{margin:0}.menu-figure img{width:100%;display:block}.menu-figure figcaption{color:var(--muted);text-align:center;padding:12px 4px 2px;font-size:12px}.form-stack{gap:14px;display:grid}.lookup-result{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.cancel-confirmation{background:var(--danger-soft);border:1px solid #efb8c3;border-radius:7px;gap:12px;margin-top:18px;padding:14px;display:grid}.cancel-confirmation p{color:var(--danger);margin:0;font-size:12px}.cancel-confirmation>div{justify-content:flex-end;gap:8px;display:flex}.result-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.result-heading h3{margin:8px 0 0;font-family:HachiThai,sans-serif;font-size:17px}.result-heading>strong{color:var(--ink);white-space:nowrap}.status-pill{min-height:25px;color:var(--muted);background:#edf3f6;border-radius:5px;align-items:center;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.status-pending{background:var(--yellow-soft);color:#77640a}.status-confirmed{background:var(--mint-soft);color:var(--success)}.status-completed{background:var(--sky-soft);color:var(--ink)}.status-rejected,.status-cancelled,.status-expired{background:var(--danger-soft);color:var(--danger)}.detail-list{gap:10px;margin:18px 0;display:grid}.detail-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding-bottom:8px;display:flex}.detail-list dt{color:var(--muted);font-size:12px}.detail-list dd{text-align:right;margin:0;font-size:12px;font-weight:600}.success-view{border:1px solid var(--line);max-width:660px;box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:8px;justify-items:center;margin:20px auto 60px;padding:52px 46px;display:grid}.success-mark{background:var(--mint-soft);width:70px;height:70px;color:var(--success);border:1px solid #8ed3be;border-radius:50%;place-items:center;margin-bottom:18px;display:grid}.success-mark svg{width:38px;height:38px}.success-view h1{margin:0;font-family:HachiThai,sans-serif;font-size:36px}.success-copy{color:var(--muted);margin:8px 0 22px}.booking-code-block{background:var(--yellow-soft);border:1px dashed #d6b622;border-radius:7px;justify-items:center;width:100%;padding:16px;display:grid}.booking-code-block span{color:#7c6d32;font-size:11px}.booking-code-block strong{color:var(--ink);margin-top:2px;font-family:HachiDisplay,monospace;font-size:25px}.success-details{gap:10px;width:100%;margin:20px 0;display:grid}.success-details div{border-bottom:1px solid var(--line);text-align:left;justify-content:space-between;gap:20px;padding-bottom:8px;display:flex}.success-details dt{color:var(--muted);font-size:12px}.success-details dd{text-align:right;margin:0;font-size:12px;font-weight:600}.success-actions{gap:10px;display:flex}.loading-screen{background:var(--sky-soft);min-height:100vh;color:var(--muted);place-content:center;justify-items:center;display:grid}.loading-dots{gap:7px;margin-top:24px;display:flex}.loading-dots span{background:var(--pink);border-radius:50%;width:9px;height:9px;animation:.8s cubic-bezier(.22,1,.36,1) infinite alternate loadingPulse}.loading-dots span:nth-child(2){background:var(--yellow);animation-delay:.14s}.loading-dots span:nth-child(3){background:var(--mint);animation-delay:.28s}.loading-screen p{margin:10px 0 0;font-size:13px}.site-footer{border-top:1px solid var(--line);background:#fff;grid-template-columns:1fr auto auto;align-items:center;gap:30px;padding:34px max(24px,50% - 590px);display:grid}.site-footer>div{align-items:center;gap:14px;display:flex}.site-footer>div p{color:var(--muted);margin:0;font-size:12px}.site-footer nav{flex-wrap:wrap;gap:8px 14px;display:flex}.site-footer nav a,.admin-link{color:var(--ink);align-items:center;gap:5px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.site-footer nav svg{width:13px}.admin-link{color:var(--muted);font-weight:400}.admin-login{background:var(--sky-soft);place-items:center;min-height:100vh;padding:28px;display:grid;position:relative}.back-to-booking{color:var(--ink);align-items:center;gap:6px;font-size:13px;text-decoration:none;display:inline-flex;position:absolute;top:24px;left:24px}.back-to-booking svg{width:16px}.admin-login>section{border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:8px;justify-items:center;padding:36px;display:grid}.admin-login h1{margin:0 0 24px;font-family:HachiThai,sans-serif;font-size:30px}.admin-login-form,.login-sent{gap:14px;width:100%;display:grid}.admin-login-form label{text-align:left}.admin-login-form label>span{display:block;position:relative}.admin-login-form label>span svg{z-index:1;width:17px;color:var(--muted);position:absolute;top:14px;left:12px}.admin-login-form input{padding-left:38px}.login-sent>svg{width:36px;color:var(--success);justify-self:center}.login-sent h2,.login-sent p{margin:0}.login-sent h2{font-family:HachiThai,sans-serif}.login-sent p{color:var(--muted);font-size:13px}.admin-loading,.admin-page-loading{background:var(--sky-soft);place-content:center;justify-items:center;gap:18px;min-height:100vh;display:grid}.admin-loading>svg,.admin-page-loading>svg{width:24px;color:var(--ink);animation:1s linear infinite spin}.admin-shell{background:#f5f8fa;grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{background:#fff;border-right:1px solid #dce7ec;flex-direction:column;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.admin-brand{align-items:center;gap:10px;padding:0 8px 24px;text-decoration:none;display:flex}.admin-brand img{object-fit:contain;width:58px;height:46px}.admin-brand span{line-height:1.05;display:grid}.admin-brand strong{color:var(--ink);font-family:HachiDisplay,sans-serif}.admin-brand small{color:var(--muted);margin-top:4px;font-size:10px}.admin-sidebar nav{gap:5px;display:grid}.admin-sidebar nav button,.admin-sidebar-footer button,.admin-sidebar-footer a{width:100%;min-height:44px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:9px 11px;text-decoration:none;display:flex}.admin-sidebar nav button:hover,.admin-sidebar-footer button:hover,.admin-sidebar-footer a:hover{background:var(--sky-soft);color:var(--ink)}.admin-sidebar nav button.is-active{background:var(--ink);color:#fff;font-weight:600}.admin-sidebar nav svg,.admin-sidebar-footer svg{width:18px}.admin-sidebar nav b{background:var(--pink);min-width:21px;height:21px;color:var(--ink-strong);border-radius:50%;place-items:center;margin-left:auto;font-size:10px;display:grid}.admin-sidebar-footer{border-top:1px solid var(--line);gap:4px;margin-top:auto;padding-top:16px;display:grid}.admin-main{min-width:0;padding:0 32px 60px}.admin-topbar{border-bottom:1px solid #dce7ec;justify-content:space-between;align-items:center;gap:24px;min-height:94px;display:flex}.admin-topbar p,.admin-topbar h1{margin:0}.admin-topbar p{color:var(--muted);font-size:11px}.admin-topbar h1{margin-top:2px;font-family:HachiThai,sans-serif;font-size:25px}.admin-topbar>div:last-child{align-items:center;gap:12px;display:flex}.admin-account{align-items:center;gap:9px;display:flex}.admin-account>span{background:var(--yellow);width:34px;height:34px;color:var(--ink);border-radius:50%;place-items:center;font-family:HachiDisplay,sans-serif;display:grid}.admin-account small{max-width:180px;color:var(--muted);overflow-wrap:anywhere;font-size:9px;line-height:1.35}.admin-main>.error-banner,.admin-main>.notice-banner{margin-top:18px}.admin-view{padding-top:24px}.admin-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.admin-toolbar-end{justify-content:flex-end}.queue-filters{flex-wrap:wrap;gap:5px;display:flex}.queue-filters button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:7px 11px;font-size:12px}.queue-filters button:hover{background:#fff}.queue-filters button.is-active{color:var(--ink);background:#fff;border-color:#bfd2dc;font-weight:600}.admin-search{width:min(300px,100%);display:block;position:relative}.admin-search svg{z-index:1;width:17px;color:var(--muted);position:absolute;top:11px;left:11px}.admin-search input{background:#fff;min-height:40px;padding-left:36px;font-size:12px}.booking-queue{gap:10px;display:grid}.admin-booking-card{background:#fff;border:1px solid #dce7ec;border-radius:7px;overflow:hidden}.admin-card-main{grid-template-columns:76px minmax(0,1fr) auto 38px;align-items:center;gap:18px;padding:16px 18px;display:grid}.admin-card-main>time{border-right:1px solid var(--line);text-align:center;padding-right:16px;display:grid}.admin-card-main>time strong{color:var(--ink);font-family:HachiDisplay,HachiBody,sans-serif;font-size:20px}.admin-card-main>time span{color:var(--muted);font-size:10px}.admin-booking-copy{min-width:0}.admin-booking-copy h3{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 3px;font-size:14px;overflow:hidden}.admin-booking-copy p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px 14px;margin:0;font-size:11px;display:flex}.admin-booking-copy p a{color:var(--ink);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.admin-booking-copy p svg{width:13px}.admin-price{justify-items:end;min-width:120px;display:grid}.admin-price strong{color:var(--ink);font-size:15px}.admin-price small{color:var(--muted);font-size:9px}.details-toggle svg{transition:transform .16s}.details-toggle svg.rotate{transform:rotate(180deg)}.admin-card-details{border-top:1px solid var(--line);background:#fbfdfe;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:16px 20px;display:grid}.admin-card-details dl{gap:8px;margin:0;display:grid}.admin-card-details dl div{grid-template-columns:120px 1fr;gap:12px;display:grid}.admin-card-details dt{color:var(--muted);font-size:11px}.admin-card-details dd{margin:0;font-size:11px}.reference-photo{border-radius:6px;width:120px;height:94px;display:block;position:relative;overflow:hidden}.reference-photo>img{object-fit:cover;width:100%;height:100%}.reference-photo>span{color:#fff;background:#123d63e0;border-radius:4px;justify-content:center;align-items:center;gap:4px;padding:4px;font-size:9px;display:flex;position:absolute;bottom:4px;left:4px;right:4px}.reference-photo svg{width:11px}.admin-card-actions{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:8px;padding:11px 18px;display:flex}.admin-card-actions .danger-button,.admin-card-actions .confirm-button{min-height:36px;padding:6px 12px;font-size:11px}.confirmed-actions{align-items:end;gap:10px;display:flex}.admin-confirm-action{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.admin-confirm-action p{color:var(--danger);margin:0;font-size:11px}.admin-confirm-action>div{gap:8px;display:flex}.admin-empty{color:var(--muted);text-align:center;background:#fff;border:1px dashed #c7d8e1;border-radius:7px;justify-items:center;padding:70px 20px;display:grid}.admin-empty>svg{width:34px;color:var(--lavender)}.admin-empty h2{color:var(--ink-strong);margin:12px 0 2px;font-family:HachiThai,sans-serif;font-size:17px}.admin-empty p{margin:0;font-size:12px}.customer-table-wrap{background:#fff;border:1px solid #dce7ec;border-radius:7px;overflow-x:auto}.customer-table{border-collapse:collapse;width:100%;min-width:740px}.customer-table th,.customer-table td{border-bottom:1px solid var(--line);text-align:left;padding:13px 16px;font-size:12px}.customer-table th{color:var(--muted);background:#f8fbfc;font-size:10px;font-weight:600}.customer-table tbody tr:last-child td{border-bottom:0}.customer-table td:first-child{align-items:center;gap:10px;display:flex}.customer-avatar{background:var(--pink-soft);width:32px;height:32px;color:var(--danger);border-radius:50%;place-items:center;font-weight:600;display:grid}.customer-table a{color:var(--ink);text-decoration:none}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-grid article{background:#fff;border:1px solid #dce7ec;border-radius:7px;grid-template-columns:36px 1fr;padding:17px;display:grid}.metric-grid article>span{background:var(--sky-soft);width:30px;height:30px;color:var(--ink);border-radius:6px;grid-row:span 3;place-items:center;display:grid}.metric-grid article:nth-child(2)>span{background:var(--mint-soft);color:var(--success)}.metric-grid article:nth-child(3)>span{background:var(--yellow-soft);color:#876f00}.metric-grid article:nth-child(4)>span{background:var(--pink-soft);color:var(--danger)}.metric-grid svg{width:16px}.metric-grid p,.metric-grid strong,.metric-grid small{margin:0}.metric-grid p{color:var(--muted);font-size:10px}.metric-grid strong{color:var(--ink-strong);font-family:HachiDisplay,HachiBody,sans-serif;font-size:22px}.metric-grid small{color:var(--muted);font-size:9px}.maintenance-panel{background:#fff;border:1px solid #dce7ec;border-radius:7px;margin-top:16px}.maintenance-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.maintenance-panel header p,.maintenance-panel header h2{margin:0}.maintenance-panel header p{color:var(--pink);font-family:HachiDisplay,sans-serif;font-size:9px}.maintenance-panel header h2{margin-top:2px;font-family:HachiThai,sans-serif;font-size:19px}.maintenance-panel header .secondary-button{min-width:166px;padding:9px 12px}.maintenance-stats{grid-template-columns:1fr 1fr;padding:0 22px;display:grid}.maintenance-stats>div{grid-template-columns:38px 1fr auto;column-gap:11px;padding:20px 0;display:grid}.maintenance-stats>div+div{border-left:1px solid var(--line);margin-left:22px;padding-left:22px}.maintenance-icon{background:var(--sky-soft);width:34px;height:34px;color:var(--ink);border-radius:6px;grid-row:span 4;place-items:center;display:grid}.maintenance-icon.is-photo{background:var(--mint-soft);color:var(--success)}.maintenance-icon svg{width:17px}.maintenance-stats p,.maintenance-stats strong,.maintenance-stats small,.maintenance-stats b{margin:0}.maintenance-stats p{color:var(--muted);font-size:10px}.maintenance-stats strong{color:var(--ink-strong);font-family:HachiDisplay,HachiBody,sans-serif;font-size:20px}.maintenance-stats small{color:var(--muted);text-align:right;align-self:end;font-size:9px}.usage-track{background:#e9f0f3;border-radius:3px;grid-column:2/-1;height:6px;margin-top:12px;display:block;overflow:hidden}.usage-track i{border-radius:inherit;background:var(--ink);width:0;height:100%;display:block}.maintenance-stats b{color:var(--muted);text-align:right;grid-column:2/-1;margin-top:5px;font-size:9px;font-weight:500}.maintenance-panel>footer{border-top:1px solid var(--line);background:#f8fbfc;justify-content:space-between;align-items:center;gap:20px;padding:14px 22px;display:flex}.maintenance-panel>footer>div{align-items:center;gap:10px;display:flex}.maintenance-panel>footer svg{width:18px;color:var(--success);flex:none}.maintenance-panel>footer span{gap:2px;display:grid}.maintenance-panel>footer strong{color:var(--ink);font-size:10px}.maintenance-panel>footer small,.maintenance-panel>footer p{color:var(--muted);margin:0;font-size:9px}.maintenance-panel>footer p{text-align:right;flex:none}.popular-services{background:#fff;border:1px solid #dce7ec;border-radius:7px;margin-top:16px;padding:22px}.popular-services>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;display:flex}.popular-services header p,.popular-services header h2{margin:0}.popular-services header p{color:var(--pink);font-family:HachiDisplay,sans-serif;font-size:9px}.popular-services header h2{margin-top:2px;font-family:HachiThai,sans-serif;font-size:19px}.popular-services header>span{color:var(--muted);font-size:10px}.popular-services ol{gap:15px;margin:20px 0 0;padding:0;list-style:none;display:grid}.popular-services li{grid-template-columns:28px minmax(150px,260px) minmax(100px,1fr) 50px;align-items:center;gap:12px;display:grid}.popular-services li>span{color:#a9bac4;font-family:HachiDisplay,sans-serif;font-size:10px}.popular-services li>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.popular-services li>div{background:#edf3f6;border-radius:4px;height:7px;overflow:hidden}.popular-services li i{background:var(--sky);border-radius:4px;height:100%;display:block}.popular-services li:nth-child(2) i{background:var(--mint)}.popular-services li:nth-child(3) i{background:var(--pink)}.popular-services li:nth-child(4) i{background:var(--yellow)}.popular-services li:nth-child(5) i{background:var(--lavender)}.popular-services li b{color:var(--muted);text-align:right;font-size:10px}.calendar-view{max-width:1180px}.calendar-view.is-loading{opacity:.72}.calendar-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;display:flex}.calendar-toolbar p,.calendar-toolbar h2{margin:0}.calendar-toolbar p{color:var(--pink);font-family:HachiDisplay,sans-serif;font-size:9px}.calendar-toolbar h2{margin-top:2px;font-family:HachiThai,sans-serif;font-size:22px}.calendar-toolbar>div:last-child{align-items:center;gap:7px;display:flex}.calendar-today-button{min-height:40px}.calendar-board{background:#fff;border:1px solid #dce7ec;border-radius:7px;overflow:hidden}.calendar-weekdays,.calendar-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{border-bottom:1px solid var(--line);background:#f8fbfc}.calendar-weekdays span{color:var(--muted);text-align:center;padding:9px 6px;font-size:10px;font-weight:600}.calendar-day{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:104px;color:var(--ink-strong);text-align:left;cursor:pointer;background:#fff;align-content:start;gap:7px;padding:9px;display:grid;position:relative}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day:not(.is-empty):hover{background:var(--sky-soft)}.calendar-day.is-empty{background:#fbfdfe}.calendar-day.is-selected{z-index:1;box-shadow:inset 0 0 0 2px var(--ink);background:#eef8fd}.calendar-day-number{border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;font-weight:600;display:grid}.calendar-day.is-today .calendar-day-number{background:var(--yellow);color:var(--ink-strong)}.calendar-day-events{gap:4px;min-width:0;display:grid}.calendar-event-chip{border-left:3px solid var(--sky);background:var(--sky-soft);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:3px 5px;font-size:9px;display:block;overflow:hidden}.calendar-event-chip.is-pending{background:var(--yellow-soft);border-left-color:#d6aa00}.calendar-event-chip.is-completed,.calendar-event-chip.is-open{border-left-color:var(--success);background:var(--mint-soft)}.calendar-event-chip.is-blocked{border-left-color:var(--danger);background:var(--pink-soft)}.calendar-day-events b{color:var(--muted);font-size:9px;font-weight:500}.calendar-mobile-count{display:none}.calendar-agenda{background:#fff;border:1px solid #dce7ec;border-radius:7px;margin-top:16px;overflow:hidden}.calendar-agenda>header{border-bottom:1px solid var(--line);background:#f8fbfc;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.calendar-agenda header p,.calendar-agenda header h3{margin:0}.calendar-agenda header p{color:var(--muted);font-size:9px}.calendar-agenda header h3{margin-top:2px;font-size:14px}.calendar-agenda>header>span{color:var(--muted);font-size:10px}.calendar-agenda-list{display:grid}.calendar-agenda-item{border-left:4px solid var(--sky);border-bottom:1px solid var(--line);grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 16px;display:grid}.calendar-agenda-item:last-child{border-bottom:0}.calendar-agenda-item.is-pending{border-left-color:#d6aa00}.calendar-agenda-item.is-completed,.calendar-agenda-item.is-open{border-left-color:var(--success)}.calendar-agenda-item.is-blocked{border-left-color:var(--danger)}.calendar-agenda-time{color:var(--ink);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.calendar-agenda-time svg{width:16px}.calendar-agenda-item>div{gap:2px;min-width:0;display:grid}.calendar-agenda-item strong,.calendar-agenda-item small{overflow-wrap:anywhere}.calendar-agenda-item strong{font-size:12px}.calendar-agenda-item small{color:var(--muted);font-size:10px}.calendar-agenda-item .secondary-button{min-height:36px;padding:6px 10px}.calendar-empty{border-top:0}.schedule-view{grid-template-columns:minmax(240px,.72fr) minmax(390px,1.28fr);align-items:start;gap:34px;max-width:980px;display:grid}.schedule-copy{padding:18px 0}.schedule-copy>p,.schedule-copy h2{margin:0}.schedule-copy>p{color:var(--pink);font-family:HachiDisplay,sans-serif;font-size:9px}.schedule-copy h2{margin-top:4px;font-family:HachiThai,sans-serif;font-size:26px}.schedule-mode{background:#fff;border:1px solid #dce7ec;border-radius:7px;grid-template-columns:1fr 1fr;gap:5px;margin-top:22px;padding:4px;display:grid}.schedule-mode button{min-width:0;min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:7px 8px;font-size:11px;display:flex}.schedule-mode button svg{flex:none;width:16px}.schedule-mode button.is-active{background:var(--ink);color:#fff;font-weight:600}.schedule-management{gap:16px;min-width:0;display:grid}.schedule-form{background:#fff;border:1px solid #dce7ec;border-radius:7px;grid-template-columns:1fr 1fr;gap:16px;min-width:0;padding:22px;display:grid}.schedule-form>header{grid-column:1/-1;align-items:center;gap:11px;padding-bottom:3px;display:flex}.schedule-form>header>span{background:var(--mint-soft);width:38px;height:38px;color:var(--success);border-radius:6px;flex:none;place-items:center;display:grid}.schedule-form.is-closed>header>span{background:var(--pink-soft);color:var(--danger)}.schedule-form>header svg{width:19px}.schedule-form>header h3,.schedule-form>header p{margin:0}.schedule-form>header h3{font-size:14px}.schedule-form>header p{color:var(--muted);margin-top:2px;font-size:10px}.schedule-form label{min-width:0}.schedule-time-fields{grid-template-columns:1fr 1fr;gap:12px;min-width:0;display:grid}.schedule-form .confirm-button,.schedule-form .danger-button{width:100%}.schedule-list{background:#fff;border:1px solid #dce7ec;border-radius:7px;overflow:hidden}.schedule-list>header,.schedule-list article{justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.schedule-list>header{background:#f8fbfc}.schedule-list>header h3{margin:0;font-size:13px}.schedule-list>header span{color:var(--muted);font-size:10px}.schedule-list article{border-top:1px solid var(--line)}.schedule-list article>div{min-width:0;display:grid}.schedule-list-confirmation{text-align:right;place-items:end;gap:8px}.schedule-list-confirmation>div{gap:8px;display:flex}.schedule-list-confirmation button{min-height:36px;padding:6px 12px}.schedule-list article strong{font-size:12px}.schedule-list article span,.schedule-list article small{color:var(--muted);font-size:10px}.admin-empty.compact{border:0;border-top:1px solid var(--line);border-radius:0;padding:28px 16px}.admin-empty.compact>svg{width:24px}.booking-finance-recorded{min-height:36px;color:var(--success);align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.booking-finance-recorded svg{width:17px}.calendar-view-switch{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:min(100%,320px);margin-bottom:14px;padding:3px;display:inline-grid}.calendar-view-switch button{min-width:0;min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:11px;display:inline-flex}.calendar-view-switch button.is-active{background:var(--ink);color:#fff;font-weight:600}.calendar-view-switch svg{width:16px}.finance-view{--finance-green:#1d8669;--finance-red:#c84d67}.finance-month-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.finance-month-nav,.finance-month-actions{align-items:center;gap:8px;display:flex}.finance-month-nav{grid-template-columns:38px minmax(190px,230px) 38px;display:grid}.finance-month-picker{min-width:0;min-height:38px;color:var(--ink-strong);cursor:pointer;background:#fff;border:1px solid #cddde5;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:6px 10px;display:flex;position:relative;overflow:hidden}.finance-month-picker svg{width:16px;color:var(--muted);flex:none}.finance-month-picker span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.finance-month-picker input{opacity:0;cursor:pointer;width:100%;min-width:0;height:100%;margin:0;position:absolute;inset:0}.finance-month-picker:focus-within{outline:2px solid color-mix(in srgb, var(--ink) 34%, transparent);outline-offset:2px}.finance-form-grid input,.finance-form-grid select,.finance-form-grid textarea,.finance-line-item input,.finance-line-item select,.finance-sale-totals input,.finance-settings input{width:100%;min-width:0;min-height:40px;color:var(--ink-strong);background:#fff;border:1px solid #cddde5;border-radius:6px;padding:8px 10px}.finance-view-switch{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));min-width:min(100%,420px);padding:3px;display:inline-grid}.finance-view-switch button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-size:12px;display:inline-flex;position:relative}.finance-view-switch button.is-active{background:var(--ink);color:#fff;font-weight:600}.finance-view-switch svg{width:16px}.finance-view-switch b{background:var(--pink);min-width:19px;height:19px;color:var(--ink-strong);border-radius:50%;place-items:center;padding:0 4px;font-size:9px;display:grid}.finance-today-strip{pointer-events:none;justify-content:flex-end;align-items:center;gap:20px;margin:-38px 0 18px auto;display:flex}.finance-today-strip span{text-align:right;display:grid}.finance-today-strip small{color:var(--muted);font-size:9px}.finance-today-strip strong{font-size:12px}.finance-today-strip .is-sale strong{color:var(--finance-green)}.finance-today-strip .is-cost strong{color:var(--finance-red)}.finance-loading{background:0 0;min-height:420px}.finance-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.finance-metrics article{background:#fff;border:1px solid #dce7ec;border-radius:7px;grid-template-columns:36px minmax(0,1fr);gap:2px 10px;min-width:0;padding:16px;display:grid}.finance-metrics article>span{background:var(--sky-soft);width:36px;height:36px;color:var(--ink);border-radius:6px;grid-row:1/span 3;place-items:center;display:grid}.finance-metrics article>span svg{width:18px}.finance-metrics p,.finance-metrics strong,.finance-metrics small{overflow-wrap:anywhere;min-width:0;margin:0}.finance-metrics p{color:var(--muted);font-size:10px}.finance-metrics strong{font-family:HachiDisplay,HachiBody,sans-serif;font-size:18px;line-height:1.25}.finance-metrics small{color:var(--muted);font-size:9px}.finance-metrics article.is-positive>span{background:var(--success-soft);color:var(--success)}.finance-metrics article.is-negative>span{background:var(--danger-soft);color:var(--danger)}.finance-metrics article.is-positive strong{color:var(--success)}.finance-metrics article.is-negative strong{color:var(--danger)}.finance-recovery{background:#fff;border:1px solid #dce7ec;border-radius:7px;grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr);margin-top:12px;display:grid;overflow:hidden}.finance-recovery-copy{padding:22px}.finance-recovery-copy>p,.finance-recovery-copy>h2{margin:0}.finance-recovery-copy>p{color:var(--muted);font-size:10px}.finance-recovery-copy>h2{margin-top:3px;font-family:HachiThai,sans-serif;font-size:22px}.finance-progress{background:#edf3f6;border-radius:5px;height:10px;margin-top:16px;display:block;overflow:hidden}.finance-progress i{border-radius:inherit;background:var(--mint);height:100%;display:block}.finance-recovery dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 0;display:grid}.finance-recovery dl div{min-width:0;display:grid}.finance-recovery dt{color:var(--muted);font-size:9px}.finance-recovery dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:13px;font-weight:600}.finance-coverage-service{border-left:1px solid var(--line);background:var(--yellow-soft);text-align:center;align-content:center;justify-items:center;min-width:0;padding:22px;display:grid}.finance-coverage-service>span{background:var(--yellow);border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.finance-coverage-service svg{width:18px}.finance-coverage-service p{color:#776b38;margin:10px 0 0;font-size:10px}.finance-coverage-service strong{color:var(--ink);margin-top:4px;font-family:HachiDisplay,HachiBody,sans-serif;font-size:36px;line-height:1}.finance-coverage-service small{color:#776b38;margin-top:5px;font-size:10px}.finance-coverage-service b{margin-top:12px;font-size:9px}.finance-trend{background:#fff;border:1px solid #dce7ec;border-radius:7px;margin-top:12px;padding:20px 20px 12px}.finance-trend>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.finance-trend header p,.finance-trend header h2{margin:0}.finance-trend header p{color:var(--muted);font-size:10px}.finance-trend header h2{margin-top:2px;font-size:16px}.finance-trend header>span{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.finance-trend header>span i{border-radius:2px;width:8px;height:8px;margin-left:6px}.finance-trend .is-sale{background:var(--mint)}.finance-trend .is-cost{background:var(--pink)}.finance-bars{overscroll-behavior-inline:contain;grid-template-columns:repeat(31,minmax(16px,1fr));align-items:end;gap:4px;height:168px;margin-top:16px;display:grid;overflow-x:auto}.finance-bars>div{grid-template-rows:132px 20px;align-items:end;min-width:16px;display:grid}.finance-bars>div>span{border-bottom:1px solid var(--line);justify-content:center;align-items:end;gap:2px;height:132px;display:flex}.finance-bars>div i{border-radius:2px 2px 0 0;width:min(6px,42%);min-height:0;display:block}.finance-bars small{color:var(--muted);text-align:center;font-size:8px}.finance-breakdowns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.finance-breakdowns>section{background:#fff;border:1px solid #dce7ec;border-radius:7px;overflow:hidden}.finance-breakdowns header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;display:flex}.finance-breakdowns header p,.finance-breakdowns header strong{margin:0;font-size:12px}.finance-breakdowns ol{margin:0;padding:0;list-style:none}.finance-breakdowns li{border-bottom:1px solid #edf3f6;justify-content:space-between;align-items:center;gap:12px;padding:11px 18px;font-size:11px;display:flex}.finance-breakdowns li:last-child{border-bottom:0}.finance-breakdowns li>span{display:grid}.finance-breakdowns li small{color:var(--muted);font-size:9px}.finance-empty-copy{color:var(--muted);text-align:center;margin:0;padding:28px 18px;font-size:11px}.finance-settings{border-top:1px solid var(--line);margin-top:12px}.finance-settings summary{color:var(--muted);cursor:pointer;align-items:center;gap:7px;padding:14px 0;font-size:11px;display:inline-flex}.finance-settings summary svg{width:15px}.finance-settings>div{align-items:end;gap:8px;max-width:390px;padding-bottom:10px;display:flex}.finance-settings label{color:var(--muted);flex:1;gap:5px;font-size:10px;display:grid}.finance-settings .secondary-button{min-height:40px}.finance-list-view{margin-top:18px}.finance-list-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.finance-list-toolbar p,.finance-list-toolbar strong{margin:0}.finance-list-toolbar p{color:var(--muted);font-size:10px}.finance-list-toolbar strong{margin-top:2px;font-size:15px;display:block}.finance-pending-bookings{background:var(--yellow-soft);border:1px solid #e2d57b;border-radius:7px;margin-bottom:14px;overflow:hidden}.finance-pending-bookings>header{border-bottom:1px solid #776b382e;padding:13px 16px}.finance-pending-bookings header p,.finance-pending-bookings header h2{margin:0}.finance-pending-bookings header p{color:#776b38;font-size:9px}.finance-pending-bookings header h2{margin-top:2px;font-size:14px}.finance-pending-bookings>div{background:#fff;display:grid}.finance-pending-bookings article{border-bottom:1px solid var(--line);grid-template-columns:110px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:11px 16px;display:grid}.finance-pending-bookings article:last-child{border-bottom:0}.finance-pending-bookings article>span,.finance-pending-bookings article>div{min-width:0;display:grid}.finance-pending-bookings article strong{font-size:11px}.finance-pending-bookings article small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.finance-pending-bookings article>b{font-size:12px}.finance-pending-bookings .confirm-button{min-height:34px;padding:6px 10px;font-size:10px}.finance-editor{background:#fff;border:1px solid #bcd7e5;border-radius:7px;margin-bottom:14px;overflow:hidden}.finance-editor>header{border-bottom:1px solid var(--line);background:#f7fbfd;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.finance-editor header p,.finance-editor header h2{margin:0}.finance-editor header p{color:var(--muted);font-size:9px}.finance-editor header h2{margin-top:2px;font-family:HachiThai,sans-serif;font-size:17px}.finance-editor-booking-code{color:var(--muted);margin-top:4px;font-size:10px;display:block}.finance-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 20px;display:grid}.finance-form-grid label,.finance-line-item label,.finance-notes{min-width:0;color:var(--muted);gap:5px;font-size:10px;font-weight:600;display:grid}.finance-wide-field{grid-column:span 2}.finance-editor-lines{overflow-anchor:none;padding:0 20px 18px}.finance-editor-lines>header{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.finance-editor-lines h3{margin:0;font-size:13px}.finance-editor-lines .secondary-button{min-height:34px;padding:6px 9px;font-size:10px}.finance-line-item{border-top:1px solid #dce8ed;padding:14px 0}.finance-line-item>header{grid-template-columns:32px minmax(0,1fr) 38px;align-items:center;gap:10px;margin-bottom:11px;display:grid}.finance-line-number{background:var(--sky-soft);width:32px;height:32px;color:var(--ink);border-radius:6px;place-items:center;font-size:10px;font-weight:700;display:grid}.finance-line-item>header>div{gap:1px;min-width:0;display:grid}.finance-line-item>header small,.finance-line-item>header p{color:var(--muted);margin:0;font-size:9px}.finance-line-item>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.finance-line-item>header .icon-button{width:38px;height:38px}.finance-line-fields{grid-template-columns:minmax(180px,1.2fr) minmax(150px,1fr) 82px 128px;align-items:end;gap:9px;padding-left:42px;display:grid}.finance-line-service.is-wide{grid-column:span 2}.finance-price-presets{grid-column:1/-1;align-items:center;gap:6px;min-width:0;display:flex}.finance-price-presets>span{color:var(--muted);margin-right:2px;font-size:9px}.finance-price-presets button{min-height:30px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #cddde5;border-radius:5px;padding:5px 9px;font-size:9px}.finance-price-presets button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.finance-line-item>footer{border-top:1px dashed #dce8ed;justify-content:flex-end;align-items:baseline;gap:12px;margin-top:10px;padding:9px 0 0 42px;display:flex}.finance-line-item>footer span{color:var(--muted);font-size:9px}.finance-line-item>footer strong{text-align:right;overflow-wrap:anywhere;min-width:0;font-size:12px}.finance-sale-bottom{border-top:1px solid var(--line);background:#fbfdfe;grid-template-columns:minmax(0,1fr) minmax(280px,390px);gap:24px;padding:18px 20px;display:grid}.finance-notes textarea{resize:vertical}.finance-sale-totals{gap:8px;display:grid}.finance-sale-totals>div{grid-template-columns:minmax(0,1fr) 128px;align-items:center;gap:10px;min-height:38px;display:grid}.finance-sale-totals>div>span{color:var(--muted);font-size:11px}.finance-sale-totals>div>strong{text-align:right}.finance-sale-totals .finance-discount-row{grid-template-columns:minmax(0,1fr) auto 90px}.finance-inline-segment{border:1px solid var(--line);background:#fff;border-radius:5px;grid-template-columns:1fr 1fr;padding:2px;display:inline-grid}.finance-inline-segment button{min-width:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:5px;font-size:10px}.finance-inline-segment button.is-active{background:var(--ink);color:#fff}.finance-total-calculated{border-top:1px solid var(--line);padding-top:7px}.finance-total-calculated strong{color:var(--ink);font-family:HachiDisplay,HachiBody,sans-serif;font-size:18px}.finance-sale-totals>small{color:var(--danger);text-align:right;font-size:9px}.finance-editor>.inline-error{margin:0 20px 12px}.finance-editor>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.finance-record-list{gap:7px;display:grid}.finance-record-list>article{background:#fff;border:1px solid #dce7ec;border-radius:7px;grid-template-columns:100px minmax(0,1fr) auto 120px auto;align-items:center;gap:14px;min-width:0;padding:13px 15px;display:grid}.finance-record-date,.finance-record-copy{min-width:0;display:grid}.finance-record-date strong,.finance-record-copy strong,.finance-record-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.finance-record-date strong,.finance-record-copy strong{font-size:11px}.finance-record-date small,.finance-record-copy span,.finance-record-copy small{color:var(--muted);font-size:9px}.finance-record-amount{color:var(--success);text-align:right;font-size:13px}.finance-record-amount.is-cost{color:var(--danger)}.finance-payment-pill{background:var(--sky-soft);color:var(--ink);white-space:nowrap;border-radius:4px;padding:4px 7px;font-size:9px}.finance-record-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.finance-record-actions .icon-button{width:34px;height:34px}.finance-delete-confirm{align-items:center;gap:6px;display:flex}.finance-delete-confirm>span{color:var(--danger);white-space:nowrap;font-size:10px}.finance-delete-confirm button{min-height:32px;padding:5px 8px;font-size:9px}.finance-receipt-upload{background:#fbfdfe;border:1px dashed #b8d0dc;border-radius:6px;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;margin:0 20px 18px;padding:12px;display:grid}.finance-receipt-upload>svg{width:22px;color:var(--muted)}.finance-receipt-upload>div{min-width:0;display:grid}.finance-receipt-upload strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.finance-receipt-upload small{color:var(--muted);font-size:9px}.finance-receipt-upload label{cursor:pointer}.finance-receipt-upload input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.finance-receipt-upload .secondary-button,.finance-receipt-upload .danger-button{min-height:36px;padding:6px 10px;font-size:10px}.finance-legacy-import{border-top:1px solid var(--line);margin-top:16px}.finance-legacy-import summary{min-height:42px;color:var(--muted);cursor:pointer;align-items:center;gap:7px;font-size:10px;display:inline-flex}.finance-legacy-import summary svg{width:15px}.finance-legacy-import>label{cursor:pointer;width:fit-content;min-height:38px;margin-bottom:8px}.finance-legacy-import>label.is-disabled{cursor:wait;opacity:.55}.finance-legacy-import input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:.5}to{opacity:1}}@keyframes loadingPulse{0%{opacity:.35}to{opacity:1}}@media (max-width:1040px){.booking-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.slot-grid,.metric-grid,.finance-metrics,.finance-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell{grid-template-columns:78px minmax(0,1fr)}.admin-sidebar{padding-inline:10px}.admin-brand{justify-content:center;padding-inline:0}.admin-brand img{width:54px}.admin-brand span,.admin-sidebar nav button span,.admin-sidebar-footer span{display:none}.admin-sidebar nav button,.admin-sidebar-footer button,.admin-sidebar-footer a{justify-content:center}.admin-sidebar nav b{margin:-25px 0 0 28px;position:absolute}}@media (max-width:820px){.booking-main{width:min(100% - 28px,720px);padding-top:34px;padding-bottom:calc(112px + env(safe-area-inset-bottom))}.booking-layout{display:block}.booking-summary{display:none}.mobile-estimate{z-index:40;padding:10px 16px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;justify-content:space-between;align-items:center;gap:14px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 26px #22577c1f}.mobile-estimate>span{display:grid}.mobile-estimate small{color:var(--muted);font-size:10px}.mobile-estimate strong{color:var(--ink);font-family:HachiDisplay,HachiBody,sans-serif;font-size:18px}.mobile-estimate button{background:var(--ink);color:#fff;border:0;border-radius:6px;align-items:center;gap:5px;min-height:42px;padding:8px 14px;font-weight:600;display:inline-flex}.mobile-estimate button:disabled{opacity:.45}.mobile-estimate svg{width:17px}.site-footer{padding-bottom:86px}.mobile-review{border:1px solid var(--line);background:var(--yellow-soft);border-radius:7px;margin:0 26px 22px;padding:16px;display:block}.mobile-review h3{margin:0 0 8px;font-family:HachiThai,sans-serif;font-size:15px}.mobile-review p{justify-content:space-between;align-items:flex-start;gap:10px;margin:6px 0 0;font-size:12px;display:flex}.mobile-review p svg{width:15px}.mobile-review p:last-child{color:var(--muted);justify-content:flex-start}.sticker{display:none}.site-footer{grid-template-columns:1fr;gap:18px}.admin-main{padding-inline:20px}.admin-card-main{grid-template-columns:64px minmax(0,1fr) 34px;gap:12px}.admin-price{display:none}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-search{width:100%}.schedule-view{grid-template-columns:1fr;gap:8px}.finance-today-strip{justify-content:flex-start;margin:12px 0 0}.finance-line-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-record-list>article{grid-template-columns:90px minmax(0,1fr) auto 105px}.finance-record-actions{border-top:1px solid #edf3f6;grid-column:1/-1;padding-top:8px}}@media (max-width:600px){.header-inner{width:calc(100% - 24px);min-height:66px}.brand-button img{width:62px}.brand-button strong{font-size:13px}.brand-button small{font-size:11px}.header-actions{gap:1px}.header-actions button,.header-actions a{width:38px;min-height:38px;padding:0}.header-actions span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.booking-main{width:calc(100% - 20px);padding-top:28px;padding-bottom:calc(112px + env(safe-area-inset-bottom))}.booking-intro{margin-bottom:26px}.booking-intro h1{font-size:34px}.hours-row{gap:6px 12px;font-size:12px}.stepper{margin-bottom:26px}.stepper button>span{width:30px;height:30px}.stepper button:before{top:15px}.stepper button strong{font-size:11px}.panel-heading{align-items:flex-start;padding:19px 16px 16px}.panel-heading>div{gap:2px;display:grid}.panel-heading h2{font-size:20px}.panel-heading>span{text-align:right;max-width:90px;font-size:11px}.booking-help{grid-template-columns:1fr;padding:16px}.booking-help>button{min-height:54px}.service-option{grid-template-columns:23px minmax(0,1fr);gap:10px;min-height:88px;padding:13px 14px}.service-group>header{align-items:flex-start;padding:12px 14px 9px}.service-group>header h3{font-size:14px}.service-group>header span{max-width:145px;font-size:10px;line-height:1.35}.selection-indicator,.check-box{width:22px;height:22px}.service-copy strong{font-size:14px}.service-copy small{font-size:12px}.service-meta{grid-area:2/2;justify-items:start;min-width:0;margin-top:-5px}.service-meta>strong{font-size:14px}.service-meta small{font-size:11px}.panel-actions{padding:14px 16px}.panel-actions .primary-button,.panel-actions .secondary-button{min-height:43px;padding:8px 12px;font-size:12px}.addon-section{padding:18px 16px 2px}.addon-toggle{grid-template-columns:22px minmax(0,1fr);gap:9px}.addon-toggle>b{text-align:left;grid-column:2;justify-self:start}.addon-controls{flex-direction:column;align-items:stretch;padding-left:41px}.segmented-control{width:100%}.quantity-stepper{justify-content:space-between}.date-strip{padding:18px 16px 12px;scroll-padding-inline:16px}.date-strip button{min-width:132px;padding-inline:12px;font-size:13px}.calendar-input{flex-wrap:wrap;align-items:flex-start;margin-inline:16px}.calendar-input input{width:100%}.slot-area{padding:18px 16px}.slot-grid,.slot-loading{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-grid button{grid-template-columns:17px 1fr;padding:9px}.slot-grid strong{font-size:12px}.slot-grid small{font-size:11px}.customer-form{grid-template-columns:1fr;padding:20px 16px}.quick-schedule>header{flex-direction:column;align-items:flex-start;gap:3px;padding:18px 16px 0}.quick-schedule>header>span{text-align:left;max-width:none}.full-field{grid-column:auto}.mobile-review{margin-inline:16px}.consent-line{padding-inline:16px}.modal-backdrop{place-items:end center;padding:0}.modal-panel{border-radius:8px 8px 0 0;width:100%;max-height:92vh}.modal-body{max-height:calc(92vh - 72px);padding:16px}.success-view{padding:38px 18px}.success-view h1{font-size:29px}.booking-code-block strong{font-size:19px}.success-actions{flex-direction:column;width:100%}.admin-shell{padding-bottom:70px;display:block}.admin-sidebar{z-index:50;width:100%;height:auto;padding:6px 8px max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--line);border-right:0;display:block;position:fixed;inset:auto 0 0}.admin-brand,.admin-sidebar-footer{display:none}.admin-sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.admin-sidebar nav button{justify-items:center;gap:1px;min-height:52px;padding:5px;font-size:9px;display:grid;position:relative}.admin-sidebar nav button span{display:block}.admin-sidebar nav button.is-active{background:var(--sky-soft);color:var(--ink)}.admin-sidebar nav b{margin:0;position:absolute;top:2px;left:calc(50% + 8px)}.admin-main{padding:0 12px 28px}.admin-topbar{min-height:76px}.admin-topbar h1{font-size:21px}.admin-account small{display:none}.admin-card-main{grid-template-columns:54px minmax(0,1fr) 32px;padding:13px 11px}.admin-card-main>time{padding-right:10px}.admin-card-main>time strong{font-size:16px}.admin-booking-copy h3{font-size:12px}.admin-card-details{grid-template-columns:1fr}.admin-card-details dl div{grid-template-columns:90px 1fr}.admin-card-actions{flex-wrap:wrap;padding:10px}.confirmed-actions,.admin-confirm-action{flex-direction:column;align-items:stretch;width:100%}.confirmed-actions>.danger-button,.admin-confirm-action>div{width:100%}.admin-confirm-action>div>button{flex:1}.booking-finance-recorded{justify-content:center;width:100%}.calendar-view-switch{width:100%}.finance-month-toolbar{flex-direction:column;align-items:stretch}.finance-month-nav{grid-template-columns:38px minmax(0,1fr) 38px}.finance-month-actions{justify-content:flex-end}.finance-month-picker{min-width:0}.finance-view-switch{width:100%;min-width:0}.finance-view-switch button{gap:4px;min-width:0;padding-inline:5px;font-size:10px}.finance-view-switch svg{width:14px}.finance-today-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.finance-today-strip span{border:1px solid var(--line);text-align:left;background:#fff;border-radius:6px;padding:8px}.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.finance-metrics article{grid-template-columns:30px minmax(0,1fr);gap:2px 8px;padding:12px 10px}.finance-metrics article>span{width:30px;height:30px}.finance-metrics strong{font-size:14px}.finance-recovery{grid-template-columns:1fr}.finance-recovery-copy{padding:18px 14px}.finance-recovery-copy>h2{font-size:18px}.finance-recovery dl{gap:8px}.finance-recovery dd{font-size:11px}.finance-coverage-service{border-top:1px solid var(--line);border-left:0}.finance-trend{padding-inline:14px}.finance-trend>header{flex-direction:column;align-items:flex-start;gap:5px}.finance-bars{grid-template-columns:repeat(31,18px)}.finance-breakdowns{grid-template-columns:1fr}.finance-settings>div,.finance-list-toolbar{flex-direction:column;align-items:stretch}.finance-list-toolbar .confirm-button{width:100%}.finance-pending-bookings article{grid-template-columns:76px minmax(0,1fr) auto;gap:8px;padding-inline:11px}.finance-pending-bookings article>b{text-align:right}.finance-pending-bookings article>button{grid-column:1/-1;width:100%}.finance-editor>header{padding:15px 14px}.finance-editor header h2{font-size:14px}.finance-form-grid{grid-template-columns:1fr;padding:15px 14px}.finance-wide-field{grid-column:auto}.finance-editor-lines{padding-inline:14px}.finance-line-item>header{grid-template-columns:30px minmax(0,1fr) 36px;gap:8px}.finance-line-number{width:30px;height:30px}.finance-line-fields{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:0}.finance-line-service,.finance-line-name{grid-column:1/-1}.finance-price-presets{flex-wrap:wrap;align-items:stretch}.finance-price-presets>span{width:100%}.finance-price-presets button{flex:1}.finance-line-item>footer{padding-left:0}.finance-sale-bottom{grid-template-columns:1fr;gap:16px;padding:15px 14px}.finance-sale-totals>div{grid-template-columns:minmax(0,1fr) 112px}.finance-sale-totals .finance-discount-row{grid-template-columns:minmax(0,1fr) auto 82px}.finance-editor>.inline-error{margin-inline:14px}.finance-editor>footer{padding-inline:14px}.finance-editor>footer button{flex:1}.finance-record-list>article{grid-template-columns:76px minmax(0,1fr) auto;gap:8px;padding:11px}.finance-record-date{grid-column:1}.finance-record-copy{grid-column:2/-1}.finance-payment-pill{grid-column:2;justify-self:start}.finance-record-amount{grid-column:3}.finance-record-actions{grid-column:1/-1;width:100%}.finance-delete-confirm{grid-template-columns:minmax(0,1fr) auto auto;width:100%;display:grid}.finance-receipt-upload{grid-template-columns:28px minmax(0,1fr);margin-inline:14px}.finance-receipt-upload .secondary-button,.finance-receipt-upload .danger-button{grid-column:1/-1;width:100%}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-grid article{grid-template-columns:30px 1fr;padding:12px}.metric-grid strong{font-size:16px}.maintenance-panel>header{flex-direction:column;align-items:stretch;padding:16px}.maintenance-panel header .secondary-button{width:100%}.maintenance-stats{grid-template-columns:1fr;padding:0 16px}.maintenance-stats>div+div{border-top:1px solid var(--line);border-left:0;margin-left:0;padding-left:0}.maintenance-panel>footer{flex-direction:column;align-items:flex-start;padding:14px 16px}.maintenance-panel>footer p{text-align:left;padding-left:28px}.popular-services{padding:16px}.popular-services li{grid-template-columns:20px minmax(0,1fr) 42px;gap:8px}.popular-services li>div{display:none}.calendar-toolbar{align-items:flex-end}.calendar-toolbar h2{font-size:19px}.calendar-today-button{min-width:0;padding-inline:10px}.calendar-day{gap:0;min-height:50px;padding:5px}.calendar-day-number{width:23px;height:23px;font-size:10px}.calendar-day-events{display:none}.calendar-mobile-count{background:var(--sky);min-width:15px;height:15px;color:var(--ink-strong);border-radius:50%;place-items:center;padding-inline:3px;font-size:8px;font-weight:700;display:grid;position:absolute;bottom:4px;right:5px}.calendar-agenda>header{align-items:flex-start;padding:13px 14px}.calendar-agenda header h3{font-size:12px}.calendar-agenda-item{grid-template-columns:74px minmax(0,1fr);gap:9px;padding:12px 11px}.calendar-agenda-item .secondary-button{grid-column:1/-1;width:100%}.schedule-copy{padding:4px 0 12px}.schedule-copy h2{font-size:23px}.schedule-mode{margin-top:14px}.schedule-form{grid-template-columns:1fr;padding:18px}.schedule-form input[type=date],.schedule-form input[type=time]{font-size:16px}.schedule-list article.is-confirming{flex-direction:column;align-items:stretch}.schedule-list-confirmation{text-align:left;justify-items:stretch}.schedule-list-confirmation>div{justify-content:flex-end}.admin-login{padding:70px 14px 24px}.admin-login>section{padding:28px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
