:root{color-scheme:light;--page: #f9f9f7;--surface: #fcfcfb;--surface-raised: #ffffff;--ink: #0b0b0b;--ink-2: #52514e;--ink-muted: #6f6e69;--hairline: #e1e0d9;--border: rgba(11, 11, 11, .1);--accent: #2a78d6;--accent-ink: #ffffff;--status-good: #0ca30c;--status-warning: #fab219;--status-serious: #ec835a;--status-critical: #d03b3b;--status-neutral: #898781;--critical-wash: #fbe9e8;--warning-wash: #fdf3dc;--radius: 8px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45;color:var(--ink);background:var(--page)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--surface-raised: #222220;--ink: #ffffff;--ink-2: #c3c2b7;--ink-muted: #a3a29b;--hairline: #2c2c2a;--border: rgba(255, 255, 255, .1);--accent: #3987e5;--critical-wash: #3a1d1c;--warning-wash: #3a2f15}}*{box-sizing:border-box}body{margin:0}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.35rem}h2{font-size:1.05rem}button,select,input,textarea{font:inherit;color:inherit}button{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised);cursor:pointer}button:hover:not(:disabled){border-color:var(--ink-muted)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--ink-muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.app{max-width:1500px;margin:0 auto;padding:16px 20px 32px}.app__footer{margin-top:32px;font-size:.85rem}.header-bar{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--hairline)}.header-bar__title{display:flex;flex-direction:column;gap:2px}.header-bar__run,.header-bar__refresh{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.refresh-status{color:var(--ink-2)}.refresh-status--failed{color:var(--ink);font-weight:600}.banner{margin:12px 0;padding:10px 14px;border-radius:var(--radius);border-left:4px solid var(--status-critical);background:var(--critical-wash)}.fresh-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0}.fresh-chip{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);border-left-width:4px}.fresh-chip--fresh{border-left-color:var(--status-good)}.fresh-chip--stale{border-left-color:var(--status-warning)}.fresh-chip--frozen{border-left-color:var(--status-critical);background:var(--critical-wash)}.fresh-chip__head{display:flex;justify-content:space-between;align-items:center;font-weight:600}.fresh-chip__body{color:var(--ink-2)}.fresh-chip__source{color:var(--ink-muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-flex;gap:5px;align-items:center;padding:1px 8px;border-radius:999px;border:1px solid var(--border);font-size:.78rem;font-weight:600;letter-spacing:.02em;background:var(--surface-raised);white-space:nowrap}.badge__icon{font-size:.75rem}.badge--risk-high .badge__icon,.badge--fresh-frozen .badge__icon{color:var(--status-critical)}.badge--risk-medium .badge__icon{color:var(--status-serious)}.badge--fresh-stale .badge__icon{color:var(--status-warning)}.badge--risk-gap .badge__icon{color:var(--status-neutral)}.badge--risk-low .badge__icon,.badge--fresh-fresh .badge__icon{color:var(--status-good)}.tabs{display:flex;gap:4px;margin:16px 0 12px;border-bottom:1px solid var(--hairline)}.tabs button{border:none;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:8px 14px;color:var(--ink-2);font-weight:600}.tabs button.is-active{color:var(--ink);border-bottom-color:var(--accent)}.report-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:20px;align-items:start}@media(max-width:1100px){.report-layout{grid-template-columns:1fr}}.report-layout__side{position:sticky;top:12px}.view{display:flex;flex-direction:column;gap:14px}.view__scope{margin:0;color:var(--ink-2)}.view>button{align-self:flex-start}.view__low,.view__empty{color:var(--ink-2)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.stat-tile{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.stat-tile__label{color:var(--ink-2);font-size:.85rem}.stat-tile__value{font-size:1.9rem;font-weight:650;line-height:1.15}.stat-tile__detail{color:var(--ink-muted);font-size:.85rem}.filters{display:flex;gap:16px;flex-wrap:wrap;color:var(--ink-2)}.filters select,.filters input{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised)}.tier-heading{margin:6px 0 8px}.tier-heading__count{color:var(--ink-muted);font-weight:500}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.tail-card{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--border);border-left:4px solid var(--status-neutral);border-radius:var(--radius);background:var(--surface)}.tail-card--high{border-left-color:var(--status-critical)}.tail-card--medium{border-left-color:var(--status-serious)}.tail-card--low{border-left-color:var(--status-good)}.tail-card__head{display:flex;justify-content:space-between;gap:8px}.tail-card__tail{font-size:1.15rem}.tail-card__carrier,.tail-card__foot{color:var(--ink-2);font-size:.88rem}.legs,.mels,.nff-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.leg{display:grid;grid-template-columns:7.5em 5.5em 1fr auto;gap:8px;align-items:baseline;font-variant-numeric:tabular-nums}.leg__route{font-weight:600}.leg__flight,.leg__time{color:var(--ink-2)}.leg--cancelled .leg__route,.leg--cancelled .leg__flight,.leg--cancelled .leg__time{text-decoration:line-through;color:var(--ink-muted)}.mel{padding-top:6px;border-top:1px solid var(--hairline)}.mel__head{display:flex;gap:8px;align-items:baseline}.mel__reason{font-weight:600}.mel__badges{display:inline-flex;gap:4px;flex-wrap:wrap}button.link{padding:0;border:none;background:none;color:var(--accent);font-weight:500;text-decoration:underline}.mel__meta{color:var(--ink-2);font-size:.88rem}.mel__note{font-style:italic}.tag,.chip{display:inline-block;padding:0 7px;border-radius:4px;border:1px solid var(--border);font-size:.78rem;color:var(--ink-2);background:var(--surface-raised);white-space:nowrap}.tag--strong,.chip--strong{color:var(--ink);font-weight:600;border-color:var(--ink-muted)}.repeats{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.repeats__label{color:var(--ink-2);font-size:.85rem}.nff-row{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.nff-row__head{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}.nff-row__discrepancy{margin-top:4px}.nff-row__action{color:var(--ink-2);font-style:italic}.audit{width:100%;border-collapse:collapse;background:var(--surface);font-size:.88rem}.audit caption{text-align:left;padding:6px 0;color:var(--ink-2)}.audit th,.audit td{padding:6px 8px;border-bottom:1px solid var(--hairline);text-align:left;vertical-align:top}.audit .num{font-variant-numeric:tabular-nums;white-space:nowrap}.audit tr.is-selected{background:var(--warning-wash)}.slack-panel{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.slack-panel__head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.carrier-tabs{display:flex;gap:2px;border-bottom:1px solid var(--hairline)}.carrier-tabs button{border:none;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:4px 10px;color:var(--ink-2);font-weight:600}.carrier-picker{padding:3px 6px;font-weight:600}.carrier-tabs button.is-active{color:var(--ink);border-bottom-color:var(--accent)}.slack-panel__text{width:100%;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-raised);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.8rem;line-height:1.4;resize:vertical}.slack-panel__actions{display:flex;flex-wrap:wrap;gap:8px}.slack-panel__note{margin:0;color:var(--ink-2);font-size:.88rem}.confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border:1px solid var(--status-warning);border-radius:6px;background:var(--warning-wash)}.confirm p{margin:0;width:100%}.scope-bar{align-items:center;margin-bottom:12px}.scope-bar .toggle{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.tag--external{border-style:dashed}.left-out{margin-top:16px;padding-top:8px;border-top:1px solid var(--border)}.banner--warning{border-left-color:var(--status-warning);background:var(--warning-wash)}.challenge-list{display:grid;gap:12px;margin-bottom:16px}.challenge-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border);border-left:4px solid var(--status-neutral);border-radius:var(--radius);background:var(--surface)}.challenge-card p{margin:0}.challenge-card--safety{border-left-color:var(--status-critical)}.challenge-card--basis{border-left-color:var(--status-serious)}.challenge-card--cost{border-left-color:var(--status-warning)}.challenge-card__head{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.challenge-card__tail{font-weight:700;font-size:1.05rem}.challenge-card__question{margin:0;padding:8px 12px;border-left:3px solid var(--accent);background:var(--surface-raised);font-size:1rem}.challenge-card__evidence{margin:0;padding-left:18px;color:var(--ink-2);font-size:.9rem}.challenge-card__writeup{color:var(--ink-muted);font-size:.9rem}.review{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--hairline)}.review--done{color:var(--ink-2)}.review__choices,.review__fields,.export-panel__actions{display:flex;flex-wrap:wrap;gap:8px}.review__fields textarea{width:100%;font:inherit}.review__fields input{flex:1 1 240px}.review__message,.export-panel__note{margin:0}.export-panel{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.export-panel__text{width:100%;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem}.rules{margin-top:12px;color:var(--ink-2)}
