body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.create-booking{background-color:#f8fafc;min-height:100vh;padding:2rem}.booking-steps{justify-content:center;align-items:center;gap:1rem;margin:2rem 0;display:flex}.step{color:#6b7280;background-color:#f3f4f6;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;transition:all .3s;display:flex;position:relative}.step:not(:last-child):after{content:"";background-color:#d1d5db;width:.5rem;height:2px;position:absolute;top:50%;right:-1rem;transform:translateY(-50%)}.step.active{color:#fff;background-color:#3b82f6}.step.completed{color:#fff;background-color:#10b981}.step-number{background-color:#fff3;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.875rem;font-weight:600;display:flex}.step-label{font-size:.875rem;font-weight:500}.booking-content{background:#fff;border-radius:.75rem;max-width:1200px;margin:0 auto;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.booking-step{padding:2rem}.search-form{background-color:#f8fafc;border-radius:.5rem;margin-bottom:2rem;padding:1.5rem}.search-btn{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.room-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}.amenities{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.amenity-tag{color:#6b7280;background-color:#f3f4f6;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem}.select-room-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:.375rem;width:100%;padding:.75rem;font-weight:500;transition:background-color .2s}.select-room-btn:hover{background-color:#2563eb}.selected-room-summary{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;margin-bottom:2rem;padding:1rem}.selected-room-summary h3{color:#059669;margin-bottom:.5rem}.guest-form{max-width:800px}.step-actions{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:2rem;display:flex}.booking-summary{background-color:#f8fafc;border-radius:.5rem;margin-bottom:2rem;padding:1.5rem}.summary-details{flex-direction:column;gap:.75rem;display:flex}.summary-row{justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.summary-row.total{color:#059669;border-top:1px solid #d1d5db;margin-top:.5rem;padding-top:1rem;font-size:1.125rem;font-weight:600}.payment-form{margin-top:2rem}.success-step{text-align:center;padding:3rem 2rem}.success-icon{color:#fff;background-color:#10b981;border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;margin:0 auto 2rem;display:flex}.booking-confirmation{text-align:left;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;margin:2rem 0;padding:1.5rem}.confirmation-details p{margin-bottom:.5rem}.access-denied{text-align:center;padding:3rem 2rem}.access-denied h2{color:#dc2626;margin-bottom:1rem}.bookings-page{background-color:#f8fafc;min-height:100vh;padding:2rem}.bookings-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:2rem 0;display:grid}.summary-card{text-align:center;background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.summary-card h3{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.875rem}.summary-number{color:#1f2937;font-size:2rem;font-weight:700}.bookings-table-container{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.bookings-table{border-collapse:collapse;width:100%}.bookings-table th{color:#374151;text-align:left;text-transform:uppercase;letter-spacing:.05em;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;padding:1rem;font-size:.875rem;font-weight:600}.bookings-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.bookings-table th.sortable:hover{background-color:#e5e7eb}.bookings-table td{vertical-align:top;border-bottom:1px solid #f3f4f6;padding:1rem}.bookings-table tbody tr:hover{background-color:#f8fafc}.booking-ref{color:#3b82f6;background-color:#eff6ff;border-radius:.25rem;padding:.25rem .5rem;font-family:Courier New,monospace;font-size:.75rem;font-weight:600}.guest-info strong{color:#1f2937;margin-bottom:.25rem;display:block}.guest-contact{flex-direction:column;gap:.125rem;display:flex}.guest-contact small{color:#6b7280;font-size:.75rem}.room-info strong{color:#1f2937;margin-bottom:.25rem;display:block}.room-info small{color:#6b7280;font-size:.75rem}.status-orange{color:#c2410c;background-color:#fed7aa}.status-blue{color:#1d4ed8;background-color:#dbeafe}.status-green{color:#047857;background-color:#bbf7d0}.status-purple{color:#7c2d12;background-color:#e9d5ff}.status-gray{color:#6b7280;background-color:#f3f4f6}.status-red{color:#dc2626;background-color:#fecaca}.payment-red{color:#dc2626;background-color:#fecaca}.payment-orange{color:#c2410c;background-color:#fed7aa}.payment-green{color:#047857;background-color:#bbf7d0}.payment-purple{color:#7c2d12;background-color:#e9d5ff}.payment-gray{color:#6b7280;background-color:#f3f4f6}.status-controls,.payment-controls{flex-direction:column;gap:.5rem;display:flex}.status-select,.payment-select{background:#fff;border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem}.action-btn{cursor:pointer;border:none;border-radius:4px;align-items:center;gap:5px;padding:6px 10px;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.action-btn.view{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.action-btn.edit{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.action-btn.delete{color:#333;background:linear-gradient(135deg,#fa709a 0%,#fee140 100%)}.action-btn.delete.disabled{color:#6b7280;cursor:not-allowed;opacity:.6;pointer-events:all;background:linear-gradient(135deg,#9ca3af 0%,#d1d5db 100%)}.action-btn.delete.disabled:hover{transform:none;box-shadow:0 2px 4px #0000001a}.action-btn.payment{color:#fff;background:linear-gradient(135deg,#06b6d4 0%,#3b82f6 100%)}.action-btn.view-invoice{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#6366f1 100%)}.invoice-btn:hover{color:#1d4ed8;background-color:#dbeafe}.delete-btn:hover{color:#dc2626;background-color:#fecaca}.no-bookings{text-align:center;color:#6b7280;padding:3rem 2rem}.no-bookings svg{opacity:.5;margin:0 auto 1rem}.no-bookings h3{color:#374151;margin-bottom:.5rem}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.view-modal{background:#fff;border-radius:.75rem;width:90%;max-width:700px;box-shadow:0 10px 25px #0000001a}.view-modal-large{width:95%;max-width:900px;max-height:90vh;overflow-y:auto}.modal-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid #e5e7eb;border-radius:.75rem .75rem 0 0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h3{margin:0;font-size:1.5rem;font-weight:600}.close-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.access-denied-modal{background:#fff;border-radius:1rem;width:90%;max-width:600px;animation:.3s slideDown;box-shadow:0 20px 40px #00000026}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:200px;transform:translateY(0)}}.access-denied-header{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);align-items:center;gap:1rem;display:flex}.access-denied-header .modal-subtitle{opacity:.9;margin:0;font-size:.875rem;font-weight:400}.header-icon-wrapper{background:#fff3;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem;display:flex}.access-denied-content{text-align:center;padding:2rem 1.5rem}.access-denied-icon{justify-content:center;margin-bottom:1.5rem;display:flex}.access-denied-icon svg{color:#ef4444;filter:drop-shadow(0 4px 6px #ef444433)}.access-denied-content h4{color:#1e293b;margin:0 0 1rem;font-size:1.5rem;font-weight:700}.access-denied-message{color:#64748b;margin-bottom:1.5rem;font-size:1rem;line-height:1.6}.access-denied-info{text-align:left;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-left:4px solid #f59e0b;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.access-denied-help{text-align:left;background:#f8fafc;border-radius:.5rem;padding:1rem}.access-denied-help p{color:#475569;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.access-denied-help ul{margin:.5rem 0 0;padding-left:1.5rem;list-style-type:disc}.access-denied-help li{color:#64748b;margin:.25rem 0;font-size:.875rem}.modal-body{max-height:calc(90vh - 100px);padding:1.5rem;overflow-y:auto}.booking-info-section{margin-bottom:1.5rem}.info-card{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:.5rem;padding:.75rem;transition:transform .2s;box-shadow:0 2px 6px #0000001a}.info-label{opacity:.9;text-transform:uppercase;letter-spacing:.3px;margin-bottom:.35rem;font-size:.65rem}.info-value{margin-bottom:.15rem;font-size:1rem;font-weight:700}.info-sublabel{opacity:.85;font-size:.75rem}.financial-breakdown-section{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);border-radius:.75rem;margin-bottom:1.5rem;padding:1rem}.section-header{color:#1e293b;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.section-header h4{margin:0;font-size:1rem;font-weight:700}.financial-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.financial-card{background:#fff;border-left:3px solid #3b82f6;border-radius:.5rem;padding:.875rem;transition:all .2s;box-shadow:0 1px 4px #00000014}.financial-card:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001f}.base-amount-card{background:linear-gradient(135deg,#fff 0%,#eff6ff 100%);border-left-color:#3b82f6}.discount-card{background:linear-gradient(135deg,#fff 0%,#fef2f2 100%);border-left-color:#ef4444}.after-discount-card{background:linear-gradient(135deg,#fff 0%,#ecfdf5 100%);border-left-color:#10b981}.charges-card{background:linear-gradient(135deg,#fff 0%,#fffbeb 100%);border-left-color:#f59e0b}.card-label{color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-bottom:.35rem;font-size:.7rem;font-weight:600}.card-amount{color:#1e293b;margin-bottom:.15rem;font-size:1.25rem;font-weight:700}.card-detail{color:#64748b;font-size:.75rem}.charges-list{background:#fff;border-radius:.5rem;margin-bottom:.75rem;padding:.75rem}.charges-list-header{color:#475569;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #e2e8f0;margin-bottom:.5rem;padding-bottom:.35rem;font-size:.75rem;font-weight:600}.charge-item{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.5rem;transition:background .2s;display:flex}.charge-item:last-child{border-bottom:none}.charge-item:hover{background:#f8fafc}.charge-desc{flex:1;align-items:flex-start;gap:.35rem;display:flex}.charge-bullet{color:#f59e0b;font-size:1rem;font-weight:700}.charge-name,.charge-description{color:#334155;margin-bottom:.15rem;font-size:.875rem;font-weight:600}.charge-meta{color:#94a3b8;margin-top:.2rem;font-size:.7rem;display:block}.charge-date{color:#94a3b8;font-size:.7rem}.charge-amount{color:#f59e0b;font-size:.95rem;font-weight:700}.payments-list{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;margin-bottom:.75rem;padding:.75rem}.payments-list-header{color:#166534;text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid #86efac;margin-bottom:.5rem;padding-bottom:.35rem;font-size:.75rem;font-weight:600}.payment-item{background:#fff;border-bottom:1px solid #dcfce7;border-radius:.375rem;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem;transition:background .2s;display:flex}.payment-item:last-child{margin-bottom:0}.payment-item:hover{background:#f0fdf4}.payment-desc{flex:1;align-items:flex-start;gap:.35rem;display:flex}.payment-bullet{color:#10b981;font-size:1rem;font-weight:700}.payment-method{color:#166534;margin-bottom:.15rem;font-size:.875rem;font-weight:600}.payment-reference{color:#22c55e;font-size:.7rem;font-style:italic}.payment-notes{color:#64748b;margin-top:.15rem;font-size:.7rem}.total-summary{background:#fff;border-radius:.5rem;padding:.875rem;box-shadow:0 1px 4px #00000014}.charges-section,.payments-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-top:1.5rem;padding:1rem}.charges-section h4,.payments-section h4{color:#334155;border-bottom:2px solid #e2e8f0;margin-bottom:.75rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}.financial-summary-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:1rem;margin-top:1.5rem;overflow:hidden;box-shadow:0 10px 30px #667eea4d}.financial-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-bottom:1px solid #fff3;padding:1rem 1.5rem}.financial-header h4{color:#fff;text-shadow:0 2px 4px #0000001a;margin:0;font-size:1.25rem;font-weight:700}.financial-body{background:#fff;padding:1.5rem}.breakdown-section{margin-bottom:1rem}.breakdown-item{justify-content:space-between;align-items:center;padding:.75rem 0;transition:all .2s;display:flex}.breakdown-item:hover{transform:translate(5px)}.breakdown-label{color:#64748b;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.breakdown-icon{font-size:1.25rem}.breakdown-value{color:#334155;font-size:1rem;font-weight:600}.breakdown-value.additional{color:#f59e0b}.breakdown-divider{background:linear-gradient(90deg,#0000,#e2e8f0,#0000);height:1px;margin:.5rem 0}.subtotal-row{padding-top:.5rem;font-weight:600}.subtotal-row .breakdown-label{color:#334155;font-weight:600}.grand-total-row{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;margin:1rem -1.5rem;padding:1.25rem 1.5rem;display:flex}.grand-total-label{color:#fff;text-transform:uppercase;letter-spacing:.5px;font-size:1.125rem;font-weight:700}.grand-total-amount{color:#fff;text-shadow:0 2px 4px #0003;font-size:1.75rem;font-weight:800}.payment-status-section{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;display:grid}.payment-status-item{border-radius:.75rem;align-items:center;gap:1rem;padding:1rem;transition:all .3s;display:flex}.payment-status-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.payment-status-item.paid{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:2px solid #10b981}.payment-status-item.balance.due{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:2px solid #ef4444}.payment-status-item.balance.clear{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border:2px solid #3b82f6}.status-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;font-weight:700;display:flex}.payment-status-item.paid .status-icon{color:#fff;background:#10b981}.payment-status-item.balance.due .status-icon{color:#fff;background:#ef4444}.payment-status-item.balance.clear .status-icon{color:#fff;background:#3b82f6}.status-content{flex:1}.status-label{text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.payment-status-item.paid .status-label{color:#065f46}.payment-status-item.balance.due .status-label{color:#991b1b}.payment-status-item.balance.clear .status-label{color:#1e40af}.status-amount{font-size:1.25rem;font-weight:800}.payment-status-item.paid .status-amount{color:#047857}.payment-status-item.balance.due .status-amount{color:#dc2626}.payment-status-item.balance.clear .status-amount{color:#2563eb}@media (max-width:768px){.payment-status-section{grid-template-columns:1fr}.grand-total-amount{font-size:1.5rem}.financial-body{padding:1rem}}.payment-received{color:#3b82f6;margin-left:.5rem;font-size:.7rem}.no-data-message{color:#64748b;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:.375rem;padding:1rem;font-size:.875rem;font-style:italic}.total-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.95rem;display:flex}.grand-total{color:#1e293b;background:#fff;border:2px solid #10b981;border-radius:.375rem;margin-bottom:.5rem;padding:.75rem;font-size:1.1rem;font-weight:700;box-shadow:0 2px 8px #10b98133}.grand-total span{color:#1e293b}.paid-amount{color:#10b981;font-weight:600}.due-amount{color:#ef4444;font-size:1rem;font-weight:700}.status-section{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:1rem;display:grid}.status-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;flex-direction:column;gap:.35rem;padding:.75rem;display:flex}.status-label{color:#64748b;font-size:.75rem;font-weight:600}.status-item span:last-child{color:#1e293b;font-size:.875rem;font-weight:600}@media (max-width:768px){.view-modal-large{width:98%;max-height:95vh}.info-grid,.financial-cards,.status-section{grid-template-columns:1fr}.card-amount{font-size:1.5rem}.charge-item{flex-direction:column;align-items:flex-start;gap:.5rem}}.booking-details-grid{grid-template-columns:1fr 1fr;gap:1rem;padding:1.5rem 0;display:grid}.detail-item{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.detail-item.full-width{grid-column:1/-1}.detail-item span:first-child{color:#6b7280;font-size:.875rem}.detail-item strong{color:#1f2937;font-weight:600}.detail-item .status-badge,.detail-item .payment-badge{align-self:flex-start}@media (max-width:1024px){.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.bookings-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width:768px){.create-booking,.bookings-page{padding:1rem}.booking-steps{flex-direction:column;gap:.5rem}.step{padding:.5rem}.step:not(:last-child):after{display:none}.rooms-grid{grid-template-columns:1fr}.step-actions{flex-direction:column;gap:1rem}.step-actions .btn{width:100%}.bookings-table-container{overflow-x:auto}.bookings-table{min-width:800px}}.action-btn.checkin{color:#fff;background:#10b981;border:none}.action-btn.checkin:hover{background:#059669}.action-btn.checkout{color:#fff;background:#f59e0b;border:none}.action-btn.checkout:hover{background:#d97706}.booking-date{color:#374151;font-size:.875rem;font-weight:500}@media (max-width:1200px){.bookings-table th:nth-child(4),.bookings-table td:nth-child(4){display:none}}.action-buttons{flex-wrap:wrap;gap:.5rem;min-width:280px;display:flex}@media (max-width:768px){.action-buttons{flex-direction:column;min-width:auto}.action-btn{justify-content:flex-start;width:100%}}.summary-card.confirmed{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-left:4px solid #3b82f6}.summary-card.checked-in{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-left:4px solid #10b981}.summary-card.checked-out{background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);border-left:4px solid #6b7280}.summary-card.confirmed .summary-number{color:#3b82f6}.summary-card.checked-in .summary-number{color:#10b981}.summary-card.checked-out .summary-number{color:#6b7280}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:.375rem;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge.status-blue{color:#1d4ed8;background:#dbeafe}.status-badge.status-green{color:#059669;background:#d1fae5}.status-badge.status-purple{color:#7c3aed;background:#e0e7ff}.status-badge.status-gray{color:#374151;background:#f3f4f6}.status-badge.status-red{color:#dc2626;background:#fee2e2}.status-badge.status-orange{color:#ea580c;background:#fed7aa}.payment-badge{text-transform:uppercase;letter-spacing:.1em;border-radius:.25rem;padding:.25rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.payment-badge.payment-green{color:#059669;background:#d1fae5}.payment-badge.payment-red{color:#dc2626;background:#fee2e2}.payment-badge.payment-orange{color:#ea580c;background:#fed7aa}.payment-badge.payment-purple{color:#7c3aed;background:#e0e7ff}.payment-badge.payment-gray{color:#374151;background:#f3f4f6}.payment-details-col{flex-direction:column;gap:.25rem;min-width:150px;display:flex}.payment-line{justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.payment-label{color:#64748b;font-weight:500}.payment-amount{font-weight:600}.payment-label.paid,.payment-amount.paid{color:#059669}.payment-label.due,.payment-amount.due{color:#ef4444}.payment-details-col .payment-badge{text-align:center;margin-top:.5rem}.booking-info-summary{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.booking-info-summary p{color:#475569;margin:.5rem 0}.booking-info-summary strong{color:#1e293b}.form-control{border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.75rem;font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control select,select.form-control{cursor:pointer;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.modern-booking-modal{flex-direction:column;max-height:85vh;display:flex;overflow:hidden;border-radius:16px!important;max-width:800px!important;box-shadow:0 20px 40px -12px #00000040!important}.gradient-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:none!important;padding:1.25rem 1.5rem!important}.gradient-header .header-content{align-items:center;gap:.75rem;display:flex}.gradient-header .header-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.gradient-header h3{letter-spacing:-.3px;margin:0;font-size:1.25rem;font-weight:700}.booking-ref-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff40;border-radius:16px;margin:.15rem 0 0;padding:.2rem .6rem;font-size:.8125rem;font-weight:600;display:inline-block}.gradient-header .close-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .3s;display:flex}.gradient-header .close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.scrollable-content{background:#f8fafc;flex:1;padding:.875rem;overflow-y:auto}.scrollable-content::-webkit-scrollbar{width:6px}.scrollable-content::-webkit-scrollbar-track{background:#f1f5f9}.scrollable-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.scrollable-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.info-card{background:#fff;border-radius:12px;margin-bottom:.75rem;transition:all .3s;overflow:hidden;box-shadow:0 1px 3px #00000014}.info-card:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000001f}.info-card .card-header{background:linear-gradient(90deg,#f8fafc,#fff);border-bottom:1px solid #f1f5f9;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.info-card .card-header .header-icon{font-size:1.25rem}.info-card .card-header h4{color:#1e293b;letter-spacing:-.2px;margin:0;font-size:.9375rem;font-weight:700}.info-card .card-content{padding:.875rem}.guest-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;display:grid}.guest-info-item{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px solid #e2e8f0;border-radius:10px;align-items:center;gap:.625rem;padding:.75rem;transition:all .3s;display:flex}.guest-info-item:hover{border-color:#667eea;transform:translateY(-1px);box-shadow:0 3px 10px #667eea26}.guest-info-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex;box-shadow:0 2px 6px #0000001a}.guest-info-icon.name{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.guest-info-icon.email{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.guest-info-icon.phone{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.guest-info-content{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.guest-info-label{text-transform:uppercase;letter-spacing:.4px;color:#64748b;font-size:.625rem;font-weight:600}.guest-info-value{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:700;overflow:hidden}.dates-grid{background:linear-gradient(135deg,#f8fafc 0%,#e0e7ff 100%);border-radius:12px;align-items:center;gap:.75rem;margin-bottom:.875rem;padding:.875rem;display:flex}.date-box{background:#fff;border:2px solid #e2e8f0;border-radius:10px;flex:1;align-items:center;gap:.625rem;padding:.75rem;transition:all .3s;display:flex}.date-box:hover{border-color:#667eea;transform:translateY(-1px);box-shadow:0 3px 10px #667eea26}.date-box-icon{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex;box-shadow:0 2px 8px #667eea4d}.date-box.checkout .date-box-icon{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);box-shadow:0 2px 8px #f5576c4d}.date-box-content{flex-direction:column;flex:1;gap:.15rem;display:flex}.date-box-label{text-transform:uppercase;letter-spacing:.4px;color:#64748b;font-size:.625rem;font-weight:600}.date-box-date{color:#1e293b;font-size:.875rem;font-weight:800}.date-box-year{color:#64748b;font-size:.6875rem;font-weight:600}.date-separator{flex-direction:column;align-items:center;gap:.375rem;padding:0 .5rem;display:flex}.separator-line{background:linear-gradient(#667eea,#f5576c);border-radius:10px;width:2px;height:24px}.nights-badge{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;padding:.25rem .625rem;font-size:.6875rem;font-weight:700;box-shadow:0 2px 6px #667eea4d}.room-guests-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:.875rem;display:grid}.room-guest-box{background:#fff;border:2px solid #e2e8f0;border-radius:10px;align-items:center;gap:.625rem;padding:.75rem;transition:all .3s;display:flex}.room-guest-box:hover{border-color:#667eea;transform:translateY(-1px);box-shadow:0 3px 10px #667eea26}.rgb-icon{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex;box-shadow:0 2px 8px #667eea4d}.rgb-content{flex-direction:column;flex:1;gap:.15rem;display:flex}.rgb-label{text-transform:uppercase;letter-spacing:.4px;color:#64748b;font-size:.625rem;font-weight:600}.rgb-value{color:#1e293b;font-size:.875rem;font-weight:800}.rgb-subtitle{color:#64748b;font-size:.6875rem;font-weight:600}.status-grid{border-top:1px solid #f1f5f9;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.875rem 0 0;display:grid}.status-box-item{flex-direction:column;gap:.375rem;display:flex}.status-box-item .status-box-label{text-transform:uppercase;letter-spacing:.4px;color:#64748b;font-size:.625rem;font-weight:600}.booking-footer-meta{border-top:1px solid #f1f5f9;gap:1rem;margin-top:.75rem;padding-top:.75rem;display:flex}.footer-meta-item{color:#64748b;align-items:center;gap:.375rem;font-size:.75rem;display:flex}.footer-meta-item svg{color:#94a3b8}.charges-list .charge-item.modern{background:#f8fafc;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem;transition:all .3s;display:flex}.charges-list .charge-item.modern:hover{background:#ede9fe;transform:translate(4px)}.charges-list .charge-item.modern:last-child{margin-bottom:0}.charge-info{flex-direction:column;gap:.25rem;display:flex}.charge-name{color:#1e293b;font-size:.875rem;font-weight:600}.charge-date{color:#64748b;align-items:center;gap:.25rem;font-size:.75rem;display:flex}.charge-date svg{color:#94a3b8}.charges-list .charge-amount{color:#7c3aed;background:#fff;border-radius:8px;padding:.375rem .75rem;font-size:.9375rem;font-weight:700;box-shadow:0 2px 4px #0000000d}.payments-list.modern{flex-direction:column;gap:.625rem;display:flex}.payments-list .payment-item.modern{background:linear-gradient(135deg,#f8fafc 0%,#e0f2fe 100%);border-left:3px solid #0ea5e9;border-radius:10px;align-items:center;gap:.625rem;padding:.75rem;transition:all .3s;display:flex}.payments-list .payment-item.modern:hover{transform:translate(3px);box-shadow:0 3px 10px #0ea5e933}.payment-icon-wrapper{color:#0ea5e9;background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 2px 6px #0ea5e933}.payment-icon-wrapper svg{width:18px;height:18px}.payment-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.payment-method-badge{color:#0ea5e9;text-transform:uppercase;letter-spacing:.4px;font-size:.75rem;font-weight:700}.payment-meta{color:#64748b;align-items:center;gap:.25rem;font-size:.6875rem;display:flex}.payment-meta svg{color:#94a3b8}.payment-reference,.payment-received{color:#64748b;align-items:center;gap:.25rem;font-size:.6875rem;display:flex}.payment-received svg{color:#94a3b8}.payment-amount-badge{color:#059669;background:#fff;border-radius:10px;padding:.5rem .75rem;font-size:1rem;font-weight:700;box-shadow:0 2px 6px #05966926}.financial-card .card-header.financial-header{background:linear-gradient(135deg,#f8fafc 0%,#e0e7ff 100%);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.financial-header .header-badge{margin-left:auto}.badge-due{color:#991b1b;text-transform:uppercase;letter-spacing:.3px;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:1px solid #fca5a5;border-radius:12px;padding:.25rem .625rem;font-size:.6875rem;font-weight:700}.badge-paid{color:#065f46;text-transform:uppercase;letter-spacing:.3px;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:1px solid #6ee7b7;border-radius:12px;padding:.25rem .625rem;font-size:.6875rem;font-weight:700}.financial-card .card-content.financial-content{padding:.75rem!important}.financial-charges-list{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px solid #e2e8f0;border-radius:10px;margin-bottom:.875rem;padding:.75rem}.charge-line-item{border-bottom:1px dashed #cbd5e1;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.charge-line-item:last-child{border-bottom:none;padding-bottom:0}.charge-line-item:first-child{padding-top:0}.charge-line-label{color:#475569;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.charge-line-icon{background:#fff;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.125rem;display:flex;box-shadow:0 2px 4px #0000000f}.charge-line-value{color:#1e293b;background:#fff;border-radius:8px;padding:.375rem .625rem;font-size:.9375rem;font-weight:800;box-shadow:0 1px 3px #00000014}.charge-line-item.discount-item{background:linear-gradient(90deg,#fef3c7 0%,#fde68a 100%);border:2px dashed #f59e0b;border-radius:8px;margin:.5rem 0;padding:.75rem}.discount-badge{color:#fff;background:#f59e0b;border-radius:12px;margin-left:.5rem;padding:.125rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.charge-line-value.discount-value{color:#dc2626;background:#fee2e2;font-weight:900;box-shadow:0 2px 6px #dc262626}.charge-line-item.room-total-item{background:linear-gradient(90deg,#dbeafe 0%,#bfdbfe 100%);border:2px solid #3b82f6;border-radius:8px;margin:.5rem 0;padding:.75rem}.charge-line-item.room-total-item .charge-line-value{color:#fff;background:#3b82f6;font-weight:900;box-shadow:0 2px 6px #3b82f64d}.charge-line-item.vat-item{background:linear-gradient(90deg,#e0e7ff 0%,#c7d2fe 100%);border:2px solid #6366f1;border-radius:8px;margin:.5rem 0;padding:.75rem}.tax-badge{color:#fff;background:#6366f1;border-radius:12px;margin-left:.5rem;padding:.125rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.charge-line-value.vat-value{color:#fff;background:#6366f1;font-weight:900;box-shadow:0 2px 6px #6366f14d}.financial-summary-row{grid-template-columns:repeat(3,1fr);gap:.625rem;display:grid}.financial-box{border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;padding:.875rem;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000014}.financial-box:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.financial-box:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.total-box{background:linear-gradient(135deg,#1e293b 0%,#334155 100%)}.total-box:before{background:linear-gradient(90deg,#667eea 0%,#764ba2 100%)}.paid-box{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%)}.paid-box:before{background:linear-gradient(90deg,#059669 0%,#10b981 100%)}.due-box{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%)}.due-box:before{background:linear-gradient(90deg,#dc2626 0%,#ef4444 100%)}.clear-box{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%)}.clear-box:before{background:linear-gradient(90deg,#0ea5e9 0%,#3b82f6 100%)}.fb-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;font-weight:800;display:flex;box-shadow:0 3px 10px #00000026}.total-icon{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.paid-icon{color:#fff;background:#059669}.due-icon{color:#fff;background:#dc2626}.clear-icon{color:#fff;background:#0ea5e9}.fb-content{flex-direction:column;align-items:center;gap:.25rem;width:100%;display:flex}.fb-label{text-transform:uppercase;letter-spacing:.4px;text-align:center;font-size:.6875rem;font-weight:700}.total-box .fb-label{color:#94a3b8}.paid-box .fb-label{color:#065f46}.due-box .fb-label{color:#991b1b}.clear-box .fb-label{color:#075985}.fb-amount{text-align:center;word-break:break-word;font-size:1.25rem;font-weight:900;line-height:1}.total-amount{color:#fff;text-shadow:0 2px 6px #0003}.paid-amount{color:#065f46}.due-amount{color:#991b1b}.clear-amount{color:#075985}@media (max-width:768px){.financial-summary-row{grid-template-columns:1fr}.fb-amount{font-size:1.125rem}}.modern-actions{background:#fff;border-top:1px solid #f1f5f9;justify-content:flex-end;gap:.625rem;padding:1rem 1.5rem;display:flex}.modern-btn{align-items:center;gap:.4rem;display:flex;box-shadow:0 2px 4px #00000014;border-radius:10px!important;padding:.625rem 1.25rem!important;font-size:.9375rem!important;font-weight:600!important;transition:all .3s!important}.modern-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000001f!important}.btn-secondary.modern-btn{color:#475569;background:#f1f5f9;border:2px solid #e2e8f0}.btn-secondary.modern-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.btn-info.modern-btn{color:#fff;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);border:none}.btn-warning.modern-btn{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:none}.btn-warning.modern-btn:hover{background:linear-gradient(135deg,#d97706 0%,#b45309 100%);transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.btn-success.modern-btn{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none}@media (max-width:768px){.modern-booking-modal{margin:1rem;max-width:95%!important}.booking-meta,.payment-summary-grid{grid-template-columns:1fr}.modern-actions{flex-direction:column}.modern-btn{justify-content:center;width:100%}}.modern-bookings{background:#f8fafc;min-height:100vh;padding:1.5rem 2rem}.page-header-modern{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:1.75rem;padding-bottom:1rem;display:flex}.page-header-modern h1{color:#1e293b;letter-spacing:-.025em;margin:0;font-size:1.875rem;font-weight:700}.btn-primary-modern{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.btn-primary-modern:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.booking-stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card-modern{background:#fff;border:2px solid #e2e8f0;border-radius:1rem;flex-direction:column;gap:.75rem;padding:1.5rem 1.75rem;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #00000014}.stat-card-modern:before{content:"";border-radius:1rem 1rem 0 0;height:4px;position:absolute;top:0;left:0;right:0}.stat-card-modern.total:before{background:#3b82f6}.stat-card-modern.confirmed:before{background:#f59e0b}.stat-card-modern.checked-in:before{background:#10b981}.stat-card-modern.checked-out:before{background:#ef4444}.stat-card-modern:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.stat-label{color:#6b7280;letter-spacing:-.01em;font-size:.9375rem;font-weight:500;line-height:1.4}.stat-value{font-size:2.5rem;font-weight:700;line-height:1}.stat-card-modern.total .stat-value{color:#3b82f6}.stat-card-modern.confirmed .stat-value{color:#f59e0b}.stat-card-modern.checked-in .stat-value{color:#10b981}.stat-card-modern.checked-out .stat-value{color:#ef4444}.priority-section{background:#fff;border:1px solid #e5e7eb;border-radius:.875rem;margin-bottom:1.5rem;padding:1.75rem 2rem;box-shadow:0 1px 3px #00000014}.priority-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.priority-title{align-items:center;gap:.75rem;display:flex}.priority-title h2{color:#1e293b;margin:0;font-size:1.25rem;font-weight:700}.priority-title svg{color:#ef4444;flex-shrink:0;width:28px;height:28px}.view-all-link{color:#3b82f6;cursor:pointer;background:0 0;border:none;font-size:.9375rem;font-weight:600;text-decoration:none;transition:color .2s}.view-all-link:hover{color:#2563eb;text-decoration:underline}.priority-cards-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.priority-card{background:#fef2f2;border:1px solid #fecaca;border-radius:.875rem;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 1.75rem;transition:all .2s;display:flex}.priority-card:hover{background:#fef2f2;border-color:#fca5a5;transform:translateY(-2px);box-shadow:0 4px 12px #ef44441f}.priority-card-header{flex-direction:column;flex:1;gap:.375rem;display:flex}.room-label{color:#0f172a;font-size:1.25rem;font-weight:700;line-height:1.2}.guest-name-priority{color:#64748b;font-size:1rem;font-weight:500;line-height:1.4}.checkout-btn-small{color:#fff;cursor:pointer;white-space:nowrap;background:#dc2626;border:none;border-radius:1.5rem;justify-content:center;align-items:center;gap:.5rem;min-width:120px;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;transition:all .2s;display:flex}.checkout-btn-small:hover{background:#b91c1c;transform:scale(1.03);box-shadow:0 4px 12px #dc262659}.no-checkouts-message{text-align:center;color:#94a3b8;padding:3rem 2rem;font-size:.9375rem}.no-checkouts-message p{margin:0;font-weight:500}.search-filter-bar{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.search-bar-modern{flex:1;align-items:center;display:flex;position:relative}.search-bar-modern svg{color:#94a3b8;position:absolute;left:1rem}.search-bar-modern input{border:2px solid #e2e8f0;border-radius:.5rem;width:100%;padding:.75rem 1rem .75rem 3rem;font-size:.875rem;transition:all .2s}.search-bar-modern input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.filter-group-modern{background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.filter-group-modern svg{color:#64748b}.filter-group-modern select{color:#1e293b;cursor:pointer;background:0 0;border:none;outline:none;font-size:.875rem;font-weight:600}.modern-table-container{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.modern-bookings-table{border-collapse:collapse;width:100%}.modern-bookings-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.modern-bookings-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.05em;padding:1rem;font-size:.75rem;font-weight:700}.modern-bookings-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.modern-bookings-table th.sortable:hover{color:#3b82f6}.modern-bookings-table tbody tr{border-bottom:1px solid #f1f5f9;transition:all .2s}.modern-bookings-table tbody tr:hover{background:#f8fafc}.modern-bookings-table td{color:#334155;padding:1rem;font-size:.875rem}.ref-cell{color:#3b82f6;font-family:Courier New,monospace;font-weight:600}.guest-cell{color:#1e293b;font-weight:600}.room-cell{color:#64748b;font-weight:600}.date-cell{color:#64748b;font-size:.8125rem}.checkout-highlight{position:relative}.today-badge-inline{color:#fff;text-transform:uppercase;background:#ef4444;border-radius:.25rem;margin-left:.5rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:700;display:inline-block}.nights-cell{color:#8b5cf6;font-weight:600}.amount-cell{color:#1e293b;font-size:.9375rem;font-weight:700}.status-cell{padding:.5rem 1rem}.payment-summary-compact{flex-direction:column;gap:.25rem;display:flex}.payment-row-compact{align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.payment-row-compact.paid,.payment-row-compact.due{color:#64748b}.paid-color{font-weight:700;color:#10b981!important}.due-color{font-weight:700;color:#ef4444!important}.actions-cell{padding:.75rem 1rem}.action-buttons-modern{align-items:center;gap:.5rem;display:flex}.action-btn-modern.view:hover{color:#3b82f6;background:#e2e8f0}.action-btn-modern.checkin{color:#065f46;background:#d1fae5}.action-btn-modern.checkin:hover{color:#fff;background:#10b981}.action-btn-modern.checkout{color:#991b1b;background:#fee2e2}.action-btn-modern.checkout:hover{color:#fff;background:#ef4444}.action-btn-modern.change-room{color:#92400e;background:#fef3c7}.action-btn-modern.change-room:hover{color:#fff;background:#f59e0b}@media (max-width:1400px){.priority-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1200px){.booking-stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card-modern{padding:1.25rem 1.5rem}.stat-value{font-size:2.25rem}}@media (max-width:900px){.priority-cards-grid{grid-template-columns:1fr}}@media (max-width:768px){.modern-bookings{padding:1rem}.booking-stats-grid{grid-template-columns:1fr}.stat-card-modern{padding:1rem 1.25rem}.stat-label{font-size:.875rem}.stat-value{font-size:2rem}.priority-cards-grid{grid-template-columns:1fr}.search-filter-bar{flex-direction:column}.modern-table-container{overflow-x:auto}.modern-bookings-table{min-width:1000px}}.checkin-checkout-modal{width:90%;max-width:550px}.checkin-checkout-modal .modal-header{background:linear-gradient(135deg,#3b82f6 0%,#1e40af 100%)}.checkin-checkout-modal .warning-message{text-align:center;background:#fef3c7;border:1px solid #f59e0b;border-radius:.5rem;margin:1rem 0;padding:1rem}.checkin-checkout-modal .warning-message h4{color:#92400e;margin:0 0 .5rem;font-size:1rem;font-weight:600}.checkin-checkout-modal .warning-message p{color:#78350f;margin:0;font-size:.875rem}.checkin-checkout-modal .info-box{background:#dbeafe;border:1px solid #3b82f6;border-radius:.5rem;margin:1rem 0;padding:.875rem}.checkin-checkout-modal .info-box.early-checkin{background:#fef3c7;border-color:#f59e0b}.checkin-checkout-modal .info-box.late-checkin{background:#fee2e2;border-color:#ef4444}.checkin-checkout-modal .info-box.early-checkout{background:#fef3c7;border-color:#f59e0b}.checkin-checkout-modal .info-box.late-checkout{background:#fee2e2;border-color:#ef4444}.checkin-checkout-modal .info-box p{color:#374151;margin:0;font-size:.875rem}.checkin-checkout-modal .success-text{color:#059669;text-align:center;margin:1rem 0;font-size:1rem;font-weight:600}.checkin-checkout-modal .warning-text{color:#dc2626;text-align:center;margin:1rem 0;font-size:1rem;font-weight:600}.checkin-checkout-modal .booking-details{background:#f9fafb;border-radius:.5rem;margin:1rem 0;padding:1rem}.checkin-checkout-modal .booking-details p{color:#374151;margin:.5rem 0;font-size:.9rem}.checkin-checkout-modal .booking-details strong{color:#1f2937;font-weight:600}.checkin-checkout-modal .modal-actions{background:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 .75rem .75rem;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.checkin-checkout-modal .btn{cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.checkin-checkout-modal .btn-secondary{color:#374151;background:#e5e7eb}.checkin-checkout-modal .btn-secondary:hover{background:#d1d5db}.checkin-checkout-modal .btn-primary{color:#fff;background:#3b82f6}.checkin-checkout-modal .btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px #3b82f64d}.checkin-checkout-modal .btn-success{color:#fff;background:#10b981}.checkin-checkout-modal .btn-success:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 6px #10b9814d}.room-history-card{margin-top:1.5rem}.room-history-card .card-header{align-items:center;gap:.75rem;display:flex}.history-badge{color:#fff;background:#3b82f6;border-radius:12px;margin-left:auto;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.room-history-timeline{padding-left:2.5rem;position:relative}.room-history-timeline:before{content:"";background:linear-gradient(#3b82f6,#e5e7eb);width:2px;position:absolute;top:20px;bottom:20px;left:10px}.timeline-item{margin-bottom:2rem;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-marker{z-index:1;background:#fff;border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:0;left:-2.5rem}.timeline-marker.start{color:#10b981;background:#d1fae5;border-color:#10b981}.timeline-marker.change{color:#f59e0b;background:#fef3c7;border-color:#f59e0b}.timeline-marker.current{color:#3b82f6;background:#dbeafe;border-color:#3b82f6}.timeline-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.timeline-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.timeline-title{color:#1f2937;font-size:.95rem;font-weight:600}.timeline-date{color:#6b7280;font-size:.8rem}.timeline-badge{border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.timeline-badge.current{color:#1e40af;background:#dbeafe}.timeline-details{margin-top:.75rem}.room-info-box{border:2px solid;border-radius:6px;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.room-info-box.original{background:#ecfdf5;border-color:#10b981}.room-info-box.from{background:#fef2f2;border-color:#ef4444}.room-info-box.to{background:#ecfdf5;border-color:#10b981}.room-info-box.current-active{background:#eff6ff;border-color:#3b82f6}.flow-label{text-transform:uppercase;color:#6b7280;letter-spacing:.05em;font-size:.7rem;font-weight:600}.room-info-box .room-number{color:#1f2937;font-size:1.1rem;font-weight:700}.room-info-box .room-type{color:#6b7280;font-size:.85rem}.room-info-box .room-rate{color:#059669;font-size:.9rem;font-weight:600}.change-flow{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-bottom:1rem;display:grid}.flow-arrow{color:#6b7280;justify-content:center;align-items:center;display:flex}.change-meta{background:#fff;border:1px solid #e5e7eb;border-radius:6px;flex-direction:column;gap:.5rem;padding:.75rem;font-size:.875rem;display:flex}.change-reason,.change-notes{color:#374151}.change-reason strong,.change-notes strong{color:#1f2937}.change-impact{border-top:1px solid #f3f4f6;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.nights-affected{color:#6b7280;align-items:center;gap:.5rem;display:flex}.price-adjustment{border-radius:6px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.change-by{color:#6b7280;border-top:1px solid #f3f4f6;padding-top:.5rem;font-size:.8rem}.change-by strong{color:#1f2937}@media (max-width:768px){.change-flow{grid-template-columns:1fr;gap:.75rem}.flow-arrow{transform:rotate(90deg)}.room-history-timeline{padding-left:2rem}.timeline-marker{left:-2rem}.change-impact{flex-direction:column;align-items:flex-start;gap:.5rem}}.add-room-modal{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.add-room-form-container{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0003}.form-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.form-header h2{color:#111827;margin:0;font-size:1.5rem;font-weight:600}.close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;transition:all .2s;display:flex}.close-btn:hover{color:#374151;background-color:#f3f4f6}.add-room-form{padding:24px}@media (max-width:640px){.form-row{grid-template-columns:1fr;gap:16px}}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;padding:12px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.radio-group{gap:20px;margin-top:8px;display:flex}.radio-label{cursor:pointer;align-items:center;gap:8px;margin-bottom:0;font-weight:400;display:flex}.radio-label input[type=radio]{cursor:pointer;width:auto;margin:0}.cancel-btn,.submit-btn{cursor:pointer;border:none;border-radius:8px;min-width:100px;padding:12px 24px;font-size:.875rem;font-weight:500;transition:all .2s}.cancel-btn{color:#374151;background-color:#f9fafb;border:1px solid #d1d5db}.cancel-btn:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.submit-btn{color:#fff;background-color:#3b82f6}.submit-btn:hover:not(:disabled){background-color:#2563eb}.cancel-btn:disabled,.submit-btn:disabled{opacity:.6;cursor:not-allowed}.form-group input:valid:not(:placeholder-shown),.form-group select:valid{border-color:#10b981}@media (max-width:480px){.add-room-form-container{width:95%;margin:10px}.form-header{padding:16px 20px}.add-room-form{padding:20px}.form-actions{flex-direction:column}.cancel-btn,.submit-btn{width:100%}}*{box-sizing:border-box;margin:0;padding:0}body{color:#334155;background-color:#f8fafc;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.app-layout{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:1000;background:linear-gradient(#1e293b 0%,#334155 100%);flex-direction:column;width:260px;height:100vh;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-header{border-bottom:1px solid #475569;flex-shrink:0;padding:1.5rem}.sidebar-header h2{color:#e2e8f0;font-size:1.25rem;font-weight:600}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-item{color:#cbd5e1;border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background-color:#475569;border-left-color:#3b82f6}.nav-item.active{color:#fff;background-color:#3b82f6;border-left-color:#60a5fa}.menu-group{position:relative}.submenu-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;position:relative}.submenu-header:hover{color:#fff;background-color:#475569}.submenu-header.active{color:#fff;background-color:#1e40af;border-left-color:#3b82f6}.submenu-header .chevron-icon{opacity:.7;margin-left:auto;transition:transform .2s}.submenu-header:hover .chevron-icon{opacity:1}.submenu{background-color:#334155;border-left:2px solid #475569;margin-left:1rem;animation:.2s ease-out slideDown;overflow:hidden}.submenu-item{color:#94a3b8;border-left:2px solid #0000;padding:.5rem 2rem;font-size:.875rem;position:relative}.submenu-item:before{content:"";background-color:#64748b;border-radius:50%;width:4px;height:4px;transition:all .2s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.submenu-item:hover{color:#e2e8f0;background-color:#475569;border-left-color:#60a5fa}.submenu-item:hover:before{background-color:#60a5fa;transform:translateY(-50%)scale(1.2)}.submenu-item.active{color:#fff;background-color:#1e40af;border-left-color:#3b82f6}.submenu-item.active:before{background-color:#3b82f6;transform:translateY(-50%)scale(1.3)}.submenu-item svg{width:16px;height:16px}.sidebar-footer{background:linear-gradient(#0000 0%,#0f172acc 20%,#0f172a 100%);border-top:1px solid #334155;flex-shrink:0;padding:1rem}.user-info{background:#33415580;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem;display:flex}.user-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 2px 8px #3b82f64d}.user-details{flex:1;min-width:0}.user-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;text-transform:capitalize;font-size:.875rem;font-weight:600;overflow:hidden}.user-role{color:#94a3b8;text-transform:capitalize;font-size:.75rem}.logout-btn{color:#fca5a5;cursor:pointer;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.75rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.logout-btn:hover{color:#fff;background:#ef4444;border-color:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.logout-btn:active{transform:translateY(0)}.logout-btn svg{flex-shrink:0}.main-content{flex-direction:column;flex:1;margin-left:260px;display:flex}.header{z-index:100;background:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 2rem;position:sticky;top:0}.header-content{justify-content:flex-end;align-items:center;display:flex}.header h1{color:#1e293b;font-size:1.5rem;font-weight:600}.notification-btn,.user-btn,.logout-btn{cursor:pointer;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem;transition:background-color .2s;display:flex}.notification-btn:hover,.user-btn:hover,.logout-btn:hover{background-color:#f1f5f9}.content{flex:1;padding:2rem;overflow-y:auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-header h1{color:#1e293b;font-size:2rem;font-weight:700}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{color:#1e293b;margin-bottom:.5rem;font-size:2rem;font-weight:700}.dashboard-header p{color:#64748b;font-size:1.1rem}.stat-card{background:#fff;border-left:4px solid #e2e8f0;border-radius:.75rem;align-items:center;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 1px 3px #0000001a}.stat-card.blue{border-left-color:#3b82f6}.stat-card.green{border-left-color:#10b981}.stat-card.purple{border-left-color:#8b5cf6}.stat-card.orange{border-left-color:#f59e0b}.stat-icon{background-color:#f1f5f9;border-radius:.5rem;padding:.75rem}.stat-card.blue .stat-icon{color:#3b82f6;background-color:#dbeafe}.stat-card.green .stat-icon{color:#10b981;background-color:#d1fae5}.stat-card.purple .stat-icon{color:#8b5cf6;background-color:#e9d5ff}.stat-card.orange .stat-icon{color:#f59e0b;background-color:#fed7aa}.stat-content h3{color:#64748b;margin-bottom:.25rem;font-size:.875rem;font-weight:500}.stat-value{color:#1e293b;font-size:1.875rem;font-weight:700}.stat-change{color:#10b981;font-size:.875rem;font-weight:500}.recent-invoices{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.recent-invoices h2{color:#1e293b;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.invoice-list{flex-direction:column;gap:.75rem;display:flex}.invoice-item{background-color:#f8fafc;border-radius:.5rem;grid-template-columns:1fr 2fr 1fr 1fr 1fr;align-items:center;gap:1rem;padding:.75rem;display:grid}.invoice-id{color:#3b82f6;font-weight:600}.invoice-status{text-align:center;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.invoice-status.paid{color:#065f46;background-color:#d1fae5}.invoice-status.pending{color:#92400e;background-color:#fef3c7}.invoice-status.overdue{color:#991b1b;background-color:#fee2e2}.btn-primary:hover{background-color:#2563eb}.btn-secondary:hover{background-color:#e2e8f0}.btn-info{color:#fff;background-color:#0ea5e9}.btn-info:hover{background-color:#0284c7}.btn-success{color:#fff;background-color:#10b981}.btn-success:hover{background-color:#059669}.filters{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.search-box{flex:1;max-width:400px;position:relative}.search-box svg{color:#9ca3af;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-box input{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:.5rem .75rem .5rem 2.5rem}.filter-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.filter-dropdown select{background:0 0;border:none;outline:none}.invoices-table,.items-table{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.table-header{color:#374151;background-color:#f8fafc;border-bottom:1px solid #e5e7eb;grid-template-columns:1fr 1.2fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1.2fr;gap:.75rem;padding:1rem;font-size:.875rem;font-weight:600;display:grid}.table-row{border-bottom:1px solid #f3f4f6;grid-template-columns:1fr 1.2fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1.2fr;align-items:center;gap:.75rem;padding:1rem;font-size:.875rem;display:grid}.table-row:last-child{border-bottom:none}.table-row:hover{background-color:#f9fafb}.invoices-table .table-header{grid-template-columns:.8fr 1.5fr 1fr 1fr 1fr 1fr 1.2fr;padding:1rem 1.5rem}.invoices-table .table-row{grid-template-columns:.8fr 1.5fr 1fr 1fr 1fr 1fr 1.2fr;padding:1rem 1.5rem;transition:background-color .2s,box-shadow .2s}.invoices-table .table-row:hover{background-color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.invoices-table .invoice-id{color:#3b82f6;font-weight:600}.invoices-table .customer-name{color:#1e293b;font-weight:500}.invoices-table .date-cell{color:#64748b}.amount{color:#059669;font-weight:600}.status-badge{text-align:center;text-transform:capitalize;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.status-badge.paid{color:#065f46;background-color:#d1fae5}.status-badge.pending{color:#92400e;background-color:#fef3c7}.status-badge.overdue{color:#991b1b;background-color:#fee2e2}.status-badge.draft{color:#374151;background-color:#f3f4f6}.actions{gap:.5rem;display:flex}.action-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:.25rem;padding:.25rem;transition:all .2s}.action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.action-btn.view{color:#fff;background-color:#3b82f6}.action-btn.view:hover{background-color:#2563eb}.action-btn.download{color:#fff;background-color:#10b981}.action-btn.download:hover{background-color:#059669}.action-btn.edit{color:#fff;background-color:#f59e0b}.action-btn.edit:hover{background-color:#d97706}.action-btn.delete{color:#fff;background-color:#ef4444}.action-btn.delete:hover{background-color:#dc2626}.form-section{background:#fff;border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.items-table .table-header,.items-table .table-row{grid-template-columns:2fr 1fr 1fr 1fr 1fr}.hotel-header,.hotel-row{grid-template-columns:1.2fr 1.2fr 1.2fr .8fr .6fr 1fr 1fr .8fr!important}.nights-display{color:#3b82f6;text-align:center;background-color:#f0f9ff;border-radius:.25rem;justify-content:center;align-items:center;padding:.5rem;font-weight:500;display:flex}.additional-charges{flex-direction:column;gap:1rem;display:flex}.charge-row{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;grid-template-columns:2fr 1fr 60px;align-items:center;gap:1rem;padding:1rem;display:grid}.payment-form{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-top:1rem;padding:1.5rem}.payments-list{margin-top:1.5rem}.payments-list h4{color:#1e293b;margin-bottom:1rem;font-size:1rem;font-weight:600}.payment-item{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:.375rem;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;display:flex}.payment-info{flex-direction:column;gap:.25rem;display:flex}.payment-method{color:#3b82f6;font-size:.875rem;font-weight:500}.payment-date{color:#6b7280;font-size:.75rem}.payment-desc{color:#374151;font-size:.75rem;font-style:italic}.totals-section{justify-content:flex-end;gap:2rem;margin-top:2rem;display:flex}.payment-section{background:#fff;border-radius:.75rem;min-width:400px;max-width:500px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.payment-section h3{color:#1e293b;margin-bottom:1rem;font-size:1.125rem;font-weight:600}.totals{background:#fff;border-radius:.75rem;min-width:300px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.total-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;padding:.5rem 0;display:flex}.total-row:last-child{border-bottom:none}.total-row.total{border-top:2px solid #e5e7eb;margin-top:.5rem;padding-top:1rem;font-size:1.125rem;font-weight:700}.total-row.paid{color:#059669;font-weight:600}.total-row.due{border-top:2px solid #e5e7eb;margin-top:.5rem;padding-top:1rem;font-size:1.125rem;font-weight:700}.total-row.amount-due{color:#dc2626}.total-row.paid-full{color:#059669}.customers-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;display:grid}.customer-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.customer-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.customer-header h3{color:#1e293b;font-size:1.125rem;font-weight:600}.customer-actions{gap:.5rem;display:flex}.customer-info{margin-bottom:1rem}.info-item{color:#64748b;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.info-item.address{align-items:flex-start}.customer-stats{border-top:1px solid #f1f5f9;justify-content:space-between;padding-top:1rem;display:flex}.stat{text-align:center}.stat .label{color:#64748b;margin-bottom:.25rem;font-size:.75rem;display:block}.stat .value{color:#1e293b;font-weight:600}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:.75rem;width:90%;max-width:500px;max-height:80vh;padding:0;overflow-y:auto}.close-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;padding:.25rem;font-size:1.5rem}.modal form{padding:1.5rem}.form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}@media (max-width:768px){.sidebar{transition:transform .3s;transform:translate(-100%)}.main-content{margin-left:0}.content{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.stats-grid,.customers-grid{grid-template-columns:1fr}.table-header,.table-row,.hotel-header,.hotel-row{grid-template-columns:1fr;gap:.5rem}.table-header>div,.table-row>div{padding:.5rem}.invoice-item{grid-template-columns:1fr;gap:.5rem}.filters{flex-direction:column;align-items:stretch}.search-box{max-width:none}.totals-section{flex-direction:column;gap:1rem}.payment-section,.totals{min-width:auto}}.hotel-login-container{background-image:url(https://images.unsplash.com/photo-1520250497591-112f2f40a3f4?q=80&w=2070&auto=format&fit=crop);background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative}.hotel-login-overlay{z-index:1;background:#00000040;position:absolute;inset:0}.hotel-login-card{z-index:2;-webkit-backdrop-filter:blur(16px);background:#ffffff80;border:1px solid #fff3;border-radius:1rem;width:100%;max-width:28rem;padding:2rem;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.hotel-login-header{text-align:center;margin-bottom:1.5rem}.hotel-logo{background:linear-gradient(to bottom right,#a855f7,#6366f1);border-radius:9999px;justify-content:center;align-items:center;width:4rem;height:4rem;margin:0 auto 1rem;display:flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.hotel-logo-icon{color:#fff}.hotel-title{color:#111827;margin-bottom:.5rem;font-size:1.875rem;font-weight:700;line-height:2.25rem}.hotel-subtitle{color:#1f2937;margin-bottom:.25rem;font-size:1rem;font-weight:500}.hotel-signin-text{color:#4b5563;font-size:.875rem}.hotel-login-form{flex-direction:column;gap:1.5rem;display:flex}.hotel-error-message{color:#dc2626;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:2px solid #f87171;border-radius:.75rem;align-items:center;gap:.75rem;padding:.875rem 1rem;font-size:.875rem;font-weight:500;animation:.3s shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.hotel-form-group{flex-direction:column;display:flex}.hotel-form-label{color:#1f2937;margin-bottom:.25rem;font-size:.875rem;font-weight:500;line-height:1.25rem}.hotel-input-wrapper{border-radius:.5rem;align-items:center;margin-top:.25rem;display:flex;position:relative;box-shadow:0 1px 2px #0000000d}.hotel-input-icon{color:#6b7280;pointer-events:none;z-index:1;position:absolute;left:.75rem}.hotel-input{background:#ffffffb3;border:1px solid #d1d5db;border-radius:.5rem;width:100%;padding:.75rem .75rem .75rem 2.5rem;font-size:.875rem;line-height:1.25rem;transition:all .2s;display:block}.hotel-input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}.hotel-input:disabled{opacity:.6;cursor:not-allowed}.hotel-password-toggle{cursor:pointer;color:#6b7280;z-index:1;background:0 0;border:none;align-items:center;padding:0;transition:color .2s;display:flex;position:absolute;right:.75rem}.hotel-password-toggle:hover:not(:disabled){color:#6366f1}.hotel-password-toggle:disabled{cursor:not-allowed;opacity:.5}.hotel-signin-button{color:#fff;cursor:pointer;background:linear-gradient(90deg,#9333ea,#6366f1);border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.hotel-signin-button:hover:not(:disabled){background:linear-gradient(90deg,#7e22ce,#4f46e5)}.hotel-signin-button:focus{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #6366f1}.hotel-signin-button:disabled{opacity:.7;cursor:not-allowed}.hotel-button-icon{color:#c084fc;flex-shrink:0;transition:color .2s}.hotel-signin-button:hover:not(:disabled) .hotel-button-icon{color:#d8b4fe}.hotel-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:640px){.hotel-login-card{padding:1.5rem}.hotel-title{font-size:1.5rem;line-height:2rem}}.modern-login-container{background:#f8fafc;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-left-panel{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;padding:3rem;display:flex;position:relative;overflow:hidden}.login-left-panel:before{content:"";opacity:.3;background:url("data:image/svg+xml,<svg width=\"100\" height=\"100\" xmlns=\"http://www.w3.org/2000/svg\"><defs><pattern id=\"grid\" width=\"40\" height=\"40\" patternUnits=\"userSpaceOnUse\"><path d=\"M 40 0 L 0 0 0 40\" fill=\"none\" stroke=\"rgba(255,255,255,0.05)\" stroke-width=\"1\"/></pattern></defs><rect width=\"100\" height=\"100\" fill=\"url(%23grid)\"/></svg>");position:absolute;inset:0}.branding-content{z-index:1;text-align:center;color:#fff;max-width:500px;position:relative}.brand-logo{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:24px;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 2rem;display:flex;box-shadow:0 8px 32px #0000001a}.brand-title{background:linear-gradient(90deg,#fff,#f0f0f0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:3rem;font-weight:800}.brand-subtitle{opacity:.9;margin-bottom:3rem;font-size:1.25rem;font-weight:500}.features-list{text-align:left;flex-direction:column;gap:1rem;margin-bottom:3rem;display:flex}.feature-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:all .3s;display:flex}.feature-item:hover{background:#ffffff26;transform:translate(8px)}.feature-item svg{flex-shrink:0}.feature-item span{font-size:.95rem;font-weight:500}.security-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:24px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;display:inline-flex}.login-right-panel{background:#fff;justify-content:center;align-items:center;padding:3rem;display:flex}.login-form-wrapper{width:100%;max-width:460px}.login-form-header{margin-bottom:2.5rem}.login-form-header h2{color:#1e293b;margin-bottom:.5rem;font-size:2rem;font-weight:700}.login-form-header p{color:#64748b;font-size:1rem}.modern-login-form{flex-direction:column;gap:1.5rem;display:flex}.modern-form-group{flex-direction:column;gap:.5rem;display:flex}.modern-form-group label{color:#334155;margin-bottom:.25rem;font-size:.875rem;font-weight:600}.modern-input-wrapper{align-items:center;display:flex;position:relative}.modern-input-icon{color:#94a3b8;pointer-events:none;z-index:1;position:absolute;left:1rem}.modern-input{color:#1e293b;background:#fff;border:2px solid #e2e8f0;border-radius:12px;width:100%;padding:.875rem 1rem .875rem 3rem;font-size:.95rem;transition:all .2s}.modern-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.modern-input::placeholder{color:#cbd5e1}.modern-input:disabled{cursor:not-allowed;background:#f1f5f9}.modern-password-toggle{color:#94a3b8;cursor:pointer;z-index:1;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex;position:absolute;right:1rem}.modern-password-toggle:hover{color:#667eea}.modern-password-toggle:disabled{cursor:not-allowed;opacity:.5}.modern-login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.75rem;margin-top:.5rem;padding:1rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 12px #667eea4d}.modern-login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.modern-login-button:active:not(:disabled){transform:translateY(0)}.modern-login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.modern-loading-spinner{align-items:center;gap:.75rem;display:flex}.modern-loading-spinner .spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.modern-error-message{color:#dc2626;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:2px solid #f87171;border-radius:12px;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-size:.875rem;font-weight:500;animation:.3s shake;display:flex}.demo-section{border-top:2px solid #f1f5f9;margin-top:2rem;padding-top:2rem}.demo-toggle-btn{color:#475569;cursor:pointer;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border:2px solid #cbd5e1;border-radius:12px;width:100%;padding:.875rem;font-weight:600;transition:all .2s}.demo-toggle-btn:hover{background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 100%);border-color:#94a3b8}.modern-demo-credentials{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px solid #e2e8f0;border-radius:16px;margin-top:1.5rem;padding:1.5rem}.modern-demo-credentials h4{color:#475569;text-align:center;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:.875rem;font-weight:700}.demo-credentials-grid{gap:.875rem;display:grid}.demo-credential-card{cursor:pointer;text-align:left;background:#fff;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;transition:all .3s;display:flex}.demo-credential-card:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.demo-role-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:6px;width:fit-content;padding:.375rem .875rem;font-size:.75rem;font-weight:700;display:inline-block}.demo-credential-info{flex-direction:column;gap:.375rem;display:flex}.demo-email{color:#475569;font-size:.875rem;font-weight:500}.demo-password{color:#64748b;font-size:.8125rem}.demo-click-hint{color:#667eea;text-align:right;margin-top:.25rem;font-size:.75rem;font-weight:600}.login-footer{text-align:center;margin-top:2rem}.login-footer p{color:#94a3b8;font-size:.8125rem}@media (max-width:1024px){.modern-login-container{grid-template-columns:1fr}.login-left-panel{display:none}.login-right-panel{padding:2rem}}@media (max-width:640px){.login-right-panel{padding:1.5rem}.login-form-header h2{font-size:1.75rem}.brand-title{font-size:2.5rem}}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{background:#fff;border-radius:1rem;width:100%;max-width:450px;padding:3rem;animation:.5s ease-out slideUp;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-icon{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;display:inline-flex}.login-header h1{color:#1f2937;margin-bottom:.5rem;font-size:2rem;font-weight:700}.login-header h2{color:#4b5563;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.login-header p{color:#6b7280;font-size:.875rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:#6b7280;z-index:1;position:absolute;left:1rem}.input-with-icon input{padding-left:3rem;padding-right:3rem}.password-toggle{color:#6b7280;cursor:pointer;z-index:1;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:1rem}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #0000001a}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner{align-items:center;gap:.5rem;display:flex}.loading-spinner:before{content:"";border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:1s ease-in-out infinite spin}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.login-help{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.demo-credentials{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1.5rem}.demo-credentials h4{color:#374151;text-align:center;margin-bottom:1rem;font-size:.875rem;font-weight:600}.credential-item{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;margin-bottom:1rem;padding:.75rem}.credential-item:last-child{margin-bottom:0}.credential-item strong{color:#374151;margin-bottom:.25rem;font-size:.875rem;display:block}.credential-item span{color:#6b7280;background:#f9fafb;border-radius:.25rem;margin-bottom:.125rem;padding:.25rem .5rem;font-family:Courier New,monospace;font-size:.75rem;display:block}.credential-item span:last-child{margin-bottom:0}.loading-container{background:#f8fafc;justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-spinner-large{text-align:center}.spinner{border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;margin:0 auto 1rem;animation:1s ease-in-out infinite spin}.loading-spinner-large p{color:#6b7280;font-size:1rem}.access-denied{background:#f8fafc;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.access-denied-content{text-align:center;background:#fff;border-radius:1rem;max-width:500px;padding:3rem;box-shadow:0 4px 6px -1px #0000001a}.access-denied-content h1{color:#dc2626;margin-bottom:1rem;font-size:2rem;font-weight:700}.access-denied-content p{color:#6b7280;margin-bottom:.5rem}.access-denied-content strong{color:#374151}.user-menu{align-items:center;gap:1rem;display:flex}.user-info{align-items:center;gap:.75rem;display:flex}.user-avatar{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.user-details{flex-direction:column;align-items:flex-start;display:flex}.user-name{color:#374151;font-size:.875rem;font-weight:600}.user-role{border-radius:.375rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.user-role.master-admin{color:#92400e;background:#fef3c7}.user-role.front-desk{color:#1e40af;background:#dbeafe}.logout-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.logout-btn:hover{color:#374151;background:#f3f4f6;border-color:#d1d5db}.role-icon{margin-right:.25rem}.role-icon.master-admin{color:#d97706}.role-icon.front-desk{color:#2563eb}.admin-badge{color:#d97706;margin-left:auto}.admin-management{padding:2rem}.users-table{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.users-table .table-header{color:#374151;background:#f8fafc;border-bottom:1px solid #e2e8f0;grid-template-columns:1fr 1fr 1.5fr 1fr 1fr 120px;gap:1rem;padding:1rem 1.5rem;font-size:.875rem;font-weight:600;display:grid}.users-table .table-row{border-bottom:1px solid #f1f5f9;grid-template-columns:1fr 1fr 1.5fr 1fr 1fr 120px;align-items:center;gap:1rem;padding:1rem 1.5rem;display:grid}.users-table .table-row:last-child{border-bottom:none}.users-table .table-row:hover{background:#f8fafc}.role-badge{border-radius:1rem;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.role-badge.master-admin{color:#92400e;background:#fef3c7}.role-badge.front-desk{color:#1e40af;background:#dbeafe}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:1rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2{color:#374151;font-size:1.25rem;font-weight:600}.modal-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;display:flex}.modal-close:hover{color:#374151;background:#f3f4f6}.admin-form{padding:1.5rem}.admin-form .form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.admin-form .form-group{flex-direction:column;gap:.5rem;display:flex}.admin-form .form-group:last-child{grid-column:1/-1}.admin-form label{color:#374151;font-size:.875rem;font-weight:500}.admin-form input,.admin-form select{border:1px solid #d1d5db;border-radius:.5rem;padding:.75rem;font-size:.875rem;transition:border-color .2s}.admin-form input:focus,.admin-form select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.admin-form input.error{border-color:#dc2626}.password-input{position:relative}.password-input .password-toggle{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-input .password-toggle:hover{color:#374151}.error-text{color:#dc2626;margin-top:.25rem;font-size:.75rem}.empty-state{text-align:center;color:#6b7280;padding:3rem}.empty-state p{margin-bottom:1rem;font-size:1rem}@media (max-width:768px){.users-table .table-header,.users-table .table-row{grid-template-columns:1fr;gap:.5rem}.admin-form .form-row{grid-template-columns:1fr}.modal{max-width:none;margin:1rem}}.rooms-page{padding:2rem}.header-actions{align-items:center;gap:1rem;display:flex}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.room-card{background:#fff;border:2px solid #0000;border-radius:1rem;transition:all .3s;overflow:hidden;box-shadow:0 2px 8px #0000001a}.room-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.room-card.status-available{border-color:#10b981}.room-card.status-occupied{border-color:#ef4444}.room-card.status-maintenance{border-color:#f59e0b}.room-header{justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 0;display:flex}.room-number{color:#374151;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;display:flex}.room-status{text-transform:capitalize;border-radius:1rem;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:flex}.room-status.status-available,.room-card.status-available .room-status{color:#065f46;background:#d1fae5}.room-status.status-occupied,.room-card.status-occupied .room-status{color:#991b1b;background:#fee2e2}.room-status.status-maintenance,.room-card.status-maintenance .room-status{color:#92400e;background:#fef3c7}.room-details{padding:1rem 1.5rem}.room-details h3{color:#1f2937;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.room-description{color:#6b7280;margin-bottom:1rem;font-size:.875rem;line-height:1.5}.room-info{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.info-item svg{color:#9ca3af}.room-amenities{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.amenity-tag{color:#374151;background:#f3f4f6;border-radius:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.room-actions{background:#f9fafb;border-top:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.status-select{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.375rem .75rem;font-size:.75rem}.status-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.status-message{border-radius:.5rem;margin:1rem 0;padding:1rem}.status-message.loading{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe}.status-message.success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.status-message.warning{color:#92400e;background:#fffbeb;border:1px solid #fed7aa}.status-message.error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.status-details{margin-top:.5rem;font-size:.875rem}.status-details ul{margin-top:.5rem;padding-left:1rem}.status-details li{margin-bottom:.25rem}.filter-group{align-items:center;gap:1rem;display:flex}.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;min-width:120px;padding:.5rem .75rem;font-size:.875rem}.filter-group select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.room-status-overview{background:linear-gradient(135deg,#f8fafc 0%,#fff 100%);border:1px solid #e2e8f0}.room-status-overview .section-title{color:#1e293b;border-bottom:2px solid #e2e8f0;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;font-size:1.5rem;font-weight:700;display:flex}.date-selection-container{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:2px solid #e2e8f0;border-radius:1rem;margin-bottom:2rem;padding:1.25rem;box-shadow:0 4px 12px #00000014}.date-selector-header{color:#1e293b;align-items:center;gap:.625rem;margin-bottom:1rem;display:flex}.date-selector-header h3{margin:0;font-size:1rem;font-weight:600}.date-scroll-container{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9;margin-bottom:1rem;padding:.5rem 0;overflow:auto hidden}.date-scroll-container::-webkit-scrollbar{height:8px}.date-scroll-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.date-scroll-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;transition:background .2s}.date-scroll-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.date-options-row{gap:.75rem;min-width:min-content;padding:.25rem;display:flex}.date-option-card{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;flex-direction:column;flex-shrink:0;align-items:center;gap:.25rem;width:85px;padding:.875rem .625rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #0000000d}.date-option-card:before{content:"";background:0 0;height:3px;transition:all .3s;position:absolute;top:0;left:0;right:0}.date-option-card:hover{border-color:#3b82f6;transform:translateY(-4px);box-shadow:0 6px 16px #3b82f633}.date-option-card:hover:before{background:linear-gradient(90deg,#3b82f6 0%,#2563eb 100%)}.date-day{color:#1e293b;letter-spacing:-.02em;font-size:1.75rem;font-weight:800;line-height:1}.date-month{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.date-weekday{color:#94a3b8;text-transform:uppercase;letter-spacing:.025em;font-size:.6875rem;font-weight:500}.today-badge{color:#fff;text-transform:uppercase;letter-spacing:.025em;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:.25rem;padding:.125rem .375rem;font-size:.5rem;font-weight:700;position:absolute;top:.375rem;right:.375rem;box-shadow:0 2px 4px #f59e0b4d}.date-option-card.today{background:linear-gradient(135deg,#fffbeb 0%,#fff 100%);border-color:#f59e0b}.date-option-card.today .date-day{color:#f59e0b}.date-option-card.today:before{background:linear-gradient(90deg,#f59e0b 0%,#d97706 100%)}.date-option-card.selected{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-color:#2563eb;transform:translateY(-4px)scale(1.05);box-shadow:0 6px 20px #3b82f666}.date-option-card.selected .date-day,.date-option-card.selected .date-month,.date-option-card.selected .date-weekday{color:#fff}.date-option-card.selected:before{background:linear-gradient(135deg,#ffffff1a 0%,#0000 100%);height:100%}.date-option-card.selected .today-badge{color:#3b82f6;background:#fff}.selected-date-info{color:#1e40af;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:1px solid #bfdbfe;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.selected-date-info strong{color:#1e3a8a;font-weight:700}.selected-date-info svg{flex-shrink:0}@media (max-width:768px){.date-option-card{width:75px;padding:.75rem .5rem}.date-day{font-size:1.5rem}.date-month{font-size:.6875rem}.date-weekday{font-size:.625rem}.today-badge{padding:.125rem .25rem;font-size:.4375rem}.date-selection-container{padding:1rem}.selected-date-info{padding:.625rem .875rem;font-size:.8125rem}}@media (max-width:480px){.date-option-card{width:65px;padding:.625rem .375rem}.date-day{font-size:1.25rem}.date-selector-header h3{font-size:.875rem}}.room-category-section{margin-bottom:2rem}.room-category-section:last-child{margin-bottom:0}.category-header{background:linear-gradient(135deg,#0000 0% 100%);border:2px solid;border-radius:.75rem;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem 1.25rem;display:flex;box-shadow:0 2px 8px #00000014}.category-header .header-left{align-items:center;gap:.75rem;display:flex}.category-header h3{margin:0;font-size:1.125rem;font-weight:600}.category-header .room-count{text-align:center;background:#fff;border-radius:2rem;min-width:3rem;padding:.375rem 1rem;font-size:1.25rem;font-weight:700;box-shadow:0 2px 4px #0000001a}.available-header{color:#065f46;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-color:#10b981}.available-header .room-count{color:#10b981;border:2px solid #10b981}.occupied-header{color:#991b1b;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-color:#ef4444}.occupied-header .room-count{color:#ef4444;border:2px solid #ef4444}.maintenance-header{color:#92400e;background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-color:#f59e0b}.maintenance-header .room-count{color:#f59e0b;border:2px solid #f59e0b}.professional-room-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;padding:8px 0;display:grid}.professional-room-card{cursor:pointer;background:#fff;border:2px solid;border-radius:12px;flex-direction:column;min-height:140px;padding:0;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #00000014}.professional-room-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.professional-room-card.available{background:#fff;border-color:#10b981}.professional-room-card.available:hover{border-color:#059669;box-shadow:0 6px 16px #10b98133}.professional-room-card.occupied{background:#fff;border-color:#ef4444}.professional-room-card.occupied:hover{border-color:#dc2626;box-shadow:0 6px 16px #ef444433}.professional-room-card.occupied.clickable{transition:all .3s}.professional-room-card.occupied.clickable:hover{border-color:#dc2626;transform:translateY(-3px)scale(1.02);box-shadow:0 8px 20px #ef44444d}.professional-room-card.occupied.clickable:active{transform:translateY(-1px)scale(1.01)}.professional-room-card.maintenance{background:#fff;border-color:#f59e0b}.professional-room-card.maintenance:hover{border-color:#d97706;box-shadow:0 6px 16px #f59e0b33}.room-number-badge{border-bottom:1px solid #f1f5f9;flex-direction:column;gap:12px;padding:16px;display:flex}.room-number-text{letter-spacing:-.02em;font-size:2.5rem;font-weight:800;line-height:1}.professional-room-card.available .room-number-text{color:#10b981}.professional-room-card.occupied .room-number-text{color:#ef4444}.professional-room-card.maintenance .room-number-text{color:#f59e0b}.status-pill{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}.status-pill.available{color:#fff;background:#10b981}.status-pill.occupied{color:#fff;background:#ef4444}.status-pill.maintenance{color:#fff;background:#f59e0b}.room-details-section{flex-direction:column;flex:1;gap:8px;padding:14px 16px 16px;display:flex}.room-status-text{color:#64748b;align-items:center;gap:6px;font-size:12px;display:flex}.room-status-text svg{flex-shrink:0}.room-type-label{color:#64748b;text-transform:capitalize;font-size:.875rem;font-weight:600}.room-capacity{color:#94a3b8;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;display:flex}.no-rooms-message{text-align:center;color:#94a3b8;flex-direction:column;grid-column:1/-1;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.no-rooms-message svg{opacity:.5}.no-rooms-message p{margin:0;font-size:.875rem;font-weight:500}@media (max-width:768px){.professional-room-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.professional-room-card{padding:1rem}.room-number-large{font-size:1.75rem}.category-header{padding:.875rem 1rem}.category-header h3{font-size:1rem}.category-header .room-count{padding:.25rem .75rem;font-size:1rem}}@media (max-width:480px){.professional-room-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.625rem}.room-number-large{font-size:1.5rem}.status-badge{padding:.25rem .5rem;font-size:.625rem}.room-type-label{font-size:.75rem}}.invoice-actions-bottom{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:2rem;padding:1.5rem}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:center;gap:1rem;display:grid}.actions-grid .btn{justify-content:center;width:100%;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.actions-grid .btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-success{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border:none}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857)}.create-invoice{background:#fff;max-width:1200px;min-height:100vh;margin:0 auto;padding:1.5rem}.create-invoice .page-header{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1rem}.create-invoice .page-header h1{color:#1e293b;font-size:2rem;font-weight:600}.form-group input,.form-group textarea,.form-group select{border:1px solid #d1d5db;border-radius:6px;padding:.75rem;font-size:.875rem}@media (max-width:768px){.create-invoice{padding:1rem}.form-row{grid-template-columns:1fr}}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;display:flex}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.hotel-dashboard{max-width:1400px;margin:0 auto;padding:2rem}.booking-overview-table-container{background:#fff;border-radius:1rem;margin-top:1rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.booking-overview-table{border-collapse:collapse;width:100%;font-size:.875rem}.booking-overview-table thead{color:#fff;background:linear-gradient(135deg,#1e293b,#334155)}.booking-overview-table th{text-align:left;letter-spacing:.025em;border-bottom:1px solid #475569;padding:1rem;font-weight:600}.booking-overview-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.booking-overview-table tbody tr:hover{background:#f8fafc}.booking-overview-table tbody tr.today-row{background:linear-gradient(135deg,#dbeafe,#eff6ff);border-left:4px solid #3b82f6}.booking-overview-table td{vertical-align:middle;padding:.75rem 1rem}.date-cell{min-width:80px}.date-display{flex-direction:column;align-items:center;display:flex}.day-number{color:#1e293b;font-size:1.25rem;font-weight:700;line-height:1}.month-name{color:#64748b;font-size:.75rem;font-weight:500}.day-cell{color:#374151;min-width:60px;font-weight:600}.occupancy-cell{min-width:120px}.occupancy-display{flex-direction:column;gap:.25rem;display:flex}.occupancy-percentage{font-size:.875rem;font-weight:700}.occupancy-percentage.high{color:#dc2626}.occupancy-percentage.medium{color:#f59e0b}.occupancy-percentage.low{color:#10b981}.occupancy-bar-mini{background:#e2e8f0;border-radius:2px;height:4px;overflow:hidden}.occupancy-fill-mini{background:linear-gradient(90deg,#10b981,#f59e0b,#dc2626);height:100%;transition:width .3s}.available-rooms-cell{text-align:center;min-width:100px}.available-count{color:#1e293b;font-size:1.125rem;font-weight:700}.total-count{color:#64748b;font-size:.875rem}.room-types-cell{min-width:200px}.room-types-grid{flex-wrap:wrap;gap:.5rem;display:flex}.room-type-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;flex-direction:column;align-items:center;min-width:60px;padding:.375rem .5rem;display:flex}.room-type-name{color:#64748b;margin-bottom:.125rem;font-size:.75rem;font-weight:500}.room-type-count{font-size:.875rem;font-weight:700}.room-type-count.fully-booked{color:#dc2626}.room-type-count.low-availability{color:#f59e0b}.room-type-count.good-availability{color:#10b981}@media (max-width:1200px){.booking-overview-table-container{overflow-x:auto}.booking-overview-table{min-width:800px}}@media (max-width:768px){.booking-overview-table{font-size:.75rem}.booking-overview-table th,.booking-overview-table td{padding:.5rem}.room-types-grid{flex-direction:column;gap:.25rem}.room-type-item{flex-direction:row;justify-content:space-between;min-width:auto}}.hotel-dashboard .dashboard-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:1rem;margin-bottom:2rem;padding:2rem;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001a}.hotel-dashboard .dashboard-header:before{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.header-content{z-index:1;justify-content:space-between;align-items:flex-start;gap:2rem;display:flex;position:relative}.system-branding{align-items:center;gap:1.5rem;display:flex}.brand-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:1rem;justify-content:center;align-items:center;padding:1rem;display:flex}.brand-info h1{color:#fff;letter-spacing:-.025em;margin:0 0 .75rem;font-size:2.25rem;font-weight:700}.system-status{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.status-indicator{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:2rem;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.status-indicator.online .status-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.last-updated{color:#fffc;font-size:.875rem}.user-info-section{text-align:right;flex-direction:column;align-items:flex-end;gap:1rem;display:flex}.welcome-message h2{color:#fff;margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.welcome-message p{color:#ffffffe6;margin:0;font-size:1rem}.user-role-container{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.user-role-badge.enhanced{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:1rem;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.role-icon{background:#fff3;border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem;display:flex}.role-info{flex-direction:column;align-items:flex-start;display:flex}.role-title{color:#fff;font-size:1rem;font-weight:700;line-height:1}.role-department{color:#fffc;font-size:.875rem;font-weight:500}.admin-privileges{gap:1rem;display:flex}.privilege-item{color:#ffffffe6;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;display:flex}.privilege-item svg{color:#10b981}.header-actions{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:1rem;justify-content:center;align-items:center;gap:1.5rem;padding:1rem 1.5rem;display:flex;position:relative}.action-buttons{align-items:center;gap:.75rem;display:flex}.action-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff26;border:1px solid #fff3;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem;transition:all .3s;display:flex;position:relative}.action-btn:hover{background:#ffffff40;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.logout-btn{background:#ef4444cc;border:1px solid #ef44444d}.logout-btn:hover{background:#dc2626e6;border-color:#dc262680;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.notification-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:1rem;justify-content:center;align-items:center;min-width:16px;height:16px;padding:.125rem .375rem;font-size:.625rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.notification-dropdown{z-index:50;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;width:320px;max-height:400px;position:absolute;top:calc(100% + .75rem);right:0;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.dropdown-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.dropdown-header h3{color:#1e293b;margin:0;font-size:1rem;font-weight:600}.notification-count{color:#64748b;background:#e2e8f0;border-radius:1rem;padding:.25rem .5rem;font-size:.875rem;font-weight:500}.notification-list{max-height:300px;overflow-y:auto}.notification-item{border-bottom:1px solid #f1f5f9;gap:.75rem;padding:1rem 1.25rem;transition:background-color .2s;display:flex}.notification-item:hover{background:#f8fafc}.notification-item.unread{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border-left:3px solid #3b82f6}.notification-type{background:#3b82f6;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.5rem}.notification-content p{color:#374151;margin:0 0 .25rem;font-size:.875rem;font-weight:500;line-height:1.5}.notification-time{color:#9ca3af;font-size:.75rem;font-weight:500}.no-notifications{text-align:center;color:#64748b;padding:2rem 1.25rem}.no-notifications p{margin:0;font-style:italic}.dashboard-stats-mini{z-index:1;border-top:1px solid #fff3;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex;position:relative}.mini-stat{color:#ffffffe6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border-radius:.75rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.mini-stat svg{color:#fffc}@media (max-width:1024px){.header-content{text-align:center;flex-direction:column;align-items:center;gap:1.5rem}.user-info-section{text-align:center;align-items:center}.user-role-container{align-items:center}.dashboard-stats-mini{flex-wrap:wrap;justify-content:center}.header-actions{order:-1;justify-content:center;width:auto;padding:.75rem 1rem}.action-buttons{gap:1rem}}@media (max-width:768px){.hotel-dashboard .dashboard-header{padding:1.5rem}.brand-info h1{font-size:1.75rem}.welcome-message h2{font-size:1.25rem}.system-branding{text-align:center;flex-direction:column;gap:1rem}.system-status{flex-direction:column;justify-content:center;gap:.5rem}.admin-privileges{flex-direction:column;gap:.5rem}.dashboard-stats-mini{flex-direction:column;gap:.75rem}.mini-stat{justify-content:center;width:100%}.header-actions{gap:.75rem;padding:.75rem 1rem}.action-buttons{gap:.75rem}.action-btn{padding:.625rem}.notification-dropdown{width:280px;right:-50px}}.section-title{color:#1e293b;border-bottom:2px solid #e2e8f0;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.5rem;font-weight:600;display:flex}.hotel-dashboard .stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:2rem;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.hotel-dashboard .stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -3px #0000001a}.hotel-dashboard .stat-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0}.hotel-dashboard .stat-card.primary:before{background:linear-gradient(90deg,#3b82f6,#1d4ed8)}.hotel-dashboard .stat-card.success:before{background:linear-gradient(90deg,#10b981,#059669)}.hotel-dashboard .stat-card.info:before{background:linear-gradient(90deg,#06b6d4,#0891b2)}.hotel-dashboard .stat-card.warning:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.hotel-dashboard .stat-card.purple:before{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.hotel-dashboard .stat-card.orange:before{background:linear-gradient(90deg,#f97316,#ea580c)}.hotel-dashboard .stat-card.green:before{background:linear-gradient(90deg,#22c55e,#16a34a)}.hotel-dashboard .stat-card.blue:before{background:linear-gradient(90deg,#3b82f6,#2563eb)}.hotel-dashboard .stat-card.money:before{background:linear-gradient(90deg,#059669,#047857)}.hotel-dashboard .stat-card.money-light:before{background:linear-gradient(90deg,#10b981,#059669)}.hotel-dashboard .stat-card.money-dark:before{background:linear-gradient(90deg,#047857,#065f46)}.hotel-dashboard .stat-card.accent:before{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.hotel-dashboard .stat-icon{border-radius:.75rem;justify-content:center;align-items:center;margin-bottom:1rem;padding:1rem;display:inline-flex}.hotel-dashboard .stat-card.primary .stat-icon{color:#3b82f6;background:#dbeafe}.hotel-dashboard .stat-card.success .stat-icon{color:#10b981;background:#d1fae5}.hotel-dashboard .stat-card.info .stat-icon{color:#06b6d4;background:#cffafe}.hotel-dashboard .stat-card.warning .stat-icon{color:#f59e0b;background:#fed7aa}.hotel-dashboard .stat-card.purple .stat-icon{color:#8b5cf6;background:#e9d5ff}.hotel-dashboard .stat-card.orange .stat-icon{color:#f97316;background:#fed7aa}.hotel-dashboard .stat-card.green .stat-icon{color:#22c55e;background:#dcfce7}.hotel-dashboard .stat-card.blue .stat-icon{color:#3b82f6;background:#dbeafe}.hotel-dashboard .stat-card.money .stat-icon{color:#059669;background:#d1fae5}.hotel-dashboard .stat-card.money-light .stat-icon{color:#10b981;background:#ecfdf5}.hotel-dashboard .stat-card.money-dark .stat-icon{color:#047857;background:#dcfce7}.hotel-dashboard .stat-card.accent .stat-icon{color:#8b5cf6;background:#ede9fe}.hotel-dashboard .stat-value{color:#1e293b;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.hotel-dashboard .stat-change{color:#64748b;font-size:.9rem;font-weight:500}.rooms-grid,.booking-grid,.revenue-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.room-type-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.room-type-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a}.room-type-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.room-type-header h3{color:#1e293b;font-size:1.25rem;font-weight:600}.occupancy-badge{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:1rem;padding:.25rem .75rem;font-size:.875rem;font-weight:600}.room-type-stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem;display:grid}.room-stat{text-align:center}.room-stat .stat-label{color:#64748b;margin-bottom:.25rem;font-size:.75rem;font-weight:500;display:block}.room-stat .stat-value{color:#1e293b;font-size:1.5rem;font-weight:700}.room-stat .stat-value.occupied{color:#dc2626}.room-stat .stat-value.available{color:#16a34a}.occupancy-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.occupancy-fill{background:linear-gradient(90deg,#10b981,#059669);height:100%;transition:width .3s}.booking-list,.invoice-list{flex-direction:column;gap:1rem;display:flex}.booking-item,.invoice-item{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex}.booking-item:hover,.invoice-item:hover{border-color:#3b82f6;box-shadow:0 2px 4px #0000001a}.booking-info,.invoice-info{flex:1}.booking-guest,.invoice-customer{color:#1e293b;margin-bottom:.25rem;font-weight:600}.booking-id,.invoice-id{color:#64748b;margin-left:.5rem;font-size:.75rem}.booking-details,.invoice-details{color:#64748b;font-size:.875rem}.booking-meta,.invoice-meta{text-align:right}.booking-status,.invoice-status{border-radius:1rem;margin-bottom:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.booking-status.pending,.invoice-status.pending{color:#92400e;background:#fef3c7}.booking-status.confirmed,.invoice-status.paid{color:#065f46;background:#d1fae5}.booking-status.checked-in{color:#1e40af;background:#dbeafe}.booking-status.cancelled{color:#991b1b;background:#fecaca}.booking-amount,.invoice-amount{color:#1e293b;font-weight:600}.action-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.action-card{cursor:pointer;color:#64748b;background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;text-decoration:none;transition:all .3s;display:flex}.action-card:hover{color:#3b82f6;background:#f8fafc;border-color:#3b82f6;transform:translateY(-2px)}.action-card span{font-weight:600}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-header h2{color:#1e293b;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;display:flex}.dashboard-section{background:#fff;border-radius:1rem;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.access-denied-modal{background:#fff;border-radius:16px;width:90%;max-width:500px;animation:.3s ease-out modalSlideIn;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.access-denied-header{text-align:center;color:#fff;background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);padding:2rem}.access-denied-icon{margin-bottom:1rem;animation:.5s ease-in-out shake}.access-denied-header h2{margin:0;font-size:1.75rem;font-weight:700}.access-denied-body{padding:2rem}.access-denied-message{color:#1e293b;text-align:center;margin-bottom:1.5rem;font-size:1.125rem;font-weight:600}.access-denied-info{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:2px solid #f59e0b;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.access-denied-info p{color:#92400e;margin:.5rem 0;font-size:.95rem}.access-denied-info strong{color:#78350f;font-weight:600}.access-denied-contact{text-align:center;color:#64748b;margin-top:1rem;font-size:.95rem;font-style:italic}.access-denied-actions{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:center;padding:1.5rem 2rem;display:flex}.access-denied-actions .btn{min-width:150px;padding:.75rem 1.5rem;font-weight:600}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.rooms-page-modern{background:#f8fafc;min-height:100vh;padding:1.5rem 2rem}.room-stats-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2rem;display:grid}.stat-card-room{background:#fff;border:2px solid #e2e8f0;border-radius:1rem;align-items:center;gap:1.25rem;padding:1.5rem;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000f}.stat-card-room:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card-room .stat-icon{border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.stat-card-room.total .stat-icon{color:#3b82f6;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%)}.stat-card-room.available .stat-icon{color:#10b981;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%)}.stat-card-room.occupied .stat-icon{color:#ef4444;background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%)}.stat-card-room.maintenance .stat-icon{color:#f59e0b;background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%)}.stat-card-room .stat-content{flex:1}.stat-card-room .stat-label{color:#64748b;margin-bottom:.25rem;font-size:.875rem;font-weight:500}.stat-card-room .stat-value{color:#1e293b;font-size:2rem;font-weight:700;line-height:1}.filters-modern{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.filters-modern .search-bar-modern{flex:1}.view-toggle{background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;gap:.5rem;padding:.5rem;display:flex}.view-toggle button{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:.375rem;padding:.5rem .75rem;transition:all .2s}.view-toggle button.active{color:#fff;background:#3b82f6}.view-toggle button:hover:not(.active){background:#f1f5f9}.rooms-container{margin-bottom:2rem}.rooms-container.grid-view{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;display:grid}.rooms-container.list-view{flex-direction:column;gap:1rem;display:flex}.room-card-modern{background:#fff;border:2px solid #e2e8f0;border-radius:1rem;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.room-card-modern:hover{border-color:#cbd5e1;transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.list-view .room-card-modern{flex-direction:row;align-items:center}.list-view .room-card-modern .room-card-body{flex:1}.room-card-modern.status-available{border-left:4px solid #10b981}.room-card-modern.status-occupied{border-left:4px solid #ef4444}.room-card-modern.status-maintenance{border-left:4px solid #f59e0b}.room-card-header{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.room-number-badge{align-items:center;gap:.5rem;display:flex}.room-number{color:#1e293b;font-size:1.125rem;font-weight:700}.room-status-badge{text-transform:capitalize;border-radius:1.5rem;align-items:center;gap:.5rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:600;display:flex}.room-status-badge.status-available{color:#065f46;background:#d1fae5}.room-status-badge.status-occupied{color:#991b1b;background:#fee2e2}.room-status-badge.status-maintenance{color:#92400e;background:#fef3c7}.room-card-body{flex:1;padding:1.5rem}.room-type{color:#1e293b;margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.room-info-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.room-info-grid .info-item{color:#475569;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.room-info-grid .info-item svg{color:#94a3b8;flex-shrink:0}.room-amenities{flex-wrap:wrap;gap:.5rem;display:flex}.amenity-badge{color:#475569;background:#f1f5f9;border-radius:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500}.amenity-badge.more{color:#fff;background:#3b82f6}.room-card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.action-btn-modern{cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.action-btn-modern.view{color:#3730a3;background:#e0e7ff}.action-btn-modern.view:hover{background:#c7d2fe}.action-btn-modern.edit{color:#1e40af;background:#dbeafe}.action-btn-modern.edit:hover{background:#bfdbfe}.action-btn-modern.delete{color:#991b1b;background:#fee2e2}.action-btn-modern.delete:hover{background:#fecaca}.status-select-modern{color:#475569;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;margin-left:auto;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s}.status-select-modern:hover{border-color:#3b82f6}.status-select-modern:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.empty-state-modern{text-align:center;background:#fff;border:2px dashed #e2e8f0;border-radius:1rem;padding:4rem 2rem}.empty-state-modern svg{color:#cbd5e1;margin-bottom:1rem}.empty-state-modern h3{color:#1e293b;margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.empty-state-modern p{color:#64748b;margin:0}.error-message-modern{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem;font-weight:500;display:flex}@media (max-width:1200px){.room-stats-grid{grid-template-columns:repeat(2,1fr)}.rooms-container.grid-view{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.rooms-page-modern{padding:1rem}.room-stats-grid{grid-template-columns:1fr}.filters-modern{flex-direction:column}.filters-modern .search-bar-modern,.filters-modern .filter-group-modern{width:100%}.rooms-container.grid-view{grid-template-columns:1fr}.list-view .room-card-modern{flex-direction:column}.room-card-footer{flex-wrap:wrap}.status-select-modern{width:100%;margin-left:0}}.edit-room-form{padding:1rem 0}.edit-room-form .form-row{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem;display:grid}.edit-room-form .form-row:has(textarea){grid-template-columns:1fr}.edit-room-form .form-group{flex-direction:column;gap:.5rem;display:flex}.edit-room-form label{color:#374151;font-size:.9rem;font-weight:600}.edit-room-form input,.edit-room-form select,.edit-room-form textarea{border:2px solid #e5e7eb;border-radius:.5rem;padding:.75rem;font-family:inherit;font-size:.95rem;transition:all .2s}.edit-room-form input:focus,.edit-room-form select:focus,.edit-room-form textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.edit-room-form textarea{resize:vertical;min-height:80px}.edit-room-form .form-actions{border-top:2px solid #e5e7eb;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.edit-room-form .btn{cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.edit-room-form .btn-secondary{color:#374151;background:#f3f4f6}.edit-room-form .btn-secondary:hover{background:#e5e7eb}.edit-room-form .btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.edit-room-form .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media (max-width:768px){.edit-room-form .form-row{grid-template-columns:1fr}.edit-room-form .form-actions{flex-direction:column}.edit-room-form .btn{justify-content:center;width:100%}}.create-booking-page{background-color:#f8fafc;max-width:1200px;min-height:100vh;margin:0 auto;padding:24px}.booking-header{background:#fff;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #0000001a}.booking-header h1{color:#1f2937;margin:0 0 24px;font-size:2rem;font-weight:600}.step-indicator{justify-content:center;gap:24px;margin-top:24px;display:flex}.step{opacity:.5;align-items:center;gap:8px;transition:opacity .3s;display:flex}.step.active{opacity:1}.step span{color:#6b7280;background-color:#e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:600;display:flex}.step.active span{color:#fff;background-color:#3b82f6}.step label{color:#374151;font-size:.875rem;font-weight:500}.booking-content{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000001a}.booking-step h2{color:#1f2937;margin:0 0 24px;font-size:1.5rem;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:24px;display:grid}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:8px;padding:12px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group select.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-text{color:#ef4444;margin-top:4px;font-size:.75rem;font-weight:500}.error-text.center{text-align:center;margin:16px 0;font-size:.875rem}.checkbox-label{cursor:pointer;align-items:center;gap:8px;display:flex;margin-bottom:0!important;font-weight:400!important}.checkbox-label input[type=checkbox]{width:auto;margin:0}.step-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.btn-primary{color:#fff;background-color:#3b82f6}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{color:#374151;background-color:#f9fafb;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background-color:#f3f4f6}.btn:disabled{opacity:.6;cursor:not-allowed}.booking-summary-mini{background-color:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;gap:24px;margin-bottom:24px;padding:16px;display:flex}.summary-item{color:#6b7280;align-items:center;gap:6px;font-size:.875rem;display:flex}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-bottom:24px;display:grid}.room-card{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s;position:relative}.room-card.selected{background-color:#f0f9ff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633}.room-header h3{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.room-type{color:#374151;background-color:#e5e7eb;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:500}.room-info{gap:16px;margin-bottom:12px;display:flex}.info-item{color:#6b7280;align-items:center;gap:4px;font-size:.875rem;display:flex}.room-description{color:#6b7280;margin:8px 0 16px;font-size:.875rem;line-height:1.4}.room-pricing{border-top:1px solid #e5e7eb;padding-top:16px}.price-breakdown{color:#6b7280;margin-bottom:8px;font-size:.875rem}.total-price{color:#1f2937;font-size:1.125rem;font-weight:600}.selected-indicator{color:#fff;background-color:#3b82f6;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:500;display:flex;position:absolute;top:16px;right:16px}.no-rooms{text-align:center;color:#6b7280;padding:48px 24px}.no-rooms svg{color:#d1d5db;margin-bottom:16px}.no-rooms h3{color:#374151;margin:0 0 8px}.loading-spinner{text-align:center;color:#6b7280;padding:48px 24px}.loading-spinner .spinner{border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:1s linear infinite spin}.loading-spinner p{margin:8px 0}.loading-details{color:#9ca3af!important;font-size:.875rem!important}.confirmation{text-align:center}.success-header{margin-bottom:32px}.success-header svg{color:#10b981;margin-bottom:16px}.success-header h2{color:#1f2937;margin:0}.booking-confirmation{margin-bottom:32px}.confirmation-card{text-align:left;background-color:#f8fafc;border-radius:12px;padding:24px}.confirmation-card h3{color:#1f2937;margin:0 0 20px;font-size:1.25rem;font-weight:600}.confirmation-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.confirmation-item{flex-direction:column;gap:4px;display:flex}.confirmation-item label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.confirmation-item span{color:#1f2937;font-weight:500}.booking-ref{background-color:#e5e7eb;border-radius:4px;padding:4px 8px;font-family:monospace;font-weight:600!important}.total-amount{color:#059669!important;font-size:1.125rem!important;font-weight:600!important}.status{text-transform:uppercase;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:500;display:inline-block}.status.confirmed{color:#1d4ed8;background-color:#dbeafe}.status.checked_in{color:#166534;background-color:#dcfce7}.discount-control{background:#fff;border:2px solid #e5e7eb;border-radius:8px;align-items:center;gap:12px;margin-bottom:20px;padding:20px;display:flex}.discount-control label{color:#374151;min-width:140px;font-weight:500}.discount-control input{border:1px solid #d1d5db;border-radius:6px;width:100px;padding:8px 12px;font-size:14px}.discount-help{color:#6b7280;font-size:12px}.price-breakdown .discount-line{color:#dc2626;font-size:14px;font-weight:500;display:block}.price-breakdown .discounted-rate{color:#059669;font-size:14px;font-weight:500;display:block}.total-price .original-price{color:#6b7280;font-size:14px;text-decoration:line-through;display:block}.total-price .final-price{color:#059669;font-size:16px;font-weight:600;display:block}.price-summary-card{background:#fff;border:2px solid #059669;border-radius:12px;margin:20px 0;padding:20px}.price-summary-card h3{color:#059669;margin:0 0 16px;font-size:18px;font-weight:600}.price-details{flex-direction:column;gap:8px;display:flex}.price-row{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.price-row.discount{color:#dc2626}.price-row.total{border-top:2px solid #e5e7eb;margin-top:8px;padding-top:12px;font-size:18px}.invoice-preview{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #0000001a}.invoice-header{text-align:center;border-bottom:2px solid #e5e7eb;margin-bottom:24px;padding-bottom:16px}.invoice-header h3{color:#059669;margin:0;font-size:24px;font-weight:700}.invoice-header p{color:#6b7280;margin:4px 0 0;font-size:14px}.invoice-details{grid-template-columns:1fr 1fr 1fr;gap:24px;display:grid}.invoice-section h4{color:#374151;border-bottom:1px solid #e5e7eb;margin:0 0 12px;padding-bottom:8px;font-size:16px;font-weight:600}.invoice-section p{color:#4b5563;margin:6px 0;font-size:14px}.invoice-amounts{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.amount-row{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.amount-row.discount{color:#dc2626}.amount-row.total{border-top:2px solid #d1d5db;margin-top:12px;padding-top:12px;font-size:16px}.payment-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:20px}.payment-section h3{color:#374151;margin:0 0 16px;font-size:18px;font-weight:600}.confirmation-item .invoice-number{color:#fff;background:#059669;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500}.confirmation-item .status.paid{color:#fff;background:#059669;border-radius:4px;padding:4px 8px;font-size:12px}.confirmation-item .status.partial{color:#fff;background:#f59e0b;border-radius:4px;padding:4px 8px;font-size:12px}@media (max-width:768px){.invoice-details{grid-template-columns:1fr;gap:16px}.discount-control{flex-direction:column;align-items:flex-start;gap:8px}.discount-control label{min-width:auto}@media (max-width:768px){.create-booking-page{padding:16px}.booking-header{padding:20px}.booking-content{padding:24px}.step-indicator{gap:16px}.step label{display:none}.form-grid{grid-template-columns:1fr;gap:16px}.booking-summary-mini{flex-direction:column;gap:12px}.rooms-grid{grid-template-columns:1fr}.step-actions{flex-direction:column}.btn{justify-content:center;width:100%}}}.invoice-form{flex-direction:column;gap:2rem;display:flex}.form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.form-section h2{color:#374151;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.form-row{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.form-group input,.form-group textarea,.form-group select{border:1px solid #d1d5db;border-radius:6px;padding:.75rem;font-size:.875rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.readonly-field{color:#6b7280;cursor:not-allowed;background-color:#f3f4f6!important}.form-group textarea{resize:vertical;min-height:80px}.room-booking-item{background:#fff;border:1px solid #d1d5db;border-radius:8px;margin-bottom:1rem;padding:1.5rem}.room-booking-header h3{color:#1e293b;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.room-totals{border-top:1px solid #e2e8f0;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.total-item{justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.total-item.final{color:#059669;border-top:1px solid #d1d5db;padding-top:.5rem;font-size:1rem;font-weight:600}.empty-section{text-align:center;color:#6b7280;padding:2rem;font-style:italic}.invoice-summary{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:1.5rem}.summary-row.discount span{color:#059669}.summary-row.total{background:#f8fafc;border-top:2px solid #e2e8f0;border-bottom:2px solid #e2e8f0;margin:0 -1.5rem;padding:1rem 1.5rem}.summary-row.total span{font-size:1.1rem}.summary-row.paid span{color:#059669;font-weight:500}.summary-row.due span{color:#dc2626;font-weight:500}.invoice-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:1rem;padding-top:2rem;display:flex}.btn.btn-outline{color:#374151;background:#fff;border:1px solid #d1d5db}.btn.btn-outline:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width:768px){.form-row{grid-template-columns:1fr}.invoice-actions{flex-direction:column}.summary-row{font-size:.875rem}}.payment-list{margin-top:1.5rem}.payment-list h3{color:#374151;margin-bottom:1rem;font-size:1rem;font-weight:600}.payment-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:1rem;display:flex}.payment-details{flex-direction:column;gap:.25rem;display:flex}.payment-method{color:#1e293b;text-transform:capitalize;font-weight:500}.payment-amount{color:#059669;font-size:1.1rem;font-weight:600}.payment-notes{color:#6b7280;font-size:.875rem;font-style:italic}.btn-remove{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.2rem;line-height:1;display:flex}.btn-remove:hover{background:#dc2626}.confirmation-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.confirmation-card h3{color:#1e293b;border-bottom:1px solid #f3f4f6;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.2rem;font-weight:600}.confirmation-summary{flex-direction:column;gap:.75rem;display:flex}.payment-methods-used{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem}.payment-methods-used h4{color:#374151;margin-bottom:1rem;font-size:1rem;font-weight:600}.payment-method-item{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.payment-method-item:last-child{border-bottom:none}.payment-method-item .method{text-transform:capitalize;font-weight:500}.payment-method-item .amount{color:#059669;font-weight:600}.payment-method-item .notes{color:#6b7280;margin-left:.5rem;font-size:.875rem}.success-header{text-align:center;color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:12px;margin-bottom:2rem;padding:2rem}.success-header h2{color:#fff;margin:1rem 0 .5rem;font-size:1.8rem}.success-header p{opacity:.9;margin:0;font-size:1.1rem}@media print{.step-actions,.booking-header{display:none!important}.success-header{color:#1e293b!important;background:#f3f4f6!important;border:2px solid #e2e8f0!important}.success-header h2{color:#1e293b!important}.confirmation-card{break-inside:avoid;margin-bottom:1rem}}@media (max-width:768px){.payment-item{flex-direction:column;align-items:flex-start;gap:1rem}.payment-method-item{flex-direction:column;align-items:flex-start;gap:.25rem}.success-header{padding:1.5rem}.success-header h2{font-size:1.5rem}}.invoice-step{max-width:900px;margin:0 auto}.invoice-preview-container{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:2rem;padding:2rem}.invoice-preview-header{border-bottom:2px solid #f3f4f6;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.header-left .company-name{color:#1e293b;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.header-left .company-address{color:#64748b;font-size:.875rem}.header-right{text-align:right}.header-right .invoice-title{color:#3b82f6;letter-spacing:1px;margin-bottom:.25rem;font-size:2rem;font-weight:800}.header-right .invoice-id{color:#64748b;font-size:.875rem}.details-grid{grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}.customer-details h4{color:#64748b;text-transform:uppercase;margin-bottom:.75rem;font-size:.875rem;font-weight:600}.customer-details p{color:#374151;margin-bottom:.25rem;font-size:.9rem}.booking-meta{background:#f8fafc;border:1px solid #f3f4f6;border-radius:6px;padding:1rem}.meta-item{border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:.5rem 0;font-size:.875rem;display:flex}.meta-item:last-child{border-bottom:none}.meta-item span:first-child{color:#475569;font-weight:500}.meta-item span:last-child{color:#1e293b;font-weight:600}.invoice-items-table{border-collapse:collapse;width:100%;margin-bottom:2rem}.invoice-items-table .table-header{color:#475569;text-transform:uppercase;background:#f8fafc;border-bottom:2px solid #e2e8f0;grid-template-columns:2fr 1fr 1fr 1fr 1fr;padding:.75rem 1rem;font-size:.8rem;font-weight:600;display:grid}.invoice-items-table .table-row{border-bottom:1px solid #f3f4f6;grid-template-columns:2fr 1fr 1fr 1fr 1fr;align-items:center;padding:1rem;display:grid}.room-type-small{color:#64748b;font-size:.8rem}.item-amount{text-align:right;font-weight:600}.invoice-items-table .table-header>div:last-child,.invoice-items-table .table-row>div:last-child{text-align:right}.invoice-totals{width:100%;max-width:350px;margin-left:auto}.total-row{justify-content:space-between;padding:.75rem 0;font-size:.9rem;display:flex}.total-row span:first-child{color:#64748b}.total-row.grand-total span{color:#1e293b}.vat-input{text-align:right;border:1px solid #d1d5db;border-radius:4px;width:60px;padding:.25rem .5rem}.d-flex{display:flex}.align-items-center{align-items:center}.invoice-form-container{max-width:1000px;margin:0 auto}.form-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.form-section h3{color:#1e293b;border-bottom:1px solid #f3f4f6;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.2rem;font-weight:600}.form-section h4{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:1rem;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.payment-grid{grid-template-columns:1fr 1fr 2fr auto}.form-group{flex-direction:column;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.form-control{border:1px solid #d1d5db;border-radius:6px;padding:.75rem;font-size:.875rem;transition:border-color .2s}.form-control:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-control:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.room-booking-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:1rem}.booking-totals{background:#fff;border-top:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem;display:flex}.total-item{color:#374151;justify-content:space-between;min-width:200px;font-weight:600;display:flex}.add-payment-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:1rem;padding:1rem}.final-totals{background:#f0f9ff;border-color:#0ea5e9}.totals-grid{flex-direction:column;gap:.75rem;display:flex}.total-row{justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.95rem;display:flex}.total-row span:first-child{color:#64748b;font-weight:500}.total-row span:last-child{color:#1e293b;font-weight:600}.total-row.grand-total{border-top:2px solid #3b82f6;margin-top:.5rem;padding-top:1rem;font-size:1.1rem;font-weight:700}.total-row.due-amount{background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;padding:.75rem}.total-row.due-amount span{color:#92400e;font-weight:700}@media (max-width:768px){.payment-grid,.form-grid{grid-template-columns:1fr}.booking-totals{flex-direction:column;gap:.5rem}}.room-change-modal{background:#fff;border-radius:12px;width:90%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.room-change-modal .modal-header{z-index:10;background:#fff;border-bottom:2px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;position:sticky;top:0}.room-change-modal .modal-header h2{color:#1f2937;margin:0;font-size:1.5rem}.room-change-modal .close-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;padding:.5rem;transition:all .2s}.room-change-modal .close-btn:hover{color:#1f2937;background:#f3f4f6}.room-change-modal .modal-body{padding:2rem}.current-booking-info{background:#f9fafb;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.current-booking-info h3{color:#374151;margin:0 0 1rem;font-size:1.125rem}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.info-item{color:#6b7280;font-size:.9rem}.info-item strong{color:#1f2937;margin-bottom:.25rem;display:block}.error-message{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.form-section{margin-bottom:2rem}.form-section h3{color:#374151;margin:0 0 1rem;font-size:1.125rem}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.room-card{cursor:pointer;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;transition:all .2s;position:relative}.room-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.room-card.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633}.room-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.room-header strong{color:#1f2937;font-size:1rem}.check-icon{color:#3b82f6}.room-type{color:#6b7280;margin-bottom:.5rem;font-size:.875rem}.room-rate{color:#1f2937;margin-bottom:.25rem;font-weight:600}.room-capacity{color:#9ca3af;font-size:.875rem}.price-adjustment{text-align:center;border-radius:6px;margin-top:.75rem;padding:.5rem;font-weight:600}.price-adjustment.upgrade{color:#991b1b;background:#fee2e2}.price-adjustment.downgrade{color:#065f46;background:#d1fae5}.price-adjustment.same{color:#6b7280;background:#f3f4f6}.price-adjustment small{opacity:.8;margin-top:.25rem;font-size:.75rem;font-weight:400;display:block}.form-group label{color:#374151;margin-bottom:.5rem;font-weight:600;display:block}.form-group select,.form-group textarea{border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:.75rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.change-summary{background:#f9fafb;border-radius:8px;margin-top:2rem;padding:1.5rem}.change-summary h3{color:#374151;margin:0 0 1rem;font-size:1.125rem}.summary-row{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.summary-row:last-child{border-bottom:none}.summary-row.total{border-top:2px solid #e5e7eb;margin-top:.5rem;padding-top:1rem;font-size:1.125rem}.summary-row.highlight{background:#eff6ff;border-radius:6px;margin:0 -.5rem;padding:.75rem 1rem;font-weight:500}.summary-divider{background:#d1d5db;height:1px;margin:1rem 0}.arrow-icon{color:#3b82f6;margin:0 auto}.loading,.no-rooms{text-align:center;color:#6b7280;padding:2rem}.modal-actions{border-top:2px solid #e5e7eb;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.btn-secondary,.btn-primary{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.btn-secondary{color:#374151;background:#f3f4f6}.btn-secondary:hover{background:#e5e7eb}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}@media (max-width:768px){.room-change-modal{width:95%;max-height:95vh}.room-change-modal .modal-body{padding:1rem}.rooms-grid,.info-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.reports{background-color:#f8fafc;min-height:100vh;padding:2rem}.reports .page-header{margin-bottom:2rem}.reports .page-header h1{color:#1e293b;margin-bottom:.5rem;font-size:2rem;font-weight:700}.reports .page-header p{color:#64748b;font-size:1rem}.reports-container{grid-template-columns:250px 1fr;gap:2rem;max-width:1400px;display:grid}.time-filter-section{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.filter-header{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.filter-header h3{margin:0;font-size:1.1rem;font-weight:600}.filter-options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.filter-group{flex-direction:column;gap:.5rem;display:flex}.filter-group label{opacity:.9;font-size:.875rem;font-weight:500}.filter-select{color:#fff;cursor:pointer;background:#fff3;border:2px solid #ffffff4d;border-radius:8px;padding:.5rem;font-size:.95rem;font-weight:500;transition:all .3s}.filter-select:hover{background:#ffffff4d;border-color:#ffffff80}.filter-select option{color:#fff;background:#4c1d95}.selected-range{border-top:1px solid #ffffff4d;justify-content:center;align-items:center;padding-top:.5rem;display:flex}.range-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff40;border-radius:20px;padding:.5rem 1.5rem;font-size:.9rem;font-weight:600}.report-header-section{margin-bottom:2rem}.report-header-section h2{color:#1e293b;margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}.reports-sidebar{background:#fff;border-radius:12px;height:fit-content;padding:1.5rem;position:sticky;top:2rem;box-shadow:0 2px 8px #00000014}.report-tabs{flex-direction:column;gap:.5rem;display:flex}.report-tab{cursor:pointer;color:#64748b;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;padding:.875rem 1rem;font-size:.9375rem;font-weight:500;transition:all .2s;display:flex}.report-tab:hover{color:#3b82f6;background:#f1f5f9}.report-tab.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 4px 12px #3b82f64d}.report-tab svg{flex-shrink:0}.reports-content{background:#fff;border-radius:12px;min-height:600px;padding:2rem;box-shadow:0 2px 8px #00000014}.reports-content h2{color:#1e293b;margin-bottom:2rem;font-size:1.75rem;font-weight:700}.reports-content h3{color:#334155;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:#fff;border:2px solid #0000;border-radius:12px;align-items:center;gap:1.5rem;padding:1.5rem;transition:all .3s;display:flex;box-shadow:0 2px 8px #00000014}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.stat-card.revenue{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-color:#3b82f6}.stat-card.paid{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-color:#10b981}.stat-card.due{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-color:#ef4444}.stat-card.average{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-color:#f59e0b}.stat-card.total{background:linear-gradient(135deg,#f3e8ff 0%,#e9d5ff 100%);border-color:#8b5cf6}.stat-card.confirmed{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-color:#3b82f6}.stat-card.conversion{background:linear-gradient(135deg,#ccfbf1 0%,#99f6e4 100%);border-color:#14b8a6}.stat-card.bookings{background:linear-gradient(135deg,#e0e7ff 0%,#c7d2fe 100%);border-color:#6366f1}.stat-icon{background:#fff;border-radius:12px;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 4px 12px #0000001a}.stat-card.revenue .stat-icon{color:#3b82f6}.stat-card.paid .stat-icon{color:#10b981}.stat-card.due .stat-icon{color:#ef4444}.stat-card.average .stat-icon{color:#f59e0b}.stat-card.total .stat-icon{color:#8b5cf6}.stat-card.confirmed .stat-icon{color:#3b82f6}.stat-card.conversion .stat-icon{color:#14b8a6}.stat-card.bookings .stat-icon{color:#6366f1}.stat-content{flex:1}.stat-content h3{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.875rem;font-weight:600}.stat-value{color:#1e293b;margin-bottom:.25rem;font-size:2rem;font-weight:800;line-height:1}.stat-label{color:#64748b;font-size:.8125rem}.stats-grid-small{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card-small{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex;box-shadow:0 1px 4px #0000000f}.stat-card-small:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card-small svg{color:#64748b;flex-shrink:0}.stat-card-small.total svg{color:#8b5cf6}.stat-card-small.confirmed svg{color:#3b82f6}.stat-card-small.checked-in svg{color:#10b981}.stat-card-small.checked-out svg{color:#6366f1}.stat-card-small.cancelled svg{color:#ef4444}.stat-number{color:#1e293b;margin-bottom:.25rem;font-size:1.5rem;font-weight:700;line-height:1}.stat-card-small .stat-label{color:#64748b;font-size:.8125rem}.stats-section{margin-bottom:2rem}.stats-section h3{margin-bottom:1rem}.recent-section{margin-top:2rem}.recent-section h3{margin-bottom:1rem}.table-container{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:.875rem}.report-table thead{background:#f8fafc}.report-table th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e2e8f0;padding:.875rem 1rem;font-size:.75rem;font-weight:600}.report-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:1rem}.report-table tbody tr{transition:background-color .2s}.report-table tbody tr:hover{background-color:#f8fafc}.report-table tbody tr:last-child td{border-bottom:none}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.status-confirmed,.status-badge.status-confirmed{color:#1e40af;background:#dbeafe}.status-checked-in,.status-badge.status-checked-in,.status-badge.status-checked_in{color:#065f46;background:#d1fae5}.status-checked-out,.status-badge.status-checked-out,.status-badge.status-checked_out{color:#4338ca;background:#e0e7ff}.status-cancelled,.status-badge.status-cancelled{color:#991b1b;background:#fee2e2}.status-paid,.status-badge.status-paid{color:#065f46;background:#d1fae5}.status-unpaid,.status-badge.status-unpaid{color:#92400e;background:#fef3c7}.payment-method-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:6px;padding:.35rem .85rem;font-size:.75rem;font-weight:600;display:inline-block}.text-success{font-weight:600;color:#16a34a!important}.text-danger{font-weight:600;color:#dc2626!important}.text-muted{color:#94a3b8;font-size:.875rem}.analytics-section{margin-top:2rem}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.metric-card{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .3s}.metric-card:hover{border-color:#3b82f6;transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.metric-card h4{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:.875rem;font-weight:600}.metric-value{color:#3b82f6;margin-bottom:.5rem;font-size:2.5rem;font-weight:800;line-height:1}.metric-desc{color:#64748b;margin:0;font-size:.8125rem}.metric-detail{color:#94a3b8;border-top:1px solid #e2e8f0;margin-top:.5rem;padding-top:.75rem;font-size:.75rem}.monthly-breakdown-section{background:#fff;border-radius:12px;margin-top:2rem;padding:2rem;box-shadow:0 2px 8px #00000014}.monthly-breakdown-section h3{color:#1e293b;margin-bottom:1.5rem;font-weight:700}.monthly-chart-placeholder{text-align:center;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px dashed #cbd5e1;border-radius:8px;padding:3rem 2rem}.monthly-chart-placeholder p{color:#64748b;margin:.5rem 0}.loading-container{flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.loading-spinner{border:4px solid #f1f5f9;border-top-color:#3b82f6;border-radius:50%;width:48px;height:48px;margin-bottom:1rem;animation:.8s linear infinite spin}.loading-container p{color:#64748b;font-size:.9375rem}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-state svg{color:#cbd5e1;margin-bottom:1.5rem}.empty-state h3{color:#334155;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.empty-state p{color:#64748b;max-width:400px;font-size:1rem}.empty-state-small{text-align:center;color:#64748b;padding:2rem}.access-denied{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;padding:2rem;display:flex}.access-denied h2{color:#ef4444;margin-bottom:1rem;font-size:1.75rem;font-weight:700}.access-denied p{color:#64748b;font-size:1rem}@media (max-width:1024px){.reports-container{grid-template-columns:1fr}.reports-sidebar{position:static}.report-tabs{flex-flow:wrap}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.reports{padding:1rem}.reports-content{padding:1.5rem}.stats-grid{grid-template-columns:1fr}.stats-grid-small{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-value{font-size:1.5rem}.metric-value{font-size:2rem}.report-table{font-size:.8125rem}.report-table th,.report-table td{padding:.75rem}}.settings-page{max-width:1200px;margin:0 auto;padding:2rem}.settings-header{border-bottom:2px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.header-left{align-items:center;gap:1rem;display:flex}.header-left svg{color:#3b82f6}.settings-header h1{color:#1f2937;margin:0;font-size:1.875rem;font-weight:700}.settings-header p{color:#6b7280;margin:.25rem 0 0;font-size:.95rem}.settings-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.settings-tabs{background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:0;display:flex}.tab-button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.tab-button:hover{color:#374151;background:#f3f4f6}.tab-button.active{color:#3b82f6;background:#fff;border-bottom-color:#3b82f6}.settings-content{padding:2rem}.settings-section h2{color:#1f2937;margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.profile-card{background:#f9fafb;border-radius:8px;align-items:flex-start;gap:2rem;padding:2rem;display:flex}.profile-avatar{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;display:flex}.profile-details{flex-direction:column;flex:1;gap:1.25rem;display:flex}.detail-row{flex-direction:column;gap:.5rem;display:flex}.detail-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.detail-value{color:#1f2937;font-size:1rem;font-weight:500}.role-badge{border-radius:6px;align-items:center;gap:.5rem;width:fit-content;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-flex}.role-badge-master{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.role-badge-full{color:#fff;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.role-badge-admin{color:#fff;background:linear-gradient(135deg,#43e97b 0%,#38f9d7 100%)}.role-badge-front{color:#fff;background:linear-gradient(135deg,#fa709a 0%,#fee140 100%)}.role-badge-default{color:#6b7280;background:#e5e7eb}.security-card{background:#f9fafb;border-radius:8px;padding:2rem}.section-description{color:#6b7280;margin-bottom:2rem;line-height:1.6}.message-box{border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;font-size:.95rem;font-weight:500;display:flex}.message-box.success{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.message-box.error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.password-form{max-width:500px}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;margin-bottom:.5rem;font-size:.95rem;font-weight:500;display:block}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper .input-icon{color:#9ca3af;pointer-events:none;position:absolute;left:1rem}.password-input-wrapper input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:.75rem 3rem;font-size:.95rem;transition:all .2s}.password-input-wrapper input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.password-input-wrapper input:disabled{cursor:not-allowed;background:#f3f4f6}.password-toggle{color:#9ca3af;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .2s;display:flex;position:absolute;right:1rem}.password-toggle:hover{color:#6b7280}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.form-actions{margin-top:2rem}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.security-tips{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.security-tips h3{color:#1f2937;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.security-tips ul{margin:0;padding:0;list-style:none}.security-tips li{color:#6b7280;padding:.5rem 0 .5rem 1.5rem;font-size:.9rem;line-height:1.6;position:relative}.security-tips li:before{content:"✓";color:#10b981;font-weight:700;position:absolute;left:0}@media (max-width:768px){.settings-page{padding:1rem}.settings-header{flex-direction:column;align-items:flex-start;gap:1rem}.settings-content{padding:1.5rem}.profile-card{text-align:center;flex-direction:column;align-items:center}.detail-label{justify-content:center}.tab-button{padding:.875rem 1rem;font-size:.85rem}}
