:root{--color-primary: #1a2e4a;--color-primary-dark: #15263d;--color-primary-light: #7d8ba1;--color-primary-faint: #eef0f4;--color-accent: #c9a84c;--color-accent-dark: #a5893e;--color-accent-light: #eee3c2;--color-bg: #faf7f2;--font-heading: "Playfair Display", serif;--font-body: "Source Sans 3", sans-serif;--color-ink: #26221c;--color-muted: #7a746a;--color-line: #e6e0d5;--color-card: #ffffff;--color-free: #3e8e5a;--color-free-bg: #e4f2e9;--color-tentative: #b07d18;--color-tentative-bg: #fbf0d7;--color-booked: #a43e3e;--color-booked-bg: #f7e2e2;--radius: 10px;--shadow: 0 1px 3px rgba(38, 34, 28, .08), 0 4px 14px rgba(38, 34, 28, .06)}*{box-sizing:border-box}html,body{overflow-x:hidden;max-width:100%}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:16px;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-primary);line-height:1.2;margin:0 0 .6em}h1{font-size:1.9rem}h2{font-size:1.35rem}h3{font-size:1.1rem}a{color:var(--color-primary)}code{background:var(--color-primary-faint);padding:.1em .4em;border-radius:4px;font-size:.9em;word-break:break-all}.muted{color:var(--color-muted)}.loading{color:var(--color-muted);padding:2rem 0;text-align:center}.container{max-width:1080px;margin:0 auto;padding:0 1.25rem}.container.narrow{max-width:640px}.card{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem}.narrow-card{max-width:520px;margin:3rem auto}.btn{display:inline-block;border:1px solid transparent;border-radius:8px;padding:.55rem 1.1rem;font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,color .15s}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover:not(:disabled){background:var(--color-accent-dark)}.btn-ghost{background:transparent;color:var(--color-primary);border-color:var(--color-line)}.btn-ghost:hover:not(:disabled){background:var(--color-primary-faint)}.btn-danger{background:var(--color-booked);color:#fff}.btn-danger:hover:not(:disabled){background:#8c3434}.btn-lg{padding:.75rem 1.6rem;font-size:1.05rem}.btn-sm{padding:.3rem .7rem;font-size:.85rem}form label{display:block;margin-bottom:.9rem;font-weight:600;font-size:.92rem;color:var(--color-primary)}form input,form select,form textarea{display:block;width:100%;margin-top:.3rem;padding:.55rem .7rem;border:1px solid var(--color-line);border-radius:8px;font-family:var(--font-body);font-size:.95rem;background:#fff;color:var(--color-ink)}form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}form input[type=color]{width:3rem;height:2.4rem;padding:.15rem}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-row>label{flex:1 1 180px}.form-row>p{flex:1 1 180px;align-self:center}.inline-label{display:inline-flex!important;align-items:center;gap:.4rem;font-weight:500;margin-right:1.5rem}.inline-label input{width:auto;display:inline;margin:0}fieldset{border:1px solid var(--color-line);border-radius:var(--radius);padding:1rem 1.25rem;margin:0 0 1.25rem}legend{font-family:var(--font-heading);color:var(--color-primary);padding:0 .5rem;font-size:1.05rem}.field-error{display:block;color:var(--color-booked);font-size:.85rem;font-weight:500;margin-top:.25rem}.colour-field{display:flex;gap:.5rem;align-items:center}.colour-field input[type=text]{max-width:9rem}.note{border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-weight:500}.note-error{background:var(--color-booked-bg);color:var(--color-booked)}.note-success{background:var(--color-free-bg);color:var(--color-free)}.note-hint{background:var(--color-primary-faint);color:var(--color-muted);font-weight:400}.note-warning{background:var(--color-tentative-bg);color:var(--color-tentative)}.badge{display:inline-block;border-radius:999px;padding:.15rem .65rem;font-size:.78rem;font-weight:700;letter-spacing:.02em;vertical-align:middle}.badge-status-tentative,.badge-payment-unpaid,.badge-payment-pending_verification{background:var(--color-tentative-bg);color:var(--color-tentative)}.badge-status-confirmed,.badge-payment-paid{background:var(--color-free-bg);color:var(--color-free)}.badge-status-cancelled,.badge-status-expired{background:var(--color-primary-faint);color:var(--color-muted)}.badge-payment-waived{background:var(--color-primary-faint);color:var(--color-primary)}.badge-recurring{margin-left:.4rem;background:var(--color-accent-light);color:var(--color-accent-dark)}.badge-tenant-active{background:var(--color-free-bg);color:var(--color-free)}.badge-tenant-pending{background:var(--color-tentative-bg);color:var(--color-tentative)}.badge-tenant-suspended,.badge-tenant-archived{background:var(--color-booked-bg);color:var(--color-booked)}.availability-available{background:var(--color-free-bg);color:var(--color-free)}.availability-tentative{background:var(--color-tentative-bg);color:var(--color-tentative)}.availability-unavailable{background:var(--color-booked-bg);color:var(--color-booked)}.public-header{background:var(--color-primary);padding:.9rem 0}.public-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}.brand-logo{height:40px;width:auto;border-radius:6px;background:#fff;padding:2px}.brand-name{font-family:var(--font-heading);font-size:1.25rem;color:#fff}.public-nav{display:flex;align-items:center;gap:1.25rem}.public-nav a{color:#fff;text-decoration:none;font-weight:600}.public-nav a.btn{color:#fff}.brand-name{white-space:nowrap}@media(max-width:640px){.public-header-inner{flex-direction:column;align-items:stretch;gap:.75rem}.brand{justify-content:flex-start}.brand-name{font-size:1.1rem}.public-nav{justify-content:space-between;gap:.5rem;width:100%}.public-nav a.btn{padding:.5rem .85rem}}.public-main{padding:2rem 1.25rem 3rem}.public-footer{border-top:1px solid var(--color-line);color:var(--color-muted);padding:1.25rem 0 2rem;font-size:.9rem}.public-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem}.public-footer-inner p{margin:0}.public-footer-platform{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-line);text-align:center}.public-footer-platform a{color:var(--color-muted);text-decoration:none;font-weight:600;letter-spacing:.02em}.public-footer-platform a:hover,.public-footer-platform a:focus-visible{color:var(--color-primary)}.wm{font-family:Nunito Sans,"Source Sans 3",system-ui,sans-serif;letter-spacing:-.012em;white-space:nowrap;font-weight:400}.wm-book{font-weight:800;color:#0b5468}.wm-the{font-weight:400;color:#6d7877}.wm-space{font-weight:800;color:#c48f36}.wm--on-dark .wm-book{color:#d8ecef}.wm--on-dark .wm-the{color:#8fa3a2}.wm--on-dark .wm-space{color:#e0a94a}@media print{.wm-space,.wm--on-dark .wm-space{color:#14a9b8!important}}.tbd-credit{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:inherit;font-size:.85rem}.tbd-credit .tbd-lead{color:var(--color-muted)}.tbd-madein{display:inline-flex;align-items:center;gap:.28rem;color:var(--color-muted);white-space:nowrap}.tbd-madein .tbd-flag{font-size:.95em;line-height:1}.tbd-mark{display:inline-flex;gap:.3rem;align-items:baseline;background:#16181d;padding:.28rem .6rem;border-radius:999px;font-weight:700;letter-spacing:.01em;line-height:1;transition:transform .15s ease,box-shadow .15s ease}.tbd-credit:hover .tbd-mark,.tbd-credit:focus-visible .tbd-mark{transform:translateY(-1px);box-shadow:0 3px 10px #00000040}.tbd-word{text-transform:lowercase}.tbd-think{color:red}.tbd-believe{color:#ff0}.tbd-do{color:#00ff32}.hero{margin-bottom:2rem}.venue-hero{position:relative;border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));background-color:var(--color-primary);background-size:cover;background-position:center;color:#fff}.venue-hero-fallback:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--color-accent) 0%,transparent 65%);opacity:.5}.venue-hero-inner{position:relative;padding:3rem 2.25rem;max-width:720px}.venue-hero h1{color:#fff;font-size:2.3rem;margin:0 0 .4rem}.venue-tagline{font-size:1.15rem;font-weight:500;margin:0 0 .6rem;opacity:.96}.venue-address{font-size:.92rem;margin:0;opacity:.92}.venue-address-label{display:inline-block;text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;font-weight:700;margin-right:.5rem;opacity:.8}.venue-about-text{margin:0 0 .6rem}.venue-about .amenity-chips{margin:0}@media(max-width:640px){.venue-hero-inner{padding:2rem 1.25rem}.venue-hero h1{font-size:1.75rem}.venue-tagline{font-size:1.02rem}}.resource-card-photo{margin:-1.5rem -1.5rem 1rem;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0;background:var(--color-primary-faint)}.resource-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.resource-gallery-strip{display:flex;gap:.6rem;overflow-x:auto;margin:0 0 1rem;padding-bottom:.2rem}.resource-gallery-thumb{flex:0 0 auto;width:96px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--color-line)}.resource-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.resource-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-bottom:2rem}.resource-card.selected{border-color:var(--color-accent)}.resource-meta{display:flex;gap:1rem;color:var(--color-muted);font-size:.92rem}.resource-actions{display:flex;gap:.6rem;margin-top:.75rem}.button-row{display:flex;gap:.6rem;flex-wrap:wrap}.resource-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem;border-bottom:1px solid var(--color-line);padding-bottom:.6rem}.tab{background:transparent;border:1px solid var(--color-line);border-radius:999px;padding:.35rem 1rem;cursor:pointer;font-weight:600;color:var(--color-muted);text-decoration:none;font-size:.92rem}.tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.calendar-title{margin:0;font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekday{text-align:center;font-size:.78rem;font-weight:700;color:var(--color-muted);padding-bottom:.3rem}.calendar-cell{aspect-ratio:1.15;border:1px solid var(--color-line);border-radius:8px;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:.2rem;padding:.3rem .45rem;font-family:var(--font-body);overflow:hidden}.calendar-cell-empty{visibility:hidden}.calendar-daynum{font-size:.85rem;font-weight:600}.busy-chips{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;margin-top:auto}.busy-chip{display:block;font-size:.62rem;font-weight:700;line-height:1.35;border-radius:4px;padding:0 4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.busy-confirmed{background:var(--color-booked);color:#fff}.busy-tentative{background:var(--color-tentative);color:#fff}.busy-more{background:#00000024;color:inherit}.day-free{background:var(--color-free-bg);border-color:#c4e0cd;color:var(--color-free)}.day-partial{background:#dcedf0;border-color:#a9d5dd;color:#1f6b7a}.day-tentative{background:var(--color-tentative-bg);border-color:#ecd9a6;color:var(--color-tentative)}.day-booked{background:var(--color-booked-bg);border-color:#eccaca;color:var(--color-booked)}.calendar-cell-past{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.calendar-cell-past .busy-chips{display:none}.calendar-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.9rem;font-size:.88rem;color:var(--color-muted)}.calendar-hint{margin:.55rem 0 0;font-size:.82rem;color:var(--color-muted);max-width:60ch}.notify-prefs{list-style:none;padding:0;margin:.6rem 0 0;display:flex;flex-direction:column;gap:.8rem}.notify-pref label{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer}.notify-pref input{margin-top:.25rem}.notify-pref-text{display:flex;flex-direction:column}.notify-pref-label{font-weight:600}.notify-pref-desc{font-size:.82rem;color:var(--color-muted)}.notify-cells{display:flex;gap:.7rem;flex-wrap:wrap}.notify-cell{display:inline-flex;align-items:center;gap:.28rem;font-size:.8rem;color:var(--color-muted);cursor:pointer;white-space:nowrap}.embed-shell{display:flex;flex-direction:column;min-height:100vh;box-sizing:border-box;padding:.9rem;background:var(--color-background);font-family:var(--font-body, system-ui, sans-serif);color:var(--color-ink, #333)}.embed-body{flex:1 1 auto}.embed-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--color-line)}.embed-book-btn{white-space:nowrap}.embed-powered{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none}.embed-logo{height:22px;width:auto}.embed-powered-label{font-size:.78rem;color:var(--color-muted)}.embed-powered .wm{font-size:1rem}.legend-item{display:inline-flex;align-items:center;gap:.4rem}.legend-swatch{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid var(--color-line)}.price-preview{background:var(--color-accent-light);border-radius:8px;padding:.8rem 1rem;margin-bottom:1.25rem}.availability-line{margin-bottom:1rem}.confirmation-page .reference-line{font-size:1.15rem}.payment-panel{background:var(--color-primary-faint);border-radius:var(--radius);padding:1rem 1.25rem;margin:1.25rem 0}.detail-list{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1.25rem;margin:.75rem 0}.detail-list dt{font-weight:700;color:var(--color-primary)}.detail-list dd{margin:0}.staff-header{background:#fff;border-bottom:2px solid var(--color-primary);margin-bottom:1.75rem}.staff-nav,.platform-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;flex-wrap:wrap}.staff-nav-links{display:flex;gap:.25rem;flex-wrap:wrap}.staff-nav-link{text-decoration:none;color:var(--color-muted);font-weight:600;padding:.4rem .8rem;border-radius:8px;font-size:.95rem}.staff-nav-link:hover{background:var(--color-primary-faint)}.staff-nav-link.active{background:var(--color-primary);color:#fff}.staff-nav-user{display:flex;align-items:center;gap:.75rem}.nav-toggle{display:none;align-items:center;gap:.4rem;background:transparent;border:1px solid var(--color-line);border-radius:8px;padding:.45rem .9rem;font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--color-primary);cursor:pointer}.staff-main{padding-bottom:3rem}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-head h1{margin:0}.toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.toolbar select,.toolbar input{width:auto}.segmented{display:inline-flex;border:1px solid var(--color-line);border-radius:8px;overflow:hidden}.segment{border:none;background:#fff;padding:.45rem 1rem;font-weight:600;cursor:pointer;color:var(--color-muted)}.segment.active{background:var(--color-primary);color:#fff}.data-table{width:100%;border-collapse:collapse;font-size:.94rem}.data-table th{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);border-bottom:2px solid var(--color-line);padding:.5rem .6rem}.data-table td{border-bottom:1px solid var(--color-line);padding:.55rem .6rem;vertical-align:middle}.data-table input,.data-table select{margin-top:0}@media(max-width:640px){.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.data-table thead,.data-table tbody{display:table;width:100%;min-width:34rem}}.req{color:var(--color-booked);margin-left:.15rem;font-weight:700}.table-actions{display:flex;gap:.4rem}.filter-bar{display:flex;gap:.6rem;flex-wrap:wrap;padding:1rem 1.25rem}.filter-bar select,.filter-bar input{width:auto;flex:0 1 auto;margin:0}.filter-bar input[type=search]{flex:1 1 200px}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:1rem;color:var(--color-muted)}.agenda-list{list-style:none;margin:0;padding:0}.agenda-item{display:flex;align-items:center;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--color-line)}.agenda-when{min-width:12rem;color:var(--color-muted);font-size:.92rem}.agenda-what{flex:1}.cal-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--color-line);border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden;min-width:46rem}.cal-weekday{background:var(--color-card);padding:.5rem .4rem;text-align:center;font-weight:700;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.cal-cell{background:var(--color-card);min-height:6.75rem;padding:.35rem;display:flex;flex-direction:column;gap:.25rem;position:relative;cursor:pointer;transition:background .12s ease}.cal-cell:hover{background:var(--color-primary-faint)}.cal-add{position:absolute;top:.25rem;right:.4rem;color:var(--color-primary);font-weight:700;font-size:.95rem;line-height:1;opacity:0;transition:opacity .12s ease;pointer-events:none}.cal-cell:hover .cal-add{opacity:.65}@media(hover:none){.cal-cell .cal-add{opacity:.4}}.cal-blank{cursor:default}.cal-blank:hover{background:var(--color-primary-faint)}.cal-grid-week .cal-cell{min-height:13rem}.cal-blank{background:var(--color-primary-faint)}.cal-daynum{font-size:.8rem;font-weight:700;color:var(--color-muted);align-self:flex-start}.cal-today .cal-daynum{color:#fff;background:var(--color-primary);min-width:1.5rem;height:1.5rem;padding:0 .35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.cal-more{border:none;background:none;padding:.1rem .3rem;font-size:.76rem;color:var(--color-primary);cursor:pointer;text-align:left}.cal-more:hover{text-decoration:underline}.booking-chip{display:block;border-radius:5px;padding:.2rem .4rem;font-size:.76rem;line-height:1.35;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-tentative{background:var(--color-tentative-bg);color:var(--color-tentative)}.chip-confirmed{background:var(--color-free-bg);color:var(--color-free)}.chip-time{font-weight:700}.chip-resource{opacity:.8}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.action-stack{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.rrule-preview code{font-size:.85rem}.report-total{font-size:1.05rem}.copy-panel{border-left:5px solid var(--color-accent)}.settings-tabs{margin-bottom:1.25rem}.settings-form{max-width:640px}.inline-add-form{margin-top:1.5rem;border-top:1px solid var(--color-line);padding-top:1.25rem}.category-list{list-style:none;padding:0;margin:0 0 1rem;max-width:480px}.category-list li{display:flex;align-items:center;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid var(--color-line)}.code-block{background:var(--color-primary-faint);border-radius:8px;padding:.75rem 1rem;overflow-x:auto;font-size:.85rem}.terms-mode-fieldset{border:none;padding:0;margin:0 0 1rem}.terms-mode-fieldset legend{font-weight:600;margin-bottom:.4rem;padding:0}.terms-mode-fieldset label{display:inline-flex;margin-right:1.25rem}.terms-editor{border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden}.terms-editor-toolbar{display:flex;gap:.25rem;padding:.4rem;border-bottom:1px solid var(--color-line);background:var(--color-primary-faint)}.terms-editor-toolbar .btn.active{background:var(--color-accent);color:#fff}.terms-editor-content{padding:.75rem 1rem;min-height:200px}.terms-editor-content .ProseMirror{outline:none;min-height:180px}.terms-editor-content .ProseMirror p{margin:0 0 .6em}.terms-editor-content .ProseMirror ul{padding-left:1.4em;margin:0 0 .6em}.terms-accept-block{margin:1rem 0}.terms-accept-block .terms-text{max-height:220px;overflow-y:auto;border:1px solid var(--color-line);border-radius:var(--radius);padding:.75rem 1rem;margin:0 0 .6rem;font-size:.9rem}.terms-accept-block .terms-text p:first-child{margin-top:0}.terms-accept-block .terms-text p:last-child{margin-bottom:0}.branding-editor{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:2rem}@media(max-width:800px){.branding-editor{grid-template-columns:1fr}}.branding-preview{border:1px dashed var(--color-line);border-radius:var(--radius);padding:1rem;background:var(--color-bg)}.preview-caption{font-size:.85rem;margin-top:0}.preview-page{border-radius:8px;overflow:hidden;border:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-body)}.preview-header{background:var(--color-primary);color:#fff;display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem}.preview-header img{height:26px;background:#fff;border-radius:4px;padding:1px}.preview-brand{font-family:var(--font-heading);flex:1}.preview-btn{background:var(--color-accent);color:#fff;border-radius:6px;padding:.25rem .7rem;font-size:.8rem;font-weight:700}.preview-btn-primary{background:var(--color-primary)}.preview-hero{padding:.9rem}.preview-hero h4{font-family:var(--font-heading);color:var(--color-primary);margin:0 0 .3rem}.preview-hero p{margin:0;font-size:.85rem}.preview-card{background:#fff;border:1px solid var(--color-line);border-radius:8px;margin:0 .9rem .9rem;padding:.75rem;font-size:.85rem}.preview-card p{margin:.2rem 0 .5rem;color:var(--color-muted)}.auth-page{display:flex;justify-content:center;padding:3rem 1rem}.auth-card{width:100%;max-width:400px}.forbidden-page,.unavailable-page{max-width:560px;margin:3rem auto;text-align:center}.toast-host{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.5rem;max-width:340px}.toast{text-align:left;border:none;border-radius:8px;padding:.7rem 1rem;box-shadow:var(--shadow);cursor:pointer;font-family:var(--font-body);font-size:.92rem;display:flex;flex-direction:column;gap:.15rem;color:#fff;background:var(--color-primary)}.toast-success{background:var(--color-free)}.toast-error{background:var(--color-booked)}.toast-info{background:var(--color-primary)}.toast-body{font-weight:400;opacity:.9}.offline-banner{background:var(--color-tentative-bg);color:var(--color-tentative);text-align:center;padding:.4rem;font-weight:600;font-size:.9rem}.signup-head{display:flex;justify-content:space-between;align-items:baseline}@media(max-width:640px){.agenda-item{flex-direction:column;align-items:flex-start;gap:.25rem}.agenda-when{min-width:auto;order:-1}.agenda-what{flex:none}.detail-list{grid-template-columns:1fr}.staff-nav,.platform-header-inner{gap:.4rem .75rem}.staff-nav-user{gap:.5rem}.platform-header-inner .brand-name{font-size:.95rem}.staff-nav .nav-toggle{display:inline-flex;order:1}.staff-nav .staff-nav-user{order:2;margin-left:auto}.staff-nav .staff-nav-links{order:3;flex-basis:100%;display:none;flex-direction:column;gap:.15rem;margin-top:.4rem}.staff-nav .staff-nav-links.open{display:flex}.staff-nav .staff-nav-links .staff-nav-link{padding:.6rem;border-radius:6px}}.type-badge{margin-left:.45rem;background:var(--color-primary-faint);color:var(--color-primary);font-size:.7rem;vertical-align:middle}.size-label{font-size:.9rem;margin:.15rem 0 .35rem}.facility-chips{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;padding:0;margin:.4rem 0 .6rem}.facility-chips .chip{font-size:.78rem;padding:.14rem .6rem;border-radius:999px;background:var(--color-accent-light);color:var(--color-accent-dark)}.amenity-chips .chip{display:inline-flex;align-items:center;gap:.3rem}.chip-remove{background:none;border:none;cursor:pointer;color:inherit;font-size:1rem;line-height:1;padding:0}.chip-input-row{display:flex;gap:.5rem}.chip-input-row input{flex:1}.image-upload{margin-bottom:1rem}.image-upload-label{display:block;font-weight:600;margin-bottom:.35rem}.image-upload-dropzone{border:1px dashed var(--color-line);border-radius:var(--radius);padding:.9rem}.image-upload-dropzone.drag-over{border-color:var(--color-accent);background:var(--color-primary-faint)}.image-upload-empty{margin:0 0 .6rem}.image-upload-preview{margin-bottom:.6rem;display:flex;align-items:center;gap:.75rem}.image-upload-preview img{max-width:220px;max-height:140px;object-fit:cover;border-radius:6px}.image-upload-status{margin:.4rem 0 0}.image-upload-optimise-hint{margin:.4rem 0 0;font-size:.8rem}.resource-gallery{margin-bottom:1rem}.gallery-thumbs{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}.gallery-thumb{border:1px solid var(--color-line);border-radius:var(--radius);padding:.5rem;width:140px}.gallery-thumb img{width:100%;height:90px;object-fit:cover;border-radius:6px;display:block;margin-bottom:.4rem}.gallery-thumb-actions{display:flex;gap:.25rem;flex-wrap:wrap}.badge-group{margin-left:.4rem;background:var(--color-primary-faint);color:var(--color-primary)}.badge-uncategorised{background:#fbecc8;color:#8a5a00;font-weight:600;white-space:nowrap}.report-row-uncategorised{background:#fdf6e3}.report-find-link{font-weight:600;white-space:nowrap}.extra-space-row{align-items:flex-end}.extra-space-row .btn{margin-bottom:.35rem}.group-booking-row{display:contents}.group-siblings ul{list-style:none;padding:0;margin:.4rem 0 1rem}.group-siblings li{padding:.2rem 0}.addon-lines{list-style:none;padding:0;margin:.4rem 0 1rem}.addon-lines li{display:flex;align-items:center;gap:.6rem;padding:.2rem 0}.addon-lines li>span:first-child{flex:1}.badge-addon-paid{background:var(--color-free-bg);color:var(--color-free)}.badge-addon-owed{background:var(--color-tentative-bg);color:var(--color-tentative)}.badge-addon-waived{background:var(--color-primary-faint);color:var(--color-muted)}.add-extras-box,.add-extra{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--color-line);border-radius:.5rem;background:var(--color-primary-faint);margin-top:.5rem}.add-extra-scope{display:flex;gap:1rem;flex-wrap:wrap;font-size:.9rem}.my-bookings-page{max-width:640px;margin:0 auto}.portal-list{display:flex;flex-direction:column;gap:.9rem;margin-top:1rem}.portal-booking{padding:1rem 1.25rem}.portal-booking-head{margin-bottom:.3rem}.portal-actions{display:flex;gap:.6rem;margin-top:.7rem}.badge-bond-held{background:var(--color-tentative-bg);color:var(--color-tentative)}.badge-bond-refunded{background:var(--color-free-bg);color:var(--color-free)}.badge-bond-forfeited,.badge-bond-waived{background:var(--color-primary-faint);color:var(--color-muted)}.bond-actions{border-top:1px solid var(--color-line);padding-top:.85rem;margin-top:.35rem}.bond-actions h3{margin-bottom:.2rem}.price-total{margin-top:.35rem;font-size:1.05rem}.cancel-scope{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--color-line);border-radius:.5rem;background:var(--color-primary-faint)}.cancel-scope p{margin:0 0 .15rem;font-size:.9rem}.turnstile-row{margin:.75rem 0}.turnstile-widget{min-height:65px}.secevent-warn td{background:var(--color-booked-bg)}.audit-booking-title{font-weight:600;margin-right:.5rem}.audit-booking-ref{font-size:.82rem}.recurring-preview{border:1px solid var(--color-border, #e0e0e0);border-radius:8px;padding:1rem;margin:1rem 0}.recurring-preview .occ-list{list-style:none;padding:0;margin:.6rem 0;display:flex;flex-direction:column;gap:.4rem}.occ-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.45rem .6rem;border-radius:6px;border:1px solid transparent}.occ-row.occ-available{background:#eef7ee;border-color:#cfe6cf}.occ-row.occ-conflict{background:#fdecea;border-color:#f5c6c0}.occ-row.occ-skip{opacity:.5;text-decoration:line-through}.occ-when{font-weight:600}.occ-badge{font-size:.78rem;padding:.1rem .5rem;border-radius:999px}.occ-badge-available{background:#2e7d32;color:#fff}.occ-badge-conflict{background:#d32f2f;color:#fff}.occ-skip{margin-left:auto;font-size:.85rem;opacity:.85}.booking-created{display:flex;flex-direction:column;gap:1rem}.booking-created-summary h2{margin:0 0 .25rem;color:var(--color-primary, #1A2E4A)}.booking-created-list{list-style:none;padding:0;margin:.5rem 0;display:flex;flex-direction:column;gap:.3rem}.booking-created-list li{padding:.35rem .55rem;background:#00000008;border-radius:6px;font-size:.92rem}.booking-created-totals{margin-top:.6rem;padding-top:.6rem;border-top:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:.15rem}.occ-total{margin:.6rem 0 .2rem;font-weight:600}.occ-total .muted{font-weight:400}.btn-link{background:none;border:none;color:var(--color-primary, #1A2E4A);text-decoration:underline;padding:.2rem 0;cursor:pointer}.btn-link:hover{opacity:.8}.auth-forgot{display:inline-block;margin-top:.75rem}.cal-agenda{display:none}@media(max-width:640px){.cal-scroll{display:none}.cal-agenda{display:flex;flex-direction:column;gap:.9rem}.agenda-day{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius);padding:.6rem .7rem;display:flex;flex-direction:column;gap:.4rem}.agenda-today{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.agenda-date{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--color-primary)}.agenda-today .agenda-date{color:var(--color-primary)}.agenda-add{border:none;background:none;color:var(--color-primary);font-weight:700;font-size:.85rem;cursor:pointer;padding:.2rem .3rem}.agenda-empty{color:var(--color-muted);font-size:.85rem;margin:0}.cal-agenda .booking-chip{display:block;padding:.5rem .6rem;font-size:.9rem;white-space:normal}}.install-page{max-width:34rem}.install-page h1{margin-bottom:.5rem}.install-done{font-weight:600}.install-ios{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius);padding:.75rem 1rem}.install-page .offline-banner{background:#fff4d6;border:1px solid #e0c37a;color:#6b4e00;border-radius:var(--radius);padding:.5rem .75rem;font-size:.9rem}.search-note{margin:.4rem 0 0;font-size:.85rem}
