:root{color:#20342c;font-synthesis:none;--ink:#20342c;--muted:#68766f;--forest:#142c23;--orange:#bd4e28;--line:#dce3de;--paper:#fff;--soft:#edf2ee;--radius:14px;background:#f3f5f3;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:10px 14px;font-size:14px;font-weight:600;display:inline-flex}button:hover{background:#edf2ee}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #e5a33a}input,textarea,select{color:var(--ink);background:#fff;border:1px solid #cbd6ce;border-radius:8px;width:100%;min-height:45px;padding:12px 13px;font-size:16px}input:focus,textarea:focus,select:focus{outline-offset:1px;outline:2px solid #72947d}textarea{resize:vertical}input[type=checkbox]{width:19px;height:19px;min-height:19px;accent-color:var(--forest);flex-shrink:0}input[type=number]{font-variant-numeric:tabular-nums}label{flex-direction:column;gap:7px;font-size:14px;font-weight:600;display:flex}label small{color:var(--muted);font-weight:400;line-height:1.4}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.25px;margin-bottom:10px;font-size:34px;font-weight:650;line-height:1.15}h2{letter-spacing:-.5px;margin-bottom:18px;font-size:21px;font-weight:650}h3{margin:0 0 14px;font-size:17px;font-weight:650}p{font-size:16px;line-height:1.65}small{font-size:13px}strong,b{font-weight:650}.muted{color:var(--muted)}.eyebrow{letter-spacing:1.8px;color:var(--orange);margin-bottom:12px;font-size:12px;font-weight:750;display:block}.primary,.button.primary{background:var(--forest);color:#fff;border-color:var(--forest);padding:13px 19px}.primary:hover{background:#29523b}.button{border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:10px 15px;font-size:14px;font-weight:600;display:inline-flex}.button:hover{background:var(--soft);text-decoration:none}.subtle{background:0 0}.text-button{color:#27613f;text-align:left;background:0 0;border:0;justify-content:flex-start;padding:3px 0}.text-button:hover{background:0 0;text-decoration:underline}.icon-button{background:0 0;border:0;padding:4px 12px;font-size:25px}.error{color:#8f3016;background:#fff0eb;border:1px solid #e5af9e;border-radius:8px;margin:15px 0;padding:13px 17px;font-size:15px;line-height:1.5}.notice{background:#e5f2e8;border:1px solid #a3c3aa;border-radius:8px;margin:15px 0;padding:14px 18px}.hint{color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.65}.brand{white-space:nowrap;align-items:center;gap:11px;display:flex}.brand:hover{text-decoration:none}.brand-mark{letter-spacing:-2px;border:1px solid;border-radius:50%;place-items:center;width:45px;height:45px;font-size:19px;font-weight:750;display:grid}.brand b{letter-spacing:2px;font-size:14px;display:block}.brand small{letter-spacing:1.1px;opacity:.7;margin-top:5px;font-size:9px;display:block}.admin-shell{min-height:100vh;display:flex}.sidebar{background:var(--forest);color:#e8f0eb;z-index:10;flex-direction:column;width:254px;padding:30px 18px 0;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{padding:0 8px 40px}.sidebar .brand-mark{color:#d89a70}.sidebar-label{letter-spacing:1.8px;color:#8fa89a;margin:2px 15px 14px;font-size:11px}.sidebar nav{flex-direction:column;gap:5px;display:flex}.sidebar nav button{color:#bbcdc1;background:0 0;border:0;border-radius:7px;justify-content:flex-start;gap:13px;min-height:48px;padding:14px 15px;font-weight:500}.sidebar nav button:hover{color:#fff;background:#203b2f}.sidebar nav button.active{color:#fff;background:#2a4937;box-shadow:inset 3px 0 #da9564}.sidebar nav button.active svg{color:#e4aa83}.nav-dot{background:#86ad89;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{margin-top:auto}.kiosk-link{border:1px solid #35523e;border-radius:9px;align-items:center;gap:12px;margin:30px 0 20px;padding:15px 10px;font-size:14px;display:flex}.kiosk-link small{color:#9bb4a3;margin-top:5px;font-size:11px;display:block}.kiosk-link>svg:last-child{margin-left:auto}.profile{border-top:1px solid #35503f;align-items:center;gap:10px;padding:20px 0;display:flex}.profile strong{font-size:14px}.profile small{color:#9bb4a3;margin-top:4px;font-size:12px;display:block}.profile button{color:#b7cdbf;background:0 0;border:0;margin-left:auto;padding:7px}.avatar{color:#32593c;background:#e2eadd;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;font-size:14px;display:inline-flex}.workspace{width:calc(100% - 254px);margin-left:254px}.workspace-top{border-bottom:1px solid var(--line);height:75px;color:var(--muted);background:#fafbf9;justify-content:space-between;align-items:center;padding:0 40px;font-size:13px;display:flex}.workspace-top>b{color:var(--ink)}.workspace-top b{color:#bdc9bf;padding:0 14px;font-weight:400}.workspace-top>div{align-items:center;gap:23px;display:flex}.connection{align-items:center;gap:7px;display:flex}.connection i,.pulse-dot{background:#62926c;border-radius:50%;width:7px;height:7px;display:inline-block}.workspace-main{max-width:1800px;margin:auto;padding:33px 40px 0}.page-title{justify-content:space-between;align-items:center;gap:22px;margin-bottom:26px;display:flex}.page-title .eyebrow{margin-bottom:10px}.page-title p{color:var(--muted);margin:0;font-size:14px}.title-actions{flex-shrink:0;gap:10px;display:flex}.filter-bar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;display:flex}.period-buttons{background:#e8ede8;border-radius:8px;gap:3px;padding:4px;display:flex}.period-buttons button{white-space:nowrap;background:0 0;border:0;padding:9px 12px;font-size:13px;font-weight:500}.period-buttons .selected{color:var(--ink);background:#fff;box-shadow:0 1px 4px #192c2312}.date-filter{align-items:center;gap:10px;display:flex}.date-filter label{color:var(--muted);flex-direction:row;align-items:center;gap:8px;font-size:11px;display:flex}.date-filter input{width:142px;min-height:38px;padding:9px;font-size:13px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px;display:grid}.metric{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0;padding:23px 24px}.metric>span{color:var(--muted);margin-bottom:14px;font-size:13px;display:block}.metric>strong{letter-spacing:-1.2px;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(24px,2.15vw,34px);font-weight:650;display:block}.metric>small{color:var(--muted);margin-top:12px;font-size:12px;display:block}.metric.accent{background:var(--forest);border-color:var(--forest);color:#fff}.metric.accent>span,.metric.accent>small{color:#b8cabc}.attention-strip{background:#eaf0e9;border:1px solid #d4dfd4;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:13px 17px;font-size:13px;display:flex}.attention-strip>div{align-items:center;gap:14px;display:flex}.attention-strip>div>span:not(.pulse-dot){color:var(--muted)}.attention-strip button{color:#355e3e;background:0 0;border:0;padding:4px;font-size:13px}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:23px;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0;padding:25px 27px}.panel>.eyebrow,.panel-heading .eyebrow{margin-bottom:8px;font-size:11px}.panel-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.panel-heading p{margin-bottom:10px;font-size:14px}.panel-heading>div>h2{margin-bottom:10px}.panel-heading>span{font-size:12px}.bars{gap:19px;margin-top:23px;display:grid}.bar-row>div:first-child{justify-content:space-between;gap:15px;margin-bottom:9px;font-size:14px;display:flex}.bar-row>div:first-child>span{overflow-wrap:anywhere}.bar-row strong{white-space:nowrap;font-variant-numeric:tabular-nums}.bar-track{background:#edf1ec;border-radius:4px;height:7px;overflow:hidden}.bar-track i{background:#627f59;border-radius:4px;height:100%;display:block}.bar-row:nth-child(2n) .bar-track i{background:#9bad7d}.bar-row small{color:var(--muted);margin-top:6px;font-size:12px;display:block}.chart-legend{color:var(--muted);justify-content:flex-end;gap:18px;margin:8px 0 20px;font-size:12px;display:flex}.chart-legend span{align-items:center;gap:7px;display:flex}.chart-legend i{background:#56734b;border-radius:2px;width:8px;height:8px;display:block}.chart-legend span:nth-child(2) i{background:#c7d2b7}.trend{align-items:flex-end;gap:12px;height:224px;padding:0 8px;display:flex;overflow-x:auto}.trend-month{text-align:center;flex-direction:column;flex:1;align-items:center;gap:3px;min-width:52px;display:flex}.trend-month>b{margin-top:6px;font-size:12px;font-weight:500}.trend-month>small{color:var(--muted);font-size:10px}.trend-columns{border-bottom:1px solid var(--line);justify-content:center;align-items:flex-end;gap:5px;width:100%;height:182px;display:flex}.trend-columns>div{background:#56734b;border-radius:4px 4px 0 0;width:28px;max-width:38%;position:relative}.trend-columns>div:nth-child(2){background:#c7d2b7}.trend-columns>div span{display:none}.chart-data{color:var(--muted);margin-top:18px;font-size:12px}summary{cursor:pointer;padding:6px 0}.chart-data table{margin-top:10px;font-size:12px}.mini-metrics{border-top:1px solid var(--line);justify-content:space-between;gap:22px;margin-top:25px;padding-top:21px;display:flex}.mini-metrics small{color:var(--muted);margin-bottom:9px;font-size:12px;display:block}.mini-metrics strong{letter-spacing:-.5px;font-size:22px;font-weight:600}.definition-panel{background:#edf1e9}.definition-panel>svg{color:#64825b;margin-bottom:18px}.definition-panel p{color:#586d5d;font-size:14px}.rank-row{border-bottom:1px solid #e9eee9;align-items:center;gap:14px;padding:15px 0;font-size:14px;display:flex}.rank-row:last-child{border:0}.rank-row>span{color:#95a58f;font-size:12px}.rank-row>div{flex:1}.rank-row small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.rank-row>b{white-space:nowrap}.workspace-footer{color:#8a978e;justify-content:space-between;gap:20px;padding:28px 0;font-size:11px;display:flex}.workspace-footer>span:first-child{letter-spacing:1.4px}.empty{text-align:center;color:#809184;flex-direction:column;align-items:center;gap:15px;padding:45px 20px;display:flex}.empty p{margin:0;font-size:15px}.loading-panel{min-height:220px;color:var(--muted);place-items:center;display:grid}.app-loading{text-align:center;padding:70px}.operations-summary{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px;display:grid}.range-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:25px;display:grid}.range-card{border-radius:var(--radius);background:linear-gradient(140deg,#e7eee2,#f4f6ee);border:1px solid #ccd8cb;padding:23px}.range-card>div:first-child{justify-content:space-between;align-items:center;display:flex}.range-card .eyebrow{color:#607256;margin:0;font-size:11px}.range-card h2{letter-spacing:-2px;margin:24px 0 4px;font-size:46px}.range-card>small{color:#75816c}.range-card>p{margin-top:24px;margin-bottom:0;font-size:13px}.range-visitor{text-align:left;justify-content:space-between;width:100%;margin-top:12px}.badge{color:#66716a;white-space:nowrap;background:#edf0ec;border-radius:5px;align-items:center;padding:5px 8px;font-size:11px;font-weight:600;line-height:1.3;display:inline-flex}.badge.completed,.badge.paid,.badge.available{color:#456840;background:#e5f0e2}.badge.active,.badge.in-use{color:#286050;background:#e0ebe8}.badge.pending,.badge.part-paid,.badge.upcoming{color:#8d6b27;background:#fbefda}.badge.expired,.badge.outstanding{color:#a24326;background:#f9e6df}.badge.cancelled,.badge.disabled,.badge.unavailable{color:#6c746f;background:#eaeceb}.list-toolbar{align-items:center;gap:12px;margin-bottom:22px;display:flex}.list-toolbar>input{max-width:430px}.list-toolbar>select{max-width:230px;font-size:14px}.list-toolbar>span{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px}.table-panel{padding:0;overflow:hidden}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}th{text-transform:uppercase;letter-spacing:.7px;color:#728076;white-space:nowrap;background:#f7f9f6;padding:16px 18px;font-size:11px;font-weight:650}td{vertical-align:middle;border-top:1px solid #e6ece5;padding:16px 18px}td small{color:var(--muted);margin-top:6px;font-size:12px;display:block}td strong{font-size:14px}td.numeric{font-variant-numeric:tabular-nums;white-space:nowrap}tbody tr:hover{background:#fafcf9}.ledger-total{background:#e8eee3;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:22px;padding:22px;display:flex}.ledger-total>span{font-size:14px}.ledger-total>strong{letter-spacing:-.7px;font-size:26px}.modal{width:min(650px,95vw);max-height:90vh;color:var(--ink);background:#fff;border:0;border-radius:16px;padding:27px 32px;box-shadow:0 30px 100px #11261f44}.modal.wide{width:min(870px,95vw)}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f231faa}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:18px;display:flex}.modal-head h2{margin:0}.field-grid{grid-template-columns:1fr 1fr;gap:19px;margin-bottom:23px;display:grid}.full{grid-column:1/-1}.form-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:23px;padding-top:22px;display:flex}.form-actions>small{color:var(--muted);max-width:55%;font-size:12px;line-height:1.6}.editor-tabs{border-bottom:1px solid var(--line);gap:8px;margin-bottom:24px;display:flex;overflow-x:auto}.editor-tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:0;padding:12px 14px}.editor-tabs button.selected{color:#294e36;border-bottom:2px solid #294e36}.calculated{background:#edf2e9;border-radius:8px;flex-direction:column;justify-content:center;gap:8px;padding:14px;display:flex}.calculated small{color:var(--muted);font-size:12px}.calculated strong{font-size:24px}.section-line{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin:20px 0;padding-top:19px;display:flex}.section-line h3{margin:0}.item-row{grid-template-columns:1fr 90px 130px 40px;align-items:end;gap:12px;margin-bottom:18px;display:grid}.booking-total{background:var(--forest);color:#fff;border-radius:10px;justify-content:space-between;gap:20px;padding:20px 24px;display:flex}.booking-total>span{color:#c2d2c4;font-size:12px}.booking-total strong{color:#fff;margin-top:9px;font-size:23px;font-weight:600;display:block}.receipt{border:1px solid var(--line);border-radius:10px;padding:20px}.receipt h2{margin-bottom:8px}.receipt>p{font-size:14px}.receipt td:last-child{text-align:right;white-space:nowrap}.receipt table{margin:18px 0}.payment-form{border-top:1px solid var(--line);margin-top:22px;padding-top:24px}.payment-form>small{color:var(--muted);margin-top:12px;display:block}.details{grid-template-columns:145px 1fr;gap:15px;font-size:14px;line-height:1.6;display:grid}.details dt{color:var(--muted)}.details dd{overflow-wrap:anywhere;margin:0}.saved-signature{object-fit:contain;border:1px solid var(--line);border-radius:8px;width:100%;max-height:220px;margin:20px 0;display:block}.legal{border:1px solid var(--line);background:#f7f8f4;border-radius:9px;max-height:290px;margin-bottom:22px;padding:20px;overflow-y:auto}.legal p,.legal li{color:#58685d;font-size:14px;line-height:1.7}.legal li{padding-bottom:9px}.legal h3{font-size:15px}.check{flex-direction:row;align-items:flex-start;gap:12px;margin:18px 0;font-weight:400;line-height:1.6}.check small{color:var(--muted);font-size:12px;display:block}.signature-title{margin:24px 0 12px;font-size:14px;display:block}.signature-wrap{background:#fcfdf9;border:1px solid #b9c9bc;border-radius:10px;overflow:hidden}.signature-wrap canvas{touch-action:none;width:100%;height:165px;display:block}.signature-wrap>div{color:#7a897b;border-top:1px dashed #cdd7c7;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;display:flex}.signature-wrap button{color:var(--orange);background:0 0;border:0;padding:5px 9px;font-size:12px}.split-panels{grid-template-columns:1.1fr 1fr;gap:23px;display:grid}.range-setting{border-top:1px solid var(--line);align-items:center;gap:20px;padding:22px 0;display:flex}.range-setting>label:not(.check){flex:1}.range-setting>.check{margin-top:30px;font-size:13px}.range-setting>button{white-space:nowrap;margin-top:24px}.user-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:18px 0;display:flex}.user-row>div{flex:1}.user-row small{color:var(--muted);margin-top:5px;display:block}.user-row>button{padding:7px 9px;font-size:12px}.narrow{max-width:600px}.narrow label{margin-bottom:22px}.import-card{background:#edf2e8;border-radius:9px;margin:15px 0;padding:18px}.import-card p{margin:10px 0;font-size:13px}.import-card small{color:var(--muted);line-height:1.9}.login-page{background:linear-gradient(115deg,#142c23 0% 49%,#e9eee4 49%,#f2f4ef 100%);min-height:100vh;padding:35px 5vw;position:relative}.login-brand{color:#f0f4ed;justify-content:space-between;align-items:center;display:flex}.login-brand>span{letter-spacing:2px;color:#667a60;font-size:11px}.login-card{background:#fff;border-radius:18px;width:min(490px,100%);margin:7vh auto 9vh;padding:43px 44px;box-shadow:0 20px 80px #081c2530}.login-card h1{letter-spacing:-1.8px;font-size:41px}.login-card p{margin-bottom:25px;font-size:14px}.login-card label{margin-bottom:20px}.login-card form>.primary{justify-content:space-between;width:100%;margin:8px 0 22px}.login-card>a{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:22px;font-size:13px;display:flex}.login-page footer{color:#acbfae;text-align:left;font-size:12px}.kiosk{background:#f1f4ec;min-height:100vh}.kiosk>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:20px 5vw;display:flex}.kiosk-layout{grid-template-columns:.82fr 1.18fr;max-width:1400px;min-height:calc(100vh - 150px);margin:auto;display:grid}.kiosk-aside{background:var(--forest);color:#f2f5ed;flex-direction:column;padding:75px 5vw 50px;display:flex}.kiosk-aside .eyebrow{color:#dba37d;font-size:11px}.kiosk-aside h1{letter-spacing:-2.7px;margin:12px 0 25px;font-size:clamp(42px,4.2vw,65px);font-weight:550;line-height:1.04}.kiosk-aside>p{color:#b6c9b9;max-width:360px;font-size:16px}.kiosk-aside ol{margin:0;padding:25px 0;list-style:none}.kiosk-aside li{color:#829c89;align-items:center;gap:20px;padding:20px 0;display:flex}.kiosk-aside li>b{border:1px solid #355240;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:12px;display:grid}.kiosk-aside li small{margin-top:7px;font-size:12px;display:block}.kiosk-aside li.current{color:#f0f4e9}.kiosk-aside li.current>b{color:#12271e;background:#c59167;border-color:#c59167}.kiosk-note{color:#90ab94;border-top:1px solid #385240;align-items:center;gap:15px;margin-top:auto;padding-top:22px;font-size:13px;line-height:1.5;display:flex}.kiosk-form{background:#fff;padding:57px 5vw}.kiosk-form h2{letter-spacing:-1px;margin-bottom:10px;font-size:30px}.kiosk-form>form>.muted{margin-bottom:30px;font-size:14px}.kiosk>footer{color:var(--muted);text-align:center;padding:20px 5vw;font-size:11px}.success{text-align:center;padding:70px 0}.success-mark{color:#557747;background:#e2ecdc;border-radius:50%;place-items:center;width:80px;height:80px;margin:0 auto 30px;display:grid}.success>p{color:var(--muted);max-width:390px;margin:20px auto}.success .reference{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:35px 0;padding:25px}.reference small{color:var(--muted);margin-bottom:10px;display:block}.reference strong{font-family:monospace;font-size:21px}@media (width>=1600px){.dashboard-grid{grid-template-columns:1.4fr 1fr 1fr}.chart-panel{grid-column:span 2}.metric>strong{font-size:35px}}@media (width<=1250px){.sidebar{width:220px;padding:25px 12px 0}.sidebar .brand b{font-size:12px}.sidebar .brand small{font-size:8px}.sidebar .brand-mark{width:38px;height:38px}.workspace{width:calc(100% - 220px);margin-left:220px}.workspace-main{padding:28px 24px 0}.workspace-top{padding:0 24px}.metrics{gap:12px}.metric{padding:20px 17px}.metric>strong{font-size:26px}.filter-bar{flex-wrap:wrap}.attention-strip{align-items:flex-start}.attention-strip>div{flex-wrap:wrap;gap:8px 13px}.panel{padding:22px}.split-panels{grid-template-columns:1fr}.title-actions .button{white-space:nowrap}}@media (width<=1000px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.workspace-top .connection{display:none}.page-title{align-items:flex-start}.page-title h1{font-size:29px}.page-title p{max-width:370px}.title-actions{padding-top:20px}.range-board{gap:13px}.range-card{padding:17px}.range-card h2{font-size:36px}.range-card .badge{font-size:10px}.range-setting{flex-wrap:wrap}.range-setting>label{min-width:150px}.kiosk-layout{grid-template-columns:.7fr 1fr}.kiosk-aside{padding:50px 30px}.kiosk-form{padding:40px 30px}}@media (width<=760px){.admin-shell{display:block}.sidebar{width:100%;padding:17px 18px;position:relative}.sidebar .brand{padding:0 0 18px}.sidebar-label,.sidebar-bottom,.nav-dot{display:none}.sidebar nav{flex-direction:row;gap:5px;overflow-x:auto}.sidebar nav button{white-space:nowrap;gap:8px;min-height:40px;padding:10px;font-size:12px}.sidebar nav button.active{box-shadow:inset 0 -2px #dda377}.sidebar nav svg{width:16px}.workspace{width:100%;margin:0}.workspace-top{height:51px;padding:0 20px;font-size:11px}.workspace-main{padding:24px 18px 0}.page-title{flex-wrap:wrap;gap:8px;margin-bottom:20px}.page-title h1{font-size:30px}.title-actions{padding-top:7px}.filter-bar{gap:14px}.date-filter{gap:7px}.date-filter label{gap:5px;font-size:10px}.date-filter input{width:126px}.period-buttons button{padding:9px 10px;font-size:12px}.metrics{gap:10px}.metric{padding:18px 15px}.metric>strong{letter-spacing:-1px;font-size:25px}.metric>small{font-size:11px;line-height:1.5}.metric>span{margin-bottom:10px;font-size:12px}.attention-strip{display:block}.attention-strip>button{margin-top:12px}.panel{padding:20px}.table-panel{padding:0}.range-board{grid-template-columns:1fr}.range-card h2{margin-top:12px}.range-card>p{margin-top:13px}.operations-summary{grid-template-columns:1fr;gap:10px}.operations-summary .metric{align-items:center;gap:20px;display:flex}.operations-summary .metric>span{min-width:110px;margin:0}.operations-summary .metric>small{margin:0}.list-toolbar{flex-wrap:wrap;gap:10px}.list-toolbar>input{max-width:none}.list-toolbar>select{max-width:200px}.list-toolbar>span{margin-left:0}.list-toolbar>button{margin-left:auto}.workspace-footer{flex-wrap:wrap;padding:23px 0;font-size:10px}.modal{width:95vw;max-height:94vh;padding:20px}.modal-head h2{font-size:20px}.field-grid{gap:15px}.item-row{grid-template-columns:1fr 65px 95px 32px;gap:7px}.item-row label{font-size:12px}.item-row input{padding:9px}.booking-total{gap:10px;padding:16px}.booking-total strong{font-size:18px}.booking-total>span{font-size:11px}.form-actions>small{max-width:45%;font-size:11px}.form-actions{gap:12px}.details{grid-template-columns:105px 1fr;font-size:13px}.user-row{flex-wrap:wrap}.range-setting>button{margin:0}.kiosk>header{padding:16px 20px}.kiosk>header .button{padding:8px;font-size:12px}.kiosk>header .brand b{font-size:12px}.kiosk>header .brand small{font-size:8px}.kiosk-layout{display:block}.kiosk-aside{padding:30px 24px}.kiosk-aside h1{letter-spacing:-1.5px;margin:5px 0 15px;font-size:40px}.kiosk-aside h1 br{display:none}.kiosk-aside>p{max-width:none;margin:0;font-size:14px}.kiosk-aside ol,.kiosk-note{display:none}.kiosk-form{padding:28px 23px 38px}.kiosk-form h2{font-size:26px}.login-page{padding:25px 20px}.login-brand>span{display:none}.login-card{margin-top:55px;padding:32px 27px}.login-card h1{font-size:38px}.signature-wrap canvas{height:140px}.success{padding:40px 0}.mini-metrics strong{font-size:20px}}@media (width<=430px){.field-grid{grid-template-columns:1fr}.metrics .metric>strong{font-size:22px}.item-row{grid-template-columns:1fr 60px}.item-row label:first-child{grid-column:1/-1}.kiosk-form .form-actions{align-items:flex-start}.date-filter input{width:120px}.brand{gap:8px}.brand-mark{width:37px;height:37px}.kiosk>header .brand small{font-size:7px}.badge{font-size:10px}.booking-total{flex-wrap:wrap}}@media print{body{background:#fff}.admin-shell>.sidebar,.workspace,.modal-head,.editor-tabs,.modal .section-line,.modal .payment-form,.modal>.error{display:none!important}.modal{max-height:none;box-shadow:none;padding:0;position:absolute;inset:0;overflow:visible;width:100%!important}.modal::backdrop{display:none}.receipt{border:0}.modal:has(.receipt){display:block}.receipt .badge{border:1px solid #ccc}.modal table{font-size:12px}.modal td{padding:9px}.modal .receipt~.table-scroll{margin:20px}}.mobile-logout{display:none}@media (width<=760px){.mobile-logout{background:0 0;border:0;padding:5px;display:inline-flex}}.calendar-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.calendar-toolbar>div:last-child{gap:9px;display:flex}.calendar-live{flex-wrap:wrap;align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.calendar-live small{color:var(--muted);width:100%;padding-left:16px;font-size:12px;font-weight:400}.calendar-workspace{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:24px;display:grid}.calendar-month{padding:21px}.month-controls{justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px;display:flex}.month-controls strong{font-size:15px}.month-controls button{padding:3px 11px;font-size:23px;font-weight:400}.month-weekdays,.month-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.month-weekdays{color:var(--muted);margin-bottom:8px;font-size:12px}.month-days button{background:#edf2e9;border:0;border-radius:5px;min-height:32px;padding:6px 2px;font-size:13px;font-weight:500;position:relative}.month-days button.selected{background:var(--forest);color:#fff}.month-days button>i{background:#c18a55;border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:calc(50% - 2px)}.calendar-jump{margin:24px 0;font-size:13px}.calendar-jump input{font-size:14px}.calendar-day-total{border-top:1px solid var(--line);align-items:center;gap:13px;margin-top:20px;padding-top:20px;display:flex}.calendar-day-total strong{font-size:32px;font-weight:600}.calendar-day-total span{color:var(--muted);font-size:12px}.calendar-legend{gap:15px;margin-top:20px;font-size:12px;display:flex}.calendar-legend span{align-items:center;gap:7px;display:flex}.calendar-legend i{background:#e1ebd8;border-radius:2px;width:8px;height:8px;display:block}.calendar-legend span:nth-child(2) i{background:#a2b994}.calendar-schedule{padding:24px}.calendar-schedule .panel-heading h2{font-size:21px}.calendar-schedule .panel-heading>small{color:var(--muted);white-space:nowrap;font-size:12px}.schedule-scroll{margin-top:24px;overflow-x:auto}.schedule-grid{gap:7px;display:grid}.schedule-corner{color:var(--muted);grid-area:1/1;align-self:center;font-size:11px}.schedule-range{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.schedule-range strong{font-size:23px;font-weight:600}.schedule-range small{color:var(--muted);font-size:11px}.schedule-hour{color:var(--muted);padding-top:8px;font-size:12px}.schedule-free{color:#789164;background:#f3f6ed;border:1px dashed #d5dfc9;border-radius:7px;justify-content:center;align-items:center;font-size:12px;font-weight:500}.schedule-free:hover{background:#e5eedb;border-style:solid}.schedule-free:disabled{opacity:.8;background:#f6f7f3;border-color:#e5e9e1}.schedule-reservation{color:#365236;text-align:left;background:#e2ecd7;border:1px solid #b9cca3;border-left:3px solid #5c814b;border-radius:7px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:3px;padding:8px 11px;display:flex;overflow:hidden}.schedule-reservation:hover{background:#d4e4c4}.schedule-reservation.website{background:#dcebe7;border-color:#a9c5ba #a9c5ba #a9c5ba #4b7b69}.schedule-reservation.whatsapp{background:#eef0d6;border-color:#c6c99f #c6c99f #c6c99f #939750}.schedule-reservation>span{font-size:10px;font-weight:500}.schedule-reservation>strong{white-space:normal;overflow-wrap:anywhere;flex-shrink:0;max-width:100%;font-size:15px;line-height:1.25}.schedule-reservation>small{font-size:10px;font-weight:400}.reservation-fields{border:0;min-width:0;margin:0;padding:0}.reservation-record-head{align-items:center;gap:13px;margin-bottom:24px;font-size:13px;display:flex}.reservation-record-head .text-button{margin-left:auto}.reservation-estimate{background:#eaf0e3;border-radius:8px;justify-content:space-between;gap:15px;padding:19px 22px;font-size:14px;display:flex}.reservation-estimate>strong{white-space:nowrap}.cancel-reservation{background:#fff1e8;border:1px solid #e3bca6;border-radius:9px;margin-top:23px;padding:20px}.booking-reservation-info{background:#ecf3e6;border:1px solid #c6d7bc;border-radius:9px;margin-bottom:22px;padding:18px}.booking-reservation-info strong{font-size:15px}.booking-reservation-info p{margin:10px 0;font-size:14px;line-height:1.6}.booking-reservation-info small{color:var(--muted);font-size:12px}.booking-reference-input{border:1px solid var(--line);color:var(--muted);border-radius:8px;margin:20px 0;padding:11px 15px;font-size:13px}.booking-reference-input label{margin:12px 0}.booking-reference-input small{line-height:1.5;display:block}@media (width<=1150px){.calendar-workspace{grid-template-columns:230px minmax(0,1fr);gap:17px}.calendar-month{padding:16px}.calendar-schedule{padding:20px}.calendar-toolbar{align-items:flex-start}.calendar-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end}}@media (width<=900px){.calendar-workspace{grid-template-columns:1fr}.calendar-month{max-width:none}.month-days button{min-height:38px}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar>div:last-child{justify-content:flex-start}.calendar-day-total{margin-top:0}.calendar-schedule{padding:18px}.calendar-schedule .panel-heading{align-items:flex-start;gap:10px}.calendar-schedule .panel-heading h2{font-size:20px}.reservation-estimate{flex-direction:column;gap:9px}.reservation-record-head{flex-wrap:wrap}.calendar-schedule .panel-heading>small{display:none}}.full-day-option{background:#edf3e5;border-radius:8px;margin:15px 0;padding:16px}.full-day-option small{margin-top:5px;display:block}.customer-matches{border:1px solid #d4dfcc;border-radius:8px;max-height:180px;margin:8px 0 15px;display:grid;overflow:auto}.customer-matches button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e5eadf;gap:4px;padding:10px 13px;display:grid}.customer-matches button:hover{background:#edf3e5}.customer-matches small{font-size:12px}.expense-attachments{border-top:1px solid #d4dfcc;margin-top:24px;padding-top:20px}.upload-document{gap:9px;display:grid}.document-link{overflow-wrap:anywhere;border:1px solid #d4dfcc;border-radius:7px;justify-content:space-between;gap:20px;margin-top:9px;padding:13px;display:flex}.document-link small{white-space:nowrap}.payment-summary{background:#edf3e5;border-radius:10px;gap:12px;margin:24px 0;padding:23px;display:grid}.payment-summary>span{justify-content:space-between;gap:15px;display:flex}.payment-choice{flex-wrap:wrap;gap:12px;display:flex}.bank-details{border:1px solid #d4dfcc;border-radius:10px;margin-top:22px;padding:24px}.choice-saved{background:#edf3e5;border-radius:8px;padding:16px}.booking-payment h2{font-size:31px}.bank-details dd{overflow-wrap:anywhere}.schedule-reservation.closure{color:#674725;background:#f3e5d7;border-color:#d7b89a #d7b89a #d7b89a #966b40}.closure-fields{border:0;min-width:0;margin:0;padding:0}
