.quick-actions-bar[data-v-0c8803e0]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.actions-left[data-v-0c8803e0],.actions-right[data-v-0c8803e0]{display:flex;gap:.75rem;align-items:center}.action-button[data-v-0c8803e0]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:.5rem;font-weight:500;font-size:.875rem;transition:all .2s ease;border:1px solid transparent;cursor:pointer}.action-button.primary[data-v-0c8803e0]{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-color:#3b82f6}.action-button.primary[data-v-0c8803e0]:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.action-button.secondary[data-v-0c8803e0]{background:#fff;color:#374151;border-color:#d1d5db}.action-button.secondary[data-v-0c8803e0]:hover{background:#f9fafb;border-color:#9ca3af}.action-button.maintenance-active[data-v-0c8803e0]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:#ef4444}.action-button.maintenance-active[data-v-0c8803e0]:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.action-button.group-checkin[data-v-0c8803e0]{background:linear-gradient(135deg,#4caf50,#4caf50);color:#fff;border-color:#4cae4f}.action-button.group-checkin[data-v-0c8803e0]:hover{background:linear-gradient(135deg,#059669,#047857)}.action-button.group-checkout[data-v-0c8803e0]{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-color:#f59e0b}.action-button.group-checkout[data-v-0c8803e0]:hover{background:linear-gradient(135deg,#d97706,#b45309)}.action-button.today-status[data-v-0c8803e0]{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-color:#8b5cf6}.action-button.today-status[data-v-0c8803e0]:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.date-navigation-bar[data-v-0c8803e0]{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:.5rem 1.5rem!important;background:linear-gradient(135deg,#fff,#f8fafc)!important;border-bottom:1px solid #e2e8f0!important;box-shadow:0 1px 3px #0000001a!important;position:relative!important;z-index:10!important}.date-navigation[data-v-0c8803e0]{display:flex!important;align-items:center!important;gap:.75rem!important}.date-display[data-v-0c8803e0]{font-size:.95rem!important;font-weight:600!important;color:#1e293b!important;min-width:150px!important;text-align:center!important;padding:.25rem .5rem!important;background:#fff!important;border-radius:.5rem!important;border:1px solid #e2e8f0!important;box-shadow:0 1px 2px #0000000d!important}.btn[data-v-0c8803e0]{display:flex;align-items:center;justify-content:center;padding:.25rem;border-radius:.5rem;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;min-width:2rem;height:2rem}.btn[data-v-0c8803e0]:hover{background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-icon[data-v-0c8803e0]{width:2rem;height:2rem}.btn-primary[data-v-0c8803e0]{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-primary[data-v-0c8803e0]:hover{background:#2563eb;border-color:#2563eb}.btn-today[data-v-0c8803e0]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#10b981;font-weight:600}.btn-today[data-v-0c8803e0]:hover{background:linear-gradient(135deg,#059669,#047857);border-color:#059669;transform:translateY(-1px);box-shadow:0 2px 4px #10b9814d}.date-navigation-bar .view-options[data-v-0c8803e0]{display:flex!important;background:#fff!important;border-radius:.75rem!important;border:1px solid #d1d5db!important;overflow:hidden!important;box-shadow:0 1px 2px #0000000d!important;flex-shrink:0!important}.date-navigation-bar .view-options .btn-view[data-v-0c8803e0]{padding:.375rem .75rem!important;border:none!important;background:transparent!important;color:#6b7280!important;cursor:pointer!important;transition:all .2s ease!important;font-size:.875rem!important;font-weight:500!important;min-width:3rem!important;position:relative!important;white-space:nowrap!important;flex-shrink:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.date-navigation-bar .view-options .btn-view[data-v-0c8803e0]:hover:not(.active){background:#f3f4f6!important;color:#374151!important}.date-navigation-bar .view-options .btn-view.active[data-v-0c8803e0]{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;color:#fff!important;box-shadow:0 2px 4px #3b82f64d!important}.date-navigation-bar .view-options .btn-view.active[data-v-0c8803e0]:after{content:""!important;position:absolute!important;bottom:0!important;left:0!important;right:0!important;height:2px!important;background:#ffffff4d!important}.filter-toggle-btn[data-v-0c8803e0]{display:flex!important;align-items:center!important;gap:.5rem!important;padding:.625rem 1.25rem!important;background:linear-gradient(135deg,#fff,#f8fafc)!important;border:1px solid #e2e8f0!important;border-radius:.5rem!important;cursor:pointer!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;font-size:.875rem!important;color:#475569!important;font-weight:500!important;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f!important;position:relative!important;overflow:hidden!important;min-height:2.5rem!important}.filter-toggle-btn[data-v-0c8803e0]:before{content:""!important;position:absolute!important;top:0!important;left:-100%!important;width:100%!important;height:100%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)!important;transition:left .5s ease!important}.filter-toggle-btn[data-v-0c8803e0]:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)!important;border-color:#cbd5e1!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a!important;color:#334155!important}.filter-toggle-btn[data-v-0c8803e0]:hover:before{left:100%!important}.filter-toggle-btn[data-v-0c8803e0]:active{transform:translateY(-1px)!important;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014!important}.filter-toggle-btn.active[data-v-0c8803e0],.filter-toggle-btn.open[data-v-0c8803e0]{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;color:#fff!important;border-color:#3b82f6!important;box-shadow:0 4px 12px #3b82f666,0 2px 4px #3b82f633!important;transform:translateY(-1px)!important}.filter-toggle-btn.active[data-v-0c8803e0]:before,.filter-toggle-btn.open[data-v-0c8803e0]:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)!important}.filters-toggle-wrapper[data-v-0c8803e0]{position:relative;display:inline-block;z-index:100}.calendar-filters.dropdown[data-v-0c8803e0]{position:absolute!important;top:calc(100% + 8px)!important;right:0!important;z-index:100!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:.75rem!important;box-shadow:0 10px 20px #00000026!important;min-width:350px!important;max-width:450px!important;padding:1rem!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important;animation:filterDropdownAppear-0c8803e0 .18s ease-out!important}@keyframes filterModalAppear-0c8803e0{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes filterDropdownAppear-0c8803e0{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.calendar-filters.dragging[data-v-0c8803e0]{cursor:grabbing!important;transition:none!important}.filter-controls[data-v-0c8803e0]{display:grid!important;grid-template-columns:1fr!important;gap:1rem!important;margin-top:1rem!important}.filter-control[data-v-0c8803e0]{display:flex!important;flex-direction:column!important;gap:.5rem!important}.filter-label[data-v-0c8803e0]{font-size:.875rem!important;font-weight:500!important;color:#374151!important}.filter-select[data-v-0c8803e0]{padding:.75rem!important;border:1px solid #d1d5db!important;border-radius:.5rem!important;background:#fff!important;font-size:.875rem!important;color:#374151!important;transition:border-color .2s ease!important}.filter-select[data-v-0c8803e0]:focus{outline:none!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.filters-close-x[data-v-0c8803e0]{position:absolute!important;top:.75rem!important;right:.75rem!important;width:2rem!important;height:2rem!important;border:none!important;background:#f3f4f6!important;border-radius:50%!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:1.125rem!important;color:#6b7280!important;transition:all .2s ease!important;z-index:10!important}.filters-close-x[data-v-0c8803e0]:hover{background:#e5e7eb!important;color:#374151!important;transform:scale(1.1)!important}.drag-handle[data-v-0c8803e0]{position:absolute!important;top:.75rem!important;left:.75rem!important;cursor:grab!important;padding:.5rem!important;border-radius:.5rem!important;transition:all .2s ease!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;z-index:10!important}.drag-handle[data-v-0c8803e0]:hover{background:#f1f5f9!important;border-color:#cbd5e1!important;transform:scale(1.05)!important}.drag-handle[data-v-0c8803e0]:active{cursor:grabbing!important;background:#e2e8f0!important}.drag-hint[data-v-0c8803e0]{position:absolute!important;top:-3rem!important;left:50%!important;transform:translate(-50%)!important;background:#1f2937!important;color:#fff!important;padding:.75rem 1.25rem!important;border-radius:.75rem!important;font-size:.875rem!important;font-weight:500!important;white-space:nowrap!important;animation:fadeInOut-0c8803e0 3s ease-in-out!important;box-shadow:0 4px 6px -1px #0000001a!important}.drag-hint-text[data-v-0c8803e0]{margin-bottom:.25rem!important}.drag-hint-arrow[data-v-0c8803e0]{width:0!important;height:0!important;border-left:.75rem solid transparent!important;border-right:.75rem solid transparent!important;border-top:.75rem solid #1f2937!important;margin:0 auto!important}@keyframes fadeInOut-0c8803e0{0%,to{opacity:0;transform:translate(-50%) translateY(10px)}20%,80%{opacity:1;transform:translate(-50%) translateY(0)}}.calendar-filters[data-v-0c8803e0]:before{content:""!important;position:fixed!important;inset:0!important;background:#0000001a!important;z-index:-1!important;pointer-events:none!important}@media (max-width: 768px){.calendar-filters[data-v-0c8803e0]{min-width:280px!important;max-width:320px!important;padding:1rem!important}.filter-controls[data-v-0c8803e0]{gap:.75rem!important;margin-top:.75rem!important}.drag-hint[data-v-0c8803e0]{font-size:.75rem!important;padding:.5rem 1rem!important}}.filters-panel[data-v-0c8803e0]{background:#fff;border-bottom:1px solid #e5e7eb;padding:1.5rem}.filters-content[data-v-0c8803e0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-group[data-v-0c8803e0]{display:flex;flex-direction:column;gap:.5rem}.filter-group label[data-v-0c8803e0]{font-size:.875rem;font-weight:500;color:#374151}.filter-group select[data-v-0c8803e0]{padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;background:#fff;color:#374151;font-size:.875rem}.filter-group select[data-v-0c8803e0]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.active-filters[data-v-0c8803e0]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.chip[data-v-0c8803e0]{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#eff6ff;color:#1e40af;border-radius:9999px;font-size:.75rem;font-weight:500}.chip i[data-v-0c8803e0]{cursor:pointer;opacity:.7}.chip i[data-v-0c8803e0]:hover{opacity:1}@media (max-width: 768px){.quick-actions-bar[data-v-0c8803e0]{flex-direction:column;gap:1rem;padding:1rem}.actions-left[data-v-0c8803e0],.actions-right[data-v-0c8803e0]{width:100%;justify-content:center}.date-navigation-bar[data-v-0c8803e0]{flex-direction:column;gap:1rem;padding:1rem}.date-navigation[data-v-0c8803e0]{justify-content:center;flex-wrap:wrap;gap:.5rem}.date-display[data-v-0c8803e0]{min-width:auto;font-size:1rem;padding:.5rem .75rem}.btn[data-v-0c8803e0]{min-width:2rem;height:2rem;padding:.375rem}.view-switcher[data-v-0c8803e0]{margin:0 auto}.view-switcher button[data-v-0c8803e0]{padding:.5rem 1rem;min-width:3rem;font-size:.8rem}.filter-toggle-btn[data-v-0c8803e0]{padding:.5rem 1rem!important;font-size:.8rem!important;min-height:2.25rem!important}.filters-content[data-v-0c8803e0]{grid-template-columns:1fr}}@media (max-width: 480px){.date-navigation-bar[data-v-0c8803e0]{padding:.75rem}.date-navigation[data-v-0c8803e0]{gap:.25rem}.date-display[data-v-0c8803e0]{font-size:.9rem;padding:.375rem .5rem}.btn[data-v-0c8803e0]{min-width:1.75rem;height:1.75rem;padding:.25rem}.view-switcher button[data-v-0c8803e0]{padding:.375rem .75rem;min-width:2.5rem;font-size:.75rem}.filter-toggle-btn[data-v-0c8803e0]{padding:.375rem .75rem!important;font-size:.75rem!important;min-height:2rem!important}}.staleness-indicator[data-v-0c8803e0]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:8px}.staleness-indicator[data-v-0c8803e0]:hover{transform:scale(1.02);box-shadow:0 2px 8px #00000026}.staleness-indicator[data-v-0c8803e0]:active{transform:scale(.98)}.staleness-icon[data-v-0c8803e0]{font-size:10px}.staleness-text[data-v-0c8803e0]{white-space:nowrap}.staleness-refresh[data-v-0c8803e0]{margin-left:4px;font-size:12px;animation:staleness-pulse-0c8803e0 2s ease-in-out infinite}@keyframes staleness-pulse-0c8803e0{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.staleness-indicator[data-v-0c8803e0]{padding:4px 8px;font-size:11px}.staleness-indicator .staleness-text[data-v-0c8803e0]{display:none}}.calendar-content-wrapper[data-v-40235387]{display:flex;flex:1 1 0%;flex-direction:column;overflow:hidden;height:calc(100vh - 160px);min-height:0;padding-left:0}.grid-header-fixed[data-v-40235387]{background-color:var(--gray-50);display:grid;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));grid-template-columns:150px repeat(13,1fr);position:sticky;top:0;z-index:9;background-image:linear-gradient(to right,#f3f4f6 1px,transparent 1px);background-size:calc(100% / 13) 100%;background-position:150px 0}.grid-header-fixed .date-header[data-v-40235387]{border-right-width:0px}.grid-header-fixed.month-view[data-v-40235387]{grid-template-columns:150px repeat(30,1fr)}.calendar-rows-scrollable[data-v-40235387]{flex:1 1 0%;overflow-y:auto;overflow-x:hidden;height:calc(100vh - 220px);min-height:0;padding-left:0;border-collapse:separate;border-spacing:0;background-color:#fff}.calendar-rows-wrapper[data-v-40235387]{position:relative;background-image:linear-gradient(to right,#f3f4f6 1px,transparent 1px);background-size:calc(100% / 13) 100%;background-position:150px 0}.calendar-rows-wrapper.month-view[data-v-40235387]{background-size:calc(100% / 30) 100%}.calendar-grid[data-v-40235387]{flex:1 1 0%;overflow:hidden;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.grid-header[data-v-40235387]{background-color:var(--gray-50);display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));grid-template-columns:150px repeat(13,1fr)}.room-column-header[data-v-40235387]{color:#374151;background-color:var(--gray-100);border-right-width:1px;--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.5rem;font-weight:700;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.date-header[data-v-40235387]{background-color:var(--gray-50);--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:.5rem;text-align:center}.date-header[data-v-40235387]:last-child{border-right-width:0px}.date-header.is-today[data-v-40235387]{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.date-number[data-v-40235387]{font-size:1rem;line-height:1.5rem;font-weight:700;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.date-day[data-v-40235387]{font-size:.75rem;line-height:1rem;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.room-row[data-v-40235387]{display:grid;height:2.5rem;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-columns:150px repeat(13,1fr);border-bottom:1px solid #e5e7eb!important;box-sizing:border-box;position:relative}.room-row[data-v-40235387]:not(:last-child){border-bottom:1px solid #e5e7eb!important}.room-row[data-v-40235387]:last-child{border-bottom:1px solid #e5e7eb!important}.room-row:first-child .room-cell[data-v-40235387]{border-top-width:0px}.room-row:last-child .room-cell[data-v-40235387]{border-bottom-width:0px}.room-row.room-row-drag-over .room-cell[data-v-40235387]{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.room-cell.room-cell-draggable[data-v-40235387]{cursor:grab}.room-cell.room-cell-draggable[data-v-40235387]:active{cursor:grabbing}.room-cell[data-v-40235387]{background-color:var(--gray-50);display:flex;flex-direction:column;justify-content:center;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:.25rem}.room-cell[data-v-40235387]:first-child{border-left-width:0px}.room-cell[data-v-40235387]:last-child{border-right-width:0px}.room-number[data-v-40235387]{text-align:center;font-size:.7rem;font-weight:700;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.room-type[data-v-40235387]{text-align:center;font-size:.55rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.calendar-cell[data-v-40235387]{height:2.5rem;padding:0;position:relative;background-color:#f8fafc}.calendar-cell[data-v-40235387]:not(.has-booking):not(.status-dirty):not(.status-maintenance):not(.status-pending):not(.status-cleaning){background-color:#f8fafc!important}.calendar-cell .room-status-indicator[data-v-40235387]:not(.status-maintenance):not(.status-pending):not(.status-cleaning):not(.status-dirty):not(.status-reserved):not(.status-occupied){background-color:transparent!important}.calendar-cell.status-dirty[data-v-40235387]{border-radius:6px!important;border:1px solid rgba(255,193,7,.3)!important;margin:1px!important;box-shadow:0 1px 3px #ffc10733!important;background-color:#ffeb3b!important;z-index:10!important}.calendar-cell.status-cleaning[data-v-40235387]{border-radius:6px!important;border:1px solid rgba(255,152,0,.3)!important;margin:1px!important;box-shadow:0 1px 3px #ff980033!important;background-color:#ff9800!important;z-index:10!important;animation:cleaningPulse-40235387 2.4s ease-in-out infinite}@keyframes cleaningPulse-40235387{0%{transform:translateY(0);opacity:1}25%{transform:translateY(-1px);opacity:.95}50%{transform:translateY(0);opacity:.9}75%{transform:translateY(1px);opacity:.95}to{transform:translateY(0);opacity:1}}.booking-info.status-reserved[data-v-40235387],.booking-info.status-occupied[data-v-40235387],.booking-info.status-pending[data-v-40235387],.booking-info.status-blocked[data-v-40235387]{border-right-width:0px;border-left-width:0px}.booking-info.multi-day-start[data-v-40235387]{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.booking-info.multi-day-end[data-v-40235387]{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.booking-info .booking-guest[data-v-40235387]{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;padding:0 .125rem}.booking-info .booking-dates[data-v-40235387]{font-size:.6rem;opacity:.8;padding:0 .125rem}.booking-info[data-v-40235387]{display:flex;align-items:center}.booking-main[data-v-40235387]{flex:1;overflow:hidden;padding:2px 4px}.room-status-indicator[data-v-40235387]{position:absolute;inset:0;display:block;font-size:0}.room-status-indicator[aria-label][data-v-40235387]:after{content:attr(aria-label);position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-reserved[data-v-40235387]{background-color:#3a8dff!important;color:#fff!important}.status-occupied[data-v-40235387]{background-color:#4caf50!important;color:#fff!important}.status-maintenance[data-v-40235387]{background-color:#e53935!important;color:#fff!important}.status-pending[data-v-40235387]{background-color:#9c27b0!important;color:#fff!important}.booking-span.status-reserved .booking-guest[data-v-40235387],.booking-span.status-reserved .booking-dates[data-v-40235387],.booking-span.status-occupied .booking-guest[data-v-40235387],.booking-span.status-occupied .booking-dates[data-v-40235387],.booking-span.status-pending .booking-guest[data-v-40235387],.booking-span.status-pending .booking-dates[data-v-40235387],.booking-span.status-maintenance .booking-guest[data-v-40235387],.booking-span.status-maintenance .booking-dates[data-v-40235387]{color:#fff!important}.status-vacant[data-v-40235387]{background-color:#fff!important;color:transparent!important;border:1px solid #e5e7eb}.status-dirty[data-v-40235387]{background-color:#ffeb3b!important;color:#333!important;border-radius:6px!important;border:1px solid rgba(255,235,59,.3)!important;margin:1px!important;box-shadow:0 1px 3px #ffeb3b33!important}.status-cleaning[data-v-40235387]{background-color:#ff9800!important;color:#fff!important;border-radius:6px!important;border:1px solid rgba(255,152,0,.3)!important;margin:1px!important;box-shadow:0 1px 3px #ff980033!important}.status-past[data-v-40235387]{background-color:#31a66a!important;color:#333!important;border-radius:6px!important;border:1px solid #E53935!important;margin:1px!important;box-shadow:0 1px 3px #e5393533!important;opacity:.9!important}.booking-span.status-past .booking-guest[data-v-40235387],.booking-span.status-past .booking-dates[data-v-40235387]{color:#333!important}.status-dot.status-vacant[data-v-40235387]{background-color:#9ca3af}.status-dot.status-occupied[data-v-40235387]{background-color:#4caf50}.status-dot.status-reserved[data-v-40235387]{background-color:#3a8dff}.status-dot.status-maintenance[data-v-40235387]{background-color:#e53935}.status-dot.status-pending[data-v-40235387]{background-color:#9c27b0}.status-dot.status-dirty[data-v-40235387]{background-color:#ffeb3b}.status-dot.status-cleaning[data-v-40235387]{background-color:#ff9800}.status-dot.status-past[data-v-40235387]{background-color:#ffb74d;border:1px solid #E53935}.booking-info[data-v-40235387]{position:absolute;inset:0;border-radius:0;font-size:.75rem;line-height:1rem}.booking-info .booking-guest[data-v-40235387]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:700}.booking-info .booking-dates[data-v-40235387]{font-size:.6rem;opacity:.8}.booking-spans-container[data-v-40235387]{position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none;z-index:5;overflow:hidden;display:grid;grid-template-columns:150px repeat(13,1fr);grid-template-rows:repeat(auto-fit,40px);gap:0;align-items:center;justify-items:stretch}.booking-spans-container[data-v-40235387]:empty{display:none}.booking-spans-container .booking-span[data-v-40235387]{pointer-events:auto}.calendar-cell[data-v-40235387]{pointer-events:auto;position:relative;z-index:1}.booking-span[data-v-40235387]{display:flex;cursor:grab;font-size:.75rem;line-height:1rem;border-radius:6px!important;border:.5px solid rgba(255,255,255,.15);box-shadow:0 1px 3px #0000001a;transition:all .2s ease;margin:0;max-width:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:grid;align-items:center;width:100%;min-width:100%;height:90%;min-height:90%;max-height:90%;box-sizing:border-box;align-self:center}.booking-span[data-v-40235387]:hover{box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.booking-span[data-v-40235387],.booking-span.is-start[data-v-40235387],.booking-span.is-end[data-v-40235387],.booking-span.is-middle[data-v-40235387],.booking-span.month-view[data-v-40235387]{border-radius:6px!important}.booking-span+.booking-span[data-v-40235387]{margin-left:2px}.booking-span.status-reserved[data-v-40235387],.booking-span.status-occupied[data-v-40235387],.booking-span.status-pending[data-v-40235387]{border-left:2px solid rgba(255,255,255,.4)}.booking-span[style*=grid-column][data-v-40235387]{width:100%!important;min-width:100%!important;max-width:100%!important;height:90%!important;min-height:90%!important;max-height:90%!important;box-sizing:border-box!important;align-self:center!important;align-items:center!important}.room-row[data-v-40235387]{position:relative}.booking-span[data-v-40235387]:nth-child(1){z-index:10}.booking-span[data-v-40235387]:nth-child(2){z-index:9;margin-top:1px;height:calc(90% - 1px)}.booking-span[data-v-40235387]:nth-child(3){z-index:8;margin-top:2px;height:calc(90% - 2px)}.booking-span[data-v-40235387]:nth-child(4){z-index:7;margin-top:3px;height:calc(90% - 3px)}@media (max-width: 768px){.booking-span[data-v-40235387]:nth-child(2){margin-top:1px;height:calc(90% - 1px)}.booking-span[data-v-40235387]:nth-child(3){margin-top:2px;height:calc(90% - 2px)}.booking-span[data-v-40235387]:nth-child(4){margin-top:3px;height:calc(90% - 3px)}}.booking-span.hourly-booking[data-v-40235387]{position:relative}.hourly-clock-icon[data-v-40235387]{position:absolute;top:2px;right:2px;width:14px;height:14px;color:#9c27b0;z-index:20;font-size:12px;animation:clock-spin-40235387 2s linear infinite;pointer-events:none}@keyframes clock-spin-40235387{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.booking-span.hourly-booking .hourly-clock-icon[data-v-40235387]{filter:drop-shadow(0 0 2px rgba(255,255,255,.8))}.booking-span.overdue-checkout[data-v-40235387]{border-left:3px solid #ef4444!important;box-shadow:0 0 0 1px #ef44444d}.booking-span .overdue-checkout-badge[data-v-40235387]{color:#fff;position:absolute;top:.25rem;left:.25rem;z-index:10;display:flex;align-items:center;gap:.25rem;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1));padding:.125rem .375rem;font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));box-shadow:0 2px 4px #0003}.booking-span .overdue-checkout-badge i[data-v-40235387]{font-size:.75rem;line-height:1rem}.booking-span .overdue-checkout-badge .overdue-text[data-v-40235387]{font-size:.75rem;line-height:1rem;font-weight:700}.booking-span .booking-main[data-v-40235387]{flex:1;overflow:hidden;padding:2px 6px}.booking-span .booking-guest[data-v-40235387]{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;margin-bottom:2px;margin-top:1px}.booking-span .booking-dates[data-v-40235387]{font-size:.6rem;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.booking-span[style*=color] .booking-guest[data-v-40235387],.booking-span[style*=color] .booking-dates[data-v-40235387]{color:inherit}.booking-span.month-view[data-v-40235387]{font-size:.5rem}.booking-span.month-view .booking-guest[data-v-40235387]{font-size:.4rem}.booking-span.month-view .booking-dates[data-v-40235387]{font-size:.3rem}.room-row.month-view .booking-spans-container[data-v-40235387]{left:0;grid-template-columns:150px repeat(30,1fr)}.room-status-indicator[data-v-40235387]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:500}.room-status-indicator.status-dirty[data-v-40235387]{color:#333!important;font-weight:600!important;text-shadow:0 1px 2px rgba(255,255,255,.5)!important}.grid-header.month-view[data-v-40235387]{background-color:var(--gray-50);display:grid;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));grid-template-columns:150px repeat(30,1fr)}.grid-header.month-view .room-column-header[data-v-40235387]{color:#374151;background-color:var(--gray-100);grid-row:span 2 / span 2;border-right-width:1px;--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.5rem;font-weight:700;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1));grid-row:1 / span 2}.grid-header.month-view .date-header[data-v-40235387]{background-color:var(--gray-50);--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:.25rem;text-align:center;font-size:.75rem;line-height:1rem}.grid-header.month-view .date-header[data-v-40235387]:last-child{border-right-width:0px}.grid-header.month-view .date-header.is-today[data-v-40235387]{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.grid-header.month-view .date-number[data-v-40235387]{font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.grid-header.month-view .date-day[data-v-40235387]{font-size:.6rem;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.room-row.month-view[data-v-40235387]{display:grid;grid-template-columns:150px repeat(30,1fr);border-bottom:1px solid #e5e7eb!important;box-sizing:border-box;position:relative}.room-row.month-view[data-v-40235387]:not(:last-child){border-bottom:1px solid #e5e7eb!important}.room-row.month-view[data-v-40235387]:last-child{border-bottom:1px solid #e5e7eb!important}.room-row.month-view .room-cell[data-v-40235387]{background-color:var(--gray-50);display:flex;flex-direction:column;justify-content:center;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:.125rem;font-size:.75rem;line-height:1rem}.room-row.month-view .room-cell[data-v-40235387]:first-child{border-left-width:0px}.room-row.month-view .room-cell[data-v-40235387]:last-child{border-right-width:0px}.room-row.month-view .room-number[data-v-40235387]{text-align:center;font-size:.5rem;font-weight:700;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.room-row.month-view .room-type[data-v-40235387]{text-align:center;font-size:.4rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.calendar-cell.month-view[data-v-40235387]{height:2rem;padding:0;font-size:.75rem;line-height:1rem;position:relative;background-color:#fff}.calendar-cell.month-view.status-dirty[data-v-40235387]{border-radius:4px!important;border:1px solid rgba(255,193,7,.3)!important;margin:.5px!important;box-shadow:0 1px 2px #ffc10733!important;background-color:#ffeb3b!important}.calendar-cell.month-view.status-cleaning[data-v-40235387]{border-radius:4px!important;border:1px solid rgba(255,152,0,.3)!important;margin:.5px!important;box-shadow:0 1px 2px #ff980033!important;background-color:#ff9800!important}.calendar-cell.month-view[data-v-40235387]:last-child{border-right-width:0px}.booking-info.month-view[data-v-40235387]{position:absolute;inset:0;border-radius:0;font-size:.5rem}.booking-info.month-view .booking-guest[data-v-40235387]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:.125rem;padding-right:.125rem;font-size:.4rem;font-weight:700}.booking-info.month-view .booking-dates[data-v-40235387]{padding-left:.125rem;padding-right:.125rem;font-size:.3rem;opacity:.8}.calendar-cell.range-selected[data-v-40235387],.calendar-cell.range-selected[data-v-40235387]:not(.has-booking),.calendar-cell.range-selected[data-v-40235387]:not(.has-booking):not(.status-dirty):not(.status-maintenance):not(.status-pending):not(.status-cleaning),.calendar-cell.range-selected[data-v-40235387]:hover,.calendar-cell.range-selected[data-v-40235387]:active{background-color:#62c5ef!important;border-color:transparent!important;box-shadow:none!important;transition:background-color .2s ease}.calendar-cell.range-blocked[data-v-40235387]{background-color:#dc262666!important;border:2px solid rgba(220,38,38,.8)!important;box-shadow:0 2px 8px #dc262666}.room-status-indicator.month-view[data-v-40235387]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-left:.125rem;padding-right:.125rem;font-size:.4rem;font-weight:500}@media (max-width: 1024px){.grid-header[data-v-40235387],.grid-header-fixed[data-v-40235387],.room-row[data-v-40235387]{grid-template-columns:120px repeat(13,1fr)}.grid-header-fixed.month-view[data-v-40235387]{grid-template-columns:120px repeat(30,1fr)}.calendar-content-wrapper[data-v-40235387]{height:calc(100vh - 140px)}.calendar-rows-scrollable[data-v-40235387]{height:calc(100vh - 200px);background-image:linear-gradient(to right,#f3f4f6 1px,transparent 1px);background-size:calc(100% / 13) 100%;background-position:120px 0}.room-row[data-v-40235387]{height:2.5rem}.calendar-cell[data-v-40235387]{height:2.5rem;font-size:.6rem}.room-number[data-v-40235387]{font-size:.6rem}.room-type[data-v-40235387]{font-size:.5rem}.booking-spans-container[data-v-40235387]{left:0;grid-template-columns:120px repeat(13,1fr)}}@media (max-width: 768px){.grid-header[data-v-40235387],.grid-header-fixed[data-v-40235387],.room-row[data-v-40235387]{grid-template-columns:100px repeat(13,minmax(80px,1fr))}.grid-header-fixed.month-view[data-v-40235387]{grid-template-columns:100px repeat(30,minmax(60px,1fr))}.calendar-content-wrapper[data-v-40235387]{height:calc(100vh - 120px)}.calendar-rows-scrollable[data-v-40235387]{height:calc(100vh - 180px);background-image:linear-gradient(to right,#f3f4f6 1px,transparent 1px);background-size:calc(100% / 13) 100%;background-position:100px 0}.room-row[data-v-40235387]{height:2.25rem}.calendar-cell[data-v-40235387]{height:2.25rem;font-size:.5rem}.room-number[data-v-40235387]{font-size:.5rem}.room-type[data-v-40235387]{font-size:.4rem}.booking-info .booking-guest[data-v-40235387]{font-size:.5rem}.booking-info .booking-dates[data-v-40235387]{font-size:.4rem;opacity:.7}.room-status-indicator[data-v-40235387]{font-size:.4rem}.booking-spans-container[data-v-40235387]{left:0;grid-template-columns:100px repeat(13,minmax(80px,1fr))}}.calendar-cell[data-v-40235387]:hover:not(.has-booking){background-color:#0000000d;transition:all .15s ease}.calendar-cell[data-v-40235387]:active:not(.has-booking){background-color:#0000001a;transform:scale(.98)}@keyframes shimmer-40235387{0%,to{opacity:.3}50%{opacity:.8}}.booking-span[draggable=true][data-v-40235387]{cursor:grab;transition:opacity .2s ease}.booking-span[draggable=true][data-v-40235387]:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.booking-span[draggable=true][data-v-40235387]:active{cursor:grabbing}.booking-span.dragging[data-v-40235387]{opacity:.5!important;transform:scale(1.02);z-index:1000;transition:opacity .1s ease,transform .1s ease}.calendar-cell.drag-over[data-v-40235387]{border-width:1px;border-style:dashed;--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1));background-color:#3b82f608!important;transition:all .2s ease}.calendar-cell.drag-valid[data-v-40235387]{border-width:1px;--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1));background-color:#3b82f60d!important;transition:all .2s ease}.calendar-cell.drag-over.drag-valid[data-v-40235387]{border-width:1px;--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1));background-color:#3b82f60d!important}.calendar-cell.drag-invalid[data-v-40235387]{border-width:1px;border-style:dashed;--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1));background-color:#ef444408!important;transition:all .2s ease}.calendar-cell.drag-over.drag-invalid[data-v-40235387]{border-width:1px;--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1));background-color:#ef44440d!important}.calendar-cell[data-v-40235387]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.range-selection-tooltip .tooltip-header .avatar-circle[data-v-40235387]{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.range-selection-tooltip .status-selecting[data-v-40235387]{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.range-selection-tooltip .status-blocked[data-v-40235387]{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.range-selection-tooltip .blocked-info[data-v-40235387]{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.calendar-loading[data-v-40235387]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:400px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;border:1px solid #e2e8f0}.calendar-loading .loading-content[data-v-40235387]{color:var(--gray-500);margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.calendar-loading .spinner[data-v-40235387]{width:32px;height:32px;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;border-radius:50%;animation:spin-40235387 1s linear infinite}@keyframes spin-40235387{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-skeleton[data-v-40235387]{width:100%;max-width:1200px;margin:0 auto}.skeleton-header[data-v-40235387]{display:flex;align-items:center}.skeleton-grid[data-v-40235387],.skeleton-row[data-v-40235387]{width:100%}.calendar-error[data-v-40235387]{display:flex;min-height:24rem;align-items:center;justify-content:center;padding:2rem}.error-content[data-v-40235387]{margin-left:auto;margin-right:auto;max-width:28rem;text-align:center}.calendar-no-rooms[data-v-40235387]{display:flex;min-height:24rem;align-items:center;justify-content:center;padding:2rem}.no-rooms-content[data-v-40235387]{margin-left:auto;margin-right:auto;max-width:28rem;text-align:center}.calendar-cell[data-v-40235387]:hover:not(.has-booking){background-color:#3b82f60d!important;transition:all .15s ease;cursor:pointer}.calendar-cell:hover.has-booking[data-v-40235387]{background-color:#0000000d!important;transition:all .15s ease;cursor:pointer}.calendar-cell[data-v-40235387]:active:not(.has-booking){background-color:#3b82f61a!important;transform:scale(.98)}.calendar-cell.status-dirty[data-v-40235387]:hover{background-color:#ffeb3bcc!important;transform:scale(1.02)}.calendar-cell.status-maintenance[data-v-40235387]:hover{background-color:#e53935cc!important;transform:scale(1.02)}.calendar-cell.status-pending[data-v-40235387]:hover,.calendar-cell.status-blocked[data-v-40235387]:hover{background-color:#9c27b0cc!important;transform:scale(1.02)}.booking-span[data-v-40235387]:hover{box-shadow:0 4px 12px #00000026!important;transform:translateY(-2px)!important;z-index:20!important}.booking-span.status-reserved[data-v-40235387]:hover{background-color:#3a8dffe6!important}.booking-span.status-occupied[data-v-40235387]:hover{background-color:#4caf50e6!important}.booking-span.status-pending[data-v-40235387]:hover{background-color:#9c27b0e6!important}.booking-span.status-maintenance[data-v-40235387]:hover{background-color:#e53935e6!important}.booking-span .drag-handle[data-v-40235387]{position:absolute!important;inset:0 0 0 auto!important;width:16px!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:ew-resize!important;opacity:0!important;transition:opacity .2s ease!important;background:#fff3!important;border-radius:0 6px 6px 0!important;z-index:10!important}.booking-span:hover .drag-handle[data-v-40235387]{opacity:1}.booking-span .drag-handle[data-v-40235387]:after{content:"↔";color:#fff;font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transform:scaleX(.8)}.booking-span .drag-handle-arrow[data-v-40235387]{position:absolute;right:0;top:50%;height:0px;width:0px;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;border-left:8px solid rgba(255,255,255,.9);border-top:6px solid transparent;border-bottom:6px solid transparent}.booking-span:hover .drag-handle-arrow[data-v-40235387]{opacity:1}.booking-span .drag-handle[data-v-40235387]:hover{background:#ffffff4d}.calendar-cell.drag-extend-preview[data-v-40235387]{background-color:#3a8dff99!important;border:2px dashed rgba(58,141,255,1)!important;box-shadow:inset 0 0 0 2px #3a8dff80!important;z-index:100!important}.calendar-cell.drag-extend-preview.status-reserved[data-v-40235387]{background-color:#3a8dff99!important;border-color:#3a8dff!important;box-shadow:inset 0 0 0 2px #3a8dff80!important}.calendar-cell.drag-extend-preview.status-occupied[data-v-40235387]{background-color:#4caf5099!important;border-color:#4caf50!important;box-shadow:inset 0 0 0 2px #4caf5080!important}.calendar-cell.drag-extend-preview.status-pending[data-v-40235387]{background-color:#9c27b099!important;border-color:#9c27b0!important;box-shadow:inset 0 0 0 2px #9c27b080!important}.calendar-cell.drag-extend-preview.status-maintenance[data-v-40235387]{background-color:#e5393599!important;border-color:#e53935!important;box-shadow:inset 0 0 0 2px #e5393580!important}.calendar-cell.drag-extend-preview.status-checked-in[data-v-40235387]{background-color:#4caf5099!important;border-color:#4caf50!important;box-shadow:inset 0 0 0 2px #4caf5080!important}.calendar-cell.drag-extend-preview.status-checked-out[data-v-40235387]{background-color:#9c27b099!important;border-color:#9c27b0!important;box-shadow:inset 0 0 0 2px #9c27b080!important}.calendar-cell.drag-extend-preview.status-dirty[data-v-40235387]{background-color:#ffc10799!important;border-color:#ffc107!important;box-shadow:inset 0 0 0 2px #ffc10780!important}.calendar-cell.drag-extend-preview.status-cancelled[data-v-40235387]{background-color:#9e9e9e99!important;border-color:#9e9e9e!important;box-shadow:inset 0 0 0 2px #9e9e9e80!important}.calendar-cell.drag-extend-preview.status-completed[data-v-40235387]{background-color:#2196f399!important;border-color:#2196f3!important;box-shadow:inset 0 0 0 2px #2196f380!important}.calendar-cell.drag-extend-preview.status-unknown[data-v-40235387]{background-color:#9e9e9e99!important;border-color:#9e9e9e!important;box-shadow:inset 0 0 0 2px #9e9e9e80!important}.calendar-cell.drag-extend-preview.drag-remove-preview[data-v-40235387]{background-color:#fffc!important;border-color:#dc2626!important;box-shadow:inset 0 0 0 2px #dc262680!important}.booking-action-modal[data-v-40235387]{position:fixed;inset:0;background-color:#00000080;z-index:50;display:flex;align-items:center;justify-content:center}.booking-action-dropdown[data-v-40235387]{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb;min-width:280px;max-width:320px;z-index:50}.booking-action-header[data-v-40235387]{padding:16px;border-bottom:1px solid #f3f4f6}.booking-action-title[data-v-40235387]{font-size:14px;font-weight:600;color:#111827;margin-bottom:4px}.booking-action-subtitle[data-v-40235387]{font-size:12px;color:#6b7280}.booking-action-content[data-v-40235387]{padding:8px 0}.booking-action-item[data-v-40235387]{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .15s ease;border:none;background:none;width:100%;text-align:left}.booking-action-item[data-v-40235387]:hover{background-color:#f9fafb}.booking-action-item.danger[data-v-40235387]:hover{background-color:#fef2f2;color:#dc2626}.booking-action-item.success[data-v-40235387]:hover{background-color:#f0fdf4;color:#16a34a}.booking-action-item.warning[data-v-40235387]:hover{background-color:#fffbeb;color:#d97706}.booking-action-icon[data-v-40235387]{width:20px;height:20px;margin-right:12px;display:flex;align-items:center;justify-content:center}.booking-action-text[data-v-40235387]{font-size:14px;font-weight:500}.dirty-room-options-modal[data-v-40235387]{position:fixed;inset:0;background-color:#00000080;z-index:50;display:flex;align-items:center;justify-content:center}.dirty-room-dropdown[data-v-40235387]{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb;min-width:280px;max-width:320px;z-index:50}.dirty-room-header[data-v-40235387]{padding:16px;border-bottom:1px solid #f3f4f6;background-color:#fffbeb}.dirty-room-title[data-v-40235387]{font-size:14px;font-weight:600;color:#92400e;margin-bottom:4px}.dirty-room-subtitle[data-v-40235387]{font-size:12px;color:#a16207}.maintenance-modal[data-v-40235387]{position:fixed;inset:0;background-color:#00000080;z-index:60;display:flex;align-items:center;justify-content:center}.maintenance-modal-content[data-v-40235387]{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:500px;max-height:90vh;overflow-y:auto;padding:24px}.maintenance-modal-header[data-v-40235387]{display:flex;justify-content:between;align-items:center;margin-bottom:16px}.maintenance-modal-title[data-v-40235387]{font-size:20px;font-weight:700;color:#111827;margin-bottom:4px}.maintenance-modal-subtitle[data-v-40235387]{font-size:14px;color:#6b7280}.maintenance-modal-close[data-v-40235387]{color:#6b7280;cursor:pointer;padding:8px;border-radius:6px;transition:all .15s ease}.maintenance-modal-close[data-v-40235387]:hover{color:#374151;background-color:#f3f4f6}.temporary-booking-modal[data-v-40235387]{position:fixed;inset:0;background-color:#00000080;z-index:60;display:flex;align-items:center;justify-content:center}.temporary-booking-content[data-v-40235387]{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:600px;max-height:90vh;overflow-y:auto;padding:24px}@keyframes fadeIn-40235387{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.booking-action-dropdown[data-v-40235387],.dirty-room-dropdown[data-v-40235387],.maintenance-modal-content[data-v-40235387],.temporary-booking-content[data-v-40235387]{animation:fadeIn-40235387 .2s ease-out}@keyframes slideUp-40235387{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.booking-action-item[data-v-40235387]{animation:slideUp-40235387 .15s ease-out}.booking-action-item[data-v-40235387]:nth-child(1){animation-delay:0ms}.booking-action-item[data-v-40235387]:nth-child(2){animation-delay:50ms}.booking-action-item[data-v-40235387]:nth-child(3){animation-delay:.1s}.booking-action-item[data-v-40235387]:nth-child(4){animation-delay:.15s}.booking-action-item[data-v-40235387]:nth-child(5){animation-delay:.2s}@media (max-width: 768px){.booking-action-dropdown[data-v-40235387],.dirty-room-dropdown[data-v-40235387]{min-width:260px;max-width:280px;margin:16px}.maintenance-modal-content[data-v-40235387],.temporary-booking-content[data-v-40235387]{width:calc(100% - 32px);margin:16px}.booking-action-item[data-v-40235387]{padding:16px}.booking-action-icon[data-v-40235387]{width:24px;height:24px;margin-right:16px}.booking-action-text[data-v-40235387]{font-size:16px}}.maintenance-active[data-v-40235387]{background-color:#f59e0b!important;color:#fff!important;border-color:#d97706!important;box-shadow:0 0 0 2px #f59e0b33!important}.maintenance-active[data-v-40235387]:hover{background-color:#d97706!important}.booking-calendar.maintenance-mode .room-cell[data-v-40235387]{transition:all .2s ease}.booking-calendar.maintenance-mode .room-cell[data-v-40235387]:hover{background-color:#f59e0b1a!important;border:2px solid #f59e0b!important;cursor:pointer!important;transform:scale(1.02)}.booking-calendar.maintenance-mode[data-v-40235387]{cursor:crosshair!important}.maintenance-mode-indicator[data-v-40235387]{position:fixed;top:20px;right:20px;background-color:#f59e0b;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;z-index:1000;box-shadow:0 4px 12px #0000001a;animation:pulse-40235387 2s infinite}@keyframes pulse-40235387{0%,to{opacity:1}50%{opacity:.7}}.calendar-grid-mobile[data-v-eeddfff8]{display:flex;flex-direction:column;height:100%;background:#fff;overflow:hidden}.day-headers-wrapper[data-v-eeddfff8]{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;border-bottom:2px solid #e5e7eb;position:sticky;top:0;z-index:10;background:#fff;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;will-change:scroll-position;transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.day-headers-wrapper[data-v-eeddfff8]::-webkit-scrollbar{display:none}.day-headers[data-v-eeddfff8]{display:flex;min-width:-moz-fit-content;min-width:fit-content}.room-header[data-v-eeddfff8]{width:60px;min-width:60px;padding:.5rem;font-weight:600;font-size:.75rem;color:#6b7280;border-right:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;position:sticky;left:0;z-index:20;background:#fff;box-shadow:2px 0 4px #0000000d}.today-btn[data-v-eeddfff8]{padding:.4rem .6rem;background:#667eea;color:#fff;border:none;border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .2s}.today-btn[data-v-eeddfff8]:disabled{opacity:.5;cursor:not-allowed}.today-btn[data-v-eeddfff8]:active:not(:disabled){transform:scale(.95);background:#5568d3}.day-header[data-v-eeddfff8]{flex-shrink:0;width:100px;min-width:100px;padding:.5rem;text-align:center;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.25rem;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.day-header[data-v-eeddfff8]:active{background:#f3f4f6}.day-header.is-today[data-v-eeddfff8]{background:#eff6ff;color:#2563eb}.day-header.is-selected[data-v-eeddfff8]{background:#667eea;color:#fff}.day-header.is-selected .day-name[data-v-eeddfff8]{color:#fff}.day-header.is-weekend[data-v-eeddfff8]{background:#f9fafb}.day-name[data-v-eeddfff8]{font-size:.75rem;font-weight:500;text-transform:uppercase;color:#6b7280}.day-header.is-today .day-name[data-v-eeddfff8]{color:#2563eb}.day-number[data-v-eeddfff8]{font-size:1rem;font-weight:600}.room-rows-wrapper[data-v-eeddfff8]{flex:1;overflow:auto;scrollbar-width:none;-ms-overflow-style:none;position:relative;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;will-change:scroll-position;transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.room-rows-wrapper[data-v-eeddfff8]::-webkit-scrollbar{display:none}.room-rows[data-v-eeddfff8]{display:flex;flex-direction:column}.room-row[data-v-eeddfff8]{display:flex;min-height:60px;min-width:-moz-fit-content;min-width:fit-content;border-bottom:1px solid #e5e7eb}.room-row[data-v-eeddfff8]:last-child{border-bottom:none}.room-number[data-v-eeddfff8]{width:60px;min-width:60px;padding:.75rem .5rem;font-weight:600;font-size:.875rem;color:#374151;border-right:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;background:#f9fafb;position:sticky;left:0;z-index:15;box-shadow:2px 0 4px #0000000d}.booking-cells[data-v-eeddfff8]{display:flex;min-width:-moz-fit-content;min-width:fit-content;position:relative}.booking-cell[data-v-eeddfff8]{flex-shrink:0;width:100px;min-width:100px;position:relative;border-right:1px solid #e5e7eb;padding:.25rem;cursor:pointer;transition:background-color .2s;-webkit-tap-highlight-color:transparent}.booking-cell[data-v-eeddfff8]:active{background-color:#f3f4f6}.booking-cell.is-today[data-v-eeddfff8]{background:#eff6ff}.booking-cell.is-weekend[data-v-eeddfff8]{background:#f9fafb}.booking-cell.status-maintenance[data-v-eeddfff8]{background-color:#e53935!important;color:#fff!important}.booking-cell.status-maintenance[data-v-eeddfff8]:after{content:"🔧";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2rem;opacity:.8}.booking-card[data-v-eeddfff8]{touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word;align-items:flex-start;justify-content:flex-start;overflow-y:auto;overflow-x:hidden}.booking-card[data-v-eeddfff8]:active{transform:scale(.98);box-shadow:0 1px 2px #0000001a}.booking-pending[data-v-eeddfff8]{background:#fef3c7;color:#92400e;border-left:3px solid #f59e0b}.booking-confirmed[data-v-eeddfff8]{background:#dbeafe;color:#1e40af;border-left:3px solid #3b82f6}.booking-checked-in[data-v-eeddfff8]{background:#d1fae5;color:#065f46;border-left:3px solid #10b981}.booking-checked-out[data-v-eeddfff8]{background:#e5e7eb;color:#374151;border-left:3px solid #6b7280}.booking-cancelled[data-v-eeddfff8]{background:#fee2e2;color:#991b1b;border-left:3px solid #ef4444}.booking-guest-name[data-v-eeddfff8]{font-weight:600;display:block;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;overflow:hidden;min-height:1.2em;flex-shrink:0}.booking-nights[data-v-eeddfff8]{opacity:.8;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;overflow:hidden;min-height:1em}.booking-status[data-v-eeddfff8]{font-weight:500;text-transform:uppercase;opacity:.7;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;overflow:hidden;min-height:1em}.booking-amount[data-v-eeddfff8]{font-weight:600;opacity:.9;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;overflow:hidden;min-height:1em;text-overflow:ellipsis}
