.asb-calendar{--asb-resource-width: 210px;--asb-axis-width: 1440px;color:#1d2327;font-size:14px;line-height:1.45;width:100%;min-width:0}.asb-calendar-toolbar,.asb-calendar-date{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.asb-calendar-toolbar{justify-content:space-between;padding:12px 0}.asb-calendar-toolbar label{display:flex;flex-direction:column;gap:5px;margin:0;font-weight:600}.asb-calendar-toolbar button,.asb-calendar-toolbar input,.asb-calendar-toolbar select{min-height:44px}.asb-calendar-legend{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:12px 0}.asb-calendar-key{border:1px solid #8c8f94;border-radius:3px;padding:5px 9px}.asb-calendar-scroll{overflow:auto;max-height:68vh;isolation:isolate;border:1px solid #8c8f94;background:#fff}.asb-calendar-header,.asb-calendar-row{display:flex;width:calc(var(--asb-resource-width) + var(--asb-axis-width))}.asb-calendar-header{position:sticky;top:0;z-index:6;min-height:54px;background:#f0f0f1}.asb-calendar-resource{position:sticky;left:0;width:var(--asb-resource-width);flex:0 0 var(--asb-resource-width);box-sizing:border-box;padding:10px 12px;border-right:1px solid #8c8f94;border-bottom:1px solid #c3c4c7;background:#fff;z-index:4;overflow-wrap:anywhere}.asb-calendar-resource small{display:block;margin-top:4px}.asb-calendar-header .asb-calendar-resource{z-index:7;background:#f0f0f1;font-weight:600}.asb-calendar-axis,.asb-calendar-track{width:var(--asb-axis-width);flex:0 0 var(--asb-axis-width);position:relative}.asb-calendar-axis span{position:absolute;padding:6px 3px;white-space:nowrap;font-size:12px;border-left:1px solid #c3c4c7}.asb-calendar-axis small{display:block;color:#50575e}.asb-calendar-track{min-height:86px;border-bottom:1px solid #c3c4c7}.asb-calendar-slot{position:absolute;top:0;bottom:0;box-sizing:border-box;border:0;border-right:1px solid #c3c4c7;padding:4px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;font-size:12px;margin:0!important;border-radius:0}.asb-calendar button.asb-calendar-slot{cursor:pointer;padding:4px 2px;color:#163b20}.asb-calendar-slot small{font-size:10px}.asb-calendar-free{background:#eaf5ec;color:#163b20}.asb-calendar-busy{background:#dce9f5;color:#102d49}.asb-calendar-own{background:#135e96;color:#fff}.asb-calendar-blocked{background:repeating-linear-gradient(135deg,#f6e4c8,#f6e4c8 8px,#f0d7b0 8px,#f0d7b0 16px);color:#513000}.asb-calendar-closed{background:repeating-linear-gradient(135deg,#e4e5e7,#e4e5e7 8px,#d9dbde 8px,#d9dbde 16px);color:#32373c}.asb-calendar-past,.asb-calendar-unavailable{background:#f0f0f1;color:#50575e}.asb-calendar-admin-booking{background:#e8def2;color:#362248}.asb-calendar-event{position:absolute;top:8px;bottom:8px;z-index:2;box-sizing:border-box;border:1px solid currentColor;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:5px 8px!important;margin:0!important;text-align:left;font-size:13px}.asb-calendar-event strong,.asb-calendar-event small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asb-calendar button.asb-calendar-event{cursor:pointer}.asb-calendar .asb-calendar-event.asb-calendar-busy,.asb-calendar .asb-calendar-event.asb-calendar-own{z-index:3}.asb-calendar-now{position:absolute;top:0;bottom:0;width:2px;background:#b32d2e;z-index:5;pointer-events:none}.asb-calendar :focus-visible{outline:3px solid #2271b1;outline-offset:-3px}.asb-calendar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100100;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.asb-calendar-panel{width:min(850px,100%);max-height:90vh;overflow-y:auto;background:#fff;padding:24px;border-radius:6px;box-sizing:border-box;color:#1d2327}.asb-calendar-panel-heading{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.asb-calendar-panel-heading h2{margin:0;min-width:0;overflow-wrap:anywhere}.asb-calendar-panel label{display:block;margin:12px 0}.asb-calendar-panel input:not([type=checkbox]):not([type=radio]),.asb-calendar-panel select,.asb-calendar-panel textarea{width:100%;box-sizing:border-box;max-width:100%;min-height:44px}.asb-calendar-panel button{min-height:44px;padding:6px 12px}.asb-calendar-panel .asb-booking-detail dl{display:grid;grid-template-columns:minmax(100px,1fr) 3fr;gap:8px}.asb-calendar-panel dd{margin:0;overflow-wrap:anywhere}@media(max-width:782px){.asb-calendar{--asb-resource-width: 155px}.asb-calendar-resource{padding:8px}.asb-calendar-toolbar{justify-content:flex-start}}@media(max-width:480px){.asb-calendar{--asb-resource-width: 118px;--asb-axis-width: 1440px}.asb-calendar-resource{font-size:12px}.asb-calendar-toolbar input,.asb-calendar-toolbar select,.asb-calendar-panel input,.asb-calendar-panel select,.asb-calendar-panel textarea{font-size:16px}.asb-calendar-resource small{font-size:10px}.asb-calendar-track{min-height:96px}.asb-calendar-date{width:100%}.asb-calendar-toolbar label{max-width:100%}.asb-calendar-overlay{align-items:flex-end;padding:0}.asb-calendar-panel{max-height:94dvh;border-radius:12px 12px 0 0;padding:16px}.asb-calendar-panel .asb-booking-detail dl{grid-template-columns:1fr}}.asb-reservation-section{border-top:1px solid #dcdcde;margin-top:20px;padding-top:12px;min-width:0}.asb-reservation-section h3{margin:0 0 8px}.asb-reservation-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.asb-reservation-form label{min-width:0}.asb-reservation-form small{display:block;color:#50575e;overflow-wrap:anywhere}.asb-customer-types{display:flex;gap:8px;flex-wrap:wrap;border:0;padding:0}.asb-customer-types label{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px;border:1px solid #8c8f94;border-radius:4px;flex:1 1 180px;margin:0;box-sizing:border-box}.asb-customer-types label:has(input:checked){background:#e8f1fa;border-color:#2271b1}.asb-selected-customer{background:#f0f6fc;border:1px solid #c3c4c7;padding:12px;display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:12px;overflow-wrap:anywhere}.asb-selected-customer div{min-width:0}.asb-autocomplete ul{padding:0;margin:8px 0;max-height:240px;overflow-y:auto;border:1px solid #8c8f94}.asb-autocomplete li{list-style:none;display:flex;gap:12px;justify-content:space-between;align-items:center;padding:8px;border-bottom:1px solid #dcdcde;overflow-wrap:anywhere}.asb-autocomplete li[aria-selected=true]{background:#e8f1fa}.asb-autocomplete li span{min-width:0}.asb-reservation-actions{flex-wrap:wrap;position:sticky;bottom:-24px;z-index:8;background:#fff;border-top:1px solid #c3c4c7;display:flex;justify-content:flex-end;gap:12px;padding:12px 0;margin-top:20px}.asb-reservation-audit{background:#f6f7f7;padding:12px}.asb-destructive-actions{border-top:2px solid #b32d2e;margin-top:24px;padding-top:12px}.asb-calendar-panel .asb-checkbox{display:flex;align-items:center;gap:8px;min-height:44px}@media(max-width:600px){.asb-reservation-columns{grid-template-columns:minmax(0,1fr)}.asb-customer-types{flex-direction:column}.asb-customer-types label{flex-basis:auto}.asb-reservation-actions{bottom:-16px}.asb-autocomplete li{align-items:flex-start}}.asb-reservation-form fieldset{min-width:0;padding:0;margin:0;border:0}.asb-selected-customer{flex-wrap:wrap}.asb-selected-customer>*{min-width:0;max-width:100%}.asb-selected-customer strong{flex:1 1 100%}@media(min-width:783px){.asb-calendar{--asb-resource-width:260px}.asb-calendar-header{min-height:36px}.asb-calendar-resource{padding:8px 10px;display:flex;align-items:center;flex-wrap:wrap}.asb-calendar-resource-meta{font-size:12px;color:#50575e}.asb-calendar-track{min-height:44px}.asb-calendar-event{top:3px;bottom:3px;padding:2px 6px!important;font-size:12px}.asb-calendar-event small{font-size:10px}.asb-calendar-slot{padding:2px}.asb-calendar-resource>small{flex-basis:100%}}@media(max-width:782px){.asb-calendar-resource-meta{display:block;font-size:11px}.asb-calendar-track{min-height:64px}}.asb-bank-instructions img{max-width:100%;height:auto;background:#fff}.asb-calendar-online_closed{background:repeating-linear-gradient(135deg,#fff3cd,#fff3cd 6px,#ffe7a6 6px,#ffe7a6 12px);color:#614b00}.asb-calendar-restriction{padding:12px;border:1px solid #c79b29;background:#fff8e1;overflow-wrap:anywhere}.asb-calendar-scroll{border:0;background:transparent}.asb-calendar-grid{display:grid;grid-template-columns:fit-content(220px) var(--asb-axis-width);width:max-content;border:1px solid #8c8f94;background:#fff}.asb-calendar-header,.asb-calendar-row{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;width:auto}.asb-calendar-resource{width:auto;min-width:118px;max-width:220px;flex:none}.asb-calendar-resource strong{min-width:0;overflow-wrap:anywhere}.asb-calendar-scroll.is-loading .asb-calendar-grid{opacity:.55}.asb-calendar-slot,.asb-calendar-slot small{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asb-calendar-past{background:repeating-linear-gradient(135deg,#f0f0f1,#f0f0f1 3px,#e4e5e7 3px,#e4e5e7 4px)}.asb-calendar-unavailable{background:repeating-linear-gradient(45deg,#f0f0f1,#f0f0f1 5px,#dcdcde 5px,#dcdcde 6px)}.asb-membership-link{margin:12px 0;padding:8px 12px;border:1px solid #dcdcde}.asb-link-methods label{display:flex;align-items:center;gap:8px}.asb-link-methods input[type=radio]{width:auto}@media(max-width:782px){.asb-calendar-grid{grid-template-columns:fit-content(155px) var(--asb-axis-width)}.asb-calendar-resource{max-width:155px}}@media(max-width:480px){.asb-calendar-grid{grid-template-columns:118px var(--asb-axis-width)}.asb-calendar-resource{max-width:118px}}.asb-payment-options{display:grid;gap:12px}.asb-public label.asb-payment-option,.asb-reservation-form label.asb-payment-option{display:flex;align-items:flex-start;gap:12px;padding:16px;margin:0;border:2px solid #8c8f94;border-radius:6px;background:#fff;cursor:pointer;width:100%;box-sizing:border-box}.asb-public .asb-payment-option input[type=radio],.asb-reservation-form .asb-payment-option input[type=radio]{display:inline-block;width:18px;height:18px;min-width:18px;max-width:18px;flex:0 0 18px;margin:3px 0 0;padding:0;accent-color:#135e96}.asb-payment-option span{min-width:0}.asb-payment-option strong,.asb-payment-option small{display:block;overflow-wrap:anywhere}.asb-payment-option small{margin-top:5px}.asb-public label.asb-payment-option.is-selected,.asb-reservation-form label.asb-payment-option.is-selected{border-color:#135e96;background:#edf5fc}.asb-public label.asb-payment-option.is-disabled,.asb-reservation-form label.asb-payment-option.is-disabled{border-color:#c3c4c7;background:#f0f0f1;color:#50575e;cursor:default}.asb-payment-option:focus-within{outline:3px solid #2271b1;outline-offset:3px}.asb-booking-actions{display:grid;gap:16px;margin-top:20px}.asb-action-group{border:1px solid #c3c4c7;border-radius:6px;padding:16px}.asb-action-group h3{margin-top:0}.asb-action-buttons{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.asb-action-group form{margin:12px 0}.asb-action-group button,.asb-action-buttons button{min-height:40px;margin:0!important;border:1px solid currentColor;border-radius:4px;padding:8px 14px}:is(.asb-calendar-panel,.asb-public,.asb-admin) button:is(.asb-action-primary,.asb-action-success,.asb-action-warning,.asb-action-danger,.asb-action-secondary){border:1px solid var(--asb-action-border);border-radius:4px;background:var(--asb-action-bg);color:var(--asb-action-text);min-height:44px;padding:8px 16px;font:inherit;font-weight:600;line-height:1.4;text-decoration:none;box-shadow:none}.asb-action-primary{--asb-action-bg: #135e96;--asb-action-border: #135e96;--asb-action-text: #fff}.asb-action-success{--asb-action-bg: #176437;--asb-action-border: #176437;--asb-action-text: #fff}.asb-action-warning{--asb-action-bg: #fff4df;--asb-action-border: #a45c00;--asb-action-text: #663c00}.asb-action-danger{--asb-action-bg: #b32d2e;--asb-action-border: #b32d2e;--asb-action-text: #fff}.asb-action-secondary{--asb-action-bg: #f0f0f1;--asb-action-border: #8c8f94;--asb-action-text: #2c3338}:is(.asb-calendar-panel,.asb-public,.asb-admin) button:is(.asb-action-primary,.asb-action-success,.asb-action-warning,.asb-action-danger,.asb-action-secondary):hover:not(:disabled){filter:brightness(.92);cursor:pointer}:is(.asb-calendar-panel,.asb-public,.asb-admin) button:is(.asb-action-primary,.asb-action-success,.asb-action-warning,.asb-action-danger,.asb-action-secondary):focus-visible{outline:3px solid #2271b1;outline-offset:3px}:is(.asb-calendar-panel,.asb-public,.asb-admin) button:is(.asb-action-primary,.asb-action-success,.asb-action-warning,.asb-action-danger,.asb-action-secondary):disabled{opacity:.55;cursor:not-allowed;filter:none}.asb-reservation-actions button{margin:0}.asb-booking-actions :focus-visible,.asb-daily-overview :focus-visible,.asb-receivables :focus-visible,.asb-client-outstanding :focus-visible,.asb-debt-banner :focus-visible{outline:3px solid #2271b1;outline-offset:3px}.asb-cancellation-summary{border-left:4px solid #b32d2e;background:#fcf0f1;padding:12px 16px}.asb-daily-overview{margin-top:24px}.asb-daily-overview section{margin:20px 0}.asb-daily-overview table{min-width:800px;table-layout:fixed}.asb-daily-overview th,.asb-daily-overview td{overflow-wrap:anywhere;vertical-align:top}.asb-daily-overview .asb-operation-note{white-space:pre-wrap;width:30%}.asb-daily-overview small{display:block}.asb-debt-banner,.asb-outstanding-warning{border:1px solid #a45c00;border-left:5px solid #a45c00;background:#fff4df;color:#442900;padding:16px;margin:16px 0}.asb-receivable-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:20px 0}.asb-receivable-filters label{display:flex;flex-direction:column;gap:5px}.asb-receivables,.asb-debtor-detail,.asb-client-outstanding{min-width:0;max-width:100%}.asb-debtor-detail{border-top:2px solid #c3c4c7;margin-top:24px;padding-top:16px}.asb-client-outstanding table{min-width:800px}@media(max-width:480px){.asb-action-group{padding:12px}.asb-action-buttons label,.asb-receivable-filters label{width:100%}}.asb-usage-summary{border:1px solid #c7d8e7;border-radius:6px;padding:12px 16px;margin:12px 0;background:#f6fafd;color:#202a33}.asb-usage-summary h3{margin:0 0 8px;font-size:1.1em}.asb-usage-summary ul{padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}.asb-usage-summary li{display:flex;flex-direction:column;gap:5px}.asb-usage-summary progress{width:100%;max-width:320px;accent-color:#1568a6}.asb-restriction-badge{display:block;padding:10px 14px;border:1px solid #b42318;border-radius:4px;background:#fff2f0;color:#8a1c13;margin:12px 0}.asb-policy-reasons{padding-left:20px}.asb-policy-reasons li{margin:6px 0}.asb-bank-instructions dd{overflow-wrap:anywhere}.asb-preserve-lines{white-space:pre-line}.asb-calendar-toolbar .button{white-space:normal}.asb-calendar-toolbar label{min-inline-size:0}.asb-calendar div:before,.asb-calendar div:after,.asb-calendar:before,.asb-calendar:after,.asb-calendar ul:before,.asb-calendar ul:after{content:none;display:none}.asb-calendar .asb-calendar-resource{grid-column:1;grid-row:1}.asb-calendar .asb-calendar-axis,.asb-calendar .asb-calendar-track{grid-column:2;grid-row:1}.asb-calendar .asb-calendar-axis span{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.asb-calendar-slot[data-compact]>span,.asb-calendar-slot[data-compact]>small{visibility:hidden}.asb-scope-dialog{box-sizing:border-box;width:min(40rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;border:1px solid #8c8f94;border-radius:8px;padding:1.25rem;background:#fff;color:#1d2327}.asb-scope-dialog::backdrop{background:#00000080}.asb-scope-dialog label{display:block;margin:.75rem 0}.asb-scope-dialog textarea{display:block;width:100%;box-sizing:border-box}.asb-scope-dialog fieldset{border:1px solid #c3c4c7;padding:1rem}.asb-scope-dialog .asb-actions{display:flex;flex-wrap:wrap;gap:.5rem}
