@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#f4f6f8;color:#111827}a{color:#2563eb;text-decoration:none}:root{--brand-primary: #17c182;--brand-primary-dark: #12a56f;--brand-primary-soft: #e3f7f0;--brand-link: #139a69;--surface-bg: #f6fbf9;--surface-card: #ffffff;--surface-border: #dfeee7;--text-main: rgba(24, 29, 27, .92);--text-muted: rgba(24, 29, 27, .62)}.appRoot{min-height:100vh;background:var(--surface-bg);color:var(--text-main);font-family:Montserrat,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}.layout{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid #d7efe7;position:sticky;top:0;background:#fff;box-shadow:0 2px 10px #12a56f14;z-index:10}.topbarLeft,.topbarRight{align-items:center;display:flex;gap:8px}.brand{display:inline-flex;align-items:center;text-decoration:none;color:inherit}.brandLogo{display:block;height:28px;width:auto}.menuIcon{color:#000000b8;opacity:.9;font-size:16px}.menuIconBtn{border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;cursor:pointer}.menuIconBtn:hover{background:#17c1821f}.topbarUser{color:var(--text-muted);font-size:13px;font-weight:500}.layoutBody{display:grid;grid-template-columns:236px 1fr;min-height:calc(100vh - 56px);transition:grid-template-columns .2s ease}.layoutBody.layoutBodyCollapsed{grid-template-columns:0 1fr}.sidebar{background:#f8fcfa;border-right:1px solid var(--surface-border);padding:8px 0;overflow:hidden;transition:opacity .18s ease}.sidebar.sidebarCollapsed{opacity:0;border-right:none;pointer-events:none}.sidebarGroup{padding:6px 0;border-bottom:1px solid #eeeeee}.sidebarItem,.sidebarMuted{display:flex;align-items:center;gap:12px;padding:10px 14px;color:var(--text-muted);font-size:14px;text-decoration:none}.sidebarItem:hover{background:#eef8f4}.sidebarItem.active{color:var(--brand-primary-dark);font-weight:500;background:var(--brand-primary-soft)}.sidebarMuted{color:#00000073}.sideGlyph{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;text-align:center;opacity:.78}.contentArea{padding:0;min-width:0}.page{padding:16px 14px;max-width:none}.page h1,.page h2{margin:0 0 12px;font-weight:600;letter-spacing:.008em}.page h1{font-size:28px}.page h2{font-size:22px}.pageHeader{display:flex;align-items:center;gap:12px;justify-content:space-between}.card{border:1px solid var(--surface-border);border-radius:12px;padding:16px;max-width:480px;background:var(--surface-card);box-shadow:0 8px 24px #15382a0f}.toolbar{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin-bottom:10px}.paymentsToolbar{grid-template-columns:repeat(5,minmax(160px,1fr));align-items:center}.paymentsFiltersPanel{grid-template-columns:repeat(3,minmax(220px,1fr));gap:8px}.paymentsQuickPresetsInline{justify-content:flex-start}.paymentsQuickActions{display:flex;gap:8px;margin:2px 0 10px}.paymentsChartCard{border:1px solid var(--surface-border);border-radius:10px;background:var(--surface-card);box-shadow:0 8px 20px #15382a0f;padding:8px 10px 6px}.paymentsChartContainer{max-width:none;width:100%}.paymentsChartSvg{width:100%;height:auto;aspect-ratio:940 / 180;display:block}.paymentsChartGrid{stroke:#e8f1ed;stroke-width:1}.paymentsChartGridVertical{stroke:#f1f6f3;stroke-width:1}.paymentsChartAxisLabel{fill:#181d1b94;font-size:10px}.paymentsChartXAxisLabel{fill:#181d1b9e;font-size:10px;font-variant-numeric:tabular-nums}.paymentsChartLineCount{fill:none;stroke:#3b82f6;stroke-width:2}.paymentsChartLineAmount{fill:none;stroke:#22c55e;stroke-width:2}.paymentsChartDotCount{fill:#3b82f6}.paymentsChartDotAmount{fill:#22c55e}.paymentsChartPointLabelCount,.paymentsChartPointLabelAmount{font-size:9px;font-weight:600}.paymentsChartPointLabelCount{fill:#2563eb}.paymentsChartPointLabelAmount{fill:#16a34a}.paymentsChartLegend{margin-top:6px;display:flex;align-items:center;gap:14px;font-size:12px;color:var(--text-muted)}.paymentsLegendDot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%}.paymentsLegendDotCount{background:#3b82f6}.paymentsLegendDotAmount{background:#22c55e}.paymentsChartSummary{margin:6px 0 4px;font-size:13px;color:var(--text-main)}.toolbarSecondRow{grid-template-columns:1.4fr 1fr 1fr;margin-top:-2px}.auditToolbar{grid-template-columns:repeat(3,minmax(220px,1fr));align-items:center}.auditToolbar .usersFilterControl{min-width:0}.auditToolbar .usersFilterTrigger{height:42px}.auditQuickPresets{display:inline-flex;flex-wrap:nowrap;gap:8px;align-items:center;white-space:nowrap}.auditQuickPresets .btn{min-width:88px}.auditPresetActive{background:var(--brand-primary)!important;border-color:var(--brand-primary-dark)!important;color:#fff!important;font-weight:600;box-shadow:0 0 0 1px #12a56f33 inset}.toolbarSearch{display:flex;align-items:center;gap:8px;background:var(--surface-card);border:1px solid var(--surface-border);border-bottom:1px solid #bdbdbd;padding:0 10px}.toolbarInput{margin-bottom:0;background:#fff;border:none;box-shadow:none}.toolbarInput:focus{border:none;box-shadow:none}.toolbarField{min-height:40px;border-bottom:1px solid #bdbdbd;display:flex;align-items:center;color:var(--text-muted);font-size:13px;padding:0 10px;background:var(--surface-card)}.toolbarFieldCompact{display:grid;grid-template-columns:34px 1fr;gap:8px;border:1px solid var(--surface-border);border-bottom:1px solid #bdbdbd;border-radius:8px}.toolbarFieldCompact label{display:flex;align-items:center;font-size:12px;color:#0000008a}.toolbarFieldCompact input,.toolbarFieldCompact select{margin:0;border:none;background:transparent;box-shadow:none;padding:0;font-size:13px}.toolbarFieldCompact input:focus,.toolbarFieldCompact select:focus{border:none;box-shadow:none;outline:none}.toolbarViewModes{display:flex;gap:8px;justify-content:flex-end;align-items:center}.toolbarSpacer{width:100%}.usersFilters{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:8px;margin:6px 0 10px;align-items:start}.usersFilterControl{position:relative;min-width:0}.usersFilterTrigger{width:100%;height:40px;border:1px solid var(--surface-border);border-bottom:1px solid #bdbdbd;border-radius:8px;background:var(--surface-card);display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:0 10px;cursor:pointer;text-align:left}.usersFilterTriggerLabel{font-size:12px;color:var(--text-muted)}.usersFilterTriggerValue{font-size:13px;color:var(--text-main)}.usersFilterPopover{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:12;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 8px 18px #00000029;padding:8px;min-width:280px;max-width:min(420px,calc(100vw - 24px));text-align:left}.usersFilterSearch{width:100%;min-height:34px;margin:0 0 6px;padding:0 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px}.usersFilterActions{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.usersFilterOptions{max-height:220px;overflow-y:auto;border-top:1px solid #f1f1f1;padding-top:6px;text-align:left}.usersFilterOption{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:28px;font-size:13px;cursor:pointer;text-align:left;color:#000000d6}.usersFilterOption input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;margin:0;padding:0;border:1px solid #9e9e9e;border-radius:2px;box-shadow:none;accent-color:#3f51b5}.usersFilterOption input[type=checkbox]:focus{border-color:#3f51b5;box-shadow:none}.usersFilterOption span{display:inline-block;flex:1 1 auto;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;line-height:1.25;color:#000000d6}.usersFilterEmpty{color:#0000008a;font-size:12px;padding:6px 2px}.userPageGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:12px}.userEditGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.userEditGrid label{display:flex;flex-direction:column;gap:6px;font-size:13px}.userToggleRow{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:14px}.userToggleRow input[type=checkbox]{width:16px;height:16px;accent-color:#4f6ab2}.mutedText{margin-top:8px;font-size:13px;color:#7a859f}.chipsRow{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.chipBtn{text-transform:none;min-height:30px;border-width:1px;border-style:solid;border-radius:4px;font-weight:600}.bookNav{display:flex;gap:8px;align-items:center;margin:8px 0 10px}.calendarDensitySwitch{display:inline-flex;gap:6px;margin-left:8px}.calendarLegend{display:flex;flex-wrap:wrap;gap:10px;margin:-2px 0 8px;color:#000000a3;font-size:12px}.legendItem{display:inline-flex;align-items:center;gap:6px}.legendDot{width:8px;height:8px;border-radius:50%;display:inline-block}.legendDotNow{background:#ef5350}.legendDotBusy{background:#42a5f5}.legendDotInvalid{background:#e53935}.statusNoBadge{display:inline-flex;align-items:center;min-height:22px;border-radius:4px;padding:0 8px;font-size:12px;background:#ffebee;color:#c62828}.statusYesBadge{display:inline-flex;align-items:center;min-height:22px;border-radius:4px;padding:0 8px;font-size:12px;background:#e8f5e9;color:#2e7d32}.dateRangeWrap{position:relative}.dateRangeBtn{width:100%;justify-content:flex-start;text-transform:none;font-size:14px;gap:8px}.dateRangePopover{position:absolute;top:calc(100% + 6px);right:0;z-index:20;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 8px 24px #0000002e;padding:12px}.dateRangeActions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.rdp{--rdp-accent-color: #3f51b5;--rdp-background-color: #e8eaf6;font-size:13px}.dataTable{width:100%;border-collapse:collapse;margin-top:10px;background:var(--surface-card);box-shadow:0 10px 24px #15382a0f;border-radius:10px;overflow:hidden}.dataTable th,.dataTable td{border:1px solid #e5f1ec;padding:10px;font-size:12.5px;text-align:left;vertical-align:middle}.dataTable th{background:#f1faf6;color:var(--text-muted);font-weight:600;letter-spacing:.02em;position:static}.dataTableSticky th{position:sticky;top:56px;z-index:2}.dataTable tbody tr:hover{background:#f4fbf7}.subText{color:var(--text-muted);margin-top:2px;font-size:11.5px}.actionCell{width:30px;color:#00000080;text-align:center;position:relative}.rowMenu{position:absolute;right:8px;top:36px;min-width:160px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 8px 16px #00000029;z-index:5}.rowMenuItem{width:100%;border:none;background:#fff;text-align:left;padding:8px 10px;font-size:13px;cursor:pointer}.rowMenuItem:hover{background:#f5f5f5}.rowMenuDanger{color:#d32f2f}.roomColorDot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}.roomNameCell{display:flex;align-items:center;gap:8px}.pageLegacy{max-width:1220px;padding:10px 14px 20px}.pageAudit .pageHeader{margin-bottom:4px}.auditFiltersPanel{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:12px;padding:10px;box-shadow:0 6px 18px #15382a0d}.auditTable th:first-child,.auditTable td:first-child{width:170px}.auditDateCell{white-space:nowrap;font-variant-numeric:tabular-nums}.auditPrimaryText{font-weight:600;color:var(--text-main)}.auditActionLabel{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--brand-primary-soft);color:var(--brand-primary-dark)}.auditEntityLabel{font-weight:600;color:var(--text-main)}.auditEntityLink{font-weight:500;text-decoration:underline;text-underline-offset:2px}.auditMessageCell{line-height:1.45}.pageBook{max-width:none;padding:8px 8px 14px}.pageBook .pageHeader h2{margin-bottom:6px}.pageBook .toolbar{grid-template-columns:minmax(320px,420px) minmax(240px,320px);justify-content:center;align-items:end;max-width:860px;margin:0 auto 4px}.pageBook .chipsRow{justify-content:center;margin:6px 0 8px}.pageBook .bookNav{justify-content:flex-start;padding-left:4px;margin:4px 0 6px}.pageBook .calendarLegend{display:none}.pageBook .emptyCell{padding:6px 10px 8px}.pageBook .chipBtn{min-height:26px;border-radius:4px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 1px 3px #00000038}.legacyTable{box-shadow:none;border-radius:0;background:transparent}.legacyTable th,.legacyTable td{border-left:none;border-right:none;padding:12px 10px;font-size:14px}.legacyTable th{background:transparent;font-weight:700;color:#000c}.legacyTable tbody tr:hover{background:#ffffff59}.rowActions{display:inline-flex;align-items:center;gap:14px;white-space:nowrap}.rowActionLink{border:none;background:transparent;color:#3f51b5;font-weight:600;text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:6px;font-size:12px;cursor:pointer;padding:0}.rowActionLink:hover{opacity:.86}.rowActionDanger{color:#ef9a9a}.legacyCheck{width:22px;height:22px;accent-color:#8b8b8b}.emptyCell{text-align:center;color:#0000008a;padding:20px 10px}.bookCal{border:1px solid #d8d8d8;background:#fff;min-width:1180px;position:relative}.bookCalWrap{overflow-x:auto;overflow-y:visible;padding-bottom:2px}.bookCalHeader{display:grid;grid-template-columns:84px repeat(7,1fr);border-bottom:1px solid #e0e0e0;background:#fafafa}.bookCalTimeColHeader{border-right:1px solid #e0e0e0}.bookCalDayHeader{text-align:center;padding:5px 0 4px;border-right:1px solid #e0e0e0}.bookCalDayHeader:last-child{border-right:none}.bookCalWeekday{font-size:10px;color:#616161;font-weight:700;letter-spacing:.04em}.bookCalDayHeaderToday .bookCalWeekday{color:#3f51b5}.bookCalDate{font-size:22px;line-height:1;color:#3f3f3f}.bookCalDateToday{width:30px;height:30px;margin:1px auto 0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#3f51b5;color:#fff}.bookCalBody{display:grid;grid-template-columns:84px repeat(7,1fr);overflow:hidden}.bookCalTimeCol{position:relative;border-right:1px solid #e0e0e0;background:#fafafa}.bookCalTimeTick{position:absolute;left:10px;transform:translateY(-50%);font-size:13px;font-weight:600;letter-spacing:.01em;font-variant-numeric:tabular-nums;color:#000000d6}.bookCalDayCol{position:relative;border-right:1px solid #e0e0e0;background:#fff}.bookCalDayCol:last-child{border-right:none}.bookCalHLine{position:absolute;left:0;right:0;border-top:1px solid #efefef}.bookCalRoomVLine{position:absolute;top:0;bottom:0;border-left:1px dashed #ececec}.bookCalNowLine{position:absolute;left:0;right:0;border-top:1px solid #ef5350;z-index:3}.bookCalNowDot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:#ef5350}.bookCalDraftGuide{position:absolute;left:0;right:0;border-top:1px dashed rgba(63,81,181,.8);z-index:4;pointer-events:none}.bookCalDraftGuideLabel{position:absolute;right:4px;top:-8px;background:#3f51b5;color:#fff;font-size:9px;line-height:1;padding:2px 4px;border-radius:8px}.bookCalEvent{position:absolute;border-radius:3px;padding:2px 3px;font-size:10px;box-sizing:border-box;overflow:hidden;box-shadow:0 1px 1px #0000001f;cursor:pointer;z-index:2}.bookCalEventActive{outline:1px solid rgba(63,81,181,.55);box-shadow:0 2px 8px #3f51b540}.bookCalEventSaving{opacity:.75}.bookCalEventGhost{border:1px dashed rgba(255,255,255,.7)}.bookCalEventInvalid{outline:1px solid rgba(244,67,54,.75);box-shadow:0 2px 8px #f4433647}.bookCalEventSnapped{animation:bookCalSnapPulse .22s ease-out}.bookCalEventOrigin{position:absolute;border-radius:3px;border:1px dashed rgba(0,0,0,.3);background:#0000000f;pointer-events:none;z-index:1}.bookCalEventDimmed{opacity:.34;filter:saturate(.7)}.bookCalEventCanceled{opacity:.55;filter:saturate(.6);outline:1px dashed rgba(255,255,255,.6)}.bookCalSnapHint{position:absolute;right:10px;top:8px;z-index:9;background:#388e3ceb;color:#fff;border-radius:10px;padding:4px 8px;font-size:11px;line-height:1.2;box-shadow:0 2px 8px #0003;pointer-events:none}@keyframes bookCalSnapPulse{0%{transform:scale(1);box-shadow:0 0 #2e7d3200}35%{transform:scale(1.01);box-shadow:0 0 0 2px #2e7d3238}to{transform:scale(1);box-shadow:0 0 #2e7d3200}}.bookCalEventStriped{background-blend-mode:multiply;background-image:repeating-linear-gradient(-30deg,#ffffff2e 0,#ffffff2e 10px,#ffffff05 10px,#ffffff05 20px)}.bookCalEventTime{font-size:10px;opacity:.95;white-space:nowrap}.bookCalEventName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bookCalEventDraftBadge{margin-top:2px;display:inline-flex;padding:0 4px;min-height:14px;align-items:center;border-radius:10px;background:#0003;font-size:9px;line-height:1}.bookCalEventDraftBadgeInvalid{background:#b71c1ce6}.bookCalResizeHandle{position:absolute;left:0;right:0;height:6px;z-index:3}.bookCalResizeTop{top:-2px;cursor:ns-resize}.bookCalResizeBottom{bottom:-2px;cursor:ns-resize}.bookCalEventPopover{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;max-width:220px;background:#fff;color:#000000de;border:1px solid #d8d8d8;border-radius:6px;box-shadow:0 8px 20px #0000002e;padding:8px 9px;font-size:12px;line-height:1.35;z-index:8}.bookCalEventPopoverTitle{font-weight:700;margin-bottom:3px}.bookCalEventPopoverMuted{color:#0000008f;margin-top:2px;word-break:break-word}.bookCalEventPopoverHint{margin-top:6px;color:#0000008a;font-size:11px}.bookCalEventPopoverActions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.bookingViewBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;display:flex;align-items:center;justify-content:center;z-index:40}.bookingViewModal{width:min(680px,calc(100vw - 40px));background:#fff;border-radius:6px;border:1px solid #e0e0e0;box-shadow:0 10px 30px #00000040;padding:16px 18px 12px}.bookingViewModal h3{margin:0 0 12px;font-size:34px;font-weight:500}.bookingViewGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bookingViewRow{display:grid;grid-template-columns:120px 1fr;gap:8px;margin-bottom:8px;font-size:15px}.bookingViewRow span{color:#0000009e}.bookingViewRow b{font-weight:500;color:#000000de}.bookingViewActions{margin-top:16px;display:inline-flex;flex-direction:column;gap:10px}.bookingLocksBlock{margin-top:12px;border:1px solid #dce9e1;background:#f8fcfa;border-radius:8px;padding:10px}.bookingLocksTitle{font-size:13px;font-weight:600;margin-bottom:8px}.bookingLocksList{display:grid;gap:8px}.bookingLockItem{border:1px solid #e2ece6;border-radius:6px;background:#fff;padding:8px}.bookingLockLine{display:grid;grid-template-columns:72px 1fr;gap:8px;font-size:12px;margin-bottom:4px}.bookingLockLine span{color:#0000009e}.bookingLockLine b{font-weight:500;color:#000000de}.bookingLockError{margin-top:4px;color:#b42318;font-size:11px}.bookingLockEmpty{color:#0000009e;font-size:12px}.bookingViewFooter{display:flex;justify-content:center;margin-top:12px}.btnMini{min-height:28px;min-width:0;padding:0 10px;font-size:11px}input{width:100%;padding:10px 12px;margin-bottom:10px;border:1px solid #c7ddd3;border-radius:8px;outline:none;font-size:14px;box-sizing:border-box}input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 1px var(--brand-primary) inset}.btn{min-height:34px;min-width:64px;padding:0 16px;border-radius:8px;border:1px solid transparent;background:#f7fbf9;cursor:pointer;font-weight:500;font-size:12.5px;text-transform:none;letter-spacing:.01em;line-height:1.2;transition:box-shadow .15s ease,background .15s ease,opacity .15s ease}.btn:hover{box-shadow:0 6px 16px #15382a24}.btn:disabled{cursor:default;opacity:.45;box-shadow:none}.btnPrimary{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.btnSecondary{background:#f7fbf9;border-color:#d4e9df;color:var(--text-main)}.btnDanger{background:#f44336;color:#fff}.btnIcon{min-width:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:14px;background:var(--surface-card);border:1px solid var(--surface-border);color:var(--text-muted)}.perPageSelect{border:1px solid var(--surface-border);border-radius:8px;min-height:30px;padding:0 8px;background:var(--surface-card)}.navBtn{padding:6px 14px;border-radius:16px;color:#000000b3;text-decoration:none;border:1px solid transparent;font-size:13px;font-weight:500}.navBtn:hover{background:#eee}.navBtnActive{background:var(--brand-primary-soft);color:var(--brand-primary-dark);border-color:#bfe8d8}.linkBtn{background:transparent;border:none;color:var(--brand-link);text-decoration:none;cursor:pointer;padding:0;font-size:13px}.linkBtn:hover{text-decoration:underline}a{color:var(--brand-link);text-decoration:none}a:hover{text-decoration:underline}.chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;background:#e0e0e0;color:#000000bf;border:1px solid transparent}.chipSuccess{background:#e8f5e9;color:#2e7d32;border-color:#c8e6c9}.chipWarning{background:#fff3e0;color:#ef6c00;border-color:#ffe0b2}.chipError{background:#ffebee;color:#d32f2f;border-color:#ffcdd2}.moneyChip{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:24px;padding:0 10px;border-radius:12px;background:#2ebf6f;color:#fff;font-size:12px;font-weight:600}.error{color:#b91c1c}.undoToast{margin:8px 0 10px;display:inline-flex;align-items:center;gap:8px;background:#263238;color:#fff;border-radius:10px;padding:6px 8px;font-size:12px;box-shadow:0 2px 8px #0000003d}.green{color:#2e7d32;font-weight:600}.yellow{color:#ef6c00;font-weight:600}.red{color:#d32f2f;font-weight:600}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000006b;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;z-index:1200}.actions{display:flex;gap:8px}.pager{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12.5px}.tableFooter{justify-content:flex-end}.confirmBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;z-index:30;display:flex;align-items:center;justify-content:center;padding:16px}.confirmModal{width:100%;max-width:420px;background:#fff;border-radius:6px;box-shadow:0 10px 24px #0000003d;padding:16px 18px 14px}.confirmModal h3{margin:0 0 8px;font-size:20px;font-weight:500}.confirmModal p{margin:0 0 14px;color:#000000b3;line-height:1.45}.confirmActions{display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;right:20px;bottom:20px;z-index:35;border-radius:10px;padding:10px 12px;color:#fff;font-size:13px;box-shadow:0 6px 20px #00000040}.toastSuccess{background:#2e7d32}.toastError{background:#c62828}.roomEditorCard{max-width:1100px}.bookingCreateCard{width:100%;max-width:760px;max-height:calc(100vh - 40px);overflow:auto;padding:14px}.bookingCreateChips{margin-bottom:8px}.bookingCreateCard h3{margin:0 0 10px}.bookingCreateCard label{margin-bottom:4px}.bookingCreateCard input,.bookingCreateCard select{margin-bottom:8px}.bookingUserSelect{position:relative;margin-bottom:8px}.bookingUserDropdown{position:absolute;left:0;right:0;top:calc(100% + 2px);max-height:220px;overflow:auto;background:#fff;border:1px solid #d9dfde;border-radius:8px;box-shadow:0 8px 20px #0000001f;z-index:8}.bookingUserOption{width:100%;border:none;border-bottom:1px solid #eef2f2;background:#fff;text-align:left;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.bookingUserOption:last-child{border-bottom:none}.bookingUserOption:hover,.bookingUserOptionActive{background:#f1faf6}.bookingUserOption small{color:#60706b}.bookingUserEmpty{padding:10px;color:#60706b;font-size:13px}.bookingConfirmGrid{display:grid;grid-template-columns:1fr;gap:4px;margin:8px 0 10px}.bookingConfirmRow{display:grid;grid-template-columns:220px 1fr;gap:10px;align-items:baseline}.bookingConfirmRow span{color:#5a6662}.bookingConfirmCheck{margin-top:8px;margin-bottom:6px}.bookingConfirmTerms{margin:0 0 10px;font-size:13px;color:#5a6662}.checkRow{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px}select{width:100%;padding:10px 12px;margin-bottom:10px;border:1px solid #bdbdbd;border-radius:4px;background:#fff;font-size:14px;box-sizing:border-box}.textArea{width:100%;min-height:90px;padding:10px 12px;border:1px solid #bdbdbd;border-radius:4px;margin-bottom:10px;resize:vertical;font-family:inherit;font-size:14px;box-sizing:border-box}.inlineGrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sectionTitle{margin:12px 0 8px;font-size:16px;font-weight:600}.costRow{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:8px;align-items:center}.costRow input,.costRow select{margin-bottom:0}.imageUploadRow{margin-bottom:8px}.imageGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.imageCard{border:1px solid #e0e0e0;border-radius:6px;background:#fff;padding:8px}.imageCard img{width:100%;height:120px;object-fit:cover;border-radius:4px;margin-bottom:6px}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}
