:root{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#1e3a8a,#0f172a 60%)}#root{min-height:100vh}a{color:inherit}button{font-family:inherit}#root{min-height:100vh;background:linear-gradient(135deg,#e0f2ff,#fff,#f8fafc);color:#0f172a}.auth-page{min-height:100vh;padding-top:70px;display:flex;align-items:center;justify-content:center;padding:calc(70px + 3rem) 1rem 3rem}.auth-form{width:min(420px,100%);background:#fff}.panel{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 20px 45px #0f172a1a;margin-bottom:1.5rem}.panel label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;margin-bottom:.9rem}.panel input,.panel select{border:1px solid #cbd5f5;padding:.75rem;border-radius:12px;font-size:1rem}button,.link{border:none;border-radius:12px;padding:.75rem 1.5rem;background:#2563eb;color:#fff;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}button:hover{transform:translateY(-1px);box-shadow:0 12px 20px #2563eb33}button:disabled{opacity:.6;cursor:not-allowed}.link{background:none;color:#2563eb;padding:0}.muted{color:#64748b;font-size:.9rem}.banner{padding:1rem;border-radius:12px;background:#e0e7ff;color:#1e3a8a;margin-bottom:1rem}.error{color:#b91c1c;background:#fee2e2;padding:.5rem .75rem;border-radius:8px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.flight-list{display:grid;gap:1rem}.flight-list--compact{list-style:none;padding:0;margin:1rem 0 0}.flight-list--compact li{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #e2e8f0}.flight-card{border:1px solid #e2e8f0;border-radius:16px;padding:1rem 1.25rem;background:#fff;box-shadow:0 12px 25px #0f172a14}.flight-card.selected{border-color:#2563eb;box-shadow:0 18px 35px #2563eb40}.flight-card header{display:flex;justify-content:space-between;align-items:center}.flight-card__body{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.75rem 0}.flight-card__arrow{font-size:1.5rem;text-align:center;align-self:center}.flight-card footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.seat-picker{margin-top:1rem}.seat-picker header{display:flex;justify-content:space-between;margin-bottom:.5rem}.seat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.35rem}.seat{padding:.5rem 0;border-radius:8px;border:none;font-weight:600;background:#e2e8f0;color:#0f172a}.seat.business{background:#fed7aa}.seat.selected{background:#2563eb;color:#fff}.seat.reserved{background:#cbd5f5;color:#475569;text-decoration:line-through}.booking-list{display:grid;gap:1rem}.app-shell{max-width:1280px;margin:0 auto;padding:2rem 1.5rem 3rem}.app-shell__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.app-shell__nav{display:flex;gap:1rem;margin-bottom:1.5rem}.app-shell__nav a{padding:.5rem 1rem;border-radius:999px;background:#e2e8f0;font-weight:600;color:#0f172a}.user-chip{display:flex;gap:1rem;align-items:center}.user-chip button{background:#0f172a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:16px;padding:1rem;box-shadow:0 12px 25px #0f172a14}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:#f1f5f9}th,td{text-align:left;padding:.75rem;border-bottom:1px solid #e2e8f0;font-size:.9rem}.spinner{width:48px;height:48px;border:4px solid #cbd5f5;border-top-color:#2563eb;border-radius:50%;margin:2rem auto;animation:spin 1s linear infinite}.screen-center{min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center}@keyframes spin{to{transform:rotate(360deg)}}.navbar{position:fixed;top:0;left:0;right:0;background:#fff;box-shadow:0 2px 10px #0000001a;z-index:1000}.navbar-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.navbar-brand{text-decoration:none;color:#2563eb}.navbar-brand h2{margin:0;font-size:1.5rem}.navbar-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#0f172a}.navbar-menu{display:flex;list-style:none;gap:2rem;margin:0;padding:0;align-items:center}.navbar-menu li a{text-decoration:none;color:#0f172a;font-weight:500;transition:color .2s}.navbar-menu li a:hover{color:#2563eb}.navbar-menu .btn-primary{background:#2563eb;color:#fff;padding:.5rem 1.5rem;border-radius:8px;text-decoration:none}.navbar-menu .btn-primary:hover{background:#1d4ed8;color:#fff}.home-page{padding-top:70px}.hero{background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;padding:6rem 2rem;text-align:center}.hero-content h1{font-size:3.5rem;margin-bottom:1rem;font-weight:700}.hero-content p{font-size:1.25rem;margin-bottom:2rem;opacity:.9}.btn-hero{display:inline-block;background:#fff;color:#2563eb;padding:1rem 2.5rem;border-radius:12px;text-decoration:none;font-weight:600;font-size:1.1rem;transition:transform .2s,box-shadow .2s}.btn-hero:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0003}.section{padding:4rem 2rem}.section h2{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#0f172a}.container{max-width:1200px;margin:0 auto}.safety-section{background:#f8fafc}.safety-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.safety-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 15px #0000001a;text-align:center;transition:transform .2s}.safety-card:hover{transform:translateY(-5px)}.safety-icon{font-size:3rem;margin-bottom:1rem}.safety-card h3{color:#2563eb;margin-bottom:1rem}.safety-standards{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 15px #0000001a;margin-top:2rem}.safety-standards h3{color:#0f172a;margin-bottom:1rem}.safety-standards ul{list-style:none;padding:0}.safety-standards li{padding:.75rem 0;font-size:1.1rem;color:#475569}.services-section{background:#fff}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.service-card{background:linear-gradient(135deg,#e0f2ff,#fff);padding:2rem;border-radius:16px;text-align:center;box-shadow:0 4px 15px #0000001a}.service-card h3{color:#2563eb;margin-bottom:1rem}.about-section{background:#f8fafc}.about-content{text-align:center}.about-content p{font-size:1.1rem;line-height:1.8;color:#475569;max-width:800px;margin:0 auto 2rem}.about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:3rem}.stat-item{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 15px #0000001a}.stat-item h3{font-size:2.5rem;color:#2563eb;margin-bottom:.5rem}.stat-item p{color:#64748b;font-weight:500}.contact-section{background:#fff}.contact-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem}.contact-info h3{color:#2563eb;margin-bottom:1.5rem}.contact-info p{font-size:1.1rem;margin-bottom:1rem;color:#475569}.contact-form{background:#f8fafc;padding:2rem;border-radius:16px}.contact-form h3{color:#2563eb;margin-bottom:1.5rem}.contact-form input,.contact-form textarea{width:100%;padding:.75rem;margin-bottom:1rem;border:1px solid #cbd5f5;border-radius:8px;font-size:1rem;font-family:inherit}.contact-form textarea{resize:vertical}.footer{background:#0f172a;color:#fff;padding:2rem;text-align:center}.footer p{margin:.5rem 0}html{scroll-behavior:smooth}@media(max-width:768px){.navbar-toggle{display:block}.navbar-menu{position:fixed;top:70px;left:-100%;width:100%;background:#fff;flex-direction:column;padding:2rem;box-shadow:0 4px 10px #0000001a;transition:left .3s}.navbar-menu.active{left:0}.hero-content h1{font-size:2.5rem}.section{padding:3rem 1rem}.safety-grid,.services-grid,.contact-content{grid-template-columns:1fr}}.dashboard-page{min-height:100vh;background:#f8fafc}.dashboard-navbar{background:#fff;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.dashboard-navbar .navbar-menu a{padding:.75rem 1.25rem;text-decoration:none;color:#64748b;font-weight:500;border-radius:8px;transition:all .2s;position:relative}.dashboard-navbar .navbar-menu a:hover{color:#2563eb;background:#eff6ff}.dashboard-navbar .navbar-menu a.active{color:#2563eb;background:#dbeafe;font-weight:600}.dashboard-navbar .navbar-menu a.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80%;height:3px;background:#2563eb;border-radius:2px 2px 0 0}.dashboard-container{max-width:1400px;margin:0 auto;padding:2rem}.dashboard-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #e2e8f0}.dashboard-tabs button{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s}.dashboard-tabs button.active{color:#2563eb;border-bottom-color:#2563eb}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-actions{display:flex;gap:1rem}.btn-secondary{background:#64748b;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600}.btn-danger{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer}.btn-back{background:#64748b;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer}.message-banner{padding:1rem;border-radius:8px;margin-bottom:1.5rem;background:#e0f2ff;color:#1e3a8a}.flight-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.flight-card-admin{position:relative}.flight-actions{margin-top:.5rem;display:flex;gap:.5rem}.filter-tabs{display:flex;gap:.5rem}.filter-tabs button{padding:.5rem 1rem;background:#e2e8f0;border:none;border-radius:8px;cursor:pointer;font-weight:500}.filter-tabs button.active{background:#2563eb;color:#fff}.role-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600}.role-badge.admin{background:#dbeafe;color:#1e40af}.role-badge.traveler{background:#f3f4f6;color:#374151}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-top:2rem}.chart-card{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 15px #0000001a}.chart-card h3{margin-bottom:1rem;color:#0f172a}.manual-content{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 15px #0000001a}.manual-content section{margin-bottom:3rem}.manual-content h2{color:#2563eb;margin-bottom:1rem}.manual-content h3{color:#0f172a;margin-top:1.5rem;margin-bottom:.75rem}.manual-content ul,.manual-content ol{margin-left:1.5rem;line-height:1.8}.manual-editor{width:100%;padding:1rem;border:2px solid #cbd5f5;border-radius:8px;font-size:.95rem;font-family:Courier New,monospace;line-height:1.6;resize:vertical;min-height:500px;transition:border-color .2s}.manual-editor:focus{outline:none;border-color:#2563eb}.manual-editor::placeholder{color:#94a3b8}.booking-content{display:grid;grid-template-columns:1fr 400px;gap:2rem;margin-top:2rem}.booking-left{display:flex;flex-direction:column;gap:2rem}.booking-right{position:sticky;top:100px;height:fit-content}.flight-summary{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 15px #0000001a}.flight-summary h3{margin-bottom:1rem;color:#2563eb}.flight-summary p{margin:.5rem 0;color:#475569}.seat-picker-live{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #0000001a}.seat-picker-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.seat-count-selector{display:flex;align-items:center;gap:1rem;margin-top:1rem;font-weight:500}.seat-count-selector input{width:80px;padding:.5rem;border:2px solid #cbd5f5;border-radius:8px;font-size:1rem}.seat-selection-info{text-align:right}.selected-count{font-size:1.1rem;margin-bottom:.5rem}.selected-seats-preview{margin-top:1rem}.seat-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.seat-badge{background:#2563eb;color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.9rem}.airplane-cabin{background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:2rem;border-radius:16px;margin:2rem 0}.cabin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.cabin-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#475569}.legend-seat{width:24px;height:24px;border-radius:6px;border:2px solid #cbd5f5}.legend-seat.available{background:#e2e8f0;border-color:#94a3b8}.legend-seat.selected{background:#2563eb;border-color:#1d4ed8}.legend-seat.reserved{background:#cbd5f5;border-color:#94a3b8;opacity:.5}.legend-seat.business{background:#fed7aa;border-color:#fb923c}.seat-grid-live{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem;max-width:600px;margin:0 auto;padding:1rem;background:#fff;border-radius:12px}.seat-wrapper{position:relative}.aisle-spacer{grid-column:span 1;display:flex;align-items:center;justify-content:center;font-weight:600;color:#94a3b8;font-size:.75rem}.seat-live{width:100%;aspect-ratio:1;border:2px solid #cbd5f5;border-radius:8px;background:#f1f5f9;color:#0f172a;font-weight:600;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:.25rem}.seat-live:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #2563eb4d}.seat-live.economy{background:#f1f5f9;border-color:#cbd5f5}.seat-live.business{background:#fed7aa;border-color:#fb923c}.seat-live.selected{background:#2563eb;border-color:#1d4ed8;color:#fff;box-shadow:0 4px 12px #2563eb66}.seat-live.reserved{background:#cbd5f5;border-color:#94a3b8;opacity:.5;cursor:not-allowed}.seat-live:disabled{cursor:not-allowed;opacity:.5}.seat-number{font-size:.85rem}.seat-class-badge{position:absolute;top:2px;right:2px;background:#fb923c;color:#fff;font-size:.6rem;padding:.1rem .3rem;border-radius:4px;font-weight:700}.seat-summary{background:#fff;padding:1.5rem;border-radius:12px;margin-top:1.5rem;box-shadow:0 2px 10px #0000001a}.summary-details{margin-top:1rem}.summary-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e2e8f0}.summary-row:last-child{border-bottom:none}.payment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.payment-content{display:grid;grid-template-columns:400px 1fr;gap:2rem}.booking-summary-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #0000001a;position:sticky;top:100px;height:fit-content}.booking-summary-card h2{color:#2563eb;margin-bottom:1.5rem}.summary-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.summary-section:last-child{border-bottom:none}.summary-section h3{color:#0f172a;font-size:1rem;margin-bottom:1rem}.summary-item{display:flex;justify-content:space-between;margin:.5rem 0;color:#475569}.summary-item.total{margin-top:1rem;padding-top:1rem;border-top:2px solid #e2e8f0;font-size:1.1rem}.total-price{color:#2563eb;font-size:1.5rem}.selected-seats-display{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.seat-tag{background:#2563eb;color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:600}.payment-form-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #0000001a}.payment-form-card h2{color:#2563eb;margin-bottom:1.5rem}.payment-section{margin-top:2rem;padding-top:2rem;border-top:2px solid #e2e8f0}.payment-section h3{color:#0f172a;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#0f172a}.form-group input{width:100%;padding:.75rem;border:2px solid #cbd5f5;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#2563eb}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn-pay{width:100%;padding:1rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;margin-top:1.5rem;transition:transform .2s,box-shadow .2s}.btn-pay:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #2563eb66}.btn-pay:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee2e2;color:#b91c1c;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.seat-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.flight-info{color:#64748b;margin-top:.5rem}.seat-selection-content{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #0000001a;margin-bottom:2rem}.seat-selection-footer{background:#fff;padding:1.5rem 2rem;border-radius:16px;box-shadow:0 4px 20px #0000001a;display:flex;justify-content:space-between;align-items:center}.selection-summary{display:flex;gap:2rem}.price-highlight{color:#2563eb;font-size:1.5rem}.btn-continue{padding:1rem 2rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-continue:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #2563eb66}.btn-continue:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1024px){.booking-content{grid-template-columns:1fr}.booking-right{position:static}.charts-grid,.payment-content{grid-template-columns:1fr}.booking-summary-card{position:static}.seat-selection-footer{flex-direction:column;gap:1rem;align-items:stretch}.selection-summary{flex-direction:column;gap:1rem}}.booking-actions-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #0000001a;position:sticky;top:100px;height:fit-content}.booking-actions-card h3{color:#2563eb;margin-bottom:1.5rem;font-size:1.25rem}.booking-summary-info{margin-bottom:1.5rem}.booking-summary-info .summary-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e2e8f0;color:#475569}.booking-summary-info .summary-row:last-child{border-bottom:none}.booking-summary-info .summary-row.total{margin-top:1rem;padding-top:1rem;border-top:2px solid #e2e8f0;font-size:1.1rem;font-weight:600;color:#0f172a}.booking-summary-info .summary-row.total strong{color:#2563eb;font-size:1.25rem}.btn-proceed{width:100%;padding:1rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:1rem}.btn-proceed:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #2563eb66}.btn-proceed:disabled{opacity:.5;cursor:not-allowed;transform:none}.selection-warning{color:#dc2626;font-size:.9rem;margin-top:.75rem;text-align:center;padding:.5rem;background:#fee2e2;border-radius:8px}.message-banner.success{background:#d1fae5;color:#065f46}.message-banner.error{background:#fee2e2;color:#991b1b}.price-breakdown{margin-top:1rem}.price-row{display:flex;justify-content:space-between;padding:.5rem 0;color:#475569}.price-row.total{margin-top:1rem;padding-top:1rem;border-top:2px solid #e2e8f0;font-size:1.2rem;font-weight:600;color:#0f172a}.price-row.total span:last-child{color:#2563eb;font-size:1.5rem}.summary-item .label{color:#64748b;font-weight:500}.summary-item .value{color:#0f172a;font-weight:600}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:16px;box-shadow:0 4px 15px #0000001a}.empty-state-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{color:#2563eb;margin-bottom:.5rem}.empty-state p{color:#64748b;margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.payment-form{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #0000001a}.payment-form h2{color:#2563eb;margin-bottom:1.5rem;font-size:1.5rem}.message-banner{padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;font-weight:500;display:flex;align-items:center;gap:.5rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.booking-header h1{margin:0;color:#0f172a}.booking-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 15px #0000001a;margin-bottom:1.5rem;transition:transform .2s,box-shadow .2s}.booking-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.booking-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.booking-card-header h3{margin:0 0 .5rem;color:#2563eb;font-size:1.5rem}.booking-route{color:#64748b;font-size:1rem;margin:0}.status-badge{padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.85rem;text-transform:uppercase}.status-badge.confirmed{background:#d1fae5;color:#065f46}.status-badge.cancelled{background:#fee2e2;color:#991b1b}.booking-card-body{margin-bottom:1rem}.booking-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.booking-detail{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.85rem;color:#64748b;font-weight:500}.detail-value{font-size:1rem;color:#0f172a;font-weight:600}.detail-value.price{color:#2563eb;font-size:1.1rem}.detail-value.seat-numbers{display:flex;flex-wrap:wrap;gap:.5rem}.seat-chip{background:#2563eb;color:#fff;padding:.25rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600}.payment-status{padding:.25rem .75rem;border-radius:6px;font-size:.85rem;display:inline-block}.payment-status.paid{background:#d1fae5;color:#065f46}.payment-status.pending{background:#fef3c7;color:#92400e}.booking-meta{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0;font-size:.9rem;color:#64748b}.booking-meta p{margin:.5rem 0}.booking-card-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end}.btn-cancel-booking{background:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.btn-cancel-booking:hover{background:#b91c1c}.payment-method-selector{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.payment-method-btn{padding:1rem;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.payment-method-btn:hover{border-color:#2563eb;background:#eff6ff}.payment-method-btn.active{border-color:#2563eb;background:#dbeafe;color:#2563eb}.traveler-info-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.traveler-details-display{background:#f8fafc;padding:1rem;border-radius:8px;margin-top:1rem}.traveler-detail-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.traveler-detail-item:last-child{border-bottom:none}.traveler-detail-item .detail-label{color:#64748b;font-weight:500}.traveler-detail-item .detail-value{color:#0f172a;font-weight:600}.upi-qr-section{margin-top:1rem}.upi-qr-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.upi-qr-code{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 15px #0000001a;text-align:center;min-width:280px}.qr-placeholder{width:250px;height:250px;margin:0 auto 1rem;background:#fff;border:3px solid #2563eb;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.qr-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;width:100%;height:100%;padding:10px}.qr-cell{background:#e2e8f0;border-radius:2px}.qr-cell.filled{background:#0f172a}.qr-amount{font-size:1.5rem;font-weight:700;color:#2563eb;margin:.5rem 0}.qr-upi-id{font-size:1rem;color:#64748b;margin:0;font-weight:600}.upi-instructions{background:#f8fafc;padding:1.5rem;border-radius:12px;text-align:left;max-width:400px}.upi-instructions h3{color:#2563eb;margin-bottom:1rem;font-size:1.1rem}.upi-instructions ol{margin-left:1.5rem;line-height:1.8;color:#475569}.upi-instructions li{margin-bottom:.5rem}@media(max-width:768px){.payment-method-selector{grid-template-columns:1fr}.upi-qr-code{min-width:auto;width:100%}.qr-placeholder{width:200px;height:200px}}
