:root{--bg:#f6f7f9;--surface:#fff;--text:#1c2230;--muted:#5d6677;--border:#dde1e8;--accent:#3b5bdb;--accent-text:#fff;--discord:#5865f2;--danger:#c92a2a;--danger-bg:#fff0f0;--warn-bg:#fff8e6;--warn-border:#f0c36d;--radius:8px;--fp-bg:#fbfbfc;--fp-table:#2f6fd6;--fp-table-text:#fff;--fp-room:#7c3aed;--fp-area:#0f8a6a;--fp-select:#f08c00;--fp-invalid:#e03131;--fp-free:#2b8a3e;--fp-busy:#c92a2a;--fp-off:#868e96;--fp-event:#0c8599;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#12151c;--surface:#1b1f29;--text:#e6e9ef;--muted:#9aa3b5;--border:#2d3340;--accent:#748ffc;--accent-text:#0d1020;--danger:#ff8787;--danger-bg:#2c1618;--warn-bg:#2a2414;--warn-border:#7a5f1f;--fp-bg:#161a22;--fp-table:#5b8def;--fp-table-text:#0d1020;--fp-room:#b197fc;--fp-area:#38d9a9;--fp-select:#ffa94d;--fp-invalid:#ff6b6b;--fp-free:#51cf66;--fp-busy:#ff6b6b;--fp-off:#6c757d;--fp-event:#3bc9db}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent)}h1{margin:0 0 1rem;font-size:1.6rem}h2{margin:0 0 .5rem;font-size:1.15rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding:.75rem 1rem;display:flex}.brand{color:var(--text);font-weight:700;text-decoration:none}.topbar nav{flex:1;gap:1rem;display:flex}.topbar nav a{color:var(--muted);border-bottom:2px solid #0000;padding:.25rem 0;text-decoration:none}.topbar nav a.active{color:var(--text);border-bottom-color:var(--accent)}.topbar nav{flex-wrap:wrap;align-items:center}.admin-menu{margin-left:auto;position:relative}.admin-trigger{font:inherit;cursor:pointer;border-radius:var(--radius);border:1px dashed var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));color:var(--text);padding:.3rem .75rem;font-weight:600}.admin-trigger.is-current,.admin-trigger[aria-expanded=true]{background:var(--accent);color:var(--accent-text);border-style:solid}.admin-dropdown{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:12rem;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 8px 24px #0000002e}.topbar .admin-dropdown a{color:var(--text);border-bottom:none;border-radius:6px;padding:.45rem .7rem;display:block}.topbar .admin-dropdown a:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.topbar .admin-dropdown a.active{background:color-mix(in srgb, var(--accent) 18%, transparent);font-weight:600}.user{align-items:center;gap:.5rem;display:flex}.user img{border-radius:50%}.content{max-width:1100px;margin:0 auto;padding:1.5rem 1rem 3rem}.page-status{text-align:center;padding:2rem 1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem 1.25rem}.button{border-radius:var(--radius);background:var(--accent);color:var(--accent-text);font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.button:disabled{opacity:.55;cursor:default}.button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.button-quiet{color:var(--text);border-color:var(--border);background:0 0;font-weight:500}.button-discord{background:var(--discord);color:#fff;width:100%;padding:.75rem}input[type=email],input[type=search],input[type=text]{width:100%;max-width:28rem;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.5rem .75rem}label{margin-bottom:.25rem;font-weight:600;display:block}.actions{align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.hint,.muted,.fine-print{color:var(--muted)}.muted{font-size:.875rem}.fine-print{margin-top:1.25rem;font-size:.8rem}.error{color:var(--danger)}.alert{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius);padding:.6rem .9rem}.badge{background:var(--accent);color:var(--accent-text);border-radius:999px;margin-right:.25rem;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger)}.details{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0;display:grid}.details dt{color:var(--muted)}.details dd{margin:0}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:1rem;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .75rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.8rem}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.login{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:26rem;padding:2rem 1.5rem}.floorplan{touch-action:none;-webkit-user-select:none;user-select:none;display:block}.fp-view{overflow-x:auto}.fp-background{fill:var(--fp-bg)}.fp-gridline{fill:none;stroke-width:.035px}.fp-gridline-dark{stroke:#0f141e8c}.fp-gridline-light{stroke:#ffffffbf}.fp-hatch{stroke:var(--fp-room);stroke-width:.06px;opacity:.55}.fp-dot{fill:var(--fp-area);opacity:.7}.fp-resource .fp-shape{stroke-width:.06px}.fp-table .fp-shape{fill:var(--fp-table);stroke:var(--fp-table)}.fp-fill{stroke:none}.fp-outline{fill:none;stroke-width:.1px;stroke-linecap:square}.fp-room .fp-outline{stroke:var(--fp-room);stroke-dasharray:.3 .15}.fp-area .fp-outline{stroke:var(--fp-area);stroke-dasharray:.06 .14;stroke-linecap:round}.fp-label{pointer-events:none;font-size:.34px;font-weight:700}.fp-label-table{fill:var(--fp-table-text)}.fp-label-zone{fill:var(--text);paint-order:stroke;stroke:var(--fp-bg);stroke-width:.08px}.fp-lock rect{fill:var(--text)}.fp-lock path{stroke:var(--text)}.fp-resource.is-disabled .fp-shape,.fp-resource.is-disabled .fp-fill{opacity:.35}.fp-disabled-strike{stroke:var(--text);stroke-width:.06px}.fp-resource.is-highlighted :is(.fp-shape,.fp-outline){stroke:var(--fp-select);stroke-width:.12px;stroke-dasharray:none}.fp-resource.is-selected :is(.fp-shape,.fp-outline){stroke:var(--fp-select);stroke-width:.16px;stroke-dasharray:none}.fp-resource.is-invalid :is(.fp-shape,.fp-outline){stroke:var(--fp-invalid);stroke-width:.16px;stroke-dasharray:.12 .08}.fp-selection{fill:var(--fp-select);fill-opacity:.18;stroke:var(--fp-select);stroke-width:.06px}.fp-handle{fill:var(--surface);stroke:var(--fp-select);stroke-width:.06px}.fp-handle-resize{cursor:nwse-resize}.fp-handle-move{cursor:move}.fp-resource.avail-available.fp-table .fp-shape{fill:var(--fp-free);stroke:var(--fp-free)}.fp-resource.avail-booked.fp-table .fp-shape{fill:var(--fp-busy);stroke:var(--fp-busy)}.fp-resource.avail-mine.fp-table .fp-shape{fill:var(--fp-table);stroke:var(--fp-table)}.fp-resource:is(.avail-staff_only,.avail-disabled,.avail-closed).fp-table .fp-shape{fill:var(--fp-off);stroke:var(--fp-off)}.fp-resource.avail-closed .fp-outline,:is(.fp-room,.fp-area).avail-closed .fp-mark path{stroke:var(--fp-off)}.fp-resource.avail-available .fp-outline{stroke:var(--fp-free)}.fp-resource.avail-booked .fp-outline{stroke:var(--fp-busy)}.fp-resource:is(.avail-staff_only,.avail-disabled) .fp-outline{stroke:var(--fp-off)}.fp-resource.avail-booked .fp-fill{opacity:.5}.fp-resource.avail-available,.fp-resource.avail-mine{cursor:pointer}.fp-mark path{fill:none;stroke:#fff;stroke-width:.09px;stroke-linecap:round;stroke-linejoin:round}:is(.fp-room,.fp-area) .fp-mark path{stroke:var(--fp-busy)}:is(.fp-room,.fp-area) .fp-mark-check path{stroke:var(--fp-table)}:is(.fp-room,.fp-area) .fp-mark-diamond path{stroke:var(--fp-event)}.fp-resource.avail-event.fp-table .fp-shape{fill:var(--fp-event);stroke:var(--fp-event)}.fp-resource.avail-event .fp-outline{stroke:var(--fp-event)}.fp-resource.avail-event .fp-fill{opacity:.5}.fp-selected-swatch{fill:none;stroke:var(--fp-select);stroke-width:.14px}.swatch{vertical-align:middle;border-radius:4px;width:18px;height:18px;display:inline-block}.fp-legend{flex-wrap:wrap;gap:.5rem 1.25rem;margin:.75rem 0;padding:0;font-size:.875rem;list-style:none;display:flex}.fp-legend li{align-items:center;gap:.4rem;display:flex}.editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.editor-header h1{margin-bottom:.25rem}.editor-header .actions{flex-wrap:wrap;margin-top:0}.status-dirty{color:var(--danger);font-weight:600}.editor-tabs{border-bottom:1px solid var(--border);gap:.25rem;margin:1rem 0 .75rem;display:flex}.tab{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:3px solid #0000;padding:.5rem .9rem}.tab.is-active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.editor-body{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1rem;display:grid}.editor-toolbar{flex-wrap:wrap;align-items:center;gap:.4rem;min-height:2.4rem;margin-bottom:.5rem;display:flex}.toolbar-spacer{flex:1}.editor-canvas{border:1px solid var(--border);border-radius:var(--radius);background:var(--fp-bg);max-height:72vh;overflow:auto}.editor-canvas.mode-calibrate .floorplan{cursor:grab}.editor-canvas.mode-place .floorplan{cursor:crosshair}.editor-canvas.mode-place .fp-table{cursor:pointer}.editor-side{flex-direction:column;gap:.75rem;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.panel h2{font-size:1rem}.panel summary{cursor:pointer;font-weight:600}.panel-issues{border-color:var(--danger)}.panel-issues ul{margin:0;padding-left:1.1rem}.field{margin-bottom:.75rem}.field label{font-size:.875rem}.field-row{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;min-width:0;display:flex}.field-row input[type=range]{flex:100%;min-width:0}.field-row .input-number{flex:4.5rem;width:auto;min-width:0}.input-number{width:6.5rem}.field input[type=text],.field textarea,.group-edit input{width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.4rem .6rem}input[type=number]{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.4rem .5rem}.inline-check{align-items:center;gap:.35rem;margin:0 0 .75rem;font-weight:500;display:inline-flex}.editor-toolbar .inline-check{margin:0}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.link-button{font:inherit;color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.link-button[aria-pressed=true]{font-weight:700}.button-danger{color:var(--danger);border-color:var(--danger)}.group-list,.resource-list{margin:0;padding:0;list-style:none}.group-list li{border-bottom:1px solid var(--border);padding:.3rem 0}.group-list li:last-child{border-bottom:none}.group-edit{margin-top:.4rem}.panel-warnings{border-color:var(--warn-border)}.panel-warnings ul{margin:0;padding-left:1.1rem}.resource-tree,.resource-tree ul{margin:0;padding:0;list-style:none}.resource-tree{max-height:360px;margin-top:.5rem;overflow:auto}.resource-tree ul{border-left:1px solid var(--border);margin-left:.6rem;padding-left:.6rem}.tree-row{align-items:center;gap:.3rem;padding:.1rem 0;display:flex}.tree-toggle{width:1.1rem;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:none;flex:none;padding:0}.tree-icon{text-align:center;flex:none;width:1rem}.tree-room .tree-icon{color:var(--fp-room)}.tree-area .tree-icon{color:var(--fp-area)}.tree-table .tree-icon{color:var(--fp-table)}.segmented{border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented button{font:inherit;background:var(--surface);color:var(--text);cursor:pointer;border:none;padding:.35rem .6rem;font-size:.85rem}.segmented button.is-active{background:var(--accent);color:var(--accent-text)}.stepper{gap:.2rem;display:inline-flex}.stepper .button{padding:.3rem .6rem}.view-controls{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:.5rem 0;display:flex}.view-controls label{align-items:center;gap:.5rem;margin:0;font-weight:500;display:inline-flex}.dialog{border:1px solid var(--border);background:var(--surface);width:min(640px,100vw - 2rem);max-height:calc(100vh - 4rem);color:var(--text);border-radius:12px;padding:1.25rem 1.5rem}.dialog::backdrop{background:#0a0c148c}.dialog h3{margin:.75rem 0 .25rem;font-size:1rem}.dialog-actions{justify-content:flex-end}.impact-warn{border-left:4px solid var(--warn-border);padding-left:.75rem}.book-when{flex-wrap:wrap;align-items:flex-end;gap:.5rem 1rem;display:flex}.book-when .field{margin-bottom:0}.book-when select,.book-when input[type=date]{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.45rem .6rem}.when-note{flex-basis:100%;margin:.25rem 0 0}.rule-list{flex-basis:100%;margin:.25rem 0 0;padding-left:1.75rem}.book-body{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1rem;display:grid}.fp-view.is-refreshing{opacity:.7;transition:opacity .2s}.group-chips{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0;display:flex}.chip{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:.3rem .7rem;font-size:.875rem}.chip:disabled{opacity:.55;cursor:not-allowed}.chip.is-selected{border-color:var(--fp-select);box-shadow:inset 0 0 0 2px var(--fp-select);font-weight:600}.chip-available{border-color:var(--fp-free)}.chip-status{color:var(--muted);font-size:.8rem}.focus-info ul{margin:.4rem 0 0;padding-left:1.2rem}.selection-list{margin:0 0 .75rem;padding:0;list-style:none}.selection-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:.5rem;padding:.3rem 0;display:flex}.selection-list .badge{margin-left:.4rem}.summary{font-weight:600}.alert-success{background:color-mix(in srgb, var(--fp-free) 14%, var(--surface));border-color:var(--fp-free)}.booking-code{font-size:1rem;font-weight:500}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.booking-list{margin:1rem 0;padding:0;list-style:none}.booking-card{padding:0}.booking-card-link{color:inherit;padding:.9rem 1.1rem;text-decoration:none;display:block}.booking-card-link:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.booking-card.is-cancelled{opacity:.7}.home-actions{margin-bottom:1rem}.timeline{margin:.5rem 0 1rem}.timeline-scale{color:var(--muted);justify-content:space-between;margin-left:6rem;font-size:.75rem;display:flex}.timeline-row{align-items:center;gap:.5rem;margin:.2rem 0;display:flex}.timeline-label{text-overflow:ellipsis;white-space:nowrap;flex:none;width:5.5rem;font-size:.8rem;overflow:hidden}.timeline-bar{background:color-mix(in srgb, var(--fp-free) 18%, var(--surface));border-radius:3px;flex:1;height:14px;position:relative}.timeline-busy{background:repeating-linear-gradient(45deg, var(--fp-busy) 0 3px, color-mix(in srgb, var(--fp-busy) 60%, transparent) 3px 6px);border-radius:2px;position:absolute;top:0;bottom:0}.timeline-busy.is-mine{background:var(--fp-table)}.timeline-request{border:2px solid var(--fp-select);border-radius:3px;position:absolute;top:-2px;bottom:-2px}.count-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:1.3rem;margin-left:.35rem;padding:0 .35rem;font-size:.75rem;font-weight:700;line-height:1.3rem;display:inline-block}.form-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem 1rem;display:flex}.form-row .field{margin-bottom:.5rem}.admin-form select,.admin-form input[type=date],.admin-form input[type=time],.hours-table input[type=time],.settings-grid select,.form-row select,.form-row input[type=text],.attention-card input[type=text],.admin-form input[type=search],.admin-form input[type=email],.admin-form textarea,.cancel-confirm input{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.45rem .6rem}.admin-form textarea{width:100%}.admin-form .segmented{margin-bottom:.5rem}.owner-results{border:1px solid var(--border);border-radius:var(--radius);max-width:28rem;margin:.25rem 0 0;padding:0;list-style:none}.owner-results li{border-bottom:1px solid var(--border);padding:.35rem .6rem}.owner-results li:last-child{border-bottom:none}.conflict-panel{border-color:var(--danger)}.conflict-list{padding:0;list-style:none}.conflict-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:.5rem;padding:.3rem 0;display:flex}.button.button-danger:not(.button-quiet){background:var(--danger);color:#fff}.schedule-nav{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.schedule-nav input[type=date]{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.4rem .5rem}.schedule-date{margin-left:.5rem}.schedule-list{padding:0;list-style:none}.schedule-item{border-left:5px solid var(--fp-free);grid-template-columns:8.5rem 1fr;gap:1rem;display:grid}.schedule-item.kind-admin{border-left-color:var(--fp-room)}.schedule-item.kind-closure{border-left-color:var(--fp-off)}.schedule-item.kind-recurring{border-left-color:var(--fp-area)}.schedule-item.is-cancelled{opacity:.6}.schedule-time{font-weight:600}.kind-tag{border:1px solid var(--border);border-radius:999px;padding:0 .45rem;font-size:.75rem;display:inline-block}.kind-tag-admin{border-color:var(--fp-room);color:var(--fp-room)}.kind-tag-closure{border-color:var(--fp-off);color:var(--fp-off)}.kind-tag-recurring{border-color:var(--fp-area);color:var(--fp-area)}.admin-note{background:var(--warn-bg);border-radius:4px;margin-top:.25rem;padding:.15rem .4rem;display:inline-block}.warning-list{color:var(--danger);margin:.35rem 0 0;padding:0;list-style:none}.schedule-timeline{overflow-x:auto}.tl-row{border-bottom:1px solid var(--border);align-items:center;min-width:760px;min-height:28px;display:flex}.tl-head{border-bottom:2px solid var(--border);min-height:22px}.tl-label{white-space:nowrap;text-overflow:ellipsis;flex:none;width:9rem;padding-right:.5rem;font-size:.85rem;overflow:hidden}.tl-track{flex:1;height:24px;position:relative}.tl-hour{color:var(--muted);white-space:nowrap;font-size:.7rem;position:absolute;top:2px;transform:translate(-50%)}.tl-block{background:var(--fp-free);color:#fff;white-space:nowrap;border-radius:4px;padding:0 .3rem;font-size:.72rem;line-height:18px;text-decoration:none;position:absolute;top:3px;bottom:3px;overflow:hidden}.tl-block.kind-admin{background:var(--fp-room)}.tl-block.kind-recurring{background:var(--fp-area)}.tl-block.kind-closure{background:repeating-linear-gradient(45deg, var(--fp-off) 0 4px, color-mix(in srgb, var(--fp-off) 70%, transparent) 4px 8px)}.attention-list{padding:0;list-style:none}.attention-card{border-left:5px solid var(--warn-border)}.attention-kind{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.8rem;font-weight:700}.small{font-size:.8rem}.audit-list{padding:0;list-style:none}.audit-row{border-bottom:1px solid var(--border);padding:.5rem 0}.audit-row .badge{margin-left:.4rem}.audit-json{background:var(--bg);border-radius:4px;max-height:300px;padding:.5rem;font-size:.75rem;overflow:auto}.hours-table th{text-align:left;padding-right:1rem}.hours-table td{border:none;padding:.25rem .5rem}.settings-grid .field{max-width:28rem}@media (width<=900px){.editor-body,.book-body{grid-template-columns:1fr}.schedule-item{grid-template-columns:1fr;gap:.25rem}}@media (width<=640px){.topbar nav{flex-basis:100%;order:3;width:100%}.user span:not(.badge){display:none}}.button-small{padding:.25rem .6rem;font-size:.85rem}.with-sidebar{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:1rem;display:grid}.with-sidebar.sidebar-left{grid-template-columns:20rem minmax(0,1fr)}.with-sidebar-main{min-width:0}.recurring-sidebar{padding:.75rem;position:sticky;top:1rem}.recurring-sidebar summary{cursor:pointer;align-items:center;gap:.25rem;display:flex}.sidebar-title{margin:0 0 .5rem;font-size:1.1rem}.sidebar-head{margin:.5rem 0}.sidebar-scroll{max-height:calc(100vh - 12rem);overflow-y:auto}.sidebar-group{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:.75rem 0 .25rem;font-size:.8rem}.series-list{margin:0;padding:0;list-style:none}.series-row{border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid var(--fp-area);margin-bottom:.4rem;padding:.5rem}.series-row.is-low{border-left-color:var(--warn-border);background:var(--warn-bg)}.series-row.is-selected{outline:2px solid var(--accent)}.series-name{font-weight:600}.series-row .badge{margin-left:.35rem}.series-counter{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-top:.35rem;display:flex}.counter.is-low strong{color:var(--danger)}.counter.is-full strong{color:var(--fp-free)}.top-up-result{margin:.35rem 0 0}.recurring-actions{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.5rem}.recurring-actions .field input{width:100%;max-width:32rem}.series-form{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:1rem;display:grid}.series-form>.change-review,.series-form>.actions,.series-form>.alert{grid-column:1/-1}.series-form-side .card{position:sticky;top:1rem}.series-form input[type=number]{width:5rem}.end-choice{border:1px solid var(--border);border-radius:var(--radius);gap:.4rem;padding:.5rem .75rem;display:grid}.end-choice .inline-check{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.preview-dates{margin:.5rem 0;padding-left:1.2rem}.preview-dates li{margin-bottom:.4rem}.preview-dates li.has-conflict{color:var(--danger)}.preview-dates .badge{margin-left:.35rem}.change-review{border-color:var(--accent)}tr.is-cancelled{opacity:.6}@media (width<=900px){.with-sidebar,.with-sidebar.sidebar-left,.series-form{grid-template-columns:1fr}.recurring-sidebar,.series-form-side .card{position:static}.sidebar-scroll{max-height:50vh}}.calendar{width:100%;max-width:19rem}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-weekday{color:var(--muted);padding-bottom:.2rem;font-size:.72rem}.calendar-day{aspect-ratio:1;min-height:2.2rem;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px}.calendar-day:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, transparent)}.calendar-day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.calendar-day:disabled{color:var(--muted);opacity:.4;cursor:default}.calendar-day.is-today{border-color:var(--accent);font-weight:700}.calendar-day.is-closed{color:var(--muted);text-decoration:line-through}.calendar-day.is-selected{background:var(--accent);color:var(--accent-text);font-weight:700}.day-stepper{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.5rem;display:flex}.when-times{flex-wrap:wrap;flex:1;align-content:flex-start;align-items:flex-end;gap:.5rem 1rem;min-width:16rem;display:flex}.book-when{align-items:flex-start}@media (width<=900px){.calendar{max-width:none}}.calendar-day{flex-direction:column;justify-content:center;align-items:center;gap:0;padding:.1rem 0;line-height:1.1;display:flex}.calendar-day.is-view-only:not(.is-selected) .calendar-num{opacity:.55;font-style:italic}.calendar-marks{gap:1px;min-height:.6rem;font-size:.6rem;line-height:1;display:flex}.cal-mark-mine{color:var(--fp-table);font-weight:700}.cal-mark-event{color:var(--fp-event)}.cal-mark-booked{color:var(--fp-busy)}.calendar-day.is-selected .cal-mark{color:var(--accent-text)}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:.25rem .9rem;margin:.4rem 0 0;padding:0;font-size:.78rem;list-style:none;display:flex}.view-only-note{flex-basis:100%;margin:0}.fp-daybar-track{fill:#fff;stroke:#495057;stroke-width:.015px}.fp-daybar-booked{fill:var(--fp-busy)}.fp-daybar-mine{fill:var(--fp-table)}.fp-daybar-event{fill:var(--fp-event)}.fp-daybar-closed{fill:var(--fp-off)}.fp-daybar-highlight{fill:none;stroke:var(--fp-select);stroke-width:.035px}.daybar-legend,.daybar-legend .fp-legend{margin-top:.25rem}.daybar-legend svg .fp-daybar-track{stroke-width:.04px}.today-table{margin-top:.75rem}.today-table td,.today-table th{vertical-align:top}.today-table tbody tr:nth-child(2n){background:color-mix(in srgb, var(--border) 35%, transparent)}.today-table tr.is-past{opacity:.55}.today-time{white-space:nowrap;font-variant-numeric:tabular-nums}.today-table .kind-mine{color:var(--fp-table);font-weight:600}.today-table .kind-event{color:var(--fp-event);font-weight:600}.today-table .kind-closure{color:var(--fp-off);font-weight:600}.kind-dot{vertical-align:baseline;border-radius:2px;width:.6rem;height:.6rem;margin-right:.4rem;display:inline-block}.kind-dot-booked{background:var(--fp-busy)}.kind-dot-mine{background:var(--fp-table)}.kind-dot-event{background:var(--fp-event)}.kind-dot-closure{background:var(--fp-off)}
