:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2a24;background:#f5f3ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}a{color:#235c43}main{width:min(100% - 2rem,72rem);margin:0 auto;padding:3rem 0}.auth-shell{place-items:center;min-height:100vh;padding:1rem;display:grid}.card{background:#fff;border:1px solid #d8d4c8;border-radius:1rem;width:min(100%,30rem);padding:2rem;box-shadow:0 1rem 3rem #1f2a2414}.stack{gap:1rem;display:grid}label{gap:.4rem;font-weight:600;display:grid}input,select,textarea{width:100%;color:inherit;font:inherit;background:#fff;border:1px solid #707b75;border-radius:.5rem;padding:.8rem}input[type=checkbox]{width:auto;padding:0}button{color:#fff;font:inherit;cursor:pointer;background:#235c43;border:0;border-radius:.5rem;padding:.8rem 1rem;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}.button{color:#fff;background:#235c43;border-radius:.5rem;justify-content:center;align-items:center;padding:.7rem .9rem;font-weight:700;text-decoration:none;display:inline-flex}.button.secondary{color:#235c43;background:#fff;border:1px solid #65716a}.muted{color:#65716a}.message{background:#f1eee5;border-radius:.5rem;padding:.75rem}nav{border-bottom:1px solid #d8d4c8;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.5rem;display:flex}.page-heading{justify-content:space-between;align-items:end;gap:1.5rem;display:flex}.page-heading h1,.booking-form-card h2{margin:.15rem 0 .35rem}.eyebrow{color:#5b725f;letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.date-nav{border:0;justify-content:flex-end;padding:0}.booking-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);align-items:start;gap:1.5rem;display:grid}.calendar-card{background:#fff;border:1px solid #d8d4c8;border-radius:1rem;overflow:hidden;box-shadow:0 1rem 3rem #1f2a240f}.calendar-scroll{overscroll-behavior-x:contain;overflow-x:auto}.calendar-grid{min-width:max-content;display:grid}.calendar-corner,.room-heading{z-index:3;background:#f8f6f1;border-bottom:1px solid #d8d4c8;min-height:4rem;padding:.8rem;position:sticky;top:0}.calendar-corner{z-index:5;border-right:1px solid #e4e0d7;left:0}.room-heading{text-align:center;border-left:1px solid #e4e0d7;place-content:center;min-width:10rem;font-weight:800;display:grid}.room-heading small{color:#86682c;font-weight:600}.time-axis,.room-timeline{height:900px;position:relative}.time-axis{z-index:4;background-color:#fff;border-right:1px solid #e4e0d7;position:sticky;left:0}.time-axis,.room-timeline{background-image:repeating-linear-gradient(#0000 0 39px,#d7dcd8 39px 40px),repeating-linear-gradient(#0000 0 19px,#ecefeb 19px 20px)}.time-axis span{z-index:1;color:#65716a;text-align:center;justify-content:center;align-items:center;height:1.5rem;font-size:.78rem;display:flex;position:absolute;left:0;right:0;transform:translateY(-50%)}.time-axis-hour-line{pointer-events:none;border-top:1px solid #d7dcd8;position:absolute;left:0;right:0}.room-timeline{background-color:#fff;border-left:1px solid #e4e0d7}.booking-block{z-index:1;color:#3b321f;background:#f2e7cf;border-left:4px solid #986d25;border-radius:.35rem;flex-direction:column;padding:.35rem .45rem;font-size:.78rem;line-height:1.25;display:flex;position:absolute;left:.3rem;right:.3rem;overflow:hidden}.booking-block.own{color:#183c2c;background:#dcebe2;border-color:#235c43}.booking-block strong{font-size:.8rem}.selection-block{z-index:2;color:#183c2c;pointer-events:none;background:#dcebe2e0;border:2px solid #235c43;border-radius:.35rem;flex-direction:column;padding:.25rem .4rem;font-size:.72rem;display:flex;position:absolute;left:.2rem;right:.2rem}.selection-action-bar{z-index:39;background:#edf8f0;border:1px solid #a8cbb5;border-radius:.8rem;align-items:center;gap:.5rem;padding:.45rem;display:flex;position:fixed;bottom:2rem;right:6.5rem;box-shadow:0 .4rem 1rem #1f2a242e}.booking-form-card{position:sticky;top:1rem}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-help{margin:0;font-size:.83rem}.message.error{color:#7b271c;background:#fff0ed;border:1px solid #dbaca4}.message.success{color:#205537;background:#edf8f0;border:1px solid #a8cbb5}.empty-state{text-align:center;padding:3rem 1.5rem}.admin-grid{grid-template-columns:minmax(18rem,30rem) minmax(24rem,1fr);align-items:start;gap:1.5rem;display:grid}.wide-card{width:100%}.user-settings-list{gap:.75rem;display:grid}.user-setting-row{border-top:1px solid #e4e0d7;grid-template-columns:minmax(12rem,1fr) minmax(13rem,auto) auto;align-items:center;gap:1rem;padding:1rem 0;display:grid}.inline-check{grid-auto-flow:column;align-items:center;gap:.5rem;font-weight:500;display:flex}.my-bookings-list{gap:1rem;display:grid}.booking-management-card{padding:1.4rem}.booking-summary h2{margin:.15rem 0 .35rem}.booking-summary p{margin:.3rem 0}details{border-top:1px solid #e4e0d7;padding-top:.8rem}summary{color:#235c43;cursor:pointer;width:fit-content;font-weight:800}.operation-form{margin-top:1rem}.danger-zone summary{color:#7b271c}.danger-button{background:#7b271c}fieldset{border:1px solid #707b75;border-radius:.5rem;gap:.75rem;min-width:0;max-width:100%;margin:0;padding:1rem;display:grid}legend{padding:0 .35rem;font-weight:800}.recurring-form-card{max-width:48rem}.result-card{background:#edf8f0;border-color:#65716a}.result-card h2{margin:.15rem 0 .35rem}.result-columns{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.result-columns ul{margin:0;padding-left:1.3rem}.result-list{max-height:24rem;padding-right:.5rem;overflow:auto}.admin-record-list{gap:.75rem;display:grid}.admin-billing-fields{grid-column:1/-1}.billing-address-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-editor-row{border-top:1px solid #e4e0d7;grid-template-columns:minmax(12rem,1fr) 7rem auto auto auto;align-items:end;gap:.75rem;padding-top:.75rem;display:grid}.admin-editor-row.compact{grid-template-columns:minmax(12rem,1fr) auto auto}.admin-access-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.admin-summary-list{max-height:18rem;margin:0;padding-left:1.25rem;overflow:auto}.admin-permission-list{gap:.75rem;max-height:32rem;padding-right:.35rem;display:grid;overflow:auto}.permission-matrix-row{border-top:1px solid #e4e0d7;grid-template-columns:minmax(9rem,1fr) auto auto auto;align-items:center;gap:.65rem;padding-top:.65rem;display:grid}.permission-matrix-row.member-row{grid-template-columns:minmax(9rem,1fr) auto auto}.permission-matrix-row small{color:#65716a;display:block}.monthly-filter{grid-template-columns:minmax(12rem,1fr) auto auto;align-items:end;gap:.75rem;min-width:0;max-width:100%;display:grid}.monthly-filter>*,.monthly-filter label{min-width:0;max-width:100%}.monthly-filter input[type=month]{min-width:0;max-width:100%;inline-size:100%;display:block}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #d8d4c8;padding:.7rem}tfoot th{font-weight:800}.users-list-mobile{display:none}.user-mobile-card{background:#fff;border:1px solid #d8d4c8;border-radius:.8rem;gap:.9rem;padding:1rem;display:grid}.user-mobile-card-heading{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.user-mobile-card-heading h3{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.05rem}.user-status{color:#65716a;background:#f1eee5;border-radius:999px;flex:none;padding:.25rem .5rem;font-size:.78rem;font-weight:700}.user-status.active{color:#205537;background:#edf8f0}.user-mobile-details{gap:.65rem;margin:0;display:grid}.user-mobile-details>div{border-top:1px solid #e4e0d7;grid-template-columns:minmax(7.5rem,38%) minmax(0,1fr);gap:.75rem;padding-top:.65rem;display:grid}.user-mobile-details dt{color:#65716a;font-size:.82rem;font-weight:700}.user-mobile-details dd{overflow-wrap:anywhere;min-width:0;margin:0}.user-mobile-edit{width:100%}.user-mobile-empty{margin:0}.monthly-detail-list-mobile,.cancellation-summary-list-mobile,.cancellation-detail-list-mobile,.pricing-list-mobile{display:none}.report-mobile-card{background:#fff;border:1px solid #d8d4c8;border-radius:.8rem;gap:.9rem;padding:1rem;display:grid}.report-mobile-card-heading{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.report-mobile-card-heading h3{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.05rem}.report-mobile-card-heading span{color:#65716a;text-align:right;flex:none;font-size:.82rem;font-weight:700}.report-mobile-details{gap:.65rem;margin:0;display:grid}.report-mobile-details>div{border-top:1px solid #e4e0d7;grid-template-columns:minmax(7.5rem,38%) minmax(0,1fr);gap:.75rem;padding-top:.65rem;display:grid}.report-mobile-details dt{color:#65716a;font-size:.82rem;font-weight:700}.report-mobile-details dd{overflow-wrap:anywhere;min-width:0;margin:0}.desktop-calendar-header{border-bottom:1px solid #ddd8cc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0 .5rem;display:flex}.mobile-date-toolbar{display:none}.booking-modal-backdrop{z-index:50;background:#1f2a246b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.booking-modal-card{width:min(100%,34rem);max-height:calc(100vh - 2rem);overflow:auto}.booking-modal-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.booking-modal-heading h2{margin:.15rem 0 .35rem}.booking-modal-actions{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.calendar-help{margin:0}@media (min-width:52.01rem){main>section:not(.booking-page){width:calc(100vw - .75rem);margin-left:calc(50% - 50vw + .375rem);padding-inline:1rem}}@media (hover:none) and (pointer:coarse){.calendar-grid{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}@media (max-width:52rem){main{width:100%;padding:.5rem 0 0}main>section:not(.booking-page){width:100%;margin-left:0;padding-inline:1rem}main>nav{gap:.65rem;margin:0 1rem;padding:.7rem 0;font-size:.9rem}main>nav span{display:none}main>nav button{padding:.55rem .7rem}.booking-page{gap:0!important;width:100%!important}.desktop-calendar-header{display:none}.mobile-date-toolbar{background:#fff;border-top:1px solid #d8d4c8;border-bottom:1px solid #d8d4c8;display:block}.mobile-week-strip{grid-template-columns:repeat(7,minmax(2.7rem,1fr)) 3.5rem;align-items:stretch;display:grid;position:relative}.mobile-day-button{color:#343b37;background:#fff;border-radius:0;place-items:center;gap:.2rem;min-width:0;padding:.5rem .1rem .55rem;font-weight:500;display:grid}.mobile-day-button span{font-size:.72rem;font-weight:600}.mobile-day-button strong{border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;font-size:1rem;display:grid}.mobile-day-button.active strong{color:#fff;background:#235c43}.mobile-calendar-button{color:#324039;background:#eef1ef;border-radius:50%;margin:.4rem;padding:0;font-size:1.35rem}.mobile-native-date-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;right:0}.calendar-card{box-shadow:none;border-left:0;border-right:0;border-radius:0}.calendar-corner,.room-heading{min-height:3.2rem;padding:.55rem .35rem}.room-heading{font-size:.92rem}.room-heading small{font-size:.72rem}.time-axis span{font-size:.8rem}.admin-grid{grid-template-columns:1fr}.page-heading{text-align:center;align-items:center}.page-heading>div{width:100%}.monthly-detail-table-desktop,.cancellation-summary-table-desktop,.cancellation-detail-table-desktop,.pricing-table-desktop{display:none}.monthly-detail-list-mobile,.cancellation-summary-list-mobile,.cancellation-detail-list-mobile,.pricing-list-mobile{gap:.75rem;display:grid}.report-mobile-details>div{grid-template-columns:minmax(6.75rem,34%) minmax(0,1fr);gap:.5rem}.users-table-desktop{display:none}.users-list-mobile{gap:.75rem;display:grid}.user-mobile-details>div{grid-template-columns:minmax(6.75rem,34%) minmax(0,1fr);gap:.5rem}.user-setting-row{grid-template-columns:1fr}.page-heading{flex-direction:column;align-items:center}.date-nav{justify-content:stretch}.date-nav .button{flex:1}.booking-layout{grid-template-columns:1fr}.booking-form-card{order:-1;position:static}.selection-action-bar{display:none}.result-columns{grid-template-columns:1fr}.booking-modal-backdrop{align-items:end;padding:0}.booking-modal-card{border-radius:1rem 1rem 0 0;width:100%;max-width:none;max-height:min(88vh,48rem);padding:1.25rem;box-shadow:0 -1rem 3rem #1f2a241f}.booking-modal-actions{background:#fff;padding-top:.6rem;position:sticky;bottom:0}.repeat-options{padding:.75rem}.calendar-help{display:none}.admin-editor-row,.admin-editor-row.compact,.admin-access-grid,.permission-matrix-row,.permission-matrix-row.member-row,.monthly-filter,.billing-address-fields{grid-template-columns:1fr}.monthly-filter{grid-template-columns:minmax(0,1fr);width:100%}}.migration-page,.migration-page>.stack{width:100%;min-width:0}.migration-card,.migration-import-card{width:100%;max-width:none}.migration-import-card input{width:100%}.import-readiness{background:#f7f8f7;border:1px solid #d4d9d6;border-radius:.6rem;padding:.8rem 1rem}.import-readiness p{margin:.25rem 0}
.mobile-app-nav{display:none}@media (max-width:52rem){.desktop-app-nav{display:none}.mobile-app-nav{z-index:50;background:#fff;border-bottom:1px solid #d8d4c8;justify-content:space-between;align-items:center;width:100%;min-height:3rem;margin:0;padding:.1rem .75rem;display:flex;position:sticky;top:0}.mobile-app-brand{font-size:1.05rem;text-decoration:none}.mobile-app-menu{border:0;margin:0;padding:0;position:relative}.mobile-app-menu summary{color:#235c43;cursor:pointer;background:#eef1ef;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:1rem;list-style:none;display:grid}.mobile-app-menu summary::-webkit-details-marker{display:none}.mobile-app-menu-panel{z-index:80;background:#fff;border:1px solid #d8d4c8;border-radius:.8rem;gap:.75rem;width:min(18rem,100vw - 2rem);padding:1rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 1rem 2.5rem #1f2a242e}.mobile-app-menu-panel p{margin:0}.mobile-app-menu-panel form,.mobile-app-menu-panel button{width:100%}.mobile-date-toolbar{z-index:20;position:relative}.mobile-calendar-popover{z-index:60;background:#fff;border:1px solid #cfd4d0;border-radius:.7rem;width:min(22rem,100vw - 1rem);padding:.8rem;position:absolute;top:calc(100% - .1rem);right:.5rem;box-shadow:0 .8rem 2rem #1f2a2433}.mobile-calendar-month-nav{text-align:center;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;display:grid}.mobile-calendar-arrow{color:#354039;background:0 0;padding:.3rem;font-size:1.8rem}.mobile-calendar-weekdays,.mobile-calendar-days{grid-template-columns:repeat(7,1fr);gap:.15rem;display:grid}.mobile-calendar-weekdays{text-align:center;margin:.55rem 0 .25rem;font-size:.78rem;font-weight:700}.mobile-calendar-days button{aspect-ratio:1;color:#333d38;background:0 0;border-radius:50%;place-items:center;padding:0;font-weight:500;display:grid}.mobile-calendar-days button.outside{color:#c4c9c6}.mobile-calendar-days button.selected{color:#fff;background:#235c43}.mobile-calendar-today{color:#235c43;background:0 0;width:100%;margin-top:.4rem;padding:.45rem}.mobile-week-strip{grid-template-columns:repeat(7,minmax(2.6rem,1fr)) 3.5rem}.room-heading small{display:none}.time-axis{z-index:16;background:#fff;border-right:1px solid #cfd4d0;position:sticky;left:0;box-shadow:.15rem 0 .2rem #1f2a240f}.time-axis:after{content:none}.time-axis+.room-timeline{border-left:1px solid #cfd4d0!important}.time-axis span,.time-axis span.first-time-label{text-align:right;color:#626d67;font-variant-numeric:tabular-nums;white-space:nowrap;width:calc(100% - 1rem);font-size:.82rem;font-weight:400;line-height:1;right:1rem;translate:0 .58rem}.calendar-card,.calendar-card *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}
@media (max-width:52rem){.time-axis{border-right:1px solid #d7ddd9!important}.time-axis+.room-timeline{border-left:1px solid #e4e0d7!important}.room-timeline{background-image:repeating-linear-gradient(#0000 0 39px,#c9d0cc 40px),repeating-linear-gradient(#0000 0 19px,#ecefed 20px)!important}.time-axis span,.time-axis span.first-time-label{translate:0 -.48em}.time-axis span.first-time-label{translate:0 .18rem}}
button,input[type=submit],a.button{transition:filter .12s,opacity .12s,transform 80ms}button:active:not(:disabled),input[type=submit]:active:not(:disabled),a.button:active:not([aria-busy=true]){filter:brightness(.92);transform:translateY(1px)}button.is-submitting,input[type=submit].is-submitting,a.button.is-submitting{cursor:wait;opacity:.72;filter:saturate(.72)}button[aria-busy=true],input[type=submit][aria-busy=true],a.button[aria-busy=true]{pointer-events:none}body.user-editor-modal-open{overflow:hidden}body.user-editor-modal-open:before{content:"";z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#13211c7a;position:fixed;inset:0}.user-editor-modal{z-index:1001;overscroll-behavior:contain;width:min(1120px,100vw - 32px);max-height:90vh;margin:0;position:fixed;top:5vh;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 22px 70px #00000047}@media (max-width:720px){.user-editor-modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:1.25rem;top:12px}}
