.skeleton-room-container,.skeleton-staff-container,.skeleton-client-container,.skeleton-pricing-container{display:flex;flex-direction:column;gap:2rem}.skeleton-shimmer{background:linear-gradient(90deg,#f7f9fb,#ebeef2,#f7f9fb 40%,#f7f9fb);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;background:#ebeef2}.skeleton-page-header{display:flex;justify-content:space-between;align-items:center;width:100%;flex-wrap:wrap;gap:1rem}.skeleton-page-header .shimmer-title-lg{width:250px;height:32px;border-radius:.375rem}.skeleton-page-header .shimmer-btn-header{width:130px;height:42px;border-radius:.5rem}.skeleton-page-header .skeleton-search-box{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.skeleton-page-header .skeleton-search-box .shimmer-input-md{width:260px;height:42px;border-radius:.5rem}.skeleton-room-grid,.skeleton-staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.skeleton-room-card,.skeleton-staff-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:1.5rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:1rem}.skeleton-room-card .skeleton-room-header,.skeleton-room-card .skeleton-staff-info,.skeleton-staff-card .skeleton-room-header,.skeleton-staff-card .skeleton-staff-info{display:flex;justify-content:space-between;align-items:center;width:100%}.skeleton-room-card .skeleton-room-header .shimmer-title-md,.skeleton-room-card .skeleton-staff-info .shimmer-title-md,.skeleton-staff-card .skeleton-room-header .shimmer-title-md,.skeleton-staff-card .skeleton-staff-info .shimmer-title-md{width:120px;height:20px;border-radius:.25rem}.skeleton-room-card .skeleton-room-header .shimmer-badge-sm,.skeleton-room-card .skeleton-staff-info .shimmer-badge-sm,.skeleton-staff-card .skeleton-room-header .shimmer-badge-sm,.skeleton-staff-card .skeleton-staff-info .shimmer-badge-sm{width:70px;height:22px;border-radius:11px}.skeleton-room-card .shimmer-text-long,.skeleton-staff-card .shimmer-text-long{width:100%;height:12px;border-radius:.25rem}.skeleton-room-card .shimmer-text-sm,.skeleton-staff-card .shimmer-text-sm{width:140px;height:12px;border-radius:.25rem}.skeleton-room-card .skeleton-room-footer,.skeleton-staff-card .skeleton-room-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.5rem}.skeleton-room-card .skeleton-room-footer .shimmer-price,.skeleton-staff-card .skeleton-room-footer .shimmer-price{width:80px;height:24px;border-radius:.25rem}.skeleton-room-card .shimmer-btn,.skeleton-staff-card .shimmer-btn{width:100px;height:36px;border-radius:.375rem}.skeleton-room-card .skeleton-staff-actions,.skeleton-staff-card .skeleton-staff-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.skeleton-table{background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;width:100%;overflow:hidden}.skeleton-table .skeleton-table-header{display:flex;justify-content:space-between;padding:1rem 1.5rem;background:#f7f9fb;border-bottom:2px solid #e2e8f0}.skeleton-table .skeleton-table-header .shimmer-th{width:80px;height:14px;border-radius:.25rem}.skeleton-table .skeleton-table-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9}.skeleton-table .skeleton-table-row .skeleton-td-avatar{display:flex;align-items:center;gap:1rem}.skeleton-table .skeleton-table-row .skeleton-td-avatar .shimmer-circle-avatar{width:36px;height:36px;border-radius:50%}.skeleton-table .skeleton-table-row .skeleton-td-avatar .shimmer-text-md{width:120px;height:14px;border-radius:.25rem}.skeleton-table .skeleton-table-row .shimmer-td{width:100px;height:12px;border-radius:.25rem}.skeleton-strategy-toggle{display:flex;gap:.5rem}.skeleton-strategy-toggle .shimmer-toggle-btn{flex:1;height:56px;border-radius:12px}.skeleton-pricing-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 1024px){.skeleton-pricing-content{grid-template-columns:1fr}}.skeleton-pricing-content .skeleton-panel{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:1.5rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:1rem}.skeleton-pricing-content .skeleton-panel .skeleton-panel-header{border-bottom:1px solid #e2e8f0;padding-bottom:.5rem}.skeleton-pricing-content .skeleton-panel .skeleton-panel-header .shimmer-title-md{width:150px;height:20px;border-radius:.25rem}.skeleton-pricing-content .skeleton-panel .skeleton-panel-rows{display:flex;flex-direction:column;gap:1rem}.skeleton-pricing-content .skeleton-panel .skeleton-panel-rows .skeleton-panel-row{padding:.5rem 0;border-bottom:1px solid #f1f5f9}.skeleton-today-bookings{display:flex;flex-direction:column;gap:.5rem;padding:.25rem 0}.skeleton-today-booking-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.skeleton-today-booking-card .shimmer-today-ref{width:60px;height:20px;border-radius:10px;flex-shrink:0}.skeleton-today-booking-card .shimmer-today-guest{flex:1;height:14px;border-radius:.25rem}.skeleton-today-booking-card .shimmer-today-room{width:50px;height:12px;border-radius:.25rem}.skeleton-today-booking-card .shimmer-today-status{width:80px;height:22px;border-radius:11px;flex-shrink:0}.skeleton-today-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;padding:.25rem 0}.skeleton-today-room-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.skeleton-today-room-card .shimmer-room-number{width:48px;height:22px;border-radius:.25rem}.skeleton-today-room-card .shimmer-room-type{width:90px;height:12px;border-radius:.25rem}.skeleton-today-room-card .shimmer-room-icon{width:24px;height:24px;border-radius:50%;margin-top:.25rem}.skeleton-activity-list{display:flex;flex-direction:column;gap:.5rem}.skeleton-activity-item{display:flex;gap:1rem;padding:1rem 1.5rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0;align-items:flex-start}.skeleton-activity-item .shimmer-activity-icon{width:36px;height:36px;border-radius:50%;flex-shrink:0}.skeleton-activity-item .skeleton-activity-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.skeleton-activity-item .skeleton-activity-content .shimmer-activity-desc{width:75%;height:14px;border-radius:.25rem}.skeleton-activity-item .skeleton-activity-content .skeleton-activity-meta{display:flex;gap:1rem;flex-wrap:wrap}.skeleton-activity-item .skeleton-activity-content .skeleton-activity-meta .shimmer-activity-ref{width:60px;height:18px;border-radius:9px}.skeleton-activity-item .skeleton-activity-content .skeleton-activity-meta .shimmer-activity-meta-text{width:100px;height:12px;border-radius:.25rem}.activity-log{padding:2rem;max-width:900px;margin:0 auto}@media (max-width: 768px){.activity-log{padding:1rem}}.activity-log__header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}@media (max-width: 640px){.activity-log__header{margin-bottom:1rem}}.activity-log__header h1{font-size:1.875rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.03em;flex:1}@media (max-width: 640px){.activity-log__header h1{font-size:1.5rem}}.activity-log__total{font-size:.875rem;color:#64748b;font-weight:500;white-space:nowrap}.activity-log__filters{background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.04);padding:1rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}.activity-log__filter-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.activity-log__filter-row>svg{color:#64748b;flex-shrink:0}@media (max-width: 640px){.activity-log__filter-row{gap:.5rem}}.activity-log__filter-label{font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}@media (max-width: 640px){.activity-log__filter-label{display:none}}.activity-log__filter-field{display:flex;align-items:center;gap:.5rem}@media (max-width: 640px){.activity-log__filter-field{flex:1 1 calc(50% - .5rem);min-width:0}.activity-log__filter-field label{display:none}.activity-log__filter-field input[type=date],.activity-log__filter-field select,.activity-log__filter-field .activity-log__ref-input{width:100%;min-width:0}}.activity-log__filter-field label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}.activity-log__filter-field input[type=date],.activity-log__filter-field select{font-size:.875rem;color:#0f172a;font-weight:500;border:1px solid #e2e8f0;border-radius:8px;padding:4px .5rem;background:#fff;font-family:inherit;cursor:pointer;outline:none;transition:border-color .15s ease}.activity-log__filter-field input[type=date]:focus,.activity-log__filter-field select:focus{border-color:#0d9488}.activity-log__filter-field select{min-width:140px}@media (max-width: 640px){.activity-log__filter-field select{min-width:0}}.activity-log__filter-field .activity-log__ref-input{width:110px;font-size:.875rem;color:#0f172a;font-weight:500;border:1px solid #e2e8f0;border-radius:8px;padding:4px .5rem;background:#fff;font-family:inherit;outline:none;font-variant-numeric:tabular-nums;transition:border-color .15s ease}.activity-log__filter-field .activity-log__ref-input::placeholder{color:#94a3b8;font-weight:400}.activity-log__filter-field .activity-log__ref-input:focus{border-color:#0d9488}.activity-log__body{display:flex;flex-direction:column}.activity-log__prompt{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem;color:#94a3b8}.activity-log__prompt svg{font-size:3rem;opacity:.4}.activity-log__prompt p{font-size:1rem;color:#64748b;margin:0}.activity-log__loading,.activity-log__empty{text-align:center;padding:3rem;color:#64748b;font-size:1rem;font-style:italic}.activity-log__list{display:flex;flex-direction:column;gap:0}.activity-log__item{display:flex;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.04);background:#fff;transition:background-color .2s cubic-bezier(.2,0,0,1)}.activity-log__item:first-child{border-radius:12px 12px 0 0}.activity-log__item:last-child{border-bottom:none;border-radius:0 0 12px 12px}.activity-log__item:only-child{border-radius:12px}.activity-log__item:hover{background:#f7f9fb}.activity-log__icon{display:flex;align-items:flex-start;padding-top:2px;flex-shrink:0;color:#94a3b8}.activity-log__icon--status_update{color:#3b82f6}.activity-log__icon--payment_recorded{color:#10b981}.activity-log__icon--edit{color:#f59e0b}.activity-log__icon--cancel{color:#ef4444}.activity-log__icon--created{color:#0d9488}.activity-log__content{flex:1;min-width:0}.activity-log__description{font-size:.875rem;font-weight:600;color:#0f172a;margin-bottom:4px}.activity-log__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:#64748b}.activity-log__ref{font-weight:700;color:#0d9488;font-variant-numeric:tabular-nums;letter-spacing:.03em}.activity-log__room{background:#ebeef2;border-radius:.375rem;padding:1px .5rem;font-weight:600}.activity-log__guest{font-weight:600;color:#0f172a}.activity-log__user{display:flex;align-items:center;gap:2px;color:#64748b}.activity-log__user svg{font-size:12px}.activity-log__time{margin-left:auto;white-space:nowrap;color:#94a3b8;font-variant-numeric:tabular-nums}@media (max-width: 640px){.activity-log__time{margin-left:0;width:100%}}.activity-log__pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border-top:1px solid rgba(0,0,0,.04);flex-wrap:wrap}.activity-log__page-numbers{display:flex;align-items:center;gap:.25rem}.activity-log__page-gap{color:#94a3b8;padding:0 .25rem;-webkit-user-select:none;user-select:none}.activity-log__page-btn{display:inline-flex;align-items:center;gap:4px;min-width:36px;height:36px;padding:0 .5rem;border:1px solid #e2e8f0;border-radius:.375rem;background:#fff;color:#0f172a;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s cubic-bezier(.2,0,0,1),border-color .2s cubic-bezier(.2,0,0,1),color .2s cubic-bezier(.2,0,0,1)}.activity-log__page-btn:hover:not(:disabled){background:#f7f9fb;border-color:#0d9488}.activity-log__page-btn:disabled{opacity:.4;cursor:default}.activity-log__page-btn--active{background:#0d9488;border-color:#0d9488;color:#fff;font-weight:700;pointer-events:none}.activity-log__page-btn--nav{padding:0 1rem;color:#64748b;font-weight:600}.activity-log__page-btn--nav:hover:not(:disabled){color:#0d9488}.admin-dashboard{display:flex;flex-direction:column;gap:2rem}.admin-dashboard__loading{padding:3rem;text-align:center;color:#64748b;font-size:1rem}.admin-dashboard__error{padding:3rem;text-align:center;color:#ef4444;font-size:1rem}.admin-dashboard__kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 1024px){.admin-dashboard__kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.admin-dashboard__kpi-grid{grid-template-columns:1fr}}.admin-dashboard__bottom{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 1024px){.admin-dashboard__bottom{grid-template-columns:1fr}}.kpi-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:1.5rem 2rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 1px 2px #0000000d;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;border-color:#c9a96e4d}.kpi-card__icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-card__body{display:flex;flex-direction:column;gap:2px;min-width:0}.kpi-card__label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b;white-space:nowrap}.kpi-card__value{font-size:1.5rem;font-weight:700;color:#0f172a;line-height:1.2}.kpi-card__sub{font-size:.75rem;color:#94a3b8}.kpi-card--gold .kpi-card__icon{background:#c9a96e1f;color:#b58d44}.kpi-card--navy .kpi-card__icon{background:#0c132212;color:#0c1322}.kpi-card--teal .kpi-card__icon{background:#ccfbf1;color:#134e4a}.kpi-card--blue .kpi-card__icon{background:#3b82f61a;color:#1e40af}.kpi-card--green .kpi-card__icon{background:#c6fae9;color:#0b825a}.kpi-card--amber .kpi-card__icon{background:#f59e0b1f;color:#b87708}.admin-panel__empty{color:#94a3b8;font-size:.875rem;text-align:center;padding:2rem 0;margin:0}.admin-bar-chart{width:100%;height:auto;overflow:visible;display:block}.admin-bar-chart__bar{fill:#c9a96e;opacity:.85}.admin-bar-chart__val{font-size:11px;fill:#0f172a;font-weight:600}.admin-bar-chart__label{font-size:10px;fill:#64748b}.admin-top-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-top-table th{text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b;padding:.5rem 1rem;border-bottom:1.5px solid #e2e8f0}.admin-top-table th:not(:first-child){text-align:right}.admin-top-table td{padding:.5rem 1rem;color:#0f172a;border-bottom:1px solid #f1f5f9;vertical-align:middle}.admin-top-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.admin-top-table tbody tr:last-child td{border-bottom:none}.admin-top-table tbody tr:hover td{background:#f1f5f9}.admin-top-table__rank{display:inline-block;width:22px;font-size:.75rem;font-weight:700;color:#94a3b8}.admin-health{display:flex;flex-direction:column;gap:2rem}.admin-health__loading{padding:3rem;text-align:center;color:#64748b;font-size:1rem}.admin-health__error{padding:3rem;text-align:center;color:#ef4444;font-size:1rem}.admin-health__header{display:flex;align-items:center;justify-content:space-between}.admin-health__ts{font-size:.75rem;color:#94a3b8}.admin-health__refresh{display:flex;align-items:center;gap:.25rem;padding:.25rem 1rem;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.875rem;color:#64748b;cursor:pointer;transition:all .2s ease}.admin-health__refresh:hover:not(:disabled){border-color:#0c1322;color:#0f172a}.admin-health__refresh:disabled{opacity:.5;cursor:not-allowed}.admin-health__anomalies{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:2rem;box-shadow:0 1px 2px #0000000d}.admin-health__section-title{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#f59e0b;margin-bottom:1.5rem}.admin-health__table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.anomaly-list{display:flex;flex-direction:column;gap:.5rem}.anomaly-card{display:flex;align-items:center;gap:1rem;padding:.5rem 1.5rem;border-radius:8px;font-size:.875rem;flex-wrap:wrap}.anomaly-card--warning{background:#f59e0b14;border-left:3px solid #f59e0b}.anomaly-card--danger{background:#ef444412;border-left:3px solid #ef4444}.anomaly-card__name{font-weight:600;color:#0f172a;min-width:140px}.anomaly-card__badge{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:99px}.anomaly-card--warning .anomaly-card__badge{background:#f59e0b26;color:#ac6f07}.anomaly-card--danger .anomaly-card__badge{background:#ef44441f;color:#e21313}.anomaly-card__detail{color:#64748b;font-size:.75rem}.admin-panel{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:2rem;box-shadow:0 1px 2px #0000000d}.admin-panel__title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:1.5rem}.status-badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge--active{background:#c6fae9;color:#0b825a}.status-badge--quiet{background:#f59e0b1f;color:#ac6f07}.status-badge--idle{background:#ef44441a;color:#e21313}.health-rate{font-weight:600;font-size:.875rem}.health-rate--low{color:#10b981}.health-rate--mid{color:#f59e0b}.health-rate--high{color:#ef4444}.health-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:700px}.health-table th{text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b;padding:.5rem 1rem;border-bottom:1.5px solid #e2e8f0;white-space:nowrap}.health-table th:not(:first-child){text-align:center}.health-table td{padding:.5rem 1rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}.health-table td:not(:first-child){text-align:center}.health-table tbody tr:last-child td{border-bottom:none}.health-table tbody tr:hover td{background:#f1f5f9}.health-table__name{font-weight:500;color:#0f172a;text-align:left!important}.health-table__num{font-variant-numeric:tabular-nums;color:#0f172a}.health-table__muted{color:#94a3b8;font-size:.75rem;white-space:nowrap}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:clip}body{font-family:-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:#f8fafc;color:#0f172a;font-size:1rem;line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.btn{padding:.625rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .25s ease;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#0c1322;color:#fff;position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#c9a96e,#dfc59b);opacity:0;transition:opacity .3s ease}.btn-primary span{position:relative;z-index:1}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0c13224d}.btn-primary:hover:not(:disabled):after{opacity:1}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:#64748b;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4f5c6e}.btn-success{background-color:#10b981;color:#fff}.btn-success:hover:not(:disabled){background-color:#0c8b61}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background-color:#eb1414}.btn-outline{background-color:transparent;border:1.5px solid #e2e8f0;color:#0f172a}.btn-outline:hover:not(:disabled){background-color:#f1f5f9;border-color:#94a3b8}.btn-small{padding:.25rem .5rem;font-size:.75rem}.btn-large{padding:1rem 1.5rem;font-size:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.375rem;font-size:.8125rem;font-weight:600;color:#0f172a}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6875rem .875rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;background:#fff;color:#0f172a;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#0c1322;box-shadow:0 0 0 3px #0c132214}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f8fafc;cursor:not-allowed;opacity:.6}.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 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.25rem}.form-group textarea{resize:vertical;min-height:80px}.form-group .error{color:#ef4444;font-size:.75rem;margin-top:.25rem}.input-wrapper input{width:100%;padding:.6875rem .875rem .6875rem 3rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;background:#fff;color:#0f172a;transition:all .2s ease}.input-wrapper input:disabled{background-color:#f8fafc;cursor:not-allowed;opacity:.6}.card{background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 2px #0000000d;border:1.5px solid #e2e8f0;transition:all .25s ease}.card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.card-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.card-header h2,.card-header h3{margin:0;color:#0f172a;letter-spacing:-.02em}.card-body{margin-bottom:1rem}.card-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.5rem}.table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000d}.table thead{background-color:#f8fafc}.table thead th{padding:1rem 1.5rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .15s ease}.table tbody tr:hover{background-color:#f1f5f9}.table tbody tr:last-child{border-bottom:none}.table tbody td{padding:1rem 1.5rem;font-size:.875rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0c132280;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal{background-color:#fff;border-radius:16px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px #0003;padding:2rem;animation:scaleIn .3s ease-out}.badge{display:inline-block;padding:.3rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.badge-success{background-color:#9ef7d9;color:#085b3f}.badge-danger{background-color:#f8b0b0;color:#d41212}.badge-warning{background-color:#fce2b6;color:#945f06}.badge-info{background-color:#bcd5fc;color:#073c92}.badge-secondary{background-color:#e4e7ec;color:#4f5c6e}.badge-gold{background-color:#c9a96e1f;color:#9f7c3b}.badge-purple{background-color:#6366f11a;color:#4f46e5}.badge-gray{background-color:#f1f5f9;color:#64748b}.spinner{border:3px solid #e2e8f0;border-top-color:#0c1322;border-radius:50%;width:40px;height:40px;animation:spin .8s linear infinite}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px}.tenant-select{padding:.375rem 1.75rem .375rem .75rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#0f172a;background:#fff;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 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;margin-right:1rem}.tenant-select:focus{outline:none;border-color:#0c1322;box-shadow:0 0 0 3px #0c132214}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:1rem}.mb-1{margin-bottom:1rem}.mt-2{margin-top:1.5rem}.mb-2{margin-bottom:1.5rem}.mt-sm{margin-top:.5rem}.flex{display:flex}.flex-col{flex-direction:column}.gap-1{gap:1rem}.gap-2{gap:1.5rem}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.admin-layout{display:flex;min-height:100vh;background-color:#f8fafc}.admin-layout .admin-sidebar{width:260px;background-color:#0c1322;color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;z-index:50;transition:transform .3s ease}.admin-layout .admin-sidebar .sidebar-header{padding:2rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center}.admin-layout .admin-sidebar .sidebar-header h2{font-size:1.25rem;font-weight:700;margin:0;color:#fff;letter-spacing:-.02em}.admin-layout .admin-sidebar .sidebar-header .close-sidebar{display:none;background:none;border:none;color:#ffffffb3;font-size:1.25rem;line-height:1;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:color .15s ease,background .15s ease}.admin-layout .admin-sidebar .sidebar-header .close-sidebar:hover{color:#fff;background:#ffffff14}.admin-layout .admin-sidebar .sidebar-nav{flex:1;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}.admin-layout .admin-sidebar .sidebar-nav .nav-item{padding:1rem 1.5rem;color:#94a3b8;text-decoration:none;border-radius:8px;transition:all .25s ease;font-weight:500}.admin-layout .admin-sidebar .sidebar-nav .nav-item:hover{color:#fff;background-color:#ffffff0f}.admin-layout .admin-sidebar .sidebar-nav .nav-item.active{color:#c9a96e;background-color:#c9a96e1a}.admin-layout .admin-sidebar .sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.admin-layout .admin-sidebar .sidebar-footer .user-info{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.admin-layout .admin-sidebar .sidebar-footer .user-info .avatar{width:36px;height:36px;background:linear-gradient(135deg,#c9a96e,#dfc59b);color:#0c1322;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}.admin-layout .admin-sidebar .sidebar-footer .user-info .details{display:flex;flex-direction:column}.admin-layout .admin-sidebar .sidebar-footer .user-info .details .name{font-size:.875rem;font-weight:600}.admin-layout .admin-sidebar .sidebar-footer .user-info .details .role{font-size:.75rem;color:#94a3b8}.admin-layout .admin-sidebar .sidebar-footer .logout-btn{width:100%;padding:.5rem;background-color:transparent;border:1.5px solid rgba(239,68,68,.4);color:#f26969;border-radius:8px;cursor:pointer;transition:all .25s ease;font-size:.875rem;font-weight:500}.admin-layout .admin-sidebar .sidebar-footer .logout-btn:hover{background-color:#ef4444;border-color:#ef4444;color:#fff}.admin-layout .admin-main{flex:1;margin-left:260px;display:flex;flex-direction:column;min-height:100vh}.admin-layout .admin-main .top-header{background-color:#fff;padding:1.5rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:40}.admin-layout .admin-main .top-header .menu-toggle{display:none;background:none;border:none;font-size:1.375rem;line-height:1;cursor:pointer;color:#64748b;padding:.5rem;border-radius:.375rem;transition:background .15s ease}.admin-layout .admin-main .top-header .menu-toggle:hover{background:#f1f5f9}.admin-layout .admin-main .top-header h1{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.02em}.admin-layout .admin-main .content-container{padding:3rem;flex:1;overflow-y:auto}@media (max-width: 768px){.admin-layout .admin-sidebar{transform:translate(-100%)}.admin-layout .admin-sidebar.open{transform:translate(0)}.admin-layout .admin-sidebar .sidebar-header .close-sidebar{display:block}.admin-layout .admin-main{margin-left:0}.admin-layout .admin-main .top-header .menu-toggle{display:block}.admin-layout .admin-main .content-container{padding:1.5rem}.admin-layout .sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0c132280;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:45}}.admin-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-page .page-header h2{margin:0;color:#0f172a;font-weight:700;letter-spacing:-.02em}.admin-page .table-container{background:#fff;border-radius:12px;border:1.5px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;overflow-x:auto}.admin-page .admin-table{width:100%;border-collapse:collapse;min-width:800px}.admin-page .admin-table th{background-color:#f8fafc;padding:1rem 1.5rem;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;border-bottom:1px solid #e2e8f0;text-transform:uppercase;letter-spacing:.05em}.admin-page .admin-table td{padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0;color:#0f172a;vertical-align:middle;font-size:.875rem}.admin-page .admin-table td.mono-font{font-family:monospace;color:#94a3b8}.admin-page .admin-table td.font-medium{font-weight:500}.admin-page .admin-table td.text-center{text-align:center;color:#64748b;padding:2rem}.admin-page .admin-table tbody tr{transition:background-color .15s ease}.admin-page .admin-table tbody tr:hover{background-color:#f1f5f9}.admin-page .admin-table tbody tr:last-child td{border-bottom:none}.admin-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0c132280;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease-out}.admin-page .loading{padding:2rem;color:#64748b}.admin-page .text-muted{color:#64748b;font-size:.875rem}.admin-page .action-group{display:flex;gap:.25rem;flex-wrap:wrap}.admin-page .form-section-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:.5rem}.admin-page .roles-list{display:flex;flex-direction:column;gap:2px}.admin-page .role-tag{font-size:.75rem;background:#c9a96e14;border:1px solid rgba(201,169,110,.2);border-radius:.25rem;padding:2px .5rem;display:inline-flex;align-items:center;gap:4px}.admin-page .btn-sm{padding:4px 10px;font-size:.75rem}.admin-page .btn-warning{background:#f59e0b;color:#000;border-color:#f59e0b}.admin-page .badge-success{background:#10b9811f;color:#10b981;border-color:#10b9814d}.admin-page .badge-danger{background:#ef44441f;color:#ef4444;border-color:#ef44444d}.admin-page .badge-purple{background:#8b5cf61f;color:#8b5cf6;border-color:#8b5cf64d}.admin-page .badge-gray{background:#f8fafc;color:#64748b;border-color:#e2e8f0}.admin-page .owner-mode-toggle{display:flex;border:1.5px solid #e2e8f0;border-radius:.375rem;overflow:hidden;width:fit-content}.admin-page .owner-mode-toggle .toggle-btn{padding:.25rem 1rem;background:transparent;border:none;cursor:pointer;font-size:.875rem;color:#64748b;transition:background .15s,color .15s}.admin-page .owner-mode-toggle .toggle-btn.active{background:#c9a96e;color:#fff;font-weight:600}.admin-page .owner-mode-toggle .toggle-btn:not(.active):hover{background:#f1f5f9}.admin-page .modal-content{background:#fff;padding:2rem;border-radius:16px;width:100%;max-width:500px;box-shadow:0 25px 60px #0003;animation:scaleIn .3s ease-out}.admin-page .modal-content h3{margin-top:0;margin-bottom:1.5rem;letter-spacing:-.02em}.admin-page .modal-content .form-group{margin-bottom:1rem}.admin-page .modal-content .modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.analytics-skeleton{display:flex;flex-direction:column;gap:1.5rem}.skeleton-text,.skeleton-button,.skeleton-circle,.skeleton-chart-canvas{background:linear-gradient(90deg,#f7f9fb,#ebeef2,#f7f9fb 40%,#f7f9fb);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;background:#ebeef2}.skeleton-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.skeleton-header .skeleton-title-group{display:flex;flex-direction:column;gap:.25rem}.skeleton-header .skeleton-title-group .skeleton-title{width:280px;height:28px;border-radius:.375rem}.skeleton-header .skeleton-title-group .skeleton-subtitle{width:160px;height:14px;border-radius:.25rem}.skeleton-header .skeleton-range-selector{display:flex;gap:6px;background:#ebeef2;padding:4px;border-radius:.75rem}.skeleton-header .skeleton-range-selector .skeleton-button{width:80px;height:32px;border-radius:.5rem;background:#fff}.skeleton-today-bar{background:#f7f9fb;border-radius:12px;border:1px solid #e2e8f0;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.skeleton-today-bar .skeleton-bar-title{width:180px;height:18px;border-radius:.25rem}.skeleton-today-bar .skeleton-bar-items{display:flex;gap:2rem}@media (max-width: 600px){.skeleton-today-bar .skeleton-bar-items{width:100%;justify-content:space-between}}.skeleton-today-bar .skeleton-today-item{display:flex;align-items:center;gap:.5rem}.skeleton-today-bar .skeleton-today-item .skeleton-circle{width:24px;height:24px;border-radius:50%}.skeleton-today-bar .skeleton-today-item .skeleton-details{display:flex;flex-direction:column;gap:4px}.skeleton-today-bar .skeleton-today-item .skeleton-details .skeleton-val{width:40px;height:18px;border-radius:.25rem}.skeleton-today-bar .skeleton-today-item .skeleton-details .skeleton-lbl{width:100px;height:10px;border-radius:.25rem}.skeleton-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.skeleton-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:1rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:.5rem}.skeleton-card .skeleton-card-header{display:flex;justify-content:space-between;align-items:center}.skeleton-card .skeleton-card-header .skeleton-card-title{width:100px;height:14px;border-radius:.25rem}.skeleton-card .skeleton-card-header .skeleton-circle{width:20px;height:20px;border-radius:50%}.skeleton-card .skeleton-card-desc{width:140px;height:10px;border-radius:.25rem;margin-bottom:.5rem}.skeleton-card .skeleton-card-value{width:120px;height:32px;border-radius:.375rem}.skeleton-card .skeleton-card-trend{width:90px;height:12px;border-radius:.25rem}.skeleton-insights-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:1.5rem}@media (max-width: 1024px){.skeleton-insights-grid{grid-template-columns:1fr}}.skeleton-chart-section{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:1.5rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:1rem}.skeleton-chart-section .skeleton-chart-header{display:flex;justify-content:space-between;align-items:center}.skeleton-chart-section .skeleton-chart-header .skeleton-chart-title{width:180px;height:20px;border-radius:.25rem}.skeleton-chart-section .skeleton-chart-header .skeleton-chart-toggles{display:flex;gap:4px;background:#f1f4f7;padding:3px;border-radius:.5rem}.skeleton-chart-section .skeleton-chart-header .skeleton-chart-toggles .skeleton-button{width:70px;height:24px;border-radius:.375rem;background:#fff}.skeleton-chart-section .skeleton-chart-canvas{width:100%;height:280px;border-radius:.5rem}.skeleton-table-section{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:1.5rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:1rem}.skeleton-table-section .skeleton-table-header-box .skeleton-table-title{width:180px;height:20px;border-radius:.25rem}.skeleton-table-section .skeleton-table{display:flex;flex-direction:column;gap:.5rem}.skeleton-table-section .skeleton-table .skeleton-table-head{display:flex;justify-content:space-between;border-bottom:2px solid #e2e8f0;padding-bottom:.5rem}.skeleton-table-section .skeleton-table .skeleton-table-head .skeleton-th{width:60px;height:14px;border-radius:.25rem}.skeleton-table-section .skeleton-table .skeleton-table-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f1f5f9}.skeleton-table-section .skeleton-table .skeleton-table-row .skeleton-td{width:50px;height:14px;border-radius:.25rem}.skeleton-table-section .skeleton-table .skeleton-table-row .skeleton-td-wide{width:100px;height:14px;border-radius:.25rem}:root{--color-primary: #3b82f6;--color-border: #e2e8f0;--color-text-secondary: #64748b}.analytics-dashboard{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;max-width:1400px;margin:0 auto;width:100%}@media (max-width: 640px){.analytics-dashboard{padding:1rem;gap:1rem}}.analytics-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.analytics-header .analytics-title-area{display:flex;flex-direction:column;gap:.25rem}.analytics-header .analytics-title-area h2{margin:0;color:#0f172a;font-size:1.5rem;font-weight:700}.analytics-header .analytics-title-area .analytics-date-range{font-size:.875rem;color:#64748b;font-weight:500}.analytics-header .analytics-range-selector{display:flex;background:#ebeef2;padding:4px;border-radius:.75rem;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0;max-width:100%}@media (max-width: 640px){.analytics-header .analytics-range-selector{width:100%}}.analytics-header .analytics-range-selector .range-btn{background:transparent;border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:#64748b;border-radius:.5rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.analytics-header .analytics-range-selector .range-btn:hover{color:#0f172a}.analytics-header .analytics-range-selector .range-btn.active{background:#fff;color:#0f172a;box-shadow:0 1px 2px #0000000d}.analytics-reloading-indicator{background:#3b82f61a;color:#3b82f6;padding:.5rem 1rem;border-radius:.375rem;font-size:.75rem;font-weight:600;align-self:flex-start;animation:pulse-reloader 1.5s infinite ease-in-out}@keyframes pulse-reloader{0%,to{opacity:.6}50%{opacity:1}}.analytics-today-bar{background:#f7f9fb;border-radius:12px;border:1px solid #e2e8f0;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}@media (max-width: 640px){.analytics-today-bar{padding:.5rem 1rem;flex-direction:column;align-items:flex-start}}.analytics-today-bar .today-bar-title{font-size:.875rem;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.5px}.analytics-today-bar .today-bar-items{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}@media (max-width: 600px){.analytics-today-bar .today-bar-items{gap:1rem;width:100%;justify-content:space-between}}.analytics-today-bar .today-item{display:flex;align-items:center;gap:.5rem}.analytics-today-bar .today-item .today-icon{color:#3b82f6;font-size:24px}.analytics-today-bar .today-item .today-details{display:flex;flex-direction:column}.analytics-today-bar .today-item .today-val{font-size:1.125rem;font-weight:700;color:#0f172a;line-height:1.1}.analytics-today-bar .today-item .today-lbl{font-size:11px;font-weight:600;color:#64748b}.analytics-today-bar .today-item.warning .today-icon{color:#f59e0b}.analytics-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.analytics-cards-grid>*{min-width:0}@media (max-width: 640px){.analytics-cards-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}.analytics-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:1rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:.5rem;transition:transform .2s ease,box-shadow .2s ease}.analytics-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a}.analytics-card .analytics-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.analytics-card .analytics-card-header .card-title-group{display:flex;flex-direction:column;gap:2px}.analytics-card .analytics-card-header .card-title{font-size:.875rem;font-weight:600;color:#64748b}.analytics-card .analytics-card-header .card-description{font-size:11px;font-weight:500;color:#94a3b8;line-height:1.25}.analytics-card .analytics-card-header .card-icon{color:#94a3b8;font-size:20px;flex-shrink:0;margin-top:2px}.analytics-card .analytics-card-body{display:flex;flex-direction:column;gap:4px}.analytics-card .analytics-card-body .card-value{font-size:1.5rem;font-weight:700;color:#0f172a}.analytics-card .analytics-card-body .card-trend{display:flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600}.analytics-card .analytics-card-body .card-trend .trend-arrow{font-size:14px}.analytics-card .analytics-card-body .card-trend.trend-up{color:#10b981}.analytics-card .analytics-card-body .card-trend.trend-down{color:#ef4444}.analytics-card .analytics-card-body .card-trend.trend-neutral{color:#94a3b8}.analytics-insights-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:1.5rem}@media (max-width: 1024px){.analytics-insights-grid{grid-template-columns:1fr}}.analytics-insights-grid>*{min-width:0}.analytics-chart-container{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:1.5rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:1rem;min-width:0}@media (max-width: 640px){.analytics-chart-container{padding:1rem .5rem}}.analytics-chart-container .analytics-chart-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.analytics-chart-container .analytics-chart-header h3{margin:0;font-size:1.125rem;color:#0f172a;font-weight:700}.analytics-chart-container .analytics-chart-header .chart-metric-selector{display:flex;background:#f1f4f7;padding:3px;border-radius:.5rem;gap:2px}.analytics-chart-container .analytics-chart-header .chart-metric-selector .btn-toggle{background:transparent;border:none;padding:6px 1rem;font-size:.75rem;font-weight:700;color:#64748b;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.analytics-chart-container .analytics-chart-header .chart-metric-selector .btn-toggle.active{background:#fff;color:#3b82f6;box-shadow:0 1px 2px #0000000d}.analytics-chart-container .analytics-chart-wrapper{position:relative;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.analytics-chart-container .analytics-chart-wrapper .analytics-svg{display:block;width:100%;min-width:480px;aspect-ratio:1000/350;overflow:hidden}.analytics-chart-container .analytics-chart-wrapper .analytics-svg .tick-label{font-size:11px;fill:#64748b;font-weight:500;font-family:inherit}.analytics-chart-container .analytics-chart-wrapper .analytics-svg .chart-grid-line line{stroke:#e2e8f0}.analytics-chart-container .analytics-chart-wrapper .chart-tooltip{position:absolute;top:paddingY;background:#0c1322f2;border:1px solid rgba(255,255,255,.15);color:#fff;padding:.5rem 1rem;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;pointer-events:none;z-index:10;min-width:180px;transition:left .1s ease}.analytics-chart-container .analytics-chart-wrapper .chart-tooltip .tooltip-date{font-size:.75rem;font-weight:700;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:4px;margin-bottom:6px;color:#dfc59b}.analytics-chart-container .analytics-chart-wrapper .chart-tooltip .tooltip-metrics{display:flex;flex-direction:column;gap:3px}.analytics-chart-container .analytics-chart-wrapper .chart-tooltip .tooltip-metrics .tooltip-item{display:flex;justify-content:space-between;font-size:.75rem;font-weight:500}.analytics-chart-container .analytics-chart-wrapper .chart-tooltip .tooltip-metrics .tooltip-item .tooltip-label{color:#ffffffb3}.analytics-chart-container .analytics-chart-wrapper .chart-tooltip .tooltip-metrics .tooltip-item .tooltip-val{font-weight:700}.room-performance-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:1.5rem;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:1rem;min-width:0}.room-performance-card .room-performance-header h3{margin:0;font-size:1.125rem;color:#0f172a;font-weight:700}.room-performance-card .room-performance-table-wrapper{overflow-x:auto;width:100%}.room-performance-card .room-performance-table{width:100%;border-collapse:collapse;font-size:.875rem}.room-performance-card .room-performance-table th,.room-performance-card .room-performance-table td{padding:1rem;text-align:left;border-bottom:1px solid #e2e8f0}.room-performance-card .room-performance-table th{font-weight:600;color:#64748b;background:#f7f9fb;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.room-performance-card .room-performance-table .room-num{font-weight:700;color:#0f172a}.room-performance-card .room-performance-table .room-type{color:#64748b}.room-performance-card .room-performance-table .room-nights{font-weight:600;color:#0f172a}.room-performance-card .room-performance-table .room-occ .occ-progress-container{display:flex;align-items:center;gap:.5rem;min-width:120px}.room-performance-card .room-performance-table .room-occ .occ-progress-container .occ-val{font-weight:700;width:38px;text-align:right}.room-performance-card .room-performance-table .room-occ .occ-progress-container .occ-bar-bg{flex:1;height:6px;background:#e5e8ed;border-radius:3px;overflow:hidden}.room-performance-card .room-performance-table .room-occ .occ-progress-container .occ-bar-fill{height:100%;background:#3b82f6;border-radius:3px}.room-performance-card .room-performance-table .room-revenue{font-weight:700;color:#0f172a}.room-performance-card .room-performance-table .text-right{text-align:right}.room-performance-card .room-performance-table .room-perf-row{transition:background .15s ease}.room-performance-card .room-performance-table .room-perf-row:hover{background:#fff}.room-performance-placeholder{display:flex;align-items:center;justify-content:center;height:200px;color:#64748b;font-weight:500;border:1px dashed #e2e8f0;border-radius:12px}.analytics-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;color:#64748b}.analytics-loading-container .analytics-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;border-radius:50%;animation:analytics-spin 1s linear infinite}@keyframes analytics-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analytics-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center;padding:2rem}.analytics-error-container h2{color:#ef4444;margin:0}.analytics-error-container p{color:#64748b;max-width:400px;margin:0}.language-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:22px;background:transparent;border:1px solid currentColor;color:inherit;border-radius:.25rem;cursor:pointer;font-size:.75rem;font-weight:700;letter-spacing:.05em;font-family:inherit;opacity:.6;transition:opacity .15s ease}.language-toggle:hover{opacity:1}.auth-landing{display:flex;min-height:100vh;max-height:100vh;overflow:hidden;background:#fafbfc;font-family:Inter,sans-serif}.hero-side{flex:1;position:relative;overflow:hidden}@media (max-width: 768px){.hero-side{display:none}}.hero-bg-image{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease-in-out;will-change:opacity}.hero-bg-image.active{opacity:1}.hero-bg-image.fading{opacity:.4}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#0c1322eb,#0c1322c7 40%,#0c1322a6);z-index:1}.hero-content-wrapper{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:2rem 3rem;color:#fff;overflow-y:auto}@media (max-width: 1024px){.hero-content-wrapper{padding:1.5rem 2rem}}.hero-top{animation:fadeIn .8s ease-out}.brand{display:flex;align-items:center;gap:.75rem}.hero-center{max-width:560px;animation:fadeInUp .8s ease-out .15s both}.hero-badge{display:inline-flex;align-items:center;padding:.375rem 1rem;background:#c9a96e1f;border:1px solid rgba(201,169,110,.25);border-radius:100px;font-size:.8125rem;font-weight:500;color:#dfc59b;letter-spacing:.02em;margin-bottom:1.25rem}.hero-title{font-size:2.75rem;font-weight:800;line-height:1.15;margin:0 0 1.25rem;letter-spacing:-.03em;color:#fff}@media (max-width: 1024px){.hero-title{font-size:2.25rem}}.hero-title-accent{background:linear-gradient(135deg,#c9a96e,#dfc59b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.0625rem;line-height:1.6;color:#ffffffb3;margin:0 0 2rem;max-width:480px}@media (max-width: 1024px){.hero-subtitle{font-size:1rem}}.hero-features{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (max-width: 1024px){.hero-features{grid-template-columns:1fr}}.hero-feature{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);transition:all .3s ease}.hero-feature:hover{background:#ffffff14;border-color:#c9a96e33;transform:translateY(-1px)}.hero-feature-icon{flex-shrink:0;width:38px;height:38px;border-radius:8px;background:#c9a96e1f;display:flex;align-items:center;justify-content:center;color:#c9a96e}.hero-feature-content{display:flex;flex-direction:column;gap:.2rem;min-width:0}.hero-feature-title{font-size:.875rem;font-weight:600;color:#fff}.hero-feature-desc{font-size:.8125rem;color:#ffffff8c;line-height:1.4}.hero-bottom{display:flex;flex-direction:column;gap:1.25rem;animation:fadeInUp .8s ease-out .5s both}.hero-stats{display:flex;gap:2.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.hero-stat{display:flex;flex-direction:column;gap:.125rem}.hero-stat-value{font-size:1.375rem;font-weight:700;color:#c9a96e}.hero-stat-label{font-size:.8125rem;color:#ffffff80}.hero-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(255,255,255,.07)}.hero-contact{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:#fff6;font-size:.8125rem;transition:color .2s ease}.hero-contact:hover{color:#ffffffb3}.hero-contact:hover .hero-contact-email{color:#c9a96e}.hero-contact-email{color:#c9a96eb3;transition:color .2s ease}.hero-testimonial{padding:1.125rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px}.testimonial-quote{display:flex;gap:.75rem;margin-bottom:.875rem}.testimonial-quote svg{flex-shrink:0;margin-top:.125rem;color:#c9a96e}.testimonial-quote p{font-size:.9375rem;line-height:1.5;color:#ffffffbf;margin:0;font-style:italic}.testimonial-author-row{display:flex;align-items:center;gap:.75rem;padding-left:1.75rem}.testimonial-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#c9a96e,#dfc59b);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#0c1322}.testimonial-info{display:flex;flex-direction:column}.testimonial-info strong{font-size:.875rem;font-weight:600;color:#fff}.testimonial-info span{font-size:.75rem;color:#ffffff80}.auth-form-side{flex:0 0 480px;background:#fff;display:flex;align-items:center;justify-content:center;padding:2.5rem 2rem;overflow-y:auto;position:relative}.auth-form-side:before{content:"";position:absolute;top:0;left:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent 0%,#e2e8f0 20%,#e2e8f0 80%,transparent 100%)}@media (max-width: 1024px){.auth-form-side{flex:0 0 440px;padding:2rem 1.5rem}}@media (max-width: 768px){.auth-form-side{flex:1}.auth-form-side:before{display:none}}.auth-form-container{width:100%;max-width:380px;animation:fadeIn .6s ease-out}.form-header{margin-bottom:1.75rem}.mobile-brand{display:none;align-items:center;margin-bottom:1.5rem}@media (max-width: 768px){.mobile-brand{display:flex}}.form-title{font-size:1.625rem;font-weight:700;color:#0f172a;margin:0 0 .375rem;letter-spacing:-.02em}.form-subtitle{font-size:.9375rem;color:#64748b;margin:0;line-height:1.5}.auth-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;background:#f1f5f9;padding:.25rem;border-radius:10px}.auth-tabs .tab{flex:1;padding:.625rem 1rem;background:transparent;border:none;border-radius:8px;font-size:.875rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .25s ease}.auth-tabs .tab:hover{color:#0f172a}.auth-tabs .tab.active{background:#fff;color:#0c1322;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 480px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.8125rem;font-weight:600;color:#0f172a}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper .input-icon{position:absolute;left:.875rem;color:#94a3b8;pointer-events:none;transition:color .2s ease;z-index:1;width:18px;height:18px}.input-wrapper input{width:100%;padding:.6875rem .875rem .6875rem 3rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;transition:all .2s ease;background:#fff;color:#0f172a}.input-wrapper input:focus{outline:none;border-color:#0c1322;box-shadow:0 0 0 3px #0c132214}.input-wrapper input:focus~.input-icon,.input-wrapper input:focus+.input-icon{color:#0c1322}.input-wrapper input:focus~.input-icon{color:#0c1322}.input-wrapper input::placeholder{color:#94a3b8}.input-wrapper input:disabled{background:#f8fafc;cursor:not-allowed;opacity:.6}.input-wrapper:focus-within .input-icon{color:#0c1322}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;margin-top:-.125rem}.form-options .checkbox-label{display:flex;align-items:center;gap:.4rem;cursor:pointer;color:#64748b}.form-options .checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#0c1322}.form-options .forgot-link{color:#c9a96e;text-decoration:none;font-weight:500;transition:color .2s ease}.form-options .forgot-link:hover{color:#bc954c}.submit-button{padding:.8125rem;background:#0c1322;color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden;margin-top:.375rem}.submit-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#c9a96e,#ceb27d);opacity:0;transition:opacity .3s ease}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0c13224d}.submit-button:hover:not(:disabled):after{opacity:1}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.submit-button span{position:relative;z-index:1}.submit-button .loading-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;position:relative;z-index:1}.terms-text{font-size:.75rem;color:#94a3b8;text-align:center;line-height:1.5;margin:.125rem 0 0}.error-message{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem .875rem;background:#fef0f0;border:1px solid rgb(250.2,198.9,198.9);border-radius:8px;color:#eb1a1a;font-size:.8125rem;line-height:1.4;animation:slideDown .3s ease-out;margin-bottom:.25rem}.error-message svg{flex-shrink:0;margin-top:.0625rem}.tenant-selection-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:2rem;background:#0c1322}.tenant-selection-container:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(201,169,110,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(201,169,110,.05) 0%,transparent 50%);pointer-events:none}.tenant-selection-card{width:100%;max-width:560px;background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 25px 60px #0000004d;animation:scaleIn .4s ease-out;position:relative;z-index:1}.tenant-selection-card h2{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0 0 .375rem;text-align:center;letter-spacing:-.02em}.tenant-selection-card .subtitle{font-size:.9375rem;color:#64748b;text-align:center;margin:0 0 2rem}.tenant-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.tenant-card{display:flex;align-items:center;gap:1rem;padding:1.125rem;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .25s ease;text-align:left}.tenant-card:hover{border-color:#c9a96e;background:#c9a96e0a;transform:translate(3px)}.tenant-card .tenant-icon{flex-shrink:0;width:44px;height:44px;background:#0c1322;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#c9a96e}.tenant-card .tenant-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.tenant-card .tenant-info .tenant-name{font-size:1rem;font-weight:600;color:#0f172a}.tenant-card .tenant-info .tenant-role{font-size:.8125rem;color:#64748b;text-transform:capitalize}.tenant-card .arrow-icon{flex-shrink:0;color:#94a3b8;transition:all .25s ease}.tenant-card:hover .arrow-icon{color:#c9a96e;transform:translate(3px)}.back-link{display:block;width:100%;padding:.75rem;background:transparent;border:1.5px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .25s ease;text-align:center}.back-link:hover{border-color:#64748b;color:#0f172a}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.auth-landing{flex-direction:column;overflow-y:auto}.auth-form-side{min-height:100vh;padding:2rem 1.5rem}.auth-form-container{padding-top:1rem}}.billing-page{padding:1.5rem;max-width:1200px;margin:0 auto}.billing-dev-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:12px;color:#9e6506;font-size:.875rem;margin-bottom:1.5rem}.billing-dev-banner svg{flex-shrink:0}.billing-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.billing-header h1{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0}.billing-layout{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;align-items:start}.billing-list{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.billing-tabs{display:flex;border-bottom:1px solid #e2e8f0;overflow-x:auto;scrollbar-width:none}.billing-tabs::-webkit-scrollbar{display:none}.billing-tab{flex:1;min-width:0;padding:.5rem .25rem;font-size:.75rem;font-weight:600;color:#64748b;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.billing-tab:hover{color:#0f172a}.billing-tab--active{color:#0d9488;border-bottom-color:#0d9488}.billing-list__loading,.billing-list__empty{padding:2rem 1rem;text-align:center;color:#94a3b8;font-size:.875rem}.billing-card{display:block;width:100%;text-align:left;padding:1rem;background:transparent;border:none;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .12s}.billing-card:last-child{border-bottom:none}.billing-card:hover{background:#f1f5f9}.billing-card--active{background:#0d94880f;border-left:3px solid #0d9488;padding-left:calc(1rem - 3px)}.billing-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.billing-card__ref{font-weight:700;font-size:.875rem;color:#0f172a}.billing-card__guest{font-size:.875rem;color:#64748b;margin-bottom:4px}.billing-card__bottom{display:flex;align-items:center;justify-content:space-between}.billing-card__dates{font-size:.75rem;color:#94a3b8}.billing-card__amount{font-size:.875rem;font-weight:600;color:#0f172a}.billing-detail-pane{background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-height:400px}.billing-detail-pane__prompt{padding:3rem;text-align:center;color:#94a3b8;font-size:.875rem}.billing-detail{padding:1.5rem}.billing-detail__loading{padding:3rem;text-align:center;color:#94a3b8;font-size:.875rem}.billing-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.billing-detail__header-info{display:flex;flex-direction:column;gap:4px}.billing-detail__header-info h3{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0}.billing-detail__header-info span{font-size:.875rem;color:#64748b}.billing-detail__dates{color:#94a3b8!important}.billing-detail__table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.875rem}.billing-detail__table th{text-align:left;padding:.25rem .5rem;font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}.billing-detail__table td{padding:.5rem;color:#0f172a;border-bottom:1px solid #f1f5f9}.billing-detail__table th:not(:first-child),.billing-detail__table td:not(:first-child){text-align:right}.billing-detail__total{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-top:2px solid #e2e8f0;margin-bottom:1.5rem}.billing-detail__total span{font-size:.875rem;color:#64748b}.billing-detail__total strong{font-size:1.125rem;font-weight:700;color:#0d9488}.billing-detail__paid-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;background:#10b9810f;border:1px solid rgba(16,185,129,.2);border-radius:.375rem}.billing-detail__paid-info{font-size:.875rem;color:#10b981;font-weight:500}.billing-pay-panel{padding-top:1rem;border-top:1px solid #f1f5f9}.billing-pay-panel__methods{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;margin-bottom:.5rem}.billing-pay-panel__method{padding:.25rem .5rem;font-size:.875rem;font-weight:500;border:1px solid #e2e8f0;border-radius:.375rem;background:#f7f9fb;color:#64748b;cursor:pointer;transition:all .12s}.billing-pay-panel__method:hover{border-color:#0d9488;color:#0d9488}.billing-pay-panel__method--on{border-color:#0d9488;background:#0d948814;color:#0d9488;font-weight:600}.billing-pay-panel__ticket-note{font-size:.75rem;color:#94a3b8;font-style:italic;margin-bottom:.5rem}.billing-pay-panel__actions{display:flex;align-items:center;gap:.5rem}.billing-ticket-btn{display:inline-flex;align-items:center;gap:4px;color:#0d9488;border-color:#0d9488}.billing-ticket-btn:hover{background:#0d948814}.billing-modal{display:flex;flex-direction:column;gap:1rem;width:420px}.billing-modal h3{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0}.billing-modal input{padding:.5rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#0f172a;background:#fff;outline:none;transition:border-color .15s}.billing-modal input:focus{border-color:#0d9488}.billing-modal__actions{display:flex;justify-content:flex-end;gap:.5rem}.phone-input{display:flex;flex-direction:column;gap:3px;width:100%}.phone-input__row{display:flex;border:1.5px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff;transition:border-color .15s ease}.phone-input__row:focus-within{border-color:#c9a96e}.phone-input__row--error{border-color:#ef4444}.phone-input__row--error:focus-within{border-color:#ef4444}.phone-input__row--disabled{opacity:.6;background:#f8fafc;cursor:not-allowed}.phone-input__country-wrap{position:relative;display:flex;align-items:center;gap:2px;padding:7px .5rem;border-right:1.5px solid #e2e8f0;background:#f8fafc;flex-shrink:0;cursor:pointer}.phone-input__country-display{font-size:.875rem;color:#0f172a;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.phone-input__chevron{font-size:14px!important;color:#94a3b8;pointer-events:none}.phone-input__country-select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:.875rem}.phone-input__country-select:disabled{cursor:not-allowed}.phone-input__local{flex:1;padding:7px .5rem;border:none;outline:none;font-size:.875rem;color:#0f172a;background:#fff;min-width:0}.phone-input__local::placeholder{color:#94a3b8}.phone-input__local:disabled{cursor:not-allowed;background:#f8fafc}.phone-input__error{font-size:.75rem;color:#ef4444}.client-management{padding:2rem;max-width:1200px;margin:0 auto}.cm-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.cm-header h1{margin:0;font-size:1.5rem;color:#0f172a;font-weight:700;letter-spacing:-.02em}.cm-header-left{display:flex;align-items:center;gap:.5rem}.cm-count-badge{padding:2px 8px;background:#c9a96e1a;color:#b58d44;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.02em}.cm-search-wrap{position:relative;display:flex;align-items:center}.cm-search-wrap .cm-search-icon{position:absolute;left:.5rem;font-size:16px!important;color:#94a3b8;pointer-events:none}.cm-search{padding:7px 1rem 7px 2.1rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#0f172a;background:#fff;width:260px;transition:border-color .15s ease}.cm-search::placeholder{color:#94a3b8}.cm-search:focus{outline:none;border-color:#c9a96e}@media (max-width: 768px){.cm-search{width:100%}}.cm-state-view{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:#64748b}.cm-state-view p{margin:0;font-size:.875rem}.cm-state-icon{font-size:40px!important;color:#94a3b8;opacity:.45}.cm-spinner{width:28px;height:28px;border:2.5px solid #e2e8f0;border-top-color:#c9a96e;border-radius:50%;animation:cm-spin .7s linear infinite}@keyframes cm-spin{to{transform:rotate(360deg)}}.cm-table{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.cm-table-head{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(160px,1.5fr) 130px 130px 110px 80px;padding:0 1rem;background:#f8fafc;border-bottom:1.5px solid #e2e8f0}.cm-table-head span{padding:10px .5rem;font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.cm-table-body{display:flex;flex-direction:column}.cm-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(160px,1.5fr) 130px 130px 110px 80px;align-items:center;padding:0 1rem;border-bottom:1px solid #f1f5f9;transition:background .15s ease;min-height:52px}.cm-row:last-child{border-bottom:none}.cm-row:hover{background:#f1f5f9}.cm-row:hover .cm-cell--actions .cm-icon-btn{opacity:1}.cm-row--confirming{background:#ef444408}.cm-cell{padding:0 .5rem;font-size:.875rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cm-cell--name{display:flex;align-items:center;gap:.5rem}.cm-cell--secondary{color:#64748b}.cm-cell--muted{color:#94a3b8;font-size:.75rem}.cm-cell--actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.cm-avatar{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.03em}.cm-avatar--sm{width:30px;height:30px;font-size:11px}.cm-name{font-weight:500;color:#0f172a;overflow:hidden;text-overflow:ellipsis}.cm-empty{color:#94a3b8}.cm-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:.375rem;background:transparent;color:#94a3b8;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.cm-icon-btn svg{font-size:15px!important}.cm-icon-btn:hover{color:#0f172a;background:#f1f5f9}.cm-icon-btn--danger:hover{color:#ef4444;background:#ef444414}.cm-confirm-label{font-size:.75rem;color:#ef4444;font-weight:600;margin-right:.25rem;white-space:nowrap}.cm-action-btn{padding:3px 10px;border-radius:.375rem;font-size:.75rem;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:all .15s ease;white-space:nowrap}.cm-action-btn--danger{background:#ef4444;color:#fff;border-color:#ef4444}.cm-action-btn--danger:hover{background:#ed2d2d}.cm-action-btn--ghost{background:transparent;color:#64748b;border-color:#e2e8f0}.cm-action-btn--ghost:hover{background:#f1f5f9;color:#0f172a}.cm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c132280;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.cm-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.cm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0;flex-shrink:0}.cm-modal-title{display:flex;align-items:center;gap:.5rem}.cm-modal-title h2{margin:0;font-size:1rem;font-weight:600;color:#0f172a;letter-spacing:-.01em}.cm-modal-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:transparent;border-radius:.375rem;color:#64748b;cursor:pointer;transition:all .15s ease}.cm-modal-close:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.cm-modal-close:disabled{opacity:.4;cursor:not-allowed}.cm-modal-close svg{font-size:17px!important}.cm-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.cm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 640px){.cm-form-grid{grid-template-columns:1fr}}.cm-form-grid .form-group{display:flex;flex-direction:column;gap:5px}.cm-form-grid .form-group label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.cm-form-grid .form-group input,.cm-form-grid .form-group textarea{padding:7px .5rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#0f172a;background:#fff;transition:border-color .15s ease}.cm-form-grid .form-group input::placeholder,.cm-form-grid .form-group textarea::placeholder{color:#94a3b8}.cm-form-grid .form-group input:focus,.cm-form-grid .form-group textarea:focus{outline:none;border-color:#c9a96e}.cm-form-grid .form-group input:disabled,.cm-form-grid .form-group textarea:disabled{opacity:.6;cursor:not-allowed;background:#f8fafc}.cm-form-grid .form-group textarea{resize:vertical;min-height:68px}.cm-form-grid .form-group--full{grid-column:1/-1}.cm-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.5rem 1.5rem 1rem;border-top:1px solid #e2e8f0;flex-shrink:0}.cm-btn{padding:7px 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;border:1.5px solid transparent;transition:all .15s ease}.cm-btn--primary{background:#c9a96e;color:#0c1322;border-color:#c9a96e}.cm-btn--primary:hover:not(:disabled){background:#c29e5c}.cm-btn--primary:disabled{opacity:.55;cursor:not-allowed}.cm-btn--ghost{background:transparent;color:#64748b;border-color:#e2e8f0}.cm-btn--ghost:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.cm-btn--ghost:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 1024px){.cm-table-head,.cm-row{grid-template-columns:minmax(160px,1.5fr) minmax(140px,1.5fr) 0 130px 100px 72px}.cm-table-head .cm-cell:nth-child(3),.cm-row .cm-cell:nth-child(3){display:none}.cm-table-head span:nth-child(3){display:none}}@media (max-width: 768px){.cm-table-head,.cm-row{grid-template-columns:minmax(140px,1fr) minmax(130px,1fr) 0 0 90px 64px}.cm-table-head .cm-cell:nth-child(3),.cm-table-head .cm-cell:nth-child(4),.cm-row .cm-cell:nth-child(3),.cm-row .cm-cell:nth-child(4){display:none}.cm-table-head span:nth-child(3),.cm-table-head span:nth-child(4){display:none}}.file-preview{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:8px;padding:.5rem 1rem;transition:background .15s ease}.file-preview:hover{background:#f7f9fb}.file-preview__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.file-preview__meta{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.file-preview__icon{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#0d948814;border-radius:.25rem;color:#0d9488}.file-preview__icon svg{width:16px;height:16px}.file-preview__info{flex:1;min-width:0}.file-preview__name{margin:0;font-size:.875rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview__details{margin:1px 0 0;font-size:.75rem;color:#94a3b8}.file-preview__date{margin:1px 0 0;font-size:10px;color:#94a3b8;opacity:.7}.file-preview__actions{display:flex;gap:4px;flex-shrink:0}.file-preview__action-btn{width:30px;height:30px;border:1px solid #e2e8f0;border-radius:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;background:#f7f9fb;color:#64748b;transition:all .15s ease}.file-preview__action-btn svg{width:15px;height:15px}.file-preview__action-btn:hover:not(:disabled){background:#ebeef2;color:#0f172a}.file-preview__action-btn:disabled{opacity:.4;cursor:not-allowed}.file-preview__action-btn--download:hover:not(:disabled){border-color:#0d9488;color:#0d9488;background:#0d94880f}.file-preview__action-btn--delete:hover:not(:disabled){border-color:#ef4444;color:#ef4444;background:#ef44440f}.file-preview__action-btn .spinner{width:14px;height:14px;border:2px solid rgba(13,148,136,.2);border-top-color:#0d9488;border-radius:50%;animation:fp-spin .8s linear infinite}.file-preview__image-container{margin-top:.5rem;border-radius:.25rem;overflow:hidden;background:#f7f9fb}.file-preview__image{width:100%;height:auto;display:block;max-height:180px;object-fit:contain}.file-preview__pdf-container{margin-top:.5rem}.file-preview__view-link{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:#0d94880f;color:#0d9488;border:1px solid rgba(13,148,136,.2);border-radius:8px;font-size:.75rem;font-weight:600;text-decoration:none;transition:background .15s ease}.file-preview__view-link:hover{background:#0d94881f}.file-preview__error{margin-top:.5rem;padding:.25rem .5rem;background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:.25rem;font-size:.75rem;color:#ef4444}.file-preview__confirm{margin-top:.5rem;padding:.5rem 1rem;background:#f59e0b0f;border:1px solid rgba(245,158,11,.2);border-radius:8px}.file-preview__confirm-text{margin:0 0 .5rem;font-size:.75rem;color:#64748b}.file-preview__confirm-actions{display:flex;gap:.25rem;justify-content:flex-end}.file-preview__confirm-cancel,.file-preview__confirm-delete{padding:5px 12px;border:1px solid #e2e8f0;border-radius:.25rem;font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.file-preview__confirm-cancel:disabled,.file-preview__confirm-delete:disabled{opacity:.5;cursor:not-allowed}.file-preview__confirm-cancel{background:#f7f9fb;color:#64748b}.file-preview__confirm-cancel:hover:not(:disabled){background:#ebeef2}.file-preview__confirm-delete{background:#ef4444;color:#fff;border-color:#ef4444}.file-preview__confirm-delete:hover:not(:disabled){background:#ec1e1e}@keyframes fp-spin{to{transform:rotate(360deg)}}.audit-log-feed{margin-top:2rem;border-top:1px solid #e2e8f0;padding-top:1.5rem}.audit-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.audit-header svg{color:#c9a96e;font-size:1.25rem}.audit-header h4{margin:0;font-size:1rem;color:#0c1322;font-weight:600}.audit-list{display:flex;flex-direction:column;gap:1rem;max-height:300px;overflow-y:auto;padding-right:.5rem}.audit-list::-webkit-scrollbar{width:6px}.audit-list::-webkit-scrollbar-track{background:#f8fafc;border-radius:3px}.audit-list::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.audit-list::-webkit-scrollbar-thumb:hover{background:#64748b}.audit-item{display:flex;gap:1rem;padding:1rem;background:#f8fafc;border-radius:.25rem;transition:all .2s ease}.audit-item:hover{background:#f1f5f9;transform:translate(2px)}.audit-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;border:1.5px solid #e2e8f0}.audit-icon svg{font-size:1.125rem;color:#c9a96e}.audit-content{flex:1;min-width:0}.audit-description{font-size:.875rem;color:#0f172a;margin-bottom:.25rem;line-height:1.5}.audit-meta{display:flex;gap:1rem;font-size:.75rem;color:#94a3b8;flex-wrap:wrap}.audit-user{display:flex;align-items:center;gap:4px}.audit-user svg{font-size:.875rem}.audit-time{font-style:italic}.audit-loading,.audit-empty{padding:1.5rem;text-align:center;color:#64748b;font-size:.875rem;font-style:italic}.booking-adjustments h4{margin:0 0 1rem;font-size:.875rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.adjustments-breakdown{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;margin-bottom:1rem}.breakdown-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.breakdown-row .breakdown-label{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#64748b;font-weight:500}.breakdown-row .breakdown-label svg{font-size:1rem;flex-shrink:0}.breakdown-row .breakdown-value{font-size:.875rem;font-weight:600;color:#0f172a;white-space:nowrap}.breakdown-row .breakdown-value--green{color:#10b981}.breakdown-row .breakdown-value--red{color:#ef4444}.breakdown-row--discount .breakdown-label{color:#10b981}.breakdown-row--penalty .breakdown-label{color:#ef4444}.breakdown-row--total{padding-top:.5rem;border-top:1.5px solid #e2e8f0;margin-top:.25rem}.breakdown-row--total .breakdown-label{font-weight:700;color:#0f172a}.breakdown-row--total .breakdown-value{font-size:1rem;font-weight:700}.adjustments-controls{display:flex;flex-direction:column;gap:1rem}.adjustment-block{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.adjustment-block-header{display:flex;justify-content:space-between;align-items:center}.adjustment-block-header span{font-size:.875rem;font-weight:600;color:#0f172a}.btn-link{background:none;border:none;padding:0;cursor:pointer;font-size:.75rem;color:#3b82f6;font-weight:600;display:inline-flex;align-items:center;gap:2px;transition:color .15s ease}.btn-link:hover:not(:disabled){color:#2563eb}.btn-link:disabled{opacity:.5;cursor:not-allowed}.btn-link--danger{color:#ef4444}.btn-link--danger:hover:not(:disabled){color:#eb1515}.btn-link--small{font-size:.75rem}.applied-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:.375rem;font-size:.75rem;color:#0a7350;font-weight:600}.applied-tag svg{font-size:.875rem}.adjustment-form{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0}.adjustment-form .form-group{display:flex;flex-direction:column;gap:.25rem}.adjustment-form .form-group label{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.adjustment-form .form-group input,.adjustment-form .form-group select{padding:.5rem 1rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;background-color:#fff;color:#0f172a;transition:border-color .15s ease;font-family:inherit}.adjustment-form .form-group input:focus,.adjustment-form .form-group select:focus{outline:none;border-color:#c9a96e}.adjustment-form .form-group input:disabled,.adjustment-form .form-group select:disabled{background-color:#f8fafc;color:#94a3b8;cursor:not-allowed}.adjustment-form .form-group--row{flex-direction:row;gap:1rem}.adjustment-form .form-group--row>.form-group{flex:1}.type-toggle{display:flex;border:1.5px solid #e2e8f0;border-radius:8px;overflow:hidden}.type-toggle-btn{flex:1;padding:.5rem;border:none;background-color:#fff;font-size:.75rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s ease;font-family:inherit}.type-toggle-btn:not(:last-child){border-right:1.5px solid #e2e8f0}.type-toggle-btn.is-active{background-color:#c9a96e;color:#fff}.type-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.penalty-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.penalty-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background-color:#ef44440d;border:1px solid rgba(239,68,68,.12);border-radius:.375rem}.penalty-item .penalty-item-label{display:flex;align-items:center;gap:.25rem;flex:1;font-size:.875rem;color:#0f172a;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.penalty-item .penalty-item-label svg{font-size:.875rem;color:#ef4444;flex-shrink:0}.penalty-item .penalty-item-value{font-size:.875rem;font-weight:600;color:#ef4444;white-space:nowrap;flex-shrink:0}.penalty-item .penalty-item-amount{font-size:.75rem;font-weight:400;color:#94a3b8;margin-left:.25rem}.penalty-item .penalty-remove-btn{background:none;border:none;padding:2px;cursor:pointer;color:#ef4444;display:flex;align-items:center;border-radius:.25rem;transition:background-color .15s ease;flex-shrink:0}.penalty-item .penalty-remove-btn:hover{background-color:#ef44441a}.penalty-item .penalty-remove-btn svg{font-size:1rem}.btn-small{padding:.25rem 1rem;font-size:.75rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;align-self:flex-start}.btn-small.btn-primary{background-color:#3b82f6;color:#fff}.btn-small.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-small.btn-primary:disabled{opacity:.6;cursor:not-allowed}.file-upload{width:100%}.file-upload__input{display:none}.file-upload__dropzone{border:2px dashed #d1d5db;border-radius:8px;padding:32px;text-align:center;cursor:pointer;transition:all .2s ease;background-color:#f9fafb}.file-upload__dropzone:hover:not(.disabled){border-color:#3b82f6;background-color:#eff6ff}.file-upload__dropzone.drag-over{border-color:#3b82f6;background-color:#dbeafe;transform:scale(1.02)}.file-upload__dropzone.disabled{cursor:not-allowed;opacity:.5}.file-upload__dropzone-icon{color:#6b7280;margin-bottom:16px;display:flex;justify-content:center}.file-upload__dropzone-icon svg{stroke:currentColor}.file-upload__dropzone-icon .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.file-upload__dropzone-text{margin:0}.file-upload__dropzone-title{margin:0 0 4px;font-size:14px;font-weight:500;color:#111827}.file-upload__dropzone-subtitle{margin:0;font-size:12px;color:#6b7280}.file-upload__preview{display:flex;align-items:center;gap:12px;padding:12px;background-color:#f0fdf4;border:1px solid #86efac;border-radius:8px}.file-upload__preview-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#22c55e1a;border-radius:4px;color:#22c55e}.file-upload__preview-icon svg{width:24px;height:24px}.file-upload__preview-content{flex:1;min-width:0}.file-upload__preview-name{margin:0;font-size:14px;font-weight:500;color:#111827;word-break:break-word}.file-upload__preview-size{margin:4px 0 0;font-size:12px;color:#6b7280}.file-upload__preview-remove{flex-shrink:0;width:32px;height:32px;border:none;background-color:#fee2e2;color:#dc2626;border-radius:4px;font-size:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.file-upload__preview-remove:hover:not(:disabled){background-color:#fecaca}.file-upload__preview-remove:disabled{opacity:.5;cursor:not-allowed}.file-upload__error{margin-top:8px;padding:8px 12px;background-color:#fee2e2;border:1px solid #fecaca;border-radius:4px;font-size:13px;color:#dc2626}.print-receipt-modal{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000c;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;overflow-y:auto}.receipt-actions{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:center}.receipt-actions .btn{display:flex;align-items:center;gap:.25rem}.receipt-container{background:#fff;max-width:800px;width:100%;padding:3rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border-radius:12px;color:#000}.receipt-header{text-align:center;border-bottom:2px solid #0c1322;padding-bottom:1.5rem;margin-bottom:2rem}.receipt-header .receipt-hotel-name{font-size:1.5rem;font-weight:700;color:#0c1322;margin-bottom:1rem;letter-spacing:.5px;text-transform:uppercase}.receipt-header h1{margin:0 0 .5rem;font-size:1.25rem;color:#0c1322}.receipt-header .receipt-number{font-size:.875rem;color:#64748b;font-weight:600}.receipt-section{margin-bottom:2rem;page-break-inside:avoid}.receipt-section h3{margin:0 0 1rem;font-size:1.125rem;color:#0c1322;border-bottom:1px solid #e2e8f0;padding-bottom:.25rem}.receipt-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px dotted #f1f5f9}.receipt-row.receipt-total{border-top:2px solid #0c1322;border-bottom:2px solid #0c1322;padding:1rem 0;margin-top:1rem;font-weight:700;font-size:1.125rem}.receipt-row .receipt-label{color:#64748b;font-weight:500}.receipt-row .receipt-value{color:#0c1322;font-weight:600}.receipt-notes{padding:1rem;background-color:#f8fafc;border-radius:.25rem;font-size:.875rem;line-height:1.6;color:#0f172a}.receipt-footer{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #e2e8f0;text-align:center;color:#64748b}.receipt-footer p{margin:.25rem 0;font-size:.875rem}.receipt-footer .receipt-date{font-size:.75rem;color:#94a3b8}@media print{.print-receipt-modal{position:static;background:#fff;padding:0}.no-print{display:none!important}.receipt-container{box-shadow:none;border-radius:0;max-width:100%;padding:20mm}@page{margin:20mm}}.booking-detail-drawer{position:fixed;right:0;top:0;width:min(100%,420px);height:100vh;background:#fff;box-shadow:-4px 0 12px #00000026;z-index:95;display:flex;flex-direction:column;animation:slideInRight .3s ease;overflow:hidden}@media (max-width: 768px){.booking-detail-drawer{width:100%}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1.5px solid #e2e8f0;flex-shrink:0}.drawer-header .drawer-header-title{display:flex;align-items:center;gap:.5rem}.drawer-header .drawer-header-title h2{margin:0;font-size:1.125rem;color:#0f172a;font-weight:600}.drawer-header .drawer-header-title .booking-ref-badge{font-size:.75rem;font-weight:600;color:#64748b;background:#ebeef2;border:1px solid #e2e8f0;border-radius:.375rem;padding:2px .5rem;letter-spacing:.05em;font-variant-numeric:tabular-nums}.drawer-header .drawer-header-actions{display:flex;gap:.25rem;align-items:center}.drawer-header .icon-btn,.drawer-header .close-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:all .15s ease}.drawer-header .icon-btn:hover:not(:disabled),.drawer-header .close-btn:hover:not(:disabled){background-color:#f8fafc;color:#0f172a}.drawer-header .icon-btn.success,.drawer-header .close-btn.success{color:#10b981}.drawer-header .icon-btn.success:hover:not(:disabled),.drawer-header .close-btn.success:hover:not(:disabled){background-color:#10b9811a;color:#10b981}.drawer-header .icon-btn.danger,.drawer-header .close-btn.danger{color:#ef4444}.drawer-header .icon-btn.danger:hover:not(:disabled),.drawer-header .close-btn.danger:hover:not(:disabled){background-color:#ef44441a;color:#ef4444}.drawer-header .icon-btn:disabled,.drawer-header .close-btn:disabled{opacity:.5;cursor:not-allowed}.drawer-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.drawer-footer{border-top:1.5px solid #e2e8f0;padding:1.5rem;flex-shrink:0;background-color:#f8fafc}.guest-section h3{margin:0 0 1rem;font-size:1rem;color:#0f172a;font-weight:600}.guest-section .guest-info{display:flex;flex-direction:column;gap:.5rem}.guest-section .info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background-color:#f8fafc;border-radius:8px}.guest-section .info-row .info-label{font-size:.875rem;color:#64748b;font-weight:500}.guest-section .info-row .info-value{font-size:.875rem;color:#0f172a;font-weight:500}.booking-section h4,.status-section h4,.payment-section h4,.adjustments-section h4,.notes-section h4{margin:0 0 1rem;font-size:.875rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.details-grid .detail-item{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 1rem;background-color:#f8fafc;border-radius:8px}.details-grid .detail-item .detail-label{font-size:.75rem;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.details-grid .detail-item .detail-value{font-size:1rem;color:#0f172a;font-weight:600}.details-grid .detail-item--full{grid-column:1/-1}.status-timeline{display:flex;gap:.5rem;overflow-x:auto;padding:.5rem 0}.status-timeline .timeline-step{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:fit-content;flex-shrink:0}.status-timeline .timeline-step .timeline-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background-color:#f8fafc}.status-timeline .timeline-step .timeline-dot svg{font-size:1rem;color:#fff}.status-timeline .timeline-step .timeline-label{font-size:.75rem;color:#64748b;text-align:center;max-width:68px;font-weight:500;word-break:break-word;line-height:1.25}.status-timeline .timeline-step.completed .timeline-dot{background-color:#10b981;box-shadow:0 0 8px #10b9814d}.status-timeline .timeline-step.active .timeline-dot{transform:scale(1.15);box-shadow:0 0 12px #3b82f666}.payment-details{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.payment-details .payment-row{display:flex;justify-content:space-between;align-items:center}.payment-details .payment-row .payment-label{font-size:.875rem;color:#64748b;font-weight:500}.payment-details .payment-row .payment-value{font-size:1rem;color:#0f172a;font-weight:600}.payment-details .payment-row .payment-value.success{color:#10b981}.payment-details .payment-row .payment-value.warning{color:#f59e0b}.payment-details .payment-progress{display:flex;align-items:center;gap:1rem}.payment-details .payment-progress .progress-bar{flex:1;height:8px;background-color:#f1f5f9;border-radius:999px;overflow:hidden}.payment-details .payment-progress .progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#c9a96e);transition:width .3s ease}.payment-details .payment-progress .progress-text{font-size:.75rem;color:#64748b;font-weight:600;min-width:45px;text-align:right}.record-payment{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:#c9a96e0d;border:1.5px solid rgba(201,169,110,.2);border-radius:8px}.record-payment label{font-size:.875rem;color:#64748b;font-weight:600}.record-payment .payment-method-row{display:flex;gap:.25rem}.record-payment .payment-method-btn{padding:4px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;color:#64748b;transition:all .15s ease}.record-payment .payment-method-btn:hover{border-color:#c9a96e;color:#c9a96e}.record-payment .payment-method-btn--active{border-color:#c9a96e;background:#c9a96e1a;color:#bb9349}.record-payment .payment-input-row{display:flex;gap:.5rem}.record-payment .payment-input-row input{flex:1;padding:.5rem 1rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;background-color:#fff;color:#0f172a;transition:border-color .15s ease}.record-payment .payment-input-row input:focus{outline:none;border-color:#c9a96e}.record-payment .payment-input-row input:disabled{background-color:#f8fafc;color:#94a3b8}.payment-ticket-toggle{display:flex;align-items:center;gap:.25rem;cursor:pointer}.payment-ticket-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#c9a96e;cursor:pointer;flex-shrink:0}.payment-ticket-toggle span{font-size:.875rem;color:#64748b;font-weight:500;-webkit-user-select:none;user-select:none}.payment-ticket-note{font-size:.75rem;color:#94a3b8;font-style:italic;margin:0}.payment-attachments__extra{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:.25rem}.payment-attachments__extra-label{font-size:.75rem;color:#94a3b8}.attachments-list{display:flex;flex-direction:column;gap:.25rem}.loading-text{font-size:.875rem;color:#94a3b8;margin:.25rem 0 0}.notes-section{padding:1rem;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.notes-section p{margin:0;font-size:.875rem;color:#0f172a;line-height:1.5}.action-buttons{display:flex;flex-direction:column;gap:.5rem}.action-buttons button{width:100%;padding:1rem;font-size:.875rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.action-buttons button:disabled{opacity:.6;cursor:not-allowed}.action-buttons button.btn.btn-primary{background-color:#3b82f6;color:#fff}.action-buttons button.btn.btn-primary:hover:not(:disabled){background-color:#2563eb}.action-buttons button.btn.btn-success{background-color:#10b981;color:#fff}.action-buttons button.btn.btn-success:hover:not(:disabled){background-color:#0ea271}.action-buttons button.btn.btn-warning{background-color:#f59e0b;color:#fff}.action-buttons button.btn.btn-warning:hover:not(:disabled){background-color:#dd8e09}.action-buttons button.btn.btn-danger{background-color:#ef4444;color:#fff}.action-buttons button.btn.btn-danger:hover:not(:disabled){background-color:#ed2d2d}.edit-form{display:flex;flex-direction:column;gap:1rem}.edit-form .form-group{display:flex;flex-direction:column;gap:.25rem}.edit-form .form-group label{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.edit-form .form-group input,.edit-form .form-group select,.edit-form .form-group textarea{padding:.5rem 1rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;background-color:#fff;color:#0f172a;transition:border-color .15s ease;font-family:inherit}.edit-form .form-group input:focus,.edit-form .form-group select:focus,.edit-form .form-group textarea:focus{outline:none;border-color:#c9a96e}.edit-form .form-group input:disabled,.edit-form .form-group select:disabled,.edit-form .form-group textarea:disabled{background-color:#f8fafc;color:#94a3b8;cursor:not-allowed}.edit-form .form-group textarea{resize:vertical;min-height:80px}@media (max-width: 768px){.details-grid{grid-template-columns:1fr}.action-buttons{flex-direction:row}.action-buttons button{flex:1}}.add-room-section{padding:1rem 0;border-top:1px solid #e2e8f0}.add-room-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.add-room-section__header h4{margin:0;font-size:.875rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.add-room-section__form{display:flex;flex-direction:column;gap:1rem}.add-room-section__dates,.add-room-section__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.add-room-section__discount-notice{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 1rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:6px;font-size:.75rem;color:#64748b}.add-room-section__discount-notice strong{color:#f59e0b}.add-room-section__price-hint{display:block;margin-top:4px;font-size:.75rem;color:#64748b}.add-room-section .room-slot-pricing{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0;font-size:.875rem;color:#64748b}.add-room-section .room-slot-pricing strong{margin-left:auto;color:#937337;font-size:1rem}.add-room-section .room-slot-pricing .season-badge{padding:2px .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.add-room-section .room-slot-pricing .season-badge.season-alta{background-color:#ef44441f;color:#ef4444}.add-room-section .room-slot-pricing .season-badge.season-media{background-color:#f59e0b1f;color:#c57f08}.add-room-section .room-slot-pricing .season-badge.season-baja{background-color:#10b9811f;color:#0d9467}.group-rooms-section h4{margin:0 0 1rem;font-size:.875rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.group-rooms-section .group-rooms-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.sync-toggle-label{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.sync-toggle-label input[type=checkbox]{accent-color:#c9a96e;width:14px;height:14px;cursor:pointer}.group-room-list{display:flex;flex-direction:column;gap:.25rem}.group-room-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#f8fafc;border-radius:8px;border:1.5px solid #e2e8f0}.group-room-item.is-current{border-color:#c9a96e66;background-color:#c9a96e0a}.group-room-item .group-room-number{font-weight:700;font-size:.875rem;color:#0f172a;min-width:40px}.group-room-item .group-room-type{font-size:.75rem;color:#64748b;flex:1}.group-room-item .group-room-extra-badge{font-size:11px;font-weight:600;color:#3b82f6;background:#3b82f614;border-radius:.25rem;padding:2px 6px;flex-shrink:0}.group-room-item .group-room-extra-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:2px;border-radius:.25rem;color:#94a3b8;cursor:pointer;transition:color .2s ease,background .2s ease;flex-shrink:0}.group-room-item .group-room-extra-btn:hover{color:#3b82f6;background:#3b82f614}.group-room-item .group-room-remove-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:2px;border-radius:.25rem;color:#94a3b8;cursor:pointer;transition:color .2s ease,background .2s ease;flex-shrink:0;margin-left:auto}.group-room-item .group-room-remove-btn:hover:not(:disabled){color:#ef4444;background:#ef444414}.group-room-item .group-room-remove-btn:disabled{opacity:.4;cursor:default}.group-extra-guests-form{margin-top:.5rem;padding:.5rem 1rem;background:#f7f9fb;border-radius:8px;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.5rem}.group-extra-guests-form__room{font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin:0}.group-extra-guests-form__actions{display:flex;align-items:center;gap:.5rem}.extra-guests-section{padding:1rem;background:#f7f9fb;border-radius:12px;border:1px solid #e2e8f0}.extra-guests-section__header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem}.extra-guests-section__header h4{margin:0;font-size:.875rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.extra-guests-display{font-size:.875rem;color:#64748b;margin:0}.extra-guests-form{display:flex;flex-direction:column;gap:.5rem}.extra-guests-form__row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.extra-guests-form__preview{font-size:.75rem;color:#3b82f6;font-weight:600;margin:0}.confirm-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c132280;z-index:200;display:flex;align-items:center;justify-content:center;padding:1.5rem}.confirm-edit-dialog{background:#fff;border-radius:16px;padding:2rem;width:min(100%,420px);box-shadow:0 8px 32px #0000003d}.confirm-edit-dialog h3{margin:0 0 .25rem;font-size:1.125rem;color:#0f172a;font-weight:600}.confirm-edit-dialog .confirm-edit-subtitle{margin:0 0 1.5rem;font-size:.875rem;color:#64748b}.confirm-edit-changes{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:.375rem}.confirm-change-row{display:flex;align-items:flex-start;gap:.5rem}.confirm-change-label{font-size:.875rem;font-weight:600;color:#64748b;min-width:90px;flex-shrink:0}.confirm-change-value{display:flex;align-items:center;gap:.25rem;font-size:.875rem;flex-wrap:wrap}.confirm-change-value--notes{flex-direction:column;align-items:flex-start}.confirm-old{color:#64748b;text-decoration:line-through}.confirm-arrow{color:#64748b;font-size:.75rem}.confirm-new{color:#0f172a;font-weight:500}.confirm-no-changes{margin:0;font-size:.875rem;color:#64748b;text-align:center}.confirm-edit-actions{display:flex;justify-content:flex-end;gap:.5rem}.status-chip{padding:2px .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.status-chip--pending{background-color:#f59e0b1f;color:#c57f08}.status-chip--confirmed{background-color:#10b9811f;color:#0d9467}.status-chip--deposit_paid{background-color:#3b82f61f;color:#0b5fe9}.status-chip--paid_in_full{background-color:#10b98126;color:#0b825a}.status-chip--checked_in{background-color:#3b82f61f;color:#0b5fe9}.status-chip--checked_out{background-color:#64748b1a;color:#64748b}.status-chip--cancelled{background-color:#ef44441f;color:#ef4444}.status-chip--no_show{background-color:#ef444414;color:#f26969}.booking-form-container{max-width:800px;margin:0 auto;padding:2rem}.search-results{position:absolute;top:100%;left:0;z-index:100;background-color:#fff;border:1.5px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;max-height:300px;overflow-y:auto;width:100%;margin-top:.25rem}.search-result-item{padding:1rem;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid #e2e8f0}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:#f1f5f9}.search-result-item .client-name{font-weight:600;color:#0f172a;margin-bottom:.25rem}.search-result-item .client-info{font-size:.75rem;color:#64748b}.selected-client{margin-top:.5rem;padding:1rem;background-color:#c9a96e14;border:1.5px solid rgba(201,169,110,.25);border-radius:8px;font-size:.875rem;color:#937337}.new-client-form{padding:1.5rem;background-color:#f8fafc;border-radius:8px;border:1.5px solid #e2e8f0;margin-top:1rem;margin-bottom:1rem}.new-client-form h3{margin-top:0;margin-bottom:1rem;color:#0f172a;font-size:1.125rem;letter-spacing:-.02em}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.pricing-breakdown{margin-top:1.5rem;padding:1rem 1.5rem;background-color:#c9a96e0f;border:1.5px solid rgba(201,169,110,.2);border-radius:8px}.pricing-breakdown .pricing-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.875rem;color:#64748b;border-bottom:1px solid rgba(201,169,110,.12)}.pricing-breakdown .pricing-row:last-child{border-bottom:none}.pricing-breakdown .pricing-row.pricing-discount{color:#10b981;font-weight:500}.pricing-breakdown .pricing-row.pricing-total{margin-top:.25rem;padding-top:.5rem;font-size:1.125rem;color:#937337}.pricing-breakdown .discount-section{border-bottom:1px solid rgba(201,169,110,.12);padding-bottom:.5rem;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.5rem}.pricing-breakdown .discount-section .form-group{margin:0}.pricing-breakdown .discount-section .form-group label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;display:block}.pricing-breakdown .discount-section .form-group input,.pricing-breakdown .discount-section .form-group select{width:100%;padding:6px .5rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#0f172a;background:#fff;transition:border-color .15s ease}.pricing-breakdown .discount-section .form-group input:focus,.pricing-breakdown .discount-section .form-group select:focus{outline:none;border-color:#c9a96e}.pricing-breakdown .discount-section .form-group input:disabled,.pricing-breakdown .discount-section .form-group select:disabled{opacity:.6;background:#f8fafc}.pricing-breakdown .discount-row{display:flex;gap:.5rem;align-items:flex-end}.pricing-breakdown .discount-row .form-group{flex:1}.pricing-breakdown .discount-row .form-group--narrow{flex:0 0 90px}.pricing-breakdown .season-badge{padding:2px .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.pricing-breakdown .season-badge.season-alta{background-color:#ef44441f;color:#ef4444}.pricing-breakdown .season-badge.season-media{background-color:#f59e0b1f;color:#c57f08}.pricing-breakdown .season-badge.season-baja{background-color:#10b9811f;color:#0d9467}.rooms-section{margin-bottom:1.5rem}.rooms-section .rooms-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.rooms-section .rooms-section-header label{font-weight:600;color:#0f172a;font-size:.875rem}.room-slot{padding:1rem;border:1.5px solid #e2e8f0;border-radius:8px;margin-bottom:.5rem;background-color:#f8fafc}.room-slot .room-slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.room-slot .room-slot-header .room-slot-label{font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.room-slot .form-group--guests{flex-shrink:0;width:140px}.room-slot .form-row--extra-guests{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #f1f5f9}.room-slot .form-row--extra-guests .form-group--extra label{font-size:.75rem;color:#94a3b8}.room-slot .extra-guests-preview{font-size:.75rem;color:#3b82f6;font-weight:600;margin:0;padding:.25rem .5rem;background:#3b82f60f;border-radius:.25rem}.room-slot .room-slot-pricing{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0;font-size:.875rem;color:#64748b}.room-slot .room-slot-pricing strong{margin-left:auto;color:#937337;font-size:1rem}.room-slot .room-slot-pricing .season-badge{padding:2px .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.room-slot .room-slot-pricing .season-badge.season-alta{background-color:#ef44441f;color:#ef4444}.room-slot .room-slot-pricing .season-badge.season-media{background-color:#f59e0b1f;color:#c57f08}.room-slot .room-slot-pricing .season-badge.season-baja{background-color:#10b9811f;color:#0d9467}.btn-remove-room{background:none;border:none;cursor:pointer;color:#64748b;padding:2px .25rem;border-radius:.25rem;font-size:1rem;line-height:1;transition:color .15s,background-color .15s}.btn-remove-room:hover:not(:disabled){color:#ef4444;background-color:#ef444414}.btn-remove-room:disabled{opacity:.4;cursor:not-allowed}.skeleton-loader{padding:2rem;max-width:100%}.skeleton-grid-container{background:#fff;border-radius:12px;padding:0;box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;background-color:#f8fafb;border:1px solid rgba(0,0,0,.04);overflow:hidden}.skeleton-grid-table{display:table;width:100%;min-width:1200px;border-collapse:separate;border-spacing:0}.skeleton-grid-row{display:table-row}.skeleton-grid-row.skeleton-header-row .skeleton-grid-cell{background:#ebeef2;position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(0,0,0,.06);padding:1rem .5rem;height:60px}.skeleton-grid-cell{display:table-cell;padding:.5rem;border-right:1px solid rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.04);text-align:center;vertical-align:middle;min-width:90px;height:70px}.skeleton-grid-cell:first-child{border-left:none}.skeleton-grid-cell.skeleton-room-header{min-width:140px;position:sticky;left:0;background:#ebeef2;z-index:20;border-right:1px solid rgba(0,0,0,.08)}.skeleton-grid-cell.skeleton-date-header{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.25rem}.skeleton-grid-cell.skeleton-room-cell{min-width:140px;position:sticky;left:0;background:#fff;z-index:5;text-align:left;border-right:1px solid rgba(0,0,0,.08);padding:1rem}.skeleton-grid-cell.skeleton-room-cell .skeleton-text{margin-bottom:.25rem}.skeleton-grid-cell.skeleton-booking-cell{position:relative}.skeleton-text{background:linear-gradient(90deg,#f7f9fb,#ebeef2,#f7f9fb 40%,#f7f9fb);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:.25rem;height:12px}.skeleton-text.skeleton-text-xs{width:50px;height:10px}.skeleton-text.skeleton-text-sm{width:60px;height:12px}.skeleton-text.skeleton-text-md{width:80px;height:14px}.skeleton-text.skeleton-text-lg{width:60px;height:14px}.skeleton-booking{background:linear-gradient(90deg,#f7f9fb,#ebeef2,#f7f9fb 40%,#f7f9fb);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:60%;border-radius:.375rem;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}@media (max-width: 1024px){.skeleton-loader{padding:1.5rem}.skeleton-grid-container{overflow-x:auto;-webkit-overflow-scrolling:touch}}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}.availability-panel{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:#f7f9fb;border-bottom:1px solid #e2e8f0}.availability-panel__controls{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0}.availability-panel__date-pill{display:flex;align-items:center;gap:.5rem;background:#fff;padding:.25rem .5rem;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}.availability-panel__date-pill label{font-size:.75rem;font-weight:600;color:#64748b;white-space:nowrap}.availability-panel__date-pill input[type=date]{border:none;background:none;font-size:.75rem;font-family:inherit;color:#0f172a;font-weight:500;outline:none;cursor:pointer}.availability-panel__cards{display:flex;gap:.5rem;overflow-x:auto;flex:1}.availability-panel__cards::-webkit-scrollbar{height:3px}.availability-panel__cards::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:.25rem}.availability-panel__card{display:flex;flex-direction:column;gap:2px;padding:.25rem .5rem;border-radius:.375rem;width:120px;flex-shrink:0;border:1px solid #e2e8f0;background:#fff}.availability-panel__card--ok{border-left:3px solid #10b981}.availability-panel__card--low{border-left:3px solid #f59e0b}.availability-panel__card--full{border-left:3px solid #ef4444}.availability-panel__card--skeleton{height:56px;background:#f1f4f7;animation:skeleton-pulse 1.4s ease-in-out infinite}.availability-panel__room-type{font-size:.75rem;color:#64748b;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-panel__count{font-size:.875rem;font-weight:700;color:#0f172a;line-height:1}.availability-panel__total{font-size:.75rem;font-weight:400;color:#94a3b8}.availability-panel__bar-bg{height:3px;background:#e5e8ed;border-radius:.25rem;overflow:hidden}.availability-panel__bar-fill{height:100%;background:#10b981;border-radius:.25rem;transition:width .3s ease}@media (max-width: 640px){.availability-panel{flex-direction:column;align-items:flex-start}.availability-panel__controls{flex-wrap:wrap}.availability-panel__cards{width:100%;overflow-x:auto}}.booking-tooltip{position:fixed;z-index:1000;display:flex;background:#ebeef2;border-radius:12px;box-shadow:0 4px 6px #00000012,0 2px 3px #0000000a;background-color:#f3f5f7;border:1px solid rgba(0,0,0,.06);min-width:240px;max-width:300px;overflow:hidden;pointer-events:none;animation:tooltipFadeIn .2s cubic-bezier(.05,.7,.1,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.booking-tooltip__accent{width:5px;flex-shrink:0;border-radius:.25rem 0 0 .25rem}.booking-tooltip__content{padding:1rem 1.5rem;flex:1;background:#fff}.booking-tooltip__ref{font-size:.75rem;font-weight:600;color:#94a3b8;letter-spacing:.06em;margin-bottom:2px;font-variant-numeric:tabular-nums}.booking-tooltip__guest{font-size:1.125rem;font-weight:700;color:#0f172a;margin-bottom:.5rem;line-height:1.3;letter-spacing:-.01em}.booking-tooltip__row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.booking-tooltip__label{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.booking-tooltip__value{font-size:.875rem;color:#0f172a;font-weight:600}.booking-tooltip__status{margin-top:.5rem;font-size:.75rem;font-weight:700;text-align:center;padding:.25rem 1rem;border-radius:.75rem;background:#10b9811f;color:#0d9467;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}.booking-tooltip__status[data-status=pending]{background:#f59e0b1f;color:#ac6f07}.booking-tooltip__status[data-status=cancelled]{background:#ef44441f;color:#ed2828}.booking-tooltip__status[data-status=checked_in]{background:#0d94881f;color:#134e4a}.booking-tooltip__status[data-status=checked_out]{background:#64748b1f;color:#505d6f}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.color-picker-popover{position:fixed;z-index:1100;background:#ebeef2;border-radius:12px;box-shadow:0 6px 10px #00000014,0 3px 4px #0000000d;background-color:#edeff2;border:1px solid rgba(0,0,0,.06);padding:1rem 1.5rem;min-width:220px;animation:pickerFadeIn .15s cubic-bezier(.05,.7,.1,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.color-picker-popover__title{font-size:.875rem;font-weight:700;color:#0f172a;letter-spacing:.02em;margin-bottom:1rem}.color-picker-popover__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;padding:.5rem;background:#fff;border-radius:.5rem}.color-picker-popover__swatch{width:32px;height:32px;border-radius:50%;border:3px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.2,0,0,1),border-color .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1);outline:none;padding:0;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}.color-picker-popover__swatch:focus-visible{outline:3px solid rgba(13,148,136,.5);outline-offset:3px;border-radius:inherit}.color-picker-popover__swatch:hover{transform:scale(1.2);box-shadow:0 4px 6px #00000012,0 2px 3px #0000000a;background-color:#f3f5f7}.color-picker-popover__swatch:active{transform:scale(1.1);box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;background-color:#f8fafb}.color-picker-popover__swatch.active{border-color:#0d9488;box-shadow:0 0 0 3px #0d948833,0 2px 4px #0000000f,0 1px 2px #0000000a;transform:scale(1.1)}.color-picker-popover__reset{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding:.5rem 1rem;width:100%;border:none;background:#f1f4f7;border-radius:.5rem;font-size:.875rem;font-weight:600;color:#0f172a;cursor:pointer;transition:background .2s cubic-bezier(.2,0,0,1),color .2s cubic-bezier(.2,0,0,1),transform .2s cubic-bezier(.2,0,0,1);box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe;position:relative}.color-picker-popover__reset:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0f172a;opacity:0;transition:opacity .2s cubic-bezier(.2,0,0,1);pointer-events:none;border-radius:inherit}.color-picker-popover__reset:hover:before{opacity:.08}.color-picker-popover__reset:focus-visible{outline:3px solid rgba(13,148,136,.5);outline-offset:2px;border-radius:inherit}.color-picker-popover__reset:hover{box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;background-color:#f8fafb}.color-picker-popover__reset:active{transform:scale(.98);box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}@keyframes pickerFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.context-menu{position:fixed;background:#ebeef2;border-radius:12px;box-shadow:0 6px 10px #00000014,0 3px 4px #0000000d;background-color:#edeff2;border:1px solid rgba(0,0,0,.06);min-width:220px;z-index:1000;overflow:hidden;animation:contextMenuFadeIn .2s cubic-bezier(.05,.7,.1,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.92) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.context-menu-header{padding:1rem 1.5rem;font-size:.875rem;font-weight:700;color:#0f172a;letter-spacing:.02em;background:#f7f9fb;border-bottom:1px solid rgba(0,0,0,.06)}.context-menu-item{width:100%;display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border:none;background:transparent;cursor:pointer;font-size:.875rem;font-weight:500;color:#0f172a;transition:background .2s cubic-bezier(.2,0,0,1),transform .2s cubic-bezier(.2,0,0,1);text-align:left;position:relative}.context-menu-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0f172a;opacity:0;transition:opacity .2s cubic-bezier(.2,0,0,1);pointer-events:none;border-radius:inherit}.context-menu-item:hover:before{opacity:.08}.context-menu-item:focus-visible{outline:3px solid rgba(13,148,136,.5);outline-offset:2px;border-radius:inherit}.context-menu-item svg{font-size:1.25rem;color:#0d9488;transition:transform .2s cubic-bezier(.2,0,0,1),color .2s cubic-bezier(.2,0,0,1)}.context-menu-item:hover{background:#f1f4f7}.context-menu-item:hover svg{transform:scale(1.15);color:#14b8a6}.context-menu-item:active{transform:scale(.98);background:#ebeef2}.context-menu-item.danger{color:#ef4444}.context-menu-item.danger svg{color:#ef4444}.context-menu-item.danger:hover{background:#ef444414}.context-menu-item.danger:hover svg{color:#f15757}.context-menu-divider{height:1px;background:#0000000f;margin:.5rem 1rem}.booking-grid{padding:2rem;max-width:100%;display:flex;flex-direction:column;max-height:calc(100dvh - 60px)}.booking-grid.density-compact .grid-cell{height:50px;min-height:50px;padding:.25rem;font-size:.75rem}.booking-grid.density-compact .grid-cell.room-cell{padding:.5rem}.booking-grid.density-compact .grid-cell.room-cell .room-number{font-size:.875rem;margin-bottom:2px}.booking-grid.density-compact .grid-cell.room-cell .room-type,.booking-grid.density-compact .booking-label__name{font-size:10px}.booking-grid.density-compact .booking-label__ref{display:none}.booking-grid.density-spacious .grid-cell{height:90px;min-height:90px;padding:1rem;font-size:1rem}.booking-grid.density-spacious .grid-cell.room-cell{padding:1.5rem}.booking-grid.density-spacious .grid-cell.room-cell .room-number{font-size:1.125rem;margin-bottom:.5rem}.booking-grid.density-spacious .grid-cell.room-cell .room-type,.booking-grid.density-spacious .booking-label__name{font-size:.875rem}.grid-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding-bottom:1rem;flex-wrap:wrap;gap:1rem}.grid-header h1{font-size:1.875rem;color:#0f172a;margin:0;font-weight:700;letter-spacing:-.03em;flex-shrink:0}.grid-header .availability-panel{flex:1;min-width:0;background:transparent;border-bottom:none;padding:0;gap:.5rem}.grid-header .availability-panel__controls{flex-direction:column}.grid-header .header-controls{display:flex;align-items:center;gap:1rem;flex-shrink:0}.grid-header .date-nav{display:flex;flex-direction:column;align-items:center;gap:4px}.grid-header .date-nav__controls{display:flex;align-items:center;gap:2px}.grid-header .date-nav__arrow{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:#64748b;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s cubic-bezier(.2,0,0,1),color .2s cubic-bezier(.2,0,0,1)}.grid-header .date-nav__arrow:hover{background:#ebeef2;color:#0f172a}.grid-header .date-nav__today{padding:1px .5rem;border-radius:.75rem;border:1px solid #e2e8f0;background:transparent;font-size:.75rem;font-weight:600;color:#3b82f6;cursor:pointer;white-space:nowrap;transition:opacity .2s cubic-bezier(.2,0,0,1)}.grid-header .date-nav__today:hover{background:#f7f9fb}.grid-header .date-nav__today--hidden{opacity:0;pointer-events:none}.grid-header .date-picker-wrapper{position:relative}.grid-header .date-picker-container{display:flex;align-items:center;gap:.25rem;background:#f7f9fb;padding:6px 1rem;border-radius:.75rem;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe;border:1px solid rgba(0,0,0,.04);cursor:pointer;transition:background-color .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1)}.grid-header .date-picker-container:hover{background:#ebeef2;box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;background-color:#f8fafb}.grid-header .date-picker-container .calendar-icon{font-size:.875rem;display:flex;align-items:center}.grid-header .date-picker-container .date-picker-value{font-size:.875rem;font-weight:600;color:#0f172a}.grid-header .custom-calendar-dropdown{position:absolute;top:calc(100% + .25rem);right:0;width:280px;background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 4px 20px #00000026;border:1px solid #e2e8f0;z-index:100;display:flex;flex-direction:column;gap:.5rem}.grid-header .custom-calendar-dropdown .calendar-header{display:flex;justify-content:space-between;align-items:center}.grid-header .custom-calendar-dropdown .calendar-header .calendar-title{font-size:.875rem;font-weight:600;color:#0f172a;text-transform:capitalize}.grid-header .custom-calendar-dropdown .calendar-header .calendar-nav-btn{background:none;border:none;cursor:pointer;color:#64748b;padding:.25rem;border-radius:.375rem;font-size:.75rem;transition:all .15s ease}.grid-header .custom-calendar-dropdown .calendar-header .calendar-nav-btn:hover{background:#f1f5f9;color:#0f172a}.grid-header .custom-calendar-dropdown .calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.grid-header .custom-calendar-dropdown .calendar-weekdays .weekday-label{font-size:.75rem;font-weight:600;color:#64748b;padding:.25rem 0}.grid-header .custom-calendar-dropdown .calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.grid-header .custom-calendar-dropdown .calendar-days-grid .calendar-day-btn{aspect-ratio:1;border:none;background:none;cursor:pointer;font-size:.75rem;font-weight:500;color:#0f172a;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.grid-header .custom-calendar-dropdown .calendar-days-grid .calendar-day-btn:hover{background:#f1f5f9}.grid-header .custom-calendar-dropdown .calendar-days-grid .calendar-day-btn.is-outside{color:#64748b;opacity:.35}.grid-header .custom-calendar-dropdown .calendar-days-grid .calendar-day-btn.is-today{border:1px solid #0d9488;color:#0d9488}.grid-header .custom-calendar-dropdown .calendar-days-grid .calendar-day-btn.is-selected{background:#0d9488!important;color:#fff!important;font-weight:600}.grid-container{background:#fff;border-radius:12px;padding:0;box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;background-color:#f8fafb;border:1px solid rgba(0,0,0,.04);overflow:auto;flex:1;min-height:200px;min-height:0;transition:box-shadow .2s cubic-bezier(.2,0,0,1)}.grid-table{display:table;width:100%;min-width:1200px;border-collapse:separate;border-spacing:0}.grid-row{display:table-row}.grid-row.header-row .grid-cell{background:#ebeef2;font-weight:600;position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(0,0,0,.06);padding:1rem .5rem;font-size:.875rem;letter-spacing:.02em;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}.grid-row.header-row .grid-cell.room-header{z-index:25}.grid-cell{display:table-cell;padding:.5rem;border-right:1px solid rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.04);text-align:center;vertical-align:middle;min-width:90px;height:56px;transition:all .2s cubic-bezier(.2,0,0,1)}.grid-cell:first-child{border-left:none}.grid-cell.room-header{font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;min-width:110px;position:sticky;left:0;background:#ebeef2;z-index:20;border-right:1px solid rgba(0,0,0,.08);box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}.grid-cell.date-header{font-size:.75rem;color:#64748b;position:relative}.grid-cell.date-header div:first-child{font-weight:600;color:#0f172a;font-size:.875rem;margin-bottom:2px}.grid-cell.date-header.today{background:#ccfbf1;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}.grid-cell.date-header.today:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0d9488,#14b8a6);box-shadow:0 2px 4px #0d94884d;border-radius:0 0 .25rem .25rem}.grid-cell.date-header.today div:first-child{color:#134e4a;font-weight:700}.grid-cell.date-header.today div:last-child{color:#134e4a}.grid-cell.room-cell{min-width:110px;position:sticky;left:0;background:#fff;z-index:5;text-align:left;font-weight:500;border-right:1px solid rgba(0,0,0,.08);padding:.5rem 1rem;transition:background-color .2s cubic-bezier(.2,0,0,1)}.grid-cell.room-cell .room-number{font-size:.875rem;color:#0f172a;margin-bottom:2px;font-weight:700;letter-spacing:-.01em}.grid-cell.room-cell .room-type{font-size:10px;color:#64748b;text-transform:lowercase;font-weight:500;line-height:1.3}.grid-cell.booking-cell{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s cubic-bezier(.2,0,0,1);position:relative;overflow:hidden}.grid-cell.booking-cell:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background-color:#0d94884d;transform:translate(-50%,-50%);transition:width .35s cubic-bezier(.05,.7,.1,1),height .35s cubic-bezier(.05,.7,.1,1),opacity .35s cubic-bezier(.2,0,0,1);opacity:0}.grid-cell.booking-cell:active:after{width:300px;height:300px;opacity:1;transition:width 50ms cubic-bezier(.3,0,.8,.15),height 50ms cubic-bezier(.3,0,.8,.15),opacity 50ms cubic-bezier(.2,0,0,1)}.grid-cell.booking-cell{border-radius:.25rem}.grid-cell.booking-cell.available{background:#10b9810f;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe;position:relative}.grid-cell.booking-cell.available:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#10b981;opacity:0;transition:opacity .2s cubic-bezier(.2,0,0,1);pointer-events:none;border-radius:inherit}.grid-cell.booking-cell.available:hover:before{opacity:.08}.grid-cell.booking-cell.available:hover{box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;background-color:#f8fafb;transform:translateY(-1px) scale(1.015)}.grid-cell.booking-cell.available:active{box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe;transform:translateY(0) scale(1)}.grid-cell.booking-cell.booked{box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;background-color:#f8fafb;position:relative}.grid-cell.booking-cell.booked:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0f172a;opacity:0;transition:opacity .2s cubic-bezier(.2,0,0,1);pointer-events:none;border-radius:inherit}.grid-cell.booking-cell.booked:hover:before{opacity:.05}.grid-cell.booking-cell.booked{border-radius:.375rem}.grid-cell.booking-cell.booked:hover{box-shadow:0 4px 6px #00000012,0 2px 3px #0000000a;background-color:#f3f5f7;transform:translateY(-2px) scale(1.02);z-index:2}.grid-cell.booking-cell.booked:active{box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;background-color:#f8fafb;transform:translateY(-1px) scale(1.01)}.grid-cell.booking-cell.selected{background:#c9a96e26;box-shadow:0 6px 10px #00000014,0 3px 4px #0000000d;background-color:#edeff2;border:2px solid #c9a96e;box-shadow:0 6px 10px #00000014,0 3px 4px #0000000d,0 0 0 3px #c9a96e33;z-index:3;animation:pulse-selection .3s cubic-bezier(.05,.7,.1,1)}@keyframes pulse-selection{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.grid-cell.booking-cell.past-date{background:#94a3b80a!important;cursor:not-allowed!important;opacity:.4;box-shadow:none!important}.grid-cell.booking-cell.past-date:hover{background:#94a3b80a!important;transform:none!important;filter:none!important;box-shadow:none!important}.grid-cell.booking-cell.past-date:before{display:none}.grid-cell.booking-cell.past-date:after{display:none}.grid-cell.booking-cell.today{position:relative}.grid-cell.booking-cell.today:after{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:linear-gradient(to bottom,#0d9488,#14b8a6);opacity:.8;box-shadow:0 0 8px #0d948866;border-radius:.25rem 0 0 .25rem}.grid-cell.booking-cell.today.available{background:#0d948814;box-shadow:inset 0 0 0 1px #0d948833}.grid-cell.booking-cell .booking-label{display:flex;flex-direction:column;gap:1px;position:absolute;left:.5rem;right:.5rem;top:50%;transform:translateY(-50%);text-shadow:0 1px 2px rgba(255,255,255,.9);letter-spacing:.02em;background:#fffc;padding:.25rem .5rem;border-radius:.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}.grid-cell.booking-cell .booking-label__name{font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid-cell.booking-cell .booking-label__ref{font-size:10px;font-weight:500;opacity:.72;letter-spacing:.04em;font-variant-numeric:tabular-nums}.grid-legend{display:flex;flex-shrink:0;gap:2rem;margin-top:1rem;padding:1rem 1.5rem;background:#f7f9fb;border-radius:12px;border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe;align-items:center}.grid-legend .legend-hint{margin-left:auto;font-size:.75rem;color:#94a3b8;font-style:italic;display:flex;align-items:center}.grid-legend .legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#64748b}.grid-legend .legend-item .legend-color{width:36px;height:24px;border-radius:.375rem;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}.grid-legend .legend-item .legend-color.available{background:#10b98114}.grid-legend .legend-item .legend-color.booked-sample{background:linear-gradient(135deg,#0d9488,#0d9488 33%,#e07456 33%,#e07456 66%,#0284c7 66%,#0284c7)}.grid-legend .legend-item .legend-color.past{background:#94a3b80d;opacity:.5}.grid-legend .legend-item .legend-color.selected{background:#c9a96e26;border-color:#c9a96e;border-width:2px}.loading-container{display:flex;align-items:center;justify-content:center;min-height:400px}.loading-container .spinner{width:56px;height:56px;border:5px solid #ebeef2;border-top-color:#0d9488;border-right-color:#c9a96e;border-radius:50%;animation:spin .8s cubic-bezier(.2,0,0,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1024px){.booking-grid{padding:1.5rem}.booking-grid:not(.density-spacious) .grid-cell{height:60px;min-height:60px}.grid-header{flex-direction:column;gap:1rem;align-items:flex-start}.grid-header .availability-panel{display:none}.grid-header h1{font-size:1.5rem}.grid-header .header-controls{width:100%;flex-direction:column;gap:.5rem}.grid-header .date-controls,.grid-header .date-picker-container{width:100%;justify-content:space-between}.grid-container{-webkit-overflow-scrolling:touch}}.booking-grid-unavailable{display:none;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem 1.5rem;text-align:center;min-height:60vh}.booking-grid-unavailable__icon{font-size:3rem;opacity:.35}.booking-grid-unavailable h2{font-size:1.25rem;font-weight:700;color:#0f172a;letter-spacing:-.02em}.booking-grid-unavailable p{font-size:.875rem;color:#64748b;max-width:280px;line-height:1.6}@media (max-width: 768px){.booking-grid{display:none}.booking-grid-unavailable{display:flex}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.booking-cell:hover{transform:none!important}}@media (prefers-contrast: high){.grid-container{border:2px solid currentColor}.grid-cell{border-width:2px}.booking-cell.booked{border:2px solid currentColor}}@media (hover: none) and (pointer: coarse){.booking-cell{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center}.booking-cell:hover{transform:none;box-shadow:inherit}.calendar-nav-btn{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center}}.booking-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c132299;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;display:flex;justify-content:center;padding-top:80px;animation:bs-fade-in .15s ease}@media (max-width: 640px){.booking-search-overlay{padding-top:0;align-items:flex-start}}@keyframes bs-fade-in{0%{opacity:0}to{opacity:1}}.booking-search-modal{width:100%;max-width:640px;max-height:calc(100vh - 120px);background:#fff;border-radius:16px;box-shadow:0 6px 10px #00000014,0 3px 4px #0000000d;background-color:#edeff2;display:flex;flex-direction:column;overflow:hidden;animation:bs-slide-in .15s ease}@media (max-width: 640px){.booking-search-modal{max-width:100%;max-height:100vh;border-radius:0}}@keyframes bs-slide-in{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.booking-search-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0;flex-shrink:0}.booking-search-icon{color:#94a3b8;flex-shrink:0}.booking-search-input{flex:1;border:none;outline:none;font-size:1rem;font-family:inherit;color:#0f172a;background:transparent;min-width:0}.booking-search-input::placeholder{color:#94a3b8}.booking-search-close{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.25rem;border-radius:.375rem;color:#94a3b8;cursor:pointer;flex-shrink:0;transition:color .2s ease,background .2s ease}.booking-search-close:hover{color:#0f172a;background:#f1f4f7}.booking-search-results{flex:1;overflow-y:auto;padding:.5rem 0}.booking-search-results::-webkit-scrollbar{width:4px}.booking-search-results::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:.25rem}.booking-search-empty,.booking-search-hint{text-align:center;padding:2rem 1.5rem;color:#94a3b8;font-size:.875rem;margin:0}.booking-search-result{display:flex;flex-direction:column;gap:2px;width:100%;padding:.5rem 1.5rem;background:none;border:none;text-align:left;cursor:pointer;transition:background .15s ease;border-bottom:1px solid rgba(226,232,240,.5)}.booking-search-result:last-child{border-bottom:none}.booking-search-result:hover{background:#f7f9fb}.booking-search-result__top{display:flex;align-items:center;gap:.5rem}.booking-search-result__ref{font-weight:700;font-size:.875rem;color:#c9a96e;font-variant-numeric:tabular-nums;letter-spacing:.03em}.booking-search-result__client{font-size:.875rem;font-weight:600;color:#0f172a}.booking-search-result__meta{display:flex;align-items:center;gap:1rem;font-size:.75rem;color:#64748b}.booking-search-result__rooms{font-weight:600;color:#64748b}.booking-search-result__dates{color:#94a3b8}.booking-search-detail{flex:1;overflow-y:auto;display:flex;flex-direction:column}.dashboard{min-height:100vh;background-color:#f8fafc}.dashboard-content{min-height:calc(100vh - 80px)}.fab-search{position:fixed;bottom:calc(2.75rem + 56px);right:2rem;z-index:90;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#f7f9fb;color:#64748b;border:1px solid #e2e8f0;border-radius:50%;cursor:pointer;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.fab-search:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;background:#f1f4f7;color:#0f172a}.fab-new-booking{position:fixed;bottom:2rem;right:2rem;z-index:90;display:flex;align-items:center;gap:.5rem;background:#c9a96e;color:#fff;border:none;border-radius:28px;padding:0 1.25rem 0 .875rem;height:56px;font-size:.875rem;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:0 6px 20px #c9a96e66,0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.fab-new-booking svg{font-size:1.5rem}.fab-new-booking:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 8px 28px #c9a96e80,0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;background:#c29e5b}.fab-new-booking:active{transform:translateY(0) scale(.98);box-shadow:0 4px 12px #c9a96e4d,0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.stats-grid{padding:1rem 1rem 0}.fab-search{bottom:calc(2rem + 56px);right:1.25rem;width:40px;height:40px}.fab-new-booking{bottom:1.25rem;right:1.25rem}.fab-new-booking .fab-label{display:none}.fab-new-booking{padding:0;width:56px;justify-content:center;border-radius:50%}}.layout{min-height:100vh;background-color:#f8fafc}.layout-nav{background-color:#0c1322;box-shadow:0 1px #ffffff0d,0 4px 16px #0000004d;padding:0 2rem;height:60px;display:flex;align-items:stretch;gap:0;position:sticky;top:0;z-index:100}.nav-brand{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding-right:2rem;margin-right:1rem;border-right:1px solid rgba(255,255,255,.07)}.nav-brand-mark{width:30px;height:30px;border-radius:.375rem;background:#c9a96e;color:#0c1322;font-size:10px;font-weight:900;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-user-select:none;user-select:none}.nav-brand-name{font-size:.875rem;font-weight:600;color:#ffffffe6;letter-spacing:-.01em;white-space:nowrap}.tenant-select-brand{background:transparent;border:none;color:#ffffffe6;font-size:.875rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:20px;margin:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}.tenant-select-brand:focus{outline:none}.tenant-select-brand option{background:#0c1322;color:#fff;font-size:.875rem}.nav-hamburger{display:none;align-self:center;background:none;border:none;color:#ffffffb3;font-size:1.2rem;line-height:1;cursor:pointer;padding:.5rem;border-radius:.375rem;margin-left:auto;transition:color .15s ease,background .15s ease}.nav-hamburger:hover{color:#fff;background:#ffffff12}.nav-menu{display:flex;align-items:stretch;gap:0;flex:1}.nav-drawer-header{display:none}.nav-drawer-links{display:flex;align-items:stretch;flex:1}.nav-link{display:flex;align-items:center;height:60px;padding:0 14px;background:none;border:none;border-bottom:2px solid transparent;color:#ffffff8c;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:color .15s ease,border-color .15s ease}.nav-link:hover{color:#ffffffe6}.nav-link--active{color:#fff;border-bottom-color:#c9a96e;font-weight:600}.nav-link--mobile-only,.nav-mobile-user{display:none}.nav-user-section{position:relative;display:flex;align-items:center;margin-left:1.5rem;padding-left:1.5rem;border-left:1px solid rgba(255,255,255,.07)}.nav-user-btn{display:flex;align-items:center;gap:.5rem;height:36px;padding:0 10px;background:transparent;border:1px solid transparent;border-radius:8px;color:#ffffffb3;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.nav-user-btn:after{content:"";display:inline-block;width:5px;height:5px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(135deg) translate(-1px,1px);opacity:.5;transition:transform .15s ease,opacity .15s ease;flex-shrink:0;margin-left:2px}.nav-user-btn:hover{background:#ffffff12;border-color:#ffffff1a;color:#fff}.nav-user-btn:hover:after{opacity:.9}.nav-user-btn--open{background:#ffffff14;border-color:#ffffff1f;color:#fff}.nav-user-btn--open:after{transform:rotate(-45deg) translate(1px,-1px);opacity:1}.nav-user-avatar{width:26px;height:26px;border-radius:50%;background:#c9a96e;color:#0c1322;font-size:10px;font-weight:900;letter-spacing:.03em;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-user-select:none;user-select:none}.nav-user-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #00000012,0 2px 3px #0000000a;background-color:#f3f5f7;z-index:150;overflow:hidden;animation:dropdownFadeIn .14s cubic-bezier(.05,.7,.1,1)}.nav-dropdown-item{display:flex;align-items:center;width:100%;padding:.5rem 1rem;border:none;background:none;color:#0f172a;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;text-align:left;transition:background .15s ease}.nav-dropdown-item:hover{background:#f7f9fb}.nav-dropdown-item--logout{color:#ef4444}.nav-dropdown-item--logout:hover{background:#fff0f0}.nav-dropdown-divider{height:1px;background:#e2e8f0;margin:.25rem 0}.nav-dropdown-lang{padding:.25rem 1rem;display:flex;align-items:center;color:#64748b}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.layout-content{min-height:calc(100vh - 60px);overflow-x:hidden}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes menuSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.layout-nav{flex-wrap:nowrap;height:56px;padding:0 1rem}.layout-nav .nav-hamburger{display:flex}.layout-nav .nav-user-section{display:none}.nav-backdrop{background:#0000008c}.nav-menu{position:fixed;top:0;left:0;width:280px;height:100vh;background:#0c1322;flex-direction:column;align-items:stretch;gap:0;padding:0;display:flex;transform:translate(-100%);transition:transform .28s cubic-bezier(.05,.7,.1,1);z-index:200;border-right:1px solid rgba(255,255,255,.06);box-shadow:6px 0 32px #00000073;overflow-y:auto}.menu-open .nav-menu{transform:translate(0)}.nav-drawer-header{display:flex;align-items:center;gap:.5rem;height:64px;padding:0 1rem;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.nav-drawer-close{margin-left:auto;background:none;border:none;color:#ffffff73;font-size:1rem;line-height:1;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:color .15s ease,background .15s ease}.nav-drawer-close:hover{color:#fff;background:#ffffff12}.nav-drawer-links{display:flex;flex-direction:column;padding:.5rem 0;flex:1}.nav-menu .nav-link{height:48px;padding:0 1.5rem;border-bottom:none;border-left:3px solid transparent;font-size:1rem;font-weight:500;justify-content:flex-start}.nav-menu .nav-link:hover{background:#ffffff0a}.nav-menu .nav-link--active{border-left-color:#c9a96e;background:#ffffff0d;color:#fff;font-weight:600}.nav-mobile-user{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.07);flex-shrink:0}.nav-drawer-user-row{display:flex;align-items:center;gap:.5rem}.nav-drawer-user-row .user-info{font-size:.875rem;font-weight:500;color:#ffffffd9}.nav-drawer-user-actions{display:flex;align-items:center;gap:.5rem}.nav-drawer-user-actions .btn-outline{border-color:#ffffff26;color:#ffffffb3}.nav-drawer-user-actions .btn-outline:hover:not(:disabled){background-color:#ffffff12;border-color:#ffffff40;color:#fff}.layout-content{min-height:calc(100vh - 56px)}}.pricing-settings{padding:2rem}.strategy-switcher{display:flex;gap:.5rem;margin-bottom:2rem}.strategy-switcher .strategy-btn{flex:1;padding:1rem 1.5rem;border-radius:12px;border:1.5px solid #e2e8f0;background:#fff;color:#64748b;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.strategy-switcher .strategy-btn.active{border-color:#c9a96e;color:#c9a96e;background:#c9a96e0f}.strategy-switcher .strategy-btn:not(.active):hover{border-color:#64748b;color:#0f172a}.pricing-section{margin-bottom:2rem}.pricing-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.pricing-section__header h3{font-size:1.125rem;color:#0f172a;margin:0;font-weight:600}.rate-table{width:100%;border-collapse:collapse;font-size:.875rem}.rate-table th{text-align:left;padding:.5rem 1rem;border-bottom:2px solid #e2e8f0;color:#64748b;font-weight:600;white-space:nowrap}.rate-table td{padding:.5rem 1rem;border-bottom:1px solid #e2e8f0;color:#0f172a;vertical-align:middle}.rate-table tr:last-child td{border-bottom:none}.rate-table .rate-input{width:100px;padding:.25rem .5rem;border:1px solid #e2e8f0;border-radius:.25rem;font-size:.875rem;background:#fff;color:#0f172a}.rate-table .rate-input:focus{outline:none;border-color:#c9a96e}.season-tag{display:inline-block;padding:2px .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.season-tag.season-alta{background:#ef44441a;color:#ef4444}.season-tag.season-media{background:#f59e0b1a;color:#f59e0b}.season-tag.season-baja{background:#10b9811a;color:#10b981}.season-tag.season-default{background:#64748b1a;color:#64748b}.category-chip{display:inline-block;padding:2px .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;background:#c9a96e1a;color:#0f172a;border:1px solid rgba(201,169,110,.25)}.season-date-range{display:flex;align-items:center;gap:.25rem}.season-date-range+.season-date-range{margin-top:.25rem}.season-date-sep{color:#64748b;font-size:.75rem}.seed-info{background:#c9a96e0f;border:1px solid rgba(201,169,110,.25);border-radius:12px;padding:1rem 1.5rem;font-size:.875rem;color:#64748b;margin-bottom:2rem}@media (max-width: 768px){.rate-table{display:block;overflow-x:auto}.strategy-switcher{flex-direction:column}}.room-management{padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{font-size:1.875rem;color:#0f172a;margin:0;font-weight:700;letter-spacing:-.02em}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.room-card{background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 2px #0000000d;border:1.5px solid #e2e8f0;transition:all .25s ease}.room-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;transform:translateY(-2px);border-color:#c9a96e4d}.room-card.inactive{opacity:.6;border-color:#ef4444}.room-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.room-card-header h3{margin:0;font-size:1.25rem;color:#0f172a;letter-spacing:-.02em}.room-card-body{margin-bottom:1rem}.room-card-body p{margin-bottom:.5rem;color:#64748b;font-size:.875rem}.room-card-body p strong{color:#0f172a;font-weight:600}.room-card-body .room-description{margin-top:1rem;padding-top:.5rem;border-top:1px solid #e2e8f0;font-style:italic}.room-card-body .amenities{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.room-card-footer{display:flex;gap:.5rem;justify-content:flex-end}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pricing-preview{grid-column:1/-1}.category-badge{display:inline-block;padding:.25rem .5rem;background-color:#c9a96e1a;border:1px solid rgba(201,169,110,.3);border-radius:.25rem;font-size:.875rem;font-weight:600;color:#0f172a;margin-bottom:.5rem}.rate-preview__label{display:block;font-size:.75rem;color:#64748b;margin-bottom:.25rem}.rate-preview__grid{display:flex;flex-direction:column;gap:.25rem}.rate-preview__item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#64748b}.rate-preview__item strong{margin-left:auto;color:#0f172a}.season-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.season-dot.season-alta{background-color:#ef4444}.season-dot.season-media{background-color:#f59e0b}.season-dot.season-baja{background-color:#10b981}@media (max-width: 768px){.room-grid,.form-row{grid-template-columns:1fr}}.staff-management{padding:2rem;max-width:1200px;margin:0 auto}.staff-management .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.staff-management .page-header h1{font-size:1.5rem;color:#0f172a;margin:0;font-weight:700;letter-spacing:-.02em}.staff-management .staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.staff-management .staff-card{background:#fff;border-radius:12px;border:1.5px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;transition:all .25s ease}.staff-management .staff-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;border-color:#c9a96e4d}.staff-management .staff-card .staff-info h3{margin:0 0 .25rem;color:#0f172a;font-size:1.125rem;letter-spacing:-.02em}.staff-management .staff-card .staff-info .email{color:#64748b;margin:0 0 1rem;font-size:.875rem}.staff-management .staff-card .staff-info .role-badge{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.staff-management .staff-card .staff-info .role-badge.owner{background-color:#c9a96e1f;color:#aa843f}.staff-management .staff-card .staff-info .role-badge.manager{background-color:#64748b1a;color:#64748b}.staff-management .staff-card .staff-actions{border-top:1px solid #e2e8f0;padding-top:1rem;display:flex;justify-content:flex-end}.staff-management .staff-card .staff-actions .current-user-badge{font-size:.875rem;color:#94a3b8;font-style:italic}.staff-management .help-text{display:block;margin-top:.25rem;color:#64748b;font-size:.75rem}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:380px}.toast{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;color:#fff;font-size:.875rem;box-shadow:0 4px 12px #00000026;animation:slideIn .25s ease-out}.toast-success{background-color:#059669}.toast-error{background-color:#dc2626}.toast-info{background-color:#0284c7}.toast-warning{background-color:#d97706}.toast-message{flex:1;margin-right:12px}.toast-close{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;opacity:.7;line-height:1;padding:0}.toast-close:hover{opacity:1}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.today-view{padding:2rem;max-width:100%;min-height:calc(100dvh - 60px);background:#f8fafc}.today-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.today-header h1{font-size:1.875rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.03em}.today-header-controls{display:flex;align-items:center;gap:.5rem}.today-search-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#f7f9fb;border:1px solid rgba(0,0,0,.06);border-radius:.75rem;color:#64748b;cursor:pointer;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe;transition:background .15s ease,color .15s ease}.today-search-btn:hover{background:#f1f4f7;color:#0f172a}.today-date-control{display:flex;align-items:center;gap:.5rem;background:#f7f9fb;padding:.5rem 1rem;border-radius:.75rem;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe;border:1px solid rgba(0,0,0,.04)}.today-date-control label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.today-date-control input[type=date]{border:none;background:none;font-size:.875rem;font-weight:600;color:#0f172a;cursor:pointer;outline:none;font-family:inherit}.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media (max-width: 768px){.today-grid{grid-template-columns:1fr}}.today-section{background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe;overflow:hidden}.today-section__header{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-bottom:1px solid rgba(0,0,0,.06);background:#f7f9fb}.today-section__header svg{color:#0d9488;flex-shrink:0}.today-section__header h2{font-size:1rem;font-weight:700;color:#0f172a;margin:0 0 2px}.today-section__header p{font-size:.75rem;color:#64748b;margin:0}.today-section__count{margin-left:auto;font-size:1.5rem;font-weight:700;color:#0d9488;flex-shrink:0}.today-capacity{margin-left:auto;display:flex;align-items:center;gap:.5rem;flex-shrink:0}.today-capacity__label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.today-capacity__value{font-size:.875rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.today-capacity__pct{font-size:.75rem;font-weight:700;padding:2px 6px;border-radius:.5rem;font-variant-numeric:tabular-nums}.today-capacity__pct--low{background:#10b9811f;color:#10b981}.today-capacity__pct--mid{background:#f59e0b1f;color:#f59e0b}.today-capacity__pct--high{background:#ef44441f;color:#ef4444}.today-section__body{padding:1rem;display:flex;flex-direction:column;gap:.5rem;min-height:80px}.today-avail-section .today-section__header{border-bottom:none}.today-avail-filter{display:flex;gap:1rem;padding:0 1.5rem 1rem;flex-wrap:wrap;border-bottom:1px solid rgba(0,0,0,.06)}.today-avail-filter__field{display:flex;align-items:center;gap:.5rem;background:#f7f9fb;padding:.5rem 1rem;border-radius:.75rem;border:1px solid rgba(0,0,0,.06)}.today-avail-filter__field label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.today-avail-filter__field input[type=date]{border:none;background:none;font-size:.875rem;font-weight:600;color:#0f172a;cursor:pointer;outline:none;font-family:inherit}.today-rooms-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;padding:1rem!important}.today-booking-card{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f7f9fb;border:1px solid rgba(0,0,0,.05);border-radius:8px;cursor:pointer;width:100%;text-align:left;transition:all .2s cubic-bezier(.2,0,0,1)}.today-booking-card:hover{background:#ebeef2;box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;background-color:#f8fafb;transform:translateY(-1px)}.today-booking-card__ref{font-size:.75rem;font-weight:600;color:#94a3b8;letter-spacing:.04em;white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.today-booking-card__guest{font-size:.875rem;font-weight:600;color:#0f172a;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-booking-card__room{display:flex;align-items:center;gap:2px;font-size:.75rem;color:#64748b;font-weight:600;flex-shrink:0}.today-booking-card__room svg{font-size:14px}.today-booking-card__status{flex-shrink:0}.today-room-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:1rem .5rem;background:#10b9810f;border:1px solid rgba(16,185,129,.15);border-radius:8px;cursor:pointer;text-align:center;transition:all .2s cubic-bezier(.2,0,0,1)}.today-room-card:hover{background:#10b9811f;border-color:#10b9814d;box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;background-color:#f8fafb;transform:translateY(-2px)}.today-room-card__number{font-size:1rem;font-weight:700;color:#0f172a}.today-room-card__type{font-size:.75rem;color:#64748b;text-transform:capitalize}.today-room-card__add{color:#10b981;display:flex;align-items:center;margin-top:2px}.today-room-card__add svg{font-size:16px}.today-empty{font-size:.875rem;color:#94a3b8;text-align:center;padding:1.5rem 0;margin:0;font-style:italic}.today-tabs{display:flex;gap:2px;margin-bottom:1.5rem;background:#f7f9fb;border-radius:.75rem;padding:4px;width:fit-content;border:1px solid rgba(0,0,0,.05)}.today-tab{display:flex;align-items:center;gap:.25rem;padding:.25rem 1rem;border:none;background:transparent;border-radius:.5rem;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease}.today-tab svg{font-size:16px}.today-tab:hover{color:#0f172a;background:#0000000a}.today-tab--active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe}.today-inhouse-loading{font-size:.875rem;color:#64748b;padding:2rem 0;text-align:center}.today-inhouse-table{background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 2px #0000000d;background-color:#fdfdfe;overflow:hidden}.today-inhouse-table__head{display:grid;grid-template-columns:2fr 1fr .9fr .9fr .6fr 1fr 1.2fr;gap:1rem;padding:.5rem 1.5rem;background:#f7f9fb;border-bottom:1px solid rgba(0,0,0,.06);font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.today-inhouse-table__row{display:grid;grid-template-columns:2fr 1fr .9fr .9fr .6fr 1fr 1.2fr;gap:1rem;padding:.5rem 1.5rem;align-items:center;border-bottom:1px solid rgba(0,0,0,.04);font-size:.875rem;color:#0f172a;transition:background .15s ease}.today-inhouse-table__row:last-child{border-bottom:none}.today-inhouse-table__row:hover{background:#f7f9fb}.today-inhouse-table__guest{font-weight:600}.today-inhouse-table__nights{font-variant-numeric:tabular-nums;color:#64748b;font-weight:600}.today-inhouse-table__source{font-size:.75rem;color:#64748b}@media (max-width: 768px){.today-inhouse-table__head{display:none}.today-inhouse-table__row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:.25rem 1rem;padding:1rem}.today-inhouse-table__guest{grid-column:1/-1;font-size:1rem}}.today-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:.5rem;font-size:.75rem;font-weight:700;font-family:inherit;cursor:default;border:none}.today-badge--paid{background:#10b9811f;color:#10b981}.today-badge--partial{background:#f59e0b1f;color:#c57f08}.today-badge--unpaid{background:#f7f9fb;color:#94a3b8;border:1px dashed rgba(0,0,0,.15)}.today-loading{font-size:.875rem;color:#64748b;text-align:center;padding:1rem 0;margin:0}
