*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#1a5f7a;--secondary-color:#159895;--accent-color:#57c5b6;--text-dark:#2c3e50;--text-light:#7f8c8d;--bg-light:#fff;--bg-gradient:linear-gradient(135deg,#1a5f7a,#159895 50%,#57c5b6);--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 8px #0000001f;--shadow-lg:0 8px 16px #00000026}.login-container{align-items:center;background:linear-gradient(135deg,#1a5f7a,#159895 50%,#57c5b6);display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:450px;overflow:hidden;width:100%}.login-header{background:linear-gradient(135deg,#1a5f7a,#159895);color:#fff;padding:2.5rem 2rem;text-align:center}.login-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.login-header p{font-size:1rem;opacity:.9}.login-form{padding:2rem}.login-btn{background:linear-gradient(135deg,#1a5f7a,#159895);border:none;border-radius:8px;box-shadow:0 4px 12px #1598954d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.login-btn:hover:not(:disabled){box-shadow:0 6px 20px #15989566;transform:translateY(-2px)}.login-btn:disabled{cursor:not-allowed;opacity:.7}.login-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:1.5rem 2rem 2rem;text-align:center}.login-footer a{color:#159895;font-weight:600;text-decoration:none}.login-footer a:hover{text-decoration:underline}.test-credentials{background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;margin-top:1.5rem;padding:1rem}.test-credentials p{color:#856404;font-size:.9rem;margin:.25rem 0}.test-credentials strong{color:#664d03}.register-container{align-items:center;background:linear-gradient(135deg,#1a5f7a,#159895 50%,#57c5b6);display:flex;justify-content:center;min-height:100vh;padding:2rem}.register-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;overflow:hidden;width:100%}.register-header{background:linear-gradient(135deg,#1a5f7a,#159895);color:#fff;padding:2.5rem 2rem;text-align:center}.register-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.register-header p{font-size:1rem;opacity:.9}.register-form{padding:2rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e50;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.875rem 1rem;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#159895;box-shadow:0 0 0 3px #1598951a;outline:none}.register-btn{background:linear-gradient(135deg,#1a5f7a,#159895);border:none;border-radius:8px;box-shadow:0 4px 12px #1598954d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.register-btn:hover:not(:disabled){box-shadow:0 6px 20px #15989566;transform:translateY(-2px)}.register-btn:disabled{cursor:not-allowed;opacity:.7}.error-message{background:#fee;border-left:4px solid #c33;border-radius:8px;color:#c33;margin:0 2rem 1rem;padding:1rem}.register-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;padding:1.5rem 2rem 2rem;text-align:center}.register-footer a{color:#159895;font-weight:600;text-decoration:none}.register-footer a:hover{text-decoration:underline}.dashboard-page{padding:2rem}.page-header h1{font-size:2.5rem;font-weight:700}.page-header p{font-size:1.1rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;gap:1.5rem;padding:1.5rem;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.stat-icon{font-size:2.5rem;opacity:.9}.stat-content h3{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-content p{color:#7f8c8d;font-size:.95rem;font-weight:500}.dashboard-info{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:2rem}.info-card h2{color:#2c3e50;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.status-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.status-item{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:10px;padding:1.5rem;text-align:center}.status-label{color:#7f8c8d;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.status-value{display:block;font-size:2rem;font-weight:700}.status-value.confirmed{color:#27ae60}.status-value.pending{color:#f39c12}.error,.loading{color:#7f8c8d;font-size:1.2rem;padding:3rem;text-align:center}.error{color:#e74c3c}.flights-page{padding:2rem}.page-header{flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.page-header,.page-header h1{align-items:center;display:flex}.page-header h1{color:#2c3e50;font-size:2rem;gap:.75rem;margin-bottom:.5rem}.page-header p{color:#7f8c8d;font-size:1rem}.btn-add{align-items:center;background:linear-gradient(135deg,#1a5f7a,#159895);border:none;border-radius:10px;box-shadow:0 4px 12px #1598954d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 1.75rem;transition:all .3s ease}.btn-add:hover{box-shadow:0 6px 20px #15989566;transform:translateY(-2px)}.flights-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.flight-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:1.5rem;transition:all .3s ease}.flight-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.flight-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.flight-header h3{color:#2c3e50;font-size:1.5rem;font-weight:700}.flight-class{background:linear-gradient(135deg,#1a5f7a,#159895);border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;padding:.5rem 1rem}.flight-route{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.route-point{display:flex;flex-direction:column;gap:.25rem}.route-label{color:#7f8c8d;font-size:.8rem;font-weight:600}.route-value{color:#2c3e50;font-size:1.25rem;font-weight:700}.route-time{color:#159895;font-size:.9rem;font-weight:600}.route-arrow{color:#159895;font-size:2rem;font-weight:700}.flight-info{grid-gap:1rem;background:#f8f9fa;border-radius:8px;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem;padding:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item span{color:#7f8c8d;font-size:.85rem}.info-item strong{color:#2c3e50;font-size:1.1rem}.flight-pricing{grid-gap:.75rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:8px;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem;padding:1rem}.price-item{gap:.25rem;text-align:center}.price-item span{color:#7f8c8d;font-size:.8rem}.price-item strong{color:#159895;font-size:1rem;font-weight:700}.flight-actions{display:flex;gap:.75rem}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;padding:2rem;width:90%}.modal-content h2{color:#2c3e50;font-size:1.75rem;margin-bottom:1.5rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.form-grid input,.form-grid select{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.875rem;transition:all .3s ease}.form-grid input:focus,.form-grid select:focus{border-color:#159895;box-shadow:0 0 0 3px #1598951a;outline:none}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1.75rem;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#1a5f7a,#159895);color:#fff}.btn-primary:hover{box-shadow:0 4px 12px #1598954d;transform:translateY(-2px)}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.loading{color:#7f8c8d;font-size:1.2rem;padding:3rem;text-align:center}.hotels-page{padding:2rem}.hotels-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.hotel-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden;transition:all .3s ease}.hotel-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.hotel-image{background-position:50%;background-size:cover;height:200px;position:relative}.hotel-category{background:linear-gradient(135deg,#1a5f7a,#159895);border-radius:20px;box-shadow:0 2px 8px #0003;color:#fff;font-size:.85rem;font-weight:600;padding:.5rem 1rem;position:absolute;right:1rem;top:1rem}.hotel-content{padding:1.5rem}.hotel-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.hotel-header h3{color:#2c3e50;flex:1 1;font-size:1.5rem;font-weight:700}.hotel-rating{background:#ffc107;border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;gap:.25rem;padding:.5rem .75rem}.hotel-location,.hotel-rating{align-items:center;display:flex}.hotel-location{color:#159895;font-weight:600;gap:.5rem;margin-bottom:.5rem}.hotel-distance{color:#7f8c8d;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1rem}.hotel-description{color:#7f8c8d;line-height:1.6;margin-bottom:1rem}.hotel-amenities{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.amenity-badge{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:15px;color:#2c3e50;font-size:.8rem;font-weight:600;padding:.4rem .75rem}.hotel-actions{display:flex;gap:.75rem}.btn-delete,.btn-edit{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;transition:all .3s ease}.btn-edit{background:#3498db;color:#fff}.btn-edit:hover{background:#2980b9;transform:translateY(-2px)}.packages-page{padding:2rem}.packages-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(450px,1fr))}.package-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden;position:relative;transition:all .3s ease}.package-card.featured{border:3px solid #ffc107}.package-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.featured-badge{align-items:center;background:#ffc107;border-radius:20px;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:.9rem;font-weight:700;gap:.5rem;padding:.5rem 1rem;position:absolute;right:1rem;top:1rem;z-index:10}.package-image{background-position:50%;background-size:cover;height:250px}.package-content{padding:2rem}.package-content h3{color:#2c3e50;font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.package-duration{color:#159895;font-size:1rem;font-weight:600;margin-bottom:1rem}.package-description{color:#7f8c8d;line-height:1.6;margin-bottom:1.5rem}.package-inclusions{margin-bottom:1.5rem}.package-inclusions h4{color:#2c3e50;font-size:1.1rem;margin-bottom:.75rem}.package-inclusions ul{list-style:none;padding:0}.package-inclusions li{align-items:center;border-bottom:1px solid #f0f0f0;color:#7f8c8d;display:flex;padding:.5rem 0}.package-inclusions li:before{color:#159895;content:"✓";font-size:1.2rem;font-weight:700;margin-right:.75rem}.package-pricing h4{color:#2c3e50;font-size:1.1rem;margin-bottom:1rem}.pricing-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.price-item{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.price-item .category{color:#7f8c8d;font-size:.85rem;font-weight:600}.price-item .price{color:#159895;font-size:1.5rem;font-weight:700}.bookings-page{padding:2rem}.bookings-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden}.bookings-table{border-collapse:collapse;width:100%}.bookings-table thead{background:linear-gradient(135deg,#1a5f7a,#159895);color:#fff}.bookings-table th{font-size:.95rem;font-weight:600;padding:1rem;text-align:left}.bookings-table td{border-bottom:1px solid #f0f0f0;padding:1rem}.bookings-table tbody tr:hover{background:#f8f9fa}.email{color:#7f8c8d;font-size:.85rem;margin-top:.25rem}.type-badge{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);color:#2c3e50}.status-badge,.type-badge{border-radius:15px;font-size:.85rem;font-weight:600;padding:.4rem .75rem}.status-badge{text-transform:capitalize}.status-badge.confirmed{background:#d4edda;color:#155724}.status-badge.pending{background:#fff3cd;color:#856404}.action-buttons{display:flex;gap:.5rem}.btn-delete-small{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.5rem .75rem;transition:all .3s ease}.btn-delete-small:hover{background:#c0392b;transform:scale(1.05)}.vendors-page{padding:2rem}.vendors-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.vendor-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:2rem;transition:all .3s ease}.vendor-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.vendor-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.vendor-header h3{color:#2c3e50;font-size:1.5rem;font-weight:700}.vendor-type{border-radius:20px;font-size:.85rem;font-weight:600;padding:.5rem 1rem}.vendor-type.main-vendor{background:linear-gradient(135deg,#1a5f7a,#159895);color:#fff}.vendor-type.sub-vendor{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);color:#2c3e50}.vendor-info{margin-bottom:1.5rem}.info-row{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.75rem 0}.info-row .label{color:#7f8c8d;font-size:.9rem;font-weight:600}.info-row .value{color:#2c3e50;font-weight:500}.status{border-radius:15px;font-size:.85rem;font-weight:600;padding:.3rem .75rem}.status.active{background:#d4edda;color:#155724}.vendor-services{margin-bottom:1.5rem}.vendor-services h4{color:#2c3e50;font-size:1rem;margin-bottom:.75rem}.services-list{display:flex;flex-wrap:wrap;gap:.5rem}.service-badge{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:15px;color:#2c3e50;font-size:.8rem;font-weight:600;padding:.4rem .75rem}.vendor-actions{display:flex;gap:.75rem}.btn-delete{align-items:center;background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;transition:all .3s ease}.btn-delete:hover{background:#c0392b;transform:translateY(-2px)}.sidebar{background:linear-gradient(180deg,#1a5f7a,#159895 50%,#57c5b6);box-shadow:4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1000}.sidebar.closed{width:80px}.sidebar-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000001a;border-bottom:1px solid #ffffff1a;padding:2rem 1.5rem;position:relative}.logo-text{color:#fff;font-size:1.5rem;font-weight:700;text-shadow:2px 2px 4px #0003;transition:opacity .3s ease;white-space:nowrap}.sidebar.closed .logo-text{opacity:0;overflow:hidden;width:0}.hamburger-btn{align-items:center;background:#ffffff26;border:none;border-radius:8px;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:45px;justify-content:center;padding:.75rem;position:absolute;right:1.5rem;top:2rem;transition:all .3s ease;width:45px}.hamburger-btn:hover{background:#ffffff40;transform:scale(1.05)}.sidebar.closed .hamburger-btn{left:50%;margin:0;position:absolute;right:auto;top:50%;transform:translate(-50%,-50%)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1.5rem 0}.sidebar.closed .sidebar-nav{opacity:0;pointer-events:none}.nav-item{align-items:center;border-radius:10px;color:#ffffffd9;display:flex;font-weight:500;margin:.25rem 1rem;padding:1rem 1.5rem;text-decoration:none;transition:all .3s ease}.nav-item:hover{background:#ffffff26;color:#fff;transform:translateX(5px)}.nav-item.active{background:#ffffff40;box-shadow:0 4px 12px #0003;color:#fff;font-weight:600}.nav-icon{align-items:center;display:flex;font-size:1.25rem;justify-content:center;min-width:30px}.nav-text{margin-left:1rem;white-space:nowrap}.sidebar-footer{background:#0000001a;border-top:1px solid #ffffff1a;padding:1.5rem}.logout-btn{align-items:center;background:#ffffff1a;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.logout-btn:hover{background:#ff4d4d4d;transform:translateX(5px)}.logout-btn svg{font-size:1.25rem;min-width:30px}.sidebar.closed .logout-btn .nav-text{opacity:0;overflow:hidden;width:0}@media (max-width:768px){.sidebar{transform:translateX(-100%);width:280px}.sidebar.open{transform:translateX(0)}.sidebar.closed{transform:translateX(-100%);width:280px}}.app-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;min-height:100vh}.main-content{flex:1 1;margin-left:280px;min-height:100vh;padding:2rem;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.main-content.sidebar-closed{margin-left:80px}@media (max-width:768px){.main-content{margin-left:0;padding:1rem}.main-content.sidebar-closed{margin-left:0}}