:root{--bookings-bg-secondary:#2a3541;--bookings-card-bg:rgba(65,83,97,.09);--bookings-border:hsla(55,80%,92%,.15);--bookings-text-primary:#fbf8da;--bookings-text-secondary:#a0a8b0;--bookings-accent:#d5ab16;--bookings-success:#10b981;--bookings-warning:#f59e0b;--bookings-danger:#ef4444;--bookings-spacing:24px;--bookings-radius:12px;--bookings-radius-sm:8px;--bookings-shadow:0 4px 16px rgba(0,0,0,.2)}.bookings-page-container{width:100%;min-height:100vh;background:var(--bookings-bg-primary);padding:var(--bookings-spacing);animation:pageLoad .4s ease-out}@keyframes pageLoad{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bookings-list-container{max-width:1600px;margin:0 auto}.bookings-header{background:var(--bookings-bg-secondary);border-radius:var(--bookings-radius);padding:32px;margin-bottom:var(--bookings-spacing);box-shadow:var(--bookings-shadow)}.bookings-header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:32px}.bookings-title-section{flex:1 1;min-width:0}.bookings-title{font-size:32px;font-weight:700;color:var(--bookings-text-primary);margin:0 0 8px;letter-spacing:-.5px}.bookings-subtitle{font-size:14px;color:var(--bookings-text-secondary);margin:0;line-height:1.6}.bookings-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}.bookings-controls{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--bookings-border);gap:24px}.bookings-controls-left{flex:1 1;min-width:0;display:flex;gap:16px;align-items:center}.search-container{flex:1 1;min-width:0;max-width:600px}.search-input-wrapper,.search-input-wrapper form{display:flex;gap:12px;align-items:center;width:100%}.search-input-wrapper form{flex:1 1}.search-input-wrapper form>div{flex:1 1;position:relative;min-width:0}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--bookings-text-secondary);pointer-events:none;z-index:1}.search-input{width:100%;padding:12px 48px;background:rgba(65,83,97,.2);border:1px solid var(--bookings-border);border-radius:var(--bookings-radius-sm);color:var(--bookings-text-primary);font-size:14px;outline:none;transition:all .2s}.search-input:focus{border-color:var(--bookings-accent);background:rgba(65,83,97,.3)}.search-input::placeholder{color:var(--bookings-text-secondary)}.search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--bookings-text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .2s;z-index:1}.search-clear:hover{color:var(--bookings-accent)}.month-end-search-container{flex:1 1;min-width:0;max-width:600px}.month-end-search-wrapper,.month-end-search-wrapper form{display:flex;gap:12px;align-items:center;width:100%}.month-end-search-wrapper form{flex:1 1}.month-end-search-wrapper form>div{flex:1 1;position:relative;min-width:0}.month-end-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:hsla(55,80%,92%,.5);pointer-events:none;z-index:1;font-size:16px}.month-end-search-input{width:100%;padding:12px 48px;background:rgba(65,83,97,.2);border:1px solid hsla(55,80%,92%,.15);border-radius:8px;color:#fbf8da;font-size:14px;font-weight:500;outline:none;transition:all .2s}.month-end-search-input:focus{border-color:#d5ab16;background:rgba(65,83,97,.3);box-shadow:0 0 0 3px rgba(213,171,22,.1)}.month-end-search-input::placeholder{color:hsla(55,80%,92%,.5)}.month-end-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:hsla(55,80%,92%,.5);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .2s;z-index:1;font-size:18px}.month-end-search-clear:hover{color:#d5ab16}.month-end-date-selector{display:flex;align-items:center;gap:12px;padding:12px 20px;background:rgba(65,83,97,.15);border:1px solid hsla(55,80%,92%,.1);border-radius:12px;flex-shrink:0}.date-selector-icon{color:var(--color-accent,#d5ab16);font-size:1.25rem;flex-shrink:0}.month-end-date-selector .kyan-dropdown{min-width:auto}.month-end-date-selector .kyan-dropdown-trigger{min-width:120px;padding:8px 16px;background:transparent;border:1px solid hsla(55,80%,92%,.15);font-size:.9375rem;font-weight:600}.month-end-date-selector .kyan-dropdown-trigger:hover{background:hsla(55,80%,92%,.05);border-color:var(--color-accent,#d5ab16)}.bookings-results-info{display:flex;gap:16px;align-items:center;flex-shrink:0}.cache-info,.search-mode-indicator{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--bookings-text-secondary);white-space:nowrap}.search-mode-indicator{color:var(--bookings-accent);font-weight:600}.bookings-filters-section{margin-bottom:var(--bookings-spacing);display:flex;justify-content:flex-start}.bookings-advanced-filters-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:rgba(65,83,97,.2);border:1px solid var(--bookings-border);border-radius:var(--bookings-radius-sm);color:var(--bookings-text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;position:relative}.bookings-advanced-filters-btn:hover{background:rgba(65,83,97,.3);border-color:var(--bookings-accent);transform:translateY(-1px)}.filter-badge{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--bookings-accent);color:var(--bookings-bg-primary);border-radius:10px;font-size:11px;font-weight:700;margin-left:4px}.performance-warning{display:flex;align-items:center;gap:12px;padding:16px 20px;background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);border-radius:var(--bookings-radius-sm);color:var(--bookings-warning);font-size:14px;font-weight:500;margin-bottom:var(--bookings-spacing)}.bookings-table-wrapper{background:var(--bookings-card-bg);border:1px solid var(--bookings-border);border-radius:var(--bookings-radius);overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--bookings-shadow)}.bookings-table{width:100%;border-collapse:collapse}.bookings-table thead{background:rgba(33,42,49,.8);border-bottom:2px solid var(--bookings-border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.bookings-table th{padding:16px;text-align:left;font-size:12px;font-weight:600;color:var(--bookings-accent);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}.bookings-table tbody tr{border-bottom:1px solid var(--bookings-border);transition:all .2s ease}.bookings-table tbody tr:hover{background:rgba(213,171,22,.08)}.bookings-table tbody tr.excluded{opacity:.65;background:rgba(239,68,68,.05)}.bookings-table td{padding:16px;color:var(--bookings-text-primary);font-size:14px;vertical-align:middle}.status-badges{display:flex;gap:8px;flex-wrap:wrap}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.status-badge.confirmed{background:rgba(16,185,129,.15);color:var(--bookings-success);border:1px solid rgba(16,185,129,.3)}.status-badge.pending{background:rgba(245,158,11,.15);color:var(--bookings-warning);border:1px solid rgba(245,158,11,.3)}.status-badge.cancelled{background:rgba(239,68,68,.15);color:var(--bookings-danger);border:1px solid rgba(239,68,68,.3)}.status-badge.excluded{background:rgba(156,163,175,.15);color:#9ca3af;border:1px solid rgba(156,163,175,.3)}.booking-uid{font-family:Monaco,Courier New,monospace;font-size:12px;color:var(--bookings-accent);background:rgba(213,171,22,.1);padding:4px 8px;border-radius:4px;display:inline-block}.guest-name-cell{font-weight:500;color:var(--bookings-text-primary)}.guest-name-cell-empty{color:var(--bookings-text-secondary);font-style:italic}.property-name{font-weight:500}.revenue-cell{font-weight:600;color:var(--bookings-accent);font-size:15px}.booking-action-buttons{display:flex;gap:8px;justify-content:flex-end}.booking-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--bookings-radius-sm);border:none;cursor:pointer;transition:all .2s ease;font-size:16px;flex-shrink:0}.booking-action-btn:hover{transform:translateY(-2px)}.booking-btn-view{background:rgba(59,130,246,.15);color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.booking-btn-view:hover{background:rgba(59,130,246,.25)}.booking-btn-edit{background:rgba(245,158,11,.15);color:var(--bookings-warning);border:1px solid rgba(245,158,11,.3)}.booking-btn-edit:hover{background:rgba(245,158,11,.25)}.booking-btn-exclusion{background:rgba(156,163,175,.15);color:#9ca3af;border:1px solid rgba(156,163,175,.3)}.booking-btn-exclusion:hover{background:rgba(156,163,175,.25)}.booking-btn-exclusion.excluded{background:rgba(16,185,129,.15);color:var(--bookings-success);border:1px solid rgba(16,185,129,.3)}.booking-btn-exclusion.excluded:hover{background:rgba(16,185,129,.25)}.booking-btn-delete{background:rgba(239,68,68,.15);color:var(--bookings-danger);border:1px solid rgba(239,68,68,.3)}.booking-btn-delete:hover{background:rgba(239,68,68,.25)}.bookings-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--bookings-spacing);padding:20px;background:var(--bookings-card-bg);border:1px solid var(--bookings-border);border-radius:var(--bookings-radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--bookings-shadow)}.pagination-info{display:flex;flex-direction:column;gap:4px}.pagination-summary{font-size:14px;font-weight:500;color:var(--bookings-text-primary)}.cache-info{font-size:12px;color:var(--bookings-text-secondary)}.pagination-controls{display:flex;gap:8px;align-items:center}.pagination-pages{display:flex;gap:6px;align-items:center}.pagination-ellipsis{color:var(--bookings-text-secondary);font-size:14px;font-weight:600;padding:0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pagination-nav-btn{gap:6px;font-weight:600;min-width:auto}.pagination-nav-btn span{font-size:13px}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;background:transparent;border:1px solid var(--bookings-border);border-radius:var(--bookings-radius-sm);color:var(--bookings-text-primary);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.pagination-btn:hover:not(:disabled){background:rgba(213,171,22,.15);border-color:var(--bookings-accent);transform:translateY(-2px)}.pagination-btn.active{background:var(--bookings-accent);border-color:var(--bookings-accent);color:var(--bookings-bg-primary);font-weight:600}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.bookings-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;background:var(--bookings-card-bg);border:1px solid var(--bookings-border);border-radius:var(--bookings-radius);text-align:center;color:var(--bookings-text-secondary)}.bookings-empty-state svg{margin-bottom:20px;opacity:.5}.bookings-empty-state h3{font-size:20px;color:var(--bookings-text-primary);margin:0 0 8px}.bookings-empty-state p{font-size:14px;margin:0 0 20px}.skeleton{background:linear-gradient(90deg,rgba(65,83,97,.15) 25%,rgba(65,83,97,.25) 50%,rgba(65,83,97,.15) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;width:100%}.skeleton-badge{height:24px;width:80px;border-radius:12px}.skeleton-actions{height:36px;width:150px}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1200px){.bookings-table td,.bookings-table th{padding:12px;font-size:13px}}@media (max-width:768px){.bookings-page-container{padding:16px}.bookings-controls,.bookings-header-top{flex-direction:column;align-items:stretch}.bookings-controls{gap:16px}.bookings-controls-left{flex-wrap:wrap}.search-input-wrapper{flex-direction:column}.search-clear{position:static}.bookings-table-wrapper{overflow-x:auto}.bookings-table{min-width:900px}.pagination-controls{flex-wrap:wrap;justify-content:center}.booking-action-buttons{flex-wrap:wrap}}@media (max-width:480px){.bookings-title{font-size:24px}.bookings-header{padding:20px}.booking-action-btn{width:32px;height:32px;font-size:14px}}