:root{--bg:#f6f5f2;--panel:#fff;--ink:#1f2320;--muted:#6d746f;--line:#e2e0da;--accent:#2f7d6b;--danger:#b0413e;--gold:#c9a227;--gold-deep:#8a6d1b;--gold-ink:#2e2408;--gold-ink-soft:#45360e}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}body{color:var(--ink);background:var(--bg);margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.offline-banner{z-index:1000;top:env(safe-area-inset-top);color:#fff;text-align:center;background:#2e2408;border-radius:0 0 10px 10px;width:min(92vw,620px);padding:9px 14px;font-size:13px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 3px 12px #141a1738}.shell{flex-direction:column;min-height:100vh;display:flex}.app{flex:1;display:flex}.topbar{border-top:3px solid var(--gold);border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:14px 24px;display:grid}.logos{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.logo{object-fit:contain;border-radius:5px;width:auto;max-width:170px;height:44px;display:block}.biz{text-align:center;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-radius:8px;padding:4px 10px 6px;font-size:20px;font-weight:700;text-decoration:none}.biz:after{content:"";background:var(--gold);border-radius:999px;width:58px;height:3px;margin:6px auto 0;display:block}.biz:hover{background:#f2f1ee}.biz:active{background:#eae8e2}.topbar-spacer{min-width:0}.sidebar{color:#e8ece9;background:#212b27;flex-direction:column;flex:0 0 220px;gap:24px;width:220px;padding:20px 16px;display:flex}.brand{letter-spacing:-.2px;font-size:17px;font-weight:700;line-height:1.25}.brand small{color:#9aa5a0;letter-spacing:0;font-size:12px;font-weight:400;display:block}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar nav a{color:#b9c2bd;border-radius:7px;padding:8px 10px;font-weight:500;text-decoration:none}.sidebar nav a:hover{color:#fff;background:#2d3833}.sidebar nav a.active{background:var(--accent);color:#fff}.badge{background:var(--danger);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.sidebar nav a.nav-chat{align-items:center;gap:8px;display:flex}.sidebar nav a.nav-chat .badge{margin-left:auto}.sidebar nav a.nav-enquiries{align-items:center;gap:8px;display:flex}.sidebar nav a.nav-enquiries .badge{margin-left:auto}.alert-link{color:var(--ink);background:#fdf4e3;border:1px solid #ecd9a8;border-radius:10px;align-items:center;gap:10px;margin-bottom:18px;padding:11px 14px;font-size:14px;text-decoration:none;display:flex}.alert-link:hover{background:#fbeed2}.alert-link .go{color:var(--accent);white-space:nowrap;margin-left:auto;font-weight:600}.enquiry-alert{background:#eaf4f0;border-color:#bcdcd1}.enquiry-alert:hover{background:#e0eee9}.dashboard-enquiry-entry{min-height:76px;color:var(--ink);background:#fff;border:1px solid #d6dfda;border-radius:16px;align-items:center;gap:13px;margin-bottom:18px;padding:13px 15px;text-decoration:none;display:flex;box-shadow:0 3px 16px #17211d0d}.dashboard-enquiry-entry:hover{background:#fbfdfc;border-color:#b6d2c8}.dashboard-enquiry-entry:active{transform:scale(.99)}.dashboard-enquiry-entry.has-new{background:#f5fbf8;border-color:#bcdcd1}.dashboard-enquiry-icon{width:46px;height:46px;color:var(--accent);background:#e8f3ef;border-radius:14px;flex:0 0 46px;place-items:center;display:grid}.dashboard-enquiry-entry.has-new .dashboard-enquiry-icon{background:var(--accent);color:#fff}.dashboard-enquiry-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dashboard-enquiry-copy strong{font-size:16px;line-height:1.3}.dashboard-enquiry-copy span{color:var(--muted);font-size:12px;line-height:1.4}.dashboard-enquiry-chevron{color:#8d9892;font-size:28px;font-weight:300;line-height:1}.card-link{color:inherit;text-decoration:none}.card-link:hover{color:inherit}.enquiry-toolbar{grid-template-columns:minmax(240px,1fr) minmax(170px,220px);gap:10px;margin-bottom:14px;display:grid}.enquiry-toolbar input,.enquiry-toolbar select{width:100%}.enquiry-list{gap:12px;display:grid}.enquiry-card{border-left:4px solid var(--line-strong);margin:0}.enquiry-card.enquiry-new{border-left-color:var(--gold)}.enquiry-card.enquiry-contacted{border-left-color:var(--accent)}.enquiry-card.enquiry-converted{border-left-color:#4f7f67}.enquiry-card.enquiry-closed{opacity:.78}.enquiry-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.enquiry-heading h2{margin:9px 0 2px;font-size:20px}.enquiry-tags{flex-wrap:wrap;gap:6px;display:flex}.enquiry-state{color:#fff;background:var(--muted);border-radius:999px;align-items:center;min-height:24px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.enquiry-state.state-new{background:var(--gold-deep)}.enquiry-state.state-contacted{background:var(--accent)}.enquiry-state.state-converted{background:#4f7f67}.enquiry-status-select{width:auto;min-width:160px}.enquiry-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.enquiry-details div{background:#f5f7f5;border-radius:11px;min-width:0;padding:10px 12px}.enquiry-details span,.enquiry-details strong{display:block}.enquiry-details span{color:var(--muted);margin-bottom:3px;font-size:11px}.enquiry-details strong{overflow-wrap:anywhere;font-size:13px}.enquiry-message{border-left:3px solid var(--line-strong);white-space:pre-wrap;margin:14px 0 0;padding:2px 0 2px 12px;line-height:1.55}.enquiry-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.enquiry-actions .btn-link,.enquiry-actions button{width:auto}.btn-link.ghost{border-color:var(--line-strong);color:var(--ink);background:#fff}.sidebar nav a.nav-gold{color:#f2e6c9;background:#2d3833;border:1px solid #4a5a4f;align-items:center;gap:8px;margin:4px 0;display:flex}.sidebar nav a.nav-gold:hover{color:#fff;background:#38453f}.sidebar nav a.nav-gold.active{color:#fff;background:#7a5c1e;border-color:#7a5c1e}.dot-gold{background:#d7b45a;border-radius:50%;flex:0 0 8px;width:8px;height:8px}.whoami{margin-top:auto;font-size:13px}.whoami label{color:#9aa5a0;margin-bottom:6px;display:block}.whoami select{color:#fff;background:#2d3833;border:1px solid #3a453f;border-radius:7px;width:100%;padding:7px}.hint{color:#8b958f;margin:10px 0 0;font-size:12px}.login-shell{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:100%;max-width:380px;padding:28px 24px}.login-logo{object-fit:contain;width:auto;max-width:190px;height:52px;margin:0 0 18px;display:block}.login-card h1{margin:0 0 4px;font-size:21px}.login-card>p.muted{margin:0 0 20px;font-size:14px}.login-card label{margin-bottom:14px;display:block}.login-card label input{margin-top:4px}.login-card button.full{width:100%;margin-top:4px;padding:11px}.login-note{color:var(--muted);text-align:center;margin:16px 0 0;font-size:12px}.pw-field{margin-bottom:14px;display:block;position:relative}.pw-field input{padding-right:64px}.pw-toggle{padding:5px 9px;font-size:12px;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.account{align-items:center;gap:9px;display:flex}.account label{margin-bottom:1px}.account strong{color:#fff;font-size:14px;line-height:1.25;display:block}.account-who{min-width:0}.account-who strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-who small{color:#9aa5a0;font-size:11px;line-height:1.25;display:block}button.signout{color:#b9c2bd;background:0 0;border-color:#3a453f;border-radius:999px;flex:none;align-items:center;gap:6px;margin-left:auto;padding:6px 11px;font-size:12px;display:inline-flex}button.signout svg{display:block}button.signout:hover{color:#fff;background:#2d3833;border-color:#55635b}button.signout:active{background:#38453f}.content{flex:1;max-width:1100px;padding:28px 32px}.page-head h1{margin:0 0 4px;font-size:24px}.page-head p{color:var(--muted);margin:0 0 22px}.page-head.row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.btn-link{white-space:nowrap;font:inherit;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:8px;padding:9px 14px;font-weight:600;text-decoration:none;display:inline-block}.btn-link:hover{filter:brightness(1.07)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:18px;padding:18px}.panel h2{margin:0 0 14px;font-size:16px}.scroll-x{overflow-x:auto}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-grid .panel{margin-bottom:0}.settings-card{min-width:0}.profile-summary{align-items:center;gap:12px;display:flex}.profile-summary strong,.profile-summary span{display:block}.profile-summary span{color:var(--muted);font-size:13px}.settings-note{margin:12px 0 0;font-size:13px}.setting-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.setting-row strong,.setting-row span{display:block}.setting-row>div>span{color:var(--muted);margin-top:2px;font-size:13px}.settings-copy{margin:0 0 12px}.settings-links{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.settings-links a{color:var(--accent);font-weight:600}.settings-links span{color:var(--muted);font-size:13px}.activity-link{color:var(--accent);margin-top:14px;font-weight:600;display:inline-block}.danger-zone{border-color:#e3b8b6;margin-top:18px}.danger-zone h2{color:var(--danger)}.danger-zone>p{max-width:760px}.delete-account-form{max-width:560px;margin-top:16px}.delete-account-form label{margin-bottom:12px}button.danger-button{background:var(--danger);border-color:var(--danger)}button.danger-button:hover{filter:brightness(.92)}.public-page{background:var(--bg);min-height:100vh;padding:40px 20px}.public-card{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:14px;width:min(100%,720px);margin:0 auto;padding:32px}.public-card h1{margin:0 0 6px;font-size:28px}.public-card h2{margin:24px 0 6px;font-size:17px}.public-card p{margin:0 0 12px}.public-card a:not(.btn-link){color:var(--accent)}.eyebrow{color:var(--gold-deep);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.deletion-steps{padding-left:22px}.deletion-steps li{margin-bottom:8px}.public-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;display:flex}.activity-filters{grid-template-columns:minmax(220px,1fr) 180px 180px;gap:10px;display:grid}.activity-list{gap:10px;display:grid}.activity-entry{grid-template-columns:12px minmax(0,1fr);gap:12px;margin-bottom:0;padding:15px 18px;display:grid}.activity-dot{background:var(--accent);border-radius:50%;width:10px;height:10px;margin-top:6px;box-shadow:0 0 0 4px #e4f0ec}.activity-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.activity-heading time{color:var(--muted);white-space:nowrap;font-size:12px}.activity-main>p{margin:3px 0 8px}.activity-tags{flex-wrap:wrap;gap:6px;display:flex}.activity-details{margin-top:10px;font-size:13px}.activity-details summary{cursor:pointer;color:var(--accent);font-weight:600}.activity-details>div{margin-top:10px}.activity-details pre{max-height:260px;color:var(--ink);white-space:pre-wrap;word-break:break-word;background:#f2f1ee;border-radius:8px;margin:5px 0 0;padding:10px;font-size:11px;overflow:auto}.load-older{margin:16px auto 0;display:block}.cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px;display:grid}.card{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:16px;font-size:13px}.card .num{color:var(--ink);font-size:26px;font-weight:700;display:block}label{color:var(--muted);margin-bottom:4px;font-size:13px;display:block}input,select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:8px;padding:9px 10px}input:focus,select:focus{border-color:var(--accent);outline:2px solid #cfe3dd}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:14px;display:grid}.form-actions{align-items:center;gap:8px;display:flex}button{font:inherit;cursor:pointer;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:8px;padding:9px 14px;font-weight:600}button:hover{filter:brightness(1.07)}button.ghost{color:var(--ink);border-color:var(--line);background:#fff;font-weight:500}button.ghost:hover{background:#f2f1ee}button.danger{color:var(--danger)}.error{color:var(--danger);font-size:13px}button:disabled{opacity:.55;cursor:not-allowed}.check{color:var(--ink);align-items:center;gap:8px;margin-bottom:0;font-size:14px;display:flex}.check input{width:auto}.status{border:1px solid var(--line);background:#fff;border-radius:9px;margin:-6px 0 18px;padding:10px 13px;font-size:14px}.status.ok{background:#eaf4f0;border-color:#bcdcd1}.status.warn{background:#fdf4e3;border-color:#ecd9a8}.status.error{color:#8a2f2c;background:#fbeceb;border-color:#eac4c2}.status.busy{background:#eef1f6;border-color:#ccd5e3}.status code{background:#00000010;border-radius:4px;padding:1px 5px;font-size:13px}.status-inline.warn{color:var(--danger);font-size:12px;font-weight:600}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:9px 10px}thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px}.muted{color:var(--muted)}.empty{color:var(--muted);text-align:center;padding:16px}.row-actions{gap:6px;display:flex}.row-actions button{padding:5px 9px;font-size:13px}.avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:inline-flex}.avatar.sm{flex:0 0 26px;width:26px;height:26px;font-size:12px}.dot{border-radius:50%;width:9px;height:9px;display:inline-block}.today-list{margin:0;padding:0;list-style:none}.today-list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;display:flex}.today-list .time{font-variant-numeric:tabular-nums;margin-left:auto}.tag{color:#2c5c51;background:#f0f6f4;border:1px solid #cfe3dd;border-radius:999px;padding:2px 8px;font-size:12px}.team-tag{white-space:nowrap}.toolbar{align-items:center;gap:12px;padding:12px 16px;display:flex}.toolbar .spacer{flex:1}table.roster th.who{align-items:center;gap:8px;min-width:160px;font-weight:600;display:flex}table.roster th.who small{color:var(--muted);font-weight:400;display:block}button.mail{border-radius:6px;flex:none;margin-left:auto;padding:4px 8px;font-size:14px;line-height:1}table.roster td.cell{vertical-align:top;cursor:pointer;min-width:96px;height:54px}table.roster td.cell:hover{background:#f7faf9}.shift{text-align:left;width:100%;color:var(--ink);border:1px solid var(--accent);background:#f0f6f4;border-left-width:4px;border-radius:6px;margin-bottom:4px;padding:4px 6px;font-size:12px;font-weight:600;display:block}.shift .where{color:var(--muted);margin-top:1px;font-size:11px;font-weight:500;display:block}td.hours{font-variant-numeric:tabular-nums;font-weight:600}.toolbar.wrap{flex-wrap:wrap}.toolbar.tight{gap:10px;padding:0 0 12px}.toolbar.tight h2{margin:0}.month-title{text-align:center;white-space:nowrap;min-width:150px}.calendar-view-switch{border:1px solid var(--line);background:#eef1ef;border-radius:11px;flex:none;gap:2px;padding:3px;display:flex}.calendar-view-switch button{min-height:34px;box-shadow:none;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:650}.calendar-view-switch button:hover{filter:none;background:#ffffffa6}.calendar-view-switch button.active{color:var(--accent-deep);background:#fff;box-shadow:0 1px 4px #17211d21}.calendar-view-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}select.inline,input.search{width:auto;padding:7px 9px;font-size:14px}input.search{min-width:240px}.booking-layout{grid-template-columns:1fr 320px;align-items:start;gap:18px;display:grid}.cal-head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;font-size:11px;display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-day{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:9px;flex-direction:column;align-items:flex-start;min-height:64px;padding:6px;font-weight:500;display:flex}.cal-day:hover{filter:none;background:#f7faf9}.cal-day .n{font-variant-numeric:tabular-nums;font-size:13px}.cal-date-row{align-items:center;gap:5px;min-width:0;display:flex}.cal-month-marker{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:750;line-height:1}.cal-weekday-marker{display:none}.cal-day.out{color:#b6bbb8;background:#fbfbfa}.cal-day.today{border-color:var(--accent)}.cal-day.today .n{color:var(--accent);font-weight:700}.cal-day.selected{border-color:var(--accent);outline:2px solid #cfe3dd}.cal-day.booked{background:#f0f6f4}.cal-day.has-enquiry:not(.booked){background:#fdf8e8}.calendar-panel-week .cal-day{min-height:126px}.calendar-panel-fortnight .cal-day{min-height:96px}.cal-day .pips{flex-wrap:wrap;align-items:center;gap:3px;margin-top:auto;display:flex}.cal-day .pips i{border-radius:50%;width:7px;height:7px;display:block}.cal-day .pips em{color:var(--muted);font-size:10px;font-style:normal}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend i{border-radius:50%;width:8px;height:8px;display:block}.legend i.legend-enquiry{background:var(--gold)}.day-panel{position:sticky;top:18px}.day-bookings{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.day-bookings li{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:9px;padding:10px 12px}.day-bookings li.website-enquiry{border-left-color:var(--gold);background:#fffdf7}.day-enquiries{margin-bottom:14px}.website-pill{background:var(--gold-deep)}.unscheduled-bookings{background:#fffdf8;border-color:#e8d8a7}.unscheduled-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.unscheduled-heading h2{margin:2px 0 0}.unscheduled-bookings .day-bookings{margin-bottom:0}.day-bookings .line{align-items:center;gap:8px;display:flex}.day-bookings .notes{color:var(--muted);margin:6px 0 8px;font-size:13px}.small{font-size:12px}.nums{font-variant-numeric:tabular-nums}button.full{width:100%}.pill{color:#fff;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.presets{flex-wrap:wrap;gap:6px;margin:10px 0 14px;display:flex}button.tiny{padding:5px 9px;font-size:12px;font-weight:500}.modal.wide{width:min(620px,100%);max-height:88vh;overflow-y:auto}.modal.wide .form-grid{margin-bottom:12px}.modal.wide .status{margin:8px 0 14px}.modal.wide label.stack{margin-top:12px}.note-cell{max-width:220px;color:var(--muted);font-size:13px}.req{color:var(--danger);font-weight:700}.field-note{color:var(--muted);margin:5px 0 0;font-size:12px}.add-staff{white-space:nowrap;flex:none}.pw-row{margin-top:14px}code.uname{border:1px solid var(--line);background:#f2f1ee;border-radius:5px;padding:2px 6px;font-size:12px}.modal-backdrop{background:#141a1773;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:320px;padding:20px}.modal h3{margin:0 0 4px}.times{gap:12px;margin:14px 0 8px;display:flex}.times label{flex:1}.chat{align-items:stretch;gap:16px;height:560px;display:flex}.channels{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;flex:0 0 200px;gap:4px;width:200px;padding:14px;display:flex}.channels h3{text-transform:uppercase;color:var(--muted);letter-spacing:.04em;margin:0 0 8px;font-size:12px}.chan{color:var(--ink);text-align:left;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;padding:7px 9px;font-weight:500;display:flex}.chan:hover{background:#f2f1ee}.chan.active{background:var(--accent);color:#fff}.chan .count{opacity:.7;font-size:11px}.chan-name.unread{font-weight:700}.new-chan{gap:6px;margin-top:auto;display:flex}.new-chan button{padding:8px 11px}.thread{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;flex:1;display:flex;overflow:hidden}.messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.msg{align-items:flex-start;gap:9px;max-width:78%;display:flex}.msg.mine{flex-direction:row-reverse;align-self:flex-end}.bubble{background:#f4f3f0;border-radius:12px;padding:8px 12px}.msg.mine .bubble{background:#e4f0ec}.bubble .meta{align-items:baseline;gap:8px;margin-bottom:2px;font-size:12px;display:flex}.bubble p{white-space:pre-wrap;word-break:break-word;margin:0}.composer{border-top:1px solid var(--line);gap:8px;padding:12px;display:flex}@media (width<=900px){.content{max-width:none;padding:20px}.booking-layout{grid-template-columns:1fr}.day-panel{position:static}.chat{flex-direction:column;height:auto}.channels{flex-flow:wrap;flex:none;width:100%}.messages{height:380px}}.tabbar,.fab{display:none}@media (width<=760px){.app{flex-direction:column}.topbar{padding:9px 14px;padding-top:calc(9px + env(safe-area-inset-top));grid-template-columns:1fr;justify-items:center;gap:6px}.logos{order:2;justify-content:center;gap:12px}.biz{letter-spacing:.05em;order:1;padding-bottom:4px;font-size:14px}.biz:after{width:44px;height:2px;margin-top:4px}.topbar-spacer{display:none}.logo{border-radius:4px;max-width:74px;height:24px}.tabbar{z-index:40;background:var(--gold);border-top:1px solid var(--gold-deep);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar.tabbar-manager{grid-template-columns:repeat(5,minmax(0,1fr))}.tabbar a{color:var(--gold-ink);letter-spacing:.01em;flex-direction:column;align-items:center;gap:3px;min-height:50px;padding:8px 4px 6px;font-size:11px;font-weight:700;text-decoration:none;display:flex;position:relative}.tabbar a.active:before{content:"";background:var(--gold-ink);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:18%;right:18%}.tabbar a:active{background:#2e24081f}.tab-icon-wrap{line-height:0;display:block;position:relative}.tab-badge{min-width:17px;height:17px;box-shadow:0 0 0 2px var(--gold);padding:0 4px;font-size:10px;position:absolute;top:-5px;left:11px}.sidebar{flex-direction:row;flex:none;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px}.sidebar nav,.sidebar .brand,.whoami .hint{display:none}.whoami{width:100%;margin-top:0}.account{gap:8px}.account .avatar.sm{flex-basis:24px;width:24px;height:24px;font-size:11px}.account label{display:none}.account strong{font-size:13px;font-weight:600}.account-who small{font-size:10px}button.signout{padding:5px 10px;font-size:12px}button.signout svg{width:14px;height:14px}.content{padding:16px 14px calc(74px + env(safe-area-inset-bottom))}.page-head h1{font-size:20px}.page-head p{margin-bottom:16px;font-size:14px}.page-head.row{gap:10px}.btn-link,.add-staff{text-align:center;width:100%;padding:12px}.panel{border-radius:10px;padding:14px}.settings-grid{grid-template-columns:1fr;gap:10px}.setting-row{align-items:flex-start}.activity-filters{grid-template-columns:1fr}.activity-entry{padding:14px}.activity-heading{flex-direction:column;align-items:flex-start;gap:1px}.public-page{padding:16px;padding-top:calc(16px + env(safe-area-inset-top))}.public-card{padding:22px 18px}.public-card h1{font-size:23px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card{padding:13px}.card .num{font-size:20px}.alert-link{flex-wrap:wrap;padding:12px;font-size:13px}.alert-link .go{flex-basis:100%;margin-left:0}.toolbar{flex-wrap:wrap;gap:8px}.toolbar .spacer{display:none}.month-title{text-align:center;white-space:nowrap;flex:1 0 100%;order:-1;padding:2px 0 4px;font-size:18px}select.inline{flex:140px;width:auto;min-width:0}input.search{width:100%;min-width:0}.toolbar.tight{flex-direction:column;align-items:stretch}.toolbar>button{flex:auto;padding:10px 12px}.toolbar>button:last-child{display:none}.cal-head{gap:4px;font-size:10px}.cal-grid{gap:4px}.cal-day{aspect-ratio:1;border-radius:8px;min-height:0;padding:4px}.cal-day .n{font-size:13px}.cal-day .pips{gap:2px}.cal-day .pips i{width:5px;height:5px}.cal-day .pips em{font-size:9px}.cal-day:active{background:#e8f1ee}.legend{gap:8px 10px;font-size:11px}.day-bookings .line{flex-wrap:wrap}.row-actions button{padding:9px 13px}.fab{z-index:45;right:14px;bottom:calc(66px + env(safe-area-inset-bottom));border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:13px 18px;font-size:15px;display:flex;position:fixed;box-shadow:0 3px 12px #141a1747}.fab:active{transform:scale(.97)}.scroll-x{overflow:visible}.scroll-x table,.scroll-x thead,.scroll-x tbody,.scroll-x tr,.scroll-x td{width:auto;min-width:0;display:block}.scroll-x thead{display:none}.scroll-x tr{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:10px;padding:12px}.scroll-x td{border:0;align-items:baseline;gap:10px;padding:3px 0;display:flex}.scroll-x td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex:0 0 78px;font-size:11px}.scroll-x td:empty{display:none}.scroll-x td.row-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:10px}.scroll-x td.row-actions:before{display:none}.scroll-x td.row-actions button{flex:auto}.scroll-x td.empty{display:block}.scroll-x td.empty:before,.scroll-x td.avatar-cell{display:none}.note-cell{max-width:none}.modal-backdrop{place-items:end center;padding:0}.modal,.modal.wide{width:100%;max-width:none;max-height:92vh;padding:20px 16px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;overflow-y:auto}.modal:before{content:"";background:var(--line);border-radius:999px;width:38px;height:4px;margin:-8px auto 14px;display:block}.modal .form-grid,.modal.wide .form-grid{grid-template-columns:1fr;gap:10px}.modal .times{flex-direction:column;gap:10px}.form-actions{flex-wrap:wrap;gap:8px}.form-actions button{flex:100%;padding:13px}.presets{gap:8px}.presets button{flex:auto;padding:9px 10px}.chat{gap:10px}.channels{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:10px;flex-flow:row;gap:6px;padding:8px 10px;overflow-x:auto}.channels::-webkit-scrollbar{display:none}.channels h3{display:none}.chan{white-space:nowrap;background:#f2f1ee;border-radius:999px;flex:none;padding:8px 12px}.chan.active{background:var(--accent)}.new-chan{flex:none;width:150px;margin-top:0}.new-chan input{padding:7px 9px}.thread{height:calc(100vh - 340px);min-height:320px}.messages{flex:1;height:auto;padding:12px}.msg{max-width:88%}.composer{gap:8px;padding:10px}.composer input{min-width:0}.composer button{flex:none;padding:11px 16px}.login-shell{align-content:start;padding:7vh 16px 16px}.login-card{padding:24px 18px}.login-card button.full{padding:13px}}@media (width<=760px) and (pointer:coarse){input,select,textarea,button{font-size:16px}button.tiny,.row-actions button,.tabbar a{font-size:14px}.tabbar a{font-size:11.5px;font-weight:700}button.signout{font-size:12px}*{-webkit-tap-highlight-color:transparent}a,button,.cal-day,.chan{touch-action:manipulation}button:active,.btn-link:active,.alert-link:active{filter:brightness(.95)}}:root{--bg:#f4f6f4;--panel:#fff;--ink:#17211d;--muted:#66736d;--line:#e3e8e5;--line-strong:#d5ddd8;--accent:#266b5c;--accent-deep:#1d5146;--accent-soft:#eaf3f0;--danger:#b23d3a;--gold:#c6a43b;--gold-deep:#806719;--gold-soft:#f8f2dc;--shadow-sm:0 1px 2px #17211d0a, 0 5px 18px #17211d09;--shadow-md:0 14px 40px #17211d1f;--radius-sm:10px;--radius-md:16px;--radius-lg:22px}html{background:var(--bg);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;min-height:100%}body{-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button,input,select,textarea{font:inherit}input,select,textarea{border-color:var(--line-strong);border-radius:var(--radius-sm);min-height:44px;color:var(--ink);padding:10px 12px;transition:border-color .14s,box-shadow .14s,background .14s}textarea{resize:vertical;background:#fff;width:100%;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #266b5c24}button,.btn-link{border-radius:var(--radius-sm);min-height:40px;transition:transform .1s,filter .12s,background .12s,border-color .12s}button:active,.btn-link:active{transform:translateY(1px)}button.ghost{border-color:var(--line-strong)}.mobile-title{display:none}.topbar{border-top-width:2px;min-height:72px;box-shadow:0 1px #17211d05}.sidebar{background:#1d2924;flex-basis:232px;width:232px;padding:22px 16px}.sidebar nav a{align-items:center;min-height:40px;padding:9px 11px;display:flex}.sidebar nav a.active{background:#2d7565}.content{width:100%;max-width:1180px;padding:30px 34px 42px}.page-head{margin-bottom:20px}.page-head h1{color:#121a17;letter-spacing:-.025em;margin-bottom:5px;font-size:clamp(24px,2vw,30px);line-height:1.2}.page-head p{max-width:720px;margin:0}.panel,.card{border-color:var(--line);box-shadow:var(--shadow-sm)}.panel{border-radius:var(--radius-md);padding:20px}.panel h2{color:#1b2722;letter-spacing:-.012em;font-size:17px}.cards{gap:12px}.card{border-radius:var(--radius-md);flex-direction:column;justify-content:center;min-height:94px;padding:16px 17px;display:flex}.card .num{letter-spacing:-.035em;margin-bottom:2px;font-size:28px;line-height:1}.status{border-radius:12px;padding:11px 13px}.avatar{box-shadow:inset 0 0 0 1px #ffffff42}.tag{background:var(--accent-soft);padding:3px 9px}.pill:not([style]){background:var(--accent)}.cal-events{flex-direction:column;gap:3px;width:100%;min-width:0;margin-top:5px;display:flex}.cal-event{text-overflow:ellipsis;white-space:nowrap;border-left:3px solid;border-radius:4px;width:100%;min-width:0;padding:2px 4px;font-size:10px;line-height:1.25;display:block;overflow:hidden}.cal-event.cal-enquiry{border-left-color:var(--gold);background:var(--gold-soft);color:var(--gold-deep)}.cal-more{color:var(--muted);font-size:10px;font-style:normal}.cal-day{border-radius:11px;min-height:76px}.cal-day.selected{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #266b5c21}.day-bookings li{border-radius:12px;padding:12px 13px}.day-bookings .row-actions{margin-top:10px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);background:#0c141085}.modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid #ffffffb3}.modal h3{letter-spacing:-.02em;margin-bottom:14px;font-size:21px}.bubble{border:1px solid #ecefeb}.msg.mine .bubble{border-color:#cfe1da}.thread,.channels{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.settings-signout{margin-top:16px}.login-shell{background:radial-gradient(circle at 10% 0,#c6a43b29,#0000 34%),linear-gradient(#fafaf8 0%,#f2f5f3 100%);min-height:100dvh}.login-card{border:1px solid #d5ddd8e6;border-radius:24px;max-width:410px;padding:34px 32px;box-shadow:0 24px 70px #17211d1c}.login-logo{margin-bottom:22px}.login-eyebrow{color:var(--gold-deep);letter-spacing:.11em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.login-card h1{letter-spacing:-.035em;font-size:29px;line-height:1.15}.login-card>p.muted{margin-top:6px;margin-bottom:24px}.login-card button.full{min-height:46px}.login-card button.full+button.full{margin-top:9px}@media (hover:hover){.panel,.card{transition:border-color .14s,box-shadow .14s}.card:hover{border-color:var(--line-strong);box-shadow:0 8px 24px #17211d12}}@media (width<=900px){.content{padding:24px 20px 36px}.panel{padding:17px}}@media (width<=760px){body{background:#f5f7f5}.shell{min-height:100dvh}.topbar{z-index:35;min-height:60px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;-webkit-backdrop-filter:blur(18px);background:#ffffffed;border:0;border-bottom:1px solid #d5ddd8d1;display:block;position:sticky;top:0;box-shadow:0 4px 18px #17211d0b}.topbar .logos,.topbar .biz,.topbar-spacer{display:none}.mobile-title{width:fit-content;color:var(--ink);flex-direction:column;text-decoration:none;display:flex}.mobile-title strong{letter-spacing:-.025em;font-size:18px;line-height:1.15}.mobile-title span{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.2}.sidebar{display:none}.app{display:block}.content{padding:20px 15px calc(94px + env(safe-area-inset-bottom));overflow-x:hidden}.page-head{margin-bottom:18px}.page-head h1{font-size:26px}.page-head p{font-size:13px;line-height:1.45}.page-head.row{display:block}.page-head.row .btn-link,.page-head.row .add-staff{margin-top:14px}.panel{border-radius:17px;margin-bottom:14px;padding:16px;box-shadow:0 2px 14px #17211d0b}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.card{border-radius:15px;min-height:86px;padding:14px;font-size:12px}.card .num{font-size:25px}.tabbar,.tabbar.tabbar-manager{z-index:60;width:100%;min-height:calc(58px + env(safe-area-inset-bottom));padding:4px 6px max(4px, env(safe-area-inset-bottom));-webkit-backdrop-filter:saturate(160%)blur(22px);background:#fafbfaf0;border:0;border-top:1px solid #cad3cee6;border-radius:0;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 26px #17211d14}.tabbar.tabbar-manager{grid-template-columns:repeat(5,minmax(0,1fr))}.tabbar a{color:#748079;border-radius:10px;justify-content:center;gap:1px;min-height:52px;padding:5px 2px 3px;font-size:10px;font-weight:650;transition:color .14s,transform 90ms}.tabbar a.active{color:var(--gold-deep);background:0 0}.tabbar a:active{background:#c6a43b14;transform:scale(.94)}.tabbar a.active:before{display:none}.tabbar a svg{stroke-width:1.85px;width:23px;height:23px}.tabbar a.active svg{stroke-width:2.25px}.tab-badge{box-shadow:0 0 0 2px #fff}.toolbar{border-radius:17px;gap:8px}.toolbar.wrap{padding:13px}.toolbar.wrap>button{min-height:42px}.month-title{letter-spacing:-.025em;margin-bottom:2px;font-size:19px}select.inline,input.search{min-height:42px}.booking-layout{gap:14px}.booking-layout>.panel:first-child{padding:12px}.cal-head{gap:3px;margin-bottom:4px;font-size:9px}.cal-grid{gap:3px}.cal-day{aspect-ratio:1;background:0 0;border-color:#0000;border-radius:12px;justify-content:flex-start;min-height:44px;padding:5px;position:relative}.cal-day:hover{background:0 0}.cal-day .n{font-size:13px;line-height:1}.cal-day.out{opacity:.46;background:0 0}.cal-day.today{border:1px solid var(--gold)}.cal-day.booked{background:var(--accent-soft)}.cal-day.selected{border-color:var(--accent);background:var(--accent);box-shadow:none;color:#fff}.cal-day.selected .n,.cal-day.selected .cal-more{color:#fff}.cal-events{flex-direction:row;flex:1;justify-content:center;align-items:flex-end;gap:2px;margin-top:2px}.cal-event{border-radius:50%;flex:0 0 5px;width:5px;height:5px;padding:0;font-size:0;overflow:hidden;color:#0000!important;border:0!important}.cal-more{align-self:center;font-size:8px;line-height:1}.legend{gap:7px 9px;margin-top:11px;font-size:10px}.day-panel h2{font-size:18px}.day-bookings{gap:9px}.day-bookings li{border-radius:13px;padding:12px}.day-bookings .notes{line-height:1.45}.scroll-x tr{border-color:var(--line);border-radius:15px;padding:14px;box-shadow:0 2px 10px #17211d09}.scroll-x td{padding:4px 0}.scroll-x td:before{flex-basis:82px}.modal-backdrop{align-items:end}.modal,.modal.wide{padding:17px 16px calc(20px + env(safe-area-inset-bottom));border:0;border-radius:24px 24px 0 0;box-shadow:0 -12px 46px #17211d33}.modal:before{background:#cbd3ce}.modal h3{margin-bottom:15px;font-size:22px}.modal label{font-size:12px;font-weight:600}.modal input,.modal select,.modal textarea{margin-top:4px}.modal .form-actions{background:#fff;margin-top:18px;position:sticky;bottom:0}.fab{right:16px;bottom:calc(86px + env(safe-area-inset-bottom));border-radius:16px;min-height:48px;padding:12px 17px;box-shadow:0 10px 25px #266b5c47}.chat{gap:10px}.channels{box-shadow:none;background:0 0;border:0;border-radius:0;padding:2px 0 8px}.chan{border:1px solid var(--line);background:#fff;min-height:38px}.chan.active{border-color:var(--accent);background:var(--accent)}.new-chan{width:170px}.thread{border-radius:17px;height:calc(100dvh - 292px);min-height:390px}.messages{padding:14px 11px}.msg{max-width:92%}.bubble{border-radius:15px;padding:9px 11px}.msg.mine .bubble{border-bottom-right-radius:5px}.msg:not(.mine) .bubble{border-bottom-left-radius:5px}.composer{padding:9px;padding-bottom:max(9px, env(safe-area-inset-bottom));background:#fffffffa}.composer input{border-radius:14px;min-height:44px}.composer button{border-radius:14px;min-width:66px;min-height:44px}.settings-grid{gap:12px}.settings-grid .panel{padding:17px}.profile-summary{align-items:flex-start}.settings-signout{width:100%;min-height:44px}.danger-zone{margin-top:14px}.login-shell{padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));align-items:center;display:flex}.login-card{border-radius:22px;max-width:430px;margin:auto;padding:28px 21px}.login-logo{height:48px;margin-bottom:24px}.login-card h1{font-size:30px}.login-card input,.login-card button.full{min-height:48px}.pw-toggle{min-height:36px}.today-list li{flex-wrap:wrap;gap:6px 8px;padding:11px 0}.today-list .time{text-align:right;flex:1 0 auto}.alert-link{border-radius:15px}.offline-banner{top:calc(6px + env(safe-area-inset-top));box-shadow:var(--shadow-md);border-radius:12px}.enquiry-toolbar{grid-template-columns:1fr;padding:12px}.enquiry-card{padding:15px}.enquiry-heading{display:block}.enquiry-heading h2{font-size:19px}.enquiry-status-select{width:100%;margin-top:14px}.enquiry-details{grid-template-columns:1fr;gap:7px;margin-top:14px}.enquiry-details div{padding:9px 11px}.enquiry-message{font-size:14px}.enquiry-actions{grid-template-columns:1fr 1fr;display:grid}.enquiry-actions .btn-link,.enquiry-actions button{width:100%;min-width:0}}@media (width<=380px){.content{padding-left:12px;padding-right:12px}.tabbar,.tabbar.tabbar-manager{left:0;right:0}.tabbar a{font-size:9px}.cards{gap:8px}.card{min-height:82px;padding:12px}.cal-day{border-radius:9px;padding:4px}.cal-day .n{font-size:12px}}@media (width<=760px){input:not([type=checkbox]):not([type=radio]),select,textarea{line-height:1.35;font-size:16px!important}input,select,textarea{scroll-margin-top:calc(82px + env(safe-area-inset-top));scroll-margin-bottom:calc(150px + env(safe-area-inset-bottom))}.modal,.modal.wide{max-height:calc(100dvh - env(safe-area-inset-top));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-head{z-index:3;-webkit-backdrop-filter:blur(14px);background:#fffffff5;justify-content:space-between;align-items:center;gap:12px;margin:-1px 0 14px;padding:9px 0 7px;display:flex;position:sticky;top:-17px}.modal-head h3{margin:1px 0 0}.modal-close{width:42px;min-height:42px;color:var(--ink);background:#eef1ef;border:0;border-radius:50%;flex:0 0 42px;padding:0;font-size:28px;font-weight:400;line-height:1}.modal .form-actions{z-index:3;padding:12px 16px calc(2px + env(safe-area-inset-bottom));border-top:1px solid var(--line);margin-left:-16px;margin-right:-16px;box-shadow:0 -10px 24px #17211d0f}}@media (width>=761px){.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-head h3{margin-top:2px}.modal-close{width:36px;min-height:36px;color:var(--ink);background:#eef1ef;border:0;border-radius:50%;padding:0;font-size:24px;line-height:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=760px){.booking-summary{display:none}.calendar-view-switch{order:0;width:100%;margin-bottom:2px}.calendar-view-switch button{flex:1 1 0;min-height:36px;padding-left:5px;padding-right:5px}.calendar-panel{touch-action:pan-y;overscroll-behavior-x:contain;background:#fff;border-color:#e1e6e2;border-radius:18px;overflow:hidden;padding:0!important}.calendar-panel .cal-head{color:#758078;letter-spacing:0;text-transform:none;background:#fbfcfb;border-bottom:1px solid #e7ebe8;gap:0;margin:0;padding:11px 7px 8px;font-size:10px;font-weight:650}.calendar-panel .cal-grid{background:#e7ebe8;gap:0}.calendar-panel .cal-day{aspect-ratio:auto;min-width:0;min-height:86px;color:var(--ink);box-shadow:none;background:#fff;border:1px solid #e7ebe8;border-top:0;border-left:0;border-radius:0;justify-content:flex-start;padding:5px 3px 4px;position:relative;overflow:hidden}.calendar-panel-week .cal-day{min-height:132px}.calendar-panel-fortnight .cal-day{min-height:104px}.calendar-panel .cal-day:nth-child(7n){border-right:0}.calendar-panel .cal-day:hover{background:#fff}.calendar-panel .cal-day:active{background:#edf4f1}.calendar-panel .cal-day.out{color:#aeb5b0;opacity:1;background:#f8f9f8}.calendar-panel .cal-day.booked{background:#fff}.calendar-panel .cal-day.out.booked{background:#f8f9f8}.calendar-panel .cal-day.has-enquiry:not(.booked){background:#fffaf0}.calendar-panel .cal-day.out.has-enquiry:not(.booked){background:#faf7ef}.calendar-panel .cal-day.selected{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--accent);background:#f0f7f4;border-color:#e7ebe8}.calendar-panel .cal-day .n{width:23px;height:23px;color:inherit;border-radius:50%;flex:0 0 23px;place-items:center;margin-left:1px;font-size:12px;font-weight:600;line-height:1;display:grid}.calendar-panel .cal-date-row{flex-direction:column;align-items:flex-start;gap:1px;width:100%}.calendar-panel .cal-month-marker{color:#758078;text-overflow:ellipsis;margin-left:3px;font-size:8px;overflow:hidden}.calendar-panel-week .cal-head{display:none}.calendar-panel-week .cal-grid{grid-template-columns:1fr}.calendar-panel-week .cal-day,.calendar-panel-week .cal-day:nth-child(7n){border-right:0;flex-direction:row;align-items:flex-start;gap:10px;min-height:68px;padding:9px 11px}.calendar-panel-week .cal-date-row{flex-direction:row;flex:0 0 62px;align-items:center;gap:6px;width:62px}.calendar-panel-week .cal-weekday-marker{color:#66726b;letter-spacing:.02em;text-transform:uppercase;font-size:11px;font-weight:750;display:block}.calendar-panel-week .cal-month-marker{display:none}.calendar-panel-week .cal-events:empty:after{content:"No bookings";color:#99a19c;padding:4px 1px;font-size:11px;font-weight:500}.calendar-panel-week .cal-event{align-items:center;gap:5px;min-height:24px;padding:4px 6px;display:flex;font-size:12px!important}.calendar-panel .cal-day.today{border-color:#e7ebe8}.calendar-panel .cal-day.today .n{background:var(--accent);color:#fff;font-weight:750}.calendar-panel .cal-day.selected:not(.today) .n{color:var(--accent-deep);background:#dcebe5;font-weight:750}.calendar-panel .cal-events{flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;gap:2px;width:100%;min-width:0;margin-top:3px;display:flex;overflow:hidden}.calendar-panel .cal-event{text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:3px;flex:none;width:100%;min-width:0;height:auto;min-height:15px;padding:2px 3px;font-weight:600;line-height:1.2;display:block;overflow:hidden;color:var(--ink)!important;border-left:2px solid!important;font-size:10px!important}.calendar-panel .cal-event.cal-enquiry{background:var(--gold-soft);border-left-color:var(--gold)!important;color:var(--gold-deep)!important}.calendar-panel .cal-event b{font-variant-numeric:tabular-nums;font-weight:750}.calendar-panel .cal-event-time{display:none}.calendar-panel .cal-event-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.calendar-panel .cal-more,.calendar-panel .cal-day.selected .cal-more{color:#69756e;align-self:flex-start;padding-left:3px;font-size:9px;font-style:normal;font-weight:650;line-height:1.2}.calendar-panel .legend{background:#fff;gap:7px 10px;margin:0;padding:10px 12px 11px;font-size:10px}.calendar-panel-week .cal-events{flex:auto;gap:4px;min-height:25px;margin-top:0}.calendar-panel-week .cal-event{align-items:center;gap:6px;width:100%;min-height:26px;padding:5px 7px;display:flex;font-size:12px!important}.calendar-panel-week .cal-event-time{flex:none;display:inline}.calendar-panel-week .cal-event-name{flex:auto}}@media (width<=380px){.calendar-panel .cal-day{min-height:79px;padding-left:2px;padding-right:2px}.calendar-panel .cal-event{min-height:14px;padding-left:2px;padding-right:2px;font-size:9px!important}}@media (width>=400px) and (width<=760px){.topbar{min-height:64px;padding-left:18px;padding-right:18px}.mobile-title strong{font-size:19px}.mobile-title span{font-size:12px}.content{padding:22px 18px calc(98px + env(safe-area-inset-bottom))}.page-head{margin-bottom:20px}.page-head h1{font-size:28px}.page-head p{font-size:14px}.panel{border-radius:19px;margin-bottom:16px;padding:18px}.toolbar.wrap{padding:15px}.month-title{font-size:20px}.calendar-view-switch button{min-height:38px}.calendar-panel-fortnight .cal-day{min-height:114px}.calendar-panel-fortnight .cal-event{white-space:normal;min-height:28px;padding-top:3px;padding-bottom:3px}.calendar-panel-fortnight .cal-event-name{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.12;display:-webkit-box;overflow:hidden}.calendar-panel .legend{padding:11px 14px 12px;font-size:11px}.day-panel h2{font-size:20px}.day-bookings li{padding:14px}.tabbar,.tabbar.tabbar-manager{min-height:calc(62px + env(safe-area-inset-bottom));padding-left:10px;padding-right:10px}.tabbar a{min-height:56px;font-size:10.5px}.tabbar a svg{width:24px;height:24px}}.app-error-shell{min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom));background:var(--bg,#f4f6f4);place-items:center;display:grid}.app-error-card{text-align:center;background:#fff;border:1px solid #142e251a;border-radius:24px;width:min(100%,420px);padding:28px;box-shadow:0 18px 50px #142e251f}.app-error-mark{color:#fff;background:#d6ae4a;border-radius:16px;place-items:center;width:54px;height:54px;margin:0 auto 16px;font-family:Georgia,serif;font-size:28px;font-weight:700;display:grid}.app-error-card .eyebrow{color:#8a6b1d;letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:750}.app-error-card h1{color:#142e25;margin:0 0 10px;font-size:25px}.app-error-card>p:not(.eyebrow){color:#637069;margin:0;line-height:1.55}.app-error-actions{gap:10px;margin-top:24px;display:grid}.app-error-actions button{color:#fff;min-height:50px;font:inherit;background:#287a67;border:0;border-radius:14px;font-weight:750}.app-error-actions button.secondary{color:#142e25;background:#fff;border:1px solid #dce4df}html,body,#root{background:var(--bg);width:100%;min-height:100dvh}body{overscroll-behavior:none;overflow-x:hidden}.shell{background:var(--bg);min-height:100dvh}.chat-page-head>button{flex:none}.chat{gap:14px;height:min(680px,100dvh - 180px);min-height:520px}.channels{flex-basis:238px;gap:3px;width:238px;padding:10px;overflow-y:auto}.channels-heading{justify-content:space-between;align-items:center;padding:5px 7px 8px;display:flex}.channels-heading h3{margin:0}.channels-heading>span{min-width:22px;color:var(--muted);text-align:center;background:#eef2ef;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:700}.chan{border-radius:11px;justify-content:flex-start;gap:8px;min-height:44px;padding:9px 10px}.channel-hash{color:#89958f;font-size:19px;font-weight:500;line-height:1}.chan.active .channel-hash{color:#ffffffb8}.chan-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chan .badge{margin-left:auto}.channel-empty{padding:14px 8px;font-size:13px}.thread{min-width:0}.thread-head{border-bottom:1px solid var(--line);background:#fffffffa;justify-content:space-between;align-items:center;gap:12px;min-height:65px;padding:10px 14px;display:flex}.thread-head>div{min-width:0}.thread-head strong,.thread-head span{display:block}.thread-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.thread-head span{color:var(--muted);margin-top:2px;font-size:11px}.channel-access-button{flex:none;min-height:36px;padding:7px 10px;font-size:12px}.messages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 100% 0,#c6a43b0b,#0000 36%),#f4f6f4;min-height:0}.message-day{color:#7c8781;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:10px;margin:4px 0 8px;font-size:10px;font-weight:750;display:flex}.message-day:before,.message-day:after{content:"";background:#59686021;flex:1;height:1px}.message-day span{flex:none}.msg{align-items:flex-end}.msg.grouped{margin-top:-7px}.msg.grouped:not(.mine){padding-left:33px}.bubble{border:1px solid #273d340e;border-radius:16px;max-width:100%;padding:9px 12px;box-shadow:0 1px 2px #17211d09}.msg:not(.mine) .bubble{background:#fff;border-bottom-left-radius:6px}.msg.mine .bubble{background:#dcefe8;border-bottom-right-radius:6px}.bubble .meta strong{font-size:12px}.former-employee{color:#69736e;letter-spacing:.01em;white-space:nowrap;background:#ecefed;border-radius:999px;align-items:center;min-height:18px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.bubble p{line-height:1.4}.message-foot{justify-content:flex-end;align-items:center;gap:6px;min-height:13px;margin-top:3px;display:flex}.message-time{color:#7b8882;white-space:nowrap;font-size:9.5px;line-height:1}.read-receipt-label,.read-receipt summary{color:var(--muted);text-align:right;justify-content:flex-end;align-items:center;gap:6px;margin-top:0;font-size:11px;line-height:1.25;display:flex}.read-receipt-label.seen,.read-receipt summary{color:var(--accent)}.read-receipt{position:relative}.read-receipt summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.read-receipt summary::-webkit-details-marker{display:none}.receipt-avatars{flex-direction:row-reverse;padding-left:4px;display:inline-flex}.receipt-avatar{color:#fff;border:2px solid #dff0ea;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:8px;font-weight:800;line-height:1;display:inline-flex}.receipt-avatars .receipt-avatar+.receipt-avatar{margin-right:-5px}.read-receipt>.receipt-reader-list{border:1px solid var(--line);color:var(--ink);text-align:left;background:#ffffffd1;border-radius:9px;margin-top:5px;padding:6px 8px;font-size:11px;line-height:1.35;display:block}.receipt-reader{min-height:28px;color:var(--ink);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.receipt-reader+.receipt-reader{margin-top:5px}.receipt-reader .receipt-avatar{border-color:#fff;width:22px;height:22px;font-size:9px}.staff-edit-panel{scroll-margin-top:18px}.composer{background:#fffffffa;align-items:center;box-shadow:0 -5px 18px #1f302906}.composer input{background:#f7f9f8;border-color:#d8dfdb;border-radius:21px;flex:1;min-width:0;min-height:42px;padding:9px 15px;font-size:16px}.composer input:focus{background:#fff;border-color:#75aa9c;box-shadow:0 0 0 3px #2f7d6b1a}.composer button{border-radius:50%;place-items:center;width:42px;min-width:42px;height:42px;padding:0;display:grid}.composer button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.composer button:disabled{color:#94a099;opacity:1;background:#dfe5e2}.chat-no-channel{height:100%;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:5px;padding:28px;display:grid}.chat-no-channel>div{background:var(--accent-soft);width:50px;height:50px;color:var(--accent);border-radius:16px;place-items:center;margin-bottom:6px;font-size:27px;display:grid}.chat-no-channel strong{color:var(--ink)}.chat-no-channel span{font-size:13px}.channel-access-modal{width:min(620px,100%)}.channel-access-modal .modal-head p{margin:4px 0 0;font-size:13px}.channel-name-field{margin-bottom:16px}.channel-name-input{margin-top:5px;position:relative}.channel-name-input>span{z-index:1;color:var(--muted);font-size:18px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.channel-name-input input{padding-left:31px}.channel-member-picker{overscroll-behavior:contain;border:1px solid var(--line);background:#f8faf8;border-radius:14px;max-height:48vh;overflow-y:auto}.channel-access-note{border-bottom:1px solid var(--line);background:#fff;padding:12px 13px}.channel-access-note strong,.channel-access-note span{display:block}.channel-access-note span{color:var(--muted);margin-top:2px;font-size:12px}.channel-team-group+.channel-team-group{border-top:1px solid var(--line)}.channel-team-heading{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;padding:10px 13px 6px;font-size:11px;display:flex}.channel-member-row{min-height:55px;color:var(--ink);align-items:center;gap:10px;margin:0;padding:7px 13px;display:flex}.channel-member-row+.channel-member-row{border-top:1px solid #e3e8e5cc}.channel-member-name{flex:1;min-width:0}.channel-member-name strong,.channel-member-name span{display:block}.channel-member-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.channel-member-name span{color:var(--muted);font-size:11px}.channel-member-row input{width:22px;height:22px;min-height:0;accent-color:var(--accent)}.settings-page-head{margin-bottom:16px}.settings-profile-card{background:linear-gradient(135deg,#fff 0%,#f5f9f7 100%);align-items:center;gap:15px;margin-bottom:22px;padding:18px;display:flex}.settings-avatar{flex:0 0 58px;width:58px;height:58px;font-size:21px}.settings-profile-copy{min-width:0}.settings-profile-copy>strong,.settings-profile-copy>span{display:block}.settings-profile-copy>strong{font-size:18px;line-height:1.25}.settings-profile-copy>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;overflow:hidden}.settings-profile-tags{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.settings-profile-tags span{background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.settings-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;display:grid}.settings-section{min-width:0}.settings-section>h2{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:0 0 8px 4px;font-size:12px}.settings-list{margin:0;padding:0;overflow:hidden}.settings-list-row{width:100%;min-height:62px;color:var(--ink);text-align:left;background:#fff;border:0;border-radius:0;align-items:center;gap:11px;padding:10px 13px;text-decoration:none;display:flex}.settings-list-row+.settings-list-row{border-top:1px solid var(--line)}.settings-link-row:hover,.settings-action-row:hover{filter:none;background:#f7f9f7}.settings-action-row{font-weight:400}.settings-row-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;flex:0 0 36px;place-items:center;display:grid}.settings-row-icon.danger{color:var(--danger);background:#faeaea}.settings-row-copy{flex:1;min-width:0}.settings-row-copy strong,.settings-row-copy>span{display:block}.settings-row-copy strong{color:var(--ink);font-size:14px}.settings-row-copy>span{color:var(--muted);text-overflow:ellipsis;margin-top:1px;font-size:11px;line-height:1.35;overflow:hidden}.settings-value{color:var(--muted);white-space:nowrap;background:#eef2ef;border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:700}.settings-value.permission-granted{color:#276647;background:#e3f3eb}.settings-value.permission-denied{color:var(--danger);background:#faeaea}.settings-chevron{color:#9aa49f;flex:none;font-size:25px;font-weight:300;line-height:1}.settings-row-button{flex:none;min-height:34px;padding:6px 9px;font-size:11px}.settings-inline-note{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:9px 13px 11px 60px;font-size:11px}.settings-delete-row .settings-row-copy strong{color:var(--danger)}.settings-delete-modal{max-width:540px;margin:0}.settings-delete-modal>label{margin-bottom:12px}@media (width<=760px){.content{min-height:calc(100dvh - env(safe-area-inset-top));background:var(--bg)}.chat-page-head{flex-wrap:nowrap;align-items:center;margin-bottom:10px;display:flex}.chat-page-head>div{flex:1;min-width:0}.chat-page-head h1{letter-spacing:-.025em;font-size:24px}.chat-page-head p{display:none}.chat-page-head>button{white-space:nowrap;width:auto;min-height:40px;padding:8px 11px}.chat{height:calc(100dvh - 230px - env(safe-area-inset-top) - env(safe-area-inset-bottom));flex-direction:column;gap:7px;min-height:0;max-height:none}.channels{scrollbar-width:none;background:0 0;border:0;border-radius:0;flex-flow:row;flex:none;gap:6px;width:100%;padding:2px 0 4px;overflow:auto hidden}.channels::-webkit-scrollbar{display:none}.channels-heading{display:none}.chan{background:#e9eeeb;border:1px solid #0000;border-radius:19px;flex:none;gap:6px;min-height:38px;padding:6px 11px;font-size:13px}.chan.active{border-color:var(--accent);background:var(--accent)}.channel-hash{font-size:16px}.channel-empty{white-space:nowrap;margin:0;padding:9px}.thread{overscroll-behavior:none;border-color:#dce3df;border-radius:20px;flex:auto;height:auto;min-height:0;box-shadow:0 6px 22px #1c2d260e}.thread-head{min-height:54px;padding:8px 12px}.thread-head strong{font-size:14px}.thread-head span{text-overflow:ellipsis;white-space:nowrap;max-width:230px;overflow:hidden}.channel-access-button{min-height:36px;padding:6px 8px;font-size:11px}.messages{gap:11px;height:0;min-height:0;padding:12px 11px 10px}.msg{max-width:88%}.bubble{padding:8px 10px}.composer{padding:8px 9px;padding-bottom:max(8px, env(safe-area-inset-bottom));gap:7px}.channel-member-picker{max-height:50dvh}.channel-access-modal .form-actions{position:sticky;bottom:0}.settings-profile-card{border-radius:20px;margin-bottom:20px;padding:17px}.settings-avatar{flex-basis:54px;width:54px;height:54px}.settings-profile-copy>strong{font-size:17px}.settings-layout{grid-template-columns:1fr;gap:20px}.settings-list{border-radius:17px}.settings-list-row{min-height:64px;padding:10px 12px}.settings-row-copy strong{font-size:15px}.settings-row-copy>span{font-size:12px}.settings-account-section{margin-bottom:8px}body.keyboard-open{min-height:0;max-height:100dvh;overflow:hidden;height:100dvh!important}body.keyboard-open #root,body.keyboard-open .shell{height:100%;min-height:0}body.keyboard-open .shell{overflow:hidden}body.keyboard-open .app{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}body.keyboard-open .content{flex-direction:column;flex:auto;min-height:0;padding-bottom:8px;display:flex;overflow:hidden}body.keyboard-open .chat{flex:auto;height:auto;min-height:0}body.keyboard-open .thread{min-height:0}body.keyboard-open .messages{overscroll-behavior:none}body.keyboard-open .composer{flex:none;padding-bottom:8px}body.keyboard-open .tabbar{display:none}}.booking-modal.modal.wide{flex-direction:column;max-height:min(90dvh,860px);padding:0;display:flex;overflow:hidden}.booking-modal .modal-head{border-bottom:1px solid var(--line);background:#fffffff5;flex:none;margin:0;padding:19px 20px 14px}.booking-modal .modal-head h3{margin:2px 0 0}.booking-modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:18px 20px 24px;overflow:hidden auto}.booking-form-section+.booking-form-section{margin-top:22px}.booking-form-section h4{color:var(--ink);letter-spacing:-.01em;margin:0 0 10px;font-size:14px}.booking-form-section .form-grid{margin-bottom:0}.booking-form-section>label{margin-top:12px;display:block}.booking-form-section .presets{margin-bottom:0}.booking-modal .booking-form-actions{z-index:4;border-top:1px solid var(--line);background:#fffffffa;flex:none;margin:0;padding:13px 20px 16px;position:static;box-shadow:0 -8px 24px #17211d0e}@media (width<=760px){.fab{display:none!important}.toolbar.wrap>button:last-child{flex:1 0 100%;order:20;justify-content:center;align-items:center;width:100%;min-height:46px;display:flex}.booking-modal.modal.wide{width:100%;height:calc(100dvh - max(8px, env(safe-area-inset-top)));max-height:calc(100dvh - max(8px, env(safe-area-inset-top)));border-radius:25px 25px 0 0}.booking-modal:before{z-index:5;margin:0;position:absolute;top:8px;left:50%;transform:translate(-50%)}.booking-modal .modal-head{-webkit-backdrop-filter:none;padding:23px 16px 12px;position:static}.booking-modal .modal-head .eyebrow{font-size:10px}.booking-modal .modal-head h3{letter-spacing:-.025em;font-size:22px}.booking-modal-body{padding:14px 14px 28px}.booking-form-section{border:1px solid var(--line);background:#fafbfa;border-radius:17px;padding:14px}.booking-form-section+.booking-form-section{margin-top:12px}.booking-form-section h4{margin-bottom:12px;font-size:15px}.booking-form-section input,.booking-form-section select,.booking-form-section textarea{background:#fff;border-radius:12px;min-height:48px}.booking-form-section textarea{min-height:94px}.booking-form-section .presets{grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;display:grid}.booking-form-section .presets button{min-height:42px;padding:7px;font-size:12px}.booking-form-section .presets button:last-child{grid-column:1/-1}.booking-modal .booking-form-actions{padding:11px 14px max(11px, env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;gap:8px;display:grid}.booking-modal .booking-form-actions button{min-height:46px;padding:10px 12px}.booking-modal .booking-form-actions button:first-child,.booking-modal .booking-form-actions button:nth-child(2):last-child{grid-column:1/-1}.content{min-height:calc(100dvh - 60px - env(safe-area-inset-top))}}@media (width>=400px) and (width<=760px){.content{min-height:calc(100dvh - 64px - env(safe-area-inset-top))}}.app-loading-card{text-align:center;flex-direction:column;align-items:center;display:flex}.app-loading-mark{background:linear-gradient(145deg, var(--accent), var(--accent-deep));color:#fff;border-radius:17px;place-items:center;width:54px;height:54px;margin-bottom:15px;font-size:25px;font-weight:800;display:grid;box-shadow:0 9px 24px #266b5c33}.app-loading-card h1{margin-bottom:4px}.app-loading-card p{color:var(--muted);margin:0}.app-loading-track{background:#e7ece9;border-radius:999px;width:112px;height:4px;margin-top:22px;overflow:hidden}.app-loading-track i{border-radius:inherit;background:var(--gold);width:45%;height:100%;animation:1.15s ease-in-out infinite alternate goldstaff-loading;display:block}@keyframes goldstaff-loading{0%{transform:translate(0)}to{transform:translate(122%)}}@media (prefers-reduced-motion:reduce){.app-loading-track i{opacity:.7;width:100%;animation:none}}
