.route-mileage-by-program{margin-top:8px}.mileage-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.mileage-section-header-left{flex:1}.mileage-section-title{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 8px}.mileage-section-title-program{font-weight:400;color:#64748b;margin-left:6px}.mileage-section-content{margin-bottom:16px}.mileage-section-description{font-size:14px;color:#475569;margin:0 0 12px;line-height:1.6}.mileage-section-list{margin:0 0 12px;padding:0 0 0 20px;font-size:13px;color:#475569;line-height:1.7}.mileage-section-list li{margin-bottom:8px}.mileage-section-list li strong{color:#1e40af}.mileage-section-efficiency-note{font-size:13px;color:#059669;margin:0 0 12px;padding:10px 14px;background:transparent;border-left:3px solid #10b981;line-height:1.6}.mileage-section-alliance-box{margin:0;padding:10px 14px;background:transparent;border-left:3px solid #6366f1}.mileage-section-alliance-note{font-size:13px;color:#6366f1;margin:0;line-height:1.6}.mileage-program-links{margin-left:4px}.mileage-program-link{color:#4f46e5;text-decoration:underline;font-weight:500;cursor:pointer}.mileage-program-link:hover{color:#3730a3}.mileage-table-wrapper{overflow-x:auto;margin-top:20px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.mileage-table{width:100%;border-collapse:collapse;font-size:14px}.mileage-table th{padding:14px 16px;text-align:right;font-weight:600;font-size:12px;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.mileage-table th:first-child{border-radius:12px 0 0}.mileage-table th:last-child{border-radius:0 12px 0 0}.mileage-th-cabin{text-align:left!important;min-width:120px}.mileage-th-price{min-width:150px}.mileage-th-points,.mileage-th-miles{min-width:110px;color:#2563eb!important}.mileage-th-efficiency{font-size:11px;color:#94a3b8!important;min-width:90px}.mileage-table tbody tr{transition:background .15s ease}.mileage-table tbody tr:hover{background:#f8fafc}.mileage-table td{padding:14px 16px;text-align:right;border-bottom:1px solid #f1f5f9}.mileage-table tbody tr:last-child td{border-bottom:none}.mileage-cell-cabin{text-align:left;font-weight:600;color:#1e293b}.mileage-cell-price{font-weight:500;color:#475569}.mileage-cell-points{font-weight:700;color:#1e40af}.mileage-cell-miles{font-weight:600;color:#374151}.mileage-cell-efficiency{font-size:13px;color:#64748b}.mileage-article-link{margin-top:16px}.mileage-article-link a{display:inline-flex;align-items:center;gap:6px;color:#2563eb;text-decoration:none;font-size:14px;font-weight:600;padding:8px 0}.mileage-article-link a:hover{color:#1d4ed8}@media (max-width: 768px){.mileage-section-title{font-size:14px}.mileage-section-description,.mileage-table{font-size:12px}.mileage-table th,.mileage-table td{padding:8px 6px}.mileage-th-cabin{min-width:80px}.mileage-th-price{min-width:100px}.mileage-th-points,.mileage-th-miles{min-width:70px}.mileage-th-efficiency{min-width:60px}}.route-comparison{margin-top:8px}.comparison-toggle{display:none}.comparison-description{font-size:14px;color:#475569;line-height:1.6;margin:0 0 16px}.comparison-loading{text-align:center;padding:20px;color:#64748b;font-size:13px}.comparison-tables{display:flex;flex-direction:column;gap:20px}.comparison-cabin-section{margin-bottom:0}.comparison-cabin-title{font-size:14px;font-weight:600;color:#475569;margin:0 0 12px;padding-left:12px;border-left:3px solid #3b82f6}.comparison-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.comparison-table{width:100%;border-collapse:collapse;font-size:14px}.comparison-table-wrapper{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.comparison-table-simple{min-width:200px}.comparison-table thead{background:#f8fafc}.comparison-table th{padding:14px 16px;text-align:left;font-weight:600;font-size:12px;color:#64748b;border-bottom:1px solid #e2e8f0;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.comparison-table th:first-child{border-radius:12px 0 0}.comparison-table th:last-child{border-radius:0 12px 0 0}.comparison-th-name{min-width:120px}.comparison-th-data{text-align:right!important;min-width:100px}.comparison-table-compact{min-width:500px}.comparison-th-cabin{text-align:right!important;min-width:100px;font-size:11px}.comparison-cell-fare{padding:14px 16px;text-align:right;font-weight:600;color:#1e293b}.comparison-fare-link{color:#1e293b;text-decoration:none}.comparison-fare-link:hover{color:#1e40af}.comparison-no-data{color:#cbd5e1}.comparison-row{border-bottom:1px solid #f1f5f9;transition:background .15s}.comparison-row:hover{background:#f8fafc}.comparison-row:last-child{border-bottom:none}.comparison-row-current{background:linear-gradient(90deg,#eff6ff,#fff)}.comparison-row-current:hover{background:linear-gradient(90deg,#dbeafe,#f8fafc)}.comparison-current-badge{display:inline-block;margin-left:8px;padding:3px 8px;font-size:10px;font-weight:600;color:#1e40af;background:#dbeafe;border-radius:4px;vertical-align:middle;text-transform:uppercase;letter-spacing:.3px}.comparison-cell-name{padding:14px 16px;font-weight:600}.comparison-cell-data{padding:14px 16px;text-align:right;font-weight:500;color:#1e293b}.comparison-name-link{color:#1e40af;text-decoration:none;font-weight:600}.comparison-name-link:hover{text-decoration:underline}.comparison-data-link{color:#1e293b;text-decoration:none}.comparison-data-link:hover{color:#1e40af}@media (max-width: 768px){.comparison-table{font-size:12px}.comparison-table th,.comparison-cell-name,.comparison-cell-data{padding:8px}}.airline-banner{margin:16px 0;background:linear-gradient(135deg,var(--airline-color, #c41e3a) 0%,color-mix(in srgb,var(--airline-color, #c41e3a) 80%,#000) 100%);border-radius:10px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.airline-banner:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.airline-banner-link{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;color:#fff;text-decoration:none;font-weight:500;font-size:14px}.airline-banner-text{text-align:center}.airline-banner-arrow{font-size:16px;transition:transform .2s ease}.airline-banner:hover .airline-banner-arrow{transform:translate(3px)}@media (max-width: 480px){.airline-banner-link{padding:12px 16px;font-size:13px}}.expedia-banner{margin:16px 0;background:linear-gradient(135deg,#1a1a4e,#2e2e7a);border-radius:10px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.expedia-banner:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.expedia-banner-link{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;color:#fff;text-decoration:none;font-weight:500;font-size:14px}.expedia-banner-text{text-align:center}.expedia-banner-arrow{font-size:16px;transition:transform .2s ease}.expedia-banner:hover .expedia-banner-arrow{transform:translate(3px)}@media (max-width: 480px){.expedia-banner-link{padding:12px 16px;font-size:13px}}.breadcrumb{padding:12px 16px 0;font-size:13px;background:#fff}.breadcrumb-list{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0}.breadcrumb-item{display:flex;align-items:center}.breadcrumb-link{color:var(--text-secondary);text-decoration:none;transition:color .15s ease;padding:4px 0}.breadcrumb-link:hover{color:var(--primary);text-decoration:underline}.breadcrumb-separator{color:var(--border-color);font-size:11px;margin:0 8px;-webkit-user-select:none;user-select:none}.breadcrumb-current{color:var(--text-primary);font-weight:500;padding:4px 0}@media (max-width: 768px){.breadcrumb{font-size:12px;padding:10px 12px 0}.breadcrumb-separator{margin:0 6px}}*{margin:0;padding:0;box-sizing:border-box}:focus-visible{outline:2px solid #1e3a5f;outline-offset:2px}:root{--primary: #1e3a5f;--primary-dark: #152a45;--primary-light: #2d4a6f;--accent: #d4a72c;--accent-light: #f0c54d;--accent-dark: #b8922a;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--text-primary: #1f2937;--text-secondary: #6b7280;--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--border-color: #e2e8f0;--jal-red: #c41e3a;--jal-red-light: #d64a5e;--ana-blue: #0033a0;--ana-blue-light: #3366cc;--tk-red: #c70a0c;--tk-red-light: #e63946;--ba-blue: #075AAA;--ba-blue-light: #3399cc}html,body{height:100%}@media (min-width: 1101px){html,body{overflow:hidden}}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg-primary);color:var(--text-primary)}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}@media (max-width: 1100px){html,body{overflow-x:hidden;max-width:100vw}.app{padding-bottom:env(safe-area-inset-bottom,20px);overflow-x:hidden;max-width:100vw}}@media (min-width: 1101px){.app{height:100vh;min-height:auto;overflow:hidden}}.header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;color:#fff;box-shadow:0 2px 12px #1e3a5f26;flex-shrink:0}.header-left h1{font-size:20px;font-weight:700;letter-spacing:-.5px;display:flex;align-items:center;gap:8px}.logo-icon{font-size:18px;color:var(--accent)}.header-subtitle{font-size:12px;opacity:.85;font-weight:400;letter-spacing:.2px}.header-right{display:flex;align-items:center;gap:16px}.airline-selector{display:flex;background:#ffffff26;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.2)}.custom-dropdown{position:relative;display:inline-block;margin-right:8px}.custom-dropdown .dropdown-trigger{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;font-family:inherit;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;transition:all .2s ease;border-radius:6px}.custom-dropdown .dropdown-trigger:hover{background-color:#ffffff26;border-color:#ffffff4d}.custom-dropdown .dropdown-trigger:focus{outline:none;border-color:#fff6;box-shadow:0 0 0 2px #fff3}.custom-dropdown .dropdown-arrow{transition:transform .2s ease;flex-shrink:0}.custom-dropdown .dropdown-arrow.open{transform:rotate(180deg)}.custom-dropdown .dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:100%;background:#1f2937;border:1px solid rgba(255,255,255,.15);border-radius:6px;box-shadow:0 4px 12px #0000004d;list-style:none;margin:0;padding:4px 0;z-index:1000}.custom-dropdown .dropdown-menu li{padding:8px 12px;font-size:12px;font-weight:500;color:#fff;cursor:pointer;transition:background .15s ease;white-space:nowrap}.custom-dropdown .dropdown-menu li:hover{background:#ffffff1a}.custom-dropdown .dropdown-menu li.selected{background:#3b82f64d}.custom-dropdown .dropdown-menu li.selected:hover{background:#3b82f666}.controls-bar .origin-selector{display:flex;align-items:center;gap:10px}.controls-bar .origin-selector label{font-size:13px;font-weight:500;color:#374151}.controls-bar .origin-select{padding:8px 12px;font-size:13px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1f2937;cursor:pointer;min-width:200px}.controls-bar .origin-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1e3a5f1a}.controls-bar .trip-type-selector{display:flex;background:#f3f4f6;border-radius:6px;overflow:hidden}.controls-bar .trip-type-btn{padding:8px 16px;font-size:13px;font-weight:500;border:none;background:transparent;color:#6b7280;cursor:pointer;transition:all .15s}.controls-bar .trip-type-btn:hover{background:#e5e7eb;color:#374151}.controls-bar .trip-type-btn.active{background:var(--primary);color:#fff}.trip-type-btn{padding:8px 16px;font-size:12px;font-weight:500;border:none;background:transparent;color:#ffffffb3;cursor:pointer;transition:all .15s;text-decoration:none}.trip-type-btn:hover{background:#ffffff1a;color:#fff}.trip-type-btn.active{background:#ffffff40;color:#fff}.origin-selector label{font-size:12px;opacity:.9}.origin-select option{background:#fff;color:#333}.main{flex:1;display:grid;grid-template-columns:1fr 320px}@media (min-width: 1101px){.main{height:calc(100vh - 52px);overflow:hidden}}.left-column{overflow-y:auto;overscroll-behavior:contain;min-height:0}.map-section{background:#e8eef4;display:flex;align-items:center;justify-content:center;overflow:hidden;height:400px;border-bottom:1px solid #ddd;position:relative}.map-section.map-collapsed{height:auto;min-height:32px}.map-toggle-btn{position:absolute;bottom:4px;right:8px;z-index:5;background:#ffffffd9;border:1px solid #d1d5db;border-radius:4px;padding:2px 10px;font-size:12px;cursor:pointer;color:#6b7280;line-height:1.4}.map-collapsed .map-toggle-btn{position:static;margin:4px auto;display:block}.map-toggle-btn:hover{background:#fff;color:#374151}.calculator-section{background:#fff;border-right:1px solid #e0e0e0;overflow:visible}.right-column{background:#fff;border-left:1px solid #e0e0e0;overflow:hidden;display:flex;flex-direction:column;height:100%}.airport-selector{display:flex;flex-direction:column;height:100%;overflow:hidden}.selector-section{padding:12px 16px;background:#fafafa;border-bottom:1px solid #e0e0e0;flex-shrink:0}.selector-section-bottom{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.airline-buttons{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;margin:0 -16px;padding:0 16px}.airline-buttons::-webkit-scrollbar{display:none}.airline-btn{display:inline-flex;align-items:center;padding:10px 8px;font-size:12px;font-weight:600;color:#666;background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;text-decoration:none;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;transition:all .15s}.airline-btn:hover{background:#f5f5f5;border-color:#bbb}.airline-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.selector-section .selector-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:block}.selector-trip-type{display:flex;padding:12px 16px;gap:8px;background:#fafafa;border-bottom:1px solid #e0e0e0;flex-shrink:0}.selector-trip-type .trip-type-btn{flex:1;padding:10px 16px;font-size:14px;font-weight:500;border:1px solid #ddd;border-radius:8px;background:#fff;color:#666;cursor:pointer;transition:all .15s;text-decoration:none;text-align:center}.selector-trip-type .trip-type-btn:hover{background:#f5f5f5}.selector-trip-type .trip-type-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.selector-current{padding:16px;background:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0}.selector-departure{display:flex;align-items:center;padding:12px 14px;background:#f8f8f8;border-radius:10px;cursor:pointer;transition:all .15s;border:2px solid transparent;text-decoration:none;color:inherit}.selector-departure:hover{background:#f0f0f0}.selector-departure.editing{border-color:var(--primary);background:#fef2f2}.selector-label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-right:12px;min-width:50px}.selector-value{display:flex;align-items:center;gap:8px;flex:1}.selector-code{font-size:16px;font-weight:700;color:#333}.selector-name{font-size:13px;color:#666}.selector-change{font-size:12px;color:var(--primary);font-weight:500;padding:4px 10px;background:#c81e1e14;border-radius:6px}.selector-arrow{display:flex;justify-content:center;padding:8px 0;color:#ccc;font-size:18px}.selector-destination{display:flex;align-items:center;padding:12px 14px;background:#f0f7ff;border-radius:10px;border:2px solid #d0e4ff}.selector-placeholder{font-size:13px;color:#999;font-style:italic}.destination-list{flex:1;display:flex;flex-direction:column;overflow:hidden}.list-header{padding:12px 16px;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.list-title{font-size:14px;font-weight:600;color:#333}.dest-search{padding:8px 12px;border-bottom:1px solid #e0e0e0;flex-shrink:0;position:relative}.dest-search-input{width:100%;padding:8px 30px 8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box}.dest-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.dest-search-clear{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;color:#9ca3af;cursor:pointer;padding:2px 4px;line-height:1}.dest-search-clear:hover{color:#374151}.list-content{flex:1;overflow-y:auto;padding:8px;min-height:0;overscroll-behavior:contain}.loading-destinations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#666;gap:12px}.loading-destinations .loading-spinner{width:24px;height:24px;border:3px solid #e0e0e0;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.dest-item{display:flex;flex-direction:column;padding:10px 12px;margin-bottom:4px;background:#f8f8f8;border-radius:8px;cursor:pointer;transition:all .15s;border-left:3px solid transparent;text-decoration:none;color:inherit}.dest-item:hover{background:#f0f0f0}.dest-item.selected{background:#fef2f2;border-left-color:var(--primary)}.dest-main-row{display:flex;align-items:center;justify-content:space-between;width:100%}.dest-info{display:flex;align-items:center;gap:10px}.dest-code{font-size:14px;font-weight:700;color:#333}.dest-name{font-size:12px;color:#666}.dest-distance{font-size:12px;color:#888}.dest-summary{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:70px}.dest-price{font-size:11px;font-weight:600;color:#333}.dest-cpp{font-size:10px;color:#666}.dest-summary-loading{font-size:11px;color:#999}.dest-no-data{font-size:11px;color:#ccc}.area-group{margin-bottom:4px}.area-header{display:flex;align-items:center;padding:10px 12px;background:#e8e8e8;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:4px}.area-header:hover{background:#e0e0e0}.area-name{font-size:13px;font-weight:600;color:#333;flex:1}.area-count{font-size:11px;color:#666;background:#d0d0d0;padding:2px 8px;border-radius:10px;margin-right:8px}.area-toggle{font-size:10px;color:#888}.area-destinations{padding-left:8px}.area-destinations .dest-item{margin-left:0}.premium-label{font-size:11px;color:#d97706;background:#fef3c7;padding:2px 6px;border-radius:4px;white-space:nowrap}.dest-item.premium-locked{opacity:.8}.dest-item.premium-locked:hover{background:#fffbeb;border-left-color:#d97706}.route-map{width:100%;height:100%;display:flex;flex-direction:column}.route-map svg{flex:1;width:100%;height:100%}.map-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#888}.legend-dot.origin{background:var(--primary)}.legend-dot.tokyo-hub{background:#f39c12}.legend-dot.destination{background:#3498db}.legend-dot.selected{background:var(--primary)}.calculator-empty-state p{font-size:13px}.points-calculator{padding:16px}.route-section,.route-section-header{margin-bottom:16px}.route-section-title{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 6px}.route-section-description{font-size:14px;color:#64748b;line-height:1.6;margin:0}.route-section-price{background:#fff;border-radius:12px;padding:16px 20px;border:1px solid #e2e8f0}.route-section-price .route-summary-by-cabin{margin:0 0 16px}.flight-section-intro{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.route-section-explanation{font-size:14px;color:#475569;line-height:1.7;margin:0 0 12px;padding:0}.route-section-tip{font-size:13px;color:#64748b;line-height:1.6;margin:0 0 16px;padding:0}.route-booking-ctas{display:flex;flex-direction:column;gap:10px}.route-booking-ctas .airline-banner,.route-booking-ctas .expedia-banner{margin:0}.adsense-container{background:#fafafa;border-radius:8px;min-height:250px}.trip-btn:hover{color:#333}.trip-btn.active{background:var(--primary);color:#fff}.date-field label{font-size:11px;color:#666;text-transform:uppercase;letter-spacing:.5px}.search-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.search-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.no-results{padding:20px;text-align:center;color:#888;font-size:13px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cabin-filter,.duration-filter,.filter-controls .sort-select{padding:6px 10px;font-size:11px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#333;cursor:pointer}.cabin-filter:hover,.duration-filter:hover,.filter-controls .sort-select:hover{border-color:#bbb}.flight-card:hover{border-color:#ccc;box-shadow:0 2px 8px #00000014}.flight-card.best-value{border-color:#22c55e;background:#f0fdf4}.flight-leg.return-leg{padding-top:6px;border-top:1px dashed #e0e0e0}.leg-times .dep-time,.leg-times .arr-time{font-size:13px;font-weight:500;color:#333}.leg-times .time-arrow{font-size:11px;color:#999}.dep-time,.arr-time{font-size:14px;font-weight:600;color:#333}.flight-card.expanded{background:#fafafa}.leg-details:last-of-type{margin-bottom:12px}.summary-value.highlight{color:#16a34a}.show-more-btn:hover{border-color:var(--primary);color:var(--primary);background:#fef2f2}.loading,.error{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;font-size:16px;color:#666;background:#f5f5f5;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#dc2626}@media (max-width: 1100px){.main{grid-template-columns:1fr;grid-template-rows:auto auto auto;overflow-x:hidden;max-width:100vw}.left-column{display:contents}.map-section{height:300px}.calculator-section{order:3;border-right:none;border-top:1px solid #e0e0e0;overflow-x:hidden;max-width:100vw}.right-column{order:2;border-left:none;border-top:1px solid #e0e0e0;height:auto;max-height:none}.airport-selector{height:auto}.list-content{overflow-y:auto;max-height:280px}}@media (max-width: 600px){.header{flex-direction:column;gap:10px;padding:12px}.header-left{text-align:center}.header-right{flex-wrap:wrap;justify-content:center;gap:8px}.user-email{display:none}.logout-btn{padding:6px 12px;font-size:11px;white-space:nowrap}.airline-btn{padding:6px 12px}.map-section{height:250px}.overview-header{flex-direction:column;align-items:stretch;gap:12px}.overview-title{text-align:center;justify-content:center}.overview-controls{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;width:100%}.path-sort-controls{display:flex;align-items:center;gap:6px}.sort-label{font-size:11px}.sort-btn{padding:6px 10px;font-size:11px}.sort-select{padding:8px 28px 8px 12px;font-size:12px;min-width:110px}.expand-all-btn{padding:8px 14px;font-size:12px}.mode-btn{padding:5px 10px;font-size:11px}.filter-toggle-btn{padding:8px 12px;font-size:12px}.filter-panel{flex-direction:column;gap:12px}.filter-section{width:100%}.filter-btn-group{flex-wrap:wrap}.filter-btn{padding:6px 10px;font-size:11px}.filter-select{padding:6px 24px 6px 10px;font-size:11px;min-width:90px}.filter-input{flex:1;min-width:60px}.filter-clear-btn{width:100%;margin-left:0}.path-group-header{flex-direction:column;align-items:flex-start;gap:10px;padding:12px}.path-title{gap:12px}.path-route{font-size:14px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f5f5f5}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#bbb}.route-summary-minimal{margin-bottom:20px}.route-summary-disclaimer{font-size:12px;color:#64748b;line-height:1.6;margin:0;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #d1d5db;border-radius:0 0 4px 4px}.flight-data-section{margin-top:8px}.overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.overview-title{font-size:14px;font-weight:600;color:#333;display:flex;align-items:center;gap:6px}.cabin-section.cabin-economy{border-left:3px solid #22c55e}.cabin-section.cabin-premium_economy{border-left:3px solid #3b82f6}.cabin-section.cabin-business{border-left:3px solid #8b5cf6}.cabin-section.cabin-first{border-left:3px solid #f59e0b}.highlighted-flight.cheapest .highlight-label{color:#0891b2}.highlighted-flight.best-value .highlight-label,.hf-ypf.highlight{color:#16a34a}.loading-details{text-align:center;padding:16px;color:#888;font-size:12px}.header-title-link{text-decoration:none;color:inherit}.header-title-link:hover{opacity:.9}.auth-buttons{display:flex;gap:8px;align-items:center}.login-btn{padding:8px 16px;font-size:12px;font-weight:500;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:transparent;color:#ffffffe6;text-decoration:none;cursor:pointer;transition:all .15s}.login-btn:hover{background:#ffffff1a;color:#fff}.signup-btn{padding:8px 16px;font-size:12px;font-weight:500;border:none;border-radius:6px;background:#fff3;color:#fff;text-decoration:none;cursor:pointer;transition:all .15s}.signup-btn:hover{background:#ffffff4d}.user-menu{display:flex;align-items:center;gap:12px}.user-email{font-size:12px;color:#fffc;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.premium-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:12px;box-shadow:0 2px 8px #f59e0b66;border:none}.premium-badge.clickable{cursor:pointer;transition:transform .15s,box-shadow .15s}.premium-badge.clickable:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b80}.premium-badge:before{content:"★";font-size:10px}.logout-btn{padding:8px 16px;font-size:12px;font-weight:500;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:transparent;color:#ffffffe6;cursor:pointer;transition:all .15s}.logout-btn:hover{background:#ffffff1a;color:#fff}.user-account-link{color:#ffffffe6;text-decoration:none;font-size:13px;padding:6px 12px;border-radius:6px;transition:all .15s}.user-account-link:hover{background:#ffffff1a;color:#fff}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);padding:20px}.auth-card{background:#fff;border-radius:16px;padding:48px 40px;width:100%;max-width:420px;box-shadow:0 8px 32px #1e3a5f1f}.auth-logo{text-align:center;font-size:24px;font-weight:700;color:var(--primary);margin-bottom:24px;letter-spacing:-.5px}.auth-card h2{font-size:24px;font-weight:600;color:#333;margin-bottom:8px;text-align:center}.auth-subtitle{font-size:14px;color:#666;text-align:center;margin-bottom:24px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:13px;font-weight:500;color:#333}.auth-field input{padding:12px 14px;font-size:14px;border:1px solid #ddd;border-radius:8px;background:#fff;color:#333;transition:border-color .2s}.auth-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #1e3a5f1a}.auth-field input::placeholder{color:#aaa}.auth-btn{padding:14px 20px;font-size:14px;font-weight:600;border:none;border-radius:8px;background:var(--primary);color:#fff;cursor:pointer;transition:all .2s;margin-top:8px}.auth-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.auth-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:8px;font-size:13px;margin-bottom:16px}.auth-success{color:#333;font-size:14px;line-height:1.6;text-align:center;margin-bottom:16px}.auth-error-text{color:#dc2626;font-size:14px;text-align:center;margin-bottom:16px}.auth-note{font-size:13px;color:#888;text-align:center;margin-bottom:20px}.auth-loading{font-size:14px;color:#666;text-align:center}.auth-links{text-align:center;margin-top:16px}.auth-links a{font-size:13px;color:var(--primary);text-decoration:none}.auth-links a:hover{text-decoration:underline}.auth-footer{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid #eee;font-size:13px;color:#666}.auth-footer a{color:var(--primary);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.auth-link{display:inline-block;color:var(--primary);text-decoration:none;font-size:14px;font-weight:500}.auth-link:hover{text-decoration:underline}.auth-btn-link{display:inline-block;padding:12px 24px;font-size:14px;font-weight:600;border-radius:8px;background:var(--primary);color:#fff;text-decoration:none;transition:all .2s}.auth-btn-link:hover{background:var(--primary-dark);transform:translateY(-1px)}.admin-message.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.admin-message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.admin-table th{text-align:left;padding:12px 10px;background:#f9fafb;border-bottom:2px solid #e5e7eb;font-weight:600;color:#333;white-space:nowrap}.admin-table td{padding:10px;border-bottom:1px solid #e5e7eb;color:#555}.admin-table tr:hover{background:#f9fafb}.toggle-btn:hover{border-color:#9ca3af}.toggle-btn.active{background:#dcfce7;border-color:#22c55e;color:#16a34a}.toggle-btn.premium.active{background:#fef3c7;border-color:#f59e0b;color:#d97706}.btn-delete-small:hover{background:#fee2e2;border-color:#fca5a5}.btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{background:#fca5a5;cursor:not-allowed}.btn-warning:hover{background:#d97706}.flight-filters select{padding:8px 12px;font-size:12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#333;cursor:pointer;min-width:140px}.flight-filters select:hover{border-color:#9ca3af}.pagination button{padding:8px 16px;font-size:12px;font-weight:500;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;transition:all .15s}.pagination button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.pagination button:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.pagination span{font-size:13px;color:#666}.confirm-modal h3{font-size:16px;font-weight:600;color:#333;margin:0 0 12px}.confirm-modal p{font-size:14px;color:#666;margin:0 0 20px}@media (max-width: 768px){.stats-summary{grid-template-columns:repeat(2,1fr)}.admin-table th,.admin-table td{padding:8px 6px}.flight-filters select{width:100%}.run-header{flex-wrap:wrap}.run-meta{flex-wrap:wrap;gap:8px}}.run-detail-section h4{font-size:12px;font-weight:600;color:#374151;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.detail-value.highlight{color:#059669;font-weight:600}.detail-value.error{color:#dc2626}.detail-value.status-running{color:#1d4ed8;font-weight:600}.detail-value.status-completed{color:#16a34a;font-weight:600}.detail-value.status-cancelled{color:#d97706;font-weight:600}.detail-value.status-failed{color:#dc2626;font-weight:600}.admin-table-expandable th:first-child,.admin-table-expandable td:first-child{width:30px;text-align:center}.offer-row:hover{background:#f9fafb}.offer-row.expanded{background:#f3f4f6}.trip-badge.oneway{background:#fef3c7;color:#92400e}.trip-badge.roundtrip{background:#dbeafe;color:#1e40af}.cabin-badge-sm.economy{background:#dcfce7;color:#166534}.cabin-badge-sm.premium_economy{background:#dbeafe;color:#1e40af}.cabin-badge-sm.business{background:#ede9fe;color:#5b21b6}.cabin-badge-sm.first{background:#fef3c7;color:#92400e}.offer-details-row td{padding:0!important;border-bottom:2px solid #e5e7eb}.segment-direction h5{font-size:12px;font-weight:600;color:#374151;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.segment-header-admin .flight-num{font-size:13px;font-weight:700;color:var(--primary)}.segment-header-admin .segment-route{font-size:12px;color:#374151;font-weight:500}.segment-header-admin .segment-duration{font-size:11px;color:#6b7280;background:#e5e7eb;padding:2px 8px;border-radius:4px;margin-left:auto}.time-block .time{display:block;font-size:16px;font-weight:600;color:#111827}.time-block .airport{display:block;font-size:11px;color:#6b7280}.segment-times-admin .time-arrow{color:#9ca3af;font-size:14px}.route-duration{font-size:12px;color:#555;font-weight:500}.booking-class-list{display:flex;flex-direction:column}.booking-class-row:last-child{border-bottom:none}.booking-class-row:hover{background:#f9fafb}.booking-class-row.cabin-economy{border-left:3px solid #22c55e}.booking-class-row.cabin-premium_economy{border-left:3px solid #3b82f6}.booking-class-row.cabin-business{border-left:3px solid #8b5cf6}.booking-class-row.cabin-first{border-left:3px solid #f59e0b}.bc-main{display:flex;align-items:center;gap:16px}.bc-cabin{font-size:13px;color:#4b5563;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bc-price-info{flex:1;min-width:180px;white-space:nowrap}.bc-price{font-size:14px;font-weight:600;color:#111827}.bc-ypf{font-size:14px;font-weight:600;color:#059669}.bc-ypf-label{font-size:11px;color:#6b7280}@media (max-width: 600px){.bc-main{flex-wrap:wrap;gap:8px}.bc-price-info{flex:none;width:100%;order:3;margin-top:4px}}.flight-path-groups{display:flex;flex-direction:column;gap:16px}.load-more-paths-btn{display:block;width:100%;padding:14px 20px;background:#f8f9fa;border:1px dashed #d1d5db;border-radius:10px;color:#4b5563;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.load-more-paths-btn:hover{background:#f1f5f9;border-color:#9ca3af;color:#374151}.flight-path-group{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.path-sort-controls{display:flex;align-items:center;gap:8px}.sort-label{font-size:12px;color:#6b7280}.sort-btn{padding:4px 10px;font-size:12px;font-weight:500;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;cursor:pointer;transition:all .15s}.sort-btn:hover{background:#f3f4f6;border-color:#9ca3af}.sort-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.sort-select{padding:6px 28px 6px 12px;font-size:12px;font-weight:500;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;cursor:pointer;transition:all .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;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 6px center;background-repeat:no-repeat;background-size:16px 16px;min-width:120px}.sort-select:hover{border-color:var(--primary)}.sort-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #b91c1c1a}.expand-all-btn{padding:6px 12px;font-size:12px;font-weight:500;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;transition:all .15s}.expand-all-btn:hover{border-color:var(--primary);color:var(--primary)}.expand-all-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-toggle-btn{padding:6px 12px;font-size:12px;font-weight:500;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;transition:all .15s}.filter-toggle-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-toggle-btn.active{background:#fef2f2;border-color:var(--primary);color:var(--primary)}.filter-toggle-btn.has-filter{background:var(--primary);border-color:var(--primary);color:#fff}.filter-panel{display:flex;flex-wrap:wrap;gap:20px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;align-items:flex-end}.filter-section{display:flex;flex-direction:column;gap:8px}.filter-label{font-size:11px;font-weight:600;color:#6b7280}.filter-btn-group{display:flex;background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.filter-btn{padding:6px 12px;font-size:12px;font-weight:500;border:none;border-right:1px solid #e5e7eb;background:transparent;color:#6b7280;cursor:pointer;transition:all .15s}.filter-btn:last-child{border-right:none}.filter-btn:hover{background:#f3f4f6;color:#374151}.filter-btn.active{background:var(--primary);color:#fff}.filter-select{padding:6px 28px 6px 12px;font-size:12px;font-weight:500;border:1px solid #e5e7eb;background:#fff;color:#374151;border-radius:6px;cursor:pointer;transition:all .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;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 6px center;background-repeat:no-repeat;background-size:16px 16px;min-width:100px}.filter-select:hover{border-color:#9ca3af}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #b91c1c1a}.filter-range{display:flex;align-items:center;gap:6px}.filter-input{width:80px;padding:6px 10px;font-size:12px;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.filter-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #b91c1c1a}.filter-input::placeholder{color:#9ca3af}.filter-range-sep{color:#9ca3af;font-size:12px}.filter-clear-btn{padding:6px 14px;font-size:12px;font-weight:500;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s;margin-left:auto}.filter-clear-btn:hover{border-color:var(--primary);color:var(--primary)}.no-results{padding:32px;text-align:center;color:#6b7280;font-size:14px;background:#f9fafb;border-radius:8px}.overview-controls{display:flex;align-items:center;gap:16px}.points-mode-toggle{display:flex;background:#f3f4f6;border-radius:8px;padding:2px}.mode-btn{padding:6px 12px;font-size:12px;font-weight:600;border:none;background:transparent;color:#6b7280;border-radius:6px;cursor:pointer;transition:all .15s}.mode-btn:hover{color:#374151}.mode-btn.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0000001a}.path-group-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:1px solid #e5e7eb;gap:16px}.path-title{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.path-route{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--primary);letter-spacing:.3px}.path-duration{font-size:12px;font-weight:500;color:#6b7280;margin-left:4px}.path-distance-badge{font-size:12px;font-weight:600;color:#374151;background:#e8f4e8;padding:4px 12px;border-radius:12px;white-space:nowrap}.path-with-tooltips{display:inline}.airport-tooltip-wrapper{position:relative;display:inline}.airport-code{cursor:help;border-bottom:1px dotted currentColor}.airport-tooltip{visibility:hidden;opacity:0;position:absolute;left:50%;transform:translate(-50%);top:100%;margin-top:6px;padding:4px 8px;background:#374151;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;border-radius:4px;z-index:100;transition:opacity .15s,visibility .15s;pointer-events:none}.airport-tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#374151}.airport-tooltip-wrapper:hover .airport-tooltip{visibility:visible;opacity:1}.booking-class-card{border-bottom:1px solid #e2e8f0;background:#fff;transition:all .15s ease}.booking-class-card:last-child{border-bottom:none}.booking-class-card:hover{background:#f8fafc}.booking-class-card .bc-main{display:grid;grid-template-columns:minmax(140px,1.5fr) minmax(140px,1.5fr) minmax(100px,1fr) minmax(100px,1fr) 24px;align-items:center;gap:16px;padding:14px 18px;transition:background .15s}.booking-class-card .bc-main:hover{background:transparent}.booking-class-card .bc-main.clickable{cursor:pointer}.booking-class-card .bc-main.clickable:hover{background:transparent}.booking-class-card.cabin-economy{border-left:4px solid #22c55e}.booking-class-card.cabin-premium_economy{border-left:4px solid #3b82f6}.booking-class-card.cabin-business{border-left:4px solid #8b5cf6}.booking-class-card.cabin-first{border-left:4px solid #f59e0b}.bc-points-display,.bc-miles-display{display:flex;flex-direction:column;gap:4px;min-width:100px;cursor:pointer;padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid transparent;transition:all .15s ease}.bc-points-display:hover,.bc-miles-display:hover{background:#f1f5f9;border-color:#e2e8f0}.bc-points-value,.bc-miles-value{font-size:16px;font-weight:700;color:#1e293b;display:flex;align-items:baseline;gap:4px}.bc-points-label,.bc-miles-label{font-size:11px;font-weight:500;color:#64748b}.bc-cost-per{font-size:12px;color:#059669;font-weight:600}.bc-cost-per .bc-cost-label{font-size:10px;color:#64748b;font-weight:400}.bc-ypf-info{display:flex;align-items:baseline;gap:2px;min-width:120px}.bc-expand-hint{margin-left:8px;font-size:10px;color:#9ca3af}.flight-options{background:#f9fafb;border-top:1px solid #e5e7eb;padding:8px 16px}.flight-options-disclaimer{font-size:11px;color:#9ca3af;margin-bottom:8px;padding:0 4px}.flight-option{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;margin:4px 0;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:12px}.flight-option:hover{background:#f8f9fa;border-color:#d1d5db}.option-route{display:flex;flex-wrap:wrap;align-items:center;gap:12px;flex:1}.option-separator{width:1px;height:16px;background:#d1d5db}.route-viz{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px}.route-segment{display:inline-flex;align-items:center}.route-airport{font-weight:700;color:#374151;font-size:12px}.route-connector{color:var(--primary);font-size:11px;font-weight:600;margin:0 2px}.route-transit{color:#9ca3af;font-size:11px;margin:0 2px}.route-duration{font-size:11px;color:#6b7280;margin-left:6px}.option-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.option-price{font-weight:600;color:#059669;min-width:80px;text-align:right;white-space:nowrap}.option-fetched{font-size:10px;color:var(--text-secondary);white-space:nowrap}.load-more-flights-btn{width:100%;padding:10px;margin-top:8px;font-size:12px;font-weight:500;border:1px dashed #d1d5db;border-radius:6px;background:transparent;color:#6b7280;cursor:pointer;transition:all .2s}.load-more-flights-btn:hover{border-color:var(--primary);color:var(--primary);background:#fef2f2}.bc-calculation-breakdown{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-top:1px solid #e2e8f0;padding:20px 24px}.calc-formula{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 20px;margin-bottom:16px;box-shadow:0 1px 3px #0000000a}.calc-formula:last-child{margin-bottom:0}.calc-title{font-size:12px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.calc-disclaimer-text{font-size:11px;font-weight:400;color:#94a3b8;margin-left:4px;text-transform:none;letter-spacing:normal;white-space:normal}.calc-equation{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;line-height:2}.calc-term{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:6px;padding:6px 12px;font-weight:600;color:#1e40af;font-size:13px}.calc-term.official{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#6ee7b7;color:#047857}.calc-term small{font-weight:400;font-size:10px;color:#64748b;margin-left:2px}.calc-op{color:#94a3b8;font-weight:600;font-size:14px}.calc-result{background:linear-gradient(135deg,#059669,#047857);color:#fff;padding:6px 14px;border-radius:6px;font-weight:700;font-size:13px;box-shadow:0 2px 4px #05966933}.segment-calc small{font-size:10px;color:#94a3b8;margin-left:4px}.calc-segment-total,.calc-segment-bonus,.total-label,.bonus-calc,.calc-segments-unified{display:flex;flex-direction:column;gap:12px}.calc-segment-formula{display:flex;flex-direction:column;gap:4px}.segment-route-label{font-size:12px;font-weight:600;color:#64748b;margin-bottom:4px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.segment-cabin-info{font-size:11px;font-weight:500;color:#9ca3af}.calc-result-secondary{background:#f1f5f9;border:1px solid #cbd5e1;color:#334155;padding:4px 10px;border-radius:4px;font-weight:600}.calc-total-row{margin-top:4px;padding-top:8px;border-top:1px dashed #e2e8f0}.calc-pqp-line{margin-top:2px;font-size:12px}.calc-total-label{font-weight:600;color:#10b981;font-size:13px}.calc-status-bonuses{margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.status-title{font-size:12px;font-weight:700;color:#475569;margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px}.status-list{display:flex;flex-wrap:wrap;gap:10px}.status-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:13px;min-width:160px;transition:all .15s ease}.status-row:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f}.status-row.base{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#cbd5e1}.status-label{color:#475569;font-weight:500;font-size:12px}.status-bonus{color:#059669;font-weight:700;font-size:12px;padding:2px 8px;background:#ecfdf5;border-radius:4px}.status-total{color:#1e293b;font-weight:700;font-size:14px;margin-left:auto}@media (max-width: 600px){.calculation-breakdown{overflow-x:hidden}.calc-formula{padding:12px;overflow:hidden}.calc-equation{font-size:12px;overflow-x:auto;white-space:nowrap;padding-bottom:4px}.calc-term{padding:4px 8px;font-size:11px}.calc-term small{margin-left:2px}.status-list{grid-template-columns:1fr}.status-row{padding:6px 10px}}@media (max-width: 700px){.path-group-header{flex-direction:column;align-items:flex-start;gap:8px}.path-title{gap:10px}.path-distance-badge{align-self:flex-start}.booking-class-card .bc-main{display:grid;grid-template-columns:1fr 1fr auto;grid-template-areas:"cabin cabin cabin" "price price price" "points miles expand";gap:4px 8px;padding:10px 12px}.bc-cabin{grid-area:cabin;font-size:12px}.bc-points-display{grid-area:points;justify-self:start}.bc-miles-display{grid-area:miles;justify-self:start}.bc-ypf-info{display:none}.bc-price-info{grid-area:price;justify-self:start}.bc-expand{grid-area:expand;justify-self:end;align-self:center}.bc-points-value{font-size:15px}.bc-ypf,.bc-price{font-size:13px}.flight-option{flex-direction:column;align-items:flex-start;gap:8px}.option-route{width:100%}.option-price{align-self:flex-end}}.premium-banner-text strong{font-size:14px}.premium-banner-text span{font-size:12px;opacity:.9}.premium-banner-close:hover{background:#ffffff4d}.origin-select option:disabled{color:#999;font-style:italic}.flight-path-group.locked{opacity:.95}.flight-path-group.locked .path-group-header{opacity:.7}.locked-content{position:relative;border-radius:0 0 8px 8px;overflow:hidden;min-height:80px}.locked-preview{padding:8px 0}.locked-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #f3f4f6;font-size:13px;color:#9ca3af}.locked-row:last-child{border-bottom:none}.locked-class{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:4px;font-weight:600;font-size:12px}.locked-cabin{font-size:11px;text-transform:uppercase;color:#9ca3af;min-width:80px}.locked-points{font-size:12px;color:#6b7280}.locked-price{margin-left:auto;font-size:13px;color:#d1d5db;font-weight:500}.locked-more{padding:8px 16px;font-size:11px;color:#9ca3af;font-style:italic}.locked-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fffc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.locked-upsell{display:flex;align-items:center;gap:12px;padding:12px 20px;background:linear-gradient(135deg,#f59e0b1f,#d977061f);border:1px solid rgba(245,158,11,.25);border-radius:10px;box-shadow:0 2px 12px #0000000f}.locked-icon{font-size:18px;color:#f59e0b}.locked-text{font-size:13px;font-weight:500;color:#92400e}.locked-btn{padding:8px 16px;font-size:12px;font-weight:600;border:none;border-radius:6px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #f59e0b4d}.locked-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px #f59e0b66}.locked-btn:active{transform:translateY(0)}.origin-premium-upsell{margin:16px 0;padding:24px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;border-radius:12px}.origin-upsell-content{display:flex;align-items:flex-start;gap:16px}.origin-upsell-icon{font-size:32px;color:#f59e0b;flex-shrink:0}.origin-upsell-text{flex:1}.origin-upsell-text strong{font-size:16px;color:#92400e;display:block;margin-bottom:8px}.origin-upsell-text p{font-size:14px;color:#78350f;line-height:1.5;margin:0}.origin-upsell-btn{padding:12px 24px;font-size:14px;font-weight:600;border:none;border-radius:8px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #f59e0b4d;white-space:nowrap;flex-shrink:0}.origin-upsell-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #f59e0b66}.origin-upsell-btn:active{transform:translateY(0)}.premium-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.premium-modal{background:#fff;border-radius:16px;max-width:480px;width:100%;box-shadow:0 20px 60px #00000040;position:relative;overflow:hidden}.premium-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.premium-modal-close:hover{background:#f3f4f6;color:#374151}.premium-modal-header{padding:32px 32px 24px;text-align:center;background:linear-gradient(135deg,#fffbeb,#fef3c7);border-bottom:1px solid #fcd34d}.premium-modal-icon{font-size:48px;color:#f59e0b;margin-bottom:12px}.premium-modal-header h2{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:8px}.premium-modal-header p{font-size:14px;color:#6b7280}.premium-features{padding:24px 32px}.premium-feature{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f3f4f6}.premium-feature:last-child{border-bottom:none}.feature-check{color:#10b981;font-size:16px;font-weight:700;flex-shrink:0;width:24px;height:24px;background:#ecfdf5;border-radius:50%;display:flex;align-items:center;justify-content:center}.feature-text{flex:1}.feature-text strong{display:block;font-size:14px;font-weight:600;color:#1f2937;margin-bottom:2px}.feature-text span{font-size:13px;color:#6b7280}.price-tag{display:flex;align-items:baseline;justify-content:center;gap:2px}.price-period{font-size:16px;color:#6b7280}.premium-error{margin:0 32px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px}.premium-actions{padding:24px 32px 16px;display:flex;flex-direction:column;gap:12px}.premium-upgrade-btn{width:100%;padding:16px 24px;font-size:16px;font-weight:600;border:none;border-radius:10px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #f59e0b4d}.premium-upgrade-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.premium-upgrade-btn:active:not(:disabled){transform:translateY(0)}.premium-cancel-btn{width:100%;padding:12px 24px;font-size:14px;font-weight:500;border:none;border-radius:8px;background:transparent;color:#6b7280;cursor:pointer;transition:all .2s}.premium-cancel-btn:hover{background:#f3f4f6;color:#374151}.payment-result-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e5e7eb);padding:20px}.payment-result-card{background:#fff;border-radius:16px;padding:48px;max-width:480px;width:100%;text-align:center;box-shadow:0 10px 40px #0000001a}.payment-result-card .result-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 24px}.payment-result-card.success .result-icon{background:#ecfdf5;color:#10b981}.payment-result-card.cancel .result-icon{background:#fef2f2;color:#ef4444}.payment-result-card h1{font-size:28px;font-weight:700;color:#1f2937;margin-bottom:12px}.payment-result-card>p{font-size:16px;color:#6b7280;margin-bottom:32px}.result-features{background:#f9fafb;border-radius:12px;padding:24px;margin-bottom:32px;text-align:left}.result-features h3{font-size:14px;font-weight:600;color:#374151;margin-bottom:16px}.result-features ul{list-style:none;padding:0;margin:0}.result-features li{font-size:14px;color:#4b5563;padding:8px 0 8px 28px;position:relative}.result-features li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.result-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.result-btn{display:inline-block;padding:14px 28px;font-size:16px;font-weight:600;text-decoration:none;border-radius:10px;transition:all .2s}.result-btn.primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 12px #1e3a5f4d}.result-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1e3a5f66}.result-note{font-size:13px;color:#9ca3af}.result-link-btn{background:none;border:none;color:#6b7280;font-size:13px;cursor:pointer;text-decoration:underline;padding:0}.result-link-btn:hover{color:#374151}.user-guide{background:#fff;border-radius:16px;padding:32px;box-shadow:0 1px 3px #0000000d}.guide-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.guide-header h2{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:8px}.guide-tagline{font-size:15px;color:var(--text-secondary)}.guide-section{margin-bottom:28px}.guide-section h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.guide-section>p{font-size:14px;color:var(--text-secondary);line-height:1.7}.guide-section .feature-request{margin-top:16px;padding:12px 16px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:8px;border-left:3px solid var(--primary-color);font-size:13px}.guide-section .feature-request a{color:var(--primary-color);font-weight:500;text-decoration:none}.guide-section .feature-request a:hover{text-decoration:underline}.what-is-section .what-is-intro{font-size:15px;color:var(--text-primary);line-height:1.8;margin-bottom:20px}.what-is-subsection{margin-bottom:20px;padding:16px;background:#fafafa;border-radius:8px;border-left:3px solid var(--primary-color)}.what-is-subsection h4{font-size:14px;font-weight:600;color:var(--primary-color);margin-bottom:8px}.what-is-subsection p{font-size:13px;color:var(--text-secondary);line-height:1.8;margin:0}.supported-programs-list{margin:12px 0 0;padding-left:20px;font-size:13px;color:var(--text-secondary);line-height:1.8}.supported-programs-list li{margin-bottom:4px}.what-is-cta{font-size:14px;color:var(--text-primary);font-weight:500;margin-top:16px;padding:12px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;line-height:1.6}.guide-steps{list-style:none;padding:0;margin:0}.guide-steps li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--border-color)}.guide-steps li:last-child{border-bottom:none}.step-number{width:32px;height:32px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.step-content strong{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.step-content p{font-size:13px;color:var(--text-secondary);line-height:1.5}.guide-features{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.guide-features li{display:flex;gap:12px;padding:16px;background:var(--bg-secondary);border-radius:12px}.feature-icon{font-size:20px;flex-shrink:0}.guide-features li strong{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.guide-features li p{font-size:12px;color:var(--text-secondary);line-height:1.4}.guide-tip p{font-size:13px;color:var(--text-secondary);line-height:1.6}.guide-tip strong{color:var(--accent-dark)}.origins-section .origins-by-airline{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.origins-section .airline-origins{background:var(--bg-secondary);border-radius:12px;padding:16px}.origins-section .airline-origins h4{font-size:14px;font-weight:600;color:var(--primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.origins-section .origin-links{display:flex;flex-wrap:wrap;gap:8px}.origins-section .origin-links a{font-size:13px;color:var(--primary);text-decoration:none;padding:6px 12px;background:#fff;border-radius:6px;border:1px solid var(--border-color);transition:all .15s ease}.origins-section .origin-links a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.origins-section .origin-links a .dest-count{font-size:11px;color:var(--text-secondary);margin-left:4px}.origins-section .origin-links a:hover .dest-count{color:#fffc}.origins-section .loading-origins{text-align:center;color:var(--text-secondary);padding:20px}.articles-section .guide-articles-list{display:flex;flex-direction:column;gap:8px}.articles-section .guide-article-item{display:block;padding:12px 16px;background:var(--bg-secondary);border-radius:8px;text-decoration:none;transition:background .15s ease}.articles-section .guide-article-item:hover{background:var(--border-color)}.articles-section .guide-article-title{font-size:14px;color:var(--text-primary);font-weight:500}.articles-section .guide-article-excerpt{display:block;font-size:12px;color:var(--text-secondary);line-height:1.4;margin-top:2px}.articles-section .guide-article-date{display:block;font-size:12px;color:var(--text-secondary);margin-top:4px}.articles-section .guide-articles-more{display:inline-block;margin-top:12px;font-size:13px;color:var(--primary);text-decoration:none;font-weight:500}.articles-section .guide-articles-more:hover{text-decoration:underline}.articles-section .loading-articles{text-align:center;color:var(--text-secondary);padding:20px}@media (max-width: 768px){.user-guide{padding:24px}.guide-features,.origins-section .origins-by-airline{grid-template-columns:1fr}}.login-required-wall{margin:16px 0;padding:32px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:12px}.login-wall-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.login-wall-icon{font-size:48px;color:#0284c7}.login-wall-text{max-width:400px}.login-wall-text strong{font-size:18px;color:#0c4a6e;display:block;margin-bottom:8px}.login-wall-text p{font-size:14px;color:#0369a1;line-height:1.5;margin:0}.login-wall-buttons{display:flex;gap:12px;margin-top:8px}.login-wall-signup-btn{padding:12px 28px;font-size:14px;font-weight:600;border:none;border-radius:8px;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;text-decoration:none;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0284c74d}.login-wall-signup-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0284c766}.login-wall-login-btn{padding:12px 28px;font-size:14px;font-weight:600;border:1px solid #0284c7;border-radius:8px;background:transparent;color:#0284c7;text-decoration:none;cursor:pointer;transition:all .2s}.login-wall-login-btn:hover{background:#0284c71a}.premium-pricing{padding:24px 32px;background:#f9fafb;text-align:center}.price-tag{font-size:36px;font-weight:700;color:#1f2937}.price-period{font-size:16px;font-weight:400;color:#6b7280}.premium-error{padding:12px 32px;color:#dc2626;font-size:14px;text-align:center;background:#fef2f2}.premium-upgrade-btn{width:100%;padding:14px 24px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:12px}.premium-upgrade-btn:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px)}.premium-upgrade-btn:disabled{opacity:.7;cursor:not-allowed}.premium-coming-soon{padding:24px 32px;background:#f9fafb;text-align:center}.coming-soon-badge{display:inline-block;padding:8px 20px;font-size:14px;font-weight:700;color:#6366f1;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid #c7d2fe;border-radius:20px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px}.coming-soon-text{font-size:14px;color:#6b7280;line-height:1.6;margin:0}.app-footer{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:20px 24px 8px;flex-shrink:0;font-size:12px;color:var(--text-secondary)}.footer-columns{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:20px;max-width:1200px;margin:0 auto}.footer-column-title{font-size:11px;font-weight:600;color:var(--text-primary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.footer-column .footer-links{display:flex;flex-direction:column;gap:2px}.footer-links-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:2px 16px!important}.footer-column .footer-links a{color:var(--text-secondary);text-decoration:none;font-size:12px;line-height:1.5}.footer-column .footer-links a:hover{color:var(--primary);text-decoration:underline}.footer-bottom{text-align:center;margin-top:12px;padding-top:8px;border-top:1px solid var(--border-color);font-size:11px;opacity:.6}.footer-sep{color:var(--border-color)}@media (max-width: 768px){.footer-columns{grid-template-columns:repeat(2,1fr);gap:16px}.footer-links-grid{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.app-footer{padding:16px 16px 8px}.footer-columns{grid-template-columns:1fr 1fr;gap:12px}}.static-page{min-height:100vh;background:var(--bg-secondary);display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}html:has(.static-page),html:has(.static-page) body{overflow:auto!important}.static-page-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;padding:40px;max-width:600px;width:100%}.static-page-card-wide{max-width:800px}.static-page-logo{display:block;font-size:24px;font-weight:700;color:var(--primary);text-decoration:none;margin-bottom:24px;text-align:center}.static-page-logo:hover{color:var(--primary-light)}.static-page h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px;text-align:center}.static-page-date{font-size:14px;color:var(--text-secondary);text-align:center;margin-bottom:32px}.static-page-content{line-height:1.8;color:var(--text-primary)}.static-page-content section{margin-bottom:32px}.static-page-content section:last-child{margin-bottom:0}.static-page-content h2{font-size:18px;font-weight:600;color:var(--primary);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--bg-secondary)}.static-page-content h3{font-size:15px;font-weight:600;color:var(--text-primary);margin:16px 0 8px}.static-page-content p{margin-bottom:12px;font-size:15px}.static-page-content ul,.static-page-content ol{margin:12px 0;padding-left:24px}.static-page-content li{margin-bottom:8px;font-size:15px}.static-page-content a{color:var(--primary);text-decoration:none}.static-page-content a:hover{text-decoration:underline}.static-page-footer{margin-top:40px;padding-top:24px;border-top:1px solid var(--border-color);text-align:center;font-size:14px}.static-page-footer a{color:var(--primary);text-decoration:none}.static-page-footer a:hover{text-decoration:underline}.footer-separator{margin:0 12px;color:var(--text-secondary)}.contact-info{background:var(--bg-secondary);padding:24px;border-radius:12px;text-align:center}.contact-email{display:inline-block;font-size:20px;font-weight:600;color:var(--primary);margin:12px 0;padding:12px 24px;background:#fff;border-radius:8px;text-decoration:none;transition:all .2s}.contact-email:hover{background:var(--primary);color:#fff}.contact-note{font-size:13px;color:var(--text-secondary);margin:0}.faq-item h3{margin:0 0 4px;font-size:14px}.faq-item p{margin:0;font-size:13px;color:var(--text-secondary)}@media (max-width: 600px){.static-page{padding:20px 12px}.static-page-card{padding:24px 20px}.static-page h1{font-size:24px}.static-page-content h2{font-size:16px}.footer-separator{display:none}.static-page-footer{display:flex;flex-direction:column;gap:12px}}.articles-loading,.articles-error{text-align:center;padding:40px 20px;color:var(--text-secondary)}.articles-error{color:var(--error)}.articles-list{display:grid;gap:16px}.article-card{display:block;background:var(--bg-secondary);padding:20px;border-radius:8px;text-decoration:none;color:inherit;transition:background .2s,transform .2s}.article-card:hover{background:var(--bg-tertiary);transform:translateY(-2px)}.article-card-title{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary)}.article-card-excerpt{display:block;font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}.article-card-date{font-size:13px;color:var(--text-secondary)}.article-date{display:block;font-size:14px;color:var(--text-secondary);margin-bottom:24px}.article-body{line-height:1.8;color:var(--text-primary)}.article-body h1{font-size:28px;margin:32px 0 16px}.article-body h2{font-size:22px;margin:28px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border)}.article-body h3{font-size:18px;margin:24px 0 12px}.article-body h4{font-size:16px;margin:20px 0 10px}.article-body p{margin:0 0 16px}.article-body ul,.article-body ol{margin:0 0 16px;padding-left:24px}.article-body li{margin-bottom:8px}.article-body blockquote{margin:16px 0;padding:16px 20px;background:var(--bg-secondary);border-left:4px solid var(--primary);border-radius:0 8px 8px 0}.article-body blockquote p{margin:0}.article-body a{color:var(--primary);text-decoration:underline}.article-body a:hover{color:var(--primary-dark)}.article-body hr{margin:32px 0;border:none;border-top:1px solid var(--border)}.article-image{margin:24px 0;text-align:center}.article-image img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.article-image figcaption{margin-top:8px;font-size:13px;color:var(--text-secondary);font-style:italic}.related-articles{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-light)}.related-articles h2{font-size:18px;font-weight:600;margin:0 0 16px;color:var(--text-primary)}.related-articles-list{display:flex;flex-direction:column;gap:12px}.related-article-card{display:block;padding:14px 16px;border-radius:8px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-light, #e2e8f0);text-decoration:none;transition:background .15s,border-color .15s}.related-article-card:hover{background:var(--bg-hover, #f1f5f9);border-color:var(--primary, #3b82f6)}.related-article-title{display:block;font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.related-article-date{display:block;font-size:12px;color:var(--text-tertiary);margin-bottom:6px}.related-article-excerpt{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 600px){.article-card{padding:16px}.article-card-title{font-size:16px}.article-body h1{font-size:24px}.article-body h2{font-size:20px}.article-body h3{font-size:17px}.related-article-card{padding:12px}.related-article-title{font-size:14px}}html:has(.user-account-page),html:has(.user-account-page) body{overflow:auto!important}.user-account-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:40px 20px;overflow-y:auto}.user-account-container{max-width:700px;margin:0 auto}.user-account-header{margin-bottom:24px}.user-account-header .back-link{color:var(--primary);text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:6px}.user-account-header .back-link:hover{text-decoration:underline}.user-account-header .back-link:before{content:"←"}.user-account-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:24px}.account-card{background:#fff;border-radius:16px;padding:24px 28px;box-shadow:0 4px 20px #1e3a5f14;margin-bottom:20px}.account-card .card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.account-info{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.info-row{display:flex;justify-content:space-between;align-items:center}.info-label{font-size:14px;color:var(--text-secondary)}.info-value{font-size:14px;color:var(--text-primary);font-weight:500}.premium-badge-inline{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:12px;font-weight:600;border-radius:12px}.premium-badge-inline:before{content:"★";font-size:10px}.account-actions{display:flex;gap:12px;padding-top:16px;border-top:1px solid #e2e8f0}.account-btn{padding:10px 20px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s;border:none}.account-btn.secondary{background:#f1f5f9;color:var(--text-primary)}.account-btn.secondary:hover{background:#e2e8f0}.account-btn.danger{background:#fef2f2;color:#dc2626}.account-btn.danger:hover{background:#fee2e2}.usage-summary-card{background:#fff;border-radius:16px;padding:24px 32px;box-shadow:0 4px 20px #1e3a5f14;margin-bottom:32px}.premium-status{display:flex;align-items:center;gap:16px}.premium-badge-large{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:14px;font-weight:600;border-radius:20px}.premium-badge-large:before{content:"★"}.unlimited-text{color:var(--text-secondary);font-size:15px}.usage-meter-container{display:flex;flex-direction:column;gap:12px}.usage-text{display:flex;align-items:baseline;gap:12px}.usage-count{font-size:32px;font-weight:700;color:var(--primary)}.usage-label{font-size:14px;color:var(--text-secondary)}.usage-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.usage-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,#3b82f6 100%);border-radius:4px;transition:width .3s ease}.usage-remaining{font-size:14px;color:var(--text-secondary)}.usage-month{font-size:12px;color:var(--text-tertiary)}.upgrade-btn{margin-top:16px;padding:12px 24px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .15s}.upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.no-routes-message{text-align:center;padding:32px 20px;color:var(--text-secondary)}.no-routes-message p{font-size:15px}.routes-list{display:flex;flex-direction:column;gap:8px}.route-list-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#f8fafc;border-radius:8px;text-decoration:none;color:var(--text-primary);transition:all .15s}.route-list-item:hover{background:#e2e8f0;transform:translate(4px)}.route-airline{font-weight:600;color:var(--primary);min-width:60px}.route-path{display:flex;align-items:center;gap:8px}.route-path .origin,.route-path .destination{font-weight:500;font-family:monospace;font-size:14px}.route-path .arrow{color:var(--text-tertiary)}.route-time{margin-left:auto;font-size:12px;color:var(--text-tertiary)}@media (max-width: 600px){.user-account-page{padding:20px 12px}.user-account-title{font-size:22px}.account-card{padding:20px 16px;border-radius:12px}.account-actions{flex-direction:column}.usage-count{font-size:28px}.routes-table th,.routes-table td{padding:10px 6px;font-size:12px}.routes-table-wrapper{border-radius:8px}.routes-table{min-width:500px}.route-itinerary{gap:8px}.route-leg{gap:6px;flex-wrap:nowrap}.route-direction{font-size:9px;padding:2px 5px;min-width:28px}.route-path{font-size:12px;white-space:nowrap}.route-path strong{font-size:12px}.route-path .path-name{font-size:10px}.route-duration-stack,.route-stops-stack{font-size:11px}.route-cell-price .route-price{font-size:11px;padding:3px 6px}}.destination-summary-table{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;overflow:visible}.dest-table-header{margin-bottom:16px}.dest-table-title{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 6px}.dest-table-description{font-size:13px;color:#6b7280;margin:0}.dest-cabin-section{margin-bottom:32px}.dest-cabin-section:last-child{margin-bottom:0}.dest-cabin-title{font-size:15px;font-weight:600;color:#374151;margin:0 0 12px;padding-left:12px;border-left:3px solid #3b82f6}.dest-loading-message{text-align:center;padding:32px;color:#6b7280;font-size:14px}.dest-table-wrapper{display:block;width:100%;overflow:auto;-webkit-overflow-scrolling:touch;max-height:70vh}.dest-table{min-width:800px;border-collapse:separate;border-spacing:0;font-size:13px}.dest-thead{position:sticky;top:0;z-index:10;background-color:#fff}.dest-header-row-1 .dest-th{border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.dest-header-row-1 .dest-th-name,.dest-header-row-1 .dest-th-price{background-color:#fff}.dest-header-row-2 .dest-th{border-bottom:2px solid #e5e7eb;background-color:#f9fafb;font-size:11px;font-weight:500}.dest-th{text-align:center;font-weight:600;color:#6b7280;padding:8px 6px;white-space:nowrap;background-color:#fff}.dest-th-sticky{min-width:130px;text-align:left;background-color:#fff;position:sticky;left:0;z-index:20;border-right:2px solid #e2e8f0;box-shadow:4px 0 8px -2px #0000001a}.dest-th-sticky:before{content:"";position:absolute;top:0;bottom:0;left:-100px;width:100px;background-color:#fff;z-index:-1}.dest-th-name{min-width:130px;text-align:left}.dest-th-price{min-width:80px;text-align:right;background-color:#fff}.dest-th-program{text-align:center;font-weight:700;color:#374151;border-left:1px solid #e5e7eb;padding:6px 8px}.dest-th-program-hint{display:block;font-size:10px;font-weight:500;color:#9ca3af;margin-bottom:2px}.dest-th-program-name{display:block;font-size:14px;font-weight:700}.dest-th-program-first,.dest-th-first-program{border-left:2px solid #e5e7eb}.dest-th-points,.dest-th-miles{min-width:60px;text-align:right}.dest-th-cost{min-width:50px;text-align:right;color:#9ca3af;font-size:10px}.dest-th-points{border-left:1px solid #e5e7eb}.dest-row{transition:background .15s}.dest-row:hover{background:#f9fafb}.dest-cell{padding:8px 6px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.dest-cell-name{font-weight:500;text-align:left;min-width:130px}.dest-cell-sticky{position:sticky;left:0;z-index:5;background-color:#fff;border-right:2px solid #e2e8f0;box-shadow:4px 0 8px -2px #0000001a}.dest-cell-sticky:before{content:"";position:absolute;top:0;bottom:0;left:-100px;width:100px;background-color:inherit;z-index:-1}.dest-row:hover .dest-cell-sticky{background-color:#f9fafb}.dest-row:hover .dest-cell-sticky:before{background-color:#f9fafb}.dest-cell-price{text-align:right}.dest-cell-points,.dest-cell-miles{text-align:right;font-weight:500}.dest-cell-points{border-left:1px solid #f3f4f6}.dest-cell-cost{text-align:right;font-size:11px}.dest-link{color:inherit;text-decoration:none;display:block}.dest-link:hover{color:var(--primary)}.dest-link-secondary{color:#9ca3af}.dest-link-secondary:hover{color:var(--primary)}.dest-cell-name .dest-link{display:flex;align-items:center;gap:8px}.dest-code{font-weight:600;color:#1f2937;font-size:13px}.dest-name{color:#6b7280;font-size:12px}.dest-skeleton{display:inline-block;width:50px;height:14px;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.dest-skeleton-sm{width:40px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.dest-pending,.dest-no-data{color:#d1d5db}.dest-crawler-note{margin-top:16px;padding:12px 16px;background:#f9fafb;border-radius:8px;font-size:12px;color:#6b7280;text-align:center}.destination-summary-table-v2{display:flex;flex-direction:column;gap:24px}.dest-loading-banner{background:linear-gradient(90deg,#dbeafe 25%,#bfdbfe,#dbeafe 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;padding:8px 16px;border-radius:8px;font-size:13px;color:#1e40af;text-align:center;font-weight:500}.dest-jump-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.dest-jump-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.dest-jump-link{padding:6px 12px;font-size:13px;font-weight:500;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .15s ease;font-family:inherit}.dest-jump-link:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.dest-section{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0}.dest-section-header{padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.dest-section-header-collapsible{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;border:none;text-align:left;font-family:inherit}.dest-section-header-collapsible:hover{background:#f1f5f9}.dest-section-header-content{flex:1}.dest-section-title{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 4px}.dest-section-description{font-size:13px;color:#64748b;margin:0;line-height:1.6}.dest-section-explanation{font-size:13px;color:#475569;margin:10px 0 0;padding:10px 14px;background:#f8fafc;border-radius:6px;border-left:3px solid #3b82f6;line-height:1.6}.dest-section-title-program{font-weight:400;color:#64748b;margin-left:6px}.dest-section-header-static{padding:16px 20px}.dest-section-toggle{font-size:12px;color:#94a3b8;transition:transform .2s ease;padding:8px}.dest-section-toggle.expanded{transform:rotate(180deg)}.dest-section-content{padding:16px}.dest-section.collapsed .dest-section-content{display:none}.dest-section-prices{border-color:#3b82f6;border-width:2px}.dest-section-prices .dest-section-header{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom-color:#93c5fd}.dest-section-prices .dest-section-title{color:#1e40af}.dest-price-table .dest-th-cabin-price{min-width:100px;text-align:right;font-weight:600;color:#374151}.dest-cell-cabin-price{text-align:right;font-weight:500;min-width:100px}.dest-section-program{border-color:#e2e8f0}.dest-section-program .dest-section-header{background:#f8fafc}.dest-program-cabin{margin-bottom:20px}.dest-program-cabin:last-child{margin-bottom:0}.dest-program-cabin-title{font-size:14px;font-weight:600;color:#475569;margin:0 0 12px;padding-left:12px;border-left:3px solid #3b82f6}.dest-program-table .dest-th-efficiency{min-width:70px;text-align:right;font-size:11px;color:#9ca3af}.dest-cell-efficiency{text-align:right;font-size:12px;color:#6b7280}.dest-efficiency-value{color:#6b7280}@media (max-width: 900px){.destination-summary-table{padding:12px 0;border-radius:0;background:#fff;margin:0 0 16px;width:100%;max-width:100vw;box-sizing:border-box}.dest-table-header{padding:0 16px;margin-bottom:12px}.dest-table-title{font-size:14px}.dest-table-description{font-size:12px}.dest-cabin-section{margin-bottom:24px}.dest-cabin-title{font-size:14px;margin:0 16px 10px;padding-left:10px}.dest-table-wrapper{overflow:auto;-webkit-overflow-scrolling:touch;padding:0 16px 8px;max-width:100%;max-height:60vh}.dest-table{font-size:11px;min-width:700px}.dest-th-sticky{min-width:90px;width:90px;z-index:20;background-color:#fff}.dest-cell-sticky{min-width:90px;width:90px;background-color:#fff}.dest-row:hover .dest-cell-sticky{background-color:#f9fafb}.dest-th,.dest-cell{padding:6px 4px}.dest-th-price{min-width:55px;width:55px}.dest-th-points,.dest-th-miles{min-width:40px}.dest-th-cost{min-width:35px;font-size:9px}.dest-th-program-hint{font-size:9px}.dest-th-program-name{font-size:11px}.dest-name{font-size:10px;display:block;margin-top:1px}.dest-cell-name .dest-link{flex-direction:column;align-items:flex-start;gap:0}.dest-code{font-size:11px;font-weight:600}.dest-cell-cost{font-size:10px}}.compare-destination-table{background:#fff;border-radius:12px;padding:24px;margin:20px 0;box-shadow:0 2px 8px #00000014;overflow:visible}.compare-table-title{font-size:16px;font-weight:600;margin:0 0 16px;color:#1f2937}.compare-cabin-section{margin-bottom:28px}.compare-cabin-section:last-child{margin-bottom:0}.compare-cabin-title{font-size:14px;font-weight:600;color:#1f2937;margin:0 0 12px;padding:8px 12px;background:linear-gradient(90deg,#f0f9ff 0%,transparent 100%);border-left:3px solid #3b82f6;border-radius:0 4px 4px 0}.compare-other-section{margin-top:24px}.compare-selected-tables{margin-top:12px}.compare-selected-tables .compare-cabin-section{margin-bottom:12px}.compare-selected-tables .compare-table-wrapper{max-height:none;overflow-x:auto;overflow-y:visible}.compare-selected-tables .compare-table{min-width:auto;width:auto;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.compare-selected-tables .compare-th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;padding:8px 12px;font-size:12px}.compare-selected-tables .compare-th-airline{min-width:80px;padding:8px 12px}.compare-selected-tables .compare-row{border-bottom:1px solid #f3f4f6}.compare-selected-tables .compare-row:last-child{border-bottom:none}.compare-selected-tables .compare-cell-price{padding:10px 12px;min-width:80px;background:#fff;font-size:13px}.compare-selected-tables .compare-row:hover .compare-cell-price{background:#f9fafb}.compare-thead{position:sticky;top:0;z-index:15;background:#f8fafc}.compare-thead th{position:sticky;top:0;background:#f8fafc!important;z-index:15}.compare-thead:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;box-shadow:0 2px 4px #0000001a}.compare-th-airline{text-align:center;min-width:120px;background-color:#f8fafc!important}.compare-th-airline .compare-airline-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.compare-airline-link{color:#374151;text-decoration:none;display:inline-flex;align-items:center;transition:color .15s ease}.compare-airline-link:hover{color:var(--primary)}.compare-row{border-bottom:1px solid #e5e7eb}.compare-row:nth-child(2n){background:#fafbfc}.compare-row:hover{background:#f3f4f6}.compare-row:nth-child(2n):hover{background:#f3f4f6}.compare-row:hover .compare-cell-sticky{background-color:#f9fafb}.compare-row:hover .compare-cell-sticky:before{background-color:#f9fafb}.compare-cell-dest{font-weight:500;text-align:left;padding:6px 10px}.compare-cell-price{text-align:center;padding:6px 8px;border-left:1px solid #e5e7eb}.compare-dest-link{color:#1f2937;text-decoration:none;display:flex;align-items:baseline;gap:8px}.compare-dest-link:hover{color:var(--primary)}.compare-dest-code{font-weight:700;font-size:13px;color:#1f2937}.compare-dest-name{font-weight:400;font-size:12px;color:#6b7280}.compare-price-link{color:#374151;text-decoration:none;font-weight:500}.compare-price-link:hover{color:var(--primary)}.compare-skeleton{display:inline-block;width:60px;height:14px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.compare-table-wrapper{display:block;width:100%;max-width:100%;overflow:auto;max-height:70vh;padding-left:0;margin-left:0;border-radius:8px}.compare-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;border:1px solid #e2e8f0;border-radius:8px}.compare-th{padding:6px 10px;text-align:left;font-weight:600;color:#374151;background:#f8fafc;border-bottom:2px solid #e2e8f0;white-space:nowrap;font-size:12px;letter-spacing:.02em}.compare-th-name{min-width:140px;position:sticky;top:0;left:0;z-index:20;background-color:#f5f6f7;box-shadow:4px 2px 8px -2px #0000001f;border-right:2px solid #e2e8f0}.compare-th-name:before{content:"";position:absolute;top:0;bottom:0;left:-100px;width:100px;background-color:#f5f6f7;z-index:-1}.compare-cell-sticky{position:sticky;left:0;z-index:5;background-color:#fff;min-width:140px;border-right:2px solid #e2e8f0;box-shadow:4px 0 8px -2px #0000001a;overflow:visible}.compare-cell-sticky:before{content:"";position:absolute;top:0;bottom:0;left:-100px;width:100px;background-color:inherit;z-index:-1}.compare-th-airline{text-align:center;min-width:100px;border-left:1px solid #d1d5db}.compare-th-cabin{text-align:center;min-width:90px;background:#f5f6f7}.compare-airline-row-item{background:#fff}.compare-airline-row-item:hover{background:#f9fafb}.compare-airline-row-item .compare-cell-sticky{background-color:#fff}.compare-airline-row-item .compare-cell-sticky:before{background-color:#fff}.compare-airline-row-item:hover .compare-cell-sticky,.compare-airline-row-item:hover .compare-cell-sticky:before{background-color:#f9fafb}.compare-dest-name-row .compare-cell-sticky{background-color:#f0f4f8}.compare-dest-name-row .compare-cell-sticky:before{background-color:#f0f4f8}.compare-dest-name-row:hover .compare-cell-sticky,.compare-dest-name-row:hover .compare-cell-sticky:before{background-color:#e8eef4}.compare-airline-row-last{border-bottom:2px solid #e5e7eb}.compare-cell-airline-label{font-weight:500;font-size:12px;color:#374151;padding-left:20px!important;display:flex;align-items:center;gap:8px}.compare-airline-indicator{width:4px;height:16px;border-radius:2px;flex-shrink:0}.compare-cabin-airline-label{font-weight:500}.compare-cabin-airline-label .compare-airline-indicator{display:inline-block;vertical-align:middle;margin-right:8px}.compare-row{transition:background-color .15s ease}.compare-row:hover{background-color:#f9fafb}.compare-cell{padding:12px 14px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.compare-cell-name{position:sticky;left:0;background:#fff;z-index:1;box-shadow:2px 0 4px #0000000d}.compare-row:hover .compare-cell-name{background:#f9fafb}.compare-cell-price{text-align:center;font-weight:500;font-variant-numeric:tabular-nums;transition:background-color .2s ease}.compare-link{text-decoration:none;color:inherit;display:flex;align-items:center;gap:8px}.compare-cell-name .compare-link{display:flex;flex-direction:row;align-items:center;gap:8px}.compare-code{font-weight:700;color:#1f2937;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;font-size:13px;background:#f3f4f6;padding:2px 6px;border-radius:4px}.compare-name{color:#6b7280;font-size:12px;margin-left:2px}.compare-no-data{color:#c9cdd3;font-size:12px}.compare-link:hover{color:#2563eb}.compare-row-selected,.compare-row-selected .compare-cell-name{background-color:#eff6ff!important}.compare-selected-header{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #00000014}.compare-selected-title{font-size:18px;font-weight:600;color:#1e40af;margin:0 0 8px}.compare-selected-description{font-size:14px;color:#374151;margin:0 0 10px;line-height:1.6}.compare-selected-explanation{font-size:13px;color:#475569;margin:0 0 16px;padding:10px 14px;background:#f0f9ff;border-radius:6px;border-left:3px solid #3b82f6;line-height:1.6}.compare-other-description{font-size:14px;color:#374151;margin:8px 0 10px;line-height:1.6}.compare-other-explanation{font-size:13px;color:#475569;margin:0 0 16px;padding:10px 14px;background:#f0fdf4;border-radius:6px;border-left:3px solid #22c55e;line-height:1.6}.compare-selected-hint{font-size:13px;color:#0369a1;margin:0 0 16px}.compare-selected-cards{display:flex;gap:12px;flex-wrap:wrap}.compare-airline-card{flex:1;min-width:120px;max-width:180px;background:#fff;border-radius:8px;padding:16px;text-decoration:none;border:1px solid #e2e8f0;border-top:4px solid #666;transition:all .2s ease;text-align:center}.compare-airline-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.compare-card-airline{font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.compare-card-price{font-size:16px;font-weight:700;color:#059669}.compare-cabin-breakdown{margin:16px 0;overflow-x:auto}.compare-cabin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;font-size:14px}.compare-cabin-th{padding:12px 16px;text-align:center;font-weight:600;background:#f8fafc;border-bottom:3px solid #e2e8f0;color:#374151}.compare-cabin-th:first-child{text-align:left;width:120px}.compare-cabin-airline-link{color:#374151;text-decoration:none}.compare-cabin-airline-link:hover{color:#0369a1}.compare-cabin-row{border-bottom:1px solid #e2e8f0}.compare-cabin-row:last-child{border-bottom:none}.compare-cabin-cell{padding:12px 16px;text-align:center}.compare-cabin-label{text-align:left;font-weight:500;color:#374151;background:#f8fafc}.compare-cabin-price-link{color:#374151;text-decoration:none;font-weight:500}.compare-cabin-price-link:hover{color:#111827;text-decoration:underline}.compare-table-cabin-rows{border-collapse:collapse}.compare-dest-name-row{background:#f0f4f8}.compare-dest-name-row:hover{background:#e8eef4}.compare-cell-dest-header{padding:12px 14px!important;background:#f0f4f8;font-weight:600}.compare-dest-name{color:#1f2937;font-size:14px}.compare-cell-dest-price{text-align:center;font-weight:600;background:#f0f4f8}.compare-dest-price-link{color:#1f2937;text-decoration:none;font-variant-numeric:tabular-nums}.compare-dest-price-link:hover{color:#2563eb}.compare-cell-dest-header-empty{padding:0!important;border-bottom:none!important;background:#f8fafc}.compare-cabin-row-item .compare-cell{border-bottom:none;padding:3px 12px}.compare-cabin-row-last .compare-cell{border-bottom:1px solid #e5e7eb;padding-bottom:10px}.compare-cell-cabin-label{font-size:12px;color:#6b7280;padding-left:24px!important}.compare-cell-cabin-price{text-align:center}.compare-cabin-cell-link{text-decoration:none;color:#374151;font-weight:500;font-size:12px;font-variant-numeric:tabular-nums;transition:color .15s ease}.compare-cabin-cell-link:hover{color:#111827}.compare-loading-indicator{font-size:12px;color:#9ca3af;font-weight:400}.compare-loading-row{background:#f9fafb}.compare-loading-cell{padding:16px!important;text-align:center}.compare-loading-text{color:#6b7280;font-size:13px}.compare-loading-prices{color:#6b7280;font-size:14px;padding:16px;text-align:center}.compare-no-route-data{color:#6b7280;font-size:14px;padding:24px 16px;text-align:center;background:#f9fafb;border-radius:8px;border:1px dashed #d1d5db}.compare-loading-dot{color:#9ca3af;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.compare-price-link{color:#1e40af;text-decoration:none;font-weight:600;transition:color .15s ease}.compare-price-link:hover{color:#1d4ed8}@media (max-width: 900px){.compare-destination-table{padding:12px 0;border-radius:0;background:#fff;margin:0 0 16px;width:100%;max-width:100vw;box-sizing:border-box;overflow:hidden}.compare-table-title{padding:0 16px;margin-bottom:12px;font-size:14px}.compare-cabin-section{margin-bottom:20px}.compare-cabin-title{font-size:13px;margin:0 16px 10px;padding-left:10px}.compare-other-section{margin-top:16px}.compare-th-airline{min-width:80px;font-size:11px}.compare-cell-price{padding:6px 4px;font-size:11px}.compare-price-link,.compare-dest-code{font-size:11px}.compare-dest-name{font-size:10px}.compare-dest-link{flex-direction:column;align-items:flex-start;gap:1px}.compare-table-wrapper{overflow:auto;-webkit-overflow-scrolling:touch;padding:0 16px 8px;max-width:100%;max-height:60vh}.compare-table{font-size:11px;min-width:500px;width:max-content}.compare-th,.compare-cell{padding:8px 6px}.compare-th{font-size:11px;white-space:nowrap}.compare-th-name{min-width:120px;z-index:20;background-color:#f5f6f7}.compare-cell-sticky{min-width:120px;background-color:#fff}.compare-dest-name-row .compare-cell-sticky{background-color:#f0f4f8}.compare-th-cabin{min-width:85px;text-align:center}.compare-dest-name{font-size:12px;font-weight:600}.compare-cell-dest-header{padding:10px 8px!important}.compare-cell-airline-label{padding-left:10px!important;font-size:11px}.compare-airline-indicator{width:3px;height:12px;margin-right:6px}.compare-cabin-cell-link,.compare-dest-price-link{font-size:11px}.compare-cell-cabin-price,.compare-cell-dest-price{text-align:center;font-size:11px}.compare-airline-row-item .compare-cell{padding:6px}.compare-selected-header{padding:16px;margin:0 16px 16px;border-radius:8px}.compare-selected-title{font-size:16px}.compare-selected-hint{font-size:12px}.compare-cabin-breakdown{overflow-x:auto;margin:12px -16px 0;padding:0 16px}.compare-cabin-table{min-width:400px}}.content-section{margin-bottom:40px;padding-top:32px;border-top:1px solid var(--border-light)}.content-section:first-of-type{border-top:none;padding-top:0}.section-title{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 8px;line-height:1.3;letter-spacing:-.02em}.section-subtitle{font-size:14px;color:var(--text-secondary);margin:0 0 20px;line-height:1.5}@media (max-width: 768px){.content-section{margin-bottom:32px;padding-top:24px}.section-title{font-size:18px}.section-subtitle{font-size:13px;margin-bottom:16px}}.overview-intro{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 16px;padding:0 4px}.route-faq{border:1px solid var(--border-light);border-radius:8px;overflow:hidden}.faq-item{border-bottom:1px solid var(--border-light)}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fafbfc;border:none;cursor:pointer;text-align:left;font-size:14px;font-weight:600;color:var(--text-primary);gap:12px;transition:background .15s}.faq-question:hover{background:#f1f5f9}.faq-question-text{flex:1}.faq-toggle{font-size:18px;color:var(--text-secondary);flex-shrink:0;width:24px;text-align:center}.faq-answer{padding:12px 16px 16px;font-size:14px;color:var(--text-secondary);line-height:1.6;background:#fff}.faq-answer p{margin:0}.related-routes{display:flex;flex-direction:column;gap:20px}.related-routes-heading{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 10px}.related-routes-links{display:flex;flex-wrap:wrap;gap:8px}.related-route-link{display:inline-block;padding:6px 14px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#1e40af;text-decoration:none;transition:background .15s,border-color .15s}.related-route-link:hover{background:#e0e7ff;border-color:#c7d2fe}.related-route-compare{background:#eff6ff;border-color:#bfdbfe;font-weight:600}.flight-overview-header{margin-bottom:20px}.flight-overview-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.flight-overview-subtitle{font-size:14px;color:var(--text-secondary);margin:0}.flight-overview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;padding:20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px}.flight-stat{display:flex;flex-direction:column;text-align:center;padding:8px}.flight-stat-label{font-size:11px;color:#64748b;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.flight-stat-value{font-size:18px;font-weight:700;color:#1e293b;line-height:1.2}.flight-overview-fares{margin-bottom:28px}.flight-overview-subsection-title{font-size:15px;font-weight:600;color:#374151;margin:0 0 14px}.fares-by-cabin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.fare-cabin-item{display:flex;flex-direction:column;padding:14px 16px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;transition:transform .15s ease,box-shadow .15s ease}.fare-cabin-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.fare-cabin-item.cabin-economy{border-top:3px solid #22c55e;background:linear-gradient(180deg,#f0fdf4,#fff 40%)}.fare-cabin-item.cabin-premium_economy{border-top:3px solid #3b82f6;background:linear-gradient(180deg,#eff6ff,#fff 40%)}.fare-cabin-item.cabin-business{border-top:3px solid #8b5cf6;background:linear-gradient(180deg,#f5f3ff,#fff 40%)}.fare-cabin-item.cabin-first{border-top:3px solid #f59e0b;background:linear-gradient(180deg,#fffbeb,#fff 40%)}.fare-cabin-name{font-size:12px;font-weight:600;margin-bottom:6px}.fare-cabin-item.cabin-economy .fare-cabin-name{color:#15803d}.fare-cabin-item.cabin-premium_economy .fare-cabin-name{color:#1d4ed8}.fare-cabin-item.cabin-business .fare-cabin-name{color:#6d28d9}.fare-cabin-item.cabin-first .fare-cabin-name{color:#b45309}.fare-cabin-price{font-size:17px;font-weight:700;color:#1e293b}.fare-cabin-price .fare-price-max{font-weight:400;font-size:13px;color:#64748b}.routes-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000000a}.routes-table{width:100%;border-collapse:collapse;min-width:650px}.routes-table th{text-align:left;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap}.routes-table th:first-child{border-radius:10px 0 0}.routes-table th:last-child{border-radius:0 10px 0 0}.routes-table th.route-th-itinerary{min-width:260px}.routes-table th.route-th-duration,.routes-table th.route-th-stops{text-align:center;min-width:80px}.routes-table th.route-th-cabin{text-align:right;min-width:90px}.routes-table th.route-th-cabin.cabin-economy{color:#15803d}.routes-table th.route-th-cabin.cabin-premium_economy{color:#1d4ed8}.routes-table th.route-th-cabin.cabin-business{color:#6d28d9}.routes-table th.route-th-cabin.cabin-first{color:#b45309}.routes-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .15s ease}.routes-table tbody tr:hover{background:#f8fafc}.routes-table tbody tr:last-child{border-bottom:none}.routes-table td{padding:14px;font-size:13px;vertical-align:middle}.routes-table .route-cell-duration,.routes-table .route-cell-stops{text-align:center;color:#475569;font-size:13px;font-weight:500}.routes-table .route-cell-price{text-align:right}.routes-table .route-cell-price .route-price{font-weight:600;font-size:13px;padding:4px 8px;border-radius:4px;display:inline-block}.routes-table .route-cell-price.cabin-economy .route-price{color:#15803d;background:#f0fdf4}.routes-table .route-cell-price.cabin-premium_economy .route-price{color:#1d4ed8;background:#eff6ff}.routes-table .route-cell-price.cabin-business .route-price{color:#6d28d9;background:#f5f3ff}.routes-table .route-cell-price.cabin-first .route-price{color:#b45309;background:#fffbeb}.routes-table .route-cell-price .route-price-na{color:#94a3b8;font-weight:400}.route-itinerary{display:flex;flex-direction:column;gap:6px}.route-leg{display:flex;align-items:center;gap:8px}.route-direction{font-size:10px;font-weight:600;color:#fff;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#94a3b8;min-width:32px;text-align:center;flex-shrink:0}.route-path{font-size:13px;color:#1e293b;white-space:nowrap}.route-path strong{font-weight:600;color:#1e40af}.route-path .path-name{color:#64748b;font-size:12px}.route-path .path-arrow{color:var(--text-tertiary);margin:0 2px}.route-path .path-airport{white-space:nowrap}.route-duration-stack,.route-stops-stack{display:flex;flex-direction:column;gap:4px;font-size:13px}.route-duration-stack span,.route-stops-stack span{padding:2px 0}.flight-overview-routes{margin-top:32px}.flight-overview-routes-title{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 8px}.flight-overview-routes-desc{font-size:13px;color:#64748b;margin:0 0 16px;line-height:1.5}.route-options-more{margin-top:12px;font-size:13px;color:#64748b;text-align:center}.route-options-list{display:flex;flex-direction:column;gap:12px}.route-option-card{background:var(--background-alt);border-radius:8px;padding:12px 16px}.route-option-leg{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:4px 0}.route-option-leg+.route-option-leg{border-top:1px dashed var(--border-light);margin-top:8px;padding-top:12px}.route-leg-direction{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;min-width:60px}.route-leg-path{font-size:14px;font-weight:600;color:var(--text-primary);font-family:monospace}.route-leg-info{font-size:13px;color:var(--text-secondary);margin-left:auto}.route-options-more{font-size:13px;color:var(--text-tertiary);text-align:center;margin:8px 0 0;font-style:italic}.route-option-prices{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.route-cabin-price{display:flex;flex-direction:column;align-items:center;padding:6px 12px;border-radius:6px;background:var(--background);min-width:80px}.route-cabin-price .cabin-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:2px}.route-cabin-price .cabin-price{font-size:13px;font-weight:700;color:var(--text-primary)}.route-cabin-price.cabin-economy{border-left:3px solid #4CAF50}.route-cabin-price.cabin-premium_economy{border-left:3px solid #2196F3}.route-cabin-price.cabin-business{border-left:3px solid #9C27B0}.route-cabin-price.cabin-first{border-left:3px solid #FF9800}.flight-overview-comparison{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-light)}.flight-overview-comparison-desc{font-size:13px;color:var(--text-secondary);margin:0 0 12px}@media (max-width: 768px){.route-option-prices{gap:6px}.route-cabin-price{min-width:70px;padding:4px 8px}.route-cabin-price .cabin-label{font-size:9px}.route-cabin-price .cabin-price{font-size:12px}.flight-overview-stats{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}.flight-stat-value{font-size:16px}.fares-by-cabin-grid{grid-template-columns:repeat(2,1fr);gap:10px}.fare-cabin-item{padding:12px}.fare-cabin-price{font-size:15px}.routes-table th,.routes-table td{padding:10px 8px;font-size:12px}.route-direction{font-size:9px;padding:2px 4px;min-width:28px}}@media (max-width: 480px){.flight-overview-stats{grid-template-columns:1fr 1fr;padding:14px;gap:10px}.flight-stat-label{font-size:10px}.flight-stat-value{font-size:15px}.fares-by-cabin-grid{grid-template-columns:1fr 1fr}.fare-cabin-item{padding:10px}.fare-cabin-name{font-size:11px}.fare-cabin-price{font-size:14px}}.path-with-names{display:inline}.path-arrow{color:#94a3b8;font-weight:400}.path-airport{display:inline-flex;align-items:baseline;gap:4px}.path-code{font-weight:600;color:#1e293b;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.path-name{font-weight:400;color:#64748b;font-size:.9em}.flight-overview-content .flight-overview-stats{margin-bottom:20px}.flight-overview-content .flight-overview-routes{margin-top:0}.route-leg-path .path-code{font-weight:600;color:#1e293b}.route-leg-path .path-name{color:#64748b;font-weight:400}.route-leg-path .path-arrow{color:#94a3b8;margin:0 2px}.route-booking-ctas-top{display:flex;flex-direction:column;gap:10px;margin-top:24px;margin-bottom:16px}.route-booking-ctas-top .airline-banner,.route-booking-ctas-top .expedia-banner{margin:0}.flight-info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:24px}.info-card{padding:16px 18px;border-radius:10px;border:1px solid #e2e8f0;background:#fff}.info-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.info-card-icon{font-size:18px}.info-card-label{font-size:14px;font-weight:600;color:#1e293b}.info-card-text{font-size:13px;color:#475569;line-height:1.7;margin:0}.info-card-explanation{background:linear-gradient(135deg,#eff6ff,#f8fafc);border-color:#bfdbfe}.info-card-explanation .info-card-label{color:#1e40af}.info-card-tip{background:linear-gradient(135deg,#fefce8,#f8fafc);border-color:#fde68a}.info-card-tip .info-card-label{color:#a16207}@media (max-width: 768px){.flight-info-cards{grid-template-columns:1fr;gap:12px}.info-card{padding:14px 16px}.info-card-text{font-size:12px}}.route-comparison-inline,.route-comparison-inline .comparison-table-wrapper{margin-top:0}.path-group-header .path-route .path-with-names{font-size:14px}.path-group-header .path-route .path-code{font-size:13px}.path-group-header .path-route .path-name{font-size:12px}@media (max-width: 768px){.route-booking-ctas-top{gap:8px}.path-group-header .path-route .path-name{display:none}.route-leg-path .path-name{font-size:12px}}@media (max-width: 480px){.route-leg-path{flex-direction:column;align-items:flex-start}.route-leg-path .path-airport{flex-wrap:wrap}}
