.cleaning-report{margin-bottom:24px}.cleaning-report-content{padding:18px}.cleaning-report-content>.field{max-width:240px}.cleaning-report-content p{line-height:1.6}.cleaning-report-worker{border-top:1px solid var(--line);padding:14px 0}.cleaning-report-worker summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;display:flex}.cleaning-report-worker summary span:before{content:"▸ "}.cleaning-report-worker[open] summary span:before{content:"▾ "}.cleaning-report-worker summary strong{white-space:nowrap;font-size:22px}.cleaning-report-worker li{overflow-wrap:anywhere;margin:10px 0}.finance-page{gap:20px;min-width:0;scroll-margin-top:96px;display:grid}.finance-toolbar{justify-content:space-between;align-items:flex-end;gap:22px;display:flex}.finance-title .eyebrow{margin-bottom:8px;display:block}.finance-title h2{font-size:28px;font-weight:600}.finance-title p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.5}.finance-period{gap:12px;display:grid}.finance-period-tabs{background:var(--dark,#1c1512);border:1px solid var(--line);border-radius:7px;gap:4px;padding:4px;display:flex}.finance-period-tabs button{min-height:40px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:8px 17px;font-size:13px;font-weight:650}.finance-period-tabs button.selected{background:var(--honey,#e5b27d);color:var(--dark,#1c1512);box-shadow:0 2px 5px #0002}.finance-period-fields{justify-content:flex-end;align-items:flex-end;gap:9px;display:flex}.finance-period-fields .field{min-width:95px}.finance-period-fields .field:first-child{flex:1}.finance-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.finance-actions>span{color:var(--muted);align-items:center;gap:7px;margin-left:auto;font-size:13px;display:flex}.finance-icon-button{border:1px solid var(--line);background:var(--surface-raised,#3f2d23);color:var(--ink);border-radius:4px;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;display:inline-flex}.finance-icon-button:hover{border-color:var(--gold);background:#503a2c}.finance-icon-button.finance-delete{color:var(--danger)}.finance-refresh{width:44px;height:44px}.finance-report{gap:22px;min-width:0;display:grid}.finance-notices{color:#f0c995;background:#49341f;border:1px solid #997454;border-radius:5px;align-items:flex-start;gap:11px;padding:13px 16px;display:flex}.finance-notices>svg{flex-shrink:0;margin-top:1px}.finance-notices p{margin:0;font-size:12px;line-height:1.65}.finance-notices p+p{margin-top:6px}.finance-report-stale{opacity:.52;pointer-events:none}.finance-loading{min-height:220px;color:var(--muted);border:1px solid var(--line);background:var(--surface,#33251e);border-radius:5px;justify-content:center;align-items:center;gap:12px;display:flex}.finance-spinning{animation:1s linear infinite finance-spin}@keyframes finance-spin{to{transform:rotate(360deg)}}.finance-success{color:#d8efce;background:#284133;border:1px solid #506952;border-radius:4px;margin:0;padding:13px 16px;font-size:14px;line-height:1.5}.finance-page>.error-message{margin:0}.finance-page>.error-message p{margin:0 0 10px}.finance-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.finance-summary-card{border:1px solid var(--line);background:var(--surface,#33251e);border-radius:6px;min-width:0;padding:22px}.finance-summary-card>div{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.finance-summary-card>div svg{color:var(--honey,#e5b27d)}.finance-summary-card>strong{overflow-wrap:anywhere;margin:14px 0 18px;font-size:clamp(25px,2.45vw,34px);font-weight:650;line-height:1.2;display:block}.finance-summary-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.9}.finance-summary-card p b{color:var(--ink-soft);font-weight:600}.finance-summary-card.finance-result{color:#fff8e6;background:#2d3928;border-color:#61744f}.finance-result>div,.finance-result p{color:#e3d8c0}.finance-result>div svg{color:#d6b675}.finance-result-caption{color:#ecd49f;margin-top:17px;font-size:12px;display:inline-block}.finance-summary-card.finance-result-negative{background:#472c26;border-color:#99604c}.finance-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.finance-page .section-heading{gap:16px;padding-block:16px}.finance-page .section-heading>svg{color:var(--gold-deep);flex-shrink:0}.finance-breakdown{gap:15px;padding:20px 22px;display:grid}.finance-breakdown-label{justify-content:space-between;align-items:baseline;gap:15px;font-size:13px;display:flex}.finance-breakdown-label strong{white-space:nowrap;font-size:13px;font-weight:650}.finance-breakdown-row>small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.finance-bar{background:#4b372a;border-radius:8px;height:7px;margin-top:8px;overflow:hidden}.finance-bar>span{border-radius:inherit;background:#e5b27d;min-width:0;height:100%;display:block}.finance-bar-1>span{background:#a8bb85}.finance-bar-2>span{background:#d0b475}.finance-bar-3>span{background:#9cb9b6}.finance-bar-4>span{background:#d0a2a0}.finance-bar-5>span{background:#bdab94}.finance-panel-note{color:var(--muted);margin:0;padding:14px 22px 18px;font-size:12px;line-height:1.65}.finance-empty{color:var(--muted);margin:0;padding:26px 22px;font-size:14px;line-height:1.65}.finance-table-wrap{overflow-x:auto}.finance-table{border-collapse:collapse;width:100%;font-size:12px}.finance-table th{text-align:left;color:var(--muted);font-size:11px;font-weight:650}.finance-table td,.finance-table th{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 18px}.finance-table tbody tr:last-child td,.finance-table tbody tr:last-child th{border-bottom:0}.finance-table td:first-child{white-space:nowrap}.finance-table .finance-numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.finance-positive{color:#b6d1a3}.finance-negative{color:var(--danger)}.finance-period-link{color:var(--gold-deep);text-underline-offset:3px;background:0 0;border:0;padding:6px 0;font-size:13px;font-weight:650;text-decoration:underline}.finance-ledger-tools{border-bottom:1px solid var(--line);grid-template-columns:230px minmax(0,1fr);gap:18px;padding:16px 18px;display:grid}.finance-search>div{position:relative}.finance-search svg{color:var(--muted);pointer-events:none;position:absolute;top:14px;left:12px}.finance-search input{padding-left:38px}.finance-entry-title{overflow-wrap:anywhere;min-width:150px;max-width:300px}.finance-entry-title strong{font-size:13px;font-weight:600}.finance-table td>small{color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;margin-top:5px;line-height:1.5;display:block}.finance-source{color:#d1bfae;white-space:nowrap;background:#463428;border:1px solid #79563e;border-radius:4px;padding:3px 7px;font-size:10px;font-weight:550;display:inline-block}.finance-source-manual{color:#ffdaa5;background:#554027;border-color:#a17d48}.finance-table td.finance-entry-actions{white-space:nowrap;text-align:right}.finance-entry-actions .finance-icon-button{width:36px;min-width:36px;height:36px;margin-left:5px}.finance-readonly{color:#c4ad97;font-size:10px}.finance-more{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:14px;padding:18px;display:flex}.finance-more span{color:var(--muted);font-size:12px}.finance-recurring-list article{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:18px 22px;display:flex}.finance-recurring-list article>div:first-child{flex:1;min-width:0}.finance-rule-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.finance-rule-heading strong{overflow-wrap:anywhere;font-size:14px}.finance-recurring-list p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.5}.finance-recurring-list small{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px;font-size:12px;display:block}.finance-rule-amount{white-space:nowrap;font-size:16px;font-weight:650}.finance-rule-actions{gap:6px;display:flex}.finance-rule-stopped{background:var(--dark,#1c1512);color:var(--muted)}.finance-cleaner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:4px 22px 22px;display:grid}.finance-cleaner{border:1px solid var(--line);background:var(--dark,#1c1512);border-radius:5px;min-width:0;padding:18px}.finance-cleaner-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.finance-cleaner-heading>strong{font-size:14px}.finance-cleaner p{color:var(--muted);margin:9px 0 13px;font-size:12px;line-height:1.55}.finance-cleaner p strong{color:var(--ink);font-weight:600}.finance-cleaner p.finance-missing-rate{color:#f0c995;background:#49341f;border:1px solid #997454;border-radius:3px;padding:7px 10px}.finance-cleaner form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;display:grid}.finance-cleaner form .button{min-height:44px;padding-inline:12px;font-size:12px}.finance-explanation{border:1px solid var(--line);color:var(--muted);background:var(--dark,#1c1512);border-radius:5px}.finance-explanation summary{cursor:pointer;color:var(--ink-soft);align-items:center;gap:9px;padding:17px 20px;font-size:13px;font-weight:600;display:flex}.finance-explanation summary:after{content:"+";margin-left:auto;font-size:20px;font-weight:400}.finance-explanation[open] summary:after{content:"−"}.finance-explanation>div{padding:0 20px 18px}.finance-explanation p{margin:0 0 10px;font-size:12px;line-height:1.75}.finance-explanation p:last-child{margin-bottom:0}.finance-dialog{background:var(--surface,#33251e);width:min(620px,100vw - 30px);max-height:calc(100dvh - 36px);color:var(--ink);border:1px solid #997454;border-radius:9px;padding:24px;box-shadow:0 20px 70px #0005}.finance-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#16141199}.finance-dialog-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px;display:flex}.finance-dialog-heading h2{font-size:21px;font-weight:600;line-height:1.3}.finance-help{color:var(--muted);margin:0 0 18px;font-size:13px;line-height:1.65}.finance-form>.finance-help{margin-top:15px}.finance-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px;display:grid}.finance-full{grid-column:1/-1}.finance-dialog .field{min-width:0}.finance-dialog .field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--dark,#1c1512);font:inherit;resize:vertical;border-radius:3px;padding:11px 12px;font-size:14px;line-height:1.5}.finance-dialog .field textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.finance-dialog .field input,.finance-dialog .field select{font-size:16px}.finance-form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;display:flex}.finance-dialog .error-message{margin-top:17px;margin-bottom:0}.finance-delete-title{overflow-wrap:anywhere;font-size:15px;line-height:1.65}.finance-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}@media (width<=1000px){.finance-summary-card{padding:18px}.finance-table td,.finance-table th{padding-inline:12px}.finance-entry-title{max-width:250px}.finance-cleaner form{grid-template-columns:1fr}.finance-cleaner form .button{justify-self:start}}@media (width<=740px){.finance-toolbar{flex-direction:column;align-items:stretch;gap:18px}.finance-period-tabs{width:fit-content}.finance-period-fields{justify-content:flex-start;max-width:350px}.finance-period-fields .field:first-child{flex:1}.finance-summary{grid-template-columns:1fr;gap:12px}.finance-summary-card{padding:18px 20px}.finance-summary-card>strong{margin:10px 0 12px;font-size:30px}.finance-summary-card p{line-height:1.75}.finance-result-caption{margin-top:12px}.finance-overview-grid,.finance-cleaner-grid{grid-template-columns:1fr}.finance-actions>span{width:100%;margin-top:5px;margin-left:0}.finance-actions .button{min-height:44px}.finance-ledger-tools{grid-template-columns:1fr;gap:13px}.finance-table{font-size:13px}.finance-ledger .finance-table thead{display:none}.finance-ledger .finance-table tbody{display:block}.finance-ledger .finance-table tr{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 15px;padding:18px;display:grid;position:relative}.finance-ledger .finance-table td{border:0;min-width:0;padding:0;display:block}.finance-ledger .finance-table td:first-child{color:var(--muted);grid-column:1;font-size:12px}.finance-ledger .finance-table td.finance-entry-title{grid-area:2/1/auto/-1;max-width:none}.finance-ledger .finance-table td:nth-child(3){grid-column:1/-1}.finance-ledger .finance-table td:nth-child(3)>small{margin-left:7px;display:inline}.finance-ledger .finance-table .finance-numeric{text-align:left}.finance-ledger .finance-table .finance-numeric:before{content:attr(data-label);color:var(--muted);margin-bottom:4px;font-size:10px;display:block}.finance-ledger .finance-table td.finance-entry-actions{text-align:right;grid-area:1/2;margin-top:-6px}.finance-ledger .finance-entry-actions .finance-icon-button{width:34px;min-width:34px;height:34px}.finance-more{flex-direction:column;gap:10px}.finance-page .section-heading{flex-wrap:wrap}.finance-page .section-heading .button{min-height:42px}.finance-recurring-list article{grid-template-columns:minmax(0,1fr) auto;gap:13px;padding:18px;display:grid}.finance-recurring-list article>div:first-child{grid-column:1/-1}.finance-rule-amount{font-size:16px}.finance-rule-actions{justify-content:flex-end}.finance-cleaner-grid{padding-inline:18px}.finance-cleaner form{grid-template-columns:minmax(0,1fr) auto}.finance-cleaner form .button{justify-self:stretch}.finance-timeline td,.finance-timeline th{padding:13px 10px}.finance-timeline{font-size:12px}}@media (width<=430px){.finance-title h2{font-size:26px}.finance-period-tabs{width:100%}.finance-period-tabs button{flex:1;padding-inline:8px;font-size:12px}.finance-dialog{padding:20px 17px}.finance-dialog-heading h2{font-size:19px}.finance-form-grid{grid-template-columns:1fr;gap:15px}.finance-form-actions{flex-direction:column-reverse}.finance-form-actions .button{width:100%;min-height:44px}.finance-cleaner form{grid-template-columns:1fr}.finance-cleaner form .button{justify-self:stretch}.finance-timeline td,.finance-timeline th{padding-inline:7px;font-size:11px}.finance-timeline .finance-period-link{font-size:12px}}@media (prefers-reduced-motion:reduce){.finance-spinning{animation:none}}:root{color:#191919;font-synthesis:none;--green:#242321;--green-dark:#0c0c0b;--green-soft:#f5f1e7;--wine:#8c6a2d;--accent:#bd9850;--gold:#bd9850;--gold-deep:#8c6a2d;--gold-light:#ead8a3;--ink:#191919;--ink-soft:#353431;--muted:#6d6a65;--line:#ddd9cf;--paper:#fff;--warning:#9a5d11;--danger:#a43d3d;--shadow:0 18px 44px #0c0c0b1f;background:#f4f4f2;font-family:Noto Sans,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f4f4f2;min-width:320px;margin:0}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.topbar{z-index:20;background:#0c0c0b;border-bottom:1px solid #ead8a347;justify-content:space-between;align-items:center;height:72px;padding:0 max(24px,50% - 620px);display:flex;position:sticky;top:0;box-shadow:0 3px 18px #0c0c0b38}.brand{color:#fff;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.brand-mark{width:34px;height:40px;color:var(--gold-light);place-items:center;display:grid;position:relative}.brand-mark svg{fill:currentColor;width:30px;height:34px;display:block}.brand-wordmark{flex-direction:column;align-items:flex-start;gap:3px;line-height:1;display:flex}.brand-wordmark strong{font:700 13px/1 Noto Sans,sans-serif}.brand-wordmark small{color:var(--gold-light);font-size:8px;font-weight:700}.brand-context{border-left:1px solid #ffffff47;margin-left:3px;padding-left:14px;font-size:13px;font-weight:700}.topbar-actions{align-items:center;gap:14px;height:100%;display:flex}.main-nav{gap:4px;height:100%;display:flex}.main-nav button{color:#ffffffb8;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:flex}.main-nav button.active{color:#fff;border-bottom-color:var(--gold)}.login-button{color:#fff;background:#ffffff0d;border:1px solid #ead8a39e;border-radius:2px;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:12px;font-weight:700;display:flex}.account-area{border-left:1px solid #ffffff42;align-items:center;gap:10px;padding-left:14px;display:flex}.account-area>span{color:#fff;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;max-width:150px;font-size:12px;font-weight:750;display:flex;overflow:hidden}.test-mode-banner{color:#443719;background:#f5e5b7;border-bottom:1px solid #d7bd75;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:7px max(24px,50% - 620px);font-size:12px;line-height:1.35;display:flex}.test-mode-banner.live-integration{color:#fff8ed;background:#3b211e;border-bottom-color:#9f6b3d}.booking-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:56px;max-width:1240px;margin:0 auto;padding:48px 24px 72px;display:grid}.booking-panel{min-width:0}.visit-flow{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:-12px 0 42px;padding:22px 0}.visit-flow-title{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:18px;display:flex}.visit-flow-title .eyebrow{margin:0}.visit-flow-title h2{color:var(--ink);font-family:Noto Sans,sans-serif;font-size:20px;font-weight:600}.visit-flow ol{grid-template-columns:repeat(3,1fr);gap:28px;margin:0;padding:0;list-style:none;display:grid}.visit-flow li{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:9px;min-width:0;display:grid}.visit-flow li>span{background:var(--green-dark);width:28px;height:28px;color:var(--gold-light);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.visit-flow li div{flex-direction:column;gap:4px;display:flex}.visit-flow li strong{font-size:12px;line-height:1.35}.visit-flow li p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.visit-flow li b{color:var(--gold-deep);font-size:14px}.account-notice{border-radius:2px;align-items:center;gap:8px;width:fit-content;min-height:34px;margin-top:15px;padding:7px 10px;font-size:12px;font-weight:650;display:flex}.account-notice.approved{color:#245f42;background:#e3f1e8}.account-notice.pending{color:#80551c;background:#fff0d5}.eyebrow{color:#8c6a2d;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}h1,h2,p{letter-spacing:0}h1{color:var(--ink);margin:0;font-family:Noto Sans,sans-serif;font-size:36px;font-weight:500;line-height:1.18}h2{margin:0;font-size:20px}fieldset{border:0;border-bottom:1px solid var(--line);margin:0 0 34px;padding:0 0 34px}fieldset:last-of-type{margin-bottom:22px}.progressive-section{animation:.18s ease-out reveal}.progressive-details{margin:0}@keyframes reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}legend{align-items:center;gap:11px;width:100%;margin-bottom:18px;padding:0;font-size:15px;font-weight:800;display:flex}legend span{background:var(--green-dark);width:26px;height:26px;color:var(--gold-light);border-radius:50%;place-items:center;font-size:12px;display:inline-grid;box-shadow:inset 0 0 0 1px #ead8a347}.type-grid{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.choice{border:1px solid var(--line);background:var(--paper);min-height:70px;color:var(--ink);border-radius:3px;flex-direction:column;justify-content:center;gap:4px;padding:12px 8px;display:flex}.choice strong{font-size:13px}.choice small{color:var(--muted);font-size:12px}.choice.selected,.slot-grid button.selected,.payment-grid button.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);color:var(--green-dark);background:#fbf8ef}.field{flex-direction:column;gap:7px;display:flex}.field input,.field select,.cleaner-select select,.note-entry input{border:1px solid var(--line);width:100%;height:44px;color:var(--ink);background:#fff;border-radius:3px;outline:none;padding:0 12px}.field input:focus,.field select:focus,.cleaner-select select:focus,.note-entry input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #bd985029}.slot-grid{flex-wrap:wrap;align-items:center;gap:8px;min-height:42px;display:flex}.slot-grid button{border:1px solid var(--line);min-width:68px;height:40px;color:var(--ink);background:#fff;border-radius:3px;padding:0 12px;font-weight:700}.muted{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.availability-fieldset{overflow:visible}.week-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:58px;margin-bottom:12px;display:flex}.week-toolbar>div:first-child{flex-direction:column;gap:3px;display:flex}.week-toolbar strong{color:var(--ink);font-family:Noto Sans,sans-serif;font-size:18px;font-weight:600}.week-toolbar small{color:var(--muted)}.week-actions{align-items:center;gap:6px;display:flex}.week-today{border:1px solid var(--line);height:36px;color:var(--green-dark);background:#fff;border-radius:3px;padding:0 10px;font-size:11px;font-weight:700}.week-loading{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:9px;display:flex}.availability-week{border:1px solid var(--line);background:#fff;border-radius:3px;grid-template-columns:repeat(7,minmax(92px,1fr));display:grid;overflow:hidden}.availability-day{border-right:1px solid var(--line);background:#fff;min-width:0}.availability-day:last-child{border-right:0}.availability-day>header{border-bottom:1px solid var(--line);text-align:center;background:#f4f4f2;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:82px;padding:11px 9px;display:flex}.availability-day>header span{color:var(--gold-deep);text-transform:uppercase;font-size:11px;font-weight:800}.availability-day>header strong{font-family:Noto Sans,sans-serif;font-size:16px;font-weight:600}.availability-day>header small{color:var(--muted);font-size:9px}.day-slots{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:5px;min-height:176px;padding:8px 7px 11px;display:grid}.day-slots button{border:1px solid var(--line);min-width:0;height:30px;color:var(--ink-soft);background:#fff;border-radius:2px;padding:0 3px;font-size:11px;font-weight:700}.day-slots button.selected{border-color:var(--green-dark);background:var(--green-dark);color:#fff;box-shadow:0 2px 7px #0c0c0b2e}.no-slots{color:#9b918c;text-align:center;grid-column:1/-1;padding:16px 3px;font-size:10px;line-height:1.4}.selected-booking{border:1px solid #d7c9a8;border-left:4px solid var(--gold);min-height:60px;color:var(--green-dark);background:#fbf8ef;border-radius:3px;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;margin-bottom:24px;padding:10px 12px;display:grid}.selected-booking span{flex-direction:column;gap:2px;display:flex}.selected-booking small{color:var(--muted);text-transform:uppercase;font-size:9px}.selected-booking strong{color:var(--ink);font-size:14px}.selected-booking button{height:32px;color:var(--green);background:0 0;border:0;font-size:11px;font-weight:800}.temperature-setting{border-bottom:1px solid var(--line);padding:14px 0 18px}.temperature-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.temperature-heading label{color:var(--ink);font-size:13px;font-weight:800}.temperature-heading output{min-width:62px;color:var(--wine);text-align:right;font-size:17px;font-weight:850}.temperature-setting input[type=range]{width:100%;accent-color:var(--wine);margin:14px 0 8px}.temperature-scale{color:var(--muted);grid-template-columns:auto 1fr auto;align-items:start;gap:12px;font-size:9px;display:grid}.temperature-scale span:nth-child(2){text-align:center}.setting-row{border-bottom:1px solid #e9edeb;justify-content:space-between;align-items:center;gap:20px;min-height:68px;display:flex}.setting-row:last-child{border-bottom:0}.setting-label{color:var(--green);align-items:center;gap:13px;display:flex}.setting-label div{flex-direction:column;gap:3px;display:flex}.setting-label strong{color:var(--ink);font-size:14px}.setting-label small{color:var(--muted)}.switch{background:#b9c2bf;border:0;border-radius:14px;width:46px;height:26px;padding:3px;transition:background .2s}.switch span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;display:block;box-shadow:0 1px 4px #0003}.switch.on span{transform:translate(20px)}.stepper{text-align:center;grid-template-columns:36px 38px 36px;align-items:center;display:grid}.stepper button,.icon-button{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);background:#fff;border-radius:3px;place-items:center;padding:0;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid .full{grid-column:1/-1}.payment-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-top:18px;display:grid}.payment-grid button{text-align:left;border:1px solid var(--line);min-height:66px;color:var(--muted);background:#fff;border-radius:3px;align-items:center;gap:10px;padding:10px;display:flex}.payment-grid button span{flex-direction:column;gap:3px;display:flex}.payment-grid strong{color:var(--ink);font-size:13px}.payment-grid small{font-size:11px}.voucher-field{margin-top:14px}.delivery-row{justify-content:space-between;align-items:center;gap:14px;margin-top:18px;display:flex}.segmented{border:1px solid var(--line);background:#efefec;border-radius:3px;padding:3px;display:flex}.segmented button{height:32px;color:var(--muted);background:0 0;border:0;border-radius:2px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;display:flex}.segmented button.selected{color:var(--green);background:#fff;box-shadow:0 1px 4px #00000014}.summary-panel{color:#fff;background:var(--green-dark);box-shadow:var(--shadow);border:1px solid #ead8a357;border-radius:3px;position:sticky;top:104px;overflow:hidden}.wellness-image{aspect-ratio:16/9;background:var(--green-dark);position:relative;overflow:hidden}.wellness-image:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0c0c0b66);position:absolute;inset:45% 0 0}.wellness-image img{object-fit:cover;object-position:48% center;width:100%;height:100%;display:block}.summary-content .eyebrow{color:var(--gold-light)}.summary-content h2{color:#fff;margin-bottom:22px;font-family:Noto Sans,sans-serif;font-size:26px;font-weight:500;line-height:1.3}.summary-content dl{margin:0}.summary-content dl div{border-bottom:1px solid #ffffff24;justify-content:space-between;gap:20px;padding:10px 0;font-size:13px;display:flex}.summary-content dd{text-align:right;margin:0;font-weight:700}.total{border-top:1px solid var(--gold);justify-content:space-between;align-items:baseline;margin-top:20px;padding-top:18px;display:flex}.total span{font-weight:800}.total strong{color:var(--gold-light);font-size:25px}.demo-note{color:var(--gold-light);background:#ead8a31a;border:1px solid #ead8a338;border-radius:2px;gap:8px;padding:10px;font-size:11px;line-height:1.45;display:flex}.button{border:0;border-radius:2px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-weight:800;display:inline-flex}.button.primary{background:var(--gold-light);color:var(--green-dark);box-shadow:0 2px 8px #0c0c0b29}.button.primary:hover{background:#fff}.button.secondary{background:var(--green-soft);color:var(--green-dark);border:1px solid #d7c9a8}.submit-mobile{width:100%;height:50px}.submit-desktop{width:100%;margin-top:12px;display:none}.error-message{color:var(--danger);background:#fbecec;border:1px solid #efc6c6;border-radius:3px;align-items:center;gap:9px;margin:14px 0;padding:12px;font-size:13px;display:flex}.success-message{color:#245f42;background:#e3f1e8;border:1px solid #bddbc8;border-radius:3px;align-items:flex-start;gap:9px;margin:14px 0;padding:12px;font-size:12px;line-height:1.5;display:flex}.auth-layout{background:#fff;grid-template-columns:minmax(320px,46%) minmax(420px,1fr);min-height:calc(100vh - 72px);display:grid}.auth-visual{min-height:680px;overflow:hidden}.auth-visual img{object-fit:cover;width:100%;height:100%;display:block}.auth-panel{width:min(430px,100% - 48px);margin:auto;padding:46px 0 70px;position:relative}.close-auth{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);background:#fff;border-radius:3px;place-items:center;display:grid;position:absolute;top:28px;right:0}.auth-icon{width:46px;height:46px;color:var(--gold-deep);background:var(--green-soft);border:1px solid #d7c9a8;border-radius:3px;place-items:center;margin-bottom:20px;display:grid}.auth-panel h1{font-size:34px}.auth-tabs{border:1px solid var(--line);background:#efefec;border-radius:3px;grid-template-columns:1fr 1fr;gap:4px;margin:28px 0 22px;padding:3px;display:grid}.auth-tabs button{height:38px;color:var(--muted);background:0 0;border:0;border-radius:2px;font-weight:750}.auth-tabs button.selected{color:var(--green-dark);background:var(--gold-light);box-shadow:0 1px 4px #00000014}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-submit{width:100%;height:48px;margin-top:4px}.success-view{text-align:center;max-width:720px;margin:0 auto;padding:78px 24px}.success-symbol{background:var(--green-dark);width:64px;height:64px;color:var(--gold-light);border-radius:50%;place-items:center;margin:0 auto 20px;display:grid}.success-copy{max-width:540px;color:var(--muted);margin:18px auto 30px;line-height:1.65}.confirmation-grid{border:1px solid var(--line);background:#fff;border-radius:3px;grid-template-columns:repeat(4,1fr);margin-bottom:18px;display:grid}.confirmation-grid div{border-right:1px solid var(--line);flex-direction:column;gap:6px;padding:18px 10px;display:flex}.confirmation-grid div:last-child{border-right:0}.confirmation-grid span{color:var(--muted);font-size:11px}.access-code{background:var(--green-dark);border:1px solid var(--gold);width:fit-content;color:var(--gold-light);border-radius:3px;align-items:center;gap:9px;margin:0 auto 24px;padding:12px 16px;display:flex}.access-code strong{font-size:20px}.entry-guide{text-align:left;background:#fbf8ef;border:1px solid #d7c9a8;border-radius:3px;max-width:680px;margin:0 auto 26px;padding:20px}.entry-guide.waiting{background:#fff9ed;border-color:#ead3a9}.entry-guide-heading{color:var(--gold-deep);align-items:flex-start;gap:11px;display:flex}.entry-guide-heading>div{flex-direction:column;gap:3px;display:flex}.entry-guide-heading strong{color:var(--ink);font-size:14px}.entry-guide-heading span{color:var(--muted);font-size:12px}.access-visual{grid-template-columns:280px minmax(0,1fr);align-items:center;gap:24px;margin-top:18px;display:grid}.keypad-product{margin:0}.keypad-crop{aspect-ratio:1.04;background:#fff;border-radius:3px;width:100%;overflow:hidden}.keypad-product img{object-fit:cover;object-position:right center;width:100%;height:100%;display:block}.keypad-product figcaption{color:var(--muted);text-align:center;margin-top:7px;font-size:10px}.access-steps{flex-direction:column;display:flex}.access-step{border-bottom:1px solid var(--line);grid-template-columns:32px minmax(0,1fr);gap:12px;min-height:118px;padding:16px 0;display:grid}.access-step:last-child{border-bottom:0}.access-step>span{background:var(--green-dark);width:32px;height:32px;color:var(--gold-light);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.access-step>div{flex-direction:column;gap:9px;min-width:0;display:flex}.access-step strong{font-size:14px}.access-step p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.code-digits{gap:6px;display:flex}.code-digits b{width:38px;height:44px;color:var(--green-dark);background:#fff;border:1px solid #d7c9a8;border-radius:2px;place-items:center;font-size:22px;display:grid}.visual-check{color:#dedede;background:#222;border:1px solid #575757;border-radius:3px;place-items:center;width:52px;height:44px;font-size:29px;line-height:1;display:grid}.workspace{max-width:1240px;margin:0 auto;padding:40px 24px 72px}.workspace-title{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.workspace-title h1{font-size:34px}.metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px;display:grid}.metrics>button{border:1px solid var(--line);min-height:112px;color:var(--gold-deep);background:#fff;border-radius:3px;grid-template-rows:1fr auto;grid-template-columns:28px 1fr;align-items:start;padding:16px;display:grid}.metrics span{color:var(--muted);align-self:center;font-size:12px}.metrics strong{color:var(--ink);grid-column:1/-1;font-size:28px}.admin-grid{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:18px;display:grid}.admin-tabs{border:1px solid var(--line);background:#efefec;border-radius:3px;gap:4px;width:fit-content;margin-bottom:18px;padding:4px;display:flex}.admin-tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:2px;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:750;display:flex}.admin-tabs button span{background:#dce4e0;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:9px;display:inline-grid}.data-section{border:1px solid var(--line);background:#fff;border-radius:3px}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:68px;padding:0 18px;display:flex}.section-heading h2{font-size:16px}.section-heading span{color:var(--muted);font-size:11px}.section-heading>div{flex-direction:column;gap:4px;display:flex}.reservation-row{border-bottom:1px solid #edf0ee;grid-template-columns:52px minmax(0,1fr) 90px auto;align-items:center;gap:14px;min-height:84px;padding:12px 16px;display:grid}.reservation-row:last-child{border-bottom:0}.date-block{background:var(--green-soft);border:1px solid #e5dac0;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;width:46px;height:52px;display:flex}.date-block strong{font-size:18px}.date-block span{text-transform:uppercase;color:var(--muted);font-size:10px}.reservation-main{flex-direction:column;gap:7px;min-width:0;display:flex}.reservation-main>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reservation-main>span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.reservation-price{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.reservation-price span{color:var(--muted);font-size:10px}.row-actions{gap:7px;display:flex}.small-button{border:0;border-radius:2px;align-items:center;gap:5px;height:34px;padding:0 10px;font-size:11px;font-weight:800;display:flex}.small-button.approve{background:var(--green-soft);color:var(--green-dark)}.icon-button.danger{color:var(--danger);background:#fff5f5;border-color:#efcccc}.side-stack{flex-direction:column;gap:18px;display:flex}.accounts-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:18px;display:grid}.account-list>button{text-align:left;width:100%;min-height:68px;color:var(--ink);background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:38px minmax(0,1fr) auto 64px;align-items:center;gap:10px;padding:9px 14px;display:grid}.account-list>button:last-child{border-bottom:0}.account-list>button:hover,.account-list>button.selected{background:#fbf8ef}.account-list>button.selected{box-shadow:inset 3px 0 var(--gold)}.account-avatar{background:var(--green-soft);width:34px;height:34px;color:var(--gold-deep);border-radius:50%;place-items:center;display:grid}.account-identity{flex-direction:column;gap:3px;min-width:0;display:flex}.account-identity strong{font-size:13px}.account-identity small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.role-chip{color:#52605b;background:#edf0ee;border-radius:12px;align-items:center;min-height:24px;padding:0 8px;font-size:9px;font-weight:800;display:inline-flex}.role-cleaner{color:#3c5d82;background:#e4edf7}.activity-dot{color:var(--muted);font-size:9px}.activity-dot.active{color:#2f704e}.activity-dot.inactive{color:var(--danger)}.account-editor form{flex-direction:column;gap:13px;padding:18px;display:flex}.active-check{color:#4e5c58;align-items:center;gap:9px;font-size:12px;font-weight:700;display:flex}.active-check input{width:17px;height:17px;accent-color:var(--green)}.approval-button{color:#80551c;background:#fff0d4;border:1px solid #ead29d}.account-save{width:100%;margin-top:3px}.voucher-admin-grid{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;display:grid}.maintenance-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:18px;display:grid}.maintenance-form form{flex-direction:column;gap:14px;padding:18px;display:flex}.maintenance-form .button{width:100%;margin-top:3px}.maintenance-list article{border-bottom:1px solid #edf0ee;grid-template-columns:40px minmax(0,1fr) 36px;align-items:center;gap:11px;min-height:76px;padding:12px 16px;display:grid}.maintenance-list article:last-child{border-bottom:0}.maintenance-icon{background:var(--green-soft);width:36px;height:36px;color:var(--gold-deep);border-radius:50%;place-items:center;display:grid}.maintenance-list article>span:nth-child(2){flex-direction:column;gap:5px;min-width:0;display:flex}.maintenance-list article small{color:var(--muted);line-height:1.45}.voucher-create{padding-bottom:16px}.voucher-create .field{padding:16px 16px 10px}.full-button{width:calc(100% - 32px);margin:0 16px}.voucher-list>div{min-height:64px;color:var(--gold-deep);border-bottom:1px solid #edf0ee;grid-template-columns:22px 1fr auto;align-items:center;gap:9px;padding:10px 14px;display:grid}.voucher-list>div:last-child{border-bottom:0}.voucher-list>div>span:not(.status){color:var(--ink);flex-direction:column;gap:3px;display:flex}.voucher-list small{color:var(--muted);font-size:10px}.loxone-simulator-layout{grid-template-columns:minmax(0,1fr) 370px;align-items:start;gap:18px;display:grid}.loxone-wide{grid-column:1/-1;margin:0}.simulator-online{background:#e2f2e9;border-radius:2px;align-items:center;gap:6px;min-height:28px;padding:0 9px;font-weight:800;display:inline-flex;color:#286644!important}.simulator-online.live-online{background:#7d4f28;color:#fff7e8!important}.loxone-device-list article{border-bottom:1px solid #edf0ee;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:88px;padding:14px 18px;display:grid}.loxone-device-list article:last-child{border-bottom:0}.loxone-device-icon{width:40px;height:40px;color:var(--gold-deep);background:var(--green-soft);border-radius:50%;place-items:center;display:grid}.loxone-device-icon.active{color:#923d22;background:#f8e5dc}.loxone-device-list article>span:nth-child(2),.device-value{flex-direction:column;gap:4px;min-width:0;display:flex}.loxone-device-list article>span:nth-child(2) strong{font-size:13px}.loxone-device-list article small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.device-value{text-align:right;align-items:flex-end}.device-value strong{font-size:18px}.loxone-control-body{padding:17px 18px 18px}.loxone-control-body .temperature-heading{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:800;display:flex}.loxone-control-body .temperature-heading output{color:var(--gold-deep);font-size:17px}.loxone-control-body>input[type=range]{width:100%;accent-color:var(--gold-deep);margin:15px 0 17px}.loxone-command-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.loxone-command-grid .small-button{border:1px solid var(--line);justify-content:center;height:auto;min-height:38px;padding:7px 8px}.loxone-command-grid .sauna-command{color:#78441e;background:#fff2e8;border-color:#ecd0ba}.loxone-command-grid .off-command{color:var(--ink-soft);background:#f2f2ef}.loxone-live-layout .loxone-command-grid .approve{grid-column:1/-1}.loxone-command-grid .live-confirm,.live-access-form .live-confirm{color:#fff;background:#9a5d11;border-color:#9a5d11}.simulator-worker-status{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:4px 12px;margin-top:16px;padding-top:14px;display:grid}.simulator-worker-status span{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.simulator-worker-status strong{color:#286644;font-size:11px}.simulator-worker-status small{color:var(--muted);grid-column:1/-1;font-size:10px}.loxone-codes,.loxone-api-log{grid-column:1/-1}.loxone-codes .section-heading>strong{min-width:28px;height:28px;color:var(--green-dark);background:var(--gold-light);border-radius:50%;place-items:center;font-size:11px;display:grid}.simulator-code-list article{border-bottom:1px solid #edf0ee;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:72px;padding:11px 18px;display:grid}.simulator-code-list article:last-child{border-bottom:0}.simulator-code-list article>code{height:42px;color:var(--gold-light);background:var(--green-dark);letter-spacing:1px;border-radius:2px;place-items:center;font:800 17px/1 Noto Sans,sans-serif;display:grid}.simulator-code-list article>span{flex-direction:column;gap:5px;min-width:0;display:flex}.simulator-code-list article>span strong{overflow-wrap:anywhere;font-size:12px}.simulator-code-list article>span small{color:var(--muted);font-size:10px}.loxone-api-log .section-heading .small-button{color:var(--danger);background:#fff3f3;border:1px solid #efcccc}.loxone-api-log .section-heading .reset-confirm{color:#fff;background:var(--danger)}.live-access-test .section-heading>svg{color:var(--gold-deep)}.live-access-form{grid-template-columns:minmax(180px,1fr) 180px auto;align-items:end;gap:14px;padding:18px;display:grid}.live-access-form .button{white-space:nowrap;min-height:44px}.live-code-result{border-top:1px solid var(--line);background:#faf9f6;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:74px;padding:12px 18px;display:grid}.live-code-result>code{height:42px;color:var(--gold-light);background:var(--green-dark);letter-spacing:1px;border-radius:2px;place-items:center;font:800 17px/1 Noto Sans,sans-serif;display:grid}.live-code-result>span{flex-direction:column;gap:5px;min-width:0;display:flex}.live-code-result strong{overflow-wrap:anywhere;font-size:12px}.live-code-result small{color:var(--muted);font-size:10px}.live-event-list{max-height:360px;overflow:auto}.live-event-list article{border-bottom:1px solid #edf0ee;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:10px 16px;display:grid;box-shadow:inset 3px 0 #4c8a68}.live-event-list article.failed{box-shadow:inset 3px 0 var(--danger)}.live-event-list article:last-child{border-bottom:0}.live-event-list time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.live-event-list article>span{flex-direction:column;gap:4px;min-width:0;display:flex}.live-event-list strong{font-size:12px}.live-event-list small{color:var(--muted);overflow-wrap:anywhere;font-size:10px;line-height:1.4}.loxone-code-manager{grid-column:1/-1;overflow:hidden}.code-heading-actions{align-items:center;flex-direction:row!important;gap:9px!important}.code-heading-actions>strong{min-width:30px;height:30px;color:var(--green-dark);background:var(--gold-light);border-radius:15px;place-items:center;font-size:11px;display:grid}.code-manager-toolbar{border-bottom:1px solid var(--line);background:#faf9f6;justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:10px 18px;display:flex}.code-manager-toolbar>span{color:var(--muted);align-items:center;gap:7px;font-size:10px;line-height:1.4;display:flex}.code-search{border:1px solid var(--line);width:min(430px,100%);height:40px;color:var(--muted);background:#fff;border-radius:3px;align-items:center;gap:8px;padding:0 11px;display:flex}.code-search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #bd985029}.code-search input{width:100%;min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:12px}.code-manager-layout{grid-template-columns:430px minmax(0,1fr);align-items:start;display:grid}.code-admin-list{border-right:1px solid var(--line);max-height:720px;overflow:auto}.code-admin-list>button{width:100%;min-height:70px;color:var(--ink);text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:36px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:10px 14px;display:grid}.code-admin-list>button:last-of-type{border-bottom:0}.code-admin-list>button:hover,.code-admin-list>button.selected{background:#fbf8ef}.code-admin-list>button.selected{box-shadow:inset 3px 0 var(--gold)}.code-admin-list>button>svg{color:var(--muted)}.code-list-icon{width:34px;height:34px;color:var(--gold-deep);background:var(--green-soft);border-radius:50%;place-items:center;display:grid}.code-list-main{flex-direction:column;gap:5px;min-width:0;display:flex}.code-list-main strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.code-list-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.code-state{color:#53605c;white-space:nowrap;background:#edf0ee;border-radius:12px;align-items:center;min-height:23px;padding:0 8px;font-size:9px;font-weight:800;display:inline-flex}.code-state.active{color:#286644;background:#e2f2e9}.code-state.scheduled{color:#375582;background:#e5ebf6}.code-state.expired,.code-state.inactive{color:#913b3b;background:#f8e4e4}.code-list-loading{min-height:180px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.code-editor{min-width:0}.code-editor>.empty{min-height:420px}.code-editor form{flex-direction:column;gap:14px;padding:18px;display:flex}.code-editor-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.code-editor-title>div{min-width:0;color:var(--gold-deep);align-items:center;gap:9px;display:flex}.code-editor-title>div>span{flex-direction:column;gap:3px;min-width:0;display:flex}.code-editor-title strong{color:var(--ink);font-size:13px}.code-editor-title small{color:var(--muted);font-size:9px}.code-editor-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.code-role-fieldset{border:0;margin:0;padding:0}.code-role-fieldset legend{color:var(--ink-soft);margin-bottom:7px;font-size:12px;font-weight:700}.code-role-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.code-role-picker button{border:1px solid var(--line);min-width:0;min-height:64px;color:var(--muted);text-align:left;background:#fff;border-radius:3px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;display:grid}.code-role-picker button:hover{background:#fbf8ef;border-color:#d7c9a8}.code-role-picker button.selected{color:var(--gold-deep);background:var(--green-soft);border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.code-role-picker button>span{flex-direction:column;gap:3px;min-width:0;display:flex}.code-role-picker strong{color:var(--ink);font-size:11px}.code-role-picker small{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.code-role-warning{color:#80551c;background:#fff0d5;border:1px solid #ead29d;border-radius:3px;margin-top:7px;padding:9px 10px;font-size:10px;line-height:1.4}.code-type-warning{color:#80551c;background:#fff0d5;border:1px solid #ead29d;border-radius:3px;padding:10px 12px;font-size:10px;line-height:1.45}.code-editor-actions{align-items:center;gap:9px;padding-top:3px;display:flex}.button.danger-outline{color:var(--danger);background:#fff;border:1px solid #dfb8b8}.code-uuid{color:var(--muted);overflow-wrap:anywhere;font:9px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.api-event-list{max-height:560px;overflow:auto}.api-event-list article{border-bottom:1px solid #edf0ee;grid-template-columns:68px 44px minmax(0,1fr) 230px;align-items:center;gap:10px;min-height:66px;padding:10px 16px;display:grid;box-shadow:inset 3px 0 #4c8a68}.api-event-list article.failed{box-shadow:inset 3px 0 var(--danger)}.api-event-list article:last-child{border-bottom:0}.api-event-list time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.api-method{color:#375582;background:#e5ebf6;border-radius:2px;place-items:center;min-height:23px;font-size:9px;font-weight:800;display:inline-grid}.api-path,.api-response{flex-direction:column;gap:5px;min-width:0;display:flex}.api-path code{color:var(--ink);overflow-wrap:anywhere;font:600 10px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.api-path small,.api-response small{color:var(--muted);overflow-wrap:anywhere;font-size:9px;line-height:1.4}.api-response{border-left:1px solid var(--line);padding-left:12px}.api-response strong{color:#286644;font-size:11px}.api-event-list article.failed .api-response strong{color:var(--danger)}.customer-list>div:not(.compact-empty){min-height:70px;color:var(--gold-deep);border-bottom:1px solid #edf0ee;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;padding:10px 14px;display:grid}.customer-list>div>span{min-width:0;color:var(--ink);flex-direction:column;gap:3px;display:flex}.customer-list small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.customer-list .small-button{grid-column:2;justify-self:start}.compact-empty{color:var(--muted);padding:20px 14px;font-size:12px}.status{color:#53605c;white-space:nowrap;background:#edf0ee;border-radius:12px;align-items:center;width:fit-content;min-height:23px;padding:0 8px;font-size:9px;font-weight:800;display:inline-flex}.status-confirmed,.status-active,.status-completed{color:#286644;background:#e2f2e9}.status-pending_approval,.status-open{color:#8a5714;background:#fff0d4}.status-cancelled,.status-blocked_pending_cancellation_fee{color:#913b3b;background:#f8e4e4}.status-assigned{color:#375582;background:#e5ebf6}.shift-user{border:1px solid var(--line);min-width:180px;color:var(--gold-deep);background:#fff;border-radius:3px;align-items:center;gap:10px;padding:9px 12px;display:flex}.shift-user span{flex-direction:column;gap:2px;display:flex}.shift-user small{color:var(--muted);font-size:9px}.shift-user strong{color:var(--ink);font-size:12px}.task-list{flex-direction:column;gap:12px;display:flex}.manual-cleaning{margin-bottom:20px}.manual-cleaning form{grid-template-columns:1fr 1fr 1.4fr 120px auto;align-items:end;gap:12px;padding:16px 18px 18px;display:grid}.manual-cleaning .manual-note{grid-column:1/-2}.manual-cleaning form>.button{min-height:44px}.manual-sauna{align-items:center;min-height:44px;display:flex}.manual-sauna input{width:18px;height:18px;accent-color:var(--green)}.manual-sauna span{color:var(--ink);align-items:center;gap:7px;margin-left:7px;font-size:12px;font-weight:750;display:flex}.cleaning-card{border:1px solid var(--line);background:#fff;border-radius:3px;grid-template-columns:130px minmax(0,1fr) 160px;align-items:stretch;display:grid;overflow:hidden}.cleaning-card.assigned{border-left:4px solid #5579a9}.task-time{background:var(--green-soft);flex-direction:column;justify-content:center;gap:6px;padding:22px;display:flex}.task-time span{color:var(--muted);text-transform:uppercase;font-size:11px}.task-time strong{font-size:18px}.task-details{min-width:0;padding:18px 22px}.task-title{align-items:center;gap:9px;display:flex}.task-title h2{font-size:16px}.manual-assignee{color:var(--muted);margin:4px 0 0;font-size:11px}.task-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.task-tags span{color:#596561;background:#f1f3f2;border-radius:5px;align-items:center;gap:6px;min-height:28px;padding:0 9px;font-size:11px;display:inline-flex}.task-tags .sauna-on{color:var(--wine);background:#f7e9ed}.task-actions{border-left:1px solid var(--line);justify-content:center;align-items:center;padding:18px;display:flex}.task-actions:has(.release-button){flex-direction:column;gap:8px}.task-actions:has(.release-button) .button{width:100%}.release-button{color:var(--danger);background:#fff3f3;border:1px solid #efcccc}.assigned-elsewhere{color:var(--muted);text-align:center;font-size:11px}.notes{color:#6d532b;background:#fff7e7;border-radius:6px;margin-top:12px;padding:8px 10px;font-size:11px}.notes p{margin:3px 0}.note-entry{gap:7px;margin-top:12px;display:flex}.note-entry input{height:36px;font-size:12px}.empty{min-height:160px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.loading{min-height:60vh;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=920px){.booking-layout{grid-template-columns:1fr;gap:24px;padding-top:32px}.summary-panel{grid-row:1;grid-template-columns:180px 1fr;display:grid;position:static}.summary-content{padding:18px}.summary-content dl{display:none}.wellness-image{aspect-ratio:auto}.total{margin-top:10px}.demo-note{display:none}.type-grid{grid-template-columns:repeat(3,1fr)}.availability-week{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-day{border-bottom:1px solid var(--line)}.availability-day:nth-child(2n){border-right:0}.day-slots{grid-template-columns:repeat(4,minmax(0,1fr));min-height:110px}.admin-grid{grid-template-columns:1fr}.manual-cleaning form{grid-template-columns:1fr 1fr}.manual-cleaning .manual-title,.manual-cleaning .manual-note{grid-column:1/-1}.accounts-layout,.voucher-admin-grid,.maintenance-layout,.loxone-simulator-layout{grid-template-columns:1fr}.loxone-codes,.loxone-api-log,.loxone-wide{grid-column:1}.live-access-form{grid-template-columns:minmax(180px,1fr) 160px auto}.code-manager-layout{grid-template-columns:360px minmax(0,1fr)}.code-role-picker button{grid-template-columns:20px minmax(0,1fr);padding:8px 7px}.api-event-list article{grid-template-columns:62px 42px minmax(0,1fr) 180px}.metrics{grid-template-columns:repeat(2,1fr)}.cleaning-card{grid-template-columns:110px minmax(0,1fr)}.task-actions{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;padding:12px 18px}}@media (width<=640px){.topbar{height:68px;padding:0 12px}.test-mode-banner{flex-wrap:wrap;justify-content:flex-start;gap:3px 6px;min-height:42px;padding:7px 12px;font-size:10px}.test-mode-banner span{flex-basis:calc(100% - 22px);margin-left:21px}.brand-wordmark,.brand-context{display:none}.brand-mark{width:34px;height:38px;display:grid}.topbar-actions{gap:5px}.main-nav button{justify-content:center;width:45px;padding:0}.main-nav button span{display:none}.account-area{gap:5px;padding-left:6px}.account-area>span{display:none}.login-button{min-width:40px;padding:0 9px}main{min-height:calc(100vh - 68px)}.booking-layout,.workspace{padding:24px 14px 50px}.booking-layout{flex-direction:column;display:flex}.booking-panel{width:100%}.summary-panel{order:-1;width:100%;display:block}.summary-content h2{margin-bottom:8px;font-size:20px}.summary-content .eyebrow,.wellness-image{display:none}h1,.workspace-title h1{font-size:29px}.page-title{margin-bottom:30px}.visit-flow{margin-top:-8px;margin-bottom:32px}.visit-flow-title{flex-direction:column;align-items:flex-start;gap:4px}.visit-flow ol{grid-template-columns:1fr 1fr;gap:16px 12px}.visit-flow li:last-child{grid-column:1/-1}fieldset{margin-bottom:28px;padding-bottom:28px}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.type-grid .choice:last-child{grid-column:1/-1}.week-toolbar{flex-direction:column;align-items:flex-start}.week-actions{width:100%}.week-today{flex:1}.availability-week{display:block}.availability-day{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:86px minmax(0,1fr);display:grid}.availability-day:last-child{border-bottom:0}.availability-day.selected{box-shadow:inset 4px 0 var(--accent)}.availability-day>header{border-bottom:0;border-right:1px solid var(--line);min-height:78px}.day-slots{flex-wrap:wrap;align-items:center;gap:6px;min-height:78px;padding:10px;display:flex}.day-slots button{width:52px}.no-slots{text-align:left;width:100%;padding:0}.payment-grid{grid-template-columns:1fr}.payment-grid button{min-height:58px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.delivery-row{flex-direction:column;align-items:flex-start}.segmented{width:100%}.segmented button{flex:1;justify-content:center}.confirmation-grid{grid-template-columns:repeat(2,1fr)}.confirmation-grid div:nth-child(2){border-right:0}.confirmation-grid div:nth-child(-n+2){border-bottom:1px solid var(--line)}.access-visual{grid-template-columns:1fr;align-items:start;gap:10px}.keypad-product{max-width:330px;margin:0 auto}.access-step{grid-template-columns:28px minmax(0,1fr);gap:9px;min-height:104px;padding:10px 0}.access-step>span{width:28px;height:28px}.code-digits{gap:4px}.code-digits b{width:30px;height:38px;font-size:18px}.metrics{grid-template-columns:1fr 1fr;gap:8px}.admin-tabs{width:100%}.admin-tabs button{flex:1;justify-content:center;padding:0 7px}.admin-tabs button span,.admin-tabs button svg{display:none}.admin-tabs button{font-size:11px}.loxone-simulator-layout{display:block}.loxone-simulator-layout>section,.loxone-simulator-layout>.loxone-wide{margin-bottom:12px}.loxone-device-list article{grid-template-columns:40px minmax(0,1fr)}.device-value{text-align:left;grid-column:2;align-items:flex-start}.loxone-command-grid{grid-template-columns:1fr}.loxone-live-layout .loxone-command-grid .approve{grid-column:1}.live-access-form{grid-template-columns:1fr;padding:14px 12px}.live-access-form .button{width:100%}.live-code-result{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:12px}.live-code-result .small-button{grid-column:2;justify-self:start}.live-event-list article{grid-template-columns:54px minmax(0,1fr);gap:8px;padding:10px 12px}.live-event-list article .status{grid-column:2}.code-manager-toolbar{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}.code-manager-toolbar>span{align-items:flex-start}.code-manager-layout{display:block}.code-admin-list{border-right:0;border-bottom:1px solid var(--line);max-height:360px}.code-admin-list>button{grid-template-columns:34px minmax(0,1fr) 18px;gap:8px;padding:9px 12px}.code-admin-list .code-state{grid-column:2;justify-self:start}.code-admin-list>button>svg{grid-area:1/3}.code-editor form{padding:14px 12px}.code-editor-row{grid-template-columns:1fr}.code-editor-actions{flex-direction:column;align-items:stretch}.code-editor-actions .button{width:100%}.simulator-code-list article{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:10px 12px}.simulator-code-list article .status{grid-column:2}.loxone-api-log .section-heading{flex-direction:column;align-items:flex-start;gap:10px;padding-top:13px;padding-bottom:13px}.api-event-list article{grid-template-columns:54px 40px minmax(0,1fr);gap:7px;padding:10px 12px}.api-path{grid-column:3}.api-response{border-left:0;border-top:1px solid var(--line);grid-column:3;padding:7px 0 0}.metrics>button{min-height:100px;padding:12px}.reservation-row{grid-template-columns:44px minmax(0,1fr) auto;gap:9px}.reservation-price{display:none}.row-actions{grid-column:2/-1;justify-content:flex-end}.cleaner-workspace .workspace-title{align-items:flex-end}.shift-user{min-width:140px}.cleaning-card{display:block}.manual-cleaning form{grid-template-columns:1fr}.manual-cleaning .manual-title,.manual-cleaning .manual-note{grid-column:auto}.manual-cleaning form>.button{width:100%}.task-time{flex-direction:row;justify-content:space-between;align-items:center;padding:14px 18px}.task-details{padding:16px}.task-actions{justify-content:stretch}.task-actions .button{width:100%}.account-list>button{grid-template-columns:38px minmax(0,1fr) auto}.account-list .activity-dot{display:none}.auth-layout{min-height:calc(100vh - 68px);display:block}.auth-visual{display:none}.auth-panel{width:calc(100% - 28px);padding-top:52px}}a.brand{text-decoration:none}.skip-link{z-index:100;color:#0c0c0b;background:#ead8a3;padding:12px 18px;position:fixed;top:-80px;left:12px}.skip-link:focus{top:10px}main:focus{outline:none}.customer-nav{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;justify-content:center;gap:8px 22px;padding:10px 14px;display:flex}.customer-nav button{color:var(--ink-soft);background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 5px;font-size:12px;font-weight:700}.customer-nav button[aria-current=page]{border-bottom-color:var(--gold);color:var(--gold-deep)}.app-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:12px 22px;padding:26px 18px;font-size:12px;display:flex}.app-footer a{color:var(--ink-soft)}.app-footer span{text-align:center;color:var(--muted);flex-basis:100%;font-size:11px}.session-notice{max-width:1192px;margin:18px auto}.form-help{color:var(--muted);font-size:12px;line-height:1.65}.form-help a,.terms-check a{color:var(--gold-deep);text-underline-offset:3px}.error-message{flex-wrap:wrap}.error-message>span{flex:1;min-width:120px}.error-message a{color:inherit;text-decoration:underline}.final-booking-summary{border:1px solid var(--gold);background:#fbf8ef;border-radius:3px;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;margin:6px 0 22px;padding:18px;display:grid}.final-booking-summary>span{font-size:14px;font-weight:700}.final-booking-summary>strong{text-align:right;font-size:21px}.final-booking-summary>small{color:var(--muted);grid-column:1/-1;font-size:12px}.terms-check{align-items:flex-start;gap:10px;margin:0 0 22px;font-size:12px;line-height:1.7;display:flex}.terms-check input{width:20px;height:20px;accent-color:var(--gold-deep);flex:0 0 20px;margin:1px 0 0}.manage-reservation-link{margin:8px 12px 8px 0;text-decoration:none}.success-view:focus{outline:none}.day-slots button{min-height:36px}.admin-tabs{flex-wrap:wrap;display:flex}.admin-tabs button{flex:auto}.admin-filters{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,2fr) minmax(140px,1fr) 150px 150px;align-items:end;gap:14px;padding:18px;display:grid}.admin-filters .small-button{color:var(--ink);background:#f4f4f2;grid-column:1/-1;justify-self:start}.filter-search input{min-width:0}.pagination{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.pagination span{color:var(--muted);text-align:center;font-size:12px}.pagination button{color:var(--ink);background:#f5f1e7}.reservation-detail{border-top:1px solid var(--line);grid-column:1/-1;min-width:0;padding-top:10px;font-size:12px}.reservation-detail>summary{cursor:pointer;width:fit-content;color:var(--gold-deep);padding:6px 0;font-weight:700}.reservation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:16px 0 4px;display:grid}.reservation-detail-grid>div{min-width:0}.reservation-detail-grid dt{color:var(--muted);margin-bottom:5px;font-size:11px}.reservation-detail-grid dd{color:var(--ink);overflow-wrap:anywhere;margin:0;line-height:1.6}.reservation-detail-grid dd a{color:var(--ink)}.reservation-detail-grid dd small{color:var(--danger);display:block}.reservation-detail-grid summary{cursor:pointer}.reservation-detail-grid code{letter-spacing:4px;background:var(--green-soft);padding:6px 12px;font-weight:800;display:inline-block}.record-id{font-size:10px}.cancel-button{color:var(--danger);background:#fff3f3;border:1px solid #efcccc}.voucher-search{margin:16px}.confirmation-dialog{border:1px solid var(--line);width:calc(100% - 28px);max-width:540px;max-height:calc(100dvh - 40px);color:var(--ink);border-radius:6px;padding:26px;overflow:auto;box-shadow:0 24px 80px #0005}.confirmation-dialog::backdrop{background:#0009}.confirmation-dialog>p{font-size:14px;line-height:1.6}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.cancellation-summary{background:var(--green-soft);margin:18px 0;padding:14px}.cancellation-summary>div{justify-content:space-between;gap:16px;padding:7px 0;display:flex}.cancellation-summary dt{font-size:13px}.cancellation-summary dd{margin:0;font-weight:800}.refresh-cleaning{color:var(--ink);border:1px solid var(--line);background:#fff;margin:0 0 20px auto}@media (width<=1000px){.admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filters .filter-search{grid-column:1/-1}}@media (width<=640px){.customer-nav{gap:4px;padding:6px 10px}.customer-nav button{flex:88px;min-height:42px;padding:6px 3px;font-size:11px}.admin-tabs button{flex:30%;min-height:42px}.admin-filters{gap:12px;padding:14px}.admin-filters .field,.admin-filters input,.admin-filters select{min-width:0}.admin-filters .field:nth-child(2){grid-column:1/-1}.reservation-main{grid-column:2/-1}.reservation-main>span{white-space:normal;text-overflow:clip;line-height:1.6;overflow:visible}.reservation-price{text-align:left;grid-area:2/2;align-items:flex-start;display:flex}.row-actions{flex-wrap:wrap;grid-area:3/2/auto/-1;justify-content:flex-start}.row-actions .small-button{min-height:40px}.reservation-detail-grid{grid-template-columns:1fr;gap:15px}.pagination{flex-wrap:wrap;gap:8px;padding:14px 10px}.pagination span{flex:100%;order:-1}.pagination button{min-height:40px}.final-booking-summary{padding:15px}.final-booking-summary>strong{font-size:20px}.dialog-actions .button{width:100%}.confirmation-dialog{padding:20px}.manage-reservation-link{width:100%;margin-right:0}.summary-content dl{display:block}.day-slots button{min-height:38px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.submission-fields{border:0;min-width:0;margin:0;padding:0}.cleaning-filters button[aria-pressed=true]{outline:2px solid var(--gold);outline-offset:2px}.night-preparation{border:2px solid var(--gold);border-radius:6px;width:100%;padding:12px;display:block}.cleaning-freshness{color:var(--muted);margin:0 0 18px;font-size:12px;line-height:1.5}.cleaning-created{color:var(--ink-soft);margin:12px 0 0;font-size:13px;line-height:1.5}.handover-notes{border:1px solid var(--gold);padding:12px}.handover-note{margin-top:10px}.handover-note small{margin-top:3px;display:block}.notes p{overflow-wrap:anywhere;white-space:pre-wrap}.note-label{color:var(--ink);margin-top:16px;font-size:12px;font-weight:700;display:block}.note-label+.note-entry{margin-top:6px}.note-entry input{min-width:0}.note-help{color:var(--muted);margin-top:6px;line-height:1.5;display:block}.manual-booking{margin:8px 0 26px}.manual-booking-panel{color:#fff4e5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#33251e;border:1px solid #997454;border-radius:10px;padding:24px}.manual-booking-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.manual-booking-panel h3{color:#fff4e5;align-items:center;gap:10px;margin:0;font-size:23px;display:flex}.manual-booking-panel h4{color:#f1c99e;margin:24px 0 14px;font-size:16px;font-weight:600}.manual-booking-panel .manual-booking-intro{color:#ead7c3;margin:8px 0 0;font-size:14px;line-height:1.6}.manual-booking-fields{border:0;min-width:0;margin:0;padding:0}.manual-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.manual-booking-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.manual-booking-panel .field{min-width:0;margin:0}.manual-booking-panel .field>span{color:#ead7c3;font-size:14px;font-weight:500}.manual-booking-panel .field input,.manual-booking-panel .field select,.manual-booking-panel .field textarea{box-sizing:border-box;color:#fff4e5;width:100%;min-width:0;min-height:48px;font:inherit;background:#211914;border:1px solid #997454;border-radius:6px;padding:11px 12px;font-size:16px}.manual-booking-panel .field textarea{resize:vertical}.manual-booking-panel .field option{color:#fff4e5;background:#211914}.manual-booking-panel .field input::placeholder,.manual-booking-panel .field textarea::placeholder{color:#d1bfae;opacity:1}.manual-booking-panel .field input:focus,.manual-booking-panel .field select:focus,.manual-booking-panel .field textarea:focus,.manual-booking-advanced summary:focus-visible{outline-offset:2px;outline:2px solid #e5b27d}.manual-booking-panel .field select:disabled{opacity:1;color:#d1bfae;cursor:wait;background:#3d3028}.manual-booking-panel .manual-booking-help,.manual-booking-panel small{color:#d1bfae;margin:7px 0 0;font-size:13px;line-height:1.6;display:block}.manual-booking-message{color:#fff4e5;background:#493020;border-left:3px solid #e5b27d;border-radius:4px;padding:12px 16px}.manual-booking-message p{margin:0;font-size:14px;line-height:1.6}.manual-booking-message p+p{margin-top:5px}.manual-booking-panel .error-message{color:#ffbdb1;background:#4c2924;border-color:#a36c60}.manual-booking-panel .error-message .small-button{color:#fff4e5;background:#33251e;border:1px solid #d1bfae;margin-top:8px}.manual-booking-advanced{border-top:1px solid #79563e;margin-top:20px;padding-top:14px}.manual-booking-advanced summary{color:#f1c99e;cursor:pointer;padding-block:7px;font-size:14px}.manual-booking-advanced>div{gap:16px;padding-top:14px;display:grid}.manual-booking-footer{border-top:1px solid #79563e;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding-top:20px;display:flex}.manual-booking-panel .manual-booking-footer>span{color:#d1bfae;font-size:13px}.manual-booking-panel .button.primary{color:#241a15;background:#e5b27d;border-color:#e5b27d}.manual-booking-panel .button.primary:disabled{opacity:1;color:#d1bfae;cursor:not-allowed;background:#493c31;border-color:#79563e}.reservation-source{color:#6c5628;border:1px solid #ddceb0;border-radius:4px;padding:3px 7px;font-size:11px}.reservation-detail-grid .reservation-note{white-space:pre-wrap;overflow-wrap:anywhere;grid-column:1/-1}@media (width<=600px){.manual-booking-panel{padding:18px 14px}.manual-booking-panel h3{font-size:21px}.manual-booking-grid,.manual-booking-grid.three-columns{grid-template-columns:1fr;gap:14px}.manual-booking-footer{flex-direction:column;align-items:stretch}}.reservation-sort-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:16px 18px;display:flex}.reservation-sort-bar .field{width:320px;min-width:0;max-width:100%;margin:0}.reservation-sort-bar select{width:100%;min-width:0}.reservation-sort-bar>span{color:var(--muted);font-size:12px}.reservation-main .reservation-created{white-space:normal;margin-top:5px;font-size:12px;display:block;overflow:visible}.reservation-main .reservation-payment-status{color:var(--ink);white-space:normal;font-weight:600}.reservation-main .reservation-cleaning{color:var(--ink);white-space:normal;overflow-wrap:anywhere;line-height:1.6;overflow:visible}.reservation-period-tabs{flex-wrap:wrap;gap:8px;padding:16px 18px 0;display:flex}.reservation-period-tabs button{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:7px;padding:10px 20px}.reservation-period-tabs button.selected{background:var(--ink);color:var(--paper,#fff8ef);border-color:var(--ink);font-weight:600}.reservation-period-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.reservation-period-help{color:var(--muted);margin:12px 18px 20px;font-size:13px;line-height:1.6}.voucher-editor form{gap:14px;padding:20px;display:grid}.voucher-editor .field,.voucher-detail-dialog .field{margin:0}.voucher-help{color:var(--ink-soft);margin:0 0 8px;font-size:13px;line-height:1.5}.voucher-confirm{align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.voucher-confirm input{flex-shrink:0;width:20px;height:20px}.voucher-cards{padding:0 20px 20px}.voucher-cards article{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:18px 0}.voucher-cards article>div{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.voucher-code{letter-spacing:1px;font-size:20px}.voucher-cards p{color:var(--ink-soft);font-size:13px;line-height:1.5}.voucher-cards dl{margin:12px 0}.voucher-cards dl div{grid-template-columns:90px 1fr;gap:8px;margin:6px 0;display:grid}.voucher-cards dt{color:var(--ink-soft);font-size:13px}.voucher-cards dd{margin:0}.voucher-detail-dialog{width:min(680px,100vw - 24px);max-height:90dvh;color:var(--ink);background:var(--panel,#33251e);border:1px solid var(--line);border-radius:12px;padding:24px;overflow:auto}.voucher-detail-dialog::backdrop{background:#0009}.voucher-detail-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.voucher-detail-heading h2{margin:0}.voucher-detail-code{overflow-wrap:anywhere;margin:20px 0 8px;font-size:24px;display:block}.voucher-pdf-actions{flex-wrap:wrap;gap:12px;margin:18px 0;display:flex}.voucher-detail-dialog form{gap:14px;margin-top:20px;display:grid}.voucher-editor textarea,.voucher-detail-dialog textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#211914;border-radius:6px;padding:12px}@media (width<=600px){.voucher-detail-dialog{padding:16px}.voucher-pdf-actions{flex-direction:column}.voucher-admin-grid>.voucher-editor{order:2}}.voucher-create.voucher-editor .field{padding:0}.voucher-editor .full-button{width:100%;margin:0}.voucher-deactivation{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.voucher-deactivation h3,.voucher-deactivation-record h3{margin:0 0 10px;font-size:17px}.voucher-deactivation-record{border:1px solid var(--line);overflow-wrap:anywhere;background:#211914;border-radius:8px;margin-top:20px;padding:16px}.voucher-deactivation-record p{font-size:14px;line-height:1.5}.voucher-deactivation-comment{white-space:pre-wrap}.voucher-deactivation-actions{flex-wrap:wrap;gap:10px;display:flex}.voucher-deactivation .button.danger{color:#ffe0d5;background:#673d30;border:1px solid #ae6b55}.voucher-email{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:8px;margin-top:20px;padding:16px}.voucher-email h3{margin:0 0 10px;font-size:17px}.voucher-email p{font-size:14px;line-height:1.5}.admin-push-settings{color:#fff4e5;background:#33251e;border:1px solid #997454;border-radius:10px;margin:0 0 20px}.admin-push-settings>summary{color:#ead7c3;cursor:pointer;padding:13px 18px;font-size:14px}.admin-push-settings>summary:focus-visible{outline-offset:3px;outline:2px solid #e5b27d}.admin-push-settings>.admin-push{border:0;border-top:1px solid #79563e;border-radius:0 0 10px 10px;margin:0}.admin-push{color:#fff4e5;background:#33251e;border:1px solid #997454;border-radius:10px;margin:18px 0 24px;padding:18px 20px}.admin-push-heading{flex-wrap:wrap;align-items:baseline;gap:6px 18px;display:flex}.admin-push-heading strong{color:#fff4e5;font-size:16px}.admin-push-heading .admin-push-hide{min-width:64px;margin-left:auto;padding:8px 14px}.admin-push-heading:has(.admin-push-hide)>span{flex-basis:100%}.admin-push-collapsed{margin:12px 0 20px}.admin-push-collapsed .button{min-height:44px}.admin-push-heading span,.admin-push p{color:#ead7c3;font-size:14px;line-height:1.6}.admin-push p{margin:10px 0 0}.admin-push-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.admin-push .button{min-height:44px}.admin-push .button.primary{color:#241a15;background:#e5b27d;border-color:#e5b27d}.admin-push .button.secondary{color:#fff4e5;background:#211914;border-color:#997454}.admin-push .button:disabled{opacity:1;color:#d1bfae;cursor:not-allowed;background:#493c31;border-color:#79563e}.admin-push .button:focus-visible,.admin-push summary:focus-visible{outline-offset:3px;outline:2px solid #e5b27d}.admin-push .admin-push-error{color:#ffbdb1}.admin-push details{margin-top:12px;font-size:13px}.admin-push summary{color:#e5b27d;cursor:pointer}@media (width<=600px){.admin-push{padding:16px 14px}.admin-push-actions{flex-direction:column;align-items:stretch}}.password-recovery .recovery-panel{min-width:0}.password-recovery .auth-form{margin-top:24px}.password-recovery .auth-form .button,.password-recovery .recovery-result .button{white-space:normal;width:100%;height:auto;min-height:46px;padding-block:12px}.password-recovery .recovery-result{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-top:28px;padding:24px}.password-recovery .recovery-result h2{font:400 27px/1.35 var(--serif);align-items:flex-start;gap:10px;margin:0 0 16px;display:flex}.password-recovery .recovery-result h2 svg{color:var(--honey);flex:none;margin-top:6px}.password-recovery .recovery-result p{color:var(--muted);overflow-wrap:anywhere;font-size:14px;line-height:1.75}.password-recovery .recovery-result .button{margin-top:12px}.password-recovery .recovery-delivery{border-top:1px solid var(--line);padding-top:16px}.password-recovery .recovery-error{overflow-wrap:anywhere;margin:0}.password-recovery .recovery-contact{color:var(--muted);margin:24px 0 0;font-size:14px;line-height:1.75}.password-recovery .recovery-contact a{color:var(--honey);white-space:nowrap;text-underline-offset:3px}.password-recovery :is(.recovery-result h2,.recovery-error):focus{outline:2px solid var(--honey);outline-offset:5px}@media (width<=480px){.password-recovery .auth-panel h1{font-size:33px}.password-recovery .recovery-result{padding:20px 18px}.password-recovery .recovery-result h2{font-size:24px}.password-recovery .field input{width:100%;min-width:0}}.social-auth:empty{display:none}.social-auth-buttons{gap:10px;margin:22px 0 18px;display:grid}.social-auth-button{border:1px solid #747775;border-radius:7px;width:100%;min-height:46px;padding:11px 18px;font-family:Arial,sans-serif;font-size:15px;font-weight:500;line-height:1.4}.social-auth-google{color:#1f1f1f;background:#fff}.social-auth-apple{color:#fff;background:#000;border-color:#777}.social-auth-button:hover:not(:disabled){box-shadow:inset 0 0 0 2px #888}.social-auth-button:focus-visible{outline:3px solid var(--honey,#9b7849);outline-offset:3px}.social-auth-button:disabled{opacity:.6;cursor:wait}.social-auth-divider{color:var(--muted);align-items:center;gap:12px;margin:18px 0;font-size:12px;display:flex}.social-auth-divider:before,.social-auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.social-auth-help{color:var(--muted);margin-bottom:20px;font-size:14px;line-height:1.7}.social-auth h2{margin-top:24px;font-size:23px;line-height:1.3}.social-auth-error{margin:18px 0}.social-auth-back{width:100%;margin-top:18px}.social-auth-terms{color:var(--muted);align-items:flex-start;gap:10px;font-size:13px;line-height:1.7;display:flex}.social-auth-terms input{width:18px;height:18px;accent-color:var(--honey,#9b7849);flex:0 0 18px;margin:3px 0 0}.social-auth-terms a{text-underline-offset:3px;text-decoration:underline}.social-auth-status{color:var(--muted);margin-bottom:12px;font-size:13px;display:block}.bank-payment{color:#fff4e5;text-align:left;background:#281d16;border:1px solid #bd8a5780;border-radius:12px;margin:28px 0;padding:clamp(20px,4vw,32px)}.bank-payment-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.bank-payment h2{margin:0;font:30px/1.3 Wellness Serif,Georgia,serif}.bank-payment p{font-size:15px;line-height:1.8}.bank-payment a{color:#f0bd87;text-underline-offset:3px;text-decoration:underline}.bank-payment-badge{color:#f0d8b9;border:1px solid #bd8a5780;border-radius:6px;padding:6px 10px;font-size:13px;line-height:1.5;display:inline-block}.bank-payment-paid .bank-payment-badge{color:#d1ebcf;border-color:#809e78}.bank-payment-test-warning{color:#fff5d7;background:#42301d;border:2px solid #e5b566;border-radius:8px;padding:14px 16px}.bank-payment-test-warning strong{display:block}.bank-payment-countdown{border-block:1px solid #79563e60;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.bank-payment-countdown strong{font-variant-numeric:tabular-nums;font:30px/1.3 ui-monospace,monospace}.bank-payment-layout{flex-wrap:wrap;align-items:flex-start;gap:28px;margin:22px 0;display:flex}.bank-payment-qr{text-align:center;flex:0 240px;width:240px;margin:0}.bank-payment-qr img{background:#fff;border-radius:7px;width:100%;height:auto;display:block}.bank-payment-qr figcaption{color:#d1bfae;margin:12px 0 8px;font-size:13px}.bank-payment-qr a{font-size:14px}.bank-payment-save{color:#302116;width:100%;min-height:48px;font:inherit;cursor:pointer;background:#efc495;border:1px solid #e7bd89;border-radius:8px;padding:11px 15px;font-size:15px;font-weight:700}.bank-payment-save:hover:not(:disabled){background:#f8d7af}.bank-payment-save:disabled{opacity:.65;cursor:default}.bank-payment-save:focus-visible,.bank-payment-image-link:focus-visible{outline-offset:3px;outline:3px solid #fff4e5}.bank-payment-image-link{padding:14px 5px 4px;display:inline-block}.bank-payment-qr .bank-payment-save-help,.bank-payment-qr .bank-payment-save-notice{color:#d1bfae;margin:10px 0 0;font-size:12px;line-height:1.6}.bank-payment-qr .bank-payment-save-notice{color:#fff0d3}.bank-payment-values{flex:240px;gap:20px;min-width:0;margin:0;display:grid}.bank-payment-value dt{color:#d1bfae;margin-bottom:7px;font-size:13px}.bank-payment-value dd{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.bank-payment-value dd>span{-webkit-user-select:all;user-select:all}.bank-payment-value small{color:#d1bfae;margin-top:6px;display:block}.bank-payment-value .small-button{min-height:34px}.bank-payment-history{border:1px solid var(--line,#d4c0ab);background:var(--surface,#fffaf3);border-radius:14px;margin-top:20px;padding:22px}.bank-payment-history h2{margin-top:0;font-size:20px}.bank-payment-history p{line-height:1.6}.bank-payment-row-summary{margin-top:5px;font-size:12px;line-height:1.5;display:block}.availability-fieldset .day-slots button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}@media (width<=540px){.bank-payment{padding:20px 16px}.bank-payment-layout{gap:24px}.bank-payment-qr{flex-basis:220px;margin-inline:auto}.bank-payment-values{flex-basis:100%}.bank-payment h2{font-size:25px}}.reservation-confirmation{background:var(--surface,#33251e);color:var(--ink,#fff4e5);border:1px solid var(--line,#79563e60);text-align:left;border-radius:12px;margin:28px 0;padding:clamp(22px,4vw,34px)}.reservation-confirmation-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.reservation-confirmation-heading p{color:var(--muted,#d1bfae);margin:0 0 9px;font-size:13px}.reservation-confirmation-heading h2{margin:0;font:29px/1.3 Wellness Serif,Georgia,serif}.reservation-state{color:#f0bd87;border:1px solid #b58b637a;border-radius:6px;flex-shrink:0;margin-top:3px;padding:7px 11px;font-size:13px;line-height:1.4}.reservation-state-other{color:var(--ink,#fff4e5)}.reservation-confirmation-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 28px;margin:28px 0 18px;display:grid}.reservation-detail-wide{grid-column:1/-1}.reservation-confirmation dt{color:var(--muted,#d1bfae);margin-bottom:5px;font-size:13px}.reservation-confirmation dd{overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.65}.reservation-timezone{color:var(--muted,#d1bfae);margin:0;font-size:12px;line-height:1.6}.reservation-entry-code{background:#211711;border:1px solid #bd8a5780;border-radius:9px;margin:25px 0;padding:22px}.reservation-entry-code>span{color:#f0bd87;font-size:14px;line-height:1.6}.reservation-entry-code>strong{letter-spacing:.18em;margin:14px 0;font-size:clamp(36px,8vw,46px);font-weight:500;line-height:1.2;display:block}.reservation-entry-code p{color:var(--muted,#d1bfae);margin:0;font-size:14px;line-height:1.7}.reservation-entry-code dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 0;display:grid}.reservation-entry-code dd{font-size:14px}.reservation-access-notice{margin:24px 0}.reservation-confirmation-actions{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:24px;display:flex}.reservation-confirmation-actions .button{white-space:normal;text-align:center;min-height:48px}.reservation-pdf-download{display:contents}.reservation-pdf-download .error-message{flex-basis:100%;order:2;margin:4px 0 0}.reservation-summary-wrapper:focus{outline:none}@media (width<=520px){.reservation-confirmation-heading{flex-direction:column;gap:12px}.reservation-confirmation-details{gap:18px}.reservation-confirmation-details>div:nth-child(2),.reservation-confirmation-details>div:nth-child(3){grid-column:1/-1}.reservation-entry-code dl{grid-template-columns:1fr}.reservation-confirmation-actions .button{width:100%}}.customer-wellness{color:#fff4e5;margin:28px 0}.wellness-open-button{color:#24170f;text-align:left;cursor:pointer;background:linear-gradient(120deg,#f3d0a8,#dfaa73);border:1px solid #eebc89;border-radius:12px;align-items:center;gap:18px;width:100%;min-height:94px;padding:22px 24px;display:flex;box-shadow:0 8px 24px #140d0826}.wellness-open-button>span{flex:1}.wellness-open-button strong{font-size:21px;font-weight:600;line-height:1.35;display:block}.wellness-open-button small{margin-top:5px;font-size:13px;line-height:1.5;display:block}.wellness-open-button:disabled{color:#d1bfae;box-shadow:none;cursor:not-allowed;background:#392a21;border-color:#79563e80}.wellness-open-button[aria-expanded=true]>svg:last-child{transform:rotate(90deg)}.wellness-availability{color:#d1bfae;margin:12px 2px 0;font-size:14px;line-height:1.7}.wellness-refresh{margin-top:12px}.wellness-control-panel{background:linear-gradient(140deg,#3a2a20,#251a14);border:1px solid #bd8a5770;border-radius:14px;margin-top:20px;padding:clamp(18px,4vw,30px);box-shadow:0 16px 45px #140d0830}.wellness-control-panel:focus{outline:none}.wellness-control-panel>header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:24px;display:flex}.wellness-control-panel>header p{color:#d9b48f;letter-spacing:.035em;margin:0 0 8px;font-size:12px}.wellness-control-panel h2{margin:0;font:30px/1.3 Wellness Serif,Georgia,serif}.wellness-close{color:#edd7c0;cursor:pointer;background:#241912;border:1px solid #79563e80;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.wellness-control-card{background:#211710;border:1px solid #79563e80;border-radius:11px;margin-top:18px;padding:clamp(18px,4vw,26px)}.wellness-control-title{align-items:center;gap:14px;display:flex}.wellness-control-title>svg{color:#efbd89;flex-shrink:0}.wellness-control-title h3{margin:0;font:25px/1.3 Wellness Serif,Georgia,serif}.wellness-control-title p{color:#d1bfae;margin:5px 0 0;font-size:13px;line-height:1.6}.wellness-current-setting{color:#d1bfae;margin:22px 0;font-size:13px;line-height:1.7}.wellness-current-setting strong{color:#f0dfcd;font-weight:500}.wellness-temperature-label{color:#e9c6a0;text-align:center;font-size:14px;display:block}.wellness-temperature-picker{justify-content:space-between;align-items:center;gap:18px;margin:10px 0 18px;display:flex}.wellness-temperature-picker>button{color:#f1c394;cursor:pointer;background:#3d2b1f;border:1px solid #bd8a5780;border-radius:50%;flex:none;place-items:center;width:54px;height:54px;display:grid}.wellness-temperature-picker output{color:#fff2df;font-variant-numeric:tabular-nums;white-space:nowrap;font:500 clamp(42px,11vw,58px)/1.25 Wellness Serif,Georgia,serif}.wellness-temperature-picker output span{color:#d9b48f;font-size:.55em}.wellness-control-card input[type=range]{accent-color:#eeb77f;cursor:pointer;width:100%;min-height:36px;display:block}.wellness-range-labels{color:#d1bfae;justify-content:space-between;font-size:12px;display:flex}.wellness-control-panel .wellness-apply{justify-content:center;width:100%;min-height:54px;margin-top:24px;font-size:16px}.wellness-control-hint{color:#d1bfae;margin:14px 0 0;font-size:13px;line-height:1.7}.wellness-mood-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.wellness-mood-grid button{color:#f0dfcd;text-align:left;cursor:pointer;background:#33251b;border:1px solid #8f654780;border-radius:9px;justify-content:flex-start;align-items:center;gap:12px;min-height:68px;padding:16px;line-height:1.5;display:flex}.wellness-mood-grid button svg{color:#dca877;flex:none}.wellness-mood-grid button[aria-pressed=true]{background:#5b3d27;border-color:#eabb87;box-shadow:inset 0 0 0 1px #eabb87}.wellness-control-panel button:disabled,.wellness-control-panel input:disabled{opacity:.5;cursor:not-allowed}.wellness-success,.wellness-error{border-radius:8px;padding:14px 16px;font-size:14px;line-height:1.7}.wellness-success{color:#e3edd5;background:#3b4530;border:1px solid #80986680}.wellness-error{color:#ffe0d2;background:#553124;border:1px solid #cf947180}.wellness-panel-footer{justify-content:space-between;align-items:center;gap:18px;margin-top:24px;display:flex}.wellness-panel-footer p{color:#d1bfae;max-width:250px;margin:0;font-size:12px;line-height:1.7}.customer-wellness button:focus-visible,.customer-wellness input:focus-visible{outline-offset:4px;outline:3px solid #f6d8b7}@media (width<=520px){.wellness-open-button{gap:12px;padding:20px 17px}.wellness-open-button strong{font-size:20px}.wellness-control-panel h2{font-size:27px}.wellness-mood-grid{grid-template-columns:1fr}.wellness-panel-footer{flex-direction:column;align-items:stretch}.wellness-panel-footer p{max-width:none}}.customer-flow{max-width:920px;margin:auto;padding:48px 28px 88px}.flow-heading{margin-bottom:34px}.flow-heading h1{letter-spacing:-.04em;font-family:Wellness Serif,Georgia,serif;font-size:clamp(34px,4vw,52px);font-weight:400;line-height:1.2}.flow-heading p{max-width:620px;color:var(--muted,#d1bfae);margin:16px 0 0;font-size:16px;line-height:1.8}.flow-heading-photo{isolation:isolate;background:#33251e;border:1px solid #79563e60;border-radius:12px;flex-direction:column;justify-content:flex-end;min-height:270px;padding:34px;display:flex;position:relative;overflow:hidden}.flow-heading-photo:after{content:"";z-index:-1;background:linear-gradient(90deg,#20160ede,#20160e39),linear-gradient(#0000 10%,#20160ebf);position:absolute;inset:0}.flow-heading-photo>img{z-index:-2;object-fit:cover;object-position:center 62%;width:100%;height:100%;position:absolute;inset:0}.flow-heading-photo h1{color:#fff4e5}.flow-heading-photo p{color:#f0dfcd;max-width:500px}.customer-flow>p{line-height:1.8}.flow-card{color:#fff4e5;background:#33251e;border:1px solid #79563e60;border-radius:12px;min-width:0;margin:24px 0;padding:clamp(24px,3vw,36px);box-shadow:0 14px 40px #140d081f}.flow-card>h2,.flow-card>h3{letter-spacing:-.025em;margin:0 0 24px;font-family:Wellness Serif,Georgia,serif;font-size:28px;font-weight:400;line-height:1.35}.flow-card p{font-size:15px;line-height:1.8}.flow-details{grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:15px 24px;font-size:15px;line-height:1.7;display:grid}.flow-details dt{color:#d1bfae}.flow-details dd{overflow-wrap:anywhere;margin:0}.customer-flow .field{margin:22px 0}.customer-flow .form-grid{gap:0 20px}.customer-flow .form-grid .field{margin:10px 0}.customer-flow .field>span{font-size:14px;font-weight:500}.customer-flow .field input,.customer-flow .field select{border-radius:6px;height:50px}.customer-flow .flow-entry-form{padding:8px 0}.flow-consent{color:#d1bfae;align-items:flex-start;gap:13px;margin:25px 0;font-size:14px;line-height:1.8;display:flex}.flow-consent input{accent-color:#e5b27d;flex:none;width:20px;height:20px;margin:3px 0}.flow-consent a{color:#e5b27d;text-underline-offset:3px;text-decoration:underline}.flow-total{border-top:1px solid #79563e90;justify-content:space-between;align-items:baseline;gap:18px;margin-top:28px;padding-top:24px;display:flex}.flow-card .flow-total{font-size:17px}.flow-total strong{color:#f0bd87;font:32px/1.4 Wellness Serif,Georgia,serif}.flow-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 0;display:flex}.flow-actions .button{text-align:center;text-decoration:none}.flow-notice{color:#f6dfc2;background:#61402a66;border:1px solid #a8774580;border-radius:7px;padding:18px;font-size:14px;line-height:1.8}.flow-notice a{color:inherit;text-decoration:underline}.flow-code{color:#fff4e5;background:#211711;border:1px solid #bd8a5780;border-radius:9px;margin:28px 0;padding:24px}.flow-code>span{color:#e5b27d;font-size:14px}.flow-code>strong{letter-spacing:.16em;overflow-wrap:anywhere;margin:14px 0;font-size:clamp(28px,6vw,40px);font-weight:500;display:block}.flow-code p{color:#d1bfae;margin:0;font-size:14px}.flow-row{border-top:1px solid #79563e60;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 0;display:flex}.flow-row>div{min-width:0}.flow-row>div>strong{font-weight:500;line-height:1.7}.flow-row p{color:#d1bfae;margin:8px 0;font-size:14px}.flow-row small{color:#d1bfae;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.flow-row .flow-actions{margin:0}.message-preview{white-space:pre-wrap;overflow-wrap:anywhere;color:#f4e2d0;background:#211711;border-radius:6px;max-width:100%;padding:20px;font:13px/1.8 Noto Sans,sans-serif}.flow-row details{margin-top:18px}.flow-row summary{cursor:pointer;color:#e5b27d;text-underline-offset:4px;font-size:14px;text-decoration:underline}.flow-confirm{color:#fff4e5;background:#33251e;border:1px solid #bd8a57;border-radius:12px;width:calc(100% - 32px);max-width:580px;max-height:calc(100dvh - 40px);padding:30px;overflow:auto;box-shadow:0 25px 80px #0e0808a6}.flow-confirm h3{margin:0 0 18px;font:28px/1.35 Wellness Serif,Georgia,serif}.flow-confirm p{line-height:1.8}.flow-confirm::backdrop{background:#130c09cc}.integrations-flow h3{font-size:25px}.integrations-flow>.section-heading p{color:#d1bfae;font-size:15px;line-height:1.8}.customer-flow form>button{margin-top:14px}.customer-flow .button{white-space:normal;min-height:48px;text-decoration:none}.customer-flow .button.primary{min-height:52px}.customer-flow input,.customer-flow select{max-width:100%}.customer-flow [tabindex="-1"]:focus{outline:none}.flow-card .submission-fields,.voucher-order-area .submission-fields{border:0;margin:0;padding:0}.voucher-flow{max-width:1180px}.voucher-shop-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);align-items:start;gap:48px;display:grid}.voucher-order-area{min-width:0}.voucher-order-area .flow-card:first-child{margin-top:0}.voucher-story{padding:24px 0 32px;position:sticky;top:120px}.voucher-story h2{letter-spacing:-.03em;margin:36px 0 18px;font:32px/1.35 Wellness Serif,Georgia,serif}.voucher-story p{color:#d1bfae;font-size:16px;line-height:1.9}.voucher-story p a{color:#e5b27d;white-space:nowrap}.voucher-artwork{margin:10px 6px;position:relative;transform:rotate(-3deg);box-shadow:0 22px 38px #10080580}.voucher-artwork img{width:100%;height:auto;display:block}.voucher-artwork:after{content:"";pointer-events:none;background:#281914;width:12.2%;height:8.9%;position:absolute;top:81.3%;left:8.95%}.voucher-story .voucher-help{border-top:1px solid #79563e60;margin-top:26px;padding-top:24px;font-size:14px}@media (width<=900px){.voucher-shop-layout{grid-template-columns:1fr;gap:20px}.voucher-story{grid-template-columns:1fr 1fr;align-items:center;gap:28px;padding:8px 0 18px;display:grid;position:static}.voucher-story h2{margin-top:0;font-size:28px}.voucher-story p{font-size:14px}.voucher-story .voucher-help{margin-top:18px;padding-top:18px}}@media (width<=640px){.customer-flow{padding:28px 18px 56px}.flow-heading{margin-bottom:28px}.flow-heading h1{font-size:35px}.flow-heading p{font-size:15px}.flow-heading-photo{min-height:260px;padding:26px 23px}.flow-card{border-radius:10px;padding:23px 19px}.flow-card>h2,.flow-card>h3{font-size:25px}.flow-details{grid-template-columns:1fr;gap:4px}.flow-details dd{margin-bottom:12px}.flow-row{flex-direction:column}.flow-row .flow-actions,.flow-actions .button{width:100%}.flow-actions .button{justify-content:center}.integrations-flow>.section-heading{flex-direction:column;align-items:flex-start;gap:14px}.customer-flow .form-grid{grid-template-columns:1fr}.customer-flow .button.primary{width:100%}.flow-confirm{padding:24px 20px}.voucher-story{max-width:460px;padding-bottom:2px;display:block}.voucher-artwork{margin:6px 12px 30px}.voucher-story h2{margin-bottom:12px;font-size:28px}.voucher-story .voucher-help{margin-top:14px;padding-top:14px}}@font-face{font-family:Wellness Serif;src:url(/assets/NotoSerif-Regular-CYYoOQwt.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff4e5;--background:#261c17;--surface:#33251e;--surface-raised:#3f2d23;--dark:#1c1512;--honey:#e5b27d;--green:#e5b27d;--green-dark:#1c1512;--green-soft:#3f2d23;--wine:#efc391;--accent:#e5b27d;--gold:#e5b27d;--gold-deep:#efc391;--gold-light:#f1c99e;--ink:#fff4e5;--ink-soft:#ead7c3;--muted:#d1bfae;--line:#79563e75;--paper:#33251e;--warning:#f3c48f;--danger:#ffb1a7;--shadow:0 16px 44px #1009053d;--serif:"Wellness Serif", Georgia, serif;background:#261c17}body{background:var(--background);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.6}button,input,select,textarea{font-family:Noto Sans,sans-serif}button{transition:background .18s,border-color .18s,color .18s,box-shadow .18s}button:disabled{opacity:.5}a{color:var(--honey);text-underline-offset:4px}::selection{background:var(--honey);color:var(--dark)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em;font-weight:400}h1{font-size:clamp(35px,4vw,54px);line-height:1.2}h2{font-size:29px;line-height:1.3}h3{font-size:24px;line-height:1.35}h1 em,h2 em{color:var(--honey);font-family:Georgia,serif;font-weight:400}.topbar{border-color:var(--line);height:84px;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#241a15f5;padding-inline:max(24px,50% - 640px)}.brand{color:var(--ink);gap:12px}.brand-mark{color:var(--honey);height:45px}.brand-mark svg{width:29px;height:40px}.brand-wordmark{gap:8px}.brand-wordmark strong{letter-spacing:.2em;font-size:13px;font-weight:500}.brand-wordmark small{letter-spacing:.38em;color:var(--honey);font-size:8px;font-weight:400}.brand-context{display:none}.login-button{min-height:43px;color:var(--ink);background:0 0;border-color:#d9b28d80;border-radius:5px;padding-inline:16px;font-weight:400}.login-button:hover{background:var(--surface-raised)}.main-nav button{color:var(--muted);font-weight:400}.main-nav button.active{color:var(--honey)}.customer-nav{background:var(--dark);gap:12px 36px;padding:6px 20px}.customer-nav button{color:var(--muted);min-height:46px;font-size:13px;font-weight:400}.customer-nav button[aria-current=page]{color:var(--honey)}.customer-nav button:hover{color:var(--ink)}.test-mode-banner{color:#f4d9b7;background:#443020;border-color:#9f764a80;padding-block:10px;font-size:12px}.test-mode-banner strong{font-weight:600}.test-mode-banner span{color:#e6c8a6}.test-mode-banner.live-integration{background:#542f25;border-color:#d99071}.test-mode-banner.live-integration span{color:#ffe0cd}main{min-height:calc(100svh - 210px)}.app-footer{background:var(--dark);gap:16px 28px;padding:32px 24px}.app-footer a{color:var(--honey);text-decoration:none}.app-footer a:hover{text-decoration:underline}.app-footer span{font-size:12px}.booking-intro{isolation:isolate;align-items:center;min-height:310px;display:flex;position:relative;overflow:hidden}.booking-intro>img{object-fit:cover;object-position:center 58%;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.booking-intro:after{content:"";z-index:-1;background:linear-gradient(90deg,#24170ee8,#24170e70 60%,#24170e30),linear-gradient(#0000 45%,#261c17);position:absolute;inset:0}.booking-intro>div{width:min(100%,1328px);margin:auto;padding:58px 24px 52px}.booking-intro h1{text-shadow:0 3px 30px #10090566;font-size:clamp(40px,4.4vw,64px)}.booking-intro h1 em{font-size:1.08em;display:block}.booking-intro p{color:#f1ddc7;margin:20px 0 0;font-size:14px;line-height:1.8}.booking-layout{grid-template-columns:minmax(0,1fr) 320px;gap:40px;max-width:1328px;padding:30px 24px 80px}.page-title{margin-bottom:24px}.page-title:empty{display:none}.booking-panel fieldset:not(.submission-fields){margin-bottom:32px;padding:0 0 32px}.booking-panel legend{font:400 29px/1.35 var(--serif);letter-spacing:-.03em;margin-bottom:22px}.stay-included{color:var(--muted);margin:-12px 0 21px;font-size:13px}.type-grid{gap:10px}.choice{border-color:var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:8px;min-height:100px;padding:16px 10px}.choice strong{font:400 19px/1.3 var(--serif)}.choice small{font-size:11px}.choice-price{color:var(--honey);font-size:13px}.choice:hover{background:var(--surface-raised);border-color:#b5845d}.choice.selected,.slot-grid button.selected,.payment-grid button.selected{color:var(--ink);border-color:var(--honey);background:linear-gradient(120deg,#6a432b,#453025);box-shadow:inset 0 0 0 1px #e5b27d24}.choice.selected strong{color:var(--ink)}.week-toolbar{gap:12px;margin-bottom:18px}.week-toolbar strong{font-size:16px;font-weight:400}.week-toolbar small{font-size:12px}.week-today,.stepper button,.icon-button,.slot-grid button{background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:6px}.week-today{min-height:42px;font-size:12px;font-weight:400}.icon-button{flex-shrink:0;width:42px;height:42px}.stepper button{height:40px}.icon-button:hover:not(:disabled),.week-today:hover,.stepper button:hover:not(:disabled){background:var(--surface-raised);border-color:var(--honey)}.availability-week{background:var(--surface);border-radius:10px}.availability-day{background:var(--surface)}.availability-day.selected{box-shadow:inset 0 3px var(--honey);background:#493020}.availability-day>header{background:#2b201a;gap:4px;min-height:91px}.availability-day>header span{text-transform:none;color:var(--honey);font-size:12px;font-weight:400}.availability-day>header strong{font:400 22px/1.25 var(--serif)}.availability-day>header small{font-size:10px}.day-slots{gap:6px;padding:10px 7px}.day-slots button{min-height:40px;color:var(--ink);background:#281d17;border-color:#99745466;border-radius:5px;font-size:11px;font-weight:400}.day-slots button:hover{border-color:var(--honey);background:#533b29}.day-slots button.selected{color:var(--dark);background:var(--honey);border-color:var(--honey);box-shadow:0 2px 8px #10090544}.no-slots{color:var(--muted);font-size:11px}.selected-booking{background:var(--surface);color:var(--honey);border-color:var(--line);border-left-color:var(--honey);border-radius:8px;padding:14px}.selected-booking small{text-transform:none;font-size:12px}.selected-booking strong{font-weight:500}.selected-booking button{color:var(--honey);font-size:12px;font-weight:500}.setting-row{border-color:var(--line);min-height:78px}.setting-label strong,.temperature-heading label{font-weight:500}.setting-label small{font-size:12px}.temperature-scale{font-size:11px}.temperature-setting input[type=range]{accent-color:var(--honey)}.switch{background:#715b4b}.switch.on{background:var(--honey)}.switch span{background:var(--ink)}.switch.on span{background:var(--dark)}.field>span,.delivery-row>span,.cleaner-select>span{color:var(--ink-soft);font-size:13px;font-weight:400}.field input,.field select,.cleaner-select select,.note-entry input{color:var(--ink);background:#211914;border-color:#9974548c;border-radius:6px;min-height:48px;font-size:16px}.field input::placeholder,.note-entry input::placeholder{color:#b4a08e}.field input:focus,.field select:focus,.cleaner-select select:focus,.note-entry input:focus{border-color:var(--honey);outline:1px solid var(--honey);box-shadow:0 0 0 3px #e5b27d26}.payment-grid{gap:12px}.payment-grid button{background:var(--surface);color:var(--honey);border-radius:8px;min-height:82px;padding:16px 14px}.payment-grid strong{font-weight:500}.payment-grid small{color:var(--muted);line-height:1.5}.segmented,.auth-tabs,.admin-tabs{background:var(--dark);border-radius:7px}.segmented button{border-radius:5px;min-height:40px;font-weight:400}.segmented button.selected{background:var(--surface-raised);color:var(--honey);box-shadow:none}.button{border-radius:5px;min-height:48px;padding:12px 22px;font-size:13px;font-weight:500;line-height:1.5}.button.primary{background:var(--honey);color:var(--dark);border:1px solid var(--honey);box-shadow:0 5px 24px #e9a85e0d}.button.primary:hover:not(:disabled){background:#f4c799;border-color:#f4c799}.button.primary:disabled:hover{background:var(--honey);border-color:var(--honey)}.button.secondary{background:var(--surface);color:var(--ink);border-color:#b58b637a}.button.secondary:hover:not(:disabled){background:var(--surface-raised);border-color:var(--honey)}.submit-mobile{height:auto;min-height:54px}.terms-check{color:var(--muted);font-size:13px}.terms-check a,.form-help a{color:var(--honey)}.final-booking-summary{background:var(--surface);border-color:#d9ae7e80;border-radius:8px;padding:22px}.final-booking-summary>span{font-weight:400}.final-booking-summary>strong{font:400 29px/1.2 var(--serif);color:var(--honey)}.summary-panel{background:var(--surface);box-shadow:var(--shadow);border:1px solid #b58b6357;border-radius:12px;top:108px}.wellness-image{aspect-ratio:1.5}.wellness-image img{object-position:55% 60%}.wellness-image:after{background:linear-gradient(#0000,#33251e80)}.summary-content{padding:27px}.summary-content h2{font:400 32px/1.3 var(--serif);color:var(--ink)}.summary-content dt{color:var(--muted)}.summary-content dd{color:var(--ink);font-weight:400}.summary-content dl div{border-color:var(--line)}.total{border-color:#d9ae7e70}.total span{font-size:14px;font-weight:400}.total strong{font:400 31px/1.3 var(--serif);color:var(--honey)}.summary-reassurance{color:var(--muted);margin:24px 0 16px;font-size:12px;line-height:1.8}.summary-help{color:var(--honey);font-size:12px;text-decoration:none}.summary-help:hover{text-decoration:underline}.auth-layout{background:var(--background);grid-template-columns:minmax(0,46%) minmax(0,1fr);min-height:calc(100svh - 140px)}.auth-visual{isolation:isolate;min-height:680px;position:relative}.auth-visual img{object-position:60% center;z-index:-2;position:absolute;inset:0}.auth-visual:after{content:"";z-index:-1;background:linear-gradient(#24170e22 15%,#24170ef0);position:absolute;inset:0}.auth-visual-copy{position:absolute;bottom:70px;left:12%;right:12%}.auth-visual-copy h2{font-size:clamp(40px,4vw,64px)}.auth-visual-copy h2 em{display:block}.auth-visual-copy p{color:var(--muted);font-size:14px;line-height:1.8}.auth-panel{width:min(440px,100% - 64px);min-width:0;padding-block:74px}.auth-panel h1{font:400 42px/1.25 var(--serif)}.auth-access-info{color:var(--muted);margin:22px 0 28px;font-size:14px;line-height:1.7}.auth-access-info p{margin:0 0 8px}.auth-access-info p:first-child{color:var(--ink-soft);font-weight:500}.auth-guest-booking{border-top:1px solid var(--line);margin-top:32px;padding-top:26px}.auth-guest-booking h2{margin:0 0 10px;font-size:23px}.auth-guest-booking p{color:var(--muted);margin:0 0 18px;font-size:14px;line-height:1.7}.auth-guest-booking .button{width:100%}.auth-forgot-password{color:var(--honey);text-underline-offset:4px;background:0 0;border:0;margin:18px auto 0;padding:8px;font-size:14px;text-decoration:underline;display:block}.auth-registration-success,.account-approval-control{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:24px 0;padding:22px}.auth-registration-success h2{margin:0 0 16px;font-size:26px;line-height:1.35}.auth-registration-success p,.account-approval-control p{color:var(--muted);font-size:14px;line-height:1.7}.auth-registration-success .button{width:100%;margin-top:10px}.account-approval-control h3{margin-top:0}.close-auth{background:var(--surface);width:42px;height:42px;color:var(--muted);border-radius:50%;top:18px}.auth-icon{border-color:var(--line);background:var(--surface);color:var(--honey);border-radius:50%;width:52px;height:52px}.auth-tabs button{white-space:normal;border-radius:5px;min-width:0;height:auto;min-height:44px;padding:10px 8px;font-weight:400}.auth-tabs button.selected{background:var(--surface-raised);color:var(--honey);box-shadow:none}.confirmation-status{color:var(--honey);margin-bottom:18px;font-size:16px}.success-view{padding-top:60px}.confirmation-grid,.entry-guide{background:var(--surface);border-color:var(--line);border-radius:9px}.entry-guide.waiting{color:#f3d5b0;background:#3f2d1e;border-color:#99734e}.access-step{display:block}.code-digits b{background:var(--dark);border-color:var(--line);color:var(--honey);border-radius:5px}.access-code{border-radius:8px}.success-symbol{color:var(--honey);background:var(--surface);border:1px solid var(--line)}.workspace{max-width:1328px;padding-top:48px}.workspace-title h1{font:400 40px/1.25 var(--serif)}.metrics>button,.data-section,.cleaning-card,.shift-user,.confirmation-dialog{background:var(--surface);border-color:var(--line);border-radius:9px}.metrics>button{min-height:120px;padding:20px}.metrics strong{font:400 34px/1.3 var(--serif)}.admin-tabs button{min-height:44px;font-weight:400}.admin-tabs button.selected{background:var(--surface-raised);color:var(--honey);box-shadow:none}.admin-tabs button span{color:var(--ink);background:#61422d}.section-heading{gap:14px;padding-block:18px}.section-heading h2{font:400 23px/1.3 var(--serif)}.section-heading span{font-size:12px}.reservation-row,.account-list>button,.maintenance-list article,.voucher-list>div,.loxone-device-list article,.simulator-code-list article,.live-event-list article,.code-admin-list>button,.api-event-list article,.customer-list>div:not(.compact-empty){border-bottom-color:var(--line)}.account-list>button,.code-admin-list>button,.code-search,.code-role-picker button{background:var(--surface)}.account-list>button:hover,.account-list>button.selected,.code-admin-list>button:hover,.code-admin-list>button.selected,.code-role-picker button:hover,.code-role-picker button.selected{background:var(--surface-raised);color:var(--honey)}.date-block{border-color:var(--line);border-radius:5px}.small-button{background:var(--surface-raised);height:auto;min-height:38px;color:var(--ink);border-radius:5px;padding:8px 12px;font-weight:500}.small-button.approve{color:var(--honey)}.pagination button,.admin-filters .small-button,.refresh-cleaning{background:var(--surface-raised);color:var(--ink)}.code-manager-toolbar,.live-code-result{background:#2b201a}.status,.code-state,.role-chip{color:#f3dfc9;background:#514033;padding:4px 9px;font-size:11px;font-weight:400}.status-confirmed,.status-active,.status-completed,.code-state.active,.success-message,.account-notice.approved,.simulator-online{color:#b4dfb9;background:#293e2d;border-color:#5c8661}.simulator-online{color:#b4dfb9!important}.status-pending_approval,.status-pending_payment,.status-open,.account-notice.pending,.approval-button,.code-role-warning,.code-type-warning{color:#f7d2a0;background:#4c3621;border-color:#9b764a}.status-cancelled,.status-blocked_pending_cancellation_fee,.code-state.expired,.code-state.inactive,.error-message,.icon-button.danger,.cancel-button,.release-button,.button.danger-outline{color:#ffbdb1;background:#4c2924;border-color:#a36c60}.button.danger-outline.delete-confirm{color:#fff4e5;background:#903d32;border-color:#d58f80}.loxone-api-log .section-heading .small-button{color:#ffbdb1;background:#4c2924;border-color:#a36c60}.loxone-api-log .section-heading .small-button.reset-confirm{color:#fff4e5;background:#903d32;border-color:#d58f80}.status-assigned,.code-state.scheduled,.api-method,.role-cleaner{color:#bcd6f0;background:#2c3b49}.role-admin{color:#dfc9ed;background:#493753}.role-customer_pending{color:#f7d2a0;background:#4c3621}.activity-dot.active,.simulator-worker-status strong,.api-response strong{color:#b4dfb9}.active-check{color:var(--ink-soft)}.loxone-device-icon.active,.task-tags .sauna-on,.loxone-command-grid .sauna-command{color:#f6c99f;background:#543321;border-color:#97724e}.loxone-command-grid .off-command,.task-tags span{color:var(--muted);background:var(--surface-raised)}.notes{color:#f7d2a0;background:#443220}.confirmation-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#130d0be0}.test-mode-banner,.error-message,.success-message,.flow-notice{line-height:1.65}.account-notice{background:var(--surface);color:var(--ink-soft);border-color:var(--line)}.pwa-open-offer{color:var(--honey);font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.pwa-install-dialog{box-sizing:border-box;border:1px solid var(--line);background:var(--surface);width:min(460px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--ink);text-align:left;border-radius:16px;margin:auto;padding:32px;position:fixed;overflow-y:auto;box-shadow:0 24px 90px #0008}.pwa-install-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#130d0bce}.pwa-install-close{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:12px}.pwa-install-close:hover{background:var(--surface-raised);color:var(--ink)}.pwa-install-brand{border:1px solid var(--line);background:#261c17;border-radius:17px;place-items:center;width:68px;height:68px;margin-bottom:22px;display:grid}.pwa-install-brand svg{width:28px;height:40px;fill:var(--honey)}.pwa-install-dialog h2{font:400 32px/1.2 var(--serif);margin:0 0 14px}.pwa-install-dialog h2:focus{outline:none}.pwa-install-dialog p{color:var(--ink-soft);margin:0 0 20px;font-size:15px;line-height:1.7}.pwa-install-instructions{border:1px solid var(--line);background:#261c1780;border-radius:9px;margin:22px 0;padding:18px}.pwa-install-instructions h3{font:500 15px/1.4 var(--sans);margin:0 0 12px}.pwa-install-instructions ol{color:var(--ink-soft);margin:0;padding-left:20px;font-size:14px;line-height:1.65}.pwa-install-instructions li+li{margin-top:8px}.pwa-install-instructions p{margin:14px 0 0;font-size:12px}.pwa-install-dialog .pwa-install-note{color:var(--muted);font-size:12px;line-height:1.6}.pwa-install-actions{flex-direction:column;gap:10px;display:flex}.pwa-install-actions .button{width:100%}.pwa-install-actions [role=status]{color:var(--honey);font-size:14px;line-height:1.6}@media (width<=480px){.pwa-install-dialog{padding:24px}.pwa-install-dialog h2{font-size:29px}}.customer-account-settings{border-bottom:1px solid var(--line);padding:22px}.cash-permission-control{justify-content:space-between;align-items:center;gap:20px;display:flex}.cash-permission-control strong{font-size:16px;font-weight:500}.cash-permission-control p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.7}.cash-permission-control .switch{flex-shrink:0}.customer-account-settings>.form-help{margin-bottom:24px}.account-editor .customer-note-form{gap:12px;padding:0}.customer-note-form .field,.customer-note-form .form-help{margin:0}.customer-note-form .button{align-self:flex-start}.account-editor .field textarea{resize:vertical;width:100%;min-height:100px;color:var(--ink);background:#211914;border:1px solid #9974548c;border-radius:6px;padding:12px;font-size:16px;line-height:1.6}.account-editor .field textarea:focus{border-color:var(--honey);outline:1px solid var(--honey);box-shadow:0 0 0 3px #e5b27d26}.account-identity .customer-permission-status{color:var(--honey);white-space:normal;font-size:10px;line-height:1.5}.account-search-filters{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) minmax(180px,1fr) auto;align-items:end;gap:16px;padding:20px 22px;display:grid}.account-search-filters .field{margin:0}.account-search-filters .small-button{min-height:48px}.account-directory-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.account-directory-table th{color:var(--muted);border-bottom:1px solid var(--line);padding:10px 22px;font-size:12px;font-weight:400}.account-directory-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:6px 22px;line-height:1.4}.account-directory-table tr:last-child td{border-bottom:0}.account-directory-table tbody tr:hover{background:#e5b27d08}.account-name-button{color:var(--honey);text-align:left;text-underline-offset:4px;background:0 0;border:0;min-height:28px;padding:3px 0;font-size:14px;font-weight:500;line-height:1.4;text-decoration:underline}.account-name-button:hover{color:var(--ink)}.account-row-note{color:var(--muted);font-size:11px;line-height:1.5;display:block}.account-empty{color:var(--muted);padding:26px 22px;line-height:1.8}.account-detail-heading{flex-wrap:wrap;align-items:center;gap:22px;margin:28px 0;scroll-margin-top:105px;display:flex}.account-detail-heading:focus{outline:none}.account-detail-heading h2{overflow-wrap:anywhere;margin:0}.account-detail-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:26px;display:grid}.account-detail-layout.new-account{max-width:660px;display:block}.account-reservations{min-width:0}.account-history-help{color:var(--muted);margin:18px 0;padding:0 22px;font-size:12px;line-height:1.7}.account-reservation-list{margin:0;padding:0;list-style:none}.account-reservation-list li{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:10px;padding:20px 22px;display:flex}.account-reservation-list strong{font-size:14px;font-weight:500;line-height:1.8}.account-history-error{padding:0 22px 22px}@media (width<=1100px){.account-search-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.account-directory-table th,.account-directory-table td{padding-inline:15px}}@media (width<=800px){.auth-layout{display:block}.auth-visual{display:none}.auth-panel{width:min(440px,100% - 44px)}.account-detail-layout{grid-template-columns:minmax(0,1fr)}.account-reservations{grid-row:1}}@media (width<=640px){.account-search-filters{gap:14px;padding:18px}.account-search-filters .account-search,.account-search-filters .small-button{grid-column:1/-1}.account-search-filters .field>span{font-size:12px}.account-search-filters select{min-width:0;max-width:100%;font-size:13px}.account-directory-table,.account-directory-table tbody{display:block}.account-directory-table thead{display:none}.account-directory-table tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 14px;padding:10px 14px;display:grid}.account-directory-table tr:last-child{border:0}.account-directory-table td{overflow-wrap:anywhere;border:0;flex-wrap:wrap;align-items:baseline;gap:2px 6px;padding:0;font-size:12px;display:flex}.account-directory-table td:before{content:attr(data-label);color:var(--muted);font-size:10px}.account-directory-table td:first-child{grid-column:1/-1}.account-directory-table td:first-child:before{content:none}.account-name-button{min-height:32px;font-size:14px}.account-detail-heading{flex-direction:column;align-items:flex-start;gap:18px}.account-detail-heading h2{font-size:28px}}@media (width<=1100px){.topbar:has(.main-nav) .brand-wordmark{display:none}.topbar:has(.main-nav) .account-area>span{display:none}.booking-layout{grid-template-columns:minmax(0,1fr);gap:28px}.summary-panel{grid-row:auto;grid-template-columns:minmax(180px,1fr) 1.6fr;display:grid;position:static}.summary-content dl{display:block}.wellness-image{aspect-ratio:auto}.booking-intro{min-height:270px}}@media (width<=640px){.topbar{height:74px;padding-inline:18px}.brand-wordmark{display:flex}.brand-wordmark strong{font-size:11px}.brand-wordmark small{font-size:7px}.brand-mark{width:27px}.brand-mark svg{width:24px;height:34px}.login-button{padding-inline:12px;font-size:11px}.topbar:has(.main-nav) .brand-wordmark{display:none}.test-mode-banner{padding:9px 18px;font-size:11px}.customer-nav{gap:4px;padding:5px 12px}.customer-nav button{padding:9px 4px;font-size:11px}.booking-intro{min-height:232px}.booking-intro>div{padding:35px 22px 34px}.booking-intro h1{font-size:43px}.booking-intro p{margin-top:18px;font-size:13px}.booking-intro>img{object-position:62% center}.booking-layout{padding:28px 18px 50px}.booking-panel legend{font-size:28px}.stay-included{font-size:12px}.type-grid{gap:9px}.choice{min-height:90px;padding:14px 10px}.type-grid .choice:last-child{flex-flow:wrap;gap:8px 14px;min-height:66px}.choice strong{font-size:20px}.week-toolbar strong{font-size:15px}.availability-day{grid-template-columns:78px minmax(0,1fr)}.availability-day.selected{box-shadow:inset 3px 0 var(--honey)}.availability-day>header{gap:5px}.availability-day>header small{font-size:9px}.day-slots{gap:7px;padding:10px 8px}.day-slots button{flex:0 55px;width:auto;min-height:42px;font-size:12px}.setting-row{gap:12px}.temperature-scale{font-size:10px}.selected-booking{grid-template-columns:20px minmax(0,1fr) auto;gap:8px;padding:12px}.selected-booking strong{font-size:13px}.summary-panel{order:0;grid-template-columns:1fr;width:100%;display:grid}.summary-content{padding:24px}.summary-content h2{font-size:30px}.summary-content dl{display:block}.wellness-image{aspect-ratio:2.5;display:block}.auth-layout{background:linear-gradient(#261c17ed,#261c17f5),url(/assets/hero-professional-DhE2lLcy.jpg) 50%/cover}.auth-panel{width:calc(100% - 44px);padding-block:60px}.auth-panel h1{font-size:36px}.workspace{padding:32px 18px 50px}.workspace-title h1{font-size:33px}.metrics>button{padding:15px}.admin-tabs button{font-size:11px}.section-heading h2{font-size:21px}.success-view{padding:46px 18px}.success-view h1{font-size:33px}.access-step{display:block}.confirmation-dialog{padding:22px}}@media (width<=360px){.booking-intro h1{font-size:38px}.topbar{padding-inline:14px}.day-slots button{flex-basis:48px;font-size:11px}}.metrics>button{width:100%;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.metrics>button:hover{border-color:var(--honey);background:var(--surface-raised)}.metrics>button:focus-visible{outline:3px solid var(--honey);outline-offset:3px}.reservation-row.reservation-highlight{border-color:var(--honey);box-shadow:0 0 0 1px var(--honey)}.cleaning-filters{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.cleaning-filters button[aria-pressed=true]{background:var(--honey);color:var(--dark)}.workspace>.cleaner-workspace{margin:0;padding:0}
