:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#2c5f8d;--primary-dark:#1e4b6f;--primary-light:#4a8bc2;--secondary:#d4a574;--success:#27ae60;--danger:#e74c3c;--warning:#f39c12;--gray-50:#f8f9fa;--gray-100:#f0f1f3;--gray-200:#e0e1e5;--gray-300:#d0d1d5;--gray-600:#666;--gray-700:#444;--gray-800:#222;--border-radius:8px;--box-shadow:0 2px 8px #0000001a;--box-shadow-lg:0 4px 12px #00000026}body{color:var(--gray-800);background:linear-gradient(135deg,#f5f7fa 0%,#e8ecf1 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.navbar{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;box-shadow:var(--box-shadow-lg);z-index:100;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.navbar-brand{flex-direction:column;gap:.25rem;display:flex}.navbar-brand h1{letter-spacing:-.5px;font-size:1.8rem;font-weight:700}.navbar-brand .tagline{opacity:.9;font-size:.85rem;font-weight:500}.navbar-menu{flex:1;justify-content:center;gap:1rem;display:flex}.nav-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500;transition:all .3s}.nav-btn:hover{background:#fff3;transform:translateY(-2px)}.nav-btn.active{background:var(--secondary);color:var(--primary);border-color:var(--secondary)}.navbar-user{border-left:1px solid #fff3;align-items:center;gap:1.5rem;padding-left:1.5rem;display:flex}.user-name{font-size:.95rem;font-weight:600}.user-company{opacity:.8;margin-top:.25rem;font-size:.8rem;display:block}.logout-btn{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:5px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s}.logout-btn:hover{background:#c0392b;transform:translateY(-2px)}.main-content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:2rem}.footer{background:var(--gray-800);color:#fff;text-align:center;margin-top:auto;padding:1.5rem}.footer p{opacity:.8;font-size:.9rem}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--border-radius);cursor:pointer;box-shadow:var(--box-shadow);border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--box-shadow-lg);transform:translateY(-2px)}.btn-secondary{background:var(--gray-200);color:var(--gray-800);border:1px solid var(--gray-300);border-radius:var(--border-radius);cursor:pointer;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.btn-secondary:hover{background:var(--gray-300);transform:translateY(-2px)}.error-message{border-left:4px solid var(--danger);color:var(--danger);border-radius:var(--border-radius);background:#fee;margin-bottom:1rem;padding:1rem}.success-message{border-left:4px solid var(--success);color:var(--success);border-radius:var(--border-radius);background:#efe;margin-bottom:1rem;padding:1rem}.loading{text-align:center;color:var(--gray-600);padding:2rem;font-size:1.1rem}@media (width<=768px){.navbar{flex-direction:column;align-items:flex-start;gap:1rem}.navbar-brand h1{font-size:1.4rem}.navbar-menu{flex-wrap:wrap;justify-content:flex-start;width:100%}.navbar-user{border-top:1px solid #fff3;border-left:none;width:100%;padding-top:1rem;padding-left:0}.main-content{padding:1rem}}.login-container{background:linear-gradient(135deg,#2c5f8d 0%,#1e4b6f 100%);flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;min-height:100vh;padding:2rem;display:flex}.property-info{background:#fff;border-radius:12px;width:100%;max-width:500px;padding:2rem;box-shadow:0 10px 40px #0003}.property-header{text-align:center;border-bottom:2px solid #f0f0f0;margin-bottom:2rem;padding-bottom:2rem}.logo-link{cursor:pointer;border-radius:8px;transition:all .3s;display:inline-block}.logo-link:hover{transform:scale(1.05);box-shadow:0 4px 16px #2c5f8d33}.property-logo{object-fit:contain;backface-visibility:hidden;width:120px;height:120px;image-rendering:-webkit-optimize-contrast;background:#fff;border-radius:8px;margin-bottom:1rem;transform:translateZ(0);box-shadow:0 2px 8px #0000001a}.property-header h2{color:#2c5f8d;margin:.5rem 0;font-size:2rem}.property-header .location{color:#d4a574;margin:0;font-size:.95rem;font-weight:600}.property-details .tagline{color:#2c5f8d;margin-bottom:1rem;font-size:1.1rem;font-style:italic;font-weight:600}.property-details .description{color:#666;margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.property-highlights{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;display:grid}.highlight{text-align:center;background:#f8f9fa;border-radius:8px;padding:1rem}.highlight .label{color:#999;margin-bottom:.5rem;font-size:.85rem;display:block}.highlight .value{color:#2c5f8d;font-size:1.3rem;font-weight:600;display:block}.amenities{background:#f8f9fa;border-radius:8px;margin-top:1rem;padding:1.5rem}.amenities h4{color:#2c5f8d;margin-top:0;margin-bottom:1rem;font-size:.95rem}.amenities ul{margin:0;padding:0;list-style:none}.amenities li{color:#666;margin-bottom:.5rem;font-size:.85rem;line-height:1.6}.login-box{background:#fff;border-radius:12px;width:100%;max-width:450px;padding:3rem;box-shadow:0 10px 40px #0003}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:#2c5f8d;margin-bottom:.5rem;font-size:2.5rem}.login-header p{color:#666;margin:.25rem 0;font-size:1rem}.login-header .subtitle{color:#d4a574;font-size:.9rem}.login-header .powered-by{color:#999;margin-top:.5rem;font-size:.75rem;font-weight:600}.login-form{margin-bottom:2rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.form-group label{color:#333;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.form-group input{border:1px solid #ddd;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus{border-color:#2c5f8d;outline:none;box-shadow:0 0 0 3px #2c5f8d1a}.login-form button[type=submit]{color:#fff;cursor:pointer;background:#2c5f8d;border:none;border-radius:6px;width:100%;margin-bottom:1rem;padding:.9rem;font-size:1rem;font-weight:600;transition:all .3s}.login-form button[type=submit]:hover:not(:disabled){background:#1e4b6f;transform:translateY(-2px);box-shadow:0 4px 12px #2c5f8d4d}.login-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{text-align:center;border-top:1px solid #eee;padding:1rem 0}.auth-toggle p{color:#666;margin-bottom:.5rem;font-size:.95rem}.link-btn{color:#2c5f8d;cursor:pointer;background:0 0;border:none;font-size:.95rem;font-weight:600;text-decoration:underline;transition:color .3s}.link-btn:hover{color:#1e4b6f}.error-message{color:#e74c3c;background:#fee;border-left:4px solid #e74c3c;border-radius:6px;margin-bottom:1.5rem;padding:1rem;font-size:.95rem}.login-features{background:#f8f9fa;border-radius:8px;margin-top:2rem;padding:1.5rem}.login-features h3{color:#2c5f8d;margin-bottom:1rem;font-size:1rem}.login-features ul{margin:0;padding:0;list-style:none}.login-features li{color:#666;padding:.5rem 0;font-size:.9rem;line-height:1.5}@media (width<=768px){.login-container{flex-direction:column;gap:1rem}.property-info,.login-box{max-width:100%}}@media (width<=480px){.login-box{padding:2rem 1.5rem}.login-header h1{font-size:2rem}.form-row,.property-highlights{grid-template-columns:1fr}.property-logo{width:100px;height:100px}.property-header h2{font-size:1.5rem}}.dashboard h2{color:#2c5f8d;margin-bottom:2rem;font-size:1.8rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:#fff;border-top:3px solid #2c5f8d;border-radius:8px;gap:1rem;padding:1.5rem;transition:all .3s;display:flex;box-shadow:0 2px 8px #0000001a}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.stat-icon{text-align:center;min-width:50px;font-size:2rem}.stat-content h3{color:#666;margin-bottom:.5rem;font-size:.9rem;font-weight:500}.stat-value{color:#2c5f8d;margin:0;font-size:1.8rem;font-weight:700}.recent-bookings{background:#fff;border-radius:8px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.recent-bookings h3{color:#2c5f8d;margin-bottom:1rem;font-size:1.2rem}.bookings-list{flex-direction:column;gap:1rem;display:flex}.booking-item{border:1px solid #eee;border-radius:6px;padding:1rem;transition:all .3s}.booking-item:hover{background:#f8f9fa;border-color:#2c5f8d}.booking-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.booking-ref{color:#2c5f8d;font-weight:600}.booking-status{border-radius:20px;padding:.3rem .8rem;font-size:.8rem;font-weight:600}.booking-status.status-pending{color:#856404;background:#fff3cd}.booking-status.status-confirmed{color:#155724;background:#d4edda}.booking-status.status-on_hold{color:#084298;background:#cfe2ff}.booking-status.status-cancelled{color:#721c24;background:#f8d7da}.booking-details{color:#666;flex-wrap:wrap;gap:1.5rem;font-size:.9rem;display:flex}.quick-actions{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.quick-actions h3{color:#2c5f8d;margin-bottom:1rem;font-size:1.2rem}.btn-action{cursor:pointer;background:#f0f1f3;border:1px solid #ddd;border-radius:6px;margin-bottom:.5rem;margin-right:1rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .3s;display:inline-block}.btn-action:hover{color:#fff;background:#2c5f8d;border-color:#2c5f8d;transform:translateY(-2px)}@media (width<=768px){.stats-grid{grid-template-columns:1fr}.booking-details{flex-direction:column;gap:.5rem}}.booking-form-container h2{color:#2c5f8d;margin-bottom:2rem;font-size:1.8rem}.booking-form{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.form-section{margin-bottom:2rem}.form-section h3{color:#2c5f8d;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.form-group{flex-direction:column;display:flex}.form-group label{color:#333;margin-bottom:.5rem;font-size:.95rem;font-weight:600}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:6px;padding:.75rem;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:#2c5f8d;outline:none;box-shadow:0 0 0 3px #2c5f8d1a}.suites-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.suite-card{cursor:pointer;background:#f9f9f9;border:2px solid #eee;border-radius:8px;padding:1rem;transition:all .3s}.suite-card:hover{background:#f0f1f3;border-color:#2c5f8d;transform:translateY(-2px)}.suite-card.selected{background:#e8ecf1;border-color:#2c5f8d;box-shadow:0 4px 12px #2c5f8d33}.suite-card h4{color:#2c5f8d;margin-bottom:.5rem;font-size:1rem}.suite-desc{color:#666;margin-bottom:.75rem;font-size:.85rem}.suite-price{color:#d4a574;margin-bottom:.5rem;font-weight:600}.suite-amenities{flex-direction:column;gap:.25rem;display:flex}.amenity{color:#27ae60;font-size:.8rem;font-weight:500}.payment-options{flex-direction:column;gap:1rem;display:flex}.payment-option{cursor:pointer;border:1px solid #ddd;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem;transition:all .3s;display:flex}.payment-option:hover{background:#f8f9fa;border-color:#2c5f8d}.payment-option input{cursor:pointer}.form-actions button{cursor:pointer;border:none;border-radius:6px;padding:.9rem 2rem;font-size:1rem;font-weight:600;transition:all .3s}.form-actions .btn-primary{color:#fff;background:#2c5f8d;flex:1}.form-actions .btn-primary:hover:not(:disabled){background:#1e4b6f;transform:translateY(-2px)}.form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-actions .btn-secondary{color:#333;background:#f0f1f3;border:1px solid #ddd}.booking-info{color:#2c5f8d;background:#e8ecf1;border-radius:6px;margin-top:1.5rem;padding:1rem;font-size:.95rem}.booking-info p{margin:0}@media (width<=768px){.booking-form{padding:1rem}.form-grid,.suites-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}}.commissions-container h2{color:#2c5f8d;margin-bottom:2rem;font-size:1.8rem}.commission-summary{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.summary-card{text-align:center;background:#fff;border-top:4px solid #2c5f8d;border-radius:8px;padding:1.5rem;transition:all .3s;box-shadow:0 2px 8px #0000001a}.summary-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.summary-card.highlight{background:linear-gradient(135deg,#fff9f0 0%,#fffbf5 100%);border-top-color:#d4a574}.summary-card h4{color:#666;margin-bottom:.5rem;font-size:.9rem;font-weight:500}.summary-card .amount{color:#2c5f8d;margin:.5rem 0;font-size:2rem;font-weight:700}.summary-card .status{color:#999;font-size:.8rem;font-weight:500;display:block}.commission-details{background:#fff;border-radius:8px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.commission-details h3{color:#2c5f8d;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600}.commission-table{overflow-x:auto}.commission-table table{border-collapse:collapse;width:100%}.commission-table thead{background:#f8f9fa;border-bottom:2px solid #ddd}.commission-table th{text-align:left;color:#2c5f8d;padding:1rem;font-size:.95rem;font-weight:600}.commission-table td{color:#666;border-bottom:1px solid #eee;padding:1rem}.commission-table tr:hover{background:#f8f9fa}.booking-ref{font-weight:600}.badge{color:#2c5f8d;background:#e8ecf1;border-radius:4px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.commission-amount{color:#27ae60;font-weight:600}.status-badge.status-earned{color:#084298;background:#cfe2ff}.status-badge.status-pending_payment{color:#856404;background:#fff3cd}.status-badge.status-paid{color:#155724;background:#d4edda}.status-badge.status-cancelled{color:#721c24;background:#f8d7da}.empty-state{text-align:center;color:#999;padding:2rem}.commission-info{background:#fff;border-radius:8px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.commission-info h3{color:#2c5f8d;margin-bottom:1rem;font-size:1.2rem;font-weight:600}.info-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.info-card{background:#f8f9fa;border-left:3px solid #d4a574;border-radius:6px;padding:1rem}.info-card h4{color:#2c5f8d;margin-bottom:.5rem;font-size:.95rem;font-weight:600}.info-card p{color:#666;margin:0;font-size:.85rem}.payout-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.payout-section h3{color:#2c5f8d;margin-bottom:1rem;font-size:1.2rem;font-weight:600}.payout-info{background:#e8ecf1;border-radius:6px;padding:1.5rem}.payout-info p{color:#2c5f8d;margin-bottom:1rem;font-weight:600}.payout-info ul{margin-bottom:1.5rem;padding:0;list-style:none}.payout-info li{color:#2c5f8d;padding:.5rem 0;font-weight:500;line-height:1.6}.payout-section .btn-primary{color:#fff;cursor:pointer;background:#27ae60;border:none;border-radius:6px;padding:.75rem 1.5rem;font-weight:600;transition:all .3s}.payout-section .btn-primary:hover{background:#229954;transform:translateY(-2px)}@media (width<=768px){.commission-summary{grid-template-columns:1fr}.commission-table{font-size:.85rem}.commission-table th,.commission-table td{padding:.75rem .5rem}.info-cards{grid-template-columns:1fr}}.admin-dashboard h2{color:#2c5f8d;margin-bottom:2rem;font-size:1.8rem}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.admin-stats .stat-card{text-align:center;background:#fff;border-top:4px solid #2c5f8d;border-radius:8px;padding:1.5rem;transition:all .3s;box-shadow:0 2px 8px #0000001a}.admin-stats .stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.admin-stats .stat-card h4{color:#666;margin-bottom:.5rem;font-size:.9rem;font-weight:500}.admin-stats .amount{color:#2c5f8d;margin:.5rem 0;font-size:1.8rem;font-weight:700}.admin-stats .stat-meta{color:#999;font-size:.8rem;display:block}.recent-data{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.data-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.data-section h3{color:#2c5f8d;margin-bottom:1rem;font-size:1.1rem}.booking-card,.agent-card{border-bottom:1px solid #eee;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;gap:1rem;padding:1rem;font-size:.9rem;display:grid}.booking-card:last-child,.agent-card:last-child{border-bottom:none}.booking-card .ref,.booking-card .name{color:#2c5f8d;font-weight:600}.booking-card .status{border-radius:4px;padding:.3rem .6rem;font-size:.75rem;font-weight:600}.booking-card .status.status-confirmed{color:#155724;background:#d4edda}.booking-card .status.status-on_hold{color:#084298;background:#cfe2ff}.booking-card .status.status-pending{color:#856404;background:#fff3cd}.booking-card .amount{text-align:right;color:#d4a574;font-weight:600}.agent-card{grid-template-columns:2fr 1fr 1fr}.agent-card .name{color:#2c5f8d;font-weight:600}.agent-card .bookings{color:#666}.agent-card .commission{color:#27ae60;font-weight:600}.controls{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.filter-select,.search-input{border:1px solid #ddd;border-radius:6px;padding:.75rem;font-family:inherit;font-size:.95rem}.filter-select{cursor:pointer;background:#fff;min-width:150px}.search-input{flex:1;min-width:200px}.search-input:focus,.filter-select:focus{border-color:#2c5f8d;outline:none;box-shadow:0 0 0 3px #2c5f8d1a}.bookings-table-container,.payments-table-container{background:#fff;border-radius:8px;padding:1.5rem;overflow-x:auto;box-shadow:0 2px 8px #0000001a}.admin-table{border-collapse:collapse;width:100%}.admin-table thead{background:#f8f9fa;border-bottom:2px solid #ddd}.admin-table th{text-align:left;color:#2c5f8d;padding:1rem;font-size:.95rem;font-weight:600}.admin-table td{color:#666;border-bottom:1px solid #eee;padding:1rem}.admin-table tr:hover{background:#f8f9fa}.admin-table .ref{color:#2c5f8d;font-weight:600}.admin-table .amount{color:#d4a574;font-weight:600}.admin-table .dates{font-size:.9rem}.status-badge{border-radius:4px;padding:.4rem .8rem;font-size:.85rem;font-weight:600;display:inline-block}.status-badge.status-confirmed{color:#155724;background:#d4edda}.status-badge.status-on_hold{color:#084298;background:#cfe2ff}.status-badge.status-pending{color:#856404;background:#fff3cd}.status-badge.status-completed,.status-badge.status-active{color:#155724;background:#d4edda}.agents-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.agent-card-large{background:#fff;border-top:4px solid #2c5f8d;border-radius:8px;padding:1.5rem;transition:all .3s;box-shadow:0 2px 8px #0000001a}.agent-card-large:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.agent-header{justify-content:space-between;align-items:start;margin-bottom:1rem;display:flex}.agent-header h4{color:#2c5f8d;margin:0;font-size:1.1rem}.agent-card-large .company{color:#666;margin-bottom:1rem;font-size:.9rem}.agent-stats{background:#f8f9fa;border-radius:6px;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem;padding:1rem;display:grid}.agent-stats .stat{text-align:center}.agent-stats .stat span{color:#999;margin-bottom:.25rem;font-size:.8rem;display:block}.agent-stats .stat strong{color:#2c5f8d;font-size:1.1rem;display:block}.btn-small{color:#fff;cursor:pointer;background:#2c5f8d;border:none;border-radius:6px;width:100%;padding:.6rem;font-size:.9rem;font-weight:600;transition:all .3s}.btn-small:hover{background:#1e4b6f;transform:translateY(-2px)}@media (width<=768px){.admin-stats{grid-template-columns:repeat(2,1fr)}.recent-data{grid-template-columns:1fr}.booking-card,.agent-card{grid-template-columns:1fr;gap:.5rem}.controls{flex-direction:column}.filter-select,.search-input{width:100%}.admin-table{font-size:.85rem}.admin-table th,.admin-table td{padding:.75rem .5rem}.agents-grid{grid-template-columns:1fr}}.calendar-container h2{color:#2c5f8d;margin-bottom:2rem;font-size:1.8rem}.calendar-controls{background:#fff;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.5rem;padding:1.5rem;display:flex;box-shadow:0 2px 8px #0000001a}.suite-selector{flex:1;align-items:center;gap:1rem;min-width:250px;display:flex}.suite-selector label{color:#333;white-space:nowrap;font-weight:600}.suite-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;flex:1;padding:.75rem;font-family:inherit;font-size:.95rem}.suite-select:focus{border-color:#2c5f8d;outline:none;box-shadow:0 0 0 3px #2c5f8d1a}.month-controls{align-items:center;gap:1rem;display:flex}.btn-icon{color:#fff;cursor:pointer;background:#2c5f8d;border:none;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:600;transition:all .3s;display:flex}.btn-icon:hover{background:#1e4b6f;transform:scale(1.05)}.month-display{color:#2c5f8d;text-align:center;min-width:150px;font-size:1.1rem;font-weight:600}.calendar-legend{background:#f8f9fa;border-radius:6px;flex-wrap:wrap;gap:2rem;margin-bottom:1.5rem;padding:1rem;display:flex}.legend-item{color:#666;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.legend-color{border-radius:4px;width:20px;height:20px;display:inline-block}.legend-color.available{background:#d4edda}.legend-color.on_hold{background:#fff3cd}.legend-color.booked{background:#f8d7da}.calendar{background:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.calendar-header{grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.weekday{text-align:center;color:#2c5f8d;background:#f8f9fa;border-radius:4px;padding:.75rem;font-size:.9rem;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.calendar-day{aspect-ratio:1;cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;min-height:60px;font-size:.85rem;transition:all .3s;display:flex;position:relative}.calendar-day.empty{cursor:default;background:#f8f9fa;border:none}.calendar-day.status-available{background:#d4edda;border-color:#27ae60}.calendar-day.status-available:hover{transform:scale(1.05);box-shadow:0 4px 12px #27ae6033}.calendar-day.status-on_hold{background:#fff3cd;border-color:#f39c12}.calendar-day.status-on_hold:hover{transform:scale(1.05);box-shadow:0 4px 12px #f39c1233}.calendar-day.status-booked{background:#f8d7da;border-color:#e74c3c}.calendar-day.status-booked:hover{transform:scale(1.05);box-shadow:0 4px 12px #e74c3c33}.day-number{color:#333;margin-bottom:.25rem;font-weight:600}.day-status{color:#666;font-size:.75rem;font-weight:500}.calendar-info{background:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.calendar-info h3{color:#2c5f8d;margin-bottom:1rem;font-size:1.1rem}.calendar-info ul{margin:0;padding:0;list-style:none}.calendar-info li{color:#666;border-bottom:1px solid #eee;padding:.75rem 0;font-size:.95rem;line-height:1.6}.calendar-info li:last-child{border-bottom:none}.suite-details{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.suite-details h3{color:#2c5f8d;margin-bottom:1rem;font-size:1.1rem}.suite-info{background:#f8f9fa;border-left:4px solid #d4a574;border-radius:6px;padding:1.5rem}.suite-info h4{color:#2c5f8d;margin-bottom:.5rem;font-size:1.1rem}.suite-info>p{color:#666;margin-bottom:1rem;font-size:.95rem}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.info-grid>div{font-size:.95rem}.info-grid strong{color:#2c5f8d;margin-bottom:.25rem;font-weight:600;display:block}.amenities-list{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.amenity-tag{color:#2c5f8d;background:#e8ecf1;border-radius:4px;padding:.3rem .7rem;font-size:.85rem;font-weight:500}@media (width<=768px){.calendar-controls,.suite-selector{flex-direction:column;align-items:stretch}.suite-select{width:100%}.month-controls{justify-content:center;width:100%}.calendar-day{min-height:50px;font-size:.75rem}.day-number{font-size:.9rem}.calendar-legend{flex-direction:column;gap:.75rem}.info-grid{grid-template-columns:1fr}}.offers-page{padding:2rem}.offers-hero{color:#fff;text-align:center;background:linear-gradient(135deg,#2c5f8d 0%,#d4a574 100%);border-radius:12px;margin-bottom:3rem;padding:3rem 2rem;box-shadow:0 10px 30px #0003}.offers-hero h1{margin-bottom:1rem;font-size:2.5rem;font-weight:700}.offers-hero p{opacity:.95;font-size:1.1rem}.offers-filter{flex-wrap:wrap;gap:1rem;margin-bottom:2rem;display:flex}.filter-btn{cursor:pointer;color:#2c5f8d;background:#fff;border:2px solid #ddd;border-radius:25px;padding:.75rem 1.5rem;font-weight:600;transition:all .3s}.filter-btn:hover{background:#f0f1f3;border-color:#2c5f8d}.filter-btn.active{color:#fff;background:#2c5f8d;border-color:#2c5f8d;box-shadow:0 4px 12px #2c5f8d4d}.featured-section,.regular-section{margin-bottom:3rem}.featured-section h2,.regular-section h2{color:#2c5f8d;margin-bottom:2rem;font-size:2rem;font-weight:700}.offers-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.offers-grid.featured{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.offer-card{background:#fff;border-radius:12px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 4px 12px #0000001a}.offer-card:hover{transform:translateY(-8px);box-shadow:0 8px 24px #00000026}.offer-card.featured{border:2px solid #d4a574}.offer-image{background:#f0f1f3;width:100%;height:200px;position:relative;overflow:hidden}.offer-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.offer-card:hover .offer-image img{transform:scale(1.05)}.discount-badge{color:#fff;text-align:center;background:linear-gradient(135deg,#e74c3c,#c0392b);border-radius:8px;padding:.5rem 1rem;font-weight:700;position:absolute;top:1rem;right:1rem;box-shadow:0 4px 12px #e74c3c4d}.discount-value{font-size:1.5rem;display:block}.discount-label{opacity:.9;font-size:.75rem;display:block}.offer-content{flex-direction:column;flex:1;padding:1.5rem;display:flex}.offer-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.category-badge{color:#2c5f8d;background:#e8ecf1;border-radius:20px;padding:.3rem .8rem;font-size:.8rem;font-weight:600;display:inline-block}.category-tag{color:#fff;background:#d4a574;border-radius:20px;padding:.4rem 1rem;font-size:.9rem;font-weight:600;display:inline-block}.valid-dates{color:#999;white-space:nowrap;font-size:.8rem}.dates{color:#999;margin:1rem 0;font-size:.8rem}.offer-card h3{color:#2c5f8d;margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.description{color:#666;margin-bottom:1rem;font-size:.95rem;line-height:1.5}.pricing{margin:1rem 0}.price-old{color:#999;margin-bottom:.25rem;font-size:.9rem;text-decoration:line-through}.price-new{color:#e74c3c;font-size:1.8rem;font-weight:700}.per-person{color:#999;margin-top:.25rem;font-size:.85rem;display:block}.price-container{align-items:baseline;gap:1rem;margin-bottom:.5rem;display:flex}.original{color:#999;font-size:.95rem;text-decoration:line-through}.current{color:#e74c3c;font-size:1.5rem;font-weight:700}.discount{color:#27ae60;font-size:.85rem;font-weight:600;display:block}.highlights{flex-direction:column;gap:.5rem;margin:1rem 0;font-size:.85rem;display:flex}.highlight{color:#27ae60;font-weight:500}.btn-view-details,.btn-primary,.btn-book,.btn-login{cursor:pointer;border:none;border-radius:6px;margin-top:auto;padding:.8rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s}.btn-view-details{color:#fff;background:#2c5f8d}.btn-view-details:hover{background:#1e4b6f;transform:translateY(-2px)}.btn-primary:hover{background:#1e4b6f;transform:translateY(-2px)}.btn-book{color:#fff;background:linear-gradient(135deg,#27ae60,#229954);width:100%;padding:1rem;font-size:1rem}.btn-book:hover{opacity:.9;transform:translateY(-2px)}.btn-login{color:#fff;background:#2c5f8d;width:100%;padding:1rem;font-size:1rem}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.close-btn{cursor:pointer;color:#999;background:0 0;border:none;font-size:1.5rem;transition:color .3s;position:absolute;top:1rem;right:1rem}.close-btn:hover{color:#2c5f8d}.modal-header{justify-content:space-between;align-items:start;margin-bottom:1.5rem;display:flex}.modal-header h2{color:#2c5f8d;margin:0;font-size:1.8rem}.modal-pricing{background:#f8f9fa;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.price-box{justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.95rem;display:flex}.price-box.primary{background:#e8ecf1;border-left:4px solid #d4a574;border-radius:6px;padding:1rem}.price-box .label{color:#666;font-weight:600}.price-box .price{color:#2c5f8d;font-size:1.3rem;font-weight:700}.price.crossed{color:#999;text-decoration:line-through}.price.highlight{color:#e74c3c;font-size:1.8rem}.savings{text-align:center;color:#27ae60;border-top:1px solid #e0e1e5;padding-top:1rem;font-weight:600}.modal-description{color:#666;margin-bottom:1.5rem;line-height:1.7}.modal-section{margin-bottom:1.5rem}.modal-section h4{color:#2c5f8d;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.includes-list{margin:0;padding:0;list-style:none}.includes-list li{color:#666;border-bottom:1px solid #eee;padding:.5rem 0}.includes-list li:last-child{border-bottom:none}.activities-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;display:grid}.activity-item{text-align:center;color:#666;background:#f8f9fa;border:1px solid #e0e1e5;border-radius:6px;padding:1rem;font-size:.9rem}.terms{color:#666;background:#f8f9fa;border-left:3px solid #d4a574;border-radius:6px;padding:1rem;font-size:.9rem;line-height:1.6}.modal-dates{background:#f8f9fa;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.date-item{justify-content:space-between;margin-bottom:1rem;display:flex}.date-item:last-child{margin-bottom:0}.date-item .label{color:#666;font-weight:600}.date-item .date{color:#2c5f8d;font-weight:600}@media (width<=768px){.offers-page{padding:1rem}.offers-hero{padding:2rem 1rem}.offers-hero h1{font-size:1.8rem}.offers-grid,.offers-grid.featured{grid-template-columns:1fr}.offers-filter{flex-direction:column}.filter-btn{width:100%}.modal-content{padding:1.5rem}.activities-grid{grid-template-columns:1fr}}.emergency-support-container{max-width:900px;margin:0 auto;padding:2rem}.emergency-header{text-align:center;color:#fff;background:linear-gradient(135deg,#f44 0%,#d00 100%);border-radius:10px;margin-bottom:2rem;padding:2rem}.emergency-header h2{margin:0;font-size:2rem}.emergency-header p{opacity:.9;margin:.5rem 0 0}.btn-emergency{color:#fff;cursor:pointer;background:#f44;border:3px solid #d00;border-radius:10px;width:100%;margin:2rem 0;padding:1.5rem;font-size:1.2rem;font-weight:700;transition:all .3s;animation:2s infinite pulse;display:block}.btn-emergency:hover{background:#d00;transform:scale(1.02)}@keyframes pulse{0%,to{box-shadow:0 0 #ff4444b3}50%{box-shadow:0 0 0 10px #f440}}.emergency-form{background:#f9f9f9;border-left:5px solid #f44;border-radius:10px;margin-bottom:2rem;padding:2rem}.form-group textarea{resize:vertical;min-height:120px}.tickets-section{margin-top:3rem}.tickets-section h3{margin-bottom:1.5rem;font-size:1.5rem}.tickets-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.ticket-card{background:#fff;border-left:4px solid #ddd;border-radius:10px;padding:1.5rem;box-shadow:0 2px 5px #0000001a}.ticket-card.status-open{border-left-color:#f44}.ticket-card.status-in_progress{border-left-color:#fa0}.ticket-card.status-resolved{border-left-color:#0a0}.ticket-header{justify-content:space-between;align-items:start;margin-bottom:1rem;display:flex}.ticket-header h4{flex:1;margin:0}.status-badge{white-space:nowrap;border-radius:20px;padding:.3rem .8rem;font-size:.8rem;font-weight:700}.status-badge.priority-urgent{color:#fff;background:#f44}.status-badge.priority-high{color:#fff;background:#fa0}.status-badge.priority-normal{color:#fff;background:#09f}.status-badge.priority-low{color:#fff;background:#0a0}.ticket-category{color:#666;text-transform:uppercase;margin:.5rem 0;font-size:.9rem}.ticket-description{color:#555;margin:1rem 0;line-height:1.5}.ticket-date{color:#999;font-size:.85rem}.support-info{background:#f9f9f9;border-radius:10px;margin-top:3rem;padding:2rem}.support-info h3{margin-top:0}.info-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.info-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 5px #0000000d}.info-card h4{color:#f44;margin-top:0}.info-card p{color:#666;margin:0}.success-message{color:#2e7d32;background:#e8f5e9;border-left:4px solid #2e7d32;border-radius:5px;margin-bottom:1rem;padding:1rem;animation:.3s slideIn}@keyframes slideIn{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.block-booking-container{max-width:1000px;margin:0 auto;padding:2rem}.block-booking-container h2{color:#333;margin-bottom:.5rem;font-size:2rem}.block-booking-container>p{color:#666;margin-bottom:2rem}.btn-create{color:#fff;cursor:pointer;background:#09f;border:none;border-radius:5px;margin-bottom:2rem;padding:1rem 2rem;font-size:1rem;font-weight:700;transition:all .3s}.btn-create:hover{background:#07d;transform:translateY(-2px);box-shadow:0 5px 15px #0099ff4d}.block-booking-form{background:#f9f9f9;border:2px solid #09f;border-radius:10px;margin-bottom:2rem;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;margin-bottom:.5rem;font-weight:700;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:5px;width:100%;padding:.8rem;font-family:inherit;font-size:1rem}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.booking-summary{background:#fff;border-left:4px solid #09f;border-radius:5px;margin:1.5rem 0;padding:1.5rem}.summary-item{justify-content:space-between;margin:.5rem 0;font-size:1.1rem;display:flex}.summary-item span{color:#666}.summary-item strong{color:#09f}.form-actions{gap:1rem;margin-top:2rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:5px;flex:1;padding:1rem;font-size:1rem;font-weight:700;transition:all .3s}.btn-primary{color:#fff;background:#09f}.btn-primary:hover:not(:disabled){background:#07d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#333;background:#ddd}.btn-secondary:hover{background:#ccc}.block-bookings-list{margin-top:3rem}.block-bookings-list h3{margin-bottom:1.5rem;font-size:1.5rem}.bookings-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.block-card{background:#fff;border-top:4px solid #09f;border-radius:10px;padding:1.5rem;transition:all .3s;box-shadow:0 2px 8px #0000001a}.block-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #00000026}.block-card.status-pending{border-top-color:#fa0}.block-card.status-confirmed{border-top-color:#0a0}.block-card.status-partial_cancelled{border-top-color:#f60}.block-card.status-cancelled{border-top-color:#d00}.block-card h4{color:#333;margin:0 0 1rem}.block-dates{color:#666;margin:.5rem 0;font-size:.95rem}.block-details{justify-content:space-between;margin:1rem 0;font-weight:700;display:flex}.block-details span{color:#09f}.status-badge{color:#fff;background:#09f;border-radius:20px;margin-top:1rem;padding:.4rem .8rem;font-size:.8rem;font-weight:700;display:inline-block}.block-card.status-pending .status-badge{background:#fa0}.block-card.status-confirmed .status-badge{background:#0a0}.block-card.status-cancelled .status-badge{background:#d00}.block-info{background:#f9f9f9;border-left:4px solid #09f;border-radius:10px;margin-top:3rem;padding:2rem}.block-info h3{color:#09f;margin-top:0}.block-info ul{padding:0;list-style:none}.block-info li{color:#666;padding:.5rem 0;line-height:1.6}.success-message{color:#2e7d32;background:#e8f5e9;border-left:4px solid #2e7d32;border-radius:5px;margin-bottom:1rem;padding:1rem}.confirmation-container{max-width:1000px;margin:0 auto;padding:2rem}.confirmation-container h2{color:#333;margin-bottom:.5rem;font-size:2rem}.confirmation-container>p{color:#666;margin-bottom:2rem}.bookings-section{margin-bottom:3rem}.empty-state{text-align:center;color:#666;background:#f0f0f0;border-radius:10px;padding:2rem}.bookings-cards{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;display:grid}.booking-card{background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:1.5rem;transition:all .3s;position:relative;box-shadow:0 2px 8px #0000001a}.booking-card:hover{border-color:#09f;transform:translateY(-5px);box-shadow:0 5px 15px #00000026}.booking-info{margin-bottom:1rem}.booking-info h4{color:#333;margin:0 0 1rem;font-size:1.2rem}.info-row{color:#666;justify-content:space-between;margin:.7rem 0;display:flex}.info-row span{font-weight:500}.info-row strong{color:#09f;font-size:1.05rem}.booking-actions{margin:1.5rem 0}.btn-generate{color:#fff;cursor:pointer;background:#09f;border:none;border-radius:5px;width:100%;padding:.8rem;font-size:.95rem;font-weight:700;transition:all .3s}.btn-generate:hover:not(:disabled){background:#07d;transform:scale(1.02)}.btn-generate:disabled{opacity:.6;cursor:not-allowed}.status-badge{color:#fff;background:#09f;border-radius:20px;padding:.3rem .8rem;font-size:.75rem;font-weight:700;display:inline-block;position:absolute;top:1rem;right:1rem}.status-badge.status-pending{background:#fa0}.status-badge.status-confirmed{background:#0a0}.status-badge.status-completed{background:#09f}.letter-preview{background:#f9f9f9;border-left:4px solid #09f;border-radius:10px;margin-bottom:2rem;padding:2rem}.letter-preview h3{color:#09f;margin-top:0}.preview-content{color:#666;background:#fff;border-radius:5px;padding:1.5rem;font-size:.95rem;line-height:1.8}.preview-content p{margin:0}.features{background:#f9f9f9;border:2px solid #09f;border-radius:10px;padding:2rem}.features h3{color:#09f;margin-top:0}.features ul{padding:0;list-style:none}.features li{color:#666;padding:.6rem 0;font-size:.95rem;line-height:1.6}.error-message{color:#c62828;background:#ffebee;border-left:4px solid #c62828;border-radius:5px;margin-bottom:1rem;padding:1rem}.loading{text-align:center;color:#666;padding:2rem}@media (width<=768px){.bookings-cards{grid-template-columns:1fr}.info-row{flex-direction:column;gap:.3rem}}
