.toast{display:flex;align-items:center;gap:12px;padding:14px 16px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 16px #00000026;min-width:300px;max-width:500px;animation:toastSlideIn .3s ease;transition:all .3s ease;position:relative;z-index:10000}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:#3b82f6}.toast-message{flex:1;font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.5;transition:color .3s ease}.toast-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;flex-shrink:0}.toast-close:hover{color:var(--text-primary);background-color:var(--bg-hover)}.toast-container{position:fixed;top:80px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast-container>*{pointer-events:auto}.ripple-container{position:relative;overflow:hidden;display:inline-block;pointer-events:auto}.ripple-container.block{display:block;width:100%}.ripple{position:absolute;transform:scale(0);animation:ripple-animation .6s ease-out;background-color:#ef444466;pointer-events:none;will-change:transform,opacity;border-radius:12px}.nav-link-wrapper .ripple-container,.tabs .ripple-container{border-radius:8px}.stat-card-wrapper .ripple-container,.room-card-wrapper .ripple-container{border-radius:12px}.table-row-wrapper .ripple-container{border-radius:8px}.ripple-container button{border-radius:inherit}.ripple-container{border-radius:12px}@keyframes ripple-animation{to{transform:scale(4);opacity:0}}.sidebar{width:260px;min-width:260px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;overflow-y:auto;overflow-x:hidden;transition:background-color .3s ease,border-color .3s ease,transform .3s ease;flex-shrink:0;position:relative;z-index:1000}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;width:280px;min-width:280px;transform:translate(-100%);z-index:1001;box-shadow:2px 0 10px #0000001a}.sidebar.sidebar-open{transform:translate(0)}}.sidebar-overlay{display:none}@media (max-width: 768px){.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000;animation:fadeIn .3s ease}}.sidebar-header{display:flex;align-items:center;justify-content:center;padding:24px 20px;position:relative}.sidebar-close-btn{display:none;position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease}.sidebar-close-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}@media (max-width: 768px){.sidebar-close-btn{display:flex;align-items:center;justify-content:center}}.logo{height:32px;width:auto;object-fit:contain;display:block}.logo-text{font-size:18px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);transition:color .3s ease}.sidebar-nav{flex:1;padding:0 12px}.nav-section{margin-bottom:32px}.nav-section-title{font-size:11px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:0 12px;margin-bottom:8px;transition:color .3s ease}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text-secondary);text-decoration:none;border-radius:8px;font-size:14px;transition:all .2s;margin-bottom:4px;background:none;border:none;width:100%;text-align:left;cursor:pointer;font-family:inherit}.nav-link:visited{color:var(--text-secondary)}.nav-link.active:visited{color:#ef4444}.nav-link:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-link.active{background-color:var(--bg-active);color:#ef4444;font-weight:500}.nav-link svg,.nav-link>svg{width:20px;height:20px;flex-shrink:0}.nav-link-wrapper,.nav-link-wrapper .ripple-container{width:100%;display:block}.nav-link-wrapper .nav-link{width:100%;margin-bottom:0}.sidebar-footer{padding:20px;border-top:1px solid var(--border-color);margin-top:auto;text-align:center;transition:border-color .3s ease}.footer-text{font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px;font-family:Inter,sans-serif;transition:color .3s ease}.footer-version{font-size:11px;color:var(--text-tertiary);font-family:Inter,sans-serif;transition:color .3s ease}[data-theme=dark] .sidebar{background-color:#0f172a;border-right-color:#1e293b}[data-theme=dark] .sidebar-footer{border-top-color:#1e293b}.header{height:56px;min-height:56px;max-height:56px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;transition:background-color .3s ease,border-color .3s ease;flex-shrink:0;position:relative;z-index:999;box-sizing:border-box}.header-left{display:flex;align-items:center;gap:16px;flex:1;position:relative;z-index:1;pointer-events:auto}.header-menu-btn{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:6px;border-radius:6px;transition:background-color .2s ease;align-items:center;justify-content:center;position:relative;z-index:1;pointer-events:auto;width:36px;height:36px;flex-shrink:0}.header-menu-btn:hover{background-color:var(--bg-hover)}.header-search{display:flex;align-items:center;gap:10px;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;padding:6px 12px;width:300px;height:36px;box-sizing:border-box;transition:background-color .3s ease,border-color .3s ease,width .3s ease;position:relative;z-index:1;pointer-events:auto}.header-search svg{cursor:pointer;pointer-events:auto;position:relative;z-index:2}@media (max-width: 768px){.header{padding:0 12px;height:44px;min-height:44px;max-height:44px}.header-left{gap:8px;min-width:0}.header-menu-btn{display:flex;flex-shrink:0;width:32px;height:32px;padding:4px}.header-search{width:36px;min-width:36px;height:32px;padding:6px;justify-content:center;flex-shrink:0}.header-search input{display:none;width:0;flex:1;min-width:0}.header-search.expanded{width:calc(100vw - 120px);max-width:250px;padding:6px 12px;height:32px}.header-search.expanded input{display:block;width:100%}.header-search.expanded svg{cursor:default;flex-shrink:0}.header-nav-actions{gap:8px;flex-shrink:0;margin-left:auto;justify-content:flex-end}}@media (max-width: 480px){.header{padding:0 8px;height:44px;min-height:44px;max-height:44px}.header-left{gap:6px}.header-search{width:32px;min-width:32px;height:32px;padding:4px}.header-search.expanded{width:calc(100vw - 100px);max-width:200px;padding:6px 10px;height:32px}.header-nav-actions{gap:4px}.header-nav-actions>.ripple-container:nth-child(2){display:none}.header-nav-badge{top:-4px;right:-4px;font-size:9px;padding:1px 5px;min-width:16px}}.header-search svg{color:var(--text-tertiary);flex-shrink:0;width:20px;height:20px;transition:color .3s ease}.header-search input{border:none;background:transparent;outline:none;font-size:14px;color:var(--text-primary);width:100%;transition:color .3s ease}.header-search input::placeholder{color:var(--text-placeholder)}.header-nav-actions{display:flex;align-items:center;gap:12px;margin-left:auto;justify-content:flex-end;flex-shrink:0}@media (max-width: 480px){.header-nav-icon{padding:8px;min-width:36px;min-height:36px}.header-nav-icon svg{width:18px;height:18px}.header-nav-avatar{width:36px;height:36px}.header-nav-avatar svg{width:18px;height:18px}.header-menu-btn{min-width:40px;min-height:40px}}.header-nav-icon{position:relative;cursor:pointer;color:var(--text-secondary);transition:color .2s;background:none;border:none;padding:0;display:flex;align-items:center;justify-content:center}.header-nav-icon:hover{color:var(--text-primary)}.header-nav-icon svg{width:20px;height:20px}.header-nav-sync{display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:color .2s ease,transform .2s ease}.header-nav-sync:hover:not(:disabled){color:var(--primary-color)}.header-nav-sync.syncing{color:var(--primary-color);cursor:wait}.header-nav-sync:disabled{opacity:.6;cursor:not-allowed}.header-nav-sync .spinning{animation:spin 1s linear infinite}.header-nav-theme-toggle{display:flex;align-items:center;justify-content:center}.header-nav-badge{position:absolute;top:-6px;right:-6px;background-color:#ef4444;color:#fff;font-size:10px;font-weight:600;font-family:Inter,sans-serif;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.header-nav-profile{cursor:pointer}.header-nav-avatar{width:36px;height:36px;border-radius:50%;background-color:var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .3s ease,color .3s ease;flex-shrink:0}.header-nav-avatar:hover{background-color:var(--border-hover)}.header-nav-icon .ripple-container,.header-nav-profile .ripple-container{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;padding:6px;margin:-6px;width:32px;height:32px}@media (max-width: 768px){.header-nav-icon .ripple-container,.header-nav-profile .ripple-container{min-width:36px;min-height:36px;width:36px;height:36px;padding:4px;margin:-4px}.header-menu-btn{min-width:36px;min-height:36px}.header-nav-avatar{width:32px;height:32px}.header-nav-avatar svg{width:18px;height:18px}}@media (max-width: 768px){.header{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.header-search input{-webkit-user-select:text;user-select:text}}.loading-container,.dashboard-loading-container,.calendar-loading-container,.booking-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:48px;min-height:400px}@media (max-width: 768px){.loading-container,.dashboard-loading-container,.calendar-loading-container,.booking-loading-container{padding:32px 16px;min-height:300px}}@media (max-width: 480px){.loading-container,.dashboard-loading-container,.calendar-loading-container,.booking-loading-container{padding:24px 12px;min-height:250px}}.loading-spinner-wrapper{display:flex;align-items:center;justify-content:center;width:100%}.loading-spinner{border:3px solid var(--border-color);border-top-color:#ef4444;border-radius:50%;animation:spin .8s linear infinite}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:16px;animation:fadeIn .2s ease}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease;padding:20px}.confirm-modal{background-color:var(--bg-secondary);border-radius:16px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;transition:background-color .3s ease;overflow:hidden}.confirm-modal-icon{display:flex;justify-content:center;padding:24px 24px 16px;color:var(--text-secondary);transition:color .3s ease}.confirm-modal-icon.danger,.confirm-modal-icon .danger{color:#ef4444}.confirm-modal-content{padding:0 24px 24px;text-align:center}.confirm-modal-title{font-size:20px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0 0 12px;transition:color .3s ease}.confirm-modal-message{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0;transition:color .3s ease}.confirm-modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--border-color);transition:border-color .3s ease}.confirm-modal-cancel,.confirm-modal-confirm{flex:1;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;border:none}.confirm-modal-cancel{background-color:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.confirm-modal-cancel:hover{background-color:var(--bg-active)}.confirm-modal-confirm{background-color:#ef4444;color:#fff}.confirm-modal-confirm:hover{background-color:#dc2626}.confirm-modal-confirm.danger{background-color:#ef4444}.confirm-modal-confirm.danger:hover{background-color:#dc2626}.confirm-modal-cancel:disabled,.confirm-modal-confirm:disabled{opacity:.6;cursor:not-allowed}.confirm-modal-confirm:disabled:hover{background-color:#ef4444}.confirm-modal-confirm:disabled.danger:hover{background-color:#ef4444}.datetime-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.datetime-modal{background-color:var(--bg-secondary);border-radius:16px;width:100%;max-width:500px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative;transition:all .3s ease}.datetime-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color)}.datetime-modal-title-section{display:flex;align-items:center;gap:12px}.datetime-modal-title-section svg{color:#ef4444;flex-shrink:0}.datetime-modal-header h2{font-size:20px;font-weight:700;color:var(--text-primary);margin:0;transition:color .3s ease}.datetime-modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.datetime-modal-close:hover:not(:disabled){background-color:var(--bg-hover);color:var(--text-primary)}.datetime-modal-close:disabled{opacity:.5;cursor:not-allowed}.datetime-modal-content{padding:24px}.datetime-form-group{display:flex;flex-direction:column;gap:12px}.datetime-form-group label{font-size:14px;font-weight:500;color:var(--text-primary);transition:color .3s ease}.datetime-form-group input[type=datetime-local]{padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-family:Inter,sans-serif;transition:all .3s ease;outline:none;width:100%;box-sizing:border-box}.datetime-form-group input[type=datetime-local]:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.datetime-form-group input[type=datetime-local]:disabled{opacity:.6;cursor:not-allowed}.datetime-help-text{font-size:12px;color:var(--text-secondary);margin:0;transition:color .3s ease}.datetime-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid var(--border-color)}.datetime-modal-cancel{padding:10px 20px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.datetime-modal-cancel:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-hover)}.datetime-modal-cancel:disabled{opacity:.5;cursor:not-allowed}.datetime-modal-confirm{padding:10px 20px;background-color:#ef4444;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.datetime-modal-confirm:hover:not(:disabled){background-color:#dc2626}.datetime-modal-confirm:disabled{opacity:.5;cursor:not-allowed}.bookings-dashboard{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease}.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.dashboard-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dashboard-action{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;font-size:14px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .08s ease}.dashboard-action:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.dashboard-action:active{transform:translateY(1px)}.dashboard-action.primary{background:#EF4444;border-color:#ef4444;color:#fff}.dashboard-action.primary:hover{filter:brightness(.98)}.dashboard-meta{display:flex;align-items:center;gap:8px}.dashboard-icon-button{width:40px;height:40px;border-radius:999px;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease,transform .08s ease}.dashboard-icon-button:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-hover)}.dashboard-icon-button:disabled{opacity:.6;cursor:not-allowed}.dashboard-icon-button:active{transform:translateY(1px)}.dashboard-content{display:flex;flex-direction:column;gap:32px}.stats-section{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:background-color .3s ease,border-color .3s ease}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stat-label{font-size:14px;color:var(--text-secondary);font-weight:500;transition:color .3s ease}.stat-period{font-size:12px;color:var(--text-tertiary);transition:color .3s ease}.stat-value{font-size:32px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:8px;transition:color .3s ease}.stat-change{font-size:12px;font-weight:500}.stat-change.positive{color:#10b981}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}.bookings-section,.rooms-section{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:background-color .3s ease,border-color .3s ease}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header h2{font-size:20px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);transition:color .3s ease}.section-actions{display:flex;align-items:center;gap:12px}.sort-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;color:var(--text-primary);background-color:var(--bg-secondary);cursor:pointer;transition:all .3s ease}.export-button,.view-all-button{padding:8px 16px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s}.export-button:disabled{opacity:.6;cursor:not-allowed}.export-button:hover,.view-all-button:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.booking-list{display:flex;flex-direction:column;gap:8px}.booking-row-wrapper{width:100%;display:block}.booking-row-wrapper>.ripple-container{width:100%;display:block}.booking-action-buttons .ripple-container{display:inline-flex!important;width:auto!important;height:auto!important;flex-shrink:0}.booking-action-buttons .ripple-container{display:inline-flex!important;flex-shrink:0;width:auto!important;height:auto!important;flex-direction:row}.booking-row-wrapper{display:flex;flex-direction:column;gap:0}.booking-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:16px;padding:14px;border:1px solid var(--border-color);border-radius:14px 14px 0 0;background:var(--bg-secondary);align-items:center;transition:background-color .2s ease,border-color .2s ease;text-align:left}.booking-row:hover{background-color:var(--bg-hover)}.booking-row-title{font-size:15px;font-weight:700;color:var(--text-primary)}.booking-row-subtitle{margin-top:4px;font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dot-sep{opacity:.7}.booking-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.booking-row-amount{font-size:14px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary)}.booking-row-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:capitalize;padding:4px 10px;border-radius:999px;background-color:var(--bg-tertiary);border:1px solid var(--border-color)}.booking-row-status .status-dot{width:8px;height:8px;border-radius:999px;background-color:var(--text-tertiary)}.booking-row-status.status-confirmed{background-color:#10b9811a;border-color:#10b9814d;color:#10b981}.booking-row-status.status-confirmed .status-dot{background-color:#10b981}.booking-row-status.status-completed{background-color:#3b82f61a;border-color:#3b82f64d;color:#3b82f6}.booking-row-status.status-completed .status-dot{background-color:#3b82f6}.booking-row-status.status-pending{background-color:#f59e0b1a;border-color:#f59e0b4d;color:#f59e0b}.booking-row-status.status-pending .status-dot{background-color:#f59e0b}.booking-row-status.status-cancelled{background-color:#ef44441a;border-color:#ef44444d;color:#ef4444}.booking-row-status.status-cancelled .status-dot{background-color:#ef4444}.booking-row-actions{display:flex;justify-content:flex-start;align-items:center;padding:10px 14px;border:1px solid var(--border-color);border-top:none;border-radius:0 0 14px 14px;background:var(--bg-secondary);transition:background-color .2s ease,border-color .2s ease}.booking-row-wrapper:hover .booking-row-actions{background-color:var(--bg-hover);border-color:var(--border-hover)}.booking-action-buttons{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px;width:100%}.booking-action-buttons .ripple-container{display:inline-flex!important;flex-shrink:0;width:auto!important;height:auto!important;vertical-align:middle;flex-direction:row}.booking-action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;padding:0;transition:all .2s ease;flex-shrink:0}.booking-action-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover);color:#ef4444;transform:translateY(-1px)}.booking-action-btn:active:not(:disabled){transform:translateY(0)}.booking-action-btn:disabled{opacity:.5;cursor:not-allowed}.booking-action-btn.primary{background:rgba(34,197,94,.1);border-color:#22c55e4d;color:#22c55e}.booking-action-btn.primary:hover:not(:disabled){background:rgba(34,197,94,.2);border-color:#22c55e66}.booking-action-btn.danger{background:rgba(239,68,68,.1);border-color:#ef44444d;color:#ef4444}.booking-action-btn.danger:hover:not(:disabled){background:rgba(239,68,68,.2);border-color:#ef444466}.booking-action-btn.more{background:transparent;border:none;color:var(--text-tertiary)}.booking-action-btn.more:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.rooms-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.rooms-summary-item{padding:14px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-secondary)}.rooms-summary-label{font-size:12px;color:var(--text-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.rooms-summary-value{margin-top:6px;font-size:22px;font-weight:800;color:var(--text-primary);font-family:Inter,sans-serif}.empty-cta{margin-top:10px;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;background:#EF4444;border:1px solid #EF4444;color:#fff;border-radius:999px;font-weight:700;cursor:pointer}.empty-cta:hover{filter:brightness(.98)}.dashboard-loading-container{display:flex;flex-direction:column;align-items:center;padding:48px;min-height:400px}.dashboard-skeleton{width:100%;animation:skeletonFadeIn .8s cubic-bezier(.4,0,.2,1)}.skeleton-stats-section{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px}.skeleton-stat-card{background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(255,255,255,.02) 100%);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 8px 32px #0000001f;position:relative;overflow:hidden}.skeleton-stat-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:sweep 3s ease-in-out infinite}.skeleton-stat-header{display:flex;justify-content:space-between;margin-bottom:16px;gap:12px}.skeleton-line{height:14px;background:linear-gradient(90deg,var(--bg-hover) 0%,rgba(239,68,68,.1) 50%,var(--bg-hover) 100%);background-size:200% 100%;border-radius:6px;animation:shimmer 2s ease-in-out infinite}.skeleton-line.medium{width:80%}.skeleton-line.very-short{width:40%}.skeleton-line.title{height:20px;width:200px}.skeleton-stat-value{height:40px;width:120px;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;border-radius:8px;animation:shimmer 2.2s ease-in-out infinite;animation-delay:.2s;margin-bottom:8px}.skeleton-bookings-section{background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(255,255,255,.02) 100%);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px;-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 8px 32px #0000001f;position:relative;overflow:hidden}.skeleton-bookings-section:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:sweep 3s ease-in-out infinite}.skeleton-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.skeleton-actions{display:flex;gap:12px}.skeleton-button{width:100px;height:36px;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;border-radius:8px;animation:shimmer 2.2s ease-in-out infinite}.skeleton-table{display:flex;flex-direction:column}.skeleton-table-header{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr 1fr 1fr .5fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-color);margin-bottom:16px}.skeleton-table-row{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr 1fr 1fr .5fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--border-color)}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 640px){.bookings-dashboard{padding:18px}.stats-section{grid-template-columns:1fr}.booking-row{grid-template-columns:1fr;gap:10px}.booking-row-meta{align-items:flex-start}.booking-row-actions{justify-content:flex-start}}.action-item.primary .action-item-icon{background-color:#22c55e1a;color:#22c55e}.action-item.primary:hover .action-item-icon{background-color:#22c55e33}.action-item.primary .action-item-label{color:#22c55e}.reservations-page{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease}.action-button-icon:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.status-filter{padding:8px 16px;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.reservations-table-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow-x:auto;overflow-y:visible;transition:all .3s ease;width:100%}.table-wrapper{min-width:100%;width:100%}.table-header{display:grid;grid-template-columns:minmax(120px,1fr) minmax(150px,1.8fr) minmax(120px,1.5fr) minmax(140px,1.2fr) minmax(160px,1.5fr) minmax(100px,1fr) minmax(100px,1fr);gap:16px;padding:16px 24px;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);transition:all .3s ease}.table-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(150px,1.8fr) minmax(120px,1.5fr) minmax(140px,1.2fr) minmax(160px,1.5fr) minmax(100px,1fr) minmax(100px,1fr);gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-color);transition:all .2s ease;align-items:center}.table-col{display:flex;align-items:center;overflow:hidden;font-size:14px;color:var(--text-primary);transition:color .3s ease}.table-col:last-child{justify-content:center}.table-col.actions-col{justify-content:flex-start;gap:8px}.action-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;background-color:var(--bg-secondary);color:var(--text-primary);white-space:nowrap;font-family:inherit}.action-btn:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-1px)}.action-btn:disabled{opacity:.6;cursor:not-allowed}.action-btn.confirm-btn{background-color:#10b9811a;border-color:#10b981;color:#10b981}.action-btn.confirm-btn:hover:not(:disabled){background-color:#10b981;color:#fff}.action-btn.checkin-btn{background-color:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.action-btn.checkin-btn:hover:not(:disabled){background-color:#3b82f6;color:#fff}.action-btn.checkout-btn{background-color:#ef44441a;border-color:#ef4444;color:#ef4444}.action-btn.checkout-btn:hover:not(:disabled){background-color:#ef4444;color:#fff}.action-btn.menu-btn{padding:6px;min-width:32px;justify-content:center}.action-btn svg{flex-shrink:0}.action-btn span{font-size:12px}.action-btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-family:inherit}.action-btn-icon:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.action-btn-icon.view-btn{background-color:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.action-btn-icon.view-btn:hover:not(:disabled){background-color:#3b82f6;color:#fff}.action-btn-icon.edit-btn{background-color:#8b5cf61a;border-color:#8b5cf6;color:#8b5cf6}.action-btn-icon.edit-btn:hover:not(:disabled){background-color:#8b5cf6;color:#fff}.action-btn-icon.confirm-btn{background-color:#10b9811a;border-color:#10b981;color:#10b981}.action-btn-icon.confirm-btn:hover:not(:disabled){background-color:#10b981;color:#fff}.action-btn-icon.checkin-btn{background-color:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.action-btn-icon.checkin-btn:hover:not(:disabled){background-color:#3b82f6;color:#fff}.action-btn-icon.checkout-btn{background-color:#ef44441a;border-color:#ef4444;color:#ef4444}.action-btn-icon.checkout-btn:hover:not(:disabled){background-color:#ef4444;color:#fff}.action-btn-icon.payment-btn{background-color:#fbbf241a;border-color:#fbbf24;color:#fbbf24}.action-btn-icon.payment-btn:hover:not(:disabled){background-color:#fbbf24;color:#fff}.action-btn-icon.menu-btn{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-secondary)}.action-btn-icon.menu-btn:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}@media (max-width: 1200px){.action-btn{padding:5px 10px;font-size:12px}.action-btn span{font-size:11px}.action-btn svg{width:14px;height:14px}.action-btn-icon{width:32px;height:32px}.action-btn-icon svg{width:16px;height:16px}}@media (max-width: 768px){.action-buttons{gap:6px}.action-btn{padding:4px 8px;font-size:11px}.action-btn span,.action-btn.menu-btn span{display:none}.action-btn-icon{width:30px;height:30px}.action-btn-icon svg{width:14px;height:14px}}.booking-id{font-weight:400;font-family:inherit;color:var(--text-primary)}.guest-name,.room-name{font-weight:500;color:var(--text-primary)}.rooms-table-container{width:100%;min-width:200px}.rooms-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;background-color:transparent}.rooms-table thead{display:none}.rooms-table tbody{display:flex;flex-direction:column;gap:6px}.rooms-table tbody tr{display:grid;gap:10px;padding:8px 10px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease;align-items:center}.rooms-table tbody tr{grid-template-columns:minmax(60px,1fr) minmax(100px,1.5fr)}.rooms-table.line-items-table tbody tr{grid-template-columns:minmax(100px,1.5fr) minmax(60px,1fr) minmax(100px,1fr)}.rooms-table tbody tr:hover{background-color:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.room-number-cell{font-weight:600;color:var(--text-primary);font-family:Inter,sans-serif;display:flex;align-items:center;font-size:13px}.room-type-cell{color:var(--text-secondary);font-size:12px;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.room-date-cell{color:var(--text-secondary);font-size:12px;display:flex;align-items:center;font-weight:500}.date{color:var(--text-secondary);font-size:14px;display:flex;flex-direction:column;gap:4px}.amount{font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary)}.status.confirmed .status-dot{background-color:#10b981}.status.cancelled .status-dot{background-color:#ef4444}.payment-status{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500}.payment-status-dot{width:8px;height:8px;border-radius:50%}.payment-status.paid .payment-status-dot{background-color:#10b981}.payment-status.paid{color:#10b981}.payment-status.partially-paid .payment-status-dot{background-color:#f59e0b}.payment-status.partially-paid{color:#f59e0b}.payment-status.pending .payment-status-dot{background-color:#6b7280}.payment-status.pending{color:#6b7280}.payment-status.no-invoice .payment-status-dot{background-color:#9ca3af}.payment-status.no-invoice{color:#9ca3af}.more-button{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;position:relative;z-index:10;pointer-events:auto}.more-button:hover{color:var(--text-primary);background-color:var(--bg-hover)}.actions-dropdown-container{position:relative;display:flex;justify-content:center;align-items:center;z-index:100}.actions-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;font-family:Inter,sans-serif}.dropdown-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.dropdown-item.danger{color:#ef4444}.dropdown-item.danger:hover{background-color:#ef44441a;color:#dc2626}.dropdown-item svg{flex-shrink:0;color:inherit}.dropdown-item span{flex:1}.dropdown-divider{height:1px;background-color:var(--border-color);margin:8px 0;transition:background-color .3s ease}.empty-payments{text-align:center;padding:48px 24px;color:var(--text-secondary)}.empty-payments p{margin:0;font-size:14px}.loading-container{display:flex;flex-direction:column;align-items:stretch;min-height:400px}.skeleton-table-container{width:100%;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:all .3s ease;overflow-x:auto;-webkit-overflow-scrolling:touch;animation:skeletonFadeIn .8s cubic-bezier(.4,0,.2,1);position:relative}.skeleton-table-header{display:grid;grid-template-columns:minmax(120px,auto) minmax(150px,1.5fr) minmax(150px,1.5fr) minmax(100px,1fr) minmax(100px,1fr) minmax(100px,1fr) minmax(100px,auto);gap:16px;padding:12px 0;border-bottom:1px solid var(--border-color);margin-bottom:16px;min-width:1000px}.skeleton-table-row{display:grid;grid-template-columns:minmax(120px,auto) minmax(150px,1.5fr) minmax(150px,1.5fr) minmax(100px,1fr) minmax(100px,1fr) minmax(100px,1fr) minmax(100px,auto);gap:16px;padding:16px 0;border-bottom:1px solid var(--border-color);min-width:1000px}@media (max-width: 1400px){.table-wrapper{min-width:1000px}.table-header,.table-row,.skeleton-table-header,.skeleton-table-row{grid-template-columns:minmax(100px,auto) minmax(120px,1.2fr) minmax(120px,1.2fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(90px,auto);gap:12px;min-width:1000px}.table-col{font-size:13px}.table-header{font-size:11px}}@media (max-width: 1200px){.reservations-table-container,.skeleton-table-container{padding:16px}.table-wrapper{min-width:890px}.table-header,.table-row,.skeleton-table-header,.skeleton-table-row{grid-template-columns:minmax(90px,auto) minmax(110px,1fr) minmax(110px,1fr) minmax(80px,.8fr) minmax(80px,.8fr) minmax(80px,.8fr) minmax(80px,auto);gap:10px;min-width:890px}.table-col{font-size:12px}.table-header{font-size:10px;padding:10px 0}.table-row{padding:12px 0}}@media (max-width: 768px){.reservations-page{padding:16px}.page-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:24px}.page-header>div:first-child{flex:1;min-width:0;order:2}.page-header h1{font-size:20px;margin-bottom:4px}.page-header .subtitle{font-size:12px}.header-actions{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;order:1;width:100%}.header-actions .view-toggle-group{margin-right:auto}.header-actions .action-button-icon,.header-actions .action-button.primary,.action-button-icon{display:none}.action-button{padding:8px 16px;font-size:13px}.action-button.primary{display:none}.view-toggle-group{gap:2px;padding:3px}.view-toggle-btn{min-width:32px;min-height:32px;padding:6px}.view-toggle-btn svg{width:18px;height:18px}.filters-section{padding:16px}.status-filters{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.status-filter{white-space:nowrap;flex-shrink:0}.reservations-table-container,.skeleton-table-container{padding:12px;border-radius:8px}.reservations-card-container{grid-template-columns:1fr;gap:16px}.reservation-card{padding:16px}.reservation-card-header{padding-bottom:10px}.booking-id-value{font-size:14px}.reservation-card-body{gap:10px}.reservation-card-row{gap:8px}.reservation-card-label{font-size:12px}.reservation-card-value{font-size:13px}.reservation-card-dates{gap:8px;padding:10px}.table-wrapper{min-width:650px}.table-header,.table-row,.skeleton-table-header,.skeleton-table-row{grid-template-columns:minmax(80px,auto) minmax(100px,1fr) minmax(100px,1fr) minmax(70px,.7fr) minmax(70px,.7fr) minmax(70px,.7fr) minmax(70px,auto);gap:8px;min-width:650px}.table-col{font-size:11px}.table-header{font-size:9px;padding:8px 0}.table-row{padding:10px 0}.booking-id,.guest-name,.room-name,.amount{font-size:11px}}@media (max-width: 480px){.reservations-page{padding:12px}.page-header h1{font-size:24px}.filters-section{padding:12px}.search-box{margin-bottom:12px}.reservations-table-container,.skeleton-table-container{padding:8px}.reservations-card-container{gap:12px}.reservation-card{padding:14px}.booking-id-value{font-size:13px}.reservation-card-dates{gap:6px;padding:8px}.table-wrapper{min-width:560px}.table-header,.table-row,.skeleton-table-header,.skeleton-table-row{grid-template-columns:minmax(70px,auto) minmax(90px,1fr) minmax(90px,1fr) minmax(60px,.6fr) minmax(60px,.6fr) minmax(60px,.6fr) minmax(60px,auto);gap:6px;min-width:560px}.table-col{font-size:10px}.table-header{font-size:8px;padding:6px 0}.table-row{padding:8px 0}.status{font-size:10px;padding:2px 8px}.payment-status{font-size:10px}}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;padding:20px}.payment-modal{background-color:var(--bg-secondary);border-radius:20px;width:100%;max-width:600px;position:relative;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;transition:background-color .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.payment-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid var(--border-color);transition:border-color .3s ease}.payment-modal-header h2{font-size:24px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0 0 4px;transition:color .3s ease}.payment-modal-subtitle{font-size:13px;color:var(--text-secondary);margin:0;transition:color .3s ease}.payment-modal-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.payment-modal-close:hover{color:var(--text-primary);background-color:var(--bg-hover)}.invoice-summary-section{background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.05) 100%);border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:20px;margin-bottom:24px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.summary-row.highlight{border-top:1px solid rgba(239,68,68,.2);margin-top:8px;padding-top:12px;font-weight:600;font-size:16px}.summary-label{color:var(--text-secondary);transition:color .3s ease}.summary-value{color:var(--text-primary);font-weight:600;font-family:Inter,sans-serif;transition:color .3s ease}.summary-row.highlight .summary-value{color:#ef4444;font-size:18px}.payment-form-section{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.payment-method-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:8px}.payment-method-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background-color:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;outline:none}.payment-method-option:hover{border-color:var(--border-hover);background-color:var(--bg-hover);color:var(--text-primary);transform:translateY(-2px)}.payment-method-option.selected{border-color:#ef4444;background-color:#ef44441a;color:#ef4444;font-weight:600}.payment-method-option.selected svg{color:#ef4444}.payment-method-option svg{flex-shrink:0;color:inherit;transition:color .2s ease}.payment-method-option span{font-size:13px;text-align:center}.payment-history-header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.payment-history-section h3{font-size:18px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;transition:color .3s ease}.download-all-receipts-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.download-all-receipts-btn:hover{background-color:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.payment-history-item{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:16px;transition:all .3s ease}.payment-info{display:flex;flex-direction:column;gap:4px}.payment-amount{font-size:16px;font-weight:600;font-family:Inter,sans-serif;color:#10b981;transition:color .3s ease}.payment-date{font-size:13px;color:var(--text-secondary);transition:color .3s ease}.payment-history-details{display:flex;gap:16px;font-size:13px;color:var(--text-secondary);transition:color .3s ease}.payment-method{font-weight:500}.payment-notes{margin-top:8px;font-size:12px;color:var(--text-secondary);font-style:italic;transition:color .3s ease}.payment-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid var(--border-color);transition:border-color .3s ease}.payment-cancel-btn,.payment-save-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;border:none}.payment-cancel-btn{background-color:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.payment-cancel-btn:hover{background-color:var(--bg-active)}.payment-save-btn{background-color:#ef4444;color:#fff}.action-item:disabled .action-item-icon{background-color:var(--bg-tertiary);color:var(--text-tertiary)}.reservations-card-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;padding:0;align-items:stretch}.reservations-card-container .ripple-container{display:flex;width:100%;height:100%;border-radius:12px}.reservation-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:16px;height:100%}.reservation-card:hover{background-color:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.reservation-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.reservation-card-id{display:flex;flex-direction:column;gap:4px}.booking-id-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.booking-id-value{font-size:16px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary)}.reservation-card-body{display:flex;flex-direction:column;gap:12px;flex:1}.reservation-card-row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.reservation-card-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-secondary);flex-shrink:0}.reservation-card-label svg{flex-shrink:0;color:var(--text-tertiary)}.reservation-card-value{font-size:14px;color:var(--text-primary);text-align:right;font-weight:500;word-break:break-word;min-width:0}.reservation-card-value.amount{font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary)}.reservation-card-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;background-color:var(--bg-tertiary);border-radius:8px;margin:4px 0}.reservation-card-date{display:flex;flex-direction:column;gap:4px}.reservation-card-date .reservation-card-label{font-size:12px}.reservation-card-date .reservation-card-value{font-size:13px;text-align:left}.reservation-card-value.payment-status{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:13px;font-weight:500;min-width:100px;flex-shrink:0;white-space:nowrap}.payment-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.reservation-card-value.payment-status.paid{color:#10b981}.reservation-card-value.payment-status.paid .payment-status-dot{background-color:#10b981}.reservation-card-value.payment-status.partially-paid{color:#f59e0b}.reservation-card-value.payment-status.partially-paid .payment-status-dot{background-color:#f59e0b}.reservation-card-value.payment-status.pending{color:#6b7280}.reservation-card-value.payment-status.pending .payment-status-dot{background-color:#6b7280}.reservation-card-value.payment-status.no-invoice{color:#9ca3af}.reservation-card-value.payment-status.no-invoice .payment-status-dot{background-color:#9ca3af}.mobile-new-booking-btn{display:none}@media (max-width: 768px){.mobile-new-booking-btn{display:flex;align-items:center;justify-content:center;position:fixed;bottom:24px;right:24px;width:56px;height:56px;background-color:#ef4444;color:#fff;border:none;border-radius:50%;box-shadow:0 4px 12px #ef444466;cursor:pointer;z-index:100;transition:all .3s ease}.mobile-new-booking-btn:hover{background-color:#dc2626;box-shadow:0 6px 16px #ef444480;transform:scale(1.05)}.mobile-new-booking-btn:active{transform:scale(.95)}.mobile-new-booking-btn svg{flex-shrink:0}}@media (max-width: 480px){.mobile-new-booking-btn{bottom:20px;right:20px;width:52px;height:52px}}.pagination-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.pagination-page{min-width:40px;height:40px;padding:0 12px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.pagination-page.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.sx__calendar-wrapper ul,.sx__date-picker-wrapper ul,.sx__date-picker-popup ul{list-style:none;padding:0}.sx__calendar-wrapper input,.sx__calendar-wrapper button,.sx__date-picker-wrapper input,.sx__date-picker-wrapper button,.sx__date-picker-popup input,.sx__date-picker-popup button{font-family:inherit;outline:none}.sx__button{background-color:inherit;outline:0;border:none;cursor:pointer}:root{--sx-color-primary: #6750a4;--sx-color-on-primary: #fff;--sx-color-primary-container: #eaddff;--sx-color-on-primary-container: #21005e;--sx-color-secondary: #625b71;--sx-color-on-secondary: #fff;--sx-color-secondary-container: #e8def8;--sx-color-on-secondary-container: #1e192b;--sx-color-tertiary: #7d5260;--sx-color-on-tertiary: #fff;--sx-color-tertiary-container: #ffd8e4;--sx-color-on-tertiary-container: #370b1e;--sx-color-surface: #fef7ff;--sx-color-surface-dim: #ded8e1;--sx-color-surface-bright: #fef7ff;--sx-color-on-surface: #1c1b1f;--sx-color-surface-container: #f3edf7;--sx-color-surface-container-low: #f7f2fa;--sx-color-surface-container-high: #ece6f0;--sx-color-background: #fff;--sx-color-on-background: #1c1b1f;--sx-color-outline: #79747e;--sx-color-outline-variant: #c4c7c5;--sx-color-shadow: #000;--sx-color-surface-tint: #6750a4;--sx-color-neutral: var(--sx-color-outline);--sx-color-neutral-variant: var(--sx-color-outline-variant);--sx-internal-color-gray-ripple-background: #e0e0e0;--sx-internal-color-light-gray: #fafafa;--sx-internal-color-text: #000}.is-dark{--sx-color-primary: #d0bcff;--sx-color-on-primary: #371e73;--sx-color-primary-container: #4f378b;--sx-color-on-primary-container: #eaddff;--sx-color-secondary: #ccc2dc;--sx-color-on-secondary: #332d41;--sx-color-secondary-container: #4a4458;--sx-color-on-secondary-container: #e8def8;--sx-color-tertiary: #efb8c8;--sx-color-on-tertiary: #492532;--sx-color-tertiary-container: #633b48;--sx-color-on-tertiary-container: #ffd8e4;--sx-color-surface: #141218;--sx-color-surface-dim: #141218;--sx-color-surface-bright: #3b383e;--sx-color-on-surface: #e6e1e5;--sx-color-surface-container: #211f26;--sx-color-surface-container-low: #1d1b20;--sx-color-surface-container-high: #2b2930;--sx-color-background: #141218;--sx-color-on-background: #e6e1e5;--sx-color-outline: #938f99;--sx-color-outline-variant: #444746;--sx-color-shadow: #000;--sx-color-surface-tint: #d0bcff;--sx-internal-color-text: #fff}:root{--sx-spacing-padding1: 4px;--sx-spacing-padding2: 8px;--sx-spacing-padding3: 12px;--sx-spacing-padding4: 16px;--sx-spacing-padding6: 24px;--sx-spacing-modal-padding: 16px}:root{--sx-box-shadow-level3: 0 3px 6px 0 rgb(0 0 0 / 16%), 0 3px 6px 0 rgb(0 0 0 / 23%);--sx-rounding-extra-small: 4px;--sx-rounding-small: 8px;--sx-rounding-extra-large: 28px;--sx-border: 1px solid var(--sx-color-outline-variant)}.is-dark{--sx-border: 1px solid var(--sx-color-outline-variant)}:root{--sx-font-small: .875rem;--sx-font-extra-small: .75rem;--sx-font-large: 1.125rem;--sx-font-extra-large: 1.25rem}@keyframes sx-ripple{0%{width:0;height:0;opacity:.16}40%{width:100px;height:100px;opacity:.08}to{width:150px;height:150px;opacity:0}}.sx__ripple{position:relative;overflow:hidden}.sx__ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;transform:translate(-50%,-50%);border-radius:50%;background-color:currentcolor;opacity:.1;visibility:hidden;z-index:2}.sx__ripple:active:before{visibility:visible}.sx__ripple:not(:active):before{animation:sx-ripple .75s cubic-bezier(0,.1,.8,1);transition:visibility .75s step-end}@keyframes sx-ripple-wide{0%{width:0;height:0;opacity:.16}40%{width:300px;height:100px;opacity:.08}to{width:450px;height:150px;opacity:0}}.sx__ripple--wide{position:relative;overflow:hidden}.sx__ripple--wide:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;transform:translate(-50%,-50%);border-radius:50%;background-color:currentcolor;opacity:.1;visibility:hidden;z-index:2}.sx__ripple--wide:active:before{visibility:visible}.sx__ripple--wide:before{border-radius:var(--sx-rounding-small)}.sx__ripple--wide:not(:active):before{animation:sx-ripple-wide .75s cubic-bezier(0,.1,.8,1);transition:visibility .75s step-end}.sx__chevron-wrapper{position:relative;border-radius:50%;min-height:48px;min-width:48px;cursor:pointer;transition:background-color .2s ease-in-out;font-size:0}.sx__chevron-wrapper:active{background-color:var(--sx-internal-color-gray-ripple-background)}.sx__chevron-wrapper:disabled{cursor:not-allowed;opacity:.5}.sx__chevron-wrapper:hover,.sx__chevron-wrapper:focus{background-color:var(--sx-color-surface-dim)}.is-dark .sx__chevron-wrapper:hover,.is-dark .sx__chevron-wrapper:focus{background-color:var(--sx-color-surface-container-high)}.sx__chevron-wrapper .sx__chevron{position:absolute;top:50%;width:.6rem;height:.6rem;border-width:.2rem .2rem 0 0;border-style:solid;border-color:var(--sx-internal-color-text)}.sx__chevron--previous{left:calc(50% + .125rem);transform:translate(-50%,-50%) rotate(225deg)}[dir=rtl] .sx__chevron--previous,.sx__chevron--next{left:calc(50% - .125rem);transform:translate(-50%,-50%) rotate(45deg)}[dir=rtl] .sx__chevron--next{left:calc(50% + .125rem);transform:translate(-50%,-50%) rotate(225deg)}.sx__date-picker-wrapper{position:relative;color:var(--sx-color-on-background);width:fit-content}.sx__date-picker-wrapper.has-full-width{width:100%}.sx__date-picker-wrapper.is-disabled{opacity:.5;cursor:not-allowed}.sx__date-picker-wrapper *{color:var(--sx-color-on-background);box-sizing:border-box}.sx__date-input-wrapper{position:relative}.sx__date-input-chevron-wrapper{position:absolute;top:50%;right:1rem;transform:translateY(-50%);display:flex;align-items:center;padding:0;transition:transform .2s ease-in-out}.sx__date-input-chevron-wrapper:focus{border:2px solid var(--sx-color-primary)}.is-disabled .sx__date-input-chevron-wrapper{pointer-events:none;cursor:not-allowed}.sx__date-input--active .sx__date-input-chevron-wrapper{transform:translateY(-50%) rotate(180deg)}[dir=rtl] .sx__date-input-chevron-wrapper{left:1rem;right:auto}.sx__date-input-chevron{width:1rem;height:1rem;pointer-events:none;filter:brightness(.7)}.sx__date-input{font-size:1rem;padding:var(--sx-spacing-padding4);border:var(--sx-border);border-radius:var(--sx-rounding-extra-small);cursor:pointer;background-color:var(--sx-color-background);width:100%}.is-disabled .sx__date-input{pointer-events:none}.sx__date-input--active .sx__date-input{border-color:var(--sx-color-primary);outline:1px solid var(--sx-color-primary)}.sx__date-input-label{position:absolute;top:0;inset-inline-start:12px;padding:0 var(--sx-spacing-padding1);background-color:var(--sx-color-background);font-size:.75rem;color:var(--sx-color-neutral);line-height:1rem;transform:translateY(-50%);transition:transform .2s ease-in-out;pointer-events:none}.sx__date-input--active .sx__date-input-label{color:var(--sx-color-primary)}.is-dark .sx__date-input-label{display:none}.sx__date-picker-popup{position:absolute;height:fit-content;z-index:1;top:calc(100% + 1px);width:20.75rem;max-width:500px;max-height:400px;overflow:scroll;box-shadow:var(--sx-box-shadow-level3);padding:var(--sx-spacing-modal-padding);background-color:var(--sx-color-background);color:var(--sx-internal-color-text)}.sx__date-picker-popup.is-dark{background-color:var(--sx-color-surface-container-high)}.sx__date-picker-popup.bottom-end{left:auto;right:0;transform:translate(0)}.sx__date-picker-popup.bottom-end[dir=rtl]{right:auto;left:0;transform:translate(0)}.sx__date-picker-popup.bottom-start{left:0;right:auto;transform:translate(0)}.sx__date-picker-popup.bottom-start[dir=rtl]{left:auto;right:0;transform:translate(0)}.sx__date-picker-popup.top-start{inset:auto auto calc(100% + 1rem) 0;transform:translate(0)}.sx__date-picker-popup.top-end{inset:auto 0 calc(100% + 1rem) auto;transform:translate(0)}.sx__date-picker__years-view{margin:0}.sx__date-picker__years-accordion__expand-button{width:100%;border-radius:0;background-color:transparent;font-size:1rem;padding:1em;transition:background-color .2s ease-in-out;color:var(--sx-internal-color-text)}.sx__is-expanded .sx__date-picker__years-accordion__expand-button{background-color:var(--sx-color-surface-container)}.sx__date-picker__years-accordion__expand-button:hover{background-color:var(--sx-color-surface-dim)}.sx__date-picker__years-accordion__expand-button:active{background-color:var(--sx-internal-color-gray-ripple-background)}.sx__date-picker__years-view-accordion__panel{display:flex;flex-wrap:wrap}.sx__date-picker__years-view-accordion__month{flex:1 0 33.3333%;background-color:transparent;border:0;font-size:.9rem;padding:.5em 0;border-radius:25px;color:var(--sx-internal-color-text)}.sx__date-picker__years-view-accordion__month:hover{background-color:var(--sx-color-primary);color:var(--sx-color-on-primary)}.sx__date-picker__day-names{display:flex;width:100%;justify-content:space-evenly;margin-bottom:.5em}.sx__date-picker__day-names .sx__date-picker__day,.sx__date-picker__day-names .sx__date-picker__day-name{flex:1;text-align:center}.sx__date-picker__day-name{font-weight:700;color:var(--sx-color-neutral-variant)}.sx__date-picker__month-view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1em}.sx__date-picker__month-view-header .sx__chevron-wrapper:hover{background-color:var(--sx-color-surface-dim)}.sx__date-picker__month-view-header__month-year{font-size:1.5rem;font-weight:300;color:var(--sx-internal-color-text)}.sx__date-picker__month-view-header__month-year:hover{color:var(--sx-color-primary);text-decoration:underline}.sx__date-picker__week{display:flex;width:100%;justify-content:space-evenly;margin-bottom:.5em}.sx__date-picker__week .sx__date-picker__day,.sx__date-picker__week .sx__date-picker__day-name{flex:1;text-align:center}.sx__date-picker__day{background-color:transparent;border-radius:50%;width:2.5rem;height:2.5rem;color:var(--sx-internal-color-text)}.sx__date-picker__day:hover{background-color:var(--sx-color-surface-dim)}.sx__date-picker__day:focus{outline-offset:-2px;outline:2px solid var(--sx-color-primary)}.sx__date-picker__day:disabled{color:var(--sx-color-neutral-variant);cursor:not-allowed}.sx__date-picker__day.is-leading-or-trailing{color:var(--sx-color-neutral-variant)}.sx__date-picker__day.sx__date-picker__day--selected{background-color:var(--sx-color-primary-container);color:var(--sx-color-on-primary-container)}.sx__date-picker__day.sx__date-picker__day--today{background-color:var(--sx-color-primary);color:var(--sx-color-on-primary)}:root{--sx-calendar-header-input-font-size: clamp(12px, .875rem, 28px);--sx-calendar-header-popup-z-index: 3;--sx-calendar-week-grid-padding-left: 75px}:root .sx__date-picker-popup.is-teleported{z-index:3}.sx__calendar-wrapper{height:100%;display:flex;color:var(--sx-internal-color-text)}.sx__calendar-wrapper *{box-sizing:border-box}.sx__calendar{position:relative;flex:1;height:100%;border:var(--sx-border);border-radius:var(--sx-rounding-small);display:flex;flex-flow:column;background-color:var(--sx-color-background);overflow:hidden}.sx__view-container{position:relative;flex:1;overflow-y:auto;scroll-behavior:smooth}.sx__slide-left{animation:sx-slide-left .3s ease-out}@keyframes sx-slide-left{0%{transform:translate(8%);filter:blur(.25rem);opacity:.1}to{transform:translate(0);filter:blur(0);opacity:1}}.sx__slide-right{animation:sx-slide-right .3s ease-out}@keyframes sx-slide-right{0%{transform:translate(-8%);filter:blur(.25rem);opacity:.1}to{transform:translate(0);filter:blur(0);opacity:1}}.sx__calendar-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--sx-spacing-padding4);gap:var(--sx-spacing-padding4);flex-wrap:wrap}.sx__calendar-header .sx__date-input{padding:var(--sx-spacing-padding3) var(--sx-spacing-padding4);font-size:var(--sx-calendar-header-input-font-size)}.sx__calendar-header .sx__date-picker-popup{z-index:var(--sx-calendar-header-popup-z-index)}.sx__calendar-header-content{display:flex;align-items:center;gap:var(--sx-spacing-padding4);flex-wrap:wrap;min-width:0}.sx__forward-backward-navigation{height:45px}.sx__is-calendar-small .sx__forward-backward-navigation,.is-list-view .sx__forward-backward-navigation{display:none}.sx__calendar-header__week-number{border-radius:4px;background-color:#eceef1;color:var(--sx-color-on-surface);padding:var(--sx-spacing-padding1) var(--sx-spacing-padding2);font-size:.75rem;font-weight:500}.is-dark .sx__calendar-header__week-number{background-color:#4a4458}.sx__range-heading{font-size:clamp(16px,1.25rem,24px);max-width:12.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sx__is-calendar-small .sx__range-heading{font-size:16px}.is-list-view .sx__range-heading{display:none}.sx__today-button{padding:var(--sx-spacing-padding3) var(--sx-spacing-padding4);border-radius:var(--sx-rounding-extra-small);font-size:var(--sx-calendar-header-input-font-size);color:var(--sx-internal-color-text)}.sx__today-button:active{background-color:var(--sx-internal-color-gray-ripple-background)}.sx__is-calendar-small .sx__today-button{display:none}.sx__calendar-header .sx__today-button{border:var(--sx-border)}.sx__today-button:hover,.sx__today-button:focus{background-color:var(--sx-internal-color-light-gray)}.is-dark .sx__today-button:hover,.is-dark .sx__today-button:focus{background-color:var(--sx-color-surface-container-low)}.sx__view-selection{position:relative;font-size:var(--sx-calendar-header-input-font-size)}.sx__view-selection-label{position:absolute;top:0;inset-inline-start:12px;padding:0 var(--sx-spacing-padding1);background-color:var(--sx-color-background);font-size:.75rem;color:var(--sx-color-neutral);line-height:1rem;transform:translateY(-50%);transition:transform .2s ease-in-out;pointer-events:none;z-index:1}.is-dark .sx__view-selection-label{display:none}.sx__view-selection-selected-item{height:100%;width:fit-content;padding:var(--sx-spacing-padding3) var(--sx-spacing-padding4);cursor:pointer;border-radius:var(--sx-rounding-extra-small);border:var(--sx-border);display:flex;align-items:center;gap:var(--sx-spacing-padding2)}.sx__view-selection-selected-item:hover{background-color:var(--sx-internal-color-light-gray)}.is-dark .sx__view-selection-selected-item:hover{background-color:var(--sx-color-surface-container-low)}.sx__view-selection-chevron{width:1rem;height:1rem;pointer-events:none;filter:brightness(.7);transition:transform .2s ease-in-out}.sx__view-selection.is-open .sx__view-selection-chevron{transform:rotate(180deg)}.sx__view-selection-items{position:absolute;top:100%;box-shadow:var(--sx-box-shadow-level3);margin:0;background-color:var(--sx-color-background);z-index:var(--sx-calendar-header-popup-z-index)}.is-dark .sx__view-selection-items{background-color:var(--sx-color-surface-container-high)}.sx__view-selection-item{padding:var(--sx-spacing-padding4) var(--sx-spacing-padding6);cursor:pointer}.sx__view-selection-item:hover,.sx__view-selection-item:focus{background-color:var(--sx-color-primary);color:var(--sx-color-on-primary)}.sx__view-selection-item.is-selected{background-color:var(--sx-color-surface-dim)}.sx__view-selection-item.is-selected:hover,.sx__view-selection-item.is-selected:focus{background-color:var(--sx-color-primary);color:var(--sx-color-on-primary)}.sx__month-grid-wrapper{display:flex;flex-flow:column;height:100%}.sx__month-grid-week__week-number{display:flex;justify-content:center;padding-top:12px;background-color:#eceef1;color:var(--sx-color-on-surface);width:1.5rem;font-size:.75rem}.is-dark .sx__month-grid-week__week-number{background-color:#4a4458}.sx__month-grid-week{border-top:var(--sx-border);flex:1;display:flex}.sx__month-grid-week:first-child .sx__month-grid-week__week-number{padding-top:26px}.sx__month-grid-day{position:relative;padding:var(--sx-spacing-padding2) 0;flex:1}.sx__month-grid-day:not(:last-child){border-inline-end:var(--sx-border)}.sx__month-grid-day--dragover{background-color:var(--sx-color-surface-container)}.sx__month-grid-day__header{display:flex;flex-flow:column;align-items:center}.sx__month-grid-day__header-day-name{font-size:11px;text-transform:uppercase;color:var(--sx-color-neutral)}.sx__month-grid-day__header-date{font-size:var(--sx-font-extra-small);margin-bottom:var(--sx-spacing-padding1);border-radius:50%;height:24px;width:24px;display:flex;align-items:center;justify-content:center}.sx__month-grid-day__header-date.sx__is-today{background-color:var(--sx-color-primary);color:var(--sx-color-on-primary)}.sx__month-grid-day__events-more{width:calc(100% - 10px);font-size:var(--sx-font-extra-small);color:var(--sx-color-neutral);margin:var(--sx-spacing-padding1) 0;padding:var(--sx-spacing-padding1);border-radius:var(--sx-rounding-extra-small);cursor:pointer;transition:background-color .2s ease-in-out,color .2s ease-in-out}.sx__month-grid-day__events-more:hover{background-color:var(--sx-color-surface-container);color:var(--sx-color-on-surface)}.sx__month-grid-background-event{position:absolute;top:0;left:0;height:100%;width:100%}.sx__month-grid-day__events{display:grid;grid-gap:4px}.sx__month-grid-cell{height:clamp(20px,1.25rem,24px)}.sx__month-grid-event{position:relative;display:flex;align-items:center;padding:var(--sx-spacing-padding1);border-radius:var(--sx-rounding-extra-small);font-size:clamp(12px,var(--sx-font-extra-small),14px);overflow:hidden;white-space:nowrap;z-index:1}.sx__month-grid-event.is-event-new{animation:sx-grow-event .3s ease-in-out forwards}.sx__month-grid-event-time{margin-right:4px}.sx__month-grid-blocker{pointer-events:none}.sx__month-agenda-week{display:flex}.sx__month-agenda-week:not(:first-child){border-top:var(--sx-border)}.sx__month-agenda-week__week-number{text-align:center;background-color:#eceef1;color:var(--sx-color-on-surface);width:1.5rem;font-size:.75rem;padding-top:9px}.is-dark .sx__month-agenda-week__week-number{background-color:#4a4458}.sx__month-agenda-day{padding:var(--sx-spacing-padding2);flex:1;display:flex;flex-flow:column;align-items:center;height:3rem;border-radius:var(--sx-rounding-extra-small);color:var(--sx-internal-color-text)}.sx__month-agenda-day--active{box-shadow:inset 0 0 0 3px var(--sx-color-primary)}.sx__month-agenda-day__event-icons{margin-top:4px;display:flex;grid-gap:3px}.sx__month-agenda-day__event-icon{height:6px;width:6px;border-radius:50%;filter:brightness(1.6)}.is-dark .sx__month-agenda-day__event-icon{filter:initial}.sx__month-agenda-day-names{display:flex;padding:var(--sx-spacing-padding2) 0;font-size:var(--sx-font-extra-small);color:var(--sx-color-neutral)}.sx__month-agenda-day-names.sx__has-week-numbers{padding-inline-start:1.5rem}.sx__month-agenda-day-name{flex:1;display:flex;justify-content:center}.sx__month-agenda-events{padding:0 var(--sx-spacing-padding2)}.sx__month-agenda-event{padding:var(--sx-spacing-padding2);margin-bottom:var(--sx-spacing-padding2);border-radius:var(--sx-rounding-extra-small);font-size:var(--sx-font-small)}.sx__month-agenda-event.is-event-new{animation:sx-grow-event .3s ease-in-out forwards}.sx__month-agenda-event:first-child{margin-top:var(--sx-spacing-padding2)}.sx__month-agenda-event__title{font-weight:600}.sx__month-agenda-event__has-icon{display:flex;align-items:center}.sx__month-agenda-events__empty{margin-top:var(--sx-spacing-padding4);display:flex;justify-content:center}.sx__week-wrapper{position:relative}.sx__week-grid{position:relative;padding-left:var(--sx-calendar-week-grid-padding-left);display:flex;height:var(--sx-week-grid-height);overflow:hidden}.sx__week-header{position:sticky;top:0;z-index:2;background-color:var(--sx-color-background)}.sx__week-header-content{position:relative}.sx__week-header-border{position:absolute;width:100%;bottom:0;border-bottom:var(--sx-border);border-left:250px solid transparent}.sx__list-wrapper{padding:0;background-color:var(--sx-color-background);height:100%;overflow-y:auto;position:relative;scroll-behavior:smooth}.sx__list-day{padding:0;background-color:var(--sx-color-background);will-change:opacity;transform:translateZ(0)}.sx__list-day-header{padding:var(--sx-spacing-padding2) var(--sx-spacing-padding4);background-color:var(--sx-color-surface-container-low);position:sticky;top:0;z-index:1}.sx__list-day-date{font-size:var(--sx-font-extra-small);font-weight:600;color:var(--sx-color-neutral);text-transform:uppercase;letter-spacing:.5px}.sx__list-day-events{padding:0 16px;background:var(--sx-color-background)}.sx__list-event{padding:.75rem 0;display:flex;align-items:flex-start;gap:.75rem}.sx__list-event:not(:first-child){border-top:var(--sx-border)}.sx__list-event-color-line{width:3px;height:24px;border-radius:2px;flex-shrink:0}.sx__list-event-content{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.sx__list-event-title{font-size:1em;color:var(--sx-color-on-background);flex:1}.sx__list-event-times{display:flex;flex-direction:column;align-items:flex-end;min-width:80px;gap:2px}.sx__list-event-start-time{font-size:.85em;color:var(--sx-color-on-background)}.sx__list-event-end-time{font-size:.85em;color:var(--sx-color-neutral)}.sx__list-event-arrow{font-size:.85em;color:var(--sx-color-neutral);line-height:1}.sx__list-event-all-day{font-size:.85em;color:var(--sx-color-neutral)}.sx__list-day-margin{height:16px}.sx__list-no-events{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--sx-color-neutral);font-size:var(--sx-font-extra-small);text-align:center}.sx__week-grid__time-axis{display:flex;flex-flow:column;position:absolute;right:0;top:var(--sx-week-grid-offset-top);width:calc(100% - 60px)}.sx__week-grid__hour{position:relative;height:var(--sx-week-grid-hour-height);border-top:var(--sx-border);font-size:var(--sx-font-extra-small)}.sx__week-grid__hour:first-child{visibility:hidden}.sx__week-grid__hour-text{position:absolute;left:-43px;top:-.75em;color:var(--sx-color-neutral)}.sx__time-grid-day{position:relative;width:100%;height:100%;border-left:var(--sx-border)}.sx__week-grid__date-axis{padding-left:var(--sx-calendar-week-grid-padding-left);display:flex}.sx__week-grid__date{flex:1;display:flex;flex-flow:column;align-items:center;padding:var(--sx-spacing-padding3) 0;gap:var(--sx-spacing-padding1)}.sx__week-grid__day-name{text-transform:uppercase;font-size:var(--sx-font-extra-small);color:var(--sx-color-neutral);font-weight:500}.sx__week-grid__date--is-today .sx__week-grid__day-name{color:var(--sx-color-primary);font-weight:700}.sx__week-grid__date-number{display:flex;align-items:center;justify-content:center;font-size:var(--sx-font-extra-large);font-weight:500;color:var(--sx-color-neutral);height:2em;width:2em}.sx__week-grid__date--is-today .sx__week-grid__date-number{background-color:var(--sx-color-primary);color:var(--sx-color-on-primary);border-radius:50%}.sx__time-grid-event{width:calc(100% - 10px);padding:var(--sx-spacing-padding1);position:absolute;border-radius:var(--sx-rounding-extra-small);font-size:var(--sx-font-extra-small);overflow:hidden;-webkit-user-select:none;user-select:none}.sx__time-grid-event.is-event-copy{opacity:.5;box-shadow:var(--sx-box-shadow-level3);z-index:1;transition:transform .15s ease-in-out}.sx__time-grid-event.is-event-new{animation:sx-grow-event .3s ease-in-out forwards}[data-has-dnd=true] .sx__time-grid-event{touch-action:none}.sx__is-resizing .sx__time-grid-event:has(+.is-event-copy){opacity:0}.sx__is-resizing .is-event-copy{opacity:1}.sx__time-grid-event-inner{position:relative;height:100%}.sx__time-grid-event-resize-handle{display:block;position:absolute;width:100%;bottom:0;cursor:ns-resize;height:clamp(10px,20px,50%);touch-action:none}.sx__time-grid-event-title{font-weight:600}.sx__time-grid-event-time,.sx__time-grid-event-people,.sx__time-grid-event-location{display:flex;align-items:center;white-space:nowrap}.sx__title-and-time-compact{display:flex;align-items:center;gap:var(--sx-spacing-padding2)}.sx__title-and-time-compact .sx__time-grid-event-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sx__title-and-time-compact .sx__time-grid-event-time{flex-shrink:0}.sx__event-icon{min-width:15px;min-height:15px;max-width:15px;max-height:15px;margin-inline-end:var(--sx-spacing-padding2)}.sx__date-grid{display:flex;padding-left:var(--sx-calendar-week-grid-padding-left)}.sx__date-grid-day{position:relative;width:100%;display:grid;grid-gap:2px}.sx__date-grid-day .sx__spacer{display:var(--sx-draw-plugin-spacer-display, none);height:var(--sx-draw-plugin-spacer)}.sx__date-grid-event{z-index:1;position:relative;display:flex;align-items:center;padding:var(--sx-spacing-padding1);border-radius:var(--sx-rounding-extra-small);font-size:clamp(12px,var(--sx-font-extra-small),14px);font-weight:600;-webkit-user-select:none;user-select:none}.sx__date-grid-event:has(.sx__date-grid-event--left-overflow){margin-left:10px}.sx__date-grid-event:has(.sx__date-grid-event--right-overflow){margin-right:10px}.sx__date-grid-event.is-event-new{animation:sx-grow-event .3s ease-in-out forwards}@keyframes sx-grow-event{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.sx__date-grid-event .sx__date-grid-event--left-overflow{position:absolute;z-index:1;width:10px;height:100%;left:-10px;clip-path:polygon(100% 0,0 50%,100% 100%,100% 0)}.sx__date-grid-event .sx__date-grid-event--right-overflow{position:absolute;z-index:1;width:10px;height:100%;right:-10px;clip-path:polygon(0 0,100% 50%,0 100%,0 0)}.sx__date-grid-event.sx__date-grid-event--copy{z-index:2;box-shadow:var(--sx-box-shadow-level3);transition-property:transform,width;transition-duration:.15s;transition-timing-function:ease-in-out}.sx__date-grid-event-text{width:calc(100% - var(--sx-spacing-padding1) * 2);left:var(--sx-spacing-padding1);position:absolute;text-overflow:ellipsis;overflow-x:hidden;white-space:nowrap}.sx__date-grid-event-text .sx__date-grid-event-time{font-weight:initial}.sx__date-grid-cell{height:clamp(20px,1.25rem,24px)}.sx__date-grid-event-resize-handle{position:absolute;right:0;height:100%;width:clamp(10px,15px,50%);cursor:ew-resize;z-index:1;touch-action:none}[dir=rtl] .sx__date-grid-event-resize-handle{left:0;right:auto}.sx__date-grid-background-event{position:absolute;height:100%;width:100%;top:0;left:0;z-index:-1}:root{--sx-week-grid-height: 0;--sx-time-axis-height: 0;--sx-week-grid-hour-height: 0;--sx-week-grid-offset-top: 0}.sx__event-modal{visibility:hidden;position:fixed;top:var(--sx-event-modal-top);left:var(--sx-event-modal-left);width:400px;max-width:100%;height:fit-content;background-color:var(--sx-color-background);z-index:2}.sx__event-modal.is-open{animation:slide-sideways;animation-duration:.3s;visibility:initial}.is-dark .sx__event-modal{background-color:var(--sx-color-surface-container-high)}.sx__event-modal-default{padding:var(--sx-spacing-padding6);background-color:var(--sx-color-background);box-shadow:0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f,0 11px 15px -7px #0003;border-radius:var(--sx-rounding-small);max-height:250px;overflow-y:scroll}@keyframes slide-sideways{0%{opacity:0;transform:translate(var(--sx-event-modal-animation-start))}to{transform:translate(0);opacity:1}}.sx__event-modal .sx__event-icon{min-width:16px;min-height:16px;max-width:16px;max-height:16px;margin-inline-end:var(--sx-spacing-padding2)}.sx__event-modal__color-icon{display:inline-block;width:16px;height:16px;border-radius:25%;margin-inline-end:var(--sx-spacing-padding3)}.sx__has-icon{display:grid;align-items:flex-start;grid-template-columns:30px 1fr;margin-bottom:var(--sx-spacing-padding2)}.sx__has-icon .sx__event-icon{margin-top:2px}.sx__has-icon .sx__event-modal__color-icon{margin-top:4px}.sx__event-modal__title{font-size:var(--sx-font-large)}.sx__event-modal__time{font-size:var(--sx-font-small)}.sx__current-time-indicator{position:absolute;left:0;right:0;height:2px;background-color:red;z-index:0}.sx__current-time-indicator:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background-color:red}.sx__current-time-indicator-full-week{width:calc(100% - var(--sx-calendar-week-grid-padding-left));position:absolute;inset:0 0 0 var(--sx-calendar-week-grid-padding-left);height:2px;background-color:#ff000061}.calendar-page{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease}.calendar-page-header{margin-bottom:24px}.calendar-filters{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px 24px;margin-bottom:24px;transition:all .3s ease}.filters-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.filters-header h3{font-size:16px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;flex:1;transition:color .3s ease}.filters-header svg{color:var(--text-secondary);transition:color .3s ease}.clear-filters-btn{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background-color:var(--bg-hover);border-color:#ef4444;color:#ef4444}.filters-content{display:flex;gap:16px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.filter-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.filter-select{padding:10px 36px 10px 14px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.filter-select:hover{border-color:var(--border-hover);background-color:var(--bg-hover)}.filter-select:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.filter-select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-hover)}.calendar-page-header h1{font-size:28px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:8px;transition:color .3s ease}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:24px}.nav-btn{width:40px;height:40px;border-radius:8px;border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nav-btn:hover{background-color:var(--bg-hover);border-color:#ef4444;color:#ef4444}.current-month{font-size:24px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;transition:color .3s ease}.sx-react-calendar-wrapper{width:100%;height:800px;max-height:90vh;margin-bottom:24px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:16px;transition:all .3s ease}.calendar-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;margin-bottom:32px;transition:all .3s ease;overflow:visible;position:relative}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;position:relative;overflow:visible;isolation:isolate}.calendar-day-header{text-align:center;font-size:12px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-secondary);padding:12px 8px;text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.calendar-day{min-height:120px;border:1px solid var(--border-color);border-radius:8px;padding:8px;background-color:var(--bg-tertiary);display:flex;flex-direction:column;gap:4px;transition:all .3s ease;position:relative;overflow:visible;z-index:0}.calendar-day.empty{border:none;background:transparent}.calendar-day.past{opacity:.5;background-color:var(--bg-hover)}.calendar-day.has-bookings{border-color:var(--border-hover)}.calendar-day[data-crosslink]{position:relative;background:linear-gradient(to right,rgba(239,68,68,.03) 0%,rgba(239,68,68,.06) 50%,rgba(239,68,68,.03) 100%)}.calendar-day.crosslink-start{border-left:3px solid rgba(239,68,68,.7);border-top-left-radius:8px;border-bottom-left-radius:8px}.calendar-day.crosslink-end{border-right:3px solid rgba(239,68,68,.7);border-top-right-radius:8px;border-bottom-right-radius:8px}.calendar-day.crosslink-middle{border-top:2px solid rgba(239,68,68,.3);border-bottom:2px solid rgba(239,68,68,.3)}.calendar-day.crosslink-continues-right:after{content:"";position:absolute;top:50%;right:-1px;width:calc(100% + 2px);height:3px;background:linear-gradient(to right,rgba(239,68,68,.5) 0%,rgba(239,68,68,.7) 50%,rgba(239,68,68,.5) 100%);transform:translateY(-50%);z-index:1;pointer-events:none;border-radius:0 2px 2px 0}.calendar-day.crosslink-continues-left:before{content:"";position:absolute;top:50%;left:-1px;width:calc(100% + 2px);height:3px;background:linear-gradient(to right,rgba(239,68,68,.5) 0%,rgba(239,68,68,.7) 50%,rgba(239,68,68,.5) 100%);transform:translateY(-50%);z-index:1;pointer-events:none;border-radius:2px 0 0 2px}.calendar-day.crosslink-middle.crosslink-continues-right:after,.calendar-day.crosslink-middle.crosslink-continues-left:before{width:calc(50% + 1px)}.calendar-day.crosslink-middle.crosslink-continues-right:after{right:-1px;left:auto}.calendar-day.crosslink-middle.crosslink-continues-left:before{left:-1px;right:auto}.calendar-day.crosslink-start .bookings-list,.calendar-day.crosslink-middle .bookings-list,.calendar-day.crosslink-end .bookings-list{position:relative;z-index:1}.calendar-day.crosslink-week{box-shadow:inset 0 0 0 1px #ef444433}.calendar-day.crosslink-week.has-bookings{border-color:#ef444466}.calendar-day.crosslink-start:hover,.calendar-day.crosslink-middle:hover,.calendar-day.crosslink-end:hover{border-color:#ef4444cc;box-shadow:0 0 0 2px #ef444433}.calendar-day[data-crosslink]:before{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;background:rgba(239,68,68,.8);border-radius:50%;z-index:2;box-shadow:0 0 0 2px var(--bg-secondary)}.day-number{font-size:14px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:4px;transition:color .3s ease}.bookings-list{display:flex;flex-direction:column;gap:4px;flex:1;overflow:visible;position:relative;z-index:1}.booking-bar{padding:4px 6px;border-radius:4px;font-size:11px;font-weight:500;color:#fff;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;justify-content:center;min-height:24px;flex-wrap:wrap;word-break:break-word}.booking-bar:hover{opacity:.9;transform:scale(1.05);box-shadow:0 2px 8px #0003}.room-number-badge{font-weight:700;font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;max-width:100%}.booking-stripe{position:relative;min-height:24px;height:auto;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;z-index:2;margin:2px 0;color:#fff;font-family:Inter,sans-serif;padding:2px 4px;border-radius:4px}.booking-stripe:not(.stripe-start):not(.stripe-end):not(.stripe-middle){border-radius:4px}.booking-stripe.stripe-start{border-radius:4px 0 0 4px;padding-left:6px}.booking-stripe.stripe-end{border-radius:0 4px 4px 0;padding-right:6px}.booking-stripe.stripe-middle{border-radius:0}.booking-stripe.stripe-start.stripe-end{border-radius:4px}.booking-stripe.stripe-continues-right{margin-right:-8px;padding-right:8px;position:relative;z-index:3}.booking-stripe.stripe-continues-left{margin-left:-8px;padding-left:8px;position:relative;z-index:3}.booking-stripe.stripe-continues-right.stripe-continues-left{margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px;position:relative;z-index:3}.stripe-room-number{color:#fff;font-size:11px;font-weight:700;font-family:Inter,sans-serif;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3);padding:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.booking-stripe:hover{opacity:.9;transform:scaleY(1.1);box-shadow:0 2px 8px #0003;z-index:3}.more-bookings{font-size:10px;color:var(--text-secondary);font-weight:500;padding:2px 4px;transition:color .3s ease}.calendar-legend{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:all .3s ease}.calendar-legend h3{font-size:18px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:16px;transition:color .3s ease}.legend-items{display:flex;flex-wrap:wrap;gap:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;font-family:Inter,sans-serif;color:var(--text-primary);transition:color .3s ease}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid var(--border-color);flex-shrink:0}.booking-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;padding:20px}.booking-modal{background-color:var(--bg-secondary);border-radius:20px;width:100%;max-width:650px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 80px #0006;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);transition:background-color .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 28px 24px;border-bottom:1px solid var(--border-color);border-top:4px solid;transition:border-color .3s ease;background:linear-gradient(to bottom,var(--bg-secondary),var(--bg-tertiary))}.modal-header-content{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.modal-header h2{font-size:26px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;transition:color .3s ease}.status-badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:Inter,sans-serif}.close-button{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease;flex-shrink:0}.close-button:hover{color:var(--text-primary);background-color:var(--bg-hover);transform:rotate(90deg)}.modal-content{padding:28px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.customer-card{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border:1px solid var(--border-color);border-radius:16px;padding:24px;transition:all .3s ease}.customer-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.customer-avatar{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #00000026}.customer-info{flex:1;min-width:0}.customer-name{font-size:22px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin:0 0 6px;transition:color .3s ease}.booking-id{font-size:13px;color:var(--text-secondary);font-family:Courier New,Monaco,Consolas,"monospace";margin:0;font-weight:500;transition:color .3s ease}.contact-info{display:flex;flex-direction:column;gap:12px}.contact-item{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-primary);transition:color .3s ease;padding:10px;border-radius:10px;background-color:var(--bg-hover);transition:all .2s ease}.contact-item:hover{background-color:var(--bg-tertiary);transform:translate(4px)}.contact-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-item span{flex:1;min-width:0;word-break:break-word}.booking-info-card{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border:1px solid var(--border-color);border-radius:16px;padding:24px;transition:all .3s ease}.card-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.card-header h4{font-size:18px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;transition:color .3s ease}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-card-item{display:flex;flex-direction:column;gap:8px;padding:16px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;transition:all .2s ease}.info-card-item:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.info-card-item.highlight{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border-color:var(--border-hover)}.info-card-item.amount-item{grid-column:1 / -1;background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.05) 100%);border-color:#ef44444d}.info-label{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.8px;transition:color .3s ease}.info-value{font-size:15px;font-weight:600;color:var(--text-primary);font-family:Inter,sans-serif;transition:color .3s ease}.info-value-large{font-size:17px;font-weight:700;color:var(--text-primary);font-family:Inter,sans-serif;transition:color .3s ease}.info-value-amount{font-size:24px;font-weight:700;color:#ef4444;font-family:Inter,sans-serif;transition:color .3s ease}.booking-chart-container{width:100%;overflow-x:auto;border-radius:12px;border:1px solid var(--border-color);background-color:var(--bg-tertiary);margin-top:16px}.booking-chart-table{width:100%;min-width:600px;table-layout:fixed;border-collapse:collapse}.chart-header{display:grid;grid-template-columns:minmax(150px,1fr) minmax(100px,.6fr) minmax(200px,1.2fr) minmax(100px,.7fr);background-color:var(--bg-hover);border-bottom:2px solid var(--border-color);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.chart-header .chart-col{padding:12px 16px;text-align:left;border-right:1px solid var(--border-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(100px,.6fr) minmax(200px,1.2fr) minmax(100px,.7fr);border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.chart-row .chart-col{padding:12px 16px;text-align:left;display:flex;align-items:center;border-right:1px solid var(--border-color);min-height:50px;overflow:hidden;word-wrap:break-word;max-width:100%;box-sizing:border-box}.chart-col.room-type-col{padding-right:16px;min-width:0}.chart-col.room-number-col,.chart-col.date-col{padding-left:16px;padding-right:16px;min-width:0}.chart-col.price-col{padding-left:16px;text-align:right;min-width:0;justify-content:flex-end}.room-type-badge{display:inline-flex;align-items:center;padding:4px 12px;background-color:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;font-size:12px;font-weight:600;color:#ef4444;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.room-number-badge{display:inline-flex;align-items:center;padding:4px 12px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.date-badge{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:block}.price-value{font-size:14px;font-weight:700;color:var(--text-primary);font-family:Inter,sans-serif;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:block}.booking-details-loading{text-align:center;padding:20px;color:var(--text-secondary);font-size:14px}@media (max-width: 640px){.info-grid{grid-template-columns:1fr}.info-card-item.amount-item{grid-column:1}.modal-content,.customer-card,.booking-info-card{padding:20px}.booking-chart-table{min-width:500px}.chart-header{grid-template-columns:minmax(120px,1fr) minmax(80px,.6fr) minmax(150px,1.2fr) minmax(80px,.7fr);font-size:11px}.chart-header .chart-col{padding:10px 12px}.chart-row{grid-template-columns:minmax(120px,1fr) minmax(80px,.6fr) minmax(150px,1.2fr) minmax(80px,.7fr)}.chart-row .chart-col{padding:10px 12px;min-height:45px}.room-type-badge,.room-number-badge{padding:3px 10px;font-size:11px}.date-badge{font-size:12px}.price-value{font-size:13px}}.calendar-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;min-height:400px}.calendar-skeleton{width:100%;max-width:1200px;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(255,255,255,.02) 100%);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px;-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014,inset 0 1px #ffffff1a;animation:skeletonFadeIn .8s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.calendar-skeleton:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:sweep 3s ease-in-out infinite}.skeleton-header{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:16px}.skeleton-day-header{height:32px;background:linear-gradient(90deg,var(--bg-hover) 0%,rgba(239,68,68,.1) 50%,var(--bg-hover) 100%);background-size:200% 100%;border-radius:8px;animation:shimmer 2s ease-in-out infinite}.skeleton-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.skeleton-day{min-height:120px;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,rgba(255,255,255,.01) 100%);display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1)}.skeleton-day:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(239,68,68,.08),transparent);animation:shimmer 2.8s ease-in-out infinite}.skeleton-day-number{width:24px;height:20px;background:linear-gradient(90deg,var(--bg-secondary) 0%,rgba(239,68,68,.15) 50%,var(--bg-secondary) 100%);background-size:200% 100%;border-radius:6px;animation:shimmer 2s ease-in-out infinite;animation-delay:.2s}.skeleton-booking-bars{display:flex;flex-direction:column;gap:6px;flex:1}.skeleton-booking-bar{height:22px;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;border-radius:8px;animation:shimmer 2.2s ease-in-out infinite;animation-delay:.4s;box-shadow:0 2px 4px #ef44441a}.skeleton-booking-bar.short{width:60%;animation-delay:.6s}.calendar-error{display:flex;align-items:center;justify-content:center;padding:48px;min-height:400px}.calendar-error p{color:#ef4444;font-size:16px;font-weight:500;font-family:Inter,sans-serif}@media (prefers-reduced-motion: no-preference){.skeleton-day{transition:transform .3s cubic-bezier(.4,0,.2,1)}.skeleton-day:nth-child(7n+1){animation-delay:0s}.skeleton-day:nth-child(7n+2){animation-delay:.05s}.skeleton-day:nth-child(7n+3){animation-delay:.1s}.skeleton-day:nth-child(7n+4){animation-delay:.15s}.skeleton-day:nth-child(7n+5){animation-delay:.2s}.skeleton-day:nth-child(7n+6){animation-delay:.25s}.skeleton-day:nth-child(7n+7){animation-delay:.3s}}@media (max-width: 768px){.calendar-page{padding:16px}.calendar-page-header h1{font-size:24px}.calendar-nav{gap:16px;margin-top:16px}.nav-btn{width:36px;height:36px}.current-month{font-size:20px}.calendar-container{padding:16px}.calendar-day-header{font-size:11px;padding:8px 4px}.calendar-day{min-height:100px}.calendar-filters{padding:16px}.filters-content{flex-direction:column;gap:12px}.filter-group{min-width:100%}}@media (max-width: 480px){.calendar-page{padding:12px}.calendar-page-header h1{font-size:20px}.calendar-nav{gap:12px}.nav-btn{width:32px;height:32px}.current-month{font-size:18px}.calendar-container{padding:12px}.calendar-day{min-height:80px;padding:4px}.calendar-day-header{font-size:10px;padding:6px 2px}.calendar-filters{padding:12px}.filters-header{flex-wrap:wrap;gap:8px}.filters-header h3{font-size:14px}.clear-filters-btn{font-size:11px;padding:5px 10px}.filter-label{font-size:11px}.filter-select{font-size:13px;padding:8px 32px 8px 12px}}.rooms-page{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease}.action-button:disabled{opacity:.6;cursor:not-allowed}.preview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.preview-modal{background-color:var(--bg-secondary);border-radius:12px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transition:all .3s ease}.preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:32px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(239,68,68,.05) 0%,transparent 100%);position:relative}.preview-modal-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(239,68,68,.3),transparent)}.preview-modal-header h2{font-size:28px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;letter-spacing:-.5px;background:linear-gradient(135deg,var(--text-primary) 0%,rgba(239,68,68,.8) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.preview-modal-close{background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.05) 100%);border:1px solid rgba(239,68,68,.2);color:var(--text-primary);cursor:pointer;font-size:24px;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001a;font-weight:300;line-height:1}.preview-modal-close:hover{background:linear-gradient(135deg,rgba(239,68,68,.2) 0%,rgba(239,68,68,.1) 100%);border-color:#ef4444;color:#ef4444;transform:scale(1.05) rotate(90deg);box-shadow:0 4px 16px #ef44444d}.preview-modal-content{padding:32px;overflow-y:auto;flex:1;background:var(--bg-secondary)}.preview-summary{margin-bottom:32px;padding:24px;background:linear-gradient(135deg,rgba(239,68,68,.05) 0%,transparent 100%);border-radius:16px;border:1px solid rgba(239,68,68,.1)}.preview-summary h3{font-size:20px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:20px;letter-spacing:-.3px}.preview-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.preview-stat-item{background:linear-gradient(135deg,var(--bg-hover) 0%,rgba(239,68,68,.03) 100%);padding:20px;border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000d}.preview-stat-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px #ef44441a;border-color:#ef444433}.preview-stat-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.preview-stat-value{display:block;font-size:24px;font-weight:700;color:var(--text-primary)}.preview-section{margin-bottom:32px;padding:24px;background:linear-gradient(135deg,var(--bg-hover) 0%,rgba(239,68,68,.02) 100%);border-radius:16px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.preview-section:hover{border-color:#ef444433;box-shadow:0 4px 16px #0000001a}.preview-section:last-child{margin-bottom:0}.preview-section h3{font-size:18px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:20px;letter-spacing:-.3px;display:flex;align-items:center;gap:8px}.preview-section h3:before{content:"";width:4px;height:20px;background:linear-gradient(135deg,#EF4444 0%,rgba(239,68,68,.5) 100%);border-radius:2px}.preview-list{display:flex;flex-direction:column;gap:12px}.preview-item{background:linear-gradient(135deg,var(--bg-hover) 0%,rgba(239,68,68,.02) 100%);padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 2px 8px #0000000d}.preview-item:hover{border-color:#ef44444d;background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(239,68,68,.05) 100%);transform:translateY(-2px);box-shadow:0 4px 16px #ef444426}.preview-item-with-image{display:flex;gap:0;align-items:stretch;padding:0;overflow:hidden;min-height:200px}.preview-item-image-left{width:250px;min-width:250px;height:auto;min-height:100%;overflow:hidden;background-color:var(--bg-hover);flex-shrink:0;display:flex;align-items:stretch}.preview-item-image-left img{width:100%;height:100%;object-fit:cover;min-height:100%}.preview-item-content-right{flex:1;padding:20px;display:flex;flex-direction:column;gap:12px;justify-content:space-between;min-height:100%}.preview-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.preview-item-header>div{display:flex;flex-direction:column;gap:4px}.detail-row{display:flex;gap:16px;flex-wrap:wrap}.room-numbers-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.room-numbers-label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.room-numbers-input-group{display:flex;gap:8px;margin-bottom:12px}.room-number-input{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:14px;outline:none;transition:all .2s ease}.room-number-input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.add-room-number-btn{padding:8px 16px;background-color:#ef4444;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.add-room-number-btn:hover{background-color:#dc2626}.add-room-number-btn:active{transform:scale(.98)}.room-numbers-list{display:flex;flex-wrap:wrap;gap:8px}.room-number-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:13px;color:var(--text-primary)}.remove-room-number{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;font-size:16px;line-height:1}.remove-room-number:hover{background-color:var(--bg-hover);color:#ef4444}.preview-item-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.preview-item-name{font-size:16px;font-weight:600;color:var(--text-primary)}.preview-item-price{font-size:14px;font-weight:600;color:#ef4444}.preview-item-image{width:100%;height:120px;border-radius:8px;overflow:hidden;margin-bottom:12px;background-color:var(--bg-hover)}.preview-item-image img{width:100%;height:100%;object-fit:cover}.preview-item-details{display:flex;gap:16px;font-size:12px;color:var(--text-secondary);flex-wrap:wrap}.preview-more{margin-top:12px;text-align:center;font-size:14px;color:var(--text-secondary);font-style:italic}.preview-modal-footer{display:flex;justify-content:flex-end;gap:16px;padding:32px;border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(239,68,68,.02) 0%,transparent 100%);position:relative}.preview-modal-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(239,68,68,.3),transparent)}.preview-modal-footer .action-button{padding:14px 28px;border-radius:12px;font-size:15px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;box-shadow:0 2px 8px #0000001a;letter-spacing:-.2px}.preview-modal-footer .action-button:not(.primary){background:linear-gradient(135deg,var(--bg-hover) 0%,rgba(239,68,68,.05) 100%);border-color:#ffffff1a;color:var(--text-primary)}.preview-modal-footer .action-button:not(.primary):hover{background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.05) 100%);border-color:#ef44444d;color:#ef4444;transform:translateY(-2px);box-shadow:0 4px 16px #ef444433}.preview-modal-footer .action-button.primary{background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;border-color:transparent;box-shadow:0 4px 12px #ef444466,0 2px 4px #ef444433}.preview-modal-footer .action-button.primary:hover:not(:disabled){background:linear-gradient(135deg,#DC2626 0%,#B91C1C 100%);transform:translateY(-2px);box-shadow:0 6px 20px #ef444480,0 4px 8px #ef44444d}.preview-modal-footer .action-button.primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #ef444466,0 1px 2px #ef444433}.preview-modal-footer .action-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.add-room-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.4) 100%);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}.add-room-modal{background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(239,68,68,.02) 100%);border-radius:24px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 80px #0006,0 0 0 1px #ffffff0d;animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.1);overflow:hidden}.add-room-modal-header{display:flex;justify-content:space-between;align-items:center;padding:32px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(239,68,68,.05) 0%,transparent 100%);position:relative}.add-room-modal-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(239,68,68,.3),transparent)}.add-room-modal-header h2{font-size:28px;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;color:var(--text-primary);margin:0;letter-spacing:-.5px;background:linear-gradient(135deg,var(--text-primary) 0%,rgba(239,68,68,.8) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.add-room-modal-close{background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.05) 100%);border:1px solid rgba(239,68,68,.2);color:var(--text-primary);cursor:pointer;font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001a;font-weight:300;line-height:1}.add-room-modal-close:hover{background:linear-gradient(135deg,rgba(239,68,68,.2) 0%,rgba(239,68,68,.1) 100%);border-color:#ef4444;color:#ef4444;transform:scale(1.05) rotate(90deg);box-shadow:0 4px 16px #ef44444d}.add-room-modal-content{padding:32px;overflow-y:auto;flex:1;background:var(--bg-secondary)}.add-room-form-group{margin-bottom:28px}.add-room-form-group label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:10px;letter-spacing:-.2px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif}.room-type-pills-container{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.room-type-pill{display:flex;align-items:center;gap:10px;padding:12px 18px;border:2px solid rgba(255,255,255,.1);border-radius:50px;background:var(--bg-hover);color:var(--text-primary);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden}.room-type-pill:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.05) 100%);opacity:0;transition:opacity .3s ease}.room-type-pill:hover:before{opacity:1}.room-type-pill:hover{border-color:#ef44444d;transform:translateY(-2px);box-shadow:0 4px 12px #ef444433}.room-type-pill.selected{border-color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.15) 0%,rgba(239,68,68,.08) 100%);box-shadow:0 4px 16px #ef44444d,0 0 0 3px #ef44441a}.room-type-pill.selected:before{opacity:1}.room-type-pill-image{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-secondary);border:2px solid rgba(255,255,255,.1);transition:all .3s ease;position:relative;z-index:1}.room-type-pill.selected .room-type-pill-image{border-color:#ef4444;box-shadow:0 0 0 2px #ef444433}.room-type-pill-image img{width:100%;height:100%;object-fit:cover}.room-type-pill-placeholder{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,rgba(239,68,68,.15) 0%,rgba(239,68,68,.08) 100%);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0;border:2px solid rgba(255,255,255,.1);position:relative;z-index:1;transition:all .3s ease}.room-type-pill.selected .room-type-pill-placeholder{border-color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.25) 0%,rgba(239,68,68,.15) 100%);color:#ef4444}.room-type-pill-content{display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}.room-type-pill-name{font-weight:600;color:var(--text-primary);font-size:14px;white-space:nowrap}.room-type-pill.selected .room-type-pill-name{color:#ef4444}.room-type-pill-price{font-size:12px;color:var(--text-secondary)}.room-type-pill.selected .room-type-pill-price{color:#ef4444cc}.room-type-pill-check{color:#ef4444;flex-shrink:0;position:relative;z-index:1;animation:checkPulse .3s ease}.room-type-pills-empty{padding:24px;text-align:center;color:var(--text-secondary);background:rgba(0,0,0,.02);border-radius:12px;margin-top:12px}.add-room-numbers-input-group{display:flex;gap:10px;margin-bottom:12px}.add-room-number-input{flex:1;padding:14px 18px;border:2px solid rgba(255,255,255,.1);border-radius:12px;background:var(--bg-hover);color:var(--text-primary);font-size:15px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.add-room-number-input:focus{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a;background-color:var(--bg-secondary)}.add-room-number-input::placeholder{color:var(--text-tertiary)}.add-room-number-btn{padding:14px 20px;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #ef444466,0 2px 4px #ef444433}.add-room-number-btn:hover:not(:disabled){background:linear-gradient(135deg,#DC2626 0%,#B91C1C 100%);transform:translateY(-2px);box-shadow:0 6px 20px #ef444480,0 4px 8px #ef44444d}.add-room-number-btn:active:not(:disabled){transform:translateY(0)}.add-room-number-btn:disabled{opacity:.5;cursor:not-allowed}.add-room-numbers-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;min-height:40px}.add-room-number-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.05) 100%);border:1px solid rgba(239,68,68,.2);border-radius:10px;font-size:14px;font-weight:500;color:var(--text-primary);animation:tagSlideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes tagSlideIn{0%{opacity:0;transform:scale(.8) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.remove-room-number-btn{background:rgba(239,68,68,.2);border:none;color:#ef4444;cursor:pointer;padding:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;font-size:14px;line-height:1}.remove-room-number-btn:hover{background:rgba(239,68,68,.3);transform:scale(1.1) rotate(90deg)}.add-room-help-text{font-size:13px;color:var(--text-tertiary);margin:8px 0 0;font-style:italic}.add-room-modal-footer{display:flex;justify-content:flex-end;gap:16px;padding:32px;border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(239,68,68,.02) 0%,transparent 100%);position:relative}.add-room-modal-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(239,68,68,.3),transparent)}.add-room-cancel-btn{padding:14px 28px;border-radius:12px;font-size:15px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;box-shadow:0 2px 8px #0000001a;letter-spacing:-.2px;background:linear-gradient(135deg,var(--bg-hover) 0%,rgba(239,68,68,.05) 100%);border-color:#ffffff1a;color:var(--text-primary)}.add-room-cancel-btn:hover{background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.05) 100%);border-color:#ef44444d;color:#ef4444;transform:translateY(-2px);box-shadow:0 4px 16px #ef444433}.add-room-save-btn{padding:14px 28px;border-radius:12px;font-size:15px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;box-shadow:0 4px 12px #ef444466,0 2px 4px #ef444433;letter-spacing:-.2px;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff}.add-room-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#DC2626 0%,#B91C1C 100%);transform:translateY(-2px);box-shadow:0 6px 20px #ef444480,0 4px 8px #ef44444d}.add-room-save-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #ef444466,0 1px 2px #ef444433}.add-room-save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.delete-confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.delete-confirm-modal{background-color:var(--bg-secondary);border-radius:12px;width:90%;max-width:400px;display:flex;flex-direction:column;box-shadow:0 10px 25px #0003;border:1px solid var(--border-color)}.delete-confirm-header{padding:24px;text-align:center;border-bottom:1px solid var(--border-color)}.delete-confirm-icon{color:#ef4444;margin:0 auto 16px;display:block}.delete-confirm-header h2{font-size:20px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0 0 12px}.delete-confirm-header p{font-size:14px;color:var(--text-secondary);margin:0 0 8px;line-height:1.5}.delete-confirm-header p strong{color:var(--text-primary);font-weight:600}.delete-confirm-warning{font-size:13px;color:var(--text-tertiary);margin-top:8px!important}.delete-confirm-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.delete-confirm-cancel-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-color);background-color:var(--bg-hover);color:var(--text-primary)}.delete-confirm-cancel-btn:hover:not(:disabled){background-color:var(--bg-active);border-color:var(--border-hover)}.delete-confirm-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.delete-confirm-delete-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;border:none;background-color:#ef4444;color:#fff}.delete-confirm-delete-btn:hover:not(:disabled){background-color:#dc2626}.delete-confirm-delete-btn:disabled{opacity:.6;cursor:not-allowed}.room-type-section{margin-bottom:40px}.room-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--border-color);transition:border-color .3s ease}.room-type-title{font-size:22px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;transition:color .3s ease}.room-type-stats{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.room-type-stats .stat-item{font-size:13px;font-weight:500;color:var(--text-secondary);transition:color .3s ease}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.room-card-wrapper,.room-card-wrapper .ripple-container{width:100%;display:block}.room-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .3s ease;height:100%;display:flex;flex-direction:column}.room-card-image{position:relative;width:100%;height:200px;overflow:hidden;background-color:var(--bg-hover);flex-shrink:0}.room-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.room-card:hover .room-card-image img{transform:scale(1.05)}.room-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 100%);display:flex;align-items:flex-start;justify-content:flex-end;padding:12px;pointer-events:none}.room-card-content{padding:20px;display:flex;flex-direction:column;flex:1}.room-card:hover{border-color:var(--border-hover);box-shadow:0 4px 12px var(--shadow)}.room-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.room-number{font-size:18px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:4px;transition:color .3s ease}.room-type{font-size:14px;color:var(--text-secondary);transition:color .3s ease}.room-price{font-size:20px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:12px;transition:color .3s ease}.room-features{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;flex:1}.feature-tag{padding:4px 10px;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:6px;font-size:11px;font-weight:500;color:var(--text-secondary);transition:all .3s ease}.room-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border-color);transition:border-color .3s ease}.room-card-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}.room-action-button{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.room-action-button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.room-action-button.delete{color:#ef4444}.room-action-button.delete:hover{background-color:#ef44441a;color:#dc2626}.more-button{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.more-button:hover{color:var(--text-primary)}.rooms-skeleton{width:100%;animation:skeletonFadeIn .8s cubic-bezier(.4,0,.2,1)}.skeleton-room-type-section{margin-bottom:48px}.skeleton-room-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.skeleton-room-type-header .skeleton-line.title{height:24px;width:200px}.skeleton-stats{display:flex;gap:16px}.skeleton-stat{width:80px;height:20px;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;border-radius:6px;animation:shimmer 2.2s ease-in-out infinite}.skeleton-rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.skeleton-room-card{background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(255,255,255,.02) 100%);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 8px 32px #0000001f;position:relative}.skeleton-room-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:sweep 3s ease-in-out infinite}.skeleton-room-image{width:100%;height:200px;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;animation:shimmer 2.2s ease-in-out infinite}.skeleton-room-content{padding:20px;display:flex;flex-direction:column;gap:12px}.skeleton-line.short{width:60%}.skeleton-feature{width:80px;height:24px;background:linear-gradient(90deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.2) 50%,rgba(239,68,68,.1) 100%);background-size:200% 100%;border-radius:12px;animation:shimmer 2.2s ease-in-out infinite;animation-delay:.4s}@media (max-width: 768px){.rooms-page{padding:16px}.page-header{flex-direction:column;gap:16px;align-items:flex-start}.page-header h1{font-size:24px}.header-actions{width:100%;flex-wrap:wrap}.filters-section{padding:16px}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}}@media (max-width: 480px){.rooms-page{padding:12px}.page-header h1{font-size:20px}.filters-section{padding:12px}.rooms-grid{grid-template-columns:1fr}}.room-types-page{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease;max-width:100%}@media (max-width: 768px){.room-types-page{padding:20px}}@media (max-width: 480px){.room-types-page{padding:16px}}.room-types-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:20px;flex-wrap:wrap}@media (max-width: 768px){.room-types-page .page-header{margin-bottom:24px}}.room-types-page .page-header h1{font-size:28px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:8px;transition:color .3s ease}.room-types-page .subtitle{color:var(--text-secondary);font-size:14px;transition:color .3s ease}.room-types-page .header-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}@media (max-width: 768px){.room-types-page .header-actions{width:100%;justify-content:flex-end}}.room-types-page .action-button{padding:10px 20px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;font-family:inherit}.room-types-page .action-button:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.room-types-page .action-button.primary{background-color:#ef4444;color:#fff;border-color:#ef4444}.room-types-page .action-button.primary:hover{background-color:#dc2626;border-color:#dc2626}.room-types-page .filters-section{margin-bottom:24px}@media (max-width: 768px){.room-types-page .filters-section{margin-bottom:20px}}.room-types-page .search-box{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;max-width:400px;transition:all .2s ease}.room-types-page .search-box:focus-within{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.room-types-page .search-box svg{color:var(--text-tertiary);flex-shrink:0}.room-types-page .search-box input{flex:1;border:none;background:none;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none}.room-types-page .search-box input::placeholder{color:var(--text-tertiary)}.room-types-grid{display:grid!important;grid-template-columns:repeat(1,minmax(0,1fr))!important;gap:24px;align-items:start}.room-types-table-container{width:100%;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;overflow:hidden}.room-types-table{width:100%}.room-types-table-header,.room-types-table-row{display:grid;grid-template-columns:1.2fr 2fr .9fr .6fr .8fr .9fr;gap:16px;align-items:center;padding:14px 18px}.room-types-table-header{background:var(--bg-hover);border-bottom:1px solid var(--border-color);font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--text-tertiary);text-transform:uppercase}.room-types-table-row{border-bottom:1px solid rgba(0,0,0,.06);color:var(--text-primary);background:var(--bg-secondary);transition:background-color .2s ease}.room-types-table-row:hover{background:var(--bg-hover)}.room-types-table-row:last-child{border-bottom:none}.rtc-name-text{font-weight:700;font-family:Inter,sans-serif}.rtc-desc-text{color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rtc-actions-inner{display:flex;justify-content:flex-end;gap:10px}.rtc-icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.rtc-icon-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.rtc-icon-btn.danger{color:#ef4444;border-color:#ef444459}.rtc-icon-btn.danger:hover{background:rgba(239,68,68,.08);border-color:#ef44448c}@media (max-width: 900px){.room-types-table-header,.room-types-table-row{grid-template-columns:1.2fr 1.8fr .8fr .6fr .8fr 1fr;gap:12px;padding:12px 14px}}@media (max-width: 700px){.room-types-table-header{display:none}.room-types-table-row{grid-template-columns:1fr;gap:10px;padding:14px}.rtc-actions-inner{justify-content:flex-start}}@media (min-width: 768px){.room-types-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (min-width: 1024px){.room-types-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:100%}}.room-type-card{background:var(--bg-secondary);border-radius:20px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid rgba(0,0,0,.05);position:relative;height:100%;min-height:0}.room-type-card:hover{box-shadow:0 10px 30px #0000001f,0 4px 8px #00000014;transform:translateY(-6px);border-color:#0000001a}.room-type-image-header{width:100%;height:320px;position:relative;overflow:hidden;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);margin:0;border-radius:20px}.room-type-image-header img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.room-type-card:hover .room-type-image-header img{transform:scale(1.1)}.room-type-image-gradient{position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(255,255,255,1) 0%,rgba(255,255,255,.95) 20%,rgba(255,255,255,.8) 40%,rgba(255,255,255,.4) 70%,rgba(255,255,255,0) 100%);pointer-events:none}.room-type-image-content{position:absolute;bottom:0;left:0;right:0;padding:32px 24px 16px;z-index:2}.room-type-image-content .room-type-name{color:var(--text-primary);margin-bottom:8px;text-shadow:0 1px 2px rgba(0,0,0,.1)}.room-type-image-content .room-type-description{color:var(--text-secondary);text-shadow:0 1px 2px rgba(0,0,0,.05)}.room-type-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-start;justify-content:flex-end;padding:16px;opacity:0;transition:opacity .3s ease;z-index:3}.room-type-card:hover .room-type-image-overlay{opacity:1}.room-type-actions-header{padding:16px;display:flex;justify-content:flex-end;background:var(--bg-secondary);border-bottom:1px solid rgba(0,0,0,.05)}.room-type-card-content{padding:24px;display:flex;flex-direction:column;flex:1;gap:20px;min-height:0}.room-type-card-content:first-child{padding-top:16px}.room-type-card:has(.room-type-image-header) .room-type-card-content{padding-top:24px}.room-type-card-header{display:flex;flex-direction:column;gap:12px;padding-top:8px;flex-shrink:0}.room-type-name{font-size:24px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;color:var(--text-primary);margin:0;letter-spacing:-.5px;line-height:1.2}.room-type-description{font-size:15px;color:var(--text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:calc(1.6em * 3);font-weight:400}.room-type-actions{display:flex;gap:8px}.room-type-image-overlay .room-type-actions{gap:6px}.icon-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:10px;background-color:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--text-primary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001a}.icon-button:hover{background-color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #00000026}.icon-button.edit:hover{color:#3b82f6}.icon-button.delete:hover{color:#ef4444}.room-type-image-overlay .icon-button{background-color:#fff3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff;box-shadow:0 2px 8px #0003}.room-type-image-overlay .icon-button:hover{background-color:#ffffff4d;color:#fff}.room-type-details{display:flex;flex-direction:column;gap:16px;padding:20px;background:rgba(0,0,0,.02);border-radius:12px;margin:0;flex-shrink:0;align-items:flex-start;text-align:left}.detail-item{display:flex;flex-direction:column;gap:6px;text-align:left;align-items:flex-start;width:100%}.detail-label{font-size:13px;color:var(--text-secondary);font-weight:500;letter-spacing:-.2px;text-align:left;display:block;width:100%}.detail-value{font-size:20px;font-weight:600;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;letter-spacing:-.3px;text-align:left;display:block;width:100%}.amenities-section{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-color);text-align:center}.amenities-label{font-size:12px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px}.amenities-list{display:flex;flex-wrap:wrap;gap:8px}.amenity-tag{padding:6px 12px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;font-size:13px;color:var(--text-primary);transition:all .2s ease}.room-types-page .empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background-color:var(--bg-secondary);border-radius:16px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color);position:sticky;top:0;background-color:var(--bg-secondary);z-index:10}.modal-content .modal-header h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0;font-family:Inter,sans-serif;text-transform:none;letter-spacing:normal}.modal-content .modal-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background-color:var(--bg-tertiary);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.modal-content .modal-close-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.modal-content .room-type-form{padding:24px;display:flex;flex-direction:column;gap:32px}.modal-content .form-section{display:flex;flex-direction:column;gap:20px}.modal-content .section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-content .section-title h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;font-family:Inter,sans-serif;text-transform:none;letter-spacing:normal}.modal-content .amenities-count{font-size:14px;color:var(--text-secondary);font-weight:500}.modal-content .form-group{display:flex;flex-direction:column;gap:8px}.modal-content .form-group label{font-size:14px;font-weight:500;color:var(--text-primary);font-family:Inter,sans-serif;text-transform:none;letter-spacing:normal}.modal-content .form-group input,.modal-content .form-group textarea,.modal-content .form-group select{padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-family:Inter,sans-serif;transition:all .2s ease;text-transform:none;letter-spacing:normal}.modal-content .form-group input:focus,.modal-content .form-group textarea:focus,.modal-content .form-group select:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.modal-content .form-group textarea{resize:vertical;min-height:80px}.modal-content .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.amenities-input-group{display:flex;gap:8px}.amenity-input{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-family:inherit}.amenity-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.add-amenity-btn{padding:10px 16px;background-color:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease;font-family:inherit}.add-amenity-btn:hover:not(:disabled){background-color:#dc2626}.add-amenity-btn:disabled{opacity:.5;cursor:not-allowed}.selected-amenities{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background-color:var(--bg-tertiary);border-radius:8px;min-height:50px}.amenity-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:13px;color:var(--text-primary)}.remove-amenity-btn{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all .2s ease;padding:0}.remove-amenity-btn:hover{background-color:var(--bg-hover);color:#ef4444}.suggested-amenities{margin-top:16px}.suggested-label{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:12px}.suggested-list{display:flex;flex-wrap:wrap;gap:8px}.suggested-amenity-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-family:inherit}.suggested-amenity-btn:hover:not(:disabled){background-color:var(--bg-hover);border-color:#ef4444}.suggested-amenity-btn.selected{background-color:#ef4444;color:#fff;border-color:#ef4444}.suggested-amenity-btn:disabled{opacity:.6;cursor:not-allowed}.modal-content .modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid var(--border-color)}.modal-content .cancel-btn,.modal-content .submit-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif;border:none;text-transform:none;letter-spacing:normal}.modal-content .cancel-btn{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.modal-content .cancel-btn:hover{background-color:var(--bg-hover)}.modal-content .submit-btn{background-color:#ef4444!important;color:#fff!important;font-weight:600}.modal-content .submit-btn:hover:not(:disabled){background-color:#dc2626!important;color:#fff!important}.modal-content .submit-btn:disabled{opacity:.5;cursor:not-allowed;background-color:#ef4444!important;color:#fff!important}[data-theme=dark] .modal-overlay{background-color:#000000b3}[data-theme=dark] .room-type-card:hover{box-shadow:0 4px 12px #0000004d}[data-theme=dark] .modal-content{box-shadow:0 20px 60px #00000080}[data-theme=dark] .room-type-image-gradient{background:linear-gradient(to top,rgba(40,40,40,1) 0%,rgba(40,40,40,.95) 20%,rgba(40,40,40,.8) 40%,rgba(40,40,40,.4) 70%,rgba(40,40,40,0) 100%)}.room-types-skeleton{width:100%;animation:skeletonFadeIn .8s cubic-bezier(.4,0,.2,1)}.skeleton-room-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.skeleton-room-type-card{background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(255,255,255,.02) 100%);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 8px 32px #0000001f;position:relative}.skeleton-room-type-image{width:100%;height:250px;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;animation:shimmer 2.2s ease-in-out infinite}.skeleton-room-type-content{padding:24px;display:flex;flex-direction:column;gap:16px}.skeleton-line.title{height:20px;width:70%;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;border-radius:6px;animation:shimmer 2.2s ease-in-out infinite;animation-delay:.2s}.skeleton-line.medium{height:14px;width:90%;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;border-radius:6px;animation:shimmer 2.2s ease-in-out infinite;animation-delay:.3s}.skeleton-details{display:flex;flex-direction:column;gap:8px}.skeleton-detail{height:16px;width:60%;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;border-radius:6px;animation:shimmer 2.2s ease-in-out infinite;animation-delay:.4s}.skeleton-features{display:flex;gap:8px;flex-wrap:wrap}.skeleton-feature-tag{width:100px;height:28px;background:linear-gradient(90deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.2) 50%,rgba(239,68,68,.1) 100%);background-size:200% 100%;border-radius:14px;animation:shimmer 2.2s ease-in-out infinite;animation-delay:.5s}.view-customer-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;padding:20px}.view-customer-modal{background-color:var(--bg-secondary);border-radius:16px;width:100%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;transition:background-color .3s ease;display:flex;flex-direction:column}.view-customer-modal-loading{display:flex;align-items:center;justify-content:center;min-height:400px;padding:48px}.view-customer-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid var(--border-color);transition:border-color .3s ease}.view-customer-modal-title-section{display:flex;align-items:center;gap:16px;flex:1}.view-customer-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.view-customer-modal-title-section h2{font-size:24px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0 0 4px;transition:color .3s ease}.view-customer-modal-subtitle{font-size:13px;color:var(--text-secondary);margin:0;transition:color .3s ease}.view-customer-modal-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease;flex-shrink:0}.view-customer-modal-close:hover{color:var(--text-primary);background-color:var(--bg-hover)}.view-customer-modal-content{padding:24px;overflow-y:auto;flex:1}.view-customer-section{margin-bottom:32px}.view-customer-section:last-child{margin-bottom:0}.view-customer-section-title{font-size:16px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0 0 16px;transition:color .3s ease}.view-customer-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.view-customer-info-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;transition:all .2s ease}.view-customer-info-item:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.view-customer-info-icon{width:36px;height:36px;border-radius:8px;background-color:#ef44441a;color:#ef4444;display:flex;align-items:center;justify-content:center;flex-shrink:0}.view-customer-info-content{display:flex;flex-direction:column;gap:4px;flex:1}.view-customer-info-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.view-customer-info-value{font-size:14px;font-weight:500;color:var(--text-primary);transition:color .3s ease}.view-customer-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.view-customer-stat-card{display:flex;align-items:center;gap:16px;padding:20px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;transition:all .2s ease}.view-customer-stat-card:hover{background-color:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-2px)}.view-customer-stat-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.2) 100%);color:#ef4444;display:flex;align-items:center;justify-content:center;flex-shrink:0}.view-customer-stat-content{display:flex;flex-direction:column;gap:4px;flex:1}.view-customer-stat-value{font-size:20px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);transition:color .3s ease}.view-customer-stat-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.view-customer-bookings-list{display:flex;flex-direction:column;gap:12px}.view-customer-booking-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative}.view-customer-booking-item:hover{background-color:var(--bg-hover);border-color:var(--border-hover);transform:translate(4px)}.view-customer-booking-content{display:flex;flex-direction:column;gap:12px;flex:1;min-width:0}.view-customer-booking-header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.view-customer-booking-id{display:flex;flex-direction:column;gap:4px}.booking-id-label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.booking-id-value{font-size:14px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);transition:color .3s ease}.view-customer-booking-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;background-color:var(--bg-secondary)}.view-customer-booking-status .status-dot{width:6px;height:6px;border-radius:50%}.view-customer-booking-status.confirmed .status-dot{background-color:#10b981}.view-customer-booking-status.pending .status-dot{background-color:#f59e0b}.view-customer-booking-status.cancelled .status-dot{background-color:#ef4444}.view-customer-booking-status.completed .status-dot{background-color:#6366f1}.view-customer-booking-details{display:flex;flex-direction:column;gap:8px;flex:1}.view-customer-booking-detail{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);transition:color .3s ease}.view-customer-booking-detail svg{color:var(--text-tertiary);flex-shrink:0}.view-customer-booking-action{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);opacity:0;transition:all .2s ease;flex-shrink:0;margin-top:2px}.view-customer-booking-item:hover .view-customer-booking-action{opacity:1;color:#ef4444;transform:translate(4px)}.view-customer-empty-state{text-align:center;padding:48px;color:var(--text-secondary);font-size:14px}.view-customer-modal-error{text-align:center;padding:48px;color:#ef4444;font-size:14px}.view-customer-modal-footer{padding:20px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;transition:border-color .3s ease}.view-customer-modal-close-btn{padding:10px 24px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.view-customer-modal-close-btn:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}@media (max-width: 768px){.view-customer-modal{max-width:100%;max-height:95vh;border-radius:12px 12px 0 0}.view-customer-modal-header,.view-customer-modal-content{padding:20px}.view-customer-info-grid,.view-customer-stats-grid{grid-template-columns:1fr}.view-customer-booking-item{flex-direction:row;align-items:flex-start}.view-customer-booking-content{width:100%}.view-customer-booking-header{width:100%;flex-wrap:wrap}.view-customer-booking-details{width:100%}.view-customer-booking-action{position:absolute;top:16px;right:16px;opacity:1;margin-top:0}}.guests-page{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease}.action-button{padding:10px 20px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.action-button.primary:hover{background-color:#dc2626}.search-box{display:flex;align-items:center;gap:12px;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;transition:all .3s ease}.guests-table-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:all .3s ease;width:100%}.guests-table-container .table-header{display:grid;grid-template-columns:1.5fr 2fr 1.5fr 1fr 1.2fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;transition:border-color .3s ease,color .3s ease}.guests-table-container .table-row{display:grid;grid-template-columns:1.5fr 2fr 1.5fr 1fr 1.2fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--border-color);align-items:center;transition:background-color .3s ease,border-color .3s ease}.table-col{font-size:14px;color:var(--text-primary);transition:color .3s ease}.guest-name-cell{display:flex;align-items:center;gap:12px}.guest-avatar-small{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.guest-name{font-weight:500;color:var(--text-primary);transition:color .3s ease}.email-cell,.phone-cell{display:flex;align-items:center;gap:8px;color:var(--text-secondary);transition:color .3s ease}.email-cell svg,.phone-cell svg{color:var(--text-tertiary);flex-shrink:0}.bookings-count{font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);transition:color .3s ease}.date{color:var(--text-secondary);transition:color .3s ease}.status{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500}.status-dot{width:8px;height:8px;border-radius:50%}.status.active .status-dot{background-color:#10b981}.empty-state{text-align:center;padding:48px;color:var(--text-secondary);font-size:14px}.skeleton-table-header{display:grid;grid-template-columns:1.5fr 2fr 1.5fr 1fr 1.2fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-color);margin-bottom:16px}.skeleton-table-row{display:grid;grid-template-columns:1.5fr 2fr 1.5fr 1fr 1.2fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--border-color)}.skeleton-cell.icon{width:24px;height:24px;border-radius:50%;margin:0 auto}.actions-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;padding:20px}.actions-modal{background-color:var(--bg-secondary);border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;transition:background-color .3s ease;display:flex;flex-direction:column}.actions-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid var(--border-color);transition:border-color .3s ease}.actions-modal-title-section h2{font-size:20px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0 0 4px;transition:color .3s ease}.actions-modal-subtitle{font-size:13px;color:var(--text-secondary);margin:0;transition:color .3s ease}.actions-modal-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;flex-shrink:0}.actions-modal-close:hover{color:var(--text-primary);background-color:var(--bg-hover)}.actions-modal-content{padding:8px;overflow-y:auto;flex:1}.actions-list{display:flex;flex-direction:column;gap:4px}.action-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;background:none;border:none;color:var(--text-primary);font-size:15px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;text-align:left;border-radius:10px;position:relative}.action-item:hover{background-color:var(--bg-hover)}.action-item:active{transform:scale(.98)}.action-item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background-color:var(--bg-tertiary);color:var(--text-primary);flex-shrink:0;transition:all .2s ease}.action-item:hover .action-item-icon{background-color:var(--bg-active);color:#ef4444}.action-item.danger .action-item-icon{background-color:#ef44441a;color:#ef4444}.action-item.danger:hover .action-item-icon{background-color:#ef444433}.action-item-label{flex:1;font-size:15px;font-weight:500;transition:color .2s ease}.action-item.danger .action-item-label{color:#ef4444}.action-item-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);opacity:0;transition:all .2s ease;flex-shrink:0}.action-item:hover .action-item-arrow{opacity:1;color:var(--text-secondary);transform:translate(2px)}.action-item:disabled{opacity:.6;cursor:not-allowed}.action-item:disabled:hover{background-color:transparent}@keyframes slideUp{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.skeleton-cell.with-avatar{display:flex;align-items:center;gap:12px}.skeleton-cell.with-avatar:before{content:"";width:32px;height:32px;border-radius:50%;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;animation:shimmer 2.2s ease-in-out infinite;flex-shrink:0}@media (max-width: 768px){.guests-page{padding:16px}.page-header{flex-direction:column;gap:16px;align-items:flex-start}.page-header h1{font-size:24px}.header-actions{width:100%;flex-wrap:wrap}.filters-section{padding:16px}.guests-table-container,.skeleton-table-container{padding:12px;border-radius:8px}.table-header,.table-row,.skeleton-table-header,.skeleton-table-row{grid-template-columns:minmax(80px,auto) minmax(100px,1fr) minmax(100px,1fr) minmax(70px,.7fr) minmax(70px,.7fr) minmax(70px,auto);gap:8px;min-width:550px}.table-col{font-size:12px}.table-header{font-size:10px;padding:8px 0}.table-row{padding:10px 0}}@media (max-width: 480px){.guests-page{padding:12px}.page-header h1{font-size:20px}.filters-section{padding:12px}.guests-table-container,.skeleton-table-container{padding:8px}.table-header,.table-row,.skeleton-table-header,.skeleton-table-row{min-width:500px}.table-col{font-size:11px}}.edit-guest-loading{display:flex;align-items:center;justify-content:center;padding:32px 16px}.edit-guest-form{padding:8px}.edit-guest-error{margin:8px;padding:12px 14px;border-radius:10px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.28);color:#ef4444;font-size:13px}.edit-guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:8px}.edit-guest-field{display:flex;flex-direction:column;gap:6px}.edit-guest-field.full{grid-column:1 / -1}.edit-guest-field label{font-size:12px;font-weight:600;color:var(--text-secondary)}.edit-guest-field input,.edit-guest-field select{padding:10px 12px;border-radius:10px;border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-primary);outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.edit-guest-field input:focus,.edit-guest-field select:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.edit-guest-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 8px 8px;border-top:1px solid var(--border-color);margin-top:8px}.edit-guest-btn{padding:10px 16px;border-radius:10px;border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-weight:600;font-size:14px;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.edit-guest-btn:hover{background-color:var(--bg-hover)}.edit-guest-btn.primary{background-color:#ef4444;border-color:#ef4444;color:#fff}.edit-guest-btn.primary:hover{background-color:#dc2626}.edit-guest-btn:disabled{opacity:.65;cursor:not-allowed}.edit-guest-saving{display:inline-flex;align-items:center;gap:8px}@media (max-width: 520px){.edit-guest-grid{grid-template-columns:1fr}}.reports-page{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease}.period-select:focus{outline:none;border-color:#1f2937;box-shadow:0 0 0 3px #1f29371a}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:all .3s ease;position:relative;overflow:hidden}.stat-value{font-size:28px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:12px;transition:color .3s ease;line-height:1.2}.stat-change{font-size:12px;font-weight:600;transition:color .3s ease;display:flex;align-items:center;gap:4px}.stat-change.up{color:#10b981}.stat-change.down{color:#ef4444}.reports-section{margin-top:32px}.section-title{font-size:24px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:12px;transition:color .3s ease;letter-spacing:-.3px}.reports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.report-card-wrapper,.report-card-wrapper .ripple-container{width:100%;display:block}.report-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:28px;transition:all .3s ease;height:100%;display:flex;flex-direction:column;position:relative}.report-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#1f2937 0%,#111827 100%);border-radius:12px 12px 0 0;opacity:0;transition:opacity .3s ease}.report-card:hover{border-color:var(--border-hover);box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.report-card:hover:before{opacity:1}.report-icon{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#1f2937 0%,#111827 100%);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:20px;transition:all .3s ease;box-shadow:0 4px 12px #0000001a}.report-card:hover .report-icon{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.report-title{font-size:20px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:12px;transition:color .3s ease;letter-spacing:-.3px}.report-description{font-size:14px;color:var(--text-secondary);margin-bottom:20px;flex:1;transition:color .3s ease;line-height:1.6;font-weight:400}.report-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border-color);transition:border-color .3s ease}.report-period{font-size:12px;font-weight:500;color:var(--text-tertiary);text-transform:capitalize;transition:color .3s ease}.generate-btn{padding:10px 18px;background-color:#1f2937;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #0000001a}.generate-btn:hover{background-color:#111827;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.toggle-switch input[type=checkbox]:checked{background-color:#1f2937}.date-input:focus{outline:none;border-color:#1f2937;box-shadow:0 0 0 3px #1f29371a}.report-footer{display:flex;justify-content:space-between;align-items:flex-start;padding-top:20px;border-top:2px solid var(--border-color);transition:border-color .3s ease;flex-wrap:wrap;gap:16px}.report-period-selector{display:flex;flex-direction:column;gap:10px;flex:1;min-width:200px}.report-period-toggle{display:flex;align-items:center;gap:8px}.toggle-switch-small{display:flex;align-items:center;gap:6px;cursor:pointer}.toggle-switch-small input[type=checkbox]{width:32px;height:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--border-color);border-radius:16px;position:relative;cursor:pointer;transition:all .3s ease}.toggle-switch-small input[type=checkbox]:checked{background-color:#1f2937}.toggle-switch-small input[type=checkbox]:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background-color:#fff;top:2px;left:2px;transition:all .3s ease}.toggle-switch-small input[type=checkbox]:checked:before{left:18px}.toggle-label-small{font-size:11px;font-weight:500;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.report-date-range-inputs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.report-date-input{padding:8px 12px;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .3s ease;flex:1;min-width:120px}.report-date-input:focus{outline:none;border-color:#1f2937;box-shadow:0 0 0 3px #1f29371a}.date-separator-small{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.report-period-select{padding:8px 14px;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .3s ease;width:100%}.report-period-select:focus{outline:none;border-color:#1f2937;box-shadow:0 0 0 3px #1f29371a}.report-period-select:disabled{opacity:.6;cursor:not-allowed}.section-description{font-size:14px;color:var(--text-secondary);margin-bottom:24px;transition:color .3s ease}.report-details{margin-bottom:20px;padding:16px;background-color:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color);transition:all .3s ease}.details-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:block;transition:color .3s ease}.details-list{list-style:none;padding:0;margin:0}.details-list li{font-size:13px;color:var(--text-primary);padding:6px 0 6px 20px;position:relative;transition:color .3s ease;font-weight:500}.details-list li:before{content:"▸";position:absolute;left:0;color:#1f2937;font-weight:700;font-size:12px}.report-actions{display:flex;gap:8px;align-items:center}.preview-btn{padding:10px 18px;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:13px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.preview-btn:hover{background-color:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.preview-btn:disabled{opacity:.6;cursor:not-allowed}.loading-spinner{width:48px;height:48px;border:4px solid rgba(31,41,55,.1);border-top-color:#1f2937;border-radius:50%;animation:spin .8s linear infinite}.retry-btn{padding:10px 24px;background-color:#1f2937;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.retry-btn:hover{background-color:#111827;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.preview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.preview-modal{background-color:var(--bg-secondary);border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transition:all .3s ease;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color);transition:border-color .3s ease}.preview-header h3{font-size:20px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;transition:color .3s ease}.close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.preview-content{padding:24px;overflow-y:auto;flex:1}.preview-content pre{margin:0;font-size:13px;font-family:Courier New,monospace;color:var(--text-primary);background-color:var(--bg-tertiary);padding:16px;border-radius:8px;border:1px solid var(--border-color);overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;transition:all .3s ease}.preview-table-section{margin-bottom:32px}.preview-table-section:last-child{margin-bottom:0}.preview-table-title{font-size:16px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--border-color);transition:all .3s ease}.preview-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border-color);border-radius:8px;transition:border-color .3s ease}.preview-table{width:100%;border-collapse:collapse;font-size:13px;background-color:var(--bg-secondary);transition:background-color .3s ease}.preview-table thead{background-color:var(--bg-tertiary);transition:background-color .3s ease}.preview-table th{padding:12px 16px;text-align:left;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);border-bottom:2px solid var(--border-color);white-space:nowrap;transition:all .3s ease;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.preview-table td{padding:12px 16px;color:var(--text-primary);border-bottom:1px solid var(--border-color);transition:all .3s ease}.preview-table tbody tr{transition:background-color .2s ease}.preview-table tbody tr:hover{background-color:var(--bg-hover)}.preview-table tbody tr:last-child td{border-bottom:none}.preview-table tbody tr:nth-child(2n){background-color:#1f293705}.preview-table tbody tr:nth-child(2n):hover{background-color:var(--bg-hover)}.analytics-page{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-primary);transition:background-color .3s ease}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:24px;flex-wrap:wrap}.page-header h1{font-size:32px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:8px;transition:color .3s ease;letter-spacing:-.5px}.subtitle{color:var(--text-secondary);font-size:14px;transition:color .3s ease;font-weight:500}.period-select{padding:10px 16px;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .3s ease}.period-select:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.stat-card-wrapper,.stat-card-wrapper .ripple-container{width:100%;display:block}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:all .3s ease;position:relative;overflow:hidden;height:100%}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#EF4444 0%,#DC2626 100%);opacity:0;transition:opacity .3s ease}.stat-card:hover{border-color:var(--border-hover);box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-icon-wrapper{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:all .3s ease}.stat-card:hover .stat-icon-wrapper{transform:scale(1.05)}.stat-label{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:12px;transition:color .3s ease;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:28px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:0;transition:color .3s ease;line-height:1.2}.period-selector-group{display:flex;flex-direction:column;gap:12px;min-width:300px}.period-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px}.period-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.toggle-switch{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-switch input[type=checkbox]{width:40px;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--border-color);border-radius:20px;position:relative;cursor:pointer;transition:all .3s ease}.toggle-switch input[type=checkbox]:checked{background-color:#ef4444}.toggle-switch input[type=checkbox]:before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background-color:#fff;top:2px;left:2px;transition:all .3s ease}.toggle-switch input[type=checkbox]:checked:before{left:22px}.toggle-label{font-size:12px;font-weight:500;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.date-range-inputs{display:flex;align-items:center;gap:12px}.date-input{padding:10px 14px;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .3s ease;flex:1;min-width:140px}.date-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.date-separator{font-size:13px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:64px 32px;min-height:400px}.loading-container p{font-size:14px;color:var(--text-secondary);font-weight:500;margin:0;transition:color .3s ease}.loading-spinner{width:48px;height:48px;border:4px solid rgba(239,68,68,.1);border-top-color:#ef4444;border-radius:50%;animation:spin .8s linear infinite}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 32px;min-height:400px;text-align:center}.error-container p{font-size:16px;color:var(--text-primary);font-weight:500;margin:0;transition:color .3s ease}.retry-btn{padding:10px 24px;background-color:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.retry-btn:hover{background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.insights-section{margin-bottom:32px}.section-title{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:20px;transition:color .3s ease}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.insight-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:all .3s ease}.insight-card h3{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.insight-value{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:8px;transition:color .3s ease}.insight-subtitle{font-size:13px;color:var(--text-tertiary);transition:color .3s ease}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:32px}.chart-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:all .3s ease}.chart-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:24px;transition:color .3s ease}.chart-container{display:flex;align-items:flex-end;justify-content:center;width:100%;padding:20px 0}.chart-bars{display:flex;align-items:flex-end;justify-content:space-around;width:100%;height:100%;gap:12px}.chart-bar-group{display:flex;flex-direction:column;align-items:center;flex:1;gap:8px}.chart-bar-wrapper{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center}.chart-bar{width:100%;min-height:4px;border-radius:4px 4px 0 0;transition:all .3s ease;cursor:pointer}.chart-bar:hover{opacity:.8;transform:scaleY(1.05)}.chart-label{font-size:11px;font-weight:500;color:var(--text-secondary);text-align:center;word-break:break-word;transition:color .3s ease}.pie-chart-container{display:flex;flex-direction:column;align-items:center;gap:24px}.pie-chart{transform:rotate(-90deg)}.pie-chart-empty{display:flex;align-items:center;justify-content:center;border:2px dashed var(--border-color);border-radius:50%;color:var(--text-tertiary)}.pie-chart-legend{display:flex;flex-direction:column;gap:12px;width:100%}.pie-legend-item{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-primary);transition:color .3s ease}.pie-legend-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.payment-method-chart{width:100%}.chart-legend{display:flex;justify-content:center;gap:24px;margin-top:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);transition:color .3s ease}.legend-color{width:12px;height:12px;border-radius:3px}.payment-method-list{display:flex;flex-direction:column;gap:16px}.payment-method-item{display:flex;flex-direction:column;gap:8px}.payment-method-header{display:flex;justify-content:space-between;align-items:center}.payment-method-name{font-size:15px;font-weight:600;color:var(--text-primary);transition:color .3s ease}.payment-method-total{font-size:16px;font-weight:700;color:var(--text-primary);transition:color .3s ease}.payment-method-details{display:flex;gap:16px;font-size:13px;color:var(--text-secondary);transition:color .3s ease}.payment-method-bar{width:100%;height:8px;background-color:var(--bg-tertiary);border-radius:4px;overflow:hidden}.payment-method-bar-filled{height:100%;border-radius:4px;transition:width .3s ease}[data-theme=dark] .analytics-page{background-color:var(--bg-primary)}[data-theme=dark] .stat-card,[data-theme=dark] .insight-card,[data-theme=dark] .chart-card{background-color:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .chart-label,[data-theme=dark] .legend-item{color:var(--text-secondary)}@media (max-width: 768px){.analytics-page{padding:20px}.page-header{flex-direction:column}.stats-grid,.charts-section,.insights-grid{grid-template-columns:1fr}}.invoices-page{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease}.subtitle{color:var(--text-secondary);font-size:14px;transition:color .3s ease}.header-actions{display:flex;gap:12px}.action-button{padding:10px 20px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-family:inherit}.action-button:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.action-button.primary{background-color:#ef4444;color:#fff;border-color:#ef4444}.action-button.primary:hover{background-color:#dc2626;border-color:#dc2626}.filters-section{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;margin-bottom:24px;transition:all .3s ease}.search-box{display:flex;align-items:center;gap:12px;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;margin-bottom:16px;transition:all .3s ease}.search-box input{border:none;background:transparent;outline:none;font-size:14px;color:var(--text-primary);width:100%;transition:color .3s ease;font-family:inherit}.status-filters{display:flex;gap:8px;flex-wrap:wrap}.status-filter{padding:8px 16px;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:inherit}.status-filter:hover{background-color:var(--bg-active);color:var(--text-primary)}.status-filter.active{background-color:#ef4444;color:#fff;border-color:#ef4444}.invoices-table-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .3s ease}.table-header{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr 1fr 1fr 1fr;gap:16px;padding:16px 24px;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);transition:all .3s ease}.table-row-wrapper{width:100%;display:block;cursor:pointer;transition:background-color .2s ease}.table-row-wrapper:hover{background-color:var(--bg-hover)}.table-row-wrapper .ripple-container{width:100%;display:block}.table-row{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr 1fr 1fr 1fr;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-color);transition:all .2s ease;align-items:center}.table-row:hover{background-color:var(--bg-hover)}.table-row:last-child{border-bottom:none}.table-col{display:flex;align-items:center;overflow:hidden}.invoice-number{font-weight:600;color:var(--text-primary);font-size:14px}.customer-name{color:var(--text-primary);font-size:14px}.booking-id{color:var(--text-secondary);font-size:13px;font-family:Courier New,monospace}.date{color:var(--text-secondary);font-size:14px}.amount{font-weight:600;color:var(--text-primary);font-size:14px}.status{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;padding:4px 12px;border-radius:6px;width:fit-content}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status.paid{background-color:#10b9811a;color:#10b981}.status.paid .status-dot{background-color:#10b981}.status.pending{background-color:#f59e0b1a;color:#f59e0b}.status.pending .status-dot{background-color:#f59e0b}.status.overdue{background-color:#ef44441a;color:#ef4444}.status.overdue .status-dot{background-color:#ef4444}.status.cancelled{background-color:#6b72801a;color:#6b7280}.status.cancelled .status-dot{background-color:#6b7280}.status.partially-paid{background-color:#3b82f61a;color:#3b82f6}.status.partially-paid .status-dot{background-color:#3b82f6}.status.refunded{background-color:#6b72801a;color:#6b7280}.status.refunded .status-dot{background-color:#6b7280}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:14px}.loading-container{display:flex;flex-direction:column;align-items:center;padding:48px;min-height:400px}.skeleton-table-container{width:100%;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(255,255,255,.02) 100%);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px;-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014,inset 0 1px #ffffff1a;animation:skeletonFadeIn .8s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.skeleton-table-container:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:sweep 3s ease-in-out infinite}.skeleton-table-header{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr 1fr 1fr 1fr;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-color);margin-bottom:16px}.skeleton-header-cell{height:16px;background:linear-gradient(90deg,var(--bg-hover) 0%,rgba(239,68,68,.1) 50%,var(--bg-hover) 100%);background-size:200% 100%;border-radius:6px;animation:shimmer 2s ease-in-out infinite}.skeleton-table-row{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr 1fr 1fr 1fr;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-color)}.skeleton-cell{height:20px;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;border-radius:8px;animation:shimmer 2.2s ease-in-out infinite;animation-delay:.2s}.skeleton-cell.short{width:60%}@media (max-width: 768px){.invoices-page{padding:16px}.page-header{flex-direction:column;gap:16px;align-items:flex-start}.page-header h1{font-size:24px}.header-actions{width:100%;flex-wrap:wrap}.filters-section{padding:16px}.invoices-table-container{border-radius:8px}.table-header,.table-row{grid-template-columns:minmax(100px,1fr) minmax(100px,1fr) minmax(80px,.8fr) minmax(80px,.8fr) minmax(80px,.8fr) minmax(80px,.8fr) minmax(80px,auto);gap:8px;padding:12px 16px;min-width:700px}.table-col{font-size:12px}.table-header{font-size:10px}}@media (max-width: 480px){.invoices-page{padding:12px}.page-header h1{font-size:20px}.filters-section{padding:12px}.table-header,.table-row{min-width:600px}.table-col{font-size:11px}}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding:20px;background-color:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.pagination-info{color:var(--text-secondary);font-size:14px}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-family:inherit}.pagination-button:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-hover)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-pages{display:flex;gap:4px;align-items:center}.pagination-page{min-width:40px;height:40px;padding:0 12px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-family:inherit}.pagination-page:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.pagination-page.active{background-color:#ef4444;border-color:#ef4444;color:#fff}@media (max-width: 768px){.pagination-container{flex-direction:column;gap:16px}.pagination-info{text-align:center}.pagination-controls{width:100%;justify-content:center}.pagination-pages{flex-wrap:wrap;justify-content:center}}.service-selector{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;margin-top:24px}.service-selector-header{margin-bottom:20px}.service-selector-header h3{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.service-selector-subtitle{font-size:14px;color:var(--text-secondary);margin:0}.selected-services-list{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:24px}.selected-services-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.selected-count{font-size:14px;font-weight:600;color:var(--text-primary)}.selected-total{font-size:16px;font-weight:700;color:#ef4444}.selected-service-item{display:flex;justify-content:space-between;align-items:flex-start;padding:12px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px}.selected-service-item:last-child{margin-bottom:0}.selected-service-info{flex:1}.selected-service-name{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px;display:flex;align-items:center;gap:8px}.custom-badge{padding:2px 8px;background-color:#f59e0b;color:#fff;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.selected-service-description{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.selected-service-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.quantity-control,.price-control{display:flex;align-items:center;gap:8px}.quantity-control label,.price-control label{font-size:13px;color:var(--text-secondary);font-weight:500}.quantity-control input,.price-control input{width:80px;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-family:inherit}.quantity-control input:focus,.price-control input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.service-unit{font-size:13px;color:var(--text-secondary)}.service-subtotal{font-size:15px;font-weight:600;color:var(--text-primary);margin-left:auto}.remove-service-btn{width:32px;height:32px;border-radius:6px;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-service-btn:hover{background-color:#ef44441a;color:#ef4444}.service-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.service-filters .search-box{flex:1;min-width:200px;position:relative;display:flex;align-items:center;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:10px 16px;transition:all .2s ease}.service-filters .search-box:focus-within{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.service-filters .search-box svg{color:var(--text-secondary);margin-right:12px;flex-shrink:0}.service-filters .search-box input{flex:1;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:14px;font-family:inherit}.service-filters .search-box input::placeholder{color:var(--text-tertiary)}.category-filter{padding:10px 16px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-family:inherit;min-width:150px}.category-filter:hover{border-color:var(--border-hover)}.category-filter:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.custom-service-form{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:20px}.custom-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.custom-form-header h4{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.close-custom-btn{width:28px;height:28px;border-radius:6px;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-custom-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.custom-form-fields{display:flex;flex-direction:column;gap:12px}.custom-form-fields input,.custom-form-fields textarea{padding:10px 14px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);font-family:inherit;transition:all .2s ease}.custom-form-fields input:focus,.custom-form-fields textarea:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.custom-form-fields textarea{resize:vertical;min-height:60px}.custom-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}@media (max-width: 768px){.custom-form-row{grid-template-columns:1fr}}.add-custom-btn{padding:10px 20px;background-color:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}.add-custom-btn:hover:not(:disabled){background-color:#dc2626}.add-custom-btn:disabled{opacity:.5;cursor:not-allowed}.add-custom-service-btn{width:100%;padding:12px 20px;background-color:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px}.add-custom-service-btn:hover{background-color:var(--bg-hover);border-color:#ef4444;color:#ef4444}.available-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}@media (max-width: 768px){.available-services-grid{grid-template-columns:1fr}}.service-card{background-color:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;padding:16px;transition:all .2s ease;cursor:pointer}.service-card:hover{border-color:#ef4444;box-shadow:0 4px 12px #ef44441a}.service-card.selected{border-color:#10b981;background-color:#10b9810d}.service-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.service-category-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.selected-icon{color:#10b981}.service-card-content{margin-bottom:12px}.service-name{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.service-description{font-size:13px;color:var(--text-secondary);margin:0 0 12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.service-price{font-size:16px;font-weight:700;color:var(--text-primary)}.price-unit{font-size:13px;font-weight:400;color:var(--text-secondary)}.service-card-actions{display:flex;justify-content:flex-end}.add-service-btn{padding:8px 16px;background-color:#ef4444;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit;display:flex;align-items:center;gap:6px}.add-service-btn:hover{background-color:#dc2626}.already-added{font-size:13px;color:#10b981;font-weight:500;padding:8px 16px}.services-loading,.services-error,.no-services{text-align:center;padding:40px 20px;color:var(--text-secondary)}.services-error{color:#ef4444}.booking-page{flex:1;overflow-y:auto;padding:32px;background:var(--bg-secondary);min-height:100vh;position:relative;transition:background-color .3s ease;animation:slideInLeft .4s cubic-bezier(.4,0,.2,1)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.booking-page.slide-out{animation:slideOutLeft .4s cubic-bezier(.4,0,.2,1)}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}.booking-container{max-width:1200px;margin:0 auto;position:relative;z-index:1}.booking-header{margin-bottom:48px;text-align:left;position:relative}.back-button{position:absolute;left:0;top:0;display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(239,68,68,.1) 100%);border:2px solid rgba(239,68,68,.2);border-radius:12px;color:var(--text-primary);font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px var(--shadow)}.booking-header h1{font-size:36px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.3px;transition:color .3s ease}.booking-header .subtitle{font-size:15px;color:var(--text-primary);font-family:Inter,sans-serif;font-weight:400;opacity:.7;transition:color .3s ease}.booking-section{background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:40px;margin-bottom:32px;box-shadow:0 4px 20px var(--shadow),0 1px 3px var(--shadow);border:1px solid var(--border-color);transition:all .3s ease}.booking-section.room-number-section-empty{margin-bottom:120px;padding-bottom:80px}[data-theme=dark] .booking-section{background:rgba(30,41,59,.9)}.booking-section:hover{box-shadow:0 8px 32px var(--shadow),0 2px 8px var(--shadow)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-title>div:first-child{display:flex;align-items:center;gap:12px;flex:1}.step-number{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;font-family:Inter,sans-serif;flex-shrink:0;box-shadow:0 4px 12px #ef444466,0 2px 4px #ef44444d,inset 0 1px #fff3;transition:all .3s ease}.section-title:hover .step-number{transform:scale(1.05) rotate(5deg);box-shadow:0 6px 20px #ef444480,0 4px 8px #ef444466,inset 0 1px #fff3}.section-title h2,.section-heading{font-size:18px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;letter-spacing:-.2px;transition:color .3s ease}.room-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.room-type-card-wrapper,.room-type-card-wrapper .ripple-container{width:100%;display:block}.room-type-card{border:2px solid var(--border-color);border-radius:16px;padding:16px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);background:var(--bg-secondary);box-shadow:0 2px 8px var(--shadow),0 1px 3px var(--shadow);position:relative;overflow:hidden}.room-type-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#EF4444 0%,#DC2626 100%);transform:scaleX(0);transition:transform .4s cubic-bezier(.4,0,.2,1)}.room-type-card:hover{border-color:#ef444480;transform:translateY(-4px);box-shadow:0 12px 32px #ef444433,0 4px 12px #ef444426,0 2px 4px #0000001a}.room-type-card:hover:before{transform:scaleX(1)}.room-type-card.selected{border-color:#ef4444;background:var(--bg-secondary);box-shadow:0 8px 24px #ef444440,0 4px 12px #ef444426;transform:translateY(-2px)}[data-theme=dark] .room-type-card.selected{background:rgba(239,68,68,.1)}.room-type-card.selected:before{transform:scaleX(1)}.room-type-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.room-type-info h3{font-size:16px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.2px;transition:color .3s ease;line-height:1.3}.room-description{font-size:12px;color:var(--text-secondary);font-family:Inter,sans-serif;transition:color .3s ease;line-height:1.4}.check-icon{color:#ef4444;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(239,68,68,.3));animation:checkPulse .5s ease;width:20px;height:20px}@keyframes checkPulse{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.room-type-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;margin-top:12px;border:none;transition:border-color .3s ease;box-shadow:none}.room-price{font-size:18px;font-weight:800;font-family:Inter,sans-serif;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px}.room-available{font-size:11px;color:#10b981;font-weight:500;font-family:Inter,sans-serif}.loading-message,.error-message{padding:24px;text-align:center;font-size:16px;font-family:Inter,sans-serif;border-radius:12px;margin:16px 0}.loading-message{color:var(--text-secondary);background:var(--bg-secondary)}.error-message{color:#ef4444;background:rgba(239,68,68,.1);border:2px solid rgba(239,68,68,.2)}.room-numbers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.room-number-ripple{overflow:hidden;border-radius:12px}.room-number-ripple .ripple-container{overflow:hidden;border-radius:12px;width:100%}.room-number-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:24px;border:2px solid var(--border-color);border-radius:16px;background:var(--bg-secondary);color:var(--text-primary);font-size:20px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;width:100%}.room-number-btn.unavailable,.room-number-btn:disabled{opacity:.5;cursor:not-allowed;background:rgba(107,114,128,.1)}.room-number-btn.unavailable:hover,.room-number-btn:disabled:hover{transform:none;border-color:var(--border-color)}.room-status-badge{font-size:10px;font-weight:600;text-transform:uppercase;color:#ef4444;padding:2px 6px;border-radius:4px;background:rgba(239,68,68,.1);box-shadow:0 2px 6px var(--shadow)}.room-number-btn span{display:block}.room-number-btn:hover{border-color:#ef444480;background:var(--bg-hover);transform:translateY(-2px);box-shadow:0 4px 12px #ef444426}.room-number-btn.selected{border-color:#ef4444;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;box-shadow:0 4px 16px #ef444466,0 2px 8px #ef44444d,inset 0 1px #fff3;transform:translateY(-2px)}.room-number-btn.selected svg{color:#fff}.calendar-container{background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:32px;border:1px solid var(--border-color);box-shadow:0 4px 16px var(--shadow);transition:background-color .3s ease,border-color .3s ease;position:relative}[data-theme=dark] .calendar-container{background:rgba(30,41,59,.8)}.calendar-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;animation:fadeIn .3s ease}[data-theme=dark] .calendar-loading-overlay{background:rgba(15,23,42,.95)}.calendar-loading-spinner{position:relative;width:60px;height:60px;margin-bottom:16px}.spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:#ef4444;border-radius:50%;animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring:nth-child(1){animation-delay:-.45s;border-top-color:#ef4444;opacity:1}.spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:#ef4444b3;opacity:.8}.spinner-ring:nth-child(3){animation-delay:-.15s;border-top-color:#ef444480;opacity:.6}.spinner-ring:nth-child(4){animation-delay:0s;border-top-color:#ef44444d;opacity:.4}.calendar-loading-text{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;letter-spacing:.3px}.calendar-content{transition:opacity .3s ease,filter .3s ease}.calendar-content.loading{opacity:.5;filter:blur(2px);pointer-events:none}.calendar-nav-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.calendar-nav-btn{width:44px;height:44px;border-radius:12px;border:2px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:20px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px var(--shadow)}.calendar-nav-btn:hover{border-color:#ef4444;color:#ef4444;background:var(--bg-hover);transform:scale(1.1);box-shadow:0 4px 12px #ef444433}.calendar-month{font-size:24px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;letter-spacing:-.3px;transition:color .3s ease}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:24px}.calendar-day-header{text-align:center;font-size:12px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-secondary);padding:8px;text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.calendar-day{aspect-ratio:1;border-radius:14px;border:2px solid transparent;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 1px 3px var(--shadow)}.calendar-day.empty{cursor:default;background-color:transparent}.calendar-day.past{background-color:var(--bg-hover);color:var(--text-tertiary);cursor:not-allowed;position:relative;overflow:hidden}.calendar-day.past:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(156,163,175,.3) 4px,rgba(156,163,175,.3) 8px),repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(156,163,175,.3) 4px,rgba(156,163,175,.3) 8px);pointer-events:none;z-index:1}.calendar-day.past span{position:relative;z-index:2}.calendar-day.available{border-color:#d1d5db}.calendar-day.available:hover:not(.selected){border-color:#ef444499;background:var(--bg-hover);transform:scale(1.08);box-shadow:0 4px 12px #ef444433,0 2px 6px #ef444426}.calendar-day.selected:hover{transform:none;background-color:#ef4444;border-color:#ef4444}.calendar-day.unavailable{background-color:#fee2e2;color:#991b1b;cursor:not-allowed;opacity:.6}.calendar-day.booked{background-color:#fef3c7;border-color:#f59e0b;cursor:not-allowed;padding:4px;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:80px}.calendar-day.booked:hover{transform:none;background-color:#fef3c7;border-color:#f59e0b}.calendar-day.in-cart{background-color:#ef44441a;border-color:#ef444466;cursor:not-allowed;position:relative}.calendar-day.in-cart:hover{transform:none;background-color:#ef444426;border-color:#ef444480}.date-cart-icon{position:absolute;top:4px;right:4px;color:#ef4444;z-index:2}.date-number{font-weight:600;margin-bottom:4px}.booked-info{width:100%;font-size:10px;line-height:1.3;margin-top:4px}.booked-customer{font-weight:600;color:#92400e;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Inter,sans-serif}.booked-id{font-weight:500;color:#78350f;font-size:9px;font-family:Inter,sans-serif}.calendar-day.selected{background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;border-color:#ef4444;box-shadow:0 6px 20px #ef444466,0 4px 12px #ef44444d,inset 0 1px #fff3;transform:scale(1.05)}.calendar-day.selected span{font-weight:700}.date-check-icon{position:absolute;top:4px;right:4px;color:#fff}.date-x-icon{position:absolute;top:4px;right:4px;color:#dc2626}.calendar-legend{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;font-family:Inter,sans-serif;color:var(--text-secondary);transition:color .3s ease}.legend-color{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-color);transition:border-color .3s ease}.legend-color.available{background-color:var(--bg-secondary);border-color:var(--border-hover)}.legend-color.unavailable{background-color:#fee2e2;border-color:#dc2626}.legend-color.past{background-color:var(--bg-hover);border-color:var(--border-hover)}.legend-color.booked{background-color:#fef3c7;border-color:#f59e0b}.booking-summary{background:var(--bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:40px;border:2px solid rgba(239,68,68,.3);box-shadow:0 12px 40px #ef444433,0 4px 16px #ef444426;margin-bottom:48px;position:relative;overflow:hidden;transition:background-color .3s ease;display:flex;flex-direction:column}[data-theme=dark] .booking-summary{background:rgba(30,41,59,.95)}.booking-summary:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#EF4444 0%,#DC2626 50%,#EF4444 100%);background-size:200% 100%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.summary-header{margin-bottom:24px}.summary-header h3{font-size:24px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;transition:color .3s ease}.summary-content{margin-bottom:24px}.booking-summary>.ripple-wrapper,.booking-summary>button{align-self:flex-start;margin-top:8px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color);transition:border-color .3s ease}.summary-row.total{border-bottom:none;padding-top:16px;margin-top:8px;border-top:2px solid var(--border-color)}.summary-label{font-size:14px;color:var(--text-secondary);font-family:Inter,sans-serif;transition:color .3s ease}.summary-row.total .summary-value{font-size:20px;font-weight:700;color:#ef4444}.summary-row.dates-list,.summary-row.rooms-list{flex-direction:column;align-items:flex-start;gap:8px}.rooms-container{display:flex;flex-wrap:wrap;gap:8px;width:100%}.room-item{padding:8px 16px;background:var(--bg-secondary);border:2px solid rgba(239,68,68,.3);border-radius:12px;font-size:14px;font-weight:600;color:#ef4444;font-family:Inter,sans-serif;box-shadow:0 2px 6px #ef44441a;transition:all .2s ease}[data-theme=dark] .room-item{background:rgba(239,68,68,.1)}.room-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444433;border-color:#ef444480}.dates-container{display:flex;flex-wrap:wrap;gap:8px;width:100%}.date-item{padding:8px 16px;background:var(--bg-secondary);border:2px solid rgba(239,68,68,.3);border-radius:12px;font-size:13px;font-weight:600;color:#ef4444;font-family:Inter,sans-serif;box-shadow:0 2px 6px #ef44441a;transition:all .2s ease}[data-theme=dark] .date-item{background:rgba(239,68,68,.1)}.date-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444433;border-color:#ef444480}.price-breakdown{font-size:14px;font-weight:400;color:var(--text-secondary);transition:color .3s ease}.cart-toggle-btn{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:28px;background:#EF4444;border:3px solid white;color:#fff;cursor:pointer;box-shadow:0 4px 16px #ef444466,0 2px 8px #ef44444d,0 0 0 2px #ef44441a;display:flex;align-items:center;justify-content:center;z-index:1000;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0}.cart-toggle-btn:hover{transform:scale(1.08);box-shadow:0 6px 20px #ef444480,0 4px 12px #ef444466,0 0 0 3px #ef444426;background:#DC2626}.cart-badge{position:absolute;top:-6px;right:-6px;background:white;color:#ef4444;border-radius:12px;min-width:20px;height:20px;padding:0 6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid #EF4444;z-index:1;box-shadow:0 2px 4px #0000001a}.cart-icon{color:#fff;z-index:0}.booking-cart-toast{position:fixed;bottom:90px;right:24px;width:360px;max-height:calc(100vh - 120px);background:var(--bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:2px solid rgba(239,68,68,.3);box-shadow:0 12px 40px #00000040,0 4px 16px #ef444433,0 0 0 1px #ef44441a;z-index:999;display:flex;flex-direction:column;opacity:0;transform:translateY(20px) scale(.95);pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.cart-summary-items{display:flex;flex-direction:column;gap:12px}.cart-summary-footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:10px}.booking-cart-toast.open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}[data-theme=dark] .booking-cart-toast{background:rgba(30,41,59,.98);border-color:#ef444466}.cart-toast-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(220,38,38,.05) 100%)}.cart-toast-title{display:flex;align-items:center;gap:8px}.cart-toast-title svg{color:#ef4444}.cart-toast-header h3{font-size:16px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin:0}.cart-toast-close{width:24px;height:24px;border-radius:6px;border:none;background:rgba(239,68,68,.1);color:#ef4444;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.cart-toast-close:hover{background:rgba(239,68,68,.2);transform:scale(1.1)}.cart-toast-items{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 280px)}.cart-toast-items::-webkit-scrollbar{width:4px}.cart-toast-items::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:2px}.cart-toast-items::-webkit-scrollbar-thumb{background:rgba(239,68,68,.3);border-radius:2px}.cart-toast-items::-webkit-scrollbar-thumb:hover{background:rgba(239,68,68,.5)}.cart-toast-empty{padding:24px;text-align:center;color:var(--text-secondary);font-size:14px;font-family:Inter,sans-serif}.cart-toast-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;padding:10px;transition:all .2s ease}.cart-toast-item:hover{border-color:#ef444466;box-shadow:0 2px 6px #ef44441a}.cart-toast-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cart-toast-item-title-section{display:flex;flex-direction:column;gap:4px;flex:1}.cart-toast-item-header h4{font-size:14px;font-weight:700;color:var(--text-primary);font-family:Inter,sans-serif;margin:0}.editing-badge{display:inline-flex;align-self:flex-start;width:fit-content;font-size:10px;font-weight:600;color:#ef4444;background:rgba(239,68,68,.1);padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;font-family:Inter,sans-serif}.cart-toast-item.editing{border-color:#ef4444;background:rgba(239,68,68,.05);box-shadow:0 2px 8px #ef444433}.cart-toast-item-remove{width:20px;height:20px;border-radius:4px;border:none;background:rgba(239,68,68,.1);color:#ef4444;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.cart-toast-item-remove:hover{background:rgba(239,68,68,.2)}.cart-panel-item-actions{display:flex;gap:6px}.cart-panel-edit-btn,.cart-panel-remove-btn{width:24px;height:24px;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.cart-panel-edit-btn{background:rgba(59,130,246,.1);color:#3b82f6}.cart-panel-edit-btn:hover{background:rgba(59,130,246,.2)}.cart-panel-remove-btn{background:rgba(239,68,68,.1);color:#ef4444}.cart-panel-remove-btn:hover{background:rgba(239,68,68,.2)}.cart-toast-item-details{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.cart-toast-detail-row{display:flex;justify-content:space-between;align-items:flex-start;font-size:12px;line-height:1.4}.cart-toast-detail-row.total{border-top:1px solid var(--border-color);padding-top:6px;margin-top:4px}.cart-toast-label{color:var(--text-secondary);font-weight:500;flex-shrink:0;margin-right:8px;font-size:11px}.cart-toast-value{color:var(--text-primary);font-weight:600;text-align:right;word-break:break-word;font-size:11px}.cart-toast-value-small{color:var(--text-secondary);font-weight:500;text-align:right;word-break:break-word;font-size:10px}.cart-toast-price{color:#ef4444;font-weight:700;font-size:13px}.cart-toast-item-edit{width:100%;padding:6px 10px;background:rgba(59,130,246,.1);color:#3b82f6;border:1px solid rgba(59,130,246,.2);border-radius:6px;font-size:11px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.cart-toast-item-edit:hover:not(:disabled){background:rgba(59,130,246,.2);border-color:#3b82f64d}.cart-toast-item-edit:disabled{opacity:.5;cursor:not-allowed;background:rgba(239,68,68,.1);color:#ef4444;border-color:#ef444433}.cart-toast-item-remove:disabled{opacity:.5;cursor:not-allowed}.cart-toast-footer{padding:12px 16px;border-top:1px solid var(--border-color);background:linear-gradient(135deg,rgba(239,68,68,.05) 0%,rgba(220,38,38,.02) 100%);display:flex;flex-direction:column;gap:10px}.cart-toast-total{display:flex;justify-content:space-between;align-items:center}.cart-toast-total-label{font-size:14px;font-weight:600;color:var(--text-primary);font-family:Inter,sans-serif}.cart-toast-total-price{font-size:18px;font-weight:700;color:#ef4444;font-family:Inter,sans-serif}.cart-toast-checkout{width:100%;padding:10px 16px;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 10px #ef44444d,0 2px 4px #ef444433}.cart-toast-checkout:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444466,0 3px 6px #ef44444d}.room-status-badge{font-size:10px;padding:2px 6px;border-radius:4px;background:rgba(16,185,129,.2);color:#10b981;font-weight:600;margin-left:4px}@media (max-width: 768px){.booking-cart-toast{width:calc(100vw - 48px);right:24px;bottom:90px;max-height:calc(100vh - 120px)}.cart-toggle-btn{bottom:20px;right:20px;width:52px;height:52px}}.cancel-edit-btn{padding:8px 16px;background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s ease}.cancel-edit-btn:hover{background:rgba(239,68,68,.2);border-color:#ef444480}.booking-actions{display:flex;gap:12px;align-items:center;margin-top:20px}.booking-action-buttons{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:24px}@media (max-width: 768px){.cart-footer{flex-direction:column;align-items:stretch}.checkout-btn{width:100%}.cart-total{justify-content:space-between}}.add-to-cart-btn,.update-cart-btn{width:auto;min-width:180px;padding:12px 24px;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #ef444466,0 2px 6px #ef44444d,inset 0 1px #fff3;letter-spacing:.2px;position:relative;overflow:hidden;align-self:flex-start}.update-cart-btn{background:linear-gradient(135deg,#3B82F6 0%,#2563EB 100%);box-shadow:0 4px 12px #3b82f666,0 2px 6px #3b82f64d,inset 0 1px #fff3}.add-to-cart-btn:hover,.update-cart-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ef444480,0 4px 8px #ef444466,inset 0 1px #fff3}.update-cart-btn:hover{box-shadow:0 6px 16px #3b82f680,0 4px 8px #3b82f666,inset 0 1px #fff3}.add-to-cart-btn.clicked,.update-cart-btn.clicked{transform:scale(.98);box-shadow:0 2px 6px #ef44444d,inset 0 2px 4px #0000001a}.confirm-booking-btn{width:auto;min-width:180px;padding:12px 24px;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #ef444466,0 2px 6px #ef44444d,inset 0 1px #fff3;letter-spacing:.2px;position:relative;overflow:hidden;align-self:flex-start}.confirm-booking-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.confirm-booking-btn:hover{background:linear-gradient(135deg,#DC2626 0%,#B91C1C 100%);transform:translateY(-2px);box-shadow:0 6px 16px #ef444480,0 4px 8px #ef444466,inset 0 1px #ffffff4d}.confirm-booking-btn:hover:before{left:100%}.confirm-booking-btn:active{transform:translateY(0) scale(.98)}.confirm-booking-btn.clicked{animation:buttonClickPulse .6s cubic-bezier(.4,0,.2,1)}@keyframes buttonClickPulse{0%{transform:scale(1)}50%{transform:scale(.95);box-shadow:0 8px 24px #ef444499,0 4px 16px #ef444480}to{transform:scale(1)}}@media (max-width: 768px){.booking-page{padding:16px}.booking-header h1{font-size:24px}.section-title h2,.section-heading{font-size:16px}.step-number{width:32px;height:32px;font-size:14px}.booking-section{padding:20px}.room-types-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.room-type-card{padding:14px}.room-type-info h3{font-size:15px;margin-bottom:4px}.room-description{font-size:11px}.room-price{font-size:16px}.room-available{font-size:10px}.check-icon{width:18px;height:18px}.room-numbers-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.calendar-container{padding:20px;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(239,68,68,.5) transparent}.calendar-container::-webkit-scrollbar{height:8px}.calendar-container::-webkit-scrollbar-track{background:transparent}.calendar-container::-webkit-scrollbar-thumb{background:linear-gradient(90deg,rgba(239,68,68,.3) 0%,rgba(239,68,68,.5) 100%);border-radius:10px;border:2px solid transparent;background-clip:padding-box}.calendar-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,rgba(239,68,68,.5) 0%,rgba(239,68,68,.7) 100%);background-clip:padding-box}.calendar-content{min-width:600px}.calendar-grid{gap:4px;min-width:600px}.calendar-day{font-size:12px;min-width:0}.calendar-day-header{font-size:10px;padding:6px 4px;min-width:0}.calendar-header{min-width:600px}.calendar-month{font-size:20px}.calendar-nav-btn{width:36px;height:36px;font-size:18px}}@media (max-width: 480px){.booking-page{padding:12px}.booking-header h1{font-size:20px}.section-title h2,.section-heading{font-size:14px}.step-number{width:28px;height:28px;font-size:12px}.booking-section{padding:16px}.room-types-grid{grid-template-columns:1fr;gap:10px}.room-type-card{padding:12px}.room-type-info h3{font-size:14px}.room-description{font-size:10px}.room-price{font-size:15px}.room-available{font-size:9px}.calendar-container{padding:16px}.calendar-content{min-width:500px}.calendar-grid{min-width:500px;gap:3px}.calendar-header{min-width:500px}.calendar-day{font-size:11px;border-radius:10px}.calendar-day-header{font-size:9px;padding:5px 3px}.calendar-month{font-size:18px}.calendar-nav-btn{width:32px;height:32px;font-size:16px}}.booking-loading-container{display:flex;flex-direction:column;padding:24px 0;min-height:300px}.booking-skeleton{width:100%;animation:skeletonFadeIn .8s cubic-bezier(.4,0,.2,1)}.skeleton-room-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.skeleton-room-type-card{background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(255,255,255,.02) 100%);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:0 8px 32px #0000001f;position:relative;overflow:hidden}.skeleton-room-type-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:sweep 3s ease-in-out infinite}.skeleton-room-type-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:12px}.skeleton-room-type-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.skeleton-line{height:16px;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;border-radius:6px;animation:shimmer 2.2s ease-in-out infinite;animation-delay:.2s}.skeleton-line.title{height:20px;width:70%;flex:1}.skeleton-line.medium{height:14px;width:100%;margin-top:8px}.skeleton-line.short{width:100px;height:16px}.skeleton-line.very-short{width:80px;height:14px}.skeleton-room-numbers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px}.skeleton-room-number-btn{height:60px;background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,rgba(239,68,68,.28) 50%,rgba(239,68,68,.12) 100%);background-size:200% 100%;border-radius:12px;animation:shimmer 2.2s ease-in-out infinite;animation-delay:.3s;border:1px solid rgba(255,255,255,.1)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes skeletonFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes sweep{0%{left:-100%}50%{left:100%}to{left:100%}}.customer-details-form-page{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-tertiary);animation:slideInRight .4s cubic-bezier(.4,0,.2,1);transition:background-color .3s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.customer-form-container{max-width:1000px;margin:0 auto}.form-header{margin-bottom:32px}.form-header h1{font-size:36px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.3px;transition:color .3s ease}.form-header .subtitle{font-size:15px;color:var(--text-secondary);font-family:Inter,sans-serif;transition:color .3s ease}.back-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(239,68,68,.1) 100%);border:2px solid rgba(239,68,68,.2);border-radius:12px;color:var(--text-primary);font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px var(--shadow);margin-bottom:24px}.back-button:hover{border-color:#ef4444;color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,var(--bg-secondary) 100%);transform:translate(-4px);box-shadow:0 4px 16px #ef444433}.booking-summary-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:20px;margin-bottom:32px;box-shadow:0 2px 8px var(--shadow);transition:all .3s ease}.summary-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--border-color)}.summary-card-header h3{font-size:18px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;transition:color .3s ease}.summary-badge{background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700;font-family:Inter,sans-serif}.summary-card-content{display:flex;flex-direction:column;gap:12px}.booking-chart-container{margin-bottom:20px;overflow-x:auto}.booking-chart-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-primary);border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.chart-header{display:grid;grid-template-columns:2fr 1.5fr 2fr 1fr;background:var(--bg-primary);border-bottom:2px solid var(--border-color)}.chart-header .chart-col{background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(220,38,38,.1) 100%);padding:12px 16px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary);font-family:Inter,sans-serif;border-right:1px solid var(--border-color);display:flex;align-items:center}.chart-header .chart-col:last-child{border-right:none}.chart-body{display:flex;flex-direction:column}.chart-row{display:grid;grid-template-columns:2fr 1.5fr 2fr 1fr;background:var(--bg-primary);border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.chart-col{padding:12px 16px;background:transparent;font-size:14px;color:var(--text-primary);font-family:Inter,sans-serif;display:flex;align-items:center;border-right:1px solid var(--border-color)}.chart-row .chart-col:last-child{border-right:none}.chart-col.room-type-col{font-weight:600}.chart-col.room-number-col{font-weight:600;color:#ef4444}.chart-col.date-col{color:var(--text-secondary)}.chart-col.price-col{font-weight:600;color:#10b981;justify-content:flex-end}.room-type-badge{display:inline-block;padding:4px 10px;background:rgba(239,68,68,.1);border-radius:6px;font-size:13px;font-weight:600;color:#ef4444}.room-number-badge{display:inline-block;padding:4px 10px;background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);border-radius:6px;font-size:13px;font-weight:700;color:#ef4444}.date-badge{display:inline-block;padding:4px 10px;background:var(--bg-secondary);border-radius:6px;font-size:13px;color:var(--text-primary)}.price-value{font-size:14px;font-weight:700;color:#10b981}@media (max-width: 768px){.chart-header,.chart-row{grid-template-columns:1.5fr 1fr 1.5fr 1fr;font-size:12px}.chart-col{padding:10px 12px;font-size:12px}.booking-chart-container{overflow-x:scroll}.chart-header .chart-col,.chart-col{min-width:100px}}.booking-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.booking-item-card{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;padding:16px;transition:all .3s ease;display:flex;flex-direction:column;gap:12px}.booking-item-card:hover{border-color:#ef444466;box-shadow:0 4px 12px #ef44441a;transform:translateY(-2px)}.booking-item-card.single-booking{max-width:100%}.booking-card-header{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.booking-card-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(220,38,38,.1) 100%);display:flex;align-items:center;justify-content:center;color:#ef4444;flex-shrink:0}.booking-card-title{font-size:16px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;flex:1}.booking-card-body{display:flex;flex-direction:column;gap:8px}.booking-card-detail{display:flex;align-items:center;gap:8px;font-size:13px}.detail-icon{color:var(--text-secondary);flex-shrink:0}.detail-label{color:var(--text-secondary);font-weight:500;min-width:50px}.detail-value{color:var(--text-primary);font-weight:600;margin-left:auto}.booking-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding-top:8px;border-top:1px solid var(--border-color);margin-top:auto}.price-icon{color:#10b981}.booking-card-price{font-size:18px;font-weight:700;font-family:Inter,sans-serif;color:#10b981}.services-summary-section{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:16px;margin-top:16px;margin-bottom:8px}.services-summary-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.services-summary-header h4{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.services-summary-header svg{color:#ef4444}.services-summary-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.service-summary-item{display:flex;justify-content:space-between;align-items:flex-start;padding:12px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;gap:16px}.service-summary-info{display:flex;flex-direction:column;gap:4px;flex:1}.service-summary-name{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.custom-badge-small{padding:2px 6px;background-color:#ef44441a;color:#ef4444;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.service-summary-description{font-size:12px;color:var(--text-secondary);line-height:1.4}.service-summary-unit{font-size:11px;color:var(--text-tertiary);font-style:italic}.service-summary-details{display:flex;align-items:center;gap:12px;flex-shrink:0}.service-summary-qty,.service-summary-price{font-size:13px;color:var(--text-secondary);font-weight:500}.service-summary-subtotal{font-size:14px;font-weight:600;color:var(--text-primary);min-width:70px;text-align:right}.services-summary-total{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:2px solid var(--border-color)}.services-total-label{font-size:14px;font-weight:600;color:var(--text-primary)}.services-total-value{font-size:16px;font-weight:700;color:#ef4444}.booking-total-card{background:linear-gradient(135deg,rgba(239,68,68,.05) 0%,rgba(220,38,38,.05) 100%);border:2px solid rgba(239,68,68,.2);border-radius:12px;padding:16px;margin-top:8px}.total-content{display:flex;align-items:center;gap:12px}.total-icon{color:#ef4444;flex-shrink:0}.total-info{display:flex;flex-direction:column;gap:4px;flex:1}.total-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.total-value{font-size:24px;font-weight:700;font-family:Inter,sans-serif;color:#ef4444}.total-content.capacity-info{margin-top:12px;padding-top:12px;border-top:1px solid rgba(239,68,68,.2)}.total-content.capacity-info .total-icon{color:#3b82f6}.total-content.capacity-info .total-value{color:#3b82f6;font-size:20px}.booking-card-capacity{display:flex;align-items:center;gap:6px;padding-top:8px;margin-top:8px;border-top:1px solid var(--border-color);font-size:13px}.capacity-icon{color:#3b82f6;flex-shrink:0}.capacity-text{color:var(--text-secondary);font-weight:500}.summary-label{font-size:12px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.summary-item.total .summary-value{font-size:24px;color:#ef4444}.customer-form{display:flex;flex-direction:column;gap:32px;padding-bottom:64px}.form-section{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:32px;box-shadow:0 2px 8px var(--shadow);transition:all .3s ease}.section-title{display:flex;align-items:center;gap:16px;margin-bottom:24px}.section-number{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;font-family:Inter,sans-serif;flex-shrink:0}.section-title h2{font-size:24px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;transition:color .3s ease}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:14px;font-weight:500;color:var(--text-primary);font-family:Inter,sans-serif;transition:color .3s ease}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-family:Inter,sans-serif;color:var(--text-primary);background-color:var(--bg-secondary);transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-placeholder)}.form-group textarea{resize:vertical;min-height:100px}.form-group input.input-warning{border-color:#f59e0b;background-color:#f59e0b0d}.form-group input.input-warning:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.warning-message{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background-color:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:6px;margin-top:4px;font-size:13px;line-height:1.5}.warning-icon{font-size:16px;flex-shrink:0;margin-top:1px}.warning-text{color:#92400e;font-weight:500;flex:1}.upload-area{position:relative;border:2px dashed var(--border-color);border-radius:12px;padding:48px;text-align:center;transition:all .3s ease;background-color:var(--bg-tertiary)}.upload-area:hover{border-color:#ef4444;background-color:var(--bg-hover)}.file-input{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;cursor:pointer}.upload-label{display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;color:var(--text-secondary);transition:color .3s ease}.upload-label svg{color:#ef4444}.upload-hint{font-size:12px;color:var(--text-tertiary);transition:color .3s ease}.uploaded-documents{display:flex;flex-direction:column;gap:12px;margin-top:20px}.document-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;transition:all .3s ease}.document-info{display:flex;align-items:center;gap:12px;flex:1}.document-icon{color:#10b981;flex-shrink:0}.document-details{display:flex;flex-direction:column;gap:4px}.document-name{font-size:14px;font-weight:500;color:var(--text-primary);font-family:Inter,sans-serif;transition:color .3s ease}.document-size{font-size:12px;color:var(--text-secondary);transition:color .3s ease}.remove-document-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.remove-document-btn:hover{color:#ef4444;background-color:var(--bg-hover)}.form-actions{margin-top:8px;margin-bottom:48px;padding-bottom:32px;display:flex;justify-content:flex-start}.submit-btn{width:auto;min-width:200px;padding:12px 24px;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #ef444466,0 2px 6px #ef44444d,inset 0 1px #fff3;letter-spacing:.2px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;align-self:flex-start}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#DC2626 0%,#B91C1C 100%);transform:translateY(-2px);box-shadow:0 6px 16px #ef444480,0 4px 8px #ef444466,inset 0 1px #fff3}.submit-btn svg{transition:transform .3s ease}.submit-btn:hover:not(:disabled) svg{transform:translate(4px)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.customer-details-form-page{padding:16px}.form-grid{grid-template-columns:1fr}.form-section{padding:20px}.summary-card-content,.booking-cards-grid{grid-template-columns:1fr}.booking-item-card{padding:12px}.booking-card-header{gap:8px}.booking-card-icon{width:32px;height:32px}.booking-card-title{font-size:14px}.total-value{font-size:20px}}.view-invoice-page{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease}.invoice-container{max-width:900px;margin:0 auto}.invoice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.export-pdf-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#ef4444;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.export-pdf-btn:hover{background-color:#dc2626}.invoice-content{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:48px;box-shadow:0 4px 20px var(--shadow);transition:all .3s ease}.invoice-header-section{margin-bottom:40px;padding-bottom:24px;border-bottom:2px solid var(--border-color)}.invoice-title h1{font-size:36px;font-weight:700;color:#ef4444;margin-bottom:24px;font-family:Inter,sans-serif}.invoice-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.meta-value{font-size:16px;color:var(--text-primary);font-weight:600}.status-badge{display:inline-block;padding:4px 12px;border-radius:6px;font-size:14px;font-weight:500}.status-badge.paid{background-color:#10b9811a;color:#10b981}.status-badge.overdue{background-color:#ef44441a;color:#ef4444}.status-badge.cancelled{background-color:#6b72801a;color:#6b7280}.status-badge.refunded{background-color:#6b72801a;color:#6b7280}.invoice-loading,.invoice-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;min-height:400px;gap:16px}.payment-history-section{margin-top:32px;padding-top:32px;border-top:1px solid var(--border-color)}.payment-history-section h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:20px;font-family:Inter,sans-serif}.payment-history-item{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:16px;transition:all .3s ease}.payment-history-item:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.payment-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.payment-amount.refunded{color:#fbbf24}.payment-date{font-size:13px;color:var(--text-secondary)}.payment-history-details{display:flex;gap:16px;font-size:13px;color:var(--text-secondary)}.payment-method{font-weight:500;color:var(--text-primary)}.payment-ref{color:var(--text-tertiary)}.payment-notes{margin-top:8px;font-size:12px;color:var(--text-secondary);font-style:italic;padding-top:8px;border-top:1px solid var(--border-color)}.invoice-body{display:flex;flex-direction:column;gap:32px}.customer-section h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px;font-family:Inter,sans-serif}.customer-info{display:flex;flex-direction:column;gap:8px}.customer-info p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.6}.customer-name{font-weight:600;color:var(--text-primary);font-size:16px}.items-section{margin-top:8px}.invoice-table{width:100%;border-collapse:collapse;margin-top:16px}.invoice-table thead{background-color:var(--bg-tertiary)}.invoice-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:2px solid var(--border-color)}.invoice-table th.text-right{text-align:right}.invoice-table td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:14px}.invoice-table td.text-right{text-align:right}.invoice-table tbody tr:hover{background-color:var(--bg-hover)}.invoice-table tfoot{border-top:2px solid var(--border-color)}.invoice-table tfoot td{padding:12px 16px;font-weight:500}.total-row td{font-weight:700;font-size:16px;padding-top:16px}.total-amount{color:#ef4444;font-size:20px}.payment-section h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px;font-family:Inter,sans-serif}.payment-info{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-color)}.info-row:last-child{border-bottom:none}.info-label{font-size:14px;color:var(--text-secondary);font-weight:500}.info-value{font-size:14px;color:var(--text-primary);font-weight:600}.invoice-footer{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-color);text-align:center}.invoice-footer p{font-size:16px;color:var(--text-secondary);font-style:italic;margin:0}@media (max-width: 768px){.view-invoice-page{padding:16px}.invoice-content{padding:24px}.invoice-meta{grid-template-columns:1fr}.invoice-table{font-size:12px}.invoice-table th,.invoice-table td{padding:8px}}.view-booking-details-page{flex:1;overflow-y:auto;overflow-x:hidden;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease;height:100%;display:flex;flex-direction:column}.booking-details-container{max-width:1200px;margin:0 auto}.booking-details-header{display:flex;align-items:center;gap:24px;margin-bottom:32px;position:relative;flex-wrap:wrap}.booking-details-header>.ripple-container{display:flex;align-items:center;flex-shrink:0}.booking-details-header .action-btn-icon{position:relative;margin:0;flex-shrink:0}.booking-details-header .actions-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto;flex-shrink:0}.undo-cancellation-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.undo-cancellation-btn:hover{background-color:var(--bg-hover);border-color:#10b981;color:#10b981}.header-title{display:flex;align-items:center;gap:16px;flex:1}.header-title h1{font-size:28px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;transition:color .3s ease}.back-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.back-button:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.status-badge-large{display:inline-flex;align-items:center;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;font-family:Inter,sans-serif}.status-badge-large.pending{background-color:#f59e0b1a;color:#f59e0b}.status-badge-large.confirmed{background-color:#10b9811a;color:#10b981}.status-badge-large.cancelled{background-color:#ef44441a;color:#ef4444}.status-badge-large.completed{background-color:#6b72801a;color:#6b7280}.action-btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:0;width:44px;height:44px;min-width:44px;padding:0;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;font-family:inherit;flex-shrink:0;position:relative;overflow:visible;isolation:isolate;backface-visibility:hidden;-webkit-font-smoothing:antialiased;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.action-btn-icon>*{pointer-events:none;flex-shrink:0}.action-btn-icon:hover:not(:disabled),.action-btn-icon:focus:not(:disabled),.action-btn-icon:focus-visible:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px #0000001f;z-index:9998;outline:none}.action-btn-icon:disabled{opacity:.6;cursor:not-allowed}.action-btn-icon.primary{background-color:#ef4444;border-color:#ef4444;color:#fff}.action-btn-icon.primary:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626;box-shadow:0 8px 20px #ef444459}.action-btn-icon.danger{background-color:#ef44441a;border-color:#ef44444d;color:#ef4444}.action-btn-icon.danger:hover:not(:disabled){background-color:#ef444433;border-color:#ef4444;box-shadow:0 8px 16px #ef444440}.action-btn-label{display:none}.action-btn-icon:after{content:attr(title);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);padding:6px 12px;background-color:#000000e6;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:9999;font-family:Inter,sans-serif;box-shadow:0 4px 12px #0000004d;will-change:opacity,transform}.action-btn-icon:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid rgba(0,0,0,.9);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform:translate(-50%) translateY(-4px);z-index:10000}.action-btn-icon:hover:not(:disabled):after,.action-btn-icon:focus:not(:disabled):after,.action-btn-icon:focus-visible:not(:disabled):after{opacity:1;transform:translate(-50%) translateY(0)}.action-btn-icon:hover:not(:disabled):before,.action-btn-icon:focus:not(:disabled):before,.action-btn-icon:focus-visible:not(:disabled):before{opacity:1;transform:translate(-50%) translateY(0)}.action-divider{width:1px;height:32px;background-color:var(--border-color);margin:0 4px;flex-shrink:0}.booking-details-content{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 1024px){.booking-details-content{grid-template-columns:1fr}}.details-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.details-card:hover{box-shadow:0 4px 16px #0000001a}.booking-details-full-width{grid-column:1 / -1;width:100%}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border-color);background-color:var(--bg-tertiary);transition:background-color .3s ease,border-color .3s ease;text-align:left}.card-header-left{display:flex;align-items:center;gap:12px;flex:1}.card-header-actions{display:flex;align-items:center;gap:8px}.card-header svg{color:#ef4444;flex-shrink:0}.card-header h2{font-size:18px;font-weight:600;font-family:Inter,sans-serif;color:var(--text-primary);margin:0;transition:color .3s ease}.download-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.download-btn:hover{background-color:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.download-btn svg{color:inherit}.card-content{padding:24px;text-align:left}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;text-align:left}.info-item{display:flex;flex-direction:column;gap:6px;text-align:left;align-items:flex-start}.info-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.info-value{font-size:15px;font-weight:600;color:var(--text-primary);font-family:Inter,sans-serif;transition:color .3s ease;display:flex;align-items:center}.info-value.highlight{color:#ef4444;font-size:18px}.room-info-card-redesigned{overflow:hidden;padding:0;border-radius:20px;background:var(--bg-secondary);border:1px solid var(--border-color);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000d}.room-info-card-redesigned:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001f;border-color:#ef444433}.room-info-image-header{position:relative;width:100%;min-height:500px;overflow:hidden;background:linear-gradient(135deg,var(--bg-hover) 0%,rgba(239,68,68,.05) 100%);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000;display:flex;align-items:stretch}.room-info-image-header img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.4,0,.2,1);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:high-quality;position:absolute;top:0;left:0;right:0;bottom:0}.room-info-card-redesigned:hover .room-info-image-header img{transform:scale(1.08)}.room-info-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.7) 70%,rgba(255,255,255,.95) 100%);pointer-events:none;z-index:1}[data-theme=dark] .room-info-image-overlay{background:linear-gradient(to bottom,rgba(0,0,0,.2) 0%,rgba(0,0,0,.3) 30%,rgba(0,0,0,.5) 60%,rgba(0,0,0,.75) 100%)}.room-info-image-content{position:absolute;bottom:0;left:0;right:0;padding:40px;z-index:2;pointer-events:auto;display:flex;flex-direction:column;gap:24px}.room-info-header-section{display:flex;flex-direction:column;gap:16px}.room-info-type-name{font-size:36px;font-weight:700;color:#1f2937;margin:0;text-shadow:0 1px 3px rgba(255,255,255,.8);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif;letter-spacing:-.02em;line-height:1.2}[data-theme=dark] .room-info-type-name{color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.6)}.room-info-rooms-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;background-color:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:25px;font-size:14px;font-weight:600;color:#1f2937;box-shadow:0 8px 24px #0003,0 0 0 1px #ffffff1a inset;transition:all .3s cubic-bezier(.4,0,.2,1);width:fit-content}.room-info-card-redesigned:hover .room-info-rooms-badge{transform:translateY(-2px);box-shadow:0 12px 32px #00000040,0 0 0 1px #ffffff26 inset}.room-info-rooms-badge svg{color:#ef4444;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.room-info-details-overlay{display:flex;flex-direction:column;gap:20px;margin-top:8px}.room-info-rooms-section-overlay{display:flex;flex-direction:column;gap:12px}.info-label-overlay{font-size:12px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.rooms-list-overlay{display:flex;flex-wrap:wrap;gap:8px}.room-badge-overlay{display:inline-flex;align-items:center;padding:8px 16px;background-color:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:20px;font-size:13px;font-weight:600;color:#1f2937;box-shadow:0 4px 12px #00000040,0 0 0 1px #ffffff1a inset;transition:all .2s ease}.room-badge-overlay:hover{background-color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #0000004d,0 0 0 1px #ffffff26 inset}.room-info-price-section-overlay{display:flex;flex-direction:column;gap:8px;padding:16px 20px;background-color:#ffffffe6;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:16px;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 16px #0000001a}.room-info-price-section-overlay .info-label-overlay{color:#1f2937;text-shadow:none}[data-theme=dark] .room-info-price-section-overlay{background-color:#ffffffe6;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 16px #0000001a}[data-theme=dark] .room-info-price-section-overlay .info-label-overlay{color:#1f2937;text-shadow:none}.info-value-overlay{font-size:24px;font-weight:700;color:#1f2937;text-shadow:0 1px 2px rgba(255,255,255,.8);font-family:Inter,sans-serif}[data-theme=dark] .info-value-overlay{color:#1f2937;text-shadow:0 1px 2px rgba(255,255,255,.8)}.info-value-overlay.highlight{color:#ef4444;text-shadow:0 2px 12px rgba(239,68,68,.4)}.room-info-features-section-overlay{display:flex;flex-direction:column;gap:12px}.features-list-overlay{display:flex;flex-wrap:wrap;gap:8px}.feature-tag-overlay{padding:6px 14px;background-color:#ffffffe6;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:20px;font-size:12px;font-weight:500;color:#1f2937;box-shadow:0 4px 12px #0003,0 0 0 1px #ffffff1a inset;transition:all .2s ease}.feature-tag-overlay:hover{background-color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #00000040,0 0 0 1px #ffffff26 inset}.room-info-image-gradient{position:absolute;bottom:0;left:0;right:0;height:100%;background:linear-gradient(to top,rgba(255,255,255,.95) 0%,rgba(255,255,255,.8) 40%,rgba(255,255,255,.5) 70%,rgba(255,255,255,.2) 85%,rgba(255,255,255,0) 100%);pointer-events:none;z-index:0}[data-theme=dark] .room-info-image-gradient{background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.7) 40%,rgba(0,0,0,.5) 70%,rgba(0,0,0,.3) 85%,rgba(0,0,0,0) 100%)}.room-info-content-section{display:flex;flex-direction:column;gap:24px}.room-info-main-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.room-info-rooms-section{display:flex;flex-direction:column;gap:12px}.room-info-price-section{display:flex;flex-direction:column;gap:8px;text-align:right}.room-info-features-section{display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:1px solid var(--border-color)}.features-list{display:flex;flex-wrap:wrap;gap:8px}.feature-tag{padding:6px 14px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-primary);transition:all .2s ease}.feature-tag:hover{background-color:var(--bg-hover);border-color:#ef4444;transform:translateY(-1px)}@media (max-width: 768px){.room-info-image-header{min-height:450px}.room-info-image-content{padding:28px;gap:20px}.room-info-type-name{font-size:28px}.room-info-rooms-badge{padding:8px 16px;font-size:13px}.room-info-details-overlay{gap:16px}.info-value-overlay{font-size:20px}}@media (max-width: 480px){.room-info-image-header{min-height:400px}.room-info-type-name{font-size:24px}.room-info-image-content{padding:24px;gap:16px}.room-info-details-overlay{gap:14px}.info-value-overlay{font-size:18px}.room-badge-overlay,.feature-tag-overlay{padding:6px 12px;font-size:11px}}.room-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.room-type-item{grid-column:1 / -1;padding-bottom:8px}.room-type-item .info-value{font-size:20px;font-weight:700;color:#ef4444}.room-type-display{display:flex;align-items:center;gap:12px;margin-top:8px}.room-type-image-small{width:60px;height:60px;border-radius:8px;overflow:hidden;flex-shrink:0;border:1px solid var(--border-color);transition:border-color .3s ease}.room-type-image-small img{width:100%;height:100%;object-fit:cover}.room-type-name{font-size:16px;font-weight:600}.rooms-list-section{margin-top:20px;margin-bottom:24px}.rooms-list-section .info-label{display:block;margin-bottom:16px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.rooms-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.room-badge{display:flex;align-items:center;justify-content:center;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;font-size:14px;font-weight:600;color:var(--text-primary);transition:all .2s ease;text-align:center}.room-badge:hover{border-color:#ef4444;background:rgba(239,68,68,.05);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.guest-info-card-full-width{grid-column:1 / -1;width:100%}.guest-info-grid-full{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.guest-info-main{display:flex;flex-direction:column;gap:20px}.guest-info-name-section{display:flex;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,rgba(239,68,68,.05) 0%,transparent 100%);border-radius:12px;border:1px solid rgba(239,68,68,.1)}.guest-icon{color:#ef4444;flex-shrink:0;padding:16px;background-color:#ef44441a;border-radius:12px}.guest-avatar{width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);border-radius:12px;box-shadow:0 4px 12px #ef44444d,0 2px 6px #ef444433}.guest-avatar-initial{font-size:28px;font-weight:700;color:#fff;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.5px}.guest-name-details{display:flex;flex-direction:column;gap:8px;flex:1}.guest-name-large{font-size:24px;font-weight:700;color:var(--text-primary);font-family:Inter,sans-serif}.guest-info-contact{display:flex;flex-direction:column;gap:20px}.guest-contact-item{display:flex;align-items:flex-start;gap:16px;padding:20px;background-color:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-color);transition:all .2s ease}.guest-contact-item:hover{background-color:var(--bg-hover);border-color:var(--border-hover);transform:translate(4px)}.contact-icon{color:#ef4444;flex-shrink:0;margin-top:2px}.contact-details{display:flex;flex-direction:column;gap:6px;flex:1}.guest-info-section{margin-top:32px;padding-top:32px;border-top:1px solid var(--border-color)}.guest-section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.section-icon{color:#ef4444;flex-shrink:0}.guest-section-header h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;font-family:Inter,sans-serif}.guest-section-content{display:flex;flex-direction:column;gap:16px}.guest-info-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.guest-info-item{display:flex;flex-direction:column;gap:6px;padding:16px;background-color:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.guest-info-item .info-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.guest-info-item .info-value{font-size:14px;font-weight:500;color:var(--text-primary)}@media (max-width: 768px){.guest-info-grid-full{grid-template-columns:1fr;gap:24px}.guest-info-name-section{flex-direction:column;text-align:center;align-items:center}.guest-name-large{font-size:20px}}.room-types-list{display:flex;flex-direction:column;gap:0}.room-type-group{display:flex;flex-direction:column;gap:16px}.room-type-group-header{margin-bottom:4px}.room-type-group-title{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.room-type-group-title .room-type-name{font-size:20px;font-weight:700;color:#ef4444;font-family:Inter,sans-serif}.room-type-group-title .room-type-price{font-size:18px;font-weight:600;color:var(--text-primary);font-family:Inter,sans-serif;display:flex;align-items:baseline;gap:4px}.room-type-group-title .room-type-price .price-unit{font-size:14px;font-weight:500;opacity:.7;margin-left:2px}.room-type-group-rooms{margin-bottom:8px}.room-type-group-divider{height:1px;background-color:var(--border-color);margin:24px 0;width:100%}.room-features-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.room-features-section .info-label{display:block;margin-bottom:12px}.room-features-list{display:flex;flex-wrap:wrap;gap:8px}.feature-badge{padding:6px 12px;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-weight:500;color:var(--text-primary);transition:all .2s ease}.feature-badge:hover{background-color:var(--bg-active);border-color:#ef4444;transform:translateY(-1px)}.special-requests{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.special-requests p{margin:8px 0 0;font-size:14px;color:var(--text-secondary);line-height:1.6;transition:color .3s ease}.payment-summary{display:flex;flex-direction:column;gap:16px;text-align:left}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color);transition:border-color .3s ease;text-align:left}.summary-row:last-child{border-bottom:none}.summary-row.highlight{border-top:2px solid var(--border-color);margin-top:8px;padding-top:16px;font-weight:600}.summary-label{font-size:14px;color:var(--text-secondary);font-weight:500;transition:color .3s ease}.summary-value{font-size:16px;font-weight:600;color:var(--text-primary);font-family:Inter,sans-serif;transition:color .3s ease}.summary-value.paid{color:#10b981}.summary-value.remaining{color:#ef4444}.payments-list{display:flex;flex-direction:column;gap:12px}.payment-item{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:16px;transition:all .3s ease}.payment-item:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.payment-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.payment-item-info{display:flex;flex-direction:column;gap:4px;flex:1}.payment-main-info{display:flex;flex-direction:column;gap:8px}.payment-meta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}@media (min-width: 768px){.payment-meta-row{gap:24px}}.payment-item-actions{display:flex;align-items:center;gap:8px}.payment-amount{font-size:18px;font-weight:600;font-family:Inter,sans-serif;color:#10b981}.payment-date{font-size:13px;color:var(--text-secondary);transition:color .3s ease;white-space:nowrap}.revert-payment-btn{display:flex;align-items:center;justify-content:center;padding:8px;background-color:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:inherit}.revert-payment-btn:hover{background-color:#ef44441a;border-color:#ef4444;color:#ef4444}.revert-payment-btn svg{width:16px;height:16px}.download-payment-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.download-payment-btn:hover{background-color:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.download-payment-btn svg{color:inherit}.refund-payment-btn{display:flex;align-items:center;justify-content:center;padding:8px;background-color:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:inherit}.refund-payment-btn:hover{background-color:#10b9811a;border-color:#10b981;color:#10b981}.refund-payment-btn:disabled{opacity:.5;cursor:not-allowed}.refund-payment-btn:disabled:hover{background-color:transparent;border-color:var(--border-color);color:var(--text-secondary)}.refund-payment-btn svg{width:16px;height:16px}.payment-status{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:var(--bg-hover);color:var(--text-tertiary);transition:all .3s ease;flex-shrink:0;box-shadow:0 2px 8px #0000001a}.payment-status.success{background-color:#10b98126;color:#10b981;border:2px solid rgba(16,185,129,.3)}.payment-status.refunded{background-color:#fbbf2433;color:#fbbf24;border:2px solid rgba(251,191,36,.4)}.refund-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:#fbbf2426;border:1px solid rgba(251,191,36,.3);border-radius:6px;color:#fbbf24;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.payment-amount.refunded{color:#fbbf24;font-weight:600}.payment-item-details{display:flex;gap:16px;font-size:13px;color:var(--text-secondary);margin-bottom:8px;transition:color .3s ease}.payment-notes{margin-top:8px;font-size:12px;color:var(--text-secondary);font-style:italic;padding-top:8px;border-top:1px solid var(--border-color);transition:color .3s ease,border-color .3s ease}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:13px;font-weight:500}.status-badge.pending{background-color:#f59e0b1a;color:#f59e0b}.status-badge.confirmed,.status-badge.paid{background-color:#10b9811a;color:#10b981}.status-badge.partially-paid{background-color:#f59e0b1a;color:#f59e0b}.status-badge.cancelled,.status-badge.refunded{background-color:#ef44441a;color:#ef4444}.booking-details-loading,.booking-details-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;min-height:400px;gap:24px}.booking-details-loading p{font-size:16px;font-weight:500;color:var(--text-secondary);margin:0;transition:color .3s ease;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.payment-modal{background-color:var(--bg-secondary);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative}.payment-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid var(--border-color)}.payment-modal-header h2{font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.payment-modal-subtitle{font-size:14px;color:var(--text-secondary);margin:4px 0 0}.payment-modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.payment-modal-close:hover{background-color:var(--bg-hover);color:var(--text-primary)}.payment-modal-content{padding:24px}.invoice-summary-section{background-color:var(--bg-tertiary);border-radius:12px;padding:20px;margin-bottom:24px}.payment-form-section{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--text-primary);transition:color .3s ease}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-family:Inter,sans-serif;transition:all .3s ease;outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group textarea{resize:vertical;min-height:80px}.payment-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid var(--border-color)}.payment-cancel-btn{padding:10px 20px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.payment-cancel-btn:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.payment-save-btn{padding:10px 20px;background-color:#ef4444;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.payment-save-btn:hover:not(:disabled){background-color:#dc2626}.payment-save-btn:disabled{opacity:.5;cursor:not-allowed}.payment-history-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.payment-history-section h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.payment-history-list{display:flex;flex-direction:column;gap:12px}.payment-history-item{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:16px}.payment-history-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.payment-info{display:flex;flex-direction:column;gap:4px;flex:1}.download-payment-receipt-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.download-payment-receipt-btn:hover{background-color:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.payment-history-details{display:flex;gap:12px;font-size:13px;color:var(--text-secondary)}.empty-payments{text-align:center;padding:40px 20px;color:var(--text-secondary)}@media (max-width: 768px){.view-booking-details-page{padding:16px}.booking-details-header{flex-direction:column;align-items:flex-start;gap:16px}.booking-details-header .actions-buttons{margin-left:0;width:100%;justify-content:flex-start}.action-btn-icon{width:40px;height:40px;min-width:40px}.action-divider{height:28px}.booking-details-content,.info-grid{grid-template-columns:1fr}.room-info-grid{grid-template-columns:1fr;gap:20px}.room-number-display{flex-direction:column;align-items:flex-start;gap:12px}.room-number-large{font-size:28px}.rooms-list{grid-template-columns:1fr}.booking-details-header,.header-title{flex-direction:column;align-items:flex-start}.room-hero-container{min-height:400px}.room-hero-content{padding:32px 24px;min-height:400px}.room-hero-title{font-size:36px}.room-hero-price{font-size:28px}}@media (max-width: 480px){.room-hero-container{min-height:350px}.room-hero-content{padding:24px 20px;min-height:350px}.room-hero-title{font-size:28px}.room-hero-price{font-size:24px}.room-hero-badge{font-size:12px;padding:8px 14px}}.services-list{width:100%}.services-table{width:100%;border-collapse:collapse}.services-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;padding:12px 16px;background-color:var(--bg-tertiary);border-radius:8px;margin-bottom:8px;font-weight:600;font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.services-body{display:flex;flex-direction:column;gap:8px}.services-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;padding:16px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease;align-items:center}.services-row:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.services-col{display:flex;align-items:center;font-size:14px;color:var(--text-primary)}.service-name-cell{display:flex;flex-direction:column;gap:4px}.service-name{font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.service-description{font-size:12px;color:var(--text-secondary);margin-top:2px}.service-unit{font-size:12px;color:var(--text-secondary);font-style:italic}.service-subtotal{font-weight:600;color:var(--text-primary)}.services-footer{margin-top:16px;padding-top:16px;border-top:2px solid var(--border-color)}.services-total-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--bg-secondary);border-radius:8px}.services-total-label{font-size:15px;font-weight:600;color:var(--text-primary)}.services-total-value{font-size:18px;font-weight:700;color:#ef4444;font-family:Inter,sans-serif}.custom-badge{padding:2px 8px;background-color:#f59e0b;color:#fff;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.services-header,.services-row{grid-template-columns:1fr;gap:8px}.services-col{padding:4px 0}.service-name-cell{margin-bottom:8px}}.booking-chart-container{width:100%;overflow-x:auto;border-radius:12px;border:1px solid var(--border-color);background-color:var(--bg-primary)}.booking-chart-table{width:100%;min-width:800px;table-layout:fixed;border-collapse:collapse}.chart-header{display:grid;grid-template-columns:minmax(200px,1fr) minmax(120px,.6fr) minmax(250px,1.2fr) minmax(130px,.7fr);background-color:var(--bg-tertiary);border-bottom:2px solid var(--border-color);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.chart-header .chart-col{padding:16px 20px;text-align:left;border-right:1px solid var(--border-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-header .chart-col:last-child{border-right:none;text-align:right}.chart-body{background-color:var(--bg-secondary)}.chart-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(120px,.6fr) minmax(250px,1.2fr) minmax(130px,.7fr);border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.chart-row:last-child{border-bottom:none}.chart-row:hover{background-color:var(--bg-hover)}.chart-row .chart-col{padding:16px 20px;text-align:left;display:flex;align-items:center;border-right:1px solid var(--border-color);min-height:60px;overflow:hidden;word-wrap:break-word;max-width:100%;box-sizing:border-box}.chart-row .chart-col:last-child{border-right:none;justify-content:flex-end}.chart-col.room-type-col{padding-right:20px;min-width:0}.chart-col.room-number-col,.chart-col.date-col{padding-left:20px;padding-right:20px;min-width:0}.chart-col.price-col{padding-left:20px;text-align:right;min-width:0;justify-content:flex-end}.room-type-badge{display:inline-flex;align-items:center;padding:6px 14px;background-color:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;font-size:13px;font-weight:600;color:#ef4444;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.room-number-badge{display:inline-flex;align-items:center;padding:6px 14px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.date-badge{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:block}.price-value{font-size:16px;font-weight:700;color:var(--text-primary);font-family:Inter,sans-serif;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:block}@media (max-width: 768px){.booking-chart-container{border-radius:8px}.booking-chart-table{min-width:600px}.chart-header{grid-template-columns:minmax(150px,1fr) minmax(100px,.6fr) minmax(180px,1.2fr) minmax(110px,.7fr);font-size:11px}.chart-header .chart-col{padding:12px}.chart-row{grid-template-columns:minmax(150px,1fr) minmax(100px,.6fr) minmax(180px,1.2fr) minmax(110px,.7fr)}.chart-row .chart-col{padding:12px;min-height:50px}.room-type-badge,.room-number-badge{padding:4px 10px;font-size:12px}.date-badge{font-size:12px}.price-value{font-size:14px}}.payment-method-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.payment-method-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background-color:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500;color:var(--text-primary)}.payment-method-option:hover{background-color:var(--bg-hover);border-color:#ef44444d}.payment-method-option.selected{background-color:#ef44441a;border-color:#ef4444;color:#ef4444}.payment-method-option svg{color:inherit}.edit-booking-page{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg-primary);min-height:100vh;transition:background-color .3s ease}.edit-booking-loading,.edit-booking-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.edit-booking-loading p,.edit-booking-error p{font-size:16px;color:var(--text-primary);transition:color .3s ease}.back-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(239,68,68,.1) 100%);border:2px solid rgba(239,68,68,.2);border-radius:12px;color:var(--text-primary);font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px var(--shadow)}.back-button:hover{border-color:#ef4444;color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,var(--bg-secondary) 100%);transform:translate(-4px)}[data-theme=dark] .edit-booking-page{background:var(--bg-primary)}[data-theme=dark] .edit-booking-loading p,[data-theme=dark] .edit-booking-error p{color:var(--text-primary)}.settings-page{flex:1;overflow-y:auto;padding:2rem;padding-bottom:100px;margin:0;min-height:100%;height:100%;width:100%;max-width:100%;box-sizing:border-box}.settings-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.settings-header{margin-bottom:2rem}.settings-title{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.settings-title h1{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0}.settings-subtitle{color:var(--text-secondary);font-size:1rem;margin:0;margin-left:3rem}.settings-alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem}.settings-alert.error{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#dc2626}.settings-alert.success{background-color:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#16a34a}.settings-content{display:flex;flex-direction:column;gap:2rem;width:100%;box-sizing:border-box}.settings-section{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem;transition:border-color .3s ease}.settings-section:hover{border-color:var(--border-hover)}.settings-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.settings-section-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.settings-section-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem;margin-left:2.5rem}.settings-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary);font-size:.95rem}.form-required{color:#ef4444;margin-left:.25rem}.form-input,.form-select{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:.95rem;transition:all .2s ease;font-family:inherit}.form-input:focus,.form-select:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#ef4444}.form-help{color:var(--text-tertiary);font-size:.85rem;margin:0}.sync-status{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.sync-status-label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary)}.status-icon{width:20px;height:20px}.status-icon.syncing{color:#3b82f6;animation:spin 1s linear infinite}.status-icon.success{color:#22c55e}.status-icon.error{color:#ef4444}.status-icon.idle{color:var(--text-tertiary)}.status-text{font-weight:400;font-size:.9rem}.status-text.syncing{color:#3b82f6}.status-text.success{color:#22c55e}.status-text.error{color:#ef4444}.sync-last{color:var(--text-secondary);font-size:.85rem}.sync-error{display:flex;align-items:center;gap:.5rem;color:#ef4444;font-size:.85rem;padding:.5rem;background-color:#ef44441a;border-radius:6px}.spinning{animation:spin 1s linear infinite}.booking-engines-list{display:flex;flex-direction:column;gap:1.5rem}.booking-engine-card{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .2s ease}.booking-engine-card:hover{border-color:var(--border-hover);box-shadow:0 2px 8px var(--shadow)}.engine-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;gap:1rem}.engine-title{display:flex;align-items:flex-start;gap:1rem;flex:1}.engine-logo-container{width:60px;height:60px;min-width:60px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:.75rem;overflow:hidden}.engine-logo{width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%}.engine-logo-fallback{width:100%;height:100%;align-items:center;justify-content:center;color:var(--text-tertiary)}.engine-logo-text{font-size:1.5rem;font-weight:700;text-transform:uppercase}.engine-title-text{flex:1;display:flex;flex-direction:column;gap:.5rem}.engine-title-text h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.engine-help-link{display:inline-flex;align-items:center;gap:.375rem;color:#3b82f6;font-size:.85rem;text-decoration:none;transition:color .2s ease}.engine-help-link:hover{color:#2563eb;text-decoration:underline}.engine-controls{display:flex;align-items:center;gap:1rem}.engine-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.toggle-label{font-size:.9rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.engine-config{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.ical-url-input-wrapper{position:relative;display:flex;align-items:center}.ical-url-input{padding-right:3rem;width:100%}.copy-url-btn{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;padding:.5rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .2s ease}.copy-url-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.help-link{color:#3b82f6;text-decoration:none;font-weight:500;transition:color .2s ease}.help-link:hover{color:#2563eb;text-decoration:underline}.engine-sync-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.settings-actions{display:flex;justify-content:flex-start;padding:1.5rem 0;margin-top:1rem;border-top:1px solid var(--border-color)}.btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#ef4444;color:#fff}.btn-primary:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-hover)}.btn-small{padding:.5rem 1rem;font-size:.85rem}[data-theme=dark] .settings-section{box-shadow:0 2px 8px #0003}[data-theme=dark] .booking-engine-card{background-color:var(--bg-secondary)}[data-theme=dark] .engine-logo-container{background-color:var(--bg-tertiary)}[data-theme=dark] .sync-status{background-color:var(--bg-secondary)}@media (max-width: 768px){.settings-page{padding:1rem;max-width:100%;width:100%}.settings-section{padding:1.5rem;width:100%;box-sizing:border-box}.settings-title h1{font-size:1.5rem}.settings-subtitle{margin-left:0;margin-top:.5rem}.settings-content{width:100%}.engine-sync-info{flex-direction:column;align-items:stretch}.engine-sync-info .btn{width:100%;justify-content:center}.settings-actions{justify-content:flex-start;padding:1rem 0;margin-top:1rem}.settings-actions .btn{width:auto;min-width:120px;justify-content:center}.settings-section-header{flex-wrap:wrap;gap:1rem}.section-header-actions{width:100%;margin-left:0}.section-header-actions .btn{width:100%;justify-content:center}}.info-box{display:flex;gap:1rem;padding:1.25rem;background-color:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;margin-bottom:1.5rem;color:var(--text-primary)}.info-box svg{color:#3b82f6;flex-shrink:0;margin-top:.25rem}.info-box div{flex:1}.info-box strong{display:block;margin-bottom:.75rem;color:#3b82f6;font-size:.95rem}.info-box ul{margin:.5rem 0 0;padding-left:1.5rem;list-style-type:disc}.info-box li{margin:.5rem 0;font-size:.9rem;line-height:1.5}.info-box li strong{display:inline;margin:0;color:var(--text-primary)}[data-theme=dark] .info-box{background-color:#3b82f626;border-color:#3b82f666}.section-header-actions{margin-left:auto}.empty-services{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-services svg{color:var(--text-tertiary);margin-bottom:1rem}.empty-services h3{font-size:1.5rem;color:var(--text-primary);margin:1rem 0 .5rem}.empty-services p{margin-bottom:2rem}.service-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color);overflow-x:auto;padding-bottom:.5rem}.service-tab{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s ease;color:var(--text-secondary);font-size:.95rem;font-weight:500;white-space:nowrap;position:relative;margin-bottom:-2px}.service-tab:hover{color:var(--text-primary);background-color:var(--bg-hover);border-radius:8px 8px 0 0}.service-tab.active{color:#ef4444;border-bottom-color:#ef4444;background-color:var(--bg-hover)}.tab-logo{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;overflow:hidden;background-color:var(--bg-tertiary)}.tab-logo-img{width:100%;height:100%;object-fit:contain}.tab-logo-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.tab-name{font-weight:500}.tab-status{color:#22c55e;margin-left:auto}.tab-remove{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:0}.service-tab:hover .tab-remove{opacity:1}.tab-remove:hover{color:#ef4444;background-color:#ef44441a}.service-config-panel{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:2rem;margin-top:1rem}.service-config-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.service-config-title{display:flex;align-items:center;gap:1.5rem}.service-config-logo{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.service-config-logo-img{width:100%;height:100%;object-fit:contain;padding:.5rem}.service-config-title h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.service-config-toggle{display:flex;align-items:center;gap:1rem}.service-config-content{display:flex;flex-direction:column;gap:1.5rem}.service-sync-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.sync-status-info{display:flex;flex-direction:column;gap:.5rem;flex:1}.add-service-dialog{border:none;border-radius:12px;padding:0;max-width:600px;width:90%;max-height:80vh;background-color:var(--bg-secondary);box-shadow:0 20px 60px #0000004d;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.add-service-dialog::backdrop{background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:fixed;top:0;left:0;right:0;bottom:0}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color)}.dialog-header h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.dialog-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.dialog-close:hover{background-color:var(--bg-hover);color:var(--text-primary)}.dialog-content{padding:2rem}.dialog-content>p{color:var(--text-secondary);margin-bottom:1.5rem}.available-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.service-option{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;background-color:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .2s ease;position:relative}.service-option:hover:not(.disabled){border-color:#ef4444;background-color:var(--bg-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.service-option.disabled{opacity:.5;cursor:not-allowed}.service-option-logo{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:10px;overflow:hidden;border:1px solid var(--border-color)}.service-option-logo-img{width:100%;height:100%;object-fit:contain;padding:.5rem}.service-option-name{font-size:.9rem;font-weight:500;color:var(--text-primary);text-align:center}.service-option-badge{position:absolute;top:.5rem;right:.5rem;background-color:#22c55e;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:4px}@media (max-width: 768px){.service-tabs{gap:.25rem;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.service-tab{padding:.5rem .75rem;font-size:.85rem;flex-shrink:0}.tab-logo{width:24px;height:24px}.service-config-panel{padding:1.5rem;width:100%;box-sizing:border-box}.service-config-header{flex-direction:column;align-items:flex-start;gap:1rem}.service-config-title{width:100%;flex-wrap:wrap}.service-config-logo{width:60px;height:60px}.service-config-toggle{width:100%;justify-content:space-between}.service-sync-actions{flex-direction:column;align-items:stretch}.service-sync-actions .btn{width:100%;justify-content:center}.available-services-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;width:100%}.add-service-dialog{width:95%;max-width:95%;max-height:90vh;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.dialog-header,.dialog-content{padding:1.25rem}.empty-services{padding:2rem 1rem;width:100%}.info-box{width:100%;box-sizing:border-box}}.booking-com-dashboard{flex:1;overflow-y:auto;padding:0;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);min-height:100%}.dashboard-header{color:#fff;padding:2rem;box-shadow:0 2px 8px #0000001a}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.header-logo{display:flex;align-items:center;gap:1rem}.logo-img{width:60px;height:60px;object-fit:contain;background:white;padding:8px;border-radius:8px}.header-logo h1{margin:0;font-size:1.75rem;font-weight:600}.header-logo .subtitle{margin:.25rem 0 0;opacity:.9;font-size:.9rem}.header-actions{display:flex;align-items:center;gap:1rem}.last-refresh{font-size:.85rem;opacity:.8}.refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:.95rem;cursor:pointer;transition:all .2s ease}.refresh-btn:hover:not(:disabled){background:rgba(255,255,255,.3);border-color:#fff6}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-filters{background:white;padding:1.5rem 2rem;box-shadow:0 2px 4px #0000000d;display:flex;gap:1rem;flex-wrap:wrap;max-width:1400px;margin:0 auto}.filter-btn{padding:.75rem 1.5rem;border:2px solid #e0e0e0;border-radius:8px;background:white;color:#333;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:#003580;color:#003580}.filter-btn.active{background:#003580;color:#fff;border-color:#003580}.loading-container,.error-container,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.error-message{color:#e74c3c;font-size:1.1rem;margin-bottom:1rem}.retry-btn{padding:.75rem 1.5rem;background:#003580;color:#fff;border:none;border-radius:8px;font-size:.95rem;cursor:pointer;transition:background .2s ease}.retry-btn:hover{background:#004d99}.bookings-grid{max-width:1400px;margin:2rem auto;padding:0 2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem}.booking-card{background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.booking-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.booking-card-header{color:#fff;padding:1.25rem;display:flex;justify-content:space-between;align-items:center}.booking-id{display:flex;flex-direction:column}.id-label{font-size:.75rem;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.id-value{font-size:1.1rem;font-weight:600;margin-top:.25rem}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500}.status-confirmed{background:rgba(46,213,115,.2);color:#2ed573;border:1px solid rgba(46,213,115,.3)}.status-pending{background:rgba(255,184,0,.2);color:#ffb800;border:1px solid rgba(255,184,0,.3)}.status-cancelled{background:rgba(231,76,60,.2);color:#e74c3c;border:1px solid rgba(231,76,60,.3)}.booking-card-body{padding:1.5rem}.guest-section,.room-section,.dates-section{margin-bottom:1.25rem}.info-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.info-row:last-child{margin-bottom:0}.info-icon{color:#003580;margin-top:.125rem;flex-shrink:0}.info-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:.95rem;color:#333;font-weight:500}.date-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.date-row:last-child{margin-bottom:0}.date-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.date-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.date-value{font-size:.95rem;color:#333;font-weight:500}.days-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;margin-top:.25rem}.days-badge.upcoming{background:rgba(0,53,128,.1);color:#003580}.requests-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #e0e0e0}.requests-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.requests-value{font-size:.9rem;color:#555;line-height:1.5;font-style:italic}.source-badge{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #e0e0e0;text-align:center}.source-badge span{display:inline-block;padding:.5rem 1rem;background:#f5f7fa;border-radius:20px;font-size:.8rem;color:#666;font-weight:500}@media (max-width: 768px){.dashboard-header{padding:1.5rem}.header-content{flex-direction:column;align-items:flex-start}.header-logo{width:100%}.header-actions{width:100%;justify-content:space-between}.dashboard-filters{padding:1rem}.filter-btn{flex:1;min-width:calc(50% - .5rem)}.bookings-grid{grid-template-columns:1fr;padding:1rem;margin:1rem auto}}.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}.refunds-page{flex:1;overflow-y:auto;overflow-x:hidden;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease;position:relative}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.page-header h1{font-size:28px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:8px;transition:color .3s ease}.subtitle{color:var(--text-secondary);font-size:14px;transition:color .3s ease;margin:0}.header-actions{display:flex;gap:12px;align-items:center;flex-wrap:nowrap}.action-button-icon{padding:10px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.action-button-icon:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-hover)}.action-button-icon:disabled{opacity:.5;cursor:not-allowed}.view-toggle-group{display:flex;gap:4px;align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:4px}.view-toggle-btn{padding:8px;background-color:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.view-toggle-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.view-toggle-btn.active{background-color:#ef4444;color:#fff}.view-toggle-btn.active:hover{background-color:#dc2626}.page-loading,.page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.page-error p{font-size:18px;margin-bottom:16px}.retry-button{padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.retry-button:hover{background:var(--primary-color-dark);transform:translateY(-1px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--card-bg);border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.refunded{background:rgba(16,185,129,.1);color:#10b981}.stat-icon.amount{background:rgba(59,130,246,.1);color:#3b82f6}.stat-icon.original{background:rgba(139,92,246,.1);color:#8b5cf6}.stat-content{flex:1}.stat-label{font-size:14px;color:var(--text-secondary);margin-bottom:4px}.stat-value{font-size:24px;font-weight:700;color:var(--text-primary)}.filters-section{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;margin-bottom:24px;transition:all .3s ease;display:flex;gap:16px;align-items:center;flex-wrap:wrap;position:relative;z-index:1}.search-box{display:flex;align-items:center;gap:12px;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;flex:1;min-width:300px;transition:all .3s ease}.search-box svg{color:var(--text-tertiary);flex-shrink:0}.search-box input{border:none;background:transparent;outline:none;font-size:14px;color:var(--text-primary);width:100%;transition:color .3s ease}.search-box input::placeholder{color:var(--text-placeholder)}.date-range-picker-wrapper{position:relative;z-index:10}.date-range-picker-button{display:flex;align-items:center;gap:10px;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;padding:10px 16px;cursor:pointer;transition:all .2s ease;min-width:300px;justify-content:space-between;font-family:inherit}.date-range-picker-button:hover{background-color:var(--bg-active);border-color:var(--border-hover)}.date-range-picker-button:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 2px #ef44441a}.date-range-picker-text{flex:1;text-align:left;color:var(--text-primary)}.date-range-picker-clear{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;flex-shrink:0}.date-range-picker-clear:hover{color:var(--text-primary);background-color:var(--bg-hover)}.date-range-picker-popup{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 12px #00000026;padding:20px;z-index:1000;min-width:600px}.date-range-calendar{--rdp-cell-size: 40px;--rdp-accent-color: #EF4444;--rdp-background-color: var(--bg-hover);--rdp-accent-color-dark: #DC2626;--rdp-outline: 2px solid var(--rdp-accent-color);--rdp-outline-selected: 2px solid var(--rdp-accent-color);margin:0}.date-range-calendar .rdp{margin:0}.date-range-calendar .rdp-months{display:flex;gap:32px}.date-range-calendar .rdp-month{margin:0}.date-range-calendar .rdp-caption{display:flex;align-items:center;justify-content:space-between;padding:0 0 16px;color:var(--text-primary);font-weight:600;font-size:16px}.date-range-calendar .rdp-nav{display:flex;gap:8px}.date-range-calendar .rdp-button_reset{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:6px 8px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.date-range-calendar .rdp-button_reset:hover{background-color:var(--bg-hover);color:var(--text-primary)}.date-range-calendar .rdp-head_cell{color:var(--text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:8px 0}.date-range-calendar .rdp-cell{padding:2px}.date-range-calendar .rdp-day{width:var(--rdp-cell-size);height:var(--rdp-cell-size);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .2s ease}.date-range-calendar .rdp-day:hover:not(.rdp-day_disabled):not(.rdp-day_selected){background-color:var(--bg-hover);color:var(--text-primary)}.date-range-calendar .rdp-day_selected,.date-range-calendar .rdp-day_range_start,.date-range-calendar .rdp-day_range_end{background-color:#ef4444!important;color:#fff!important;font-weight:600}.date-range-calendar .rdp-day_range_middle{background-color:#ef44441a!important;color:var(--text-primary)!important}.date-range-calendar .rdp-day_outside{color:var(--text-tertiary);opacity:.5}.date-range-calendar .rdp-day_disabled{color:var(--text-tertiary);opacity:.3;cursor:not-allowed}.date-range-calendar .rdp-day_today{font-weight:700;border:2px solid var(--rdp-accent-color)}.date-range-calendar .rdp-day_today:not(.rdp-day_selected){background-color:transparent}@media (max-width: 768px){.date-range-picker-button{min-width:0;width:100%}.date-range-picker-popup{right:auto;left:0;min-width:calc(100vw - 40px);max-width:calc(100vw - 40px)}.date-range-calendar .rdp-months{flex-direction:column;gap:24px}}.refunds-table-container{background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.refunds-table{width:100%;border-collapse:collapse}.refunds-table thead{background:var(--bg-secondary)}.refunds-table th{padding:16px;text-align:left;font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.refunds-table td{padding:16px;border-bottom:1px solid var(--border-color);font-size:14px;color:var(--text-primary)}.refunds-table tbody tr{transition:background .2s}.refunds-table tbody tr:hover{background:var(--bg-secondary)}.invoice-number{font-weight:600;color:var(--primary-color)}.booking-link{background:none;border:none;color:var(--primary-color);cursor:pointer;text-decoration:underline;font-size:14px;padding:0;font-family:inherit}.booking-link:hover{color:var(--primary-color-dark)}.refund-amount{font-weight:600;color:#10b981}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500}.status-badge.refunded{background:rgba(16,185,129,.1);color:#10b981}.action-buttons{display:flex;gap:8px}.action-btn{width:36px;height:36px;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.action-btn.view{background:rgba(59,130,246,.1);color:#3b82f6}.action-btn.view:hover{background:rgba(59,130,246,.2)}.empty-state{padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{font-size:16px;margin:0}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}.pagination-btn{padding:10px 20px;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.pagination-btn:hover:not(:disabled){border-color:var(--primary-color);background:var(--bg-secondary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;color:var(--text-secondary)}.refund-reason{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.refunds-card-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:24px}.refund-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;gap:16px}.refund-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--border-hover);transform:translateY(-2px)}.refund-card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.refund-card-id{display:flex;flex-direction:column;gap:4px}.invoice-number-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.invoice-number-value{font-size:18px;font-weight:700;color:var(--primary-color)}.refund-card-body{display:flex;flex-direction:column;gap:12px;flex:1}.refund-card-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.refund-card-row.highlight{padding:12px;background:var(--bg-tertiary);border-radius:8px;margin:4px 0}.refund-card-label{font-size:13px;color:var(--text-secondary);font-weight:500;flex-shrink:0}.refund-card-value{font-size:14px;color:var(--text-primary);text-align:right;word-break:break-word}.refund-card-footer{padding-top:12px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.view-invoice-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#3b82f6;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.view-invoice-btn:hover{background:rgba(59,130,246,.2);border-color:#3b82f6}@media (max-width: 1200px){.refunds-table th:nth-child(6),.refunds-table td:nth-child(6){display:none}.refunds-card-container{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 968px){.refunds-page{padding:20px}.stats-grid{grid-template-columns:repeat(2,1fr)}.refunds-table th:nth-child(7),.refunds-table td:nth-child(7){display:none}.refunds-card-container{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}}@media (max-width: 768px){.refunds-page{padding:16px}.page-header{align-items:flex-start!important}.header-actions{width:100%;justify-content:space-between}.stats-grid{grid-template-columns:1fr;gap:16px}.stat-card{padding:20px}.filters-section{padding:16px}.filters-section{flex-direction:column;align-items:stretch}.search-box{min-width:0}.date-range-picker-wrapper,.date-range-picker-wrapper .rs-picker-toggle{width:100%}.refunds-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.refunds-table{min-width:900px;font-size:13px}.refunds-table th,.refunds-table td{padding:12px 8px}.refunds-table th:nth-child(4),.refunds-table td:nth-child(4),.refunds-table th:nth-child(5),.refunds-table td:nth-child(5){display:none}.refunds-card-container{grid-template-columns:1fr;gap:16px}.pagination{flex-wrap:wrap;gap:12px}.pagination-info{width:100%;text-align:center;order:-1}}@media (min-width: 1400px){.refunds-page{max-width:1600px}.refunds-table{font-size:15px}.refunds-table th,.refunds-table td{padding:20px}.refunds-card-container{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}.services-page{flex:1;overflow-y:auto;padding:32px;background-color:var(--bg-tertiary);transition:background-color .3s ease;max-width:100%}@media (max-width: 768px){.services-page{padding:20px}}@media (max-width: 480px){.services-page{padding:16px}}.services-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:20px;flex-wrap:wrap}@media (max-width: 768px){.services-page .page-header{margin-bottom:24px}}.services-page .page-header h1{font-size:28px;font-weight:700;font-family:Inter,sans-serif;color:var(--text-primary);margin-bottom:8px;transition:color .3s ease}.services-page .subtitle{color:var(--text-secondary);font-size:14px;transition:color .3s ease}.services-page .header-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}@media (max-width: 768px){.services-page .header-actions{width:100%;justify-content:flex-end}}.services-page .action-button{padding:10px 20px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;font-family:inherit}.services-page .action-button:hover{background-color:var(--bg-hover);border-color:var(--border-hover)}.services-page .action-button.primary{background-color:#ef4444;color:#fff;border-color:#ef4444}.services-page .action-button.primary:hover{background-color:#dc2626;border-color:#dc2626}.services-page .filters-section{margin-bottom:24px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.services-page .search-box{flex:1;min-width:200px;position:relative;display:flex;align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:10px 16px;transition:all .2s ease}.services-page .search-box:focus-within{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.services-page .search-box svg{color:var(--text-secondary);margin-right:12px;flex-shrink:0}.services-page .search-box input{flex:1;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:14px;font-family:inherit}.services-page .search-box input::placeholder{color:var(--text-tertiary)}.services-page .filter-controls{display:flex;gap:12px}.services-page .filter-select{padding:10px 16px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-family:inherit;min-width:150px}.services-page .filter-select:hover{border-color:var(--border-hover)}.services-page .filter-select:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.services-page .loading-container{display:flex;justify-content:center;align-items:center;padding:80px 20px}.services-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:var(--text-secondary)}.services-page .empty-state p{font-size:16px;margin-bottom:24px}.services-page .services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}@media (max-width: 768px){.services-page .services-grid{grid-template-columns:1fr;gap:16px}}.services-page .service-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .2s ease;display:flex;flex-direction:column}.services-page .service-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--border-hover);transform:translateY(-2px)}.services-page .service-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color)}.services-page .service-category-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.services-page .service-actions{display:flex;gap:8px}.services-page .icon-button{width:32px;height:32px;border-radius:6px;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.services-page .icon-button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.services-page .icon-button.edit:hover{background-color:#3b82f61a;color:#3b82f6}.services-page .icon-button.delete:hover{background-color:#ef44441a;color:#ef4444}.services-page .icon-button.toggle.active{color:#10b981}.services-page .icon-button.toggle.inactive{color:#6b7280}.services-page .icon-button.toggle:hover{background-color:#10b9811a}.services-page .service-card-content{padding:16px;flex:1;display:flex;flex-direction:column;gap:12px}.services-page .service-name{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.services-page .service-description{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.services-page .service-details{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-color)}.services-page .detail-item{display:flex;align-items:center;gap:8px}.services-page .detail-label{font-size:13px;color:var(--text-secondary);font-weight:500}.services-page .detail-value{font-size:16px;font-weight:600;color:var(--text-primary)}.services-page .detail-unit{font-size:13px;color:var(--text-secondary)}.services-page .tax-badge{padding:2px 8px;background-color:#10b9811a;color:#10b981;border-radius:4px;font-size:11px;font-weight:600}.services-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.7) 100%);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease;overflow-y:auto;min-height:100vh;min-width:100vw}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.services-page .modal-content{background-color:var(--bg-secondary);border-radius:20px;width:100%;max-width:650px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 80px #0006,0 0 0 1px #ffffff0d;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);border:1px solid rgba(255,255,255,.1);position:relative;margin:auto}@keyframes slideUp{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.services-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:28px 28px 24px;border-bottom:1px solid var(--border-color);border-top:4px solid #EF4444;background:linear-gradient(to bottom,var(--bg-secondary),var(--bg-tertiary));position:relative}.services-page .modal-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(239,68,68,.3),transparent)}.services-page .modal-header h2{font-size:24px;font-weight:700;color:var(--text-primary);margin:0;font-family:Inter,sans-serif}.services-page .modal-close-btn{width:36px;height:36px;border-radius:8px;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.services-page .modal-close-btn:hover{background-color:var(--bg-hover);color:var(--text-primary);transform:rotate(90deg)}.services-page .service-form{display:flex;flex-direction:column;flex:1;min-height:0;background-color:var(--bg-secondary);overflow:hidden}.services-page .form-section{margin-bottom:0;padding:28px;overflow-y:auto;flex:1;min-height:0}.services-page .form-group{margin-bottom:24px}.services-page .form-group:last-child{margin-bottom:0}.services-page .form-group label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:10px;letter-spacing:-.2px}.services-page .form-group input,.services-page .form-group textarea,.services-page .form-group select{width:100%;padding:12px 16px;background-color:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:10px;font-size:15px;color:var(--text-primary);font-family:inherit;transition:all .2s ease;box-sizing:border-box}.services-page .form-group input:hover,.services-page .form-group textarea:hover,.services-page .form-group select:hover{border-color:var(--border-hover)}.services-page .form-group input:focus,.services-page .form-group textarea:focus,.services-page .form-group select:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a;background-color:var(--bg-secondary)}.services-page .form-group textarea{resize:vertical;min-height:100px;line-height:1.5}.services-page .form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.services-page .form-hint{display:block;font-size:12px;color:var(--text-tertiary);margin-top:6px;line-height:1.4}.services-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 768px){.services-page .form-row{grid-template-columns:1fr;gap:24px}}.services-page .checkbox-group{margin-bottom:20px}.services-page .checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:15px;color:var(--text-primary);font-weight:500;padding:12px;border-radius:8px;transition:background-color .2s ease}.services-page .checkbox-label:hover{background-color:var(--bg-hover)}.services-page .checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#EF4444;flex-shrink:0}.services-page .modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:24px 28px;border-top:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0;z-index:10;box-shadow:0 -4px 12px #0000001a}.services-page .cancel-btn,.services-page .submit-btn{padding:12px 24px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;border:2px solid transparent;min-width:120px}.services-page .cancel-btn{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.services-page .cancel-btn:hover{background-color:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-1px)}.services-page .submit-btn{background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;border-color:#ef4444;box-shadow:0 4px 12px #ef44444d;display:flex;align-items:center;justify-content:center;gap:8px}.services-page .submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#DC2626 0%,#B91C1C 100%);transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.services-page .submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #ef44444d}.services-page .submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.fab-container{position:fixed;bottom:32px;right:32px;z-index:1000}.fab-button{width:56px;height:56px;border-radius:50%;background-color:#ef4444;border:none;box-shadow:0 4px 12px #ef444466;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:2}.fab-button:hover{background-color:#dc2626;box-shadow:0 6px 16px #ef444480;transform:scale(1.05)}.fab-button:active{transform:scale(.95)}.fab-icon{transition:transform .3s cubic-bezier(.4,0,.2,1)}.fab-icon.rotate{transform:rotate(45deg)}.fab-menu{position:absolute;bottom:70px;right:0;display:flex;flex-direction:column;gap:12px;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.fab-menu.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:all}.fab-option{display:flex;align-items:center;gap:12px;padding:12px 20px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 12px var(--shadow);cursor:pointer;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;transition:all .2s;font-family:Inter,sans-serif}.fab-option:hover{background-color:var(--bg-hover);border-color:#ef4444;color:#ef4444;transform:translate(-4px);box-shadow:0 6px 16px var(--shadow)}.fab-option svg{flex-shrink:0;color:var(--text-secondary);transition:color .2s ease}.fab-option:hover svg{color:#ef4444}.app{display:flex;height:100vh;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-tertiary);transition:background-color .3s ease;min-width:0;width:100%}.main-content>div{flex:1;overflow-y:auto;overflow-x:hidden}@media (max-width: 768px){.app{position:relative}.main-content{width:100%;margin-left:0}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #fafafa;--bg-hover: #f9fafb;--bg-active: #f3f4f6;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-placeholder: #9ca3af;--border-color: #e5e7eb;--border-hover: #d1d5db;--shadow: rgba(0, 0, 0, .1)}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #1e293b;--bg-hover: #334155;--bg-active: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-placeholder: #64748b;--border-color: #334155;--border-hover: #475569;--shadow: rgba(0, 0, 0, .3)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{width:100%;height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(239,68,68,.3) 0%,rgba(239,68,68,.5) 100%);border-radius:10px;border:2px solid transparent;background-clip:padding-box;transition:all .2s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(239,68,68,.5) 0%,rgba(239,68,68,.7) 100%);background-clip:padding-box}::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,rgba(239,68,68,.7) 0%,rgba(220,38,38,.9) 100%);background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:rgba(239,68,68,.5) transparent}[data-theme=dark] ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(239,68,68,.4) 0%,rgba(239,68,68,.6) 100%);background-clip:padding-box}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(239,68,68,.6) 0%,rgba(239,68,68,.8) 100%);background-clip:padding-box}[data-theme=dark] ::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,rgba(239,68,68,.8) 0%,rgba(220,38,38,1) 100%);background-clip:padding-box}[data-theme=dark] *{scrollbar-color:rgba(239,68,68,.6) transparent}
