.login-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1f36,#2c3358);padding:1rem;z-index:9999}.login-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 20px 50px #0000004d;width:100%;max-width:380px;display:flex;flex-direction:column;gap:1rem}.login-card h1{margin:0;font-size:1.5rem;color:#1a1f36}.login-sub{margin:0 0 .5rem;color:#6b7280;font-size:.9rem}.login-card label{display:flex;flex-direction:column;font-size:.85rem;color:#374151;font-weight:500;gap:.35rem}.login-card input{padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;outline:none}.login-card input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e526}.login-card button{margin-top:.5rem;padding:.7rem;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer}.login-card button:disabled{background:#9ca3af;cursor:not-allowed}.login-error{background:#fef2f2;color:#b91c1c;padding:.5rem .75rem;border-radius:6px;font-size:.85rem}.sidebar{width:72px;background-color:var(--color-sidebar-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;padding:1rem 0;flex-shrink:0}.sidebar__logo{width:48px;height:auto;margin-bottom:1.5rem;display:block}.sidebar__nav{display:flex;flex-direction:column;gap:.5rem;width:100%;align-items:center}.sidebar__item{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--color-sidebar-icon);border-radius:6px;text-decoration:none;transition:background-color .15s,color .15s}.sidebar__item:hover{background-color:var(--color-bg);color:var(--color-text)}.sidebar__item--active{color:var(--color-sidebar-icon-active);background-color:var(--color-bg)}.sidebar__item--logout{margin-top:auto;background:transparent;border:none;padding:0;cursor:pointer;font:inherit}.app-layout{display:flex;height:100vh;width:100vw;overflow:hidden}.app-layout__main{flex:1;display:flex;flex-direction:column;overflow:hidden}.app-layout__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;background-color:var(--color-bg);gap:1rem}.app-layout__title{font-size:1.5rem;font-weight:500;margin:0}.app-layout__actions{display:flex;gap:.75rem}.app-layout__content{flex:1;overflow-y:auto;padding:0 2rem 2rem}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.25rem 1.5rem}.card.results-banner{margin-bottom:1rem}.card__title{font-size:1rem;font-weight:500;margin:0 0 1rem;color:var(--color-text)}.card__body{display:flex;flex-direction:column;gap:1rem}.modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#11182773;display:flex;align-items:center;justify-content:center;z-index:100;padding:2rem}.modal{background-color:var(--color-surface);border-radius:var(--radius-card);box-shadow:0 10px 30px #0000002e;width:100%;max-width:720px;max-height:80vh;display:flex;flex-direction:column}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal__title{margin:0;font-size:1.1rem;font-weight:600}.modal__close{background:transparent;border:none;font-size:1.5rem;color:var(--color-text-muted);line-height:1;padding:0 .25rem}.modal__close:hover{color:var(--color-text)}.modal__body{padding:1.25rem 1.5rem;overflow-y:auto;overflow-x:hidden}.card-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.card-metrics__item{display:flex;align-items:baseline;justify-content:flex-end;gap:.55rem}.card-metrics__label{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--color-text-muted);min-width:3.2rem;text-align:right}.card-metrics__value{font-size:1.3rem;font-weight:800;color:#12477d;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.15}.card-metrics__unit{font-size:.72rem;font-weight:500;color:var(--color-text-muted);margin-left:.1rem}.recommended-airline{background-color:#ecf5fd;border:1px solid hsl(210,60%,80%);border-radius:var(--radius-card);padding:1rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-card)}.recommended-airline__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#2261a0;font-weight:700}.recommended-airline__main{display:flex;align-items:baseline;justify-content:space-between;margin-top:.4rem;gap:1rem;flex-wrap:wrap}.recommended-airline__airline{display:flex;flex-direction:column;gap:.35rem}.recommended-airline__airline-line{display:flex;align-items:baseline;gap:.6rem}.recommended-airline__badges{display:flex;flex-wrap:wrap;gap:.35rem}.recommended-airline__badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .5rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-primary)}.recommended-airline__badge--primary{background:var(--color-accent);color:#fff}.recommended-airline__code{font-size:1.6rem;font-weight:800;color:#12477d;letter-spacing:.02em}.recommended-airline__name{font-size:1rem;color:var(--color-text)}.recommended-airline__rate-wrap{display:flex;flex-direction:column;align-items:flex-end}.recommended-airline__rate{font-size:1.6rem;font-weight:800;color:#12477d;font-variant-numeric:tabular-nums;line-height:1.1}.recommended-airline__rate-note{font-size:.75rem;color:var(--color-text-muted);margin-top:.15rem;font-variant-numeric:tabular-nums}.recommended-airline__unit{font-size:.85rem;font-weight:500;color:var(--color-text-muted)}.recommended-airline__detail{font-size:.85rem;color:var(--color-text-muted);margin-top:.45rem;line-height:1.4}.recommended-airline--empty{background-color:var(--color-bg);border-color:var(--color-border);display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem}.recommended-airline__none{font-size:.85rem;color:var(--color-text-muted)}.score-waterfall{margin-top:.9rem;padding-top:.8rem;border-top:1px solid hsl(210,60%,86%)}.score-waterfall__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.45rem}.score-waterfall__title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#369}.score-waterfall__total{font-size:.85rem;font-weight:700;color:#12477d;font-variant-numeric:tabular-nums}.score-waterfall__bar{display:flex;height:22px;border-radius:4px;background-color:#fff9;border:1px solid hsl(210,50%,80%)}.score-waterfall__segment:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.score-waterfall__segment:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.score-waterfall__segment{display:flex;align-items:center;justify-content:center;height:100%;min-width:0;transition:opacity .15s;border-right:1px solid rgba(255,255,255,.4);position:relative}.score-waterfall__segment:last-child{border-right:none}.score-waterfall__segment:hover{opacity:.85}.score-waterfall__remainder{height:100%;background-color:#dce0e5;background-image:repeating-linear-gradient(-45deg,hsl(210,16%,78%) 0,hsl(210,16%,78%) 4px,transparent 4px,transparent 8px);border-top-right-radius:4px;border-bottom-right-radius:4px}.score-waterfall__bar-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-muted, #9ca3af)}.score-waterfall__segment-label{color:#fff;font-size:.7rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.25);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-waterfall__legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.55rem}.score-waterfall__legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;cursor:default}.score-waterfall__legend-item--zero{opacity:.5;font-style:italic;cursor:help}.score-waterfall__legend-item--zero .score-waterfall__swatch{background-color:var(--color-text-muted, #9ca3af)!important}.criterion-tooltip--portal{position:fixed;transform:translate(-50%,calc(-100% - 8px));width:280px;background:var(--color-tooltip-bg);color:#f9fafb;font-size:.75rem;line-height:1.35;padding:.55rem .7rem;border-radius:6px;box-shadow:0 8px 18px #00000047;pointer-events:none;z-index:1000}.criterion-tooltip__title{display:flex;justify-content:space-between;font-weight:700;margin-bottom:.2rem}.criterion-tooltip__value{font-variant-numeric:tabular-nums}.criterion-tooltip__desc{color:#d1d5db}.criterion-tooltip__detail{margin-top:.3rem;color:#f3f4f6;font-weight:600}.criterion-tooltip__math{margin-top:.4rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.12);color:#e5e7eb;font-variant-numeric:tabular-nums}.criterion-tooltip__body{margin-top:.4rem;display:flex;flex-direction:column;gap:.2rem}.criterion-tooltip__rows{display:flex;flex-direction:column;gap:.2rem}.criterion-tooltip__row{display:flex;justify-content:space-between;gap:.5rem;color:#e5e7eb;font-variant-numeric:tabular-nums}.criterion-tooltip__row-label{color:#d1d5db}.criterion-tooltip__row-value{font-weight:600}.score-waterfall__swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.score-waterfall__legend-label{color:var(--color-text)}.score-waterfall__legend-value{font-weight:700;font-variant-numeric:tabular-nums;color:#24598f}.score-waterfall__legend-value.is-negative{color:#b91c1c}.score-waterfall__penalty{margin-top:.4rem;font-size:.75rem;color:#b91c1c;font-weight:600}.recommended-airline__contrast{margin-top:.9rem;padding-top:.8rem;border-top:1px solid hsl(210,60%,86%)}.recommended-airline__contrast-toggle{background:transparent;border:1px solid hsl(210,50%,75%);border-radius:var(--radius-input);padding:.5rem .9rem;font-size:.8rem;font-weight:600;color:#1b4d7e;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;font-family:inherit;transition:background-color .15s}.recommended-airline__contrast-toggle:hover{background-color:#daebfb}.recommended-airline__chevron{font-size:.75rem}.score-contrast{margin-top:.7rem}.score-contrast__table{width:100%;border-collapse:collapse;font-size:.85rem;background-color:#ffffffb3;border-radius:6px;overflow:hidden}.score-contrast__table th{text-align:left;padding:.45rem .75rem;background-color:#dcebf9;color:#194776;font-weight:700;font-size:.78rem}.score-contrast__table th:nth-child(n+2){text-align:right}.score-contrast__th-sub{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:#4d80b3;margin-top:.15rem}.score-contrast__table td{padding:.4rem .75rem;border-top:1px solid hsl(210,60%,88%);font-variant-numeric:tabular-nums}.score-contrast__criterion{color:var(--color-text)}.score-contrast__value,.score-contrast__delta{text-align:right;font-weight:600}.score-contrast__table tr.is-primary-win .score-contrast__delta{color:#1f9346}.score-contrast__table tr.is-runnerup-win .score-contrast__delta{color:#b91c1c}.score-contrast__table tr.is-tied .score-contrast__delta{color:var(--color-text-muted)}.score-contrast__total-row td{background-color:#e5f0fa;font-weight:700;color:#194776;border-top:2px solid hsl(210,50%,75%)}.score-contrast__summary{margin-top:.5rem;font-size:.78rem;color:var(--color-text-muted);text-align:center}.criterion-tooltip--portal.criterion-tooltip--below{transform:translate(-50%,8px)}.recommended-airline__bottom-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.recommended-airline__pick{display:flex;flex-direction:column;align-items:flex-end}.recommended-airline__pick-btn{background:var(--color-accent);color:#fff;border:none;border-radius:999px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s;white-space:nowrap}.recommended-airline__pick-btn:hover:not(:disabled){background:#d63b00}.recommended-airline__pick-btn:disabled{opacity:.6;cursor:not-allowed}.recommended-airline__pick-btn--selected{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.recommended-airline__pick-btn--selected:hover:not(:disabled){background:var(--color-bg)}.recommended-airline__pick-error{margin-top:.3rem;font-size:.7rem;color:#b91c1c}.recommended-airline__pick-note{margin-top:.35rem;max-width:18rem;font-size:.72rem;font-style:italic;color:var(--color-text-muted);text-align:right;overflow-wrap:anywhere}.recommended-airline__note-modal{display:flex;flex-direction:column;gap:.6rem}.recommended-airline__note-label{font-size:.8rem;font-weight:600;color:var(--color-text)}.recommended-airline__note-input{width:100%;box-sizing:border-box;padding:.55rem .65rem;font:inherit;font-size:.85rem;color:var(--color-text);border:1px solid var(--color-accent-soft);border-radius:6px;resize:vertical}.recommended-airline__note-input:focus{outline:none;border-color:var(--color-accent)}.recommended-airline__note-actions{display:flex;justify-content:flex-end;gap:.5rem}.recommended-airline__note-cancel,.recommended-airline__note-confirm{padding:.45rem .9rem;font-size:.8rem;font-weight:600;border-radius:6px;cursor:pointer;border:1px solid transparent}.recommended-airline__note-cancel{background:transparent;border-color:var(--color-accent-soft);color:var(--color-text)}.recommended-airline__note-confirm{background:var(--color-accent);color:#fff}.recommended-airline__note-confirm:disabled,.recommended-airline__note-cancel:disabled{opacity:.6;cursor:default}.recommended-airline__pick-row{display:flex;gap:.5rem;align-items:center}.matrix{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);overflow:hidden}.matrix__grid{display:grid;width:100%}.matrix__corner{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);display:flex;align-items:center;justify-content:center}.matrix__nav-cell{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:center}.matrix__nav{background:transparent;border:1px solid var(--color-border);border-radius:4px;width:32px;height:32px;font-size:1.2rem;color:var(--color-text);line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s}.matrix__nav:hover{background-color:var(--color-bg)}.matrix__cell--filler{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);min-height:0}.matrix__date-header{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);background-color:var(--color-surface)}.matrix__date-weekday{font-size:.85rem;font-weight:600;color:var(--color-text)}.matrix__date-from{font-size:.75rem;color:var(--color-text-muted);margin-top:.15rem}.matrix__airline-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem .5rem;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);gap:.4rem;position:relative}.matrix__airline-cell--clickable{background:transparent;border-top:none;border-left:none;font:inherit;color:inherit;cursor:pointer;text-align:center}.matrix__airline-cell--clickable:hover{background-color:#f7f8fa}.matrix__airline-cell--expanded{background-color:var(--color-bg, #f0f2f7)}.matrix__airline-chevron{position:absolute;top:6px;right:8px;font-size:.75rem;color:var(--color-text-muted);line-height:1}.matrix__cell--stack{display:flex;flex-direction:column;padding:0;gap:0}.matrix__cell--stack>.matrix__cell{flex:1 1 0;min-height:0;margin:0;border-right:none;border-radius:0;width:100%}.matrix__cell--stack>.matrix__cell:first-child{border-bottom:none}.matrix__cell--stack>.matrix__cell:last-child{border-bottom:none}.matrix__cell.matrix__cell--thin{min-height:70px;padding:.4rem;gap:.05rem;border-radius:0}.matrix__airline-cell--compact{padding:.1rem .5rem;gap:.05rem}.matrix__cell--thin .quote-cell{padding:.1rem .3rem;gap:.25rem;justify-content:center}.matrix__cell--thin .quote-cell__rates{margin-top:0}.matrix__cell--thin .quote-cell__duration,.matrix__cell--thin .quote-cell__rate,.matrix__cell--thin .quote-cell__total{font-size:.78rem}.quote-cell__frequency-row{display:flex}.quote-cell__frequency{background:#fde2e4;color:#c0392b;font-weight:600;font-size:.62rem;letter-spacing:.01em;padding:.08rem .32rem;border-radius:999px;white-space:nowrap;line-height:1.25}.matrix__airline-logo{width:40px;height:40px;border-radius:50%;background-color:var(--color-bg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:var(--color-text)}.matrix__airline-name{font-size:.75rem;color:var(--color-text-muted);text-align:center;line-height:1.2;padding:0 .25rem}.matrix__airline-rate{font-size:.75rem;font-weight:600;color:var(--color-text);text-align:center;margin-top:.25rem;line-height:1.2}.matrix__airline-rate--unstable{color:var(--color-text-muted);font-weight:500}.matrix__airline-rate-label{display:block;font-size:.6rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);margin-top:.1rem}.matrix__cell{padding:.5rem;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:.5rem;min-height:90px}.matrix__cell--empty{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-text-muted);font-size:.8rem;background-color:#fafafa}.matrix__cell--clickable{position:relative;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background-color .15s;border:none;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);outline:none}.matrix__cell--clickable:focus,.matrix__cell--clickable:focus-visible{outline:none;background-color:#f3f4f6}.matrix__cell--clickable:hover{background-color:#f3f4f6}.matrix__cell--best-of-day{box-shadow:inset 0 0 0 2px #2b8cee}.matrix__cell--best-of-day:hover{background-color:#9ac7f4!important}.matrix__cell--filtered .quote-cell{opacity:.55;text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:#6b7280a6}.matrix__cell--filtered:hover{background-color:#e6e6e6!important}.quote-cell__rate-list-item.is-filtered{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:#6b7280a6;opacity:.6;color:var(--color-text-muted)!important}.matrix__cell-badge{position:absolute;top:4px;right:4px;background-color:var(--color-primary);color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:10px;z-index:1}.matrix__cell-score{position:absolute;top:4px;left:4px;background-color:#111827bf;color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:10px;z-index:1;letter-spacing:.02em;opacity:0;pointer-events:none;transition:opacity .12s ease-in-out}.matrix__cell--clickable:hover .matrix__cell-score{opacity:1}.matrix__cell-prob{font-weight:500;opacity:.85}.score-tooltip__probability{font-size:.85rem;font-weight:600;color:#86efac;margin-bottom:.5rem}.score-tooltip__filtered{font-size:.8rem;font-weight:600;color:#fca5a5;margin-bottom:.5rem}.score-tooltip{position:fixed;width:280px;background-color:#111827;color:#f3f4f6;padding:.75rem .9rem;border-radius:6px;box-shadow:0 10px 25px #00000040;font-size:.8rem;pointer-events:none;z-index:1000}.score-tooltip__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.25rem}.score-tooltip__flight{font-weight:700;letter-spacing:.02em}.score-tooltip__total{font-size:1.05rem;font-weight:700;color:#86efac}.score-tooltip__sub{font-size:.7rem;color:#9ca3af;margin-bottom:.5rem}.score-tooltip__breakdown{border-top:1px solid rgba(255,255,255,.15);padding-top:.5rem;display:flex;flex-direction:column;gap:.2rem}.score-tooltip__row{display:flex;justify-content:space-between;font-size:.75rem}.score-tooltip__label{color:#9ca3af}.score-tooltip__value{font-weight:600;color:#f3f4f6}.flight-item__score{font-size:.75rem;color:var(--color-primary);font-weight:600;margin-top:.15rem}.route-score-modal{display:flex;flex-direction:column;gap:.75rem}.route-score-modal__main{display:flex;justify-content:space-between;align-items:baseline}.route-score-modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.4rem}.route-score-modal__header-left{display:flex;flex-direction:column;gap:.35rem;min-width:0;flex:1}.route-score-modal__header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;flex-shrink:0}.route-score-modal__airline{display:flex;align-items:baseline;gap:.6rem}.route-score-modal__code{font-size:1.6rem;font-weight:800;color:#12477d;letter-spacing:.02em}.route-score-modal__name{font-size:1rem;color:var(--color-text)}.route-score-modal__badge{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#12477d;background:#daebfb;padding:.15rem .5rem;border-radius:999px}.route-score-modal__rate{font-size:1.6rem;font-weight:800;color:#12477d;font-variant-numeric:tabular-nums}.route-score-modal__unit{font-size:.85rem;font-weight:500;color:var(--color-text-muted)}.route-score-modal__sub{font-size:.85rem;color:var(--color-text-muted);display:flex;align-items:center;flex-wrap:wrap;gap:.15rem}.route-score-modal__path{display:inline-flex;align-items:center;gap:.35rem}.route-score-modal__airport{font-weight:600;color:var(--color-text)}.route-score-modal__leg-glyph{font-size:.9rem;line-height:1;display:inline-flex;align-items:center;color:var(--color-text-muted)}.route-score-modal__schedule{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem;font-size:.85rem;color:var(--color-text);font-variant-numeric:tabular-nums}.route-score-modal__schedule-time{font-weight:600}.route-score-modal__schedule-arrow{color:var(--color-text-muted)}.route-score-modal__schedule-offset{color:var(--color-danger, #c0392b);font-weight:600}.route-score-modal__alternates{margin-top:.25rem}.route-score-modal__alternates-toggle{background:transparent;border:none;padding:.15rem 0;font:inherit;color:var(--color-text-muted);font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.route-score-modal__alternates-toggle:hover{color:var(--color-text)}.route-score-modal__alternates-chevron{font-size:.7rem;line-height:1}.route-score-modal__alternates-list{list-style:none;margin:.45rem 0 0;padding:0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.route-score-modal__alternates-item{display:grid;grid-template-columns:minmax(140px,1fr) 1fr;align-items:baseline;gap:.5rem;padding:.4rem .7rem;font-size:.82rem;border-bottom:1px solid var(--color-border)}.route-score-modal__alternates-item:last-child{border-bottom:none}.route-score-modal__alternates-times{font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-text)}.route-score-modal__alternates-offset{font-weight:600;color:var(--color-danger, #c0392b)}.route-score-modal__first-leg{font-weight:700;color:#1861aa}.route-score-modal__alternates-flight{color:var(--color-text-muted);text-align:right}.route-score-modal__no-score{font-size:.85rem;color:var(--color-text-muted);font-style:italic}.route-score-modal__compare{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.75rem}.route-score-modal__compare-label{font-size:.8rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.5rem}.route-score-modal__compare-select{font:inherit;font-size:.85rem;padding:.3rem .5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);flex:1;min-width:0}.modal-flight-list{display:flex;flex-direction:column;gap:.5rem}.flight-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:6px;background-color:#fafafa;gap:1rem}.flight-item--filtered{background-color:#f2f2f2;border-color:#e0e0e0}.flight-item--filtered .flight-item__main,.flight-item--filtered .flight-item__rate{opacity:.55;text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:#6b7280a6}.flight-item__filter-reason{flex-basis:100%;font-size:.75rem;font-weight:600;color:#b45309;background-color:#fef3c7;border:1px solid #fde68a;border-radius:4px;padding:.3rem .5rem;margin-top:.25rem}.flight-item__main{display:flex;flex-direction:column;gap:.3rem;min-width:0}.flight-item__route{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.flight-item__via{font-size:.75rem;color:var(--color-text-muted);font-weight:400}.flight-item__meta{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--color-text-muted);flex-wrap:wrap}.flight-item__frequency{background:var(--color-accent-soft, #eef2ff);color:var(--color-accent, #3b5bdb);font-weight:600;font-size:.7rem;padding:.1rem .4rem;border-radius:999px}.flight-item__rate{text-align:right;flex-shrink:0}.flight-item__total{font-size:.8rem;color:var(--color-text-muted);margin-top:.15rem}.quote-cell{padding:.5rem .6rem;border-radius:4px;background-color:var(--color-surface, #ffffff);display:flex;flex-direction:column;gap:.15rem;flex:1;min-height:0;transition:background-color .15s}.matrix__cell--clickable:hover .quote-cell{background-color:#f7f8fa}.quote-cell__route{display:flex;align-items:center;gap:.3rem;font-weight:600;font-size:.85rem;flex-wrap:nowrap;min-width:0}.quote-cell__glyph{color:var(--color-text-muted);font-size:.85rem;display:inline-flex;align-items:center}.quote-cell__times{font-size:.8rem;color:var(--color-text)}.quote-cell__offset{color:var(--color-accent);font-weight:600}.quote-cell__duration{font-size:.75rem;color:var(--color-text-muted)}.quote-cell__delay{color:var(--color-accent);font-weight:600}.quote-cell__delay-badge{font-size:.7rem;font-weight:600;color:var(--color-accent);text-align:center;letter-spacing:.02em}.quote-cell__rates{display:flex;justify-content:space-between;align-items:baseline;margin-top:auto}.quote-cell__total{font-size:.8rem;color:var(--color-text)}.quote-cell__rate{font-size:.95rem;font-weight:700;color:#2563eb}.quote-cell--rates{gap:.3rem}.quote-cell__rate-list{display:flex;flex-direction:column;gap:.1rem;margin-top:.15rem}.quote-cell__rate-list-item{font-size:.85rem;color:var(--color-text);font-weight:500;letter-spacing:.01em}.quote-cell__rate-list-item.is-best{font-weight:700}.route-score-modal__pick{background:var(--color-accent);color:#fff;border:none;border-radius:999px;padding:.45rem .95rem;font-size:.78rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s;white-space:nowrap}.route-score-modal__pick:hover:not(:disabled){background:#d63b00}.route-score-modal__pick:disabled{opacity:.6;cursor:not-allowed}.route-score-modal__pick--selected{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.route-score-modal__pick--selected:hover:not(:disabled){background:var(--color-bg)}.route-score-modal__pick-error{font-size:.7rem;color:#b91c1c}.route-score-modal__pick-input{width:14rem;max-width:100%;box-sizing:border-box;padding:.4rem .5rem;font:inherit;font-size:.78rem;color:var(--color-text);border:1px solid var(--color-accent-soft);border-radius:6px;resize:vertical}.route-score-modal__pick-input:focus{outline:none;border-color:var(--color-accent)}.route-score-modal__pick-note{width:14rem;max-width:100%;font-size:.72rem;font-style:italic;color:var(--color-text-muted);text-align:right;overflow-wrap:anywhere}.matrix__cell--picked{box-shadow:inset 0 0 0 3px var(--color-accent)}.matrix__cell--picked.matrix__cell--best-of-day{box-shadow:inset 0 0 0 3px var(--color-accent),inset 0 0 0 5px #2b8cee}.rate-charges{margin-top:.5rem;margin-bottom:.5rem}.rate-charges__toggle{background:none;border:none;padding:.3rem 0;font-size:.82rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}.rate-charges__toggle:hover{color:var(--color-text)}.rate-charges__chevron{font-size:.7rem;width:.9rem;display:inline-block}.rate-charges__body{display:flex;flex-direction:column;gap:.65rem;padding-top:.4rem}.rate-charges__card{border:1px solid var(--color-border);border-radius:6px;padding:.55rem .75rem;background:var(--color-input-bg, var(--color-surface))}.rate-charges__card-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.35rem}.rate-charges__product{font-size:.78rem;font-weight:600;color:var(--color-text)}.rate-charges__all-in{font-size:.95rem;font-weight:700;color:var(--color-primary)}.rate-charges__unit{font-size:.7rem;font-weight:500;color:var(--color-text-muted)}.rate-charges__table{width:100%;border-collapse:collapse;font-size:.78rem}.rate-charges__table td{padding:.22rem .3rem;vertical-align:top}.rate-charges__type{color:var(--color-text-muted);font-size:.72rem;white-space:nowrap;width:1%}.rate-charges__amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rate-charges__per-kg{color:var(--color-text-muted);font-weight:400}.rate-charges__total td{border-top:1px solid var(--color-border);font-weight:700}.route-score-modal__pick-row{display:flex;flex-direction:column;gap:.4rem}.fetch-quotes{display:flex;flex-direction:column;gap:1rem}.fetch-quotes__row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start}.fetch-quotes__row--checks{gap:1.25rem}.fetch-quotes__field{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--color-text-muted);min-width:110px;flex:1}.fetch-quotes__field--code input{text-transform:uppercase;width:90px;flex:0 0 auto}.fetch-quotes__field--code{flex:0 0 auto}.fetch-quotes__field input,.fetch-quotes__field select{padding:.5rem .65rem;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background-color:var(--color-input-bg);font-family:inherit;color:var(--color-text)}.fetch-quotes__field input:focus,.fetch-quotes__field select:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-surface)}.fetch-quotes__units{display:flex;gap:1rem;align-items:center}.fetch-quotes__unit-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-input);overflow:hidden}.fetch-quotes__unit-toggle-btn{border:none;background-color:var(--color-input-bg);color:var(--color-text-muted);padding:.35rem .75rem;font-size:.85rem;font-family:inherit;cursor:pointer}.fetch-quotes__unit-toggle-btn--active{background-color:var(--color-accent);color:#fff;font-weight:600}.fetch-quotes__groups{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background-color:var(--color-input-bg)}.fetch-quotes__group-header,.fetch-quotes__group{display:grid;grid-template-columns:80px repeat(4,minmax(80px,1fr)) 84px 96px 64px;gap:.75rem;align-items:center}.fetch-quotes__group-header{font-size:.8rem;color:var(--color-text-muted)}.fetch-quotes__group-header span{text-align:left}.fetch-quotes__group input[type=number]{padding:.5rem .65rem;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background-color:var(--color-surface);font-family:inherit;color:var(--color-text);width:100%;box-sizing:border-box}.fetch-quotes__group input[type=number]:focus{outline:none;border-color:var(--color-primary)}.fetch-quotes__group-opts{display:flex;flex-direction:column;gap:.3rem}.fetch-quotes__radio{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.fetch-quotes__group-opts .fetch-quotes__check{white-space:nowrap}.fetch-quotes__radio input{accent-color:var(--color-primary);cursor:pointer}.fetch-quotes__remove-group,.fetch-quotes__add-group{border:none;background:none;color:var(--color-accent);font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;padding:0;align-self:center}.fetch-quotes__remove-group:hover,.fetch-quotes__add-group:hover{text-decoration:underline}.fetch-quotes__check{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.fetch-quotes__check input{accent-color:var(--color-primary);cursor:pointer}.fetch-quotes__actions{display:flex;align-items:center;gap:1rem}.fetch-quotes__submit{background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-input);padding:.6rem 1.2rem;font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background-color .15s}.fetch-quotes__submit:hover:not(:disabled){background-color:var(--color-primary-hover)}.fetch-quotes__submit:disabled{opacity:.5;cursor:not-allowed}.fetch-quotes__status{font-size:.8rem;color:var(--color-text-muted)}.fetch-quotes__error{font-size:.85rem;color:#b91c1c;background-color:#fee2e2;border:1px solid #fca5a5;border-radius:4px;padding:.5rem .75rem;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,monospace}.fetch-quotes__city-hint{display:block;margin-top:.25rem;font-size:.7rem;color:var(--color-text-muted)}.saved-quotes{display:flex;flex-direction:column;gap:.6rem}.saved-quotes__label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:500;color:var(--color-text)}.saved-quotes__select{width:100%;max-width:480px;padding:.5rem .65rem;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background-color:var(--color-input-bg);font-family:inherit;color:var(--color-text)}.saved-quotes__select:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-surface)}.saved-quotes__status{font-size:.8rem;color:var(--color-text-muted)}.saved-quotes__empty{font-size:.85rem;color:var(--color-text-muted);font-style:italic}.saved-quotes__error{font-size:.85rem;color:#b91c1c;background-color:#fee2e2;border:1px solid #fca5a5;border-radius:4px;padding:.5rem .75rem;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,monospace}.card.results-banner--recommended{background-color:#ecf5fd;border-color:#adcceb}.price-distribution-chart{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:.85rem 1rem .7rem;margin-bottom:1rem}.price-distribution-chart__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.price-distribution-chart__title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.price-distribution-chart__toggle{font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.25rem .65rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.price-distribution-chart__toggle:hover{background:var(--color-input-bg);border-color:var(--color-text-muted)}.price-distribution-chart__toggle[aria-pressed=true]{background:var(--color-accent-soft, var(--color-input-bg));border-color:var(--color-primary);color:var(--color-primary)}.price-distribution-chart__svg{width:100%;height:200px;display:block}.price-distribution-chart__legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.5rem;font-size:.75rem;color:var(--color-text)}.price-distribution-chart__legend-item{display:inline-flex;align-items:center;gap:.35rem}.price-distribution-chart__legend-item--muted{color:var(--color-text-muted)}.price-distribution-chart__swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.price-distribution-chart__swatch--bar{width:6px;height:14px;border-radius:2px}.price-distribution-chart__swatch--stripes{background-color:#dce0e5;background-image:repeating-linear-gradient(-45deg,hsl(210,16%,78%) 0,hsl(210,16%,78%) 3px,transparent 3px,transparent 6px)}.price-tier-modal{display:flex;flex-direction:column;gap:1rem}.price-tier-modal__header{display:flex;flex-direction:column;gap:.4rem}.price-tier-modal__badges{display:flex;flex-wrap:wrap;gap:.35rem}.price-tier-modal__badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .55rem;border-radius:999px}.price-tier-modal__rate{font-size:1.7rem;font-weight:700;color:var(--color-text);line-height:1.1}.price-tier-modal__unit{font-size:.9rem;font-weight:500;color:var(--color-text-muted)}.price-tier-modal__sub{font-size:.85rem;color:var(--color-text-muted);line-height:1.5}.price-tier-modal__sub strong{color:var(--color-text)}.price-tier-modal__airlines{border-top:1px solid var(--color-border);padding-top:.75rem}.price-tier-modal__section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.5rem}.price-tier-modal__airline-list{display:flex;flex-direction:column;gap:.35rem}.price-tier-modal__airline-row{display:flex;align-items:baseline;gap:.5rem;font-size:.85rem}.price-tier-modal__airline-code{color:var(--color-text);min-width:2.4rem}.price-tier-modal__airline-name{color:var(--color-text-muted);flex:1}.price-tier-modal__airline-coverage{color:var(--color-text);font-variant-numeric:tabular-nums}.price-distribution-chart__svg rect[role=button]:hover{filter:brightness(.9)}.top-picks{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:.75rem;margin:1rem 0}.top-picks__card:only-child{grid-column:1 / -1}.top-picks__card{display:flex;flex-direction:column;gap:.75rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:.95rem 1rem}.top-picks__badge{align-self:flex-end;background:var(--color-accent);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .5rem;border-radius:999px;line-height:1.2;margin-bottom:.2rem}.top-picks__body{flex:1;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.top-picks__value-wrap{display:flex;flex-direction:column;align-items:flex-end}.top-picks__airline{display:flex;flex-direction:column;justify-content:center;gap:.1rem;min-width:0}.top-picks__code{font-weight:700;font-size:1.05rem;color:var(--color-text)}.top-picks__name{font-size:.8rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-picks__bottom-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--color-border)}@media (max-width: 640px){.top-picks{grid-template-columns:1fr}}.results-toolbar{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:.75rem 1.25rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.results-header__sentinel{width:100%;height:1px;margin-bottom:-1px}.results-header{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);margin-bottom:1rem;overflow:hidden;position:sticky;top:0;z-index:10;box-shadow:0 0 #0f172a00;transition:box-shadow .18s ease,border-color .18s ease}.results-header.is-stuck{box-shadow:0 6px 16px #0f172a14;border-color:#0f172a1f}.results-header>.route-summary,.results-header>.results-toolbar{background:transparent;border:none;border-radius:0;margin:0}.results-header>.results-toolbar{border-top:1px solid var(--color-border)}.results-toolbar__left,.results-toolbar__right,.score-gradient-toggle{display:flex;align-items:center;gap:1rem}.results-toolbar__toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.results-toolbar__toggle input{accent-color:var(--color-primary);cursor:pointer}.results-toolbar__select{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text)}.results-toolbar__select select{padding:.35rem .55rem;font-size:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background-color:var(--color-input-bg);font-family:inherit;color:var(--color-text);cursor:pointer}.results-toolbar__select select:focus{outline:none;border-color:var(--color-primary)}.results-toolbar__segmented{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-input);overflow:hidden;background:var(--color-input-bg, #ffffff)}.results-toolbar__segmented-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:.3rem .7rem;font:inherit;font-size:.82rem;color:var(--color-text-muted);cursor:pointer;transition:background-color .15s,color .15s}.results-toolbar__segmented-btn+.results-toolbar__segmented-btn{border-left:1px solid var(--color-border)}.results-toolbar__segmented-btn:hover{color:var(--color-text);background-color:#f3f4f6}.results-toolbar__segmented-btn.is-active{background-color:#daebfb;color:#134d86;font-weight:600}.results-toolbar__segmented-btn.is-active:hover{background-color:#c8e0f9}.results-toolbar__legend{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-muted)}.results-toolbar__legend-bar{width:120px;height:10px;border-radius:5px;background:linear-gradient(to right,#f4bebe,#f4f4be,#bef4be);border:1px solid var(--color-border)}.results-toolbar__meta{font-size:.8rem;color:var(--color-text-muted)}.results-toolbar__excluded{font-size:.75rem;color:var(--color-text-muted);font-weight:600;padding:.25rem .5rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-input);text-transform:uppercase;letter-spacing:.04em}.results-toolbar__outliers{display:inline-flex;align-items:center;gap:.4rem}.results-toolbar__outliers-btn{font:inherit;font-size:.75rem;font-weight:600;padding:.25rem .6rem;background-color:var(--color-surface, #fff);border:1px solid var(--color-border);border-radius:var(--radius-input);cursor:pointer;color:var(--color-text)}.results-toolbar__outliers-btn:hover{background-color:#f3f4f6}.results-toolbar__outliers-btn[aria-pressed=true]{background-color:#daebfb;color:#134d86;border-color:#99bfe6}.results-toolbar__download{background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-input);padding:.5rem 1rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.results-toolbar__download:hover{background-color:var(--color-primary-hover)}.route-summary{display:flex;align-items:center;gap:1rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:.75rem 1.25rem;margin-bottom:1rem}.route-summary__route{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.route-summary__arrow{color:var(--color-text-muted)}.route-summary__divider{width:1px;height:1.5rem;background-color:var(--color-border)}.route-summary__meta{font-size:.85rem;color:var(--color-text-muted)}.route-summary__trailing{margin-left:auto;display:flex;align-items:center;gap:1rem}.route-summary__groupby{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-muted)}.route-summary__groupby select{font-size:.85rem;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-input, 6px);background-color:var(--color-surface);color:var(--color-text)}.airline-table{width:100%;border-collapse:collapse;font-size:.85rem}.airline-table thead th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:600;padding:.5rem .6rem;border-bottom:1px solid var(--color-border)}.airline-table__col-check,.airline-table__col-delay{width:110px}.airline-table__col-remove{width:32px}.airline-table__row{border-bottom:1px solid var(--color-border)}.airline-table__row:last-child{border-bottom:none}.airline-table__row--default{background-color:var(--color-bg)}.airline-table__row--empty{opacity:.85}.airline-table__cell{padding:.4rem .6rem;vertical-align:middle}.airline-table__cell--code{min-width:110px}.airline-table__cell--remove{text-align:right}.airline-table__default-label{display:inline-block;padding:.25rem .5rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-input);font-weight:600;color:var(--color-text-muted);font-size:.8rem}.airline-table__code{width:80px;padding:.35rem .5rem;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background-color:var(--color-input-bg);text-transform:uppercase;font-family:inherit;color:var(--color-text)}.airline-table__code:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-surface)}.airline-table__delay{width:80px;padding:.35rem .5rem;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background-color:var(--color-input-bg);font-family:inherit;color:var(--color-text);text-align:right}.airline-table__delay:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-surface)}.airline-table__delay:disabled,.airline-table__code:disabled{background-color:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.airline-table input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;width:16px;height:16px}.airline-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}.airline-table__remove{background:transparent;border:none;font-size:1.2rem;color:var(--color-text-muted);cursor:pointer;padding:0 .25rem;line-height:1}.airline-table__remove:hover{color:var(--color-accent)}.outlier-cutoff{display:flex;flex-direction:column;gap:.55rem}.outlier-cutoff__row{display:grid;grid-template-columns:240px 1fr 56px auto;align-items:center;gap:.75rem}.outlier-cutoff__label{font-size:.85rem;color:var(--color-text)}.outlier-cutoff__slider{width:100%;accent-color:var(--color-primary);cursor:pointer}.outlier-cutoff__value{font-size:.9rem;font-weight:700;text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text)}.outlier-cutoff__value--changed{color:var(--color-accent)}.outlier-cutoff__reset{background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-input);padding:.35rem .7rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);cursor:pointer;transition:background-color .15s}.outlier-cutoff__reset:hover:not(:disabled){background-color:var(--color-bg)}.outlier-cutoff__reset:disabled{opacity:.5;cursor:not-allowed}.outlier-cutoff__help{font-size:.8rem;color:var(--color-text-muted);margin:0;line-height:1.4}@media (max-width: 720px){.outlier-cutoff__row{grid-template-columns:1fr}}.info-icon{background:transparent;border:none;padding:0;margin:0 0 0 .3rem;font:inherit;font-size:.95rem;line-height:1;color:var(--color-text-muted);cursor:help;display:inline-flex;align-items:center;vertical-align:middle}.info-icon:hover,.info-icon:focus-visible{color:#1966b3;outline:none}.info-icon__popover{position:fixed;transform:translate(-50%,calc(-100% - 8px));width:280px;max-width:calc(100vw - 16px);box-sizing:border-box;background:var(--color-tooltip-bg);color:#f9fafb;font-size:.78rem;line-height:1.45;padding:.65rem .8rem;border-radius:6px;box-shadow:0 8px 18px #00000047;pointer-events:none;z-index:1000}.info-icon__popover--below{transform:translate(-50%,8px)}.info-icon__text{margin:0}.scoring-profile{display:flex;flex-direction:column;gap:.75rem}.scoring-profile__head{display:flex;flex-direction:column;gap:.45rem}.scoring-profile__label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--color-text)}.scoring-profile__label-text{display:inline-flex;align-items:center}.scoring-profile__sliders-header{display:inline-flex;align-items:center;font-size:.85rem;font-weight:600;color:var(--color-text);margin-top:.25rem}.scoring-profile__select{width:280px;padding:.5rem .65rem;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background-color:var(--color-input-bg);font-family:inherit;color:var(--color-text)}.scoring-profile__select:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-surface)}.scoring-profile__divider{height:1px;background-color:var(--color-border);margin:.3rem 0}.scoring-profile__total{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:var(--radius-input);font-size:.8rem}.scoring-profile__total--balanced{background-color:#ebfaf0;border:1px solid hsl(140,50%,78%);color:#1d7239}.scoring-profile__total--under{background-color:#fef3c7;border:1px solid #fde68a;color:#92400e}.scoring-profile__total--over{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.scoring-profile__total-label{font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.04em}.scoring-profile__total-value{font-weight:800;font-size:.95rem;font-variant-numeric:tabular-nums}.scoring-profile__total-hint{font-size:.75rem}.scoring-profile__sliders{display:flex;flex-direction:column;gap:.55rem}.weight-slider{display:grid;grid-template-columns:168px 1fr 48px;align-items:center;gap:.75rem}.weight-slider__label{font-size:.85rem;color:var(--color-text);display:inline-flex;align-items:center;white-space:nowrap}.scoring-profile__advanced-toggle{background:transparent;border:none;padding:.35rem 0;margin-top:.25rem;font:inherit;font-size:.85rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start}.scoring-profile__advanced-toggle:hover{color:var(--color-text)}.scoring-profile__advanced-chevron{font-size:.7rem;line-height:1}.weight-slider__input{width:100%;accent-color:var(--color-primary);cursor:pointer}.weight-slider__value{font-size:.85rem;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.weight-slider__value--changed{color:var(--color-accent)}.scoring-profile__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.35rem;flex-wrap:wrap}.scoring-profile__reset{background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-input);padding:.35rem .7rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);cursor:pointer;transition:background-color .15s}.scoring-profile__reset:hover:not(:disabled){background-color:var(--color-bg)}.scoring-profile__reset:disabled{opacity:.5;cursor:not-allowed}.scoring-profile__profile-actions{display:flex;gap:.5rem;margin-top:.4rem}.scoring-profile__profile-action{padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-card-bg);font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--color-text);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.scoring-profile__profile-action:hover:not(:disabled){background-color:var(--color-bg)}.scoring-profile__profile-action:disabled{opacity:.55;cursor:not-allowed}.scoring-profile__profile-action--danger{color:#b91c1c;border-color:#fca5a5}.scoring-profile__profile-action--danger:hover:not(:disabled){background-color:#fef2f2}.scoring-profile__profile-error{margin-top:.3rem;font-size:.75rem;color:#b91c1c}.scoring-profile__label--inline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.75rem 0}.scoring-profile__label--inline .scoring-profile__select{flex:0 0 auto;min-width:12rem}.settings-summary{margin-bottom:1rem}.settings-summary__header{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-card)}.settings-summary:not(.settings-summary--collapsed) .settings-summary__header{margin-bottom:.75rem}.settings-summary__title{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text)}.settings-summary__toggle{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-input);padding:.3rem .7rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:background-color .15s}.settings-summary__toggle:hover{background-color:var(--color-bg)}.settings-summary__chevron{font-size:.75rem;line-height:1}.settings-summary__content{display:flex;flex-direction:column;gap:.75rem}.no-selection{display:flex;align-items:center;gap:.6rem;margin:0 0 .75rem}.no-selection__button{font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:.4rem .85rem;border-radius:999px;border:1px dashed var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.no-selection__button:hover:not(:disabled){background:var(--color-input-bg);border-color:var(--color-text-muted);color:var(--color-text)}.no-selection__button:disabled{cursor:not-allowed;opacity:.7}.no-selection__confirmed{font-size:.82rem;font-weight:600;color:var(--color-primary);padding:.4rem .85rem;border-radius:999px;background:var(--color-accent-soft, var(--color-input-bg));border:1px solid var(--color-primary)}.no-selection__undo{background:none;border:none;padding:.2rem .4rem;font-size:.78rem;font-weight:600;color:var(--color-text-muted);text-decoration:underline;cursor:pointer}.no-selection__undo:hover{color:var(--color-text)}.no-selection__error{font-size:.78rem;color:var(--color-danger, #b94a48)}.analytics{display:flex;flex-direction:column;gap:1rem}.analytics__scope{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-muted)}.analytics__scope select{font-family:inherit;font-size:.9rem;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-input-bg);color:var(--color-text)}.analytics__error{padding:.75rem 1rem;border-radius:var(--radius-card);background:#fde8e0;color:#8a2c0d;margin-bottom:1rem}.analytics__loading{padding:2rem;text-align:center;color:var(--color-text-muted)}.analytics__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.analytics__stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1rem 1.25rem}.analytics__stat-value{font-size:1.75rem;font-weight:700;color:var(--color-text);line-height:1.1}.analytics__stat-label{margin-top:.25rem;font-size:.8rem;color:var(--color-text-muted)}.analytics__stat-hint{margin-top:.15rem;font-size:.72rem;color:var(--color-accent-soft)}.analytics__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.analytics__pie{position:relative}.analytics__pie-center{position:absolute;top:120px;left:0;right:0;transform:translateY(-50%);text-align:center;pointer-events:none;display:flex;flex-direction:column}.analytics__pie-center strong{font-size:1.5rem;color:var(--color-text)}.analytics__pie-center span{font-size:.75rem;color:var(--color-text-muted)}.analytics__note{margin:.5rem 0 0;font-size:.74rem;line-height:1.4;color:var(--color-text-muted)}.analytics__empty{padding:2rem 1rem;text-align:center;color:var(--color-text-muted);font-size:.85rem}.analytics__table-wrap{max-height:420px;overflow:auto}.analytics__table{width:100%;border-collapse:collapse;font-size:.82rem}.analytics__table th,.analytics__table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.analytics__table th{position:sticky;top:0;background:var(--color-surface);color:var(--color-text-muted);font-weight:600}.analytics__tag{display:inline-block;padding:.1rem .45rem;border-radius:999px;background:var(--color-input-bg);border:1px solid var(--color-border);font-size:.72rem;color:var(--color-text-muted)}.analytics__table td.analytics__comment{white-space:pre-wrap;word-break:break-word;max-width:520px}:root{--color-bg: #f3f4f6;--color-surface: #ffffff;--color-border: #e5e7eb;--color-text: #051B2C;--color-text-muted: #808285;--color-primary: #051B2C;--color-primary-hover: #0c2a44;--color-accent: #FE4C00;--color-accent-soft: #a3bdbd;--color-sidebar-bg: #ffffff;--color-sidebar-icon: #808285;--color-sidebar-icon-active: #FE4C00;--color-input-bg: #f9fafb;--color-tooltip-bg: #051B2C;--radius-card: 8px;--radius-input: 4px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .04);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg)}button{font-family:inherit;cursor:pointer}
