body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.modal-backdrop{align-items:center;animation:fadeIn .2s ease;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:0;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background-color:#2c3e50;border-bottom:2px solid #f0f0f0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:25px 30px}.modal-header h2{font-size:24px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;padding:0;transition:background-color .3s ease;width:40px}.modal-close:hover{background-color:#ffffff1a}.room-info-box{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin:0;padding:20px 30px}.room-info-box h3{font-size:22px;font-weight:600;margin:0 0 10px}.room-info-details{display:flex;font-size:14px;gap:20px}.room-info-details span{align-items:center;display:flex;gap:5px}.booking-form{padding:30px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:12px 15px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.booking-rules{background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin:20px 0;padding:15px}.rules-title{color:#1976d2;font-size:14px;font-weight:600;margin:0 0 10px}.booking-rules ul{margin:0;padding-left:20px}.booking-rules li{color:#555;font-size:13px;margin-bottom:5px}.error-message{align-items:center;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:15px}.error-icon{font-size:20px}.success-message{animation:fadeIn .5s ease;padding:30px;text-align:center}.success-icon{align-items:center;animation:scaleIn .5s ease;background-color:#28a745;border-radius:50%;color:#fff;display:flex;font-size:48px;height:80px;justify-content:center;margin:0 auto 20px;width:80px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-message h3{color:#28a745;font-size:28px;margin:0 0 15px}.booking-id{background-color:#f8f9fa;border-radius:6px;color:#555;font-size:14px;margin:15px 0;padding:10px 15px}.booking-id strong{color:#2c3e50;font-family:Courier New,monospace}.confirmation-details{background-color:#f8f9fa;border-radius:6px;margin:20px 0;padding:15px}.confirmation-details p{color:#555;font-size:14px;margin:8px 0}.success-note{color:#6c757d;font-size:13px;font-style:italic;margin-top:20px}.form-actions{display:flex;gap:15px;margin-top:30px}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-cancel{background-color:#6c757d;color:#fff}.btn-cancel:hover:not(:disabled){background-color:#545b62}.btn-submit{background-color:#28a745;color:#fff}.btn-submit:hover:not(:disabled){background-color:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.modal-content{max-height:95vh;width:95%}.modal-header{padding:20px}.modal-header h2{font-size:20px}.room-info-box{padding:15px 20px}.booking-form{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.success-icon{font-size:36px;height:60px;width:60px}.success-message h3{font-size:22px}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1}.modal-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#555}.room-list-container{margin:0 auto;max-width:1200px;padding:20px}.room-list-container h2{color:#2c3e50;font-size:28px;margin-bottom:30px}.filters{align-items:flex-end;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px;padding:20px}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{color:#555;font-size:14px;font-weight:600}.filter-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:150px;padding:10px}.filter-group input:focus{border-color:#007bff;outline:none}.btn-book,.btn-primary,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-book{background-color:#28a745;color:#fff;margin-top:15px;width:100%}.btn-book:hover:not(:disabled){background-color:#218838}.btn-book:disabled{background-color:#ccc;cursor:not-allowed}.rooms-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.room-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.room-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-5px)}.room-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.room-header h3{color:#2c3e50;font-size:20px;margin:0}.status{border-radius:20px;font-size:12px;font-weight:600;padding:5px 12px}.status.available{background-color:#d4edda;color:#155724}.status.unavailable{background-color:#f8d7da;color:#721c24}.room-details{margin-bottom:15px}.room-details p{color:#555;font-size:14px;margin:10px 0}.room-details strong{color:#333}.amenities{margin-top:15px}.amenities strong{color:#333;display:block;margin-bottom:8px}.amenity-tags{display:flex;flex-wrap:wrap;gap:8px}.amenity-tag{background-color:#e3f2fd;border-radius:16px;color:#1976d2;font-size:12px;font-weight:500;padding:5px 12px}.loading{color:#666;font-size:18px;padding:50px}.error,.loading{text-align:center}.error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;margin:20px;padding:20px}@media (max-width:768px){.filters{align-items:stretch;flex-direction:column}.filter-group input{width:100%}.rooms-grid{grid-template-columns:1fr}.btn-primary,.btn-secondary{width:100%}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{display:flex;flex-direction:column;min-height:100vh}.navbar{background-color:#2c3e50;box-shadow:0 2px 4px #0000001a}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.nav-logo{color:#fff;font-size:24px;font-weight:700;padding:20px 0;text-decoration:none}.nav-logo:hover{color:#3498db}.nav-menu{display:flex;gap:10px;list-style:none}.nav-item{margin:0}.nav-link{color:#fff;display:block;padding:20px;text-decoration:none;transition:background-color .3s ease}.nav-link:hover{background-color:#34495e}.main-content{flex:1 1;padding:20px;width:100%}.footer{background-color:#2c3e50;color:#fff;margin-top:auto;padding:20px;text-align:center}@media (max-width:768px){.nav-container,.nav-menu{flex-direction:column}.nav-menu{gap:0;width:100%}.nav-link{border-top:1px solid #34495e;text-align:center}}
/*# sourceMappingURL=main.4f0f8541.css.map*/