:root {
    --bg: #f5f6f7;
    --surface: #ffffff;
    --surface-soft: #f9fafb;
    --text: #17202a;
    --muted: #66717d;
    --line: #e4e8ec;
    --line-strong: #d5dbe1;
    --accent: #173e56;
    --accent-2: #0f6b78;
    --good: #17734a;
    --good-bg: #eaf6ef;
    --warning: #9a6300;
    --warning-bg: #fff5dc;
    --danger: #a13d32;
    --shadow: 0 14px 34px rgba(23, 32, 42, 0.08);
    --radius: 18px;
}

* { box-sizing: border-box; }
html { color-scheme: light; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line);
}
.topbar-inner {
    max-width: 1500px;
    margin: 0 auto;
    min-height: 76px;
    padding: 0 28px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 30px;
}
.brand { display: inline-flex; align-items: center; gap: 11px; }
.brand-mark {
    width: 38px; height: 38px; border-radius: 10px;
    display: grid; place-items: center;
    background: var(--accent); color: white; font-weight: 800; font-size: 12px;
}
.brand strong, .brand small { display: block; }
.brand strong { font-size: 16px; line-height: 1.2; }
.brand small { color: var(--muted); font-size: 12px; margin-top: 2px; }
.topnav { display: flex; align-items: center; gap: 6px; }
.topnav a { padding: 9px 13px; border-radius: 9px; color: var(--muted); font-size: 15px; }
.topnav a.active { color: var(--text); background: #eef1f3; font-weight: 650; }
.topbar-meta { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; white-space: nowrap; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: #2b9b64; box-shadow: 0 0 0 4px #e9f6ef; }
.version { border-left: 1px solid var(--line); padding-left: 10px; margin-left: 2px; }

.page-shell { max-width: 1500px; margin: 0 auto; padding: 38px 28px 70px; }
.intro-row {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(360px, .7fr);
    gap: 60px;
    align-items: end;
    margin-bottom: 36px;
}
.eyebrow { margin: 0 0 8px; color: var(--accent-2); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(36px, 4.5vw, 64px); line-height: 1.03; letter-spacing: -.045em; font-weight: 760; }
.lead { max-width: 820px; margin: 18px 0 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.lead.smaller { font-size: 15px; max-width: 720px; }
.intro-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--line);
    background: var(--surface);
    border-radius: var(--radius);
    overflow: hidden;
}
.intro-facts div { padding: 18px; border-right: 1px solid var(--line); }
.intro-facts div:last-child { border-right: 0; }
.intro-facts span, .intro-facts strong { display: block; }
.intro-facts span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.intro-facts strong { margin-top: 6px; font-size: 15px; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 26px; align-items: start; }
.dashboard-main { min-width: 0; }
.dashboard-side { min-width: 0; display: grid; gap: 18px; }
.section-block, .side-card, .settings-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
}
.section-block { padding: 26px; margin-bottom: 24px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.section-heading.compact { margin-bottom: 12px; }
h2 { margin: 0; font-size: 25px; line-height: 1.2; letter-spacing: -.02em; }
h3 { margin: 0; font-size: 18px; line-height: 1.3; }
.run-summary { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.run-summary span, .summary-chip { background: var(--surface-soft); border: 1px solid var(--line); color: var(--muted); padding: 7px 10px; border-radius: 999px; font-size: 12px; }

.featured-trip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    border: 1px solid var(--line-strong);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--shadow);
}
.featured-copy { padding: 26px; min-width: 0; }
.trip-topline { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.status-badge { display: inline-flex; align-items: center; padding: 6px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.status-badge.good { color: var(--good); background: var(--good-bg); }
.status-badge.warning { color: var(--warning); background: var(--warning-bg); }
.status-badge.neutral { color: var(--accent); background: #eaf1f5; }
.status-badge.muted { color: var(--muted); background: #eef0f2; }
.route-code { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .05em; }
.destination-title { display: flex; justify-content: space-between; gap: 24px; align-items: start; }
.destination-title h3 { font-size: 32px; letter-spacing: -.03em; }
.destination-title p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.price-block { text-align: right; white-space: nowrap; }
.price-block strong { display: block; font-size: 30px; line-height: 1; letter-spacing: -.03em; }
.price-block span { display: block; color: var(--muted); font-size: 12px; margin-top: 6px; }
.flight-times { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; margin: 28px 0 20px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.flight-times div:not(.arrow) span, .flight-times div:not(.arrow) strong { display: block; }
.flight-times span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.flight-times strong { margin-top: 4px; font-size: 16px; }
.flight-times .arrow { color: var(--muted); font-size: 20px; }
.trip-facts { display: flex; flex-wrap: wrap; gap: 8px; }
.trip-facts span { background: var(--surface-soft); border: 1px solid var(--line); padding: 7px 9px; border-radius: 8px; font-size: 12px; }
.trip-note { margin: 14px 0 0; color: var(--muted); font-size: 12px; }
.fit-panel { background: #f3f6f8; border-left: 1px solid var(--line); padding: 24px; display: flex; flex-direction: column; justify-content: center; }
.fit-label { color: var(--muted); font-size: 12px; }
.fit-score { display: block; margin-top: 7px; font-size: 42px; line-height: 1; letter-spacing: -.04em; }
.fit-score small { font-size: 15px; color: var(--muted); font-weight: 600; }
.fit-bar { height: 7px; background: #dce3e7; border-radius: 999px; overflow: hidden; margin: 14px 0 22px; }
.fit-bar span { display: block; height: 100%; background: var(--accent-2); border-radius: inherit; }
.freshness { border-top: 1px solid var(--line-strong); padding-top: 16px; }
.freshness span, .freshness strong { display: block; }
.freshness span { color: var(--muted); font-size: 11px; }
.freshness strong { margin-top: 4px; font-size: 13px; }
.freshness.good strong, .freshness-text.good { color: var(--good); }
.freshness.warning strong, .freshness-text.warning { color: var(--warning); }
.price-rank { display: block; color: var(--muted); margin-top: 12px; line-height: 1.4; }

.compact-results { margin-top: 14px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.result-row { display: grid; grid-template-columns: 1.05fr 1.65fr .78fr 1fr .62fr; gap: 18px; align-items: center; padding: 17px 16px; border-bottom: 1px solid var(--line); }
.result-row:last-child { border-bottom: 0; }
.result-row:hover { background: #fbfcfd; }
.result-destination { display: flex; align-items: center; gap: 10px; min-width: 0; }
.status-dot, .legend-dot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; }
.status-dot.good, .legend-dot.good { background: var(--good); }
.status-dot.warning, .legend-dot.warning { background: #d99a21; }
.status-dot.neutral { background: var(--accent-2); }
.status-dot.muted { background: #a9b0b7; }
.result-row strong, .result-row small { display: block; }
.result-row strong { font-size: 14px; }
.result-row small { color: var(--muted); font-size: 11px; margin-top: 3px; }
.result-price { text-align: right; }
.result-price strong { font-size: 19px; }
.result-fit strong { font-size: 14px; color: var(--muted); }
.result-legend { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 14px; color: var(--muted); font-size: 11px; }
.result-legend span { display: inline-flex; align-items: center; gap: 6px; }

.side-card { padding: 22px; }
.sticky-card { position: sticky; top: 92px; }
.side-copy, .side-card p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.settings-list { margin: 20px 0; border-top: 1px solid var(--line); }
.settings-list div { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.settings-list dt { color: var(--muted); font-size: 12px; }
.settings-list dd { margin: 0; font-size: 12px; font-weight: 750; text-align: right; }
.preference-note { background: #f3f6f8; padding: 14px; border-radius: 12px; margin-bottom: 16px; }
.preference-note strong, .preference-note span { display: block; }
.preference-note strong { font-size: 12px; }
.preference-note span { color: var(--muted); font-size: 11px; margin-top: 5px; }
.trust-card h3 { margin-bottom: 8px; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 9px 14px; border-radius: 10px; border: 1px solid transparent; font-weight: 750; font-size: 13px; }
.button.primary { background: var(--accent); color: white; }
.button.primary:hover { background: #0f3044; }
.button.secondary { background: white; color: var(--text); border-color: var(--line-strong); }
.button.secondary:hover { background: var(--surface-soft); }
.button.full { width: 100%; }

.hunt-list { border-top: 1px solid var(--line); }
.hunt-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 16px 4px; border-bottom: 1px solid var(--line); }
.hunt-row:hover strong { color: var(--accent-2); }
.hunt-row > div:first-child { min-width: 0; }
.hunt-row strong, .hunt-row small { display: block; }
.hunt-row strong { margin-top: 7px; font-size: 14px; }
.hunt-row small { color: var(--muted); font-size: 12px; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 900px; }
.mode-chip { display: inline-flex; padding: 4px 7px; border-radius: 6px; background: #eef2f4; color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .05em; }
.mode-chip.large { font-size: 11px; padding: 6px 9px; }
.hunt-row-side { display: flex; align-items: center; gap: 14px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.chevron { font-size: 18px; }
.new-hunt { margin-top: 16px; }
.new-hunt summary { cursor: pointer; font-weight: 750; font-size: 13px; color: var(--accent); }
.new-hunt[open] summary { margin-bottom: 16px; }

.form-stack { display: grid; gap: 14px; }
.form-grid { display: grid; gap: 14px; }
.form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
label { display: grid; gap: 6px; color: #4b5661; font-size: 11px; font-weight: 700; }
input, select, textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: 9px; background: white; color: var(--text); padding: 10px 11px; outline: none; }
input:focus, select:focus, textarea:focus { border-color: #7b98a8; box-shadow: 0 0 0 3px rgba(23,62,86,.08); }
textarea { resize: vertical; }
.inline-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin-top: 14px; }
.input-suffix { position: relative; }
.input-suffix input { padding-right: 44px; }
.input-suffix span { position: absolute; right: 11px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 11px; }
.time-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.time-grid label { background: var(--surface-soft); border: 1px solid var(--line); border-radius: 12px; padding: 12px; }
.time-grid label span { color: var(--text); font-size: 12px; }

.empty-state { border: 1px dashed var(--line-strong); border-radius: 14px; padding: 32px; text-align: center; }
.empty-state strong { display: block; font-size: 17px; }
.empty-state p { color: var(--muted); max-width: 600px; margin: 8px auto 18px; }

.detail-header { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 24px; }
.detail-header h1 { font-size: clamp(34px, 4vw, 52px); }
.back-link { display: inline-block; color: var(--muted); font-size: 12px; margin-bottom: 20px; }
.detail-meta { text-align: right; color: var(--muted); font-size: 12px; display: grid; justify-items: end; gap: 8px; }
.save-banner { margin-bottom: 18px; padding: 12px 14px; background: var(--good-bg); border: 1px solid #cce9d8; color: var(--good); border-radius: 10px; font-size: 13px; font-weight: 700; }
.settings-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 24px; align-items: start; }
.settings-main { display: grid; gap: 18px; }
.settings-side { display: grid; gap: 18px; }
.settings-card { padding: 24px; }
.card-heading { margin-bottom: 20px; }
.card-heading > div { display: flex; gap: 12px; align-items: flex-start; }
.card-heading h2 { font-size: 20px; }
.card-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.step-number { width: 27px; height: 27px; border-radius: 8px; display: grid; place-items: center; background: #edf2f4; color: var(--accent); font-size: 11px; font-weight: 850; flex: 0 0 auto; }
.airport-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.airport-chip { display: grid; grid-template-columns: auto auto auto; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 10px; padding: 8px 9px; background: var(--surface-soft); }
.airport-chip strong { font-size: 12px; }
.airport-chip span { color: var(--muted); font-size: 11px; }
.airport-chip form { margin: 0; }
.airport-chip button { border: 0; background: transparent; color: #89939c; padding: 0 2px; font-size: 16px; }
.anywhere-box { display: grid; gap: 6px; border-left: 3px solid var(--accent-2); background: #f2f7f8; padding: 16px; border-radius: 0 12px 12px 0; }
.anywhere-box strong { font-size: 14px; }
.anywhere-box span { color: var(--muted); font-size: 12px; line-height: 1.6; }
.muted-copy { color: var(--muted); font-size: 12px; }
.development-card { background: #fafafa; }

.footer { max-width: 1500px; margin: 0 auto; padding: 0 28px 34px; display: flex; justify-content: space-between; gap: 20px; color: #89939c; font-size: 11px; }



/* v0.5.1 — recommendation UX and explicit feedback */
.result-count-note { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; }
.summary-chip { display: inline-flex; align-items: center; transition: .15s ease; }
.summary-chip:hover { border-color: #b8c4cc; color: var(--text); background: #f5f7f8; }
.summary-chip.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.hidden-note { margin: -4px 0 14px; padding: 9px 11px; border-radius: 9px; background: #f7f7f7; color: var(--muted); font-size: 11px; }
.feedback-pill { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.feedback-pill.interested { background: #edf4ff; color: #245a9a; }
.feedback-pill.been { background: #f0f1f3; color: #56606a; }
.feedback-pill.return { background: #edf7f1; color: var(--good); }
.feedback-pill.hide { background: #fff0ee; color: var(--danger); }
.feedback-pill.small { margin-top: 6px; width: fit-content; }
.why-box { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 13px; }
.why-box summary { cursor: pointer; color: var(--accent); font-size: 12px; font-weight: 750; }
.why-content { display: grid; gap: 6px; margin-top: 10px; }
.why-content span { font-size: 12px; line-height: 1.45; }
.why-positive { color: #315a48; }
.why-caution { color: var(--muted); }
.feedback-block { margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.feedback-block > span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.feedback-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.feedback-button { border: 1px solid var(--line-strong); background: #fff; color: #3d4852; border-radius: 8px; padding: 7px 9px; font-size: 11px; font-weight: 700; }
.feedback-button:hover, .feedback-button.selected { background: #edf2f4; border-color: #aebbc4; color: var(--text); }
.feedback-button.danger:hover { background: #fff0ee; border-color: #e6bcb7; color: var(--danger); }
.feedback-button.quiet { border-style: dashed; color: var(--muted); }
.result-schedule { min-width: 0; }
.result-schedule strong { white-space: nowrap; font-size: 13px; }
.compact-fit { text-align: right; }
.compact-fit strong, .compact-fit small { display: inline; }
.compact-fit small { margin-left: 2px; }
.result-feedback { grid-column: 1 / -1; margin-top: -4px; }
.result-feedback summary { width: fit-content; cursor: pointer; color: var(--muted); font-size: 10px; font-weight: 700; }
.result-feedback[open] summary { margin-bottom: 8px; color: var(--accent); }
.feedback-actions.compact { padding: 8px 0 2px 18px; }
.compact-trust { padding-top: 18px; padding-bottom: 18px; }
.compact-trust p:last-child { margin-bottom: 0; }

@media (max-width: 1180px) {
    .intro-row { grid-template-columns: 1fr; gap: 26px; }
    .dashboard-grid, .settings-layout { grid-template-columns: 1fr; }
    .sticky-card { position: static; }
    .dashboard-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .settings-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .result-row { grid-template-columns: 1.1fr 1.4fr .8fr .8fr; }
    .result-meta { display: none; }
}

@media (max-width: 820px) {
    .topbar-inner { grid-template-columns: 1fr auto; padding: 0 18px; }
    .topnav { display: none; }
    .topbar-meta span:not(.live-dot):not(.version) { display: none; }
    .page-shell { padding: 26px 16px 50px; }
    .intro-facts { grid-template-columns: 1fr; }
    .intro-facts div { border-right: 0; border-bottom: 1px solid var(--line); }
    .intro-facts div:last-child { border-bottom: 0; }
    .featured-trip { grid-template-columns: 1fr; }
    .fit-panel { border-left: 0; border-top: 1px solid var(--line); }
    .destination-title { display: grid; }
    .price-block { text-align: left; }
    .result-row { grid-template-columns: 1fr auto; gap: 10px; }
    .result-dates, .result-fit { grid-column: 1 / -1; }
    .result-price { grid-column: 2; grid-row: 1; }
    .result-meta { display: none; }
    .dashboard-side, .settings-side { grid-template-columns: 1fr; }
    .form-grid.two, .form-grid.four, .time-grid { grid-template-columns: 1fr; }
    .detail-header { display: grid; }
    .detail-meta { text-align: left; justify-items: start; }
    .section-block, .settings-card { padding: 18px; }
    .flight-times { grid-template-columns: 1fr; gap: 10px; }
    .flight-times .arrow { display: none; }
    .footer { padding: 0 16px 24px; }
}


@media (max-width: 1180px) {
    .result-row { grid-template-columns: 1.05fr 1.6fr .8fr .62fr; }
    .result-meta { display: none; }
    .result-feedback { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
    .topbar-inner { min-height: 70px; }
    .brand-mark { width: 36px; height: 36px; }
    .brand strong { font-size: 15px; }
    .result-row { grid-template-columns: 1fr auto; gap: 10px 14px; }
    .result-destination { grid-column: 1; grid-row: 1; }
    .result-price { grid-column: 2; grid-row: 1; }
    .result-schedule { grid-column: 1 / -1; grid-row: 2; }
    .result-schedule strong { white-space: normal; }
    .result-fit { grid-column: 1 / -1; grid-row: 3; text-align: left; }
    .result-feedback { grid-column: 1 / -1; grid-row: 4; }
    .feedback-actions.compact { padding-left: 0; }
}

/* v0.5.2 — airline/source context, verification links and quieter compact feedback */
.carrier-line {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.35;
    text-transform: none;
    letter-spacing: 0;
}

.offer-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fafcfd;
}
.offer-source { display: flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.offer-source span,
.offer-links > span,
.offer-no-link { color: var(--muted); font-size: 11px; }
.offer-source strong { font-size: 12px; }
.offer-links { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.offer-links a,
.result-verify {
    color: var(--accent);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}
.offer-links a:hover,
.result-verify:hover { text-decoration: underline; }

.result-row {
    grid-template-columns: 1.05fr 1.7fr .82fr .9fr .58fr 34px;
    gap: 16px;
    position: relative;
    overflow: visible;
}
.result-price small { white-space: nowrap; }
.result-verify { display: inline-block; margin-top: 5px; }

.result-actions {
    position: relative;
    justify-self: end;
    align-self: center;
    z-index: 8;
}
.result-actions > summary {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    list-style: none;
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 1px;
    user-select: none;
}
.result-actions > summary::-webkit-details-marker { display: none; }
.result-actions > summary:hover,
.result-actions[open] > summary {
    background: var(--surface-soft);
    border-color: var(--line);
    color: var(--text);
}
.result-actions-popover {
    position: absolute;
    right: 0;
    top: 36px;
    width: 190px;
    padding: 10px;
    background: #fff;
    border: 1px solid var(--line-strong);
    border-radius: 11px;
    box-shadow: 0 14px 36px rgba(24, 42, 54, .16);
    z-index: 30;
}
.result-actions-popover > span {
    display: block;
    padding: 2px 4px 8px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.result-actions-popover form { display: grid; gap: 3px; }
.result-actions-popover .feedback-button {
    width: 100%;
    border-color: transparent;
    background: transparent;
    text-align: left;
    padding: 8px 9px;
}
.result-actions-popover .feedback-button:hover,
.result-actions-popover .feedback-button.selected {
    background: var(--surface-soft);
    border-color: transparent;
}
.result-actions-popover .feedback-button.danger:hover { background: #fff0ee; }
.result-actions-popover .feedback-button.quiet { border-style: none; }

/* The old expanded compact feedback is intentionally hidden in v0.5.2. */
.result-feedback { display: none; }

@media (max-width: 1180px) {
    .result-row { grid-template-columns: 1.05fr 1.65fr .82fr .6fr 34px; }
    .result-meta { display: none; }
}

@media (max-width: 820px) {
    .offer-strip { align-items: flex-start; flex-direction: column; }
    .offer-links { justify-content: flex-start; }
    .result-row { grid-template-columns: 1fr auto 34px; gap: 10px 12px; }
    .result-destination { grid-column: 1; grid-row: 1; }
    .result-price { grid-column: 2; grid-row: 1; }
    .result-actions { grid-column: 3; grid-row: 1; }
    .result-schedule { grid-column: 1 / -1; grid-row: 2; }
    .result-fit { grid-column: 1 / -1; grid-row: 3; text-align: left; }
    .result-actions-popover { right: 0; }
}
.compact-results { overflow: visible; }

/* v0.5.3 — independent destination preferences: interest, history, visibility */
.preference-actions-main {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid var(--line);
}

.interest-button {
    border: 1px solid var(--line-strong);
    background: #fff;
    color: #344552;
    border-radius: 9px;
    padding: 8px 11px;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.interest-button:hover,
.interest-button.selected {
    background: #edf4ff;
    border-color: #b8cee6;
    color: #245a9a;
}

.preference-menu { position: relative; }
.preference-menu > summary {
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--line-strong);
    border-radius: 9px;
    background: #fff;
    color: var(--muted);
    font-weight: 900;
    cursor: pointer;
}
.preference-menu > summary::-webkit-details-marker { display: none; }
.preference-menu > summary:hover,
.preference-menu[open] > summary { background: #edf2f4; color: var(--text); }

.preference-popover {
    position: absolute;
    z-index: 20;
    right: 0;
    top: calc(100% + 7px);
    width: 224px;
    padding: 10px;
    border: 1px solid var(--line-strong);
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(22, 43, 56, .13);
}
.preference-popover > strong {
    display: block;
    padding: 4px 6px 8px;
    color: var(--muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.preference-popover form { margin: 0; }
.preference-popover button {
    width: 100%;
    border: 0;
    background: transparent;
    color: #354550;
    border-radius: 7px;
    padding: 8px 7px;
    text-align: left;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}
.preference-popover button:hover,
.preference-popover button.selected { background: #f1f4f6; color: var(--text); }
.preference-popover button.danger:hover { background: #fff0ee; color: var(--danger); }
.featured-menu .preference-popover { left: 0; right: auto; }

/* Reuse the quiet compact result action anchor, but let v0.5.3 own its menu. */
.result-actions.preference-menu > summary {
    width: 30px;
    height: 30px;
    padding: 0;
}
.result-actions .preference-popover { top: 34px; }

.preference-settings-card .card-heading { margin-bottom: 18px; }
.preference-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 15px;
}
.preference-stats span {
    display: inline-flex;
    gap: 5px;
    padding: 7px 9px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    font-size: 11px;
}
.preference-stats strong { color: var(--text); }
.preference-table { border-top: 1px solid var(--line); }
.preference-row {
    display: grid;
    grid-template-columns: minmax(150px, 1.2fr) minmax(170px, 1fr) minmax(270px, auto);
    gap: 16px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
}
.preference-place strong { display: block; font-size: 13px; }
.preference-place small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.preference-badges { display: flex; flex-wrap: wrap; gap: 5px; }
.preference-row-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.preference-row-actions form { margin: 0; }
.text-action {
    border: 0;
    background: transparent;
    color: var(--accent);
    padding: 4px 0;
    font-size: 10px;
    font-weight: 750;
    cursor: pointer;
}
.text-action:hover { text-decoration: underline; }
.text-action.restore { color: var(--good); }

@media (max-width: 900px) {
    .preference-row { grid-template-columns: 1fr; gap: 8px; }
    .preference-row-actions { justify-content: flex-start; }
    .featured-menu .preference-popover { left: 0; right: auto; }
}
.hidden-note a { color: var(--accent); font-weight: 750; text-decoration: none; }
.hidden-note a:hover { text-decoration: underline; }

/* v0.6.0 — multi-source offer resolver scaffold */
.multi-source-strip {
    display: grid;
    grid-template-columns: auto minmax(220px, 1fr) auto;
    align-items: center;
}
.resolution-summary {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.resolution-summary strong {
    font-size: 11px;
    color: var(--text);
}
.resolution-summary span {
    color: var(--muted);
    font-size: 10px;
}
.resolver-note {
    margin: 8px 2px 0;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
}
.resolver-note code,
.source-note-card code {
    padding: 1px 4px;
    border-radius: 5px;
    background: #eef2f4;
    color: #49545d;
    font-size: .95em;
}

.source-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
    gap: 48px;
    align-items: end;
    margin-bottom: 30px;
}
.source-hero h1 {
    margin: 8px 0 12px;
    font-size: clamp(42px, 5vw, 72px);
    line-height: .98;
    letter-spacing: -.045em;
}
.source-hero .lead {
    max-width: 820px;
}
.source-hero-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
}
.source-hero-facts div {
    padding: 18px;
    border-right: 1px solid var(--line);
}
.source-hero-facts div:last-child { border-right: 0; }
.source-hero-facts span {
    display: block;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.source-hero-facts strong { font-size: 12px; }

.source-pipeline {
    margin-bottom: 30px;
    padding: 24px;
}
.pipeline-grid {
    display: grid;
    grid-template-columns: repeat(9, auto);
    align-items: center;
    gap: 12px;
    margin-top: 16px;
}
.pipeline-grid > div {
    min-width: 150px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface-soft);
}
.pipeline-grid > div span {
    display: inline-grid;
    width: 24px;
    height: 24px;
    place-items: center;
    margin-bottom: 10px;
    border-radius: 8px;
    background: #e5eef1;
    color: var(--accent);
    font-size: 10px;
    font-weight: 850;
}
.pipeline-grid > div strong,
.pipeline-grid > div small { display: block; }
.pipeline-grid > div strong { font-size: 12px; }
.pipeline-grid > div small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 9px;
    line-height: 1.35;
}
.pipeline-grid > i {
    color: #a8b4bc;
    font-style: normal;
}

.source-section { margin-top: 28px; }
.source-cards.priority-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.source-card {
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: #fff;
}
.source-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.source-card-top h3 { margin: 5px 0 0; font-size: 18px; }
.source-priority {
    display: inline-grid;
    min-width: 24px;
    height: 22px;
    place-items: center;
    padding: 0 6px;
    border-radius: 999px;
    background: #eaf1f3;
    color: var(--accent);
    font-size: 9px;
    font-weight: 900;
}
.source-state {
    display: inline-block;
    max-width: 160px;
    padding: 5px 7px;
    border-radius: 999px;
    background: #f0f2f3;
    color: #66717a;
    font-size: 8px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
}
.state-active { background: #e9f7ef; color: #28704a; }
.state-ready_for_partner_api { background: #edf4ff; color: #315d93; }
.state-invitation_only { background: #fff4dc; color: #8d6100; }
.state-disabled { background: #fff0ee; color: #a34a40; }
.source-role-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 14px 0;
}
.source-role-row span {
    padding: 4px 6px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
}
.source-dl { margin: 0; }
.source-dl div {
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 9px;
    padding: 8px 0;
    border-top: 1px solid var(--line);
}
.source-dl dt { color: var(--muted); font-size: 9px; }
.source-dl dd { margin: 0; font-size: 10px; line-height: 1.4; }
.source-card > p {
    margin: 14px 0 0;
    color: #4d5861;
    font-size: 10px;
    line-height: 1.55;
}
.source-card ul {
    margin: 10px 0 0;
    padding-left: 18px;
    color: var(--muted);
    font-size: 9px;
    line-height: 1.55;
}
.source-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: #fff;
}
.source-table {
    width: 100%;
    min-width: 1100px;
    border-collapse: collapse;
}
.source-table th,
.source-table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
    font-size: 10px;
    line-height: 1.45;
}
.source-table th {
    background: #f6f8f9;
    color: var(--muted);
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.source-table tbody tr:last-child td { border-bottom: 0; }
.source-table td:nth-child(1) { min-width: 130px; }
.source-table td:nth-child(6) { min-width: 300px; }
.two-column-notes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.source-note-card { padding: 22px; }
.source-note-card h2 { font-size: 20px; margin-bottom: 8px; }
.source-note-card p:last-child { color: var(--muted); font-size: 11px; line-height: 1.6; }

@media (max-width: 1180px) {
    .multi-source-strip { grid-template-columns: 1fr; gap: 10px; }
    .multi-source-strip .offer-links { justify-content: flex-start; }
    .source-hero { grid-template-columns: 1fr; gap: 24px; }
    .source-cards.priority-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pipeline-grid {
        grid-template-columns: 1fr;
    }
    .pipeline-grid > i { transform: rotate(90deg); justify-self: center; }
}

@media (max-width: 820px) {
    .source-hero-facts { grid-template-columns: 1fr; }
    .source-hero-facts div { border-right: 0; border-bottom: 1px solid var(--line); }
    .source-hero-facts div:last-child { border-bottom: 0; }
    .source-cards.priority-grid,
    .two-column-notes { grid-template-columns: 1fr; }
}

.source-runtime-note { margin-top: 12px; color: var(--muted, #667085); font-size: 0.88rem; }


/* v0.7.0-alpha.3.2 — Travel Radar: monochrome decision UI */
.travel-radar{
    --radar-ink:#0d0f10;
    --radar-muted:#62676b;
    --radar-soft:#f4f4f2;
    --radar-line:#dedfdf;
    margin-bottom:30px;
    padding:30px;
    border:1px solid var(--radar-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 16px 38px rgba(0,0,0,.055)
}
.travel-radar .eyebrow{color:var(--radar-ink);font-size:13px}
.travel-radar .button.primary{background:#111;border-color:#111;color:#fff}
.travel-radar .button.primary:hover{background:#000}
.travel-radar .button.secondary{background:#fff;border-color:#c9cbcc;color:#111}
.radar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.radar-title h2{margin:0;font-size:clamp(32px,3.2vw,46px);letter-spacing:-.04em;color:#111}
.radar-title>p:not(.eyebrow){max-width:900px;margin:10px 0 0;color:var(--radar-muted);font-size:15px;line-height:1.6}
.radar-actions{display:flex;gap:9px;flex:0 0 auto}
.radar-rules{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--radar-line)}
.radar-rules span{padding:8px 11px;border-radius:999px;background:var(--radar-soft);color:#25282a;font-size:12.5px;font-weight:760;line-height:1}
.radar-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:15px 16px;border-radius:12px;background:#f6f6f5;border:1px solid #ededeb}
.radar-summary strong,.radar-summary span{display:block}
.radar-summary strong{font-size:17px;color:#111}
.radar-summary span{margin-top:3px;color:var(--radar-muted);font-size:12.5px}
.radar-live-dot{display:flex;align-items:center;gap:8px;color:#2f3335;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.radar-live-dot i{width:8px;height:8px;border-radius:999px;background:#111;box-shadow:none}

.highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.highlight-card{min-width:0;padding:20px;border:1px solid var(--radar-line);border-radius:15px;background:#fff;transition:transform .15s ease,box-shadow .15s ease}
.highlight-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(0,0,0,.05)}
.highlight-kicker{display:flex;align-items:center;gap:9px}
.highlight-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid #17191a;border-radius:9px;color:#111;background:#fff}
.highlight-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.highlight-eyebrow{color:#111;font-size:10.5px;font-weight:900;letter-spacing:.11em}
.highlight-main{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-top:14px}
.destination-name{display:flex;align-items:center;gap:9px;min-width:0}
.destination-name.compact{gap:8px}
.destination-name h3{min-width:0}
.destination-flag{display:inline-grid;place-items:center;flex:0 0 auto;font-family:"Twemoji Mozilla","Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:20px;line-height:1}
.destination-name.compact .destination-flag{font-size:18px}
.highlight-main h3{margin:0;font-size:25px;letter-spacing:-.03em;color:#111}
.destination-meta{display:grid;gap:6px;margin-top:5px}
.destination-meta>span:first-child{color:var(--radar-muted);font-size:12.5px}
.carrier-labels{display:flex;flex-wrap:wrap;gap:6px}
.carrier-labels b,.carrier-flight-label b{font-weight:720;color:#1a1c1d}
.carrier-labels b{font-size:12px}
.highlight-price{flex:0 0 auto;text-align:right}
.highlight-price strong,.highlight-price span{display:block}
.highlight-price strong{font-size:27px;line-height:1.05;color:#111;letter-spacing:-.035em}
.highlight-price span{margin-top:5px;color:var(--radar-muted);font-size:12px}
.highlight-label{margin-top:16px;font-size:16px;font-weight:850;color:#111}
.highlight-facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.highlight-facts span{padding:6px 8px;border-radius:999px;background:var(--radar-soft);color:#303436;font-size:11.5px;font-weight:730}
.highlight-why{display:grid;gap:4px;margin-top:15px;padding-top:13px;border-top:1px solid var(--radar-line)}
.highlight-why strong{font-size:12.5px;color:#111}
.highlight-why span{color:var(--radar-muted);font-size:13px;line-height:1.5}
.radar-text-link{display:inline-block;margin-top:12px;color:#111;font-size:12.5px;font-weight:820;text-decoration:none;border-bottom:1px solid #aaa}
.radar-text-link:hover{border-color:#111}

.all-hits-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-top:31px}
.all-hits-head h3{margin:0;font-size:26px;letter-spacing:-.03em;color:#111}
.sort-tabs{display:flex;flex-wrap:wrap;gap:7px}
.sort-tabs button{appearance:none;border:1px solid #cfd1d2;border-radius:999px;background:#fff;padding:9px 13px;color:#45494b;font:inherit;font-size:12px;font-weight:760;cursor:pointer}
.sort-tabs button:hover,.sort-tabs button.active{border-color:#111;background:#111;color:#fff}

.opportunity-list{display:grid;gap:10px;margin-top:14px}
.opportunity-row{
    display:grid;
    grid-template-columns:48px minmax(210px,1.05fr) minmax(500px,2.45fr) minmax(230px,.9fr) minmax(175px,.72fr);
    gap:18px;
    align-items:center;
    padding:18px 17px;
    border:1px solid var(--radar-line);
    border-radius:14px;
    background:#fff;
    scroll-margin-top:18px
}
.opportunity-row:hover{border-color:#b8babb;box-shadow:0 8px 24px rgba(0,0,0,.045)}
.opportunity-rank span{color:#9a9d9f;font-size:19px;font-weight:850;letter-spacing:-.03em}
.place-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.opportunity-place h3{margin:0;font-size:21px;letter-spacing:-.025em;color:#111}
.opportunity-place p{margin:5px 0 0;color:var(--radar-muted);font-size:12.5px}
.reason-line{display:grid;gap:4px;margin-top:12px}
.reason-line strong{color:#111;font-size:13.5px;line-height:1.3}
.reason-line strong small{margin-left:5px;color:#7a7e80;font-size:11px;font-weight:700}
.reason-line span{color:var(--radar-muted);font-size:12.5px;line-height:1.45}

.opportunity-trip{display:grid;gap:9px}
.trip-line{
    display:grid;
    grid-template-columns:34px minmax(96px,auto) minmax(135px,1fr) 96px 76px 58px;
    gap:9px;
    align-items:center;
    font-size:13px
}
.trip-line strong{font-size:14.5px;color:#111}
.trip-line>span:not(.trip-tag):not(.carrier-flight-label),.trip-line em{color:#596063;font-style:normal}
.trip-tag{color:#6e7376;font-size:10px;font-weight:900;letter-spacing:.08em}
.carrier-flight-label{display:flex;flex-wrap:wrap;gap:3px;color:#111;line-height:1.25}
.carrier-flight-label b{font-size:11.5px;white-space:nowrap}

.opportunity-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.opportunity-metrics div{padding:11px 8px;border-radius:10px;background:#f4f4f2;text-align:center;border:1px solid #eeeeeb}
.opportunity-metrics strong,.opportunity-metrics span{display:block}
.opportunity-metrics strong{font-size:20px;line-height:1.05;color:#111;letter-spacing:-.025em}
.opportunity-metrics span{margin-top:5px;color:#656a6d;font-size:10.5px;font-weight:650}
.opportunity-metrics .leave-metric{background:#efefec}

.opportunity-buy{text-align:right}
.price-main{font-size:25px;font-weight:900;letter-spacing:-.035em;color:#111}
.price-sub{margin-top:3px;color:var(--radar-muted);font-size:12px}
.buy-meta{margin:9px 0;color:#767b7e;font-size:10.5px;line-height:1.35}
.opportunity-buy .button{min-height:37px;padding:9px 12px;font-size:12px}

.radar-empty,.live-empty,.live-error{display:flex;align-items:center;gap:13px;margin-top:20px;padding:18px;border:1px dashed #c8cacc;border-radius:12px;background:#fafafa}
.radar-empty-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:999px;background:#111;color:#fff;font-size:18px}
.radar-empty strong,.radar-empty span,.live-empty strong,.live-empty span,.live-error strong,.live-error span{display:block}
.radar-empty strong,.live-empty strong,.live-error strong{font-size:14px}
.radar-empty span,.live-empty span,.live-error span{margin-top:4px;color:var(--radar-muted);font-size:12.5px}
.live-error{border-style:solid;border-color:#b8b8b8;background:#f6f6f6}
.live-error strong{color:#111}

@media(max-width:1400px){
    .opportunity-row{grid-template-columns:42px minmax(195px,1fr) minmax(410px,2.15fr) minmax(205px,.9fr) minmax(160px,.72fr)}
    .trip-line{grid-template-columns:30px minmax(86px,auto) minmax(125px,1fr) 90px 70px 52px}
}
@media(max-width:1180px){
    .opportunity-row{grid-template-columns:38px minmax(190px,1fr) minmax(360px,1.8fr) minmax(175px,.85fr)}
    .opportunity-buy{grid-column:2/-1;display:flex;align-items:center;justify-content:flex-end;gap:11px}
    .buy-meta{margin:0}
}
@media(max-width:980px){
    .radar-head,.all-hits-head{display:grid;align-items:start}
    .highlight-grid{grid-template-columns:1fr}
    .opportunity-row{grid-template-columns:34px minmax(0,1fr);align-items:start}
    .opportunity-trip,.opportunity-metrics,.opportunity-buy{grid-column:2}
    .opportunity-buy{justify-content:flex-start;text-align:left}
}
@media(max-width:700px){
    .travel-radar{padding:19px}
    .radar-actions{display:grid;width:100%}
    .trip-line{grid-template-columns:30px 1fr}
    .trip-line>*:not(.trip-tag){grid-column:2}
    .opportunity-metrics{grid-template-columns:repeat(3,1fr)}
}



/* v0.7.0-alpha.3.3 — dashboard/search unification, bigger type, clearer icons */
.topnav a{font-size:14px}
.page-shell{max-width:1460px}
.lead.smaller,.section-lead,.side-copy,.card-heading p,.anywhere-box span,.muted-copy{font-size:13px;line-height:1.65}
label{font-size:12px;gap:8px}
input,select,textarea{padding:12px 13px;font-size:14px;border-radius:11px}
.inline-form{gap:12px}
.button{min-height:42px;font-size:13px}
.step-number{width:28px;height:28px;font-size:12px}
.settings-card{padding:28px}
.card-heading h2{font-size:22px}
.card-heading p{font-size:13px}
.airport-chip strong{font-size:13px}
.airport-chip span{font-size:12px}
.anywhere-box strong{font-size:15px}
.preference-stats span{font-size:12px}
.preference-row .text-action{font-size:12px}

.travel-radar{padding:34px;border-radius:20px}
.radar-rules span{font-size:13px;padding:9px 12px}
.radar-summary strong{font-size:18px}
.radar-summary span{font-size:13px}
.radar-live-dot{font-size:12.5px}
.highlight-card{padding:22px}
.highlight-kicker{gap:10px}
.highlight-icon{width:34px;height:34px;border-radius:10px;background:#111;color:#fff;border-color:#111;box-shadow:0 6px 14px rgba(0,0,0,.08)}
.highlight-icon svg{width:18px;height:18px;stroke-width:1.9}
.highlight-eyebrow{font-size:11px;letter-spacing:.12em}
.highlight-main h3{font-size:26px}
.destination-meta>span:first-child,.carrier-labels b{font-size:13px}
.highlight-label{font-size:18px}
.highlight-facts span{font-size:12px;padding:7px 10px}
.highlight-why strong{font-size:13px}
.highlight-why span{font-size:13.5px}
.radar-text-link{font-size:13px}
.all-hits-head h3{font-size:28px}
.sort-tabs button{font-size:12.5px;padding:9px 14px}
.opportunity-row{padding:21px 18px;grid-template-columns:48px minmax(225px,1.08fr) minmax(560px,2.45fr) minmax(240px,.92fr) minmax(180px,.72fr)}
.opportunity-rank span{font-size:20px}
.opportunity-place h3{font-size:23px}
.opportunity-place p{font-size:13px}
.reason-line strong{font-size:14px}
.reason-line span{font-size:13px}
.trip-line{grid-template-columns:34px minmax(112px,auto) minmax(145px,1fr) 96px 82px 62px;font-size:13.5px}
.trip-line strong{font-size:15px}
.carrier-flight-label b{font-size:12px}
.trip-line>span:not(.trip-tag):not(.carrier-flight-label),.trip-line em{font-size:13px}
.opportunity-metrics strong{font-size:21px}
.opportunity-metrics span{font-size:11px}
.price-main{font-size:27px}
.price-sub{font-size:12.5px}
.buy-meta{display:none}

.dashboard-intro-row{margin-bottom:28px}
.unified-dashboard-grid{align-items:start}
.dashboard-radar-block,.dashboard-results-block{padding:28px}
.dashboard-radar-head{align-items:flex-start}
.dashboard-radar-actions{display:flex;gap:10px;align-self:flex-start}
.dashboard-rules{margin-top:16px}
.dashboard-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.dashboard-mini-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}
.dashboard-mini-topline{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.dashboard-mini-kicker{font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.dashboard-mini-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.dashboard-mini-title h3{font-size:24px;letter-spacing:-.03em}
.dashboard-mini-title p{margin:4px 0 0;color:var(--muted);font-size:13px}
.dashboard-mini-price{text-align:right;white-space:nowrap}
.dashboard-mini-price strong{display:block;font-size:23px;line-height:1.05}
.dashboard-mini-price span{display:block;margin-top:5px;color:var(--muted);font-size:12px}
.dashboard-mini-status{margin-top:12px;font-size:17px;font-weight:820}
.dashboard-mini-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.dashboard-mini-tags span{padding:7px 10px;border-radius:999px;background:#f4f4f2;font-size:12px;font-weight:720}
.dashboard-mini-why{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.55}
.compact-results-dashboard{margin-top:18px}
.result-row-link{color:inherit;text-decoration:none}
.new-hunt{margin-top:18px}
.trust-card textarea{min-height:96px}
.sources-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.sources-row{display:grid;grid-template-columns:1.6fr 1fr .5fr .7fr;gap:16px;align-items:start;padding:15px 16px;border-bottom:1px solid var(--line)}
.sources-row:last-child{border-bottom:0}
.sources-row strong{font-size:14px}
.sources-row small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.sources-head{background:#fafafa}
.sources-head strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}

@media (max-width:1180px){
  .dashboard-card-grid{grid-template-columns:1fr}
  .opportunity-row{grid-template-columns:42px minmax(205px,1fr) minmax(420px,2fr) minmax(195px,.85fr)}
}
@media (max-width:820px){
  .dashboard-radar-head,.dashboard-radar-actions,.dashboard-mini-title{display:grid}
  .dashboard-radar-actions{width:100%}
  .sources-row,.sources-head{grid-template-columns:1fr}
}


/* v0.7.0-alpha.3.4 — cross-browser flags + clearer top-card icons */
.highlight-icon{
  background:#fff !important;
  color:#111 !important;
  border:2px solid #111 !important;
  box-shadow:0 4px 10px rgba(0,0,0,.06) !important;
}
.highlight-icon svg{width:19px !important;height:19px !important;stroke-width:2.35 !important;stroke:#111 !important;fill:none !important}
.highlight-eyebrow{color:#111 !important}

.destination-flag{
  position:relative;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:20px;
  height:14px;
  border-radius:3px;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
  background:#f3f4f5;
  color:transparent !important;
  font-size:0 !important;
  line-height:1;
}
.destination-name.compact .destination-flag{width:18px;height:12px}
.destination-flag::after{
  content:attr(data-code);
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  color:#111; font-size:8px; font-weight:900; letter-spacing:.02em;
}
.flag-dk{background:
linear-gradient(90deg, transparent 0 30%, #fff 30% 38%, transparent 38% 100%),
linear-gradient(180deg, transparent 0 42%, #fff 42% 58%, transparent 58% 100%),
#c60c30}
.flag-be{background:linear-gradient(90deg,#111 0 33.333%,#ffd90c 33.333% 66.666%,#ef3340 66.666% 100%)}
.flag-pl{background:linear-gradient(180deg,#fff 0 50%,#dc143c 50% 100%)}
.flag-hu{background:linear-gradient(180deg,#ce2939 0 33.333%,#fff 33.333% 66.666%,#477050 66.666% 100%)}
.flag-bg{background:linear-gradient(180deg,#fff 0 33.333%,#00966e 33.333% 66.666%,#d62612 66.666% 100%)}
.flag-ie{background:linear-gradient(90deg,#169b62 0 33.333%,#fff 33.333% 66.666%,#ff883e 66.666% 100%)}
.flag-it{background:linear-gradient(90deg,#009246 0 33.333%,#fff 33.333% 66.666%,#ce2b37 66.666% 100%)}
.flag-fr{background:linear-gradient(90deg,#0055a4 0 33.333%,#fff 33.333% 66.666%,#ef4135 66.666% 100%)}
.flag-ro{background:linear-gradient(90deg,#002b7f 0 33.333%,#fcd116 33.333% 66.666%,#ce1126 66.666% 100%)}
.flag-de{background:linear-gradient(180deg,#111 0 33.333%,#dd0000 33.333% 66.666%,#ffce00 66.666% 100%)}
.flag-nl{background:linear-gradient(180deg,#ae1c28 0 33.333%,#fff 33.333% 66.666%,#21468b 66.666% 100%)}
.flag-at{background:linear-gradient(180deg,#ed2939 0 33.333%,#fff 33.333% 66.666%,#ed2939 66.666% 100%)}
.flag-lt{background:linear-gradient(180deg,#fdb913 0 33.333%,#006a44 33.333% 66.666%,#c1272d 66.666% 100%)}
.flag-lv{background:linear-gradient(180deg,#9e3039 0 40%,#fff 40% 60%,#9e3039 60% 100%)}
.flag-ee{background:linear-gradient(180deg,#4891d9 0 33.333%,#111 33.333% 66.666%,#fff 66.666% 100%)}
.flag-fi{background:
linear-gradient(90deg, transparent 0 28%, #003580 28% 40%, transparent 40% 100%),
linear-gradient(180deg, transparent 0 42%, #003580 42% 58%, transparent 58% 100%),
#fff}
.flag-se{background:
linear-gradient(90deg, transparent 0 30%, #fecc00 30% 42%, transparent 42% 100%),
linear-gradient(180deg, transparent 0 42%, #fecc00 42% 58%, transparent 58% 100%),
#006aa7}
.flag-no{background:
linear-gradient(90deg, transparent 0 25%, #fff 25% 43%, transparent 43% 100%),
linear-gradient(180deg, transparent 0 38%, #fff 38% 62%, transparent 62% 100%),
linear-gradient(90deg, transparent 0 30%, #00205b 30% 38%, transparent 38% 100%),
linear-gradient(180deg, transparent 0 43%, #00205b 43% 57%, transparent 57% 100%),
#ba0c2f}
.flag-ch{background:
linear-gradient(90deg, transparent 0 36%, #fff 36% 64%, transparent 64% 100%),
linear-gradient(180deg, transparent 0 28%, #fff 28% 72%, transparent 72% 100%),
#d52b1e}
.flag-es{background:linear-gradient(180deg,#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75% 100%)}
.flag-pt{background:linear-gradient(90deg,#046a38 0 40%,#da291c 40% 100%)}
.flag-cz{background:linear-gradient(180deg,#fff 0 50%,#d7141a 50% 100%);}
.flag-cz::before{content:"";position:absolute;left:0;top:0;width:46%;height:100%;background:#11457e;clip-path:polygon(0 0,100% 50%,0 100%)}
.flag-sk{background:linear-gradient(180deg,#fff 0 33.333%,#0b4ea2 33.333% 66.666%,#ee1c25 66.666% 100%)}
.flag-si{background:linear-gradient(180deg,#fff 0 33.333%,#0056a4 33.333% 66.666%,#d50000 66.666% 100%)}
.flag-hr{background:linear-gradient(180deg,#ff0000 0 33.333%,#fff 33.333% 66.666%,#171796 66.666% 100%)}
.flag-gr{background:repeating-linear-gradient(180deg,#0d5eaf 0 11.11%,#fff 11.11% 22.22%)}
.flag-gr::before{content:"";position:absolute;left:0;top:0;width:45%;height:55%;background:
linear-gradient(90deg, transparent 0 38%, #fff 38% 62%, transparent 62%),
linear-gradient(180deg, transparent 0 38%, #fff 38% 62%, transparent 62%), #0d5eaf}
.flag-ua{background:linear-gradient(180deg,#0057b7 0 50%,#ffd700 50% 100%)}
.flag-tr{background:#e30a17}
.flag-tr::before{content:"";position:absolute;left:26%;top:22%;width:38%;height:56%;border-radius:999px;box-shadow:inset -8px 0 0 2px #fff}
.flag-gb{
  background:
  linear-gradient(33deg, transparent 42%, #c8102e 42% 48%, transparent 48% 52%, #c8102e 52% 58%, transparent 58%),
  linear-gradient(-33deg, transparent 42%, #c8102e 42% 48%, transparent 48% 52%, #c8102e 52% 58%, transparent 58%),
  linear-gradient(33deg, transparent 37%, #fff 37% 43%, transparent 43% 57%, #fff 57% 63%, transparent 63%),
  linear-gradient(-33deg, transparent 37%, #fff 37% 43%, transparent 43% 57%, #fff 57% 63%, transparent 63%),
  linear-gradient(90deg, transparent 0 35%, #fff 35% 65%, transparent 65%),
  linear-gradient(180deg, transparent 0 35%, #fff 35% 65%, transparent 65%),
  linear-gradient(90deg, transparent 0 43%, #c8102e 43% 57%, transparent 57%),
  linear-gradient(180deg, transparent 0 43%, #c8102e 43% 57%, transparent 57%),
  #012169;
}
.flag-dk::after,.flag-be::after,.flag-pl::after,.flag-hu::after,.flag-bg::after,.flag-ie::after,.flag-it::after,.flag-fr::after,.flag-ro::after,.flag-de::after,.flag-nl::after,.flag-at::after,.flag-lt::after,.flag-lv::after,.flag-ee::after,.flag-fi::after,.flag-se::after,.flag-no::after,.flag-ch::after,.flag-es::after,.flag-pt::after,.flag-cz::after,.flag-sk::after,.flag-si::after,.flag-hr::after,.flag-gr::after,.flag-ua::after,.flag-tr::after,.flag-gb::after{content:""}

/* v0.7.0-alpha.5.0 — Polowania 2.0: one editor, no airport reloads, ranking profiles */
.hunt-editor{display:grid;gap:16px}
.hunt-editor .settings-card{margin:0}
.hunt-identity-card textarea{min-height:84px}
.hunt-name-grid{align-items:end}
.airport-picker{display:grid;gap:14px}
.airport-add-row{margin-top:0}
.airport-chip{grid-template-columns:auto minmax(0,1fr) auto}
.airport-chip button{border:0;background:transparent;color:#74797c;padding:2px 5px;font-size:18px;line-height:1;cursor:pointer;border-radius:6px}
.airport-chip button:hover{background:#e9e9e6;color:#111}
[hidden]{display:none !important}

.ranking-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ranking-profile-card{position:relative;display:block;cursor:pointer}
.ranking-profile-card>input{position:absolute;opacity:0;pointer-events:none}
.ranking-profile-copy{display:grid;gap:7px;height:100%;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.ranking-profile-copy strong{font-size:15px;color:#111}
.ranking-profile-copy small{min-height:42px;color:var(--muted);font-size:12.5px;line-height:1.5}
.ranking-profile-card:hover .ranking-profile-copy{border-color:#aeb1b3;transform:translateY(-1px)}
.ranking-profile-card>input:checked + .ranking-profile-copy{border:2px solid #111;padding:15px;box-shadow:0 8px 22px rgba(0,0,0,.055)}
.ranking-profile-card>input:focus-visible + .ranking-profile-copy{outline:3px solid rgba(17,17,17,.16);outline-offset:2px}
.ranking-weights{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}
.ranking-weights b{padding:5px 7px;border-radius:999px;background:#f3f3f1;color:#3d4143;font-size:10.5px;font-weight:760}

.hunt-savebar{position:sticky;bottom:14px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 15px 14px 18px;border:1px solid #c9cbcc;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 12px 36px rgba(0,0,0,.10);backdrop-filter:blur(10px)}
.hunt-savebar strong,.hunt-savebar span{display:block}
.hunt-savebar strong{font-size:13.5px;color:#111}
.hunt-savebar span{margin-top:3px;color:var(--muted);font-size:11.5px}
.hunt-editor.is-dirty .hunt-savebar{border-color:#111}
.hunt-editor.is-dirty .hunt-savebar span{color:#111;font-weight:720}

.rejection-list{display:grid;gap:8px;margin-top:12px}
.rejection-list div{display:grid;grid-template-columns:48px 1fr;gap:8px;padding-top:8px;border-top:1px solid var(--line)}
.rejection-list strong{font-size:12px;color:#111}
.rejection-list span{font-size:11.5px;line-height:1.4;color:var(--muted)}

/* Standalone Top 3 symbols — deliberately no icon tile. */
.highlight-kicker{gap:8px}
.highlight-icon{
  width:28px !important;
  height:28px !important;
  display:inline-grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#111 !important;
}
.highlight-icon svg{width:27px !important;height:27px !important;overflow:visible;stroke:#111 !important;stroke-width:2 !important;fill:none !important;stroke-linecap:round;stroke-linejoin:round}
.highlight-icon-coin svg circle{stroke-width:2.2 !important}
.highlight-icon-coin svg text{fill:#111;stroke:none;font-family:inherit;font-size:8px;font-weight:900;letter-spacing:-.04em}
.highlight-icon-star svg path{fill:#111 !important;stroke:#111 !important;stroke-width:1.4 !important}
.highlight-icon-medal svg circle{stroke-width:2.1 !important}
.highlight-icon-medal svg path:last-child{fill:#111 !important;stroke:#111 !important;stroke-width:1 !important}

/* Cross-browser CSS flags used in both Top 3 and the full result list. */
.flag-se{background:linear-gradient(90deg,transparent 0 30%,#fecc00 30% 40%,transparent 40% 100%),linear-gradient(180deg,transparent 0 43%,#fecc00 43% 57%,transparent 57% 100%),#006aa7}
.flag-ee{background:linear-gradient(180deg,#4891d9 0 33.333%,#111 33.333% 66.666%,#fff 66.666% 100%)}
.flag-fi{background:linear-gradient(90deg,transparent 0 31%,#003580 31% 42%,transparent 42% 100%),linear-gradient(180deg,transparent 0 43%,#003580 43% 58%,transparent 58% 100%),#fff}
.flag-es{background:linear-gradient(180deg,#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75% 100%)}
.flag-gr{background:repeating-linear-gradient(180deg,#0d5eaf 0 11.11%,#fff 11.11% 22.22%)}
.flag-pt{background:linear-gradient(90deg,#046a38 0 40%,#da291c 40% 100%)}
.flag-cz{background:linear-gradient(180deg,#fff 0 50%,#d7141a 50% 100%)}
.flag-sk{background:linear-gradient(180deg,#fff 0 33.333%,#0b4ea2 33.333% 66.666%,#ee1c25 66.666% 100%)}
.flag-al{background:#e41e20}
.flag-cy{background:#fff}
.flag-lt{background:linear-gradient(180deg,#fdb913 0 33.333%,#006a44 33.333% 66.666%,#c1272d 66.666% 100%)}
.flag-lv{background:linear-gradient(180deg,#9e3039 0 40%,#fff 40% 60%,#9e3039 60% 100%)}
.flag-hr{background:linear-gradient(180deg,#ff0000 0 33.333%,#fff 33.333% 66.666%,#171796 66.666% 100%)}
.flag-gb{background:linear-gradient(90deg,transparent 0 43%,#fff 43% 57%,transparent 57% 100%),linear-gradient(180deg,transparent 0 38%,#fff 38% 62%,transparent 62% 100%),linear-gradient(90deg,transparent 0 46%,#c8102e 46% 54%,transparent 54% 100%),linear-gradient(180deg,transparent 0 44%,#c8102e 44% 56%,transparent 56% 100%),#012169}
.flag-ch{background:linear-gradient(90deg,transparent 0 42%,#fff 42% 58%,transparent 58% 100%),linear-gradient(180deg,transparent 0 34%,#fff 34% 66%,transparent 66% 100%),#d52b1e}
.flag-ma{background:#c1272d}
.flag-me{background:#c40308}
.flag-mt{background:linear-gradient(90deg,#fff 0 50%,#cf142b 50% 100%)}
.flag-ba{background:#002395}

@media(max-width:980px){
  .ranking-profile-grid{grid-template-columns:1fr}
  .ranking-profile-copy small{min-height:0}
}
@media(max-width:700px){
  .hunt-savebar{display:grid;bottom:8px}
  .hunt-savebar .button{width:100%}
}

/* Multiple named hunts navigation */
.hunt-list{display:grid;gap:7px;margin-top:14px}
.hunt-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;color:inherit;text-decoration:none;background:#fff}
.hunt-list-row:hover{border-color:#111;background:#fafafa}
.hunt-list-row span,.hunt-list-row strong,.hunt-list-row small{display:block}
.hunt-list-row strong{font-size:13.5px;color:#111}
.hunt-list-row small{margin-top:4px;color:var(--muted);font-size:11.5px}
.hunt-list-row>b{font-size:16px;color:#111}


/* v0.7.0-alpha.5.1 — save returns to the hunts list */
.save-success {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid #b8dfc5;
  border-radius: 10px;
  background: #eef9f1;
  font-weight: 700;
}

/* v0.7.0-alpha.5.2 — one canonical hunts overview; no duplicate active/saved hunt UI */
.hunts-overview{padding:28px}
.hunts-overview-head{margin-bottom:18px}
.hunts-save-success{margin:0 0 16px}
.hunt-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.hunt-overview-card{display:grid;gap:18px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.025)}
.hunt-overview-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.hunt-card-kicker{margin:0 0 6px;color:var(--muted);font-size:10.5px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.hunt-overview-card h3{margin:0;font-size:22px;line-height:1.15;letter-spacing:-.025em;color:#111}
.hunt-run-meta{min-width:145px;text-align:right}
.hunt-run-meta strong,.hunt-run-meta span{display:block}
.hunt-run-meta strong{font-size:15px;color:#111}
.hunt-run-meta span{margin-top:4px;color:var(--muted);font-size:11.5px;line-height:1.35}
.hunt-summary-line{display:flex;align-items:center;gap:9px;min-height:24px;font-size:13px}
.hunt-summary-line strong{color:#111}
.hunt-summary-line span{color:var(--muted)}
.hunt-rule-chips{display:flex;flex-wrap:wrap;gap:7px}
.hunt-rule-chips span{padding:7px 9px;border-radius:999px;background:#f3f3f1;font-size:11.5px;font-weight:720;color:#35393b}
.hunt-overview-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:2px}
.hunt-overview-actions .button{min-height:38px;padding:9px 12px}
.new-hunt-card{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.55fr);gap:28px;margin-top:16px;padding:24px;border:1px dashed #aeb1b3;border-radius:16px;background:#fafafa}
.new-hunt-copy h3{margin:3px 0 8px;font-size:21px;color:#111}
.new-hunt-copy p:last-child{margin:0;max-width:440px;color:var(--muted);font-size:12.5px;line-height:1.6}
.new-hunt-form{display:grid;grid-template-columns:1.3fr 1fr .8fr auto;gap:10px;align-items:end}
.new-hunt-form label{min-width:0}
.new-hunt-form .new-hunt-note{grid-column:1/-2}
.new-hunt-form .new-hunt-note span{font-weight:500;color:var(--muted)}
.new-hunt-form textarea{min-height:72px;resize:vertical}
.new-hunt-form>.button{grid-column:-2/-1;align-self:end;margin-bottom:0;white-space:nowrap}
.latest-results-block{margin-top:22px}
.compact-empty-state{margin:0}

/* The dashboard no longer has a privileged "active hunt" or a duplicate side list. */
.unified-dashboard-grid{display:block}
.dashboard-side{display:none}
.dashboard-main{min-width:0}

@media(max-width:1050px){
  .hunt-overview-grid{grid-template-columns:1fr}
  .new-hunt-card{grid-template-columns:1fr}
  .new-hunt-form{grid-template-columns:1fr 1fr}
  .new-hunt-form .new-hunt-note{grid-column:1/-1}
  .new-hunt-form>.button{grid-column:1/-1}
}
@media(max-width:700px){
  .hunts-overview{padding:20px}
  .hunt-overview-top{display:grid;gap:10px}
  .hunt-run-meta{text-align:left}
  .new-hunt-form{grid-template-columns:1fr}
  .new-hunt-form .new-hunt-note,.new-hunt-form>.button{grid-column:1}
  .hunt-overview-actions{display:grid}
}

/* Hunts Manager alpha.5.3 — scalable hunt list, typeahead airports, multi-day schedules */
.hunts-overview-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.hunt-list{display:grid;border:1px solid var(--line);border-radius:16px;overflow:visible;background:#fff}
.hunt-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:20px 20px;border-bottom:1px solid var(--line)}
.hunt-row:first-child{border-radius:16px 16px 0 0}.hunt-row:last-child{border-bottom:0;border-radius:0 0 16px 16px}
.hunt-row-main{min-width:0;display:grid;gap:9px}.hunt-row-titleline{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap}
.hunt-row-titleline h3{margin:0;font-size:21px;line-height:1.2;letter-spacing:-.025em}.hunt-last-run{font-size:12px;color:var(--muted)}
.hunt-route-line{display:flex;gap:9px;align-items:center;font-size:14px}.hunt-route-line span{color:#9aa2a9}
.hunt-row-meta{display:flex;gap:7px 14px;flex-wrap:wrap;color:var(--muted);font-size:12px}.hunt-row-meta span{position:relative}
.hunt-row-meta span:not(:last-child)::after{content:"·";position:absolute;right:-9px;color:#b1b7bc}
.hunt-row-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.hunt-row-actions .button{min-height:38px;padding:9px 12px}
.hunt-more{position:relative}.hunt-more summary{list-style:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:10px;font-weight:800;cursor:pointer;background:#fff}
.hunt-more summary::-webkit-details-marker{display:none}.hunt-more-menu{position:absolute;z-index:12;right:0;top:46px;min-width:190px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.hunt-more-menu a,.hunt-more-menu button{display:block;width:100%;padding:10px 11px;border:0;background:transparent;text-align:left;border-radius:8px;color:var(--text);font-weight:650;font-size:13px}.hunt-more-menu a:hover,.hunt-more-menu button:hover{background:#f2f4f5}
.archived-hunts{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.archived-hunts>summary{cursor:pointer;color:var(--muted);font-weight:700;font-size:13px}.archived-hunt-list{display:grid;gap:8px;margin-top:10px}.archived-hunt-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fafafa}.archived-hunt-row span strong,.archived-hunt-row span small{display:block}.archived-hunt-row span small{color:var(--muted);margin-top:2px}

.typeahead-picker{position:relative}.airport-typeahead{position:relative;max-width:760px}.airport-typeahead input[type="search"]{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;color:var(--text);outline:none}.airport-typeahead input[type="search"]:focus{border-color:#8b9ba5;box-shadow:0 0 0 3px rgba(23,62,86,.08)}
.airport-suggestions{position:absolute;z-index:18;top:calc(100% + 6px);left:0;right:0;max-height:330px;overflow:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.airport-suggestion{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:10px 11px;border:0;border-radius:9px;background:#fff;text-align:left}.airport-suggestion:hover,.airport-suggestion:focus{background:#f2f4f5;outline:none}.airport-suggestion span strong,.airport-suggestion span small{display:block}.airport-suggestion span strong{font-size:14px}.airport-suggestion span small{margin-top:2px;color:var(--muted);font-size:11px}.airport-suggestion>b{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.airport-suggestion-empty{padding:12px;color:var(--muted);font-size:13px}
.destination-mode-switch{display:flex;gap:8px;margin-bottom:16px}.destination-mode-switch label{cursor:pointer}.destination-mode-switch input{position:absolute;opacity:0;pointer-events:none}.destination-mode-switch span{display:block;padding:10px 14px;border:1px solid var(--line-strong);border-radius:999px;font-weight:700;font-size:13px;background:#fff}.destination-mode-switch input:checked+span{background:#111;color:#fff;border-color:#111}

.schedule-settings-card{display:grid;gap:18px}.schedule-builder{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfbfb}.schedule-builder-head strong,.schedule-builder-head span{display:block}.schedule-builder-head strong{font-size:15px}.schedule-builder-head span{color:var(--muted);font-size:12px;margin-top:2px}
.weekday-toggles{display:flex;gap:7px;flex-wrap:wrap}.weekday-toggle{min-width:48px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--text);font-weight:750;text-transform:lowercase}.weekday-toggle.selected{background:#111;color:#fff;border-color:#111}
.weekday-time-list{display:grid;gap:7px}.weekday-time-row{display:grid;grid-template-columns:52px minmax(170px,auto) 150px;align-items:center;justify-content:start;gap:14px;padding:8px 0;border-top:1px solid #eceeef}.weekday-time-row:first-child{border-top:0}.weekday-time-row>strong{text-transform:lowercase}.weekday-time-row label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.weekday-time-row input[type="time"]{min-height:38px;padding:7px 9px;border:1px solid var(--line-strong);border-radius:9px;background:#fff}.weekday-time-row input[type="time"]:disabled{opacity:.45;background:#f2f3f4}

@media (max-width: 980px){.hunt-row{grid-template-columns:1fr}.hunt-row-actions{justify-content:flex-start}.hunts-overview-head{align-items:flex-start;flex-direction:column}.weekday-time-row{grid-template-columns:46px 1fr 130px}}
@media (max-width: 620px){.hunt-row-actions{display:grid;grid-template-columns:1fr 1fr auto}.hunt-row-actions .button{text-align:center}.weekday-time-row{grid-template-columns:1fr}.hunt-row-meta span::after{display:none}.airport-suggestions{position:static;margin-top:6px}}

/* Hunts Manager alpha.5.4 — per-weekday time windows and deterministic re-selection */
.weekday-time-row{grid-template-columns:52px minmax(170px,auto) minmax(270px,360px)}
.any-time-toggle{white-space:nowrap}
.weekday-window-fields{display:grid;grid-template-columns:repeat(2,minmax(118px,1fr));gap:10px;align-items:end}
.weekday-window-fields label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:700;text-transform:lowercase}
.weekday-window-fields input[type="time"]{width:100%;min-height:38px;padding:7px 9px;border:1px solid var(--line-strong);border-radius:9px;background:#fff}
.weekday-window-fields input[type="time"]:disabled{opacity:.45;background:#f2f3f4}
@media (max-width:980px){.weekday-time-row{grid-template-columns:46px minmax(160px,auto) minmax(250px,1fr)}}
@media (max-width:700px){.weekday-time-row{grid-template-columns:1fr}.weekday-window-fields{grid-template-columns:1fr 1fr}}

/* v0.7.0-alpha.5.6.1 — richer discovery diagnostics, holiday profile and dense controls */
.ranking-profile-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}
.rejection-list{gap:5px}
.rejection-list .rejection-mini{display:block;padding:9px 0;border-top:1px solid var(--line)}
.rejection-mini-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px}
.rejection-mini-title .destination-flag{width:18px;height:12px}
.rejection-mini-title strong{display:flex;align-items:baseline;gap:5px;min-width:0;font-size:12px;color:#111}
.rejection-mini-title strong small{font-size:9.5px;color:var(--muted);font-weight:760}
.rejection-mini-title>b{font-size:11px;color:#111;white-space:nowrap}
.rejection-mini>span{display:block;margin-top:4px;padding-left:25px;font-size:11.5px;line-height:1.4;color:var(--muted)}
.rejection-more{display:inline-block;margin-top:12px;color:#111;font-size:11.5px;font-weight:800;text-decoration:underline;text-underline-offset:3px}

.rejected-details{margin:18px 0 4px;border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}
.rejected-details>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;cursor:pointer;list-style:none;background:#fafaf8}
.rejected-details>summary::-webkit-details-marker{display:none}
.rejected-details>summary strong{font-size:14px;color:#111}
.rejected-details>summary span{font-size:12px;color:var(--muted)}
.rejected-details[open]>summary{border-bottom:1px solid var(--line)}
.rejected-detail-list{display:grid}
.rejected-detail-row{display:grid;grid-template-columns:minmax(175px,.8fr) minmax(285px,1.25fr) minmax(300px,1.4fr) 90px;gap:15px;align-items:center;padding:13px 18px;border-top:1px solid #ededeb}
.rejected-detail-row:first-child{border-top:0}
.rejected-place{display:flex;align-items:center;gap:9px;min-width:0}
.rejected-place .destination-flag{width:20px;height:14px}
.rejected-place strong,.rejected-place span{display:block}
.rejected-place strong{font-size:14px;color:#111}
.rejected-place span{margin-top:2px;font-size:10.5px;color:var(--muted)}
.rejected-trip{display:grid;gap:4px;font-size:11px;color:#555b5e}
.rejected-trip b{display:inline-block;min-width:31px;font-size:9px;letter-spacing:.07em;color:#111}
.rejected-reason{display:grid;gap:3px}
.rejected-reason strong{font-size:11.5px;color:#111}
.rejected-reason span{font-size:11.5px;line-height:1.4;color:var(--muted)}
.rejected-price{text-align:right}
.rejected-price strong{font-size:13px;color:#111;white-space:nowrap}

.flag-md{background:linear-gradient(90deg,#0046ae 0 33.333%,#ffd200 33.333% 66.666%,#cc092f 66.666% 100%)}
.flag-do{background:linear-gradient(90deg,transparent 0 43%,#fff 43% 57%,transparent 57%),linear-gradient(180deg,transparent 0 43%,#fff 43% 57%,transparent 57%),linear-gradient(135deg,#002d62 0 50%,#ce1126 50% 100%)}
.flag-eg{background:linear-gradient(180deg,#ce1126 0 33.333%,#fff 33.333% 66.666%,#000 66.666% 100%)}
.flag-tn{background:#e70013}
.flag-ge{background:linear-gradient(90deg,transparent 0 45%,#ff0000 45% 55%,transparent 55%),linear-gradient(180deg,transparent 0 43%,#ff0000 43% 57%,transparent 57%),#fff}
.flag-me{background:#d3ae3b;border:2px solid #c40308;background-clip:padding-box}
.flag-mk{background:repeating-conic-gradient(#f8e92e 0 10deg,#d20000 10deg 45deg)}
.flag-rs{background:linear-gradient(180deg,#c6363c 0 33.333%,#0c4076 33.333% 66.666%,#fff 66.666% 100%)}
.flag-do::after,.flag-md::after,.flag-eg::after,.flag-tn::after,.flag-ge::after,.flag-me::after,.flag-mk::after,.flag-rs::after{content:""}

@media (max-width:1050px){
  .rejected-detail-row{grid-template-columns:minmax(150px,.8fr) minmax(245px,1.2fr) minmax(250px,1.3fr) 80px;gap:10px;padding:12px 14px}
}
@media (max-width:820px){
  .rejected-details>summary{align-items:flex-start;display:grid}
  .rejected-detail-row{grid-template-columns:1fr;gap:8px}
  .rejected-price{text-align:left}
}

/* v0.7.0-alpha.5.6.2 — cached results UX + corrected airport/flag presentation */
.rejection-inline-link{color:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.rejection-inline-link:hover{color:#111}

/* Final flag overrides. These intentionally come last so older prototype
   approximations cannot override them. */
.flag-gb{
  background:
    linear-gradient(33deg, transparent 38%, #fff 38% 45%, #c8102e 45% 49%, transparent 49% 51%, #c8102e 51% 55%, #fff 55% 62%, transparent 62%),
    linear-gradient(-33deg, transparent 38%, #fff 38% 45%, #c8102e 45% 49%, transparent 49% 51%, #c8102e 51% 55%, #fff 55% 62%, transparent 62%),
    linear-gradient(90deg, transparent 0 35%, #fff 35% 65%, transparent 65%),
    linear-gradient(180deg, transparent 0 32%, #fff 32% 68%, transparent 68%),
    linear-gradient(90deg, transparent 0 43%, #c8102e 43% 57%, transparent 57%),
    linear-gradient(180deg, transparent 0 42%, #c8102e 42% 58%, transparent 58%),
    #012169 !important;
}
.flag-gb::before{content:none !important;display:none !important}
.flag-gb::after{content:"" !important}

.flag-no{
  background:
    linear-gradient(90deg, transparent 0 27%, #fff 27% 43%, transparent 43% 100%),
    linear-gradient(180deg, transparent 0 37%, #fff 37% 63%, transparent 63% 100%),
    #ba0c2f !important;
}
.flag-no::before{
  content:"" !important;display:block !important;position:absolute;inset:0;
  background:
    linear-gradient(90deg, transparent 0 32%, #00205b 32% 38%, transparent 38% 100%),
    linear-gradient(180deg, transparent 0 45%, #00205b 45% 55%, transparent 55% 100%);
}
.flag-no::after{content:"" !important}

.flag-sk{background:linear-gradient(180deg,#fff 0 33.333%,#0b4ea2 33.333% 66.666%,#ee1c25 66.666% 100%) !important}
.flag-sk::before{
  content:"" !important;display:block !important;position:absolute;left:27%;top:22%;width:28%;height:58%;
  box-sizing:border-box;border:1px solid #fff;border-radius:2px 2px 4px 4px;background:#ee1c25 !important;clip-path:none !important;
}
.flag-sk::after{
  content:"" !important;display:block !important;position:absolute;left:32%;top:27%;width:18%;height:40%;
  background:
    linear-gradient(90deg,transparent 0 41%,#fff 41% 59%,transparent 59%),
    linear-gradient(180deg,transparent 0 18%,#fff 18% 30%,transparent 30% 43%,#fff 43% 55%,transparent 55%) !important;
  color:transparent !important;font-size:0 !important;
}

/* alpha.6.0 — flags are real ISO assets keyed by catalog country_code.
   These rules intentionally neutralise the old hand-drawn CSS flags. */
.destination-flag[data-code]{
  display:inline-block !important;
  width:22px !important;
  height:15px !important;
  min-width:22px !important;
  border:1px solid rgba(15,30,34,.10) !important;
  border-radius:2px !important;
  background-color:#f4f5f3;
  box-shadow:none !important;
  vertical-align:-1px;
}
.destination-flag[data-code]::before,
.destination-flag[data-code]::after{content:none !important;display:none !important}
.destination-name.compact .destination-flag[data-code]{width:20px !important;height:14px !important;min-width:20px !important}

.dashboard-card-grid-unified{align-items:stretch}
.unified-result-card{display:flex;flex-direction:column;gap:10px}
.dashboard-card-hunt{font-size:11px;color:var(--muted);margin-left:auto}
.dashboard-mini-carriers{display:flex;gap:6px;flex-wrap:wrap;font-size:12px}
.dashboard-mini-schedule{display:grid;gap:5px;font-size:12px;color:var(--muted)}
.dashboard-mini-schedule b{color:var(--ink);font-size:10px;letter-spacing:.08em;margin-right:4px}
.dashboard-result-link{margin-top:auto;align-self:flex-start;text-decoration:none}

/* alpha.6.1 — global place search + richer recommendation cards */
.highlight-schedule{display:grid;gap:6px;margin-top:14px;padding:11px 0;border-top:1px solid var(--radar-line);border-bottom:1px solid var(--radar-line)}
.highlight-schedule>div{display:grid;grid-template-columns:34px minmax(105px,1fr) auto auto;align-items:center;gap:8px;min-width:0;font-size:11.5px;color:var(--radar-muted)}
.highlight-schedule b{font-size:9.5px;letter-spacing:.08em;color:#111}
.highlight-schedule strong{font-size:11.5px;color:#111;white-space:nowrap}
.highlight-schedule span{white-space:nowrap}
.highlight-schedule em{font-style:normal;white-space:nowrap}
.vacation-nights-hint{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#f4f7f7;color:var(--muted);font-size:12px;line-height:1.45}
.airport-suggestion-empty{min-height:42px;display:flex;align-items:center}
@media (max-width:900px){.highlight-schedule>div{grid-template-columns:32px 1fr auto}.highlight-schedule span{grid-column:2/4}.highlight-schedule em{grid-column:3}}


/* alpha.6.1.1 — decision-focused trip cards, country scopes, SVG flags and near misses */
.destination-flag[data-code]{
  position:relative;overflow:hidden;display:inline-grid !important;place-items:center;
  flex:0 0 auto;line-height:1;font-size:14px !important;background:#f3f3f1 !important;
}
.destination-flag[data-code] img{width:100%;height:100%;display:block;object-fit:cover}
.destination-flag.svg-flag-fallback{font-size:13px !important;border-color:transparent !important;background:transparent !important}

/* Fixed schedule columns: TAM/POW, date+time, route, arrival. This removes
   the visual drift between the three recommendation cards. */
.highlight-schedule{gap:0;margin-top:14px;padding:8px 0}
.highlight-schedule .highlight-leg{
  display:grid;grid-template-columns:34px 122px minmax(100px,1fr) 48px;
  column-gap:8px;row-gap:2px;align-items:baseline;min-width:0;padding:4px 0;
  font-size:11px;color:var(--radar-muted);
}
.highlight-schedule .highlight-leg>b{grid-column:1;font-size:9px;letter-spacing:.075em;color:#111}
.highlight-schedule .highlight-leg>strong{grid-column:2;font-size:11px;color:#111;white-space:nowrap}
.highlight-schedule .highlight-leg>.highlight-route{grid-column:3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.highlight-schedule .highlight-leg>em{grid-column:4;font-size:10.5px;font-style:normal;white-space:nowrap;text-align:right}
.highlight-schedule .highlight-leg>small{
  grid-column:2/5;display:block;min-width:0;color:#777d80;font-size:10px;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

.trip-connection{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;margin-top:3px;color:#777d80;font-size:10px;line-height:1.35}
.trip-connection b{font-size:8.5px;letter-spacing:.075em;color:#9aa0a3}
.trip-connection span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.opportunity-metrics .journey-metric{display:flex;flex-direction:column;justify-content:center;min-width:0}
.opportunity-metrics .journey-metric strong{font-size:13px;letter-spacing:0;white-space:nowrap}
.opportunity-metrics .journey-metric span{margin-top:4px;font-size:10px;white-space:nowrap}

.climate-chip{
  display:inline-flex;align-items:center;gap:4px;vertical-align:1px;margin-left:4px;padding:2px 6px;
  border:0;border-radius:999px;background:#f4f4f1;color:#4d5558;font:inherit;font-size:10.5px;font-weight:750;
  cursor:help;white-space:nowrap;transition:background .15s ease,color .15s ease;
}
.climate-chip:hover,.climate-chip:focus-visible{background:#e9ece9;color:#111;outline:none}
.climate-chip.compact{padding:1px 5px;font-size:9.5px}
.climate-symbol{font-size:12px;line-height:1}

.airport-chip.country-chip{background:#eef4f4;border-color:#d7e2e2}
.airport-chip.country-chip strong{color:#0b5362}
.airport-suggestion:has(>span+ b){transition:background .12s ease}

.near-miss-section{margin:20px 0 4px;border:1px solid #dedfd9;border-radius:15px;background:#fbfbf7;overflow:hidden}
.near-miss-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid #e7e7e1}
.near-miss-head h3{margin:2px 0 0;font-size:18px;letter-spacing:-.02em}
.near-miss-head>span{max-width:460px;color:var(--muted);font-size:11.5px;line-height:1.45;text-align:right}
.near-miss-list{display:grid}
.near-miss-row{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(270px,1.25fr) minmax(285px,1.3fr) 130px;gap:16px;align-items:center;padding:14px 18px;border-top:1px solid #e9e9e4}
.near-miss-row:first-child{border-top:0}
.near-miss-place{display:flex;align-items:center;gap:9px;min-width:0}
.near-miss-place>div strong,.near-miss-place>div span{display:block}
.near-miss-place>div strong{font-size:15px;color:#111}
.near-miss-place>div span{margin-top:2px;color:var(--muted);font-size:10.5px}
.near-miss-trip{display:grid;gap:4px;color:#555b5e;font-size:10.5px}
.near-miss-trip b{display:inline-block;min-width:31px;font-size:8.5px;letter-spacing:.07em;color:#111}
.near-miss-why{display:grid;gap:3px}
.near-miss-why strong{font-size:11.5px;color:#111}
.near-miss-why span{color:var(--muted);font-size:11.5px;line-height:1.4}
.near-miss-action{display:grid;justify-items:end;gap:7px}
.near-miss-action>strong{font-size:17px;color:#111;white-space:nowrap}
.button.small{min-height:32px;padding:7px 10px;font-size:10.5px}

@media (max-width:1120px){
  .highlight-schedule .highlight-leg{grid-template-columns:32px 112px minmax(82px,1fr) 44px;column-gap:6px}
  .near-miss-row{grid-template-columns:minmax(160px,.8fr) minmax(230px,1.1fr) minmax(250px,1.2fr) 115px;gap:11px}
}
@media (max-width:860px){
  .highlight-schedule .highlight-leg{grid-template-columns:32px minmax(105px,1fr) 48px}
  .highlight-schedule .highlight-leg>strong{grid-column:2}
  .highlight-schedule .highlight-leg>.highlight-route{grid-column:2;text-align:left}
  .highlight-schedule .highlight-leg>em{grid-column:3;grid-row:1/3}
  .highlight-schedule .highlight-leg>small{grid-column:2/4}
  .near-miss-head{display:grid;align-items:start}.near-miss-head>span{text-align:left}
  .near-miss-row{grid-template-columns:1fr;gap:8px}.near-miss-action{justify-items:start}
}


/* alpha.6.2 — saved flights / watchlist / purchase lifecycle */
.nav-count{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:6px;padding:0 5px;border-radius:999px;background:#111;color:#fff;font-size:10px;font-weight:800;line-height:1}
.topnav a.active .nav-count{background:#17384c;color:#fff}

.saved-dashboard-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0;padding:20px 22px;border:1px solid var(--line);border-radius:15px;background:#fbfbfa}
.saved-dashboard-strip h2{margin:3px 0 5px;font-size:21px;letter-spacing:-.025em}.saved-dashboard-strip p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.dashboard-result-actions{display:flex;align-items:center;gap:8px;margin-top:auto}.dashboard-result-actions form{margin:0}

.saved-button{background:#fff;color:#32383b;border:1px solid #cfd3d4;min-height:37px;padding:8px 11px;font-size:12px}
.saved-button:hover{background:#f5f6f5;border-color:#aeb5b8}.saved-button.active{background:#f1f5f3;border-color:#bfd4ca;color:#205d46}.saved-button.bought{background:#f1f3f5;border-color:#cbd1d6;color:#344451}
.opportunity-actions{display:grid;gap:6px;justify-items:stretch;margin-top:8px}.opportunity-actions form{margin:0}.opportunity-actions .button{width:100%}

.saved-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin-bottom:18px}.saved-header h1{margin:4px 0 8px;font-size:38px;letter-spacing:-.045em}.saved-header-facts{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.saved-header-facts>div{padding:13px 16px;border-left:1px solid var(--line);text-align:right}.saved-header-facts>div:first-child{border-left:0}.saved-header-facts span,.saved-header-facts strong{display:block}.saved-header-facts span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.saved-header-facts strong{margin-top:3px;font-size:22px}
.saved-tabs{display:flex;gap:6px;margin:18px 0 16px;padding-bottom:1px;border-bottom:1px solid var(--line)}.saved-tabs a{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:9px 9px 0 0;color:var(--muted);font-size:13px;font-weight:750}.saved-tabs a span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#eef0f1;color:#5a6266;font-size:10px}.saved-tabs a.active{background:#111;color:#fff}.saved-tabs a.active span{background:#fff;color:#111}
.saved-list{display:grid;gap:12px}.saved-card{display:grid;grid-template-columns:minmax(230px,.95fr) 155px minmax(390px,1.6fr);gap:18px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.015)}
.saved-card-main{min-width:0}.saved-place-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.saved-place-line h2{margin:0;font-size:22px;letter-spacing:-.03em}.saved-place-meta{margin:5px 0 0;color:var(--muted);font-size:11.5px}.saved-origin-note{margin-top:10px;color:#737a7e;font-size:10.5px;line-height:1.45}.saved-origin-note a{color:#2f596d;font-weight:700}
.saved-state{flex:0 0 auto;padding:5px 7px;border-radius:999px;font-size:8.5px;font-weight:850;letter-spacing:.075em}.saved-state.watching{background:#edf5f1;color:#296049}.saved-state.bought{background:#edf1f5;color:#34536a}.saved-state.completed{background:#f0f0ed;color:#5e625f}.saved-state.archived{background:#f3f3f1;color:#777d7a}
.saved-price-block{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}.saved-price-block>span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.saved-price-block>strong{margin-top:3px;font-size:24px;letter-spacing:-.035em}.saved-price-block small{margin-top:3px;font-size:10.5px;font-style:normal}.saved-price-block em{margin-top:4px;color:var(--muted);font-size:9.5px;font-style:normal}.price-change.down{color:#1d6a48}.price-change.up{color:#a25043}.price-change.same{color:#737a7d}
.saved-schedule{display:grid;gap:5px;align-content:center}.saved-leg{display:grid;grid-template-columns:34px 120px minmax(110px,1fr) 48px;gap:3px 8px;align-items:baseline;font-size:11px;color:#555c60}.saved-leg>b{grid-column:1;font-size:8.5px;letter-spacing:.075em;color:#111}.saved-leg>strong{grid-column:2;color:#111;white-space:nowrap}.saved-leg>span{grid-column:3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.saved-leg>em{grid-column:4;font-style:normal;text-align:right;white-space:nowrap}.saved-leg>small{grid-column:2/5;color:#7a8083;font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.saved-meta-row{grid-column:1/4;display:flex;flex-wrap:wrap;gap:6px 15px;padding-top:12px;border-top:1px solid #eceeed;color:#697176;font-size:10.5px}.saved-meta-row span:not(:last-child)::after{content:"";display:inline-block;width:3px;height:3px;margin:0 0 2px 15px;border-radius:50%;background:#c6cbcd}.saved-warning{color:#9a5c34!important}
.saved-price-history{grid-column:1/4;display:flex;align-items:center;gap:6px;color:#7a8082;font-size:10px}.saved-price-history b{color:#333;font-size:10.5px}.saved-price-history i{font-style:normal;color:#a3a7a8}
.saved-actions{grid-column:1/4;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.saved-actions form{margin:0}.saved-text-action{border:0;background:transparent;color:#747c80;padding:8px 4px;font-size:11px;font-weight:700}.saved-text-action:hover{color:#111}.saved-purchase-note{margin-left:auto;color:#6d7478;font-size:10.5px}
.saved-buy-menu{position:relative}.saved-buy-menu>summary{list-style:none;cursor:pointer}.saved-buy-menu>summary::-webkit-details-marker{display:none}.saved-buy-menu[open]>form{position:absolute;z-index:15;right:0;top:46px;width:260px;padding:13px;border:1px solid #cfd3d5;border-radius:12px;background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.12)}.saved-buy-menu label{display:grid;gap:4px;margin-bottom:9px;color:#697176;font-size:10px;font-weight:700}.saved-buy-menu input{width:100%;padding:8px 9px;border:1px solid #d5d8d9;border-radius:8px;background:#fff;color:#111}.saved-buy-menu form .button{width:100%;margin-top:3px}
.saved-empty{display:grid;justify-items:start;gap:7px;padding:34px;border:1px dashed #ccd1d2;border-radius:15px;background:#fbfbfa}.saved-empty strong{font-size:18px}.saved-empty p{max-width:620px;margin:0 0 7px;color:var(--muted);font-size:13px;line-height:1.5}

@media (max-width:1050px){.saved-card{grid-template-columns:minmax(220px,1fr) 140px}.saved-schedule{grid-column:1/3}.saved-meta-row,.saved-price-history,.saved-actions{grid-column:1/3}.saved-header{grid-template-columns:1fr}.saved-header-facts{justify-self:start}.saved-header-facts>div{text-align:left}}
@media (max-width:720px){.saved-dashboard-strip{display:grid}.saved-header-facts{grid-template-columns:repeat(3,1fr);width:100%}.saved-card{grid-template-columns:1fr}.saved-price-block{align-items:flex-start;text-align:left}.saved-schedule,.saved-meta-row,.saved-price-history,.saved-actions{grid-column:1}.saved-leg{grid-template-columns:32px minmax(100px,1fr) 45px}.saved-leg>strong{grid-column:2}.saved-leg>span{grid-column:2;text-align:left}.saved-leg>em{grid-column:3;grid-row:1/3}.saved-leg>small{grid-column:2/4}.saved-tabs{overflow-x:auto}.saved-purchase-note{margin-left:0;width:100%}.dashboard-result-actions{align-items:stretch;flex-direction:column}.dashboard-result-actions form,.dashboard-result-actions .button{width:100%}}

/* alpha.6.3 — coherent cross-browser decision UI + cart */
*,*::before,*::after{box-sizing:border-box}
button,input,select,textarea{font:inherit}
button{color:inherit}
.button,button.button,summary.button{
  -webkit-appearance:none;appearance:none;box-sizing:border-box;text-decoration:none;
  border-style:solid;line-height:1;white-space:nowrap;vertical-align:middle;cursor:pointer
}
.button.compact,button.button.compact,summary.button.compact{
  height:31px;min-height:31px!important;padding:0 10px!important;border-radius:8px;
  font-size:10.5px!important;font-weight:780;line-height:29px!important
}
summary.button.compact{display:inline-flex;align-items:center;justify-content:center;line-height:1!important}

/* Flags are bundled with the app; no browser/network-dependent emoji or CDN. */
img.destination-flag{
  display:block!important;width:22px!important;height:15px!important;min-width:22px!important;
  object-fit:contain;border:0!important;border-radius:2px;background:transparent!important;
  font-size:0!important;line-height:0!important
}
.destination-name.compact img.destination-flag{width:20px!important;height:14px!important;min-width:20px!important}
.rejected-place img.destination-flag,.near-miss-place img.destination-flag{width:20px!important;height:14px!important;min-width:20px!important}

.climate-chip[hidden]{display:none!important}
.climate-chip{
  -webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:3px;
  min-height:18px;padding:1px 6px;border:1px solid #d7dbd8;border-radius:6px;
  background:#f6f7f5;color:#313638;font-size:10px;font-weight:720;line-height:1.25;white-space:nowrap
}
.climate-chip.compact{padding:1px 5px;font-size:9.5px}

/* Decision row actions: two compact peers, never stacked desktop-wide. */
.opportunity-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:5px;margin-top:7px}
.opportunity-actions form{display:inline-flex;margin:0}.opportunity-actions .button{width:auto!important}
.cart-button{background:#fff;color:#263238;border-color:#cfd4d6}
.cart-button:hover{background:#f4f5f4}.cart-button.active{background:#eef4f1;border-color:#bdd0c7;color:#245b45}.cart-button.bought{background:#eef1f4;color:#35536a}

/* Browser-independent journey metric. Generic metric strong rules cannot leak in. */
.opportunity-metrics .journey-metric{display:flex!important;flex-direction:column;justify-content:center;gap:2px;padding-top:7px;padding-bottom:7px}
.opportunity-metrics .journey-metric .journey-title{display:block!important;margin:0 0 2px!important;color:#777d7f!important;font-size:7.5px!important;font-weight:800!important;letter-spacing:.08em!important;line-height:1!important}
.opportunity-metrics .journey-metric .journey-line{display:block!important;margin:0!important;color:#111!important;font-size:11px!important;font-weight:760!important;line-height:1.18!important;white-space:nowrap!important;letter-spacing:0!important}
.opportunity-metrics .journey-metric .journey-line b{font-size:8px;letter-spacing:.04em;margin-right:3px}

/* Navbar: noun and count are visually separate. */
.topnav a{display:inline-flex;align-items:center;gap:6px}
.nav-count{margin-left:0!important;min-width:18px;height:18px;padding:0 5px;line-height:18px}

/* Cart */
.cart-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin:4px 0 16px}
.cart-header h1{margin:4px 0 7px;font-size:36px;letter-spacing:-.045em}
.cart-header-facts{display:grid;grid-template-columns:repeat(3,minmax(88px,1fr));border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}
.cart-header-facts>div{padding:11px 14px;border-left:1px solid var(--line);text-align:center}.cart-header-facts>div:first-child{border-left:0}
.cart-header-facts span,.cart-header-facts strong{display:block}.cart-header-facts span{color:var(--muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.07em}.cart-header-facts strong{margin-top:3px;font-size:19px}
.cart-tabs{display:flex;gap:4px;margin:14px 0 13px;border-bottom:1px solid var(--line)}
.cart-tabs a{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:8px 8px 0 0;color:#626a6e;font-size:11.5px;font-weight:760}.cart-tabs a span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#eef0f0;font-size:9px}.cart-tabs a.active{background:#111;color:#fff}.cart-tabs a.active span{background:#fff;color:#111}
.cart-list{display:grid;gap:10px}.cart-card{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(360px,1.35fr) 160px;gap:14px 18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.cart-place{min-width:0}.cart-place-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.cart-place-title h2{margin:0;font-size:20px;letter-spacing:-.03em}.cart-place-meta{display:flex;align-items:center;gap:6px;margin:5px 0 0;color:var(--muted);font-size:10.5px}.cart-origin-note{margin:8px 0 0;color:#7a8083;font-size:9.5px}.cart-origin-note a{color:#315b6d;font-weight:700}
.cart-state{flex:0 0 auto;padding:4px 6px;border-radius:999px;font-size:7.5px;font-weight:850;letter-spacing:.075em}.cart-state.watching{background:#edf5f1;color:#296049}.cart-state.bought{background:#edf1f5;color:#34536a}.cart-state.completed,.cart-state.archived{background:#f0f0ed;color:#666c68}
.cart-schedule{display:grid;gap:5px;align-content:center}.cart-leg{display:grid;grid-template-columns:30px 118px minmax(105px,1fr) 46px;gap:2px 7px;align-items:baseline;color:#555d60;font-size:10px}.cart-leg>b{font-size:7.5px;letter-spacing:.08em;color:#111}.cart-leg>strong{color:#111;white-space:nowrap}.cart-leg>span{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-leg>em{text-align:right;font-style:normal;white-space:nowrap}.cart-leg>small{grid-column:2/5;color:#7b8184;font-size:8.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-price{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}.cart-price>span{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.cart-price>strong{margin-top:2px;font-size:23px;letter-spacing:-.04em}.cart-price>small{margin-top:2px;font-size:9.5px}.cart-price>em{margin-top:3px;color:#7a8083;font-size:8.8px;font-style:normal}
.cart-footer{grid-column:1/4;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #eceeed;padding-top:10px}.cart-meta{display:flex;gap:14px;color:#71787b;font-size:9px}.cart-actions{display:flex;align-items:center;gap:6px}.cart-actions form{display:inline-flex;margin:0}.cart-text-action{-webkit-appearance:none;appearance:none;border:0;background:transparent;padding:7px 3px;color:#747c80;font-size:9.5px;font-weight:720;cursor:pointer}.cart-text-action:hover{color:#111}
.cart-empty{display:grid;justify-items:start;gap:7px;padding:30px;border:1px dashed #ccd1d2;border-radius:14px;background:#fbfbfa}.cart-empty strong{font-size:17px}.cart-empty p{margin:0 0 5px;color:var(--muted);font-size:12px}
.saved-buy-menu>summary.compact{list-style:none}.saved-buy-menu[open]>form{top:36px}

.near-miss-action{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:5px}.near-miss-action>strong{width:100%;text-align:right}.near-miss-action form{display:inline-flex;margin:0}

@media(max-width:1050px){.cart-header{grid-template-columns:1fr}.cart-header-facts{justify-self:start}.cart-card{grid-template-columns:minmax(220px,1fr) 150px}.cart-schedule{grid-column:1/2}.cart-price{grid-column:2;grid-row:1/3}.cart-footer{grid-column:1/3}.cart-add-quote>form{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-add-quote label.wide{grid-column:1/3}.cart-add-quote button{justify-self:start}}
@media(max-width:720px){.cart-header-facts{width:100%}.cart-card{grid-template-columns:1fr}.cart-schedule,.cart-price,.cart-footer{grid-column:1;grid-row:auto}.cart-price{align-items:flex-start;text-align:left}.cart-footer{align-items:flex-start;flex-direction:column}.cart-actions{flex-wrap:wrap}.cart-quote-row{grid-template-columns:1fr 80px}.cart-quote-fresh{grid-column:1}.cart-quote-row>a{grid-column:2;grid-row:1/3}.cart-add-quote>form{grid-template-columns:1fr}.cart-add-quote label.wide{grid-column:1}.opportunity-actions{justify-content:flex-start}}

/* alpha.6.4 — geographic scopes, deterministic climate, long-haul origins */
.climate-chip.pending{opacity:.58}
.scope-flag{display:inline-block;width:18px;height:12px;object-fit:contain;border-radius:1px;vertical-align:-1px;margin-right:3px}
.hunt-route-compact{gap:10px;min-width:0}.hunt-route-compact .hunt-scope{display:inline-flex;align-items:center;min-width:0;color:inherit}.hunt-route-compact .hunt-scope strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hunt-route-compact .hunt-arrow{color:#9aa2a9;flex:0 0 auto}
.radar-rules .radar-scope{display:inline-flex;align-items:center;gap:2px}
.alternative-origin-toggle{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#fafaf8;cursor:pointer}.alternative-origin-toggle input{margin-top:3px}.alternative-origin-toggle span{display:grid;gap:2px}.alternative-origin-toggle strong{font-size:12px}.alternative-origin-toggle small{color:var(--muted);font-size:10.5px;line-height:1.35}
.region-chip{background:#f4f6f7}.region-chip strong{min-width:22px}
.alternative-origin-badge{display:inline-flex;align-items:center;min-height:18px;padding:1px 6px;border-radius:6px;background:#f1f3f5;color:#44535c;font-size:9px;font-weight:760;white-space:nowrap}
/* Full year is now part of every TAM/POW date. Reserve enough width without letting it dominate. */
@media(min-width:1121px){.trip-line{grid-template-columns:34px minmax(112px,auto) minmax(165px,1fr) 96px 82px 62px}.highlight-schedule .highlight-leg{grid-template-columns:32px 140px minmax(90px,1fr) 48px}.cart-leg{grid-template-columns:30px 140px minmax(105px,1fr) 46px}}
@media(max-width:760px){.hunt-route-compact{align-items:flex-start;flex-wrap:wrap}.hunt-route-compact .hunt-scope{max-width:100%}.alternative-origin-toggle{padding:10px}.scope-flag{width:17px;height:11px}}


/* alpha.6.4.1 — final cross-browser result-grid cleanup */
/* Climate is always the same small content-width chip, including Top 3. */
.climate-chip{
  width:max-content!important;max-width:100%;justify-self:start;align-self:start;
  box-sizing:border-box;margin-left:4px
}
.destination-meta>.climate-chip{margin-left:0}

/* Exact information owns its own grid cell; no arrival/metric collisions. */
.trip-line>*{min-width:0}
.trip-line .trip-route{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trip-line .trip-flights{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trip-line .trip-arrival{white-space:nowrap;text-align:right}
@media(min-width:1181px){
  .opportunity-row{
    grid-template-columns:48px minmax(190px,1fr) minmax(460px,2.25fr) 210px 150px;
    gap:14px
  }
  .trip-line{
    grid-template-columns:30px minmax(76px,90px) 138px minmax(72px,1fr) 64px 48px;
    gap:6px
  }
}
@media(min-width:981px) and (max-width:1180px){
  .opportunity-row{
    grid-template-columns:38px minmax(170px,.9fr) minmax(440px,2fr) 200px;
    gap:12px
  }
  .trip-line{
    grid-template-columns:30px minmax(68px,82px) 136px minmax(62px,1fr) 58px 46px;
    gap:5px
  }
}


@media(min-width:701px) and (max-width:980px){
  .opportunity-trip{min-width:0}
  .trip-line{
    grid-template-columns:30px minmax(68px,82px) 136px minmax(62px,1fr) 58px 46px;
    gap:5px
  }
}


@media(max-width:1000px){
  .opportunity-row{grid-template-columns:34px minmax(0,1fr);align-items:start}
  .opportunity-trip,.opportunity-metrics,.opportunity-buy{grid-column:2}
  .opportunity-buy{justify-content:flex-start;text-align:left}
}

/* One preference = one compact control, not a full-width settings card. */
.alternative-origin-toggle.compact{
  display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:7px;
  margin-top:10px;padding:7px 10px;border-radius:999px;background:#fafaf8;
  vertical-align:middle
}
.alternative-origin-toggle.compact input{margin:0;flex:0 0 auto}
.alternative-origin-toggle.compact .alternative-origin-copy{display:inline-flex;align-items:center;gap:4px}
.alternative-origin-toggle.compact strong{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;white-space:nowrap}
.inline-flag{display:inline-block;width:18px;height:12px;object-fit:contain;border-radius:1px}
.info-dot{display:inline-grid!important;place-items:center;width:17px;height:17px;flex:0 0 17px;border:1px solid #c9ced0;border-radius:50%;color:#667176;font-size:10px;font-weight:800;line-height:1}
@media(max-width:700px){
  .alternative-origin-toggle.compact{border-radius:10px}
  .alternative-origin-toggle.compact strong{white-space:normal}
}

/* =========================================================================
   v0.8.0-alpha.2 — result UX
   ========================================================================= */

[id^="offer-"]{
    scroll-margin-top:104px!important;
}

/* Carrier names cannot collide with schedule columns.
   Full name is exposed through the tooltip/title. */
.carrier-labels,
.carrier-flight-label{
    min-width:0!important;
}

.carrier-labels{
    overflow:hidden!important;
}

.carrier-flight-label{
    flex-wrap:nowrap!important;
    overflow:hidden!important;
}

.carrier-name{
    display:inline-block!important;
    min-width:0!important;
    max-width:112px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    vertical-align:bottom!important;
}

.carrier-flight-label .carrier-name{
    max-width:100px!important;
}


/* Nights / leave / flight time are supporting information,
   not three oversized KPI tiles. */
.opportunity-metrics{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:0!important;

    padding:6px 0!important;

    border-top:1px solid var(--line)!important;
    border-bottom:1px solid var(--line)!important;

    background:transparent!important;
}

.opportunity-metrics>div{
    display:flex!important;
    flex-direction:row!important;
    align-items:baseline!important;
    justify-content:flex-start!important;

    gap:4px!important;

    width:auto!important;
    min-width:auto!important;

    padding:2px 11px!important;

    border:0!important;
    border-right:1px solid var(--line)!important;
    border-radius:0!important;

    background:transparent!important;
    text-align:left!important;
}

.opportunity-metrics>div:first-child{
    padding-left:0!important;
}

.opportunity-metrics>div:last-child{
    border-right:0!important;
}

.opportunity-metrics strong{
    display:inline!important;
    margin:0!important;
    font-size:13px!important;
    line-height:1.2!important;
    letter-spacing:0!important;
}

.opportunity-metrics>div>span{
    display:inline!important;
    margin:0!important;
    font-size:10.5px!important;
    line-height:1.2!important;
}

.opportunity-metrics .journey-metric{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
}

.opportunity-metrics .journey-metric .journey-title{
    display:none!important;
}

.opportunity-metrics .journey-metric .journey-line{
    display:inline!important;
    margin:0!important;
    font-size:10.5px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
}

.opportunity-metrics .journey-metric .journey-line b{
    font-size:8px!important;
    margin-right:2px!important;
}

.cart-price .price-change-basis{
    font-weight:600!important;
    opacity:.7!important;
}

.cart-price em{
    display:block!important;
}

@media(max-width:760px){

    [id^="offer-"]{
        scroll-margin-top:88px!important;
    }

    .carrier-name,
    .carrier-flight-label .carrier-name{
        max-width:88px!important;
    }

    .opportunity-metrics{
        row-gap:5px!important;
    }

    .opportunity-metrics>div{
        padding-left:8px!important;
        padding-right:8px!important;
    }

    .opportunity-metrics>div:first-child{
        padding-left:0!important;
    }
}


/* =========================================================================
   v0.8.0-alpha.3 — final metrics panel
   Approved layout:
   moon + nights
   calendar + leave
   plane + total outbound / return duration
   ========================================================================= */

/*
 * Alpha.2 changed the three KPI tiles into an inline strip.
 * Alpha.3 deliberately replaces that presentation with ONE compact,
 * vertically used panel. The physical card column may be wider, but the
 * metrics component itself is intentionally narrow.
 */

.opportunity-metrics{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;

    align-self:center!important;
    justify-self:center!important;

    width:158px!important;
    max-width:158px!important;

    gap:0!important;
    padding:0!important;

    border:1px solid #dedfda!important;
    border-radius:10px!important;

    background:#fafaf8!important;
    overflow:hidden!important;

    color:#202224!important;
}


/* One semantic row — no separate tile look. */
.opportunity-metrics>div.metric-row{
    display:grid!important;
    grid-template-columns:18px minmax(0,1fr)!important;

    align-items:center!important;
    justify-content:stretch!important;

    gap:8px!important;

    width:100%!important;
    min-width:0!important;

    margin:0!important;
    padding:8px 10px!important;

    border:0!important;
    border-right:0!important;
    border-bottom:1px solid #e4e5e1!important;
    border-radius:0!important;

    background:transparent!important;
    text-align:left!important;
}

.opportunity-metrics>div.metric-row:last-child{
    border-bottom:0!important;
}


/* Pure monochrome vector icons — no platform emoji colours. */
.opportunity-metrics .metric-icon{
    display:block!important;

    width:14px!important;
    height:14px!important;

    margin:0!important;

    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;

    color:#25282a!important;
}

.opportunity-metrics .plane-icon{
    fill:currentColor!important;
    stroke:none!important;
}


/* 9 nocy / 5 dni urlopu */
.opportunity-metrics .metric-copy{
    display:flex!important;
    flex-direction:row!important;

    align-items:baseline!important;

    gap:4px!important;
    min-width:0!important;

    margin:0!important;
}

.opportunity-metrics .metric-copy strong{
    display:inline!important;

    margin:0!important;

    color:#111!important;

    font-size:12px!important;
    font-weight:780!important;
    line-height:1.15!important;
    letter-spacing:0!important;
}

.opportunity-metrics .metric-copy>span{
    display:inline!important;

    margin:0!important;

    color:#3f4446!important;

    font-size:10.5px!important;
    font-weight:650!important;
    line-height:1.15!important;

    white-space:nowrap!important;
}


/* Flight duration occupies the height that was previously wasted. */
.opportunity-metrics>div.journey-metric{
    display:grid!important;
    grid-template-columns:18px minmax(0,1fr)!important;

    align-items:start!important;

    gap:8px!important;

    padding-top:8px!important;
    padding-bottom:8px!important;
}

.opportunity-metrics .journey-stack{
    display:flex!important;
    flex-direction:column!important;

    gap:4px!important;

    min-width:0!important;
    margin:0!important;
}

.opportunity-metrics .journey-metric .journey-line{
    display:block!important;

    margin:0!important;

    color:#202224!important;

    font-size:10.5px!important;
    font-weight:680!important;
    line-height:1.16!important;

    white-space:nowrap!important;
}

.opportunity-metrics .journey-metric .journey-line b{
    display:inline!important;

    margin-right:3px!important;

    color:#111!important;

    font-size:9px!important;
    font-weight:800!important;
    letter-spacing:0!important;

    text-transform:lowercase!important;
}


/* Alpha.2's old labels/geometry must not leak into alpha.3. */
.opportunity-metrics .journey-title{
    display:none!important;
}


/* Keep the component compact on desktop, but do not make it awkward on a
   narrow mobile card. */
@media(max-width:760px){

    .opportunity-metrics{
        justify-self:start!important;

        width:100%!important;
        max-width:220px!important;
    }

    .opportunity-metrics>div.metric-row{
        padding-left:10px!important;
        padding-right:10px!important;
    }
}


/* =========================================================================
   v0.8.0-alpha.4 — unified UI
   ========================================================================= */


/* -------------------------------------------------------------------------
   Result metrics: plane exactly between outbound and return duration.
   ------------------------------------------------------------------------- */

.opportunity-metrics>div.journey-metric{
    align-items:center!important;
}

.opportunity-metrics .journey-metric .plane-icon{
    align-self:center!important;
}


/* -------------------------------------------------------------------------
   Optional earliest date
   ------------------------------------------------------------------------- */

.alpha4-earliest-field{
    display:grid;
    gap:6px;
    align-content:start;
}

.alpha4-earliest-field .alpha4-field-label{
    color:#1a1c1d;
    font-size:11px;
    font-weight:720;
}

.alpha4-earliest-field input{
    width:100%;
}

.alpha4-earliest-field small{
    color:var(--muted);
    font-size:9.5px;
    line-height:1.3;
}


/* -------------------------------------------------------------------------
   Settings sidebar overlap fix
   ------------------------------------------------------------------------- */

.alpha4-no-sticky{
    position:static!important;
    top:auto!important;
}


/* -------------------------------------------------------------------------
   Delayed search feedback
   ------------------------------------------------------------------------- */

.hunt-search-overlay{
    position:fixed;
    inset:0;
    z-index:9999;

    display:grid;
    place-items:center;

    padding:20px;

    background:rgba(245,246,245,.76);
    backdrop-filter:blur(2px);
}

.hunt-search-dialog{
    display:grid;
    justify-items:center;
    gap:10px;

    width:min(390px,calc(100vw - 36px));

    padding:24px 26px;

    border:1px solid #dadcd8;
    border-radius:14px;

    background:#fff;

    box-shadow:
        0 18px 60px rgba(0,0,0,.12);

    text-align:center;
}

.hunt-search-dialog strong{
    font-size:16px;
    line-height:1.25;
}

.hunt-search-dialog span{
    max-width:310px;

    color:var(--muted);

    font-size:11px;
    line-height:1.45;
}

.hunt-search-spinner{
    width:24px;
    height:24px;

    border:2px solid #d9dcda;
    border-top-color:#111;

    border-radius:50%;

    animation:
        hunt-search-spin .75s linear infinite;
}

@keyframes hunt-search-spin{
    to{
        transform:rotate(360deg);
    }
}


/* -------------------------------------------------------------------------
   Cart: same information architecture as hunt results.
   ------------------------------------------------------------------------- */

.alpha4-cart-list{
    display:grid;
    gap:10px;
}

.alpha4-cart-card{
    display:grid!important;

    grid-template-columns:
        minmax(230px,1.25fr)
        minmax(390px,2fr)
        158px
        minmax(175px,.82fr)!important;

    gap:14px!important;
    align-items:center!important;

    padding:14px 14px!important;

    border:1px solid var(--line)!important;
    border-radius:12px!important;

    background:#fff!important;
}

.alpha4-cart-place{
    min-width:0;
}

.alpha4-cart-place .cart-place-title{
    align-items:center;
}

.alpha4-cart-place h2{
    margin:0;
}


/* Flight information mirrors the result rows. */

.alpha4-cart-schedule{
    display:grid!important;
    gap:10px!important;
    min-width:0;
}

.alpha4-cart-leg{
    display:grid!important;

    grid-template-columns:
        132px
        126px
        minmax(85px,1fr)
        72px!important;

    grid-template-areas:
        "label date route arrival"
        "label detail flight arrival"!important;

    column-gap:10px!important;
    row-gap:2px!important;

    align-items:center!important;

    min-width:0!important;
}

.alpha4-cart-leg-label{
    grid-area:label;

    display:flex;
    align-items:center;
    gap:7px;

    min-width:0;
}

.alpha4-cart-leg-label>b{
    flex:0 0 28px;

    font-size:8px;
    letter-spacing:.06em;
}

.cart-carrier-labels{
    display:flex;
    gap:3px;

    min-width:0;

    overflow:hidden;
}

.cart-carrier-labels .carrier-name{
    max-width:90px!important;

    font-size:10.5px!important;
}

.alpha4-cart-leg>strong{
    grid-area:date;

    font-size:11.5px;
    line-height:1.2;
}

.alpha4-cart-route{
    grid-area:route;

    min-width:0;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;

    color:#596063;
    font-size:10.5px;
}

.alpha4-cart-flight{
    grid-area:flight;

    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;

    color:#6b7174;
    font-size:9px;
}

.alpha4-cart-leg>em{
    grid-area:arrival;

    color:#596063;

    font-size:10.5px;
    font-style:normal;

    text-align:right;
    white-space:nowrap;
}

.alpha4-cart-leg>small{
    grid-area:detail;

    color:#7a8082;

    font-size:8.8px;
    line-height:1.2;

    white-space:nowrap;
}


/* Use alpha3's approved vertical metric component. */

.cart-opportunity-metrics{
    justify-self:center!important;
}

.cart-party-metric{
    background:transparent!important;
}


/* Price / commercial source is explicitly separate from airline operator. */

.alpha4-cart-buy{
    display:grid;
    gap:10px;

    justify-items:end;

    min-width:0;
}

.alpha4-cart-buy .cart-price{
    display:grid;

    justify-items:end;

    text-align:right;
}

.alpha4-cart-buy .cart-price>span:first-child{
    color:#73797b;

    font-size:8px;
    font-weight:720;
    letter-spacing:.06em;

    text-transform:uppercase;
}

.alpha4-cart-buy .cart-price>strong{
    margin-top:2px;

    font-size:22px;
    line-height:1;
}

.alpha4-cart-buy .cart-price-source{
    margin-top:5px;

    color:#495053;

    font-size:9.5px;
}

.alpha4-cart-buy .cart-price-source b{
    color:#111;
}

.alpha4-cart-buy .price-change{
    margin-top:5px;
}

.alpha4-cart-buy .cart-price em{
    margin-top:3px;

    color:#777d7f;

    font-size:8.5px;
    font-style:normal;
}

.alpha4-cart-actions{
    display:flex!important;
    flex-wrap:wrap!important;

    justify-content:flex-end!important;
    align-items:center!important;

    gap:6px!important;
}

.alpha4-cart-actions form{
    margin:0;
}

.alpha4-cart-actions .button{
    white-space:nowrap;
}


/* The old footer is no longer needed by alpha4 cards. */
.alpha4-cart-card>.cart-footer{
    display:none!important;
}


@media(max-width:1180px){

    .alpha4-cart-card{
        grid-template-columns:
            minmax(220px,1fr)
            minmax(360px,1.7fr)
            150px!important;
    }

    .alpha4-cart-buy{
        grid-column:1 / -1;

        display:flex;
        justify-content:space-between;
        align-items:center;

        width:100%;
    }

    .alpha4-cart-buy .cart-price{
        justify-items:start;
        text-align:left;
    }
}


@media(max-width:820px){

    .alpha4-cart-card{
        grid-template-columns:1fr!important;
    }

    .alpha4-cart-place,
    .alpha4-cart-schedule,
    .cart-opportunity-metrics,
    .alpha4-cart-buy{
        grid-column:1!important;
    }

    .alpha4-cart-leg{
        grid-template-columns:
            minmax(110px,1fr)
            minmax(115px,1fr)
            auto!important;

        grid-template-areas:
            "label date arrival"
            "route flight arrival"
            "detail detail detail"!important;
    }

    .cart-opportunity-metrics{
        justify-self:start!important;
    }

    .alpha4-cart-buy{
        display:grid;
        justify-items:start;
    }

    .alpha4-cart-buy .cart-price{
        justify-items:start;
        text-align:left;
    }

    .alpha4-cart-actions{
        justify-content:flex-start!important;
    }
}


/* =========================================================================
   v0.8.0-alpha.5 — QA polish
   ========================================================================= */

.hunt-start-date,
.radar-start-date{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px 8px;
    border:1px solid #dfe3e1;
    border-radius:999px;
    background:#f4f5f4;
    color:#34393b;
    font-size:10.5px;
    font-weight:720;
    line-height:1;
    white-space:nowrap;
}

.hunt-route-line .hunt-start-date{
    margin-left:8px;
}

.rejected-details{
    scroll-margin-top:92px;
}

.alpha4-cart-card{
    grid-template-columns:
        minmax(230px,1.15fr)
        minmax(430px,2.15fr)
        158px
        minmax(205px,.9fr)!important;
    gap:16px!important;
    padding:16px!important;
}

.alpha4-cart-place .cart-place-meta{
    margin-top:5px;
    color:#4e5558;
    font-size:11.5px!important;
    line-height:1.35!important;
}

.alpha4-cart-place .cart-origin-note{
    margin-top:7px;
    color:#687073;
    font-size:10.5px!important;
    line-height:1.35!important;
}

.alpha4-cart-leg{
    grid-template-columns:
        145px
        132px
        minmax(92px,1fr)
        74px!important;
    column-gap:11px!important;
    row-gap:3px!important;
}

.alpha4-cart-leg-label>b{
    flex-basis:32px!important;
    font-size:9.5px!important;
}

.cart-carrier-labels .carrier-name{
    max-width:102px!important;
    font-size:11.5px!important;
    line-height:1.2!important;
}

.alpha4-cart-leg>strong{
    font-size:12.5px!important;
    line-height:1.25!important;
}

.alpha4-cart-route{
    font-size:11.5px!important;
    line-height:1.25!important;
}

.alpha4-cart-flight{
    font-size:10.5px!important;
    line-height:1.25!important;
}

.alpha4-cart-leg>em{
    font-size:11px!important;
    line-height:1.25!important;
}

.alpha4-cart-leg>small{
    color:#646b6e!important;
    font-size:10.5px!important;
    line-height:1.25!important;
}

.alpha4-cart-actions{
    display:grid!important;
    grid-template-columns:
        repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
}

.alpha4-cart-actions>form,
.alpha4-cart-actions>.saved-buy-menu{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
}

.alpha4-cart-actions .button,
.alpha4-cart-actions .saved-buy-menu>summary{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    text-align:center!important;
    white-space:nowrap!important;
}

.alpha4-cart-actions .cart-remove-button{
    color:#42484a!important;
}

.carrier-flight-label .carrier-name{
    max-width:94px!important;
}

@media(max-width:820px){
    .alpha4-cart-leg{
        grid-template-columns:
            minmax(120px,1fr)
            minmax(120px,1fr)
            auto!important;
    }

    .alpha4-cart-actions{
        max-width:360px!important;
    }
}


/* =========================================================================
   v0.8.0-alpha.5.1 — duration/VIA/cart polish
   ========================================================================= */

.alpha4-cart-leg{
    grid-template-areas:
        "label date route arrival"
        ". detail detail arrival"
        ". via via arrival"!important;

    row-gap:3px!important;
}

.alpha4-cart-flight{
    display:none!important;
}

.alpha4-cart-leg>.cart-leg-duration{
    grid-area:detail!important;

    color:#555d60!important;

    font-size:10.8px!important;
    line-height:1.3!important;

    white-space:normal!important;
}

.alpha4-cart-leg>.cart-leg-via{
    grid-area:via!important;

    color:#6a7174!important;

    font-size:10.2px!important;
    line-height:1.3!important;

    white-space:normal!important;
}

.alpha4-cart-leg>.cart-leg-via b{
    margin-right:4px;

    color:#343a3d;

    font-size:9px;
    font-weight:800;
    letter-spacing:.05em;
}

.alpha4-cart-buy .cart-price em{
    margin-top:4px!important;

    color:#5e6669!important;

    font-size:10px!important;
    line-height:1.35!important;
}

.opportunity-metrics .journey-line{
    white-space:nowrap;
}

@media(max-width:820px){
    .alpha4-cart-leg{
        grid-template-areas:
            "label date arrival"
            "route route arrival"
            "detail detail detail"
            "via via via"!important;
    }
}
/* =========================================================================
   v0.9.0-alpha.5 — Cart Price Intelligence UI
   ========================================================================= */
.alpha4-cart-card>.cart-price-intelligence,.cart-card>.cart-price-intelligence{grid-column:1/-1!important;min-width:0;margin:0!important}
.cart-price-intelligence{border:1px solid #e2e6e4;border-radius:9px;background:#fafbfa;overflow:hidden}
.cart-price-intelligence-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:30px;padding:5px 10px;cursor:pointer;list-style:none;color:#4f575b;font-size:10px;line-height:1.25;user-select:none}
.cart-price-intelligence-summary::-webkit-details-marker{display:none}
.cart-price-intelligence-summary:hover{background:#f5f7f6}
.cart-price-intelligence[open]>.cart-price-intelligence-summary{border-bottom:1px solid #e2e6e4;background:#f8faf9}
.pi-teaser{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}
.pi-teaser strong{font-size:10px;font-weight:760}.pi-teaser-icon{display:inline-grid;width:16px;place-items:center;font-size:13px;font-weight:800}.pi-dot{color:#a3aaad}
.pi-open-label{flex:0 0 auto;color:#0c3b54;font-weight:780;white-space:nowrap}.cart-price-intelligence[open] .pi-open-label span{display:inline-block;transform:rotate(90deg)}
.pi-tone-falling{color:#168458!important}.pi-tone-rising{color:#b65343!important}.pi-tone-stable{color:#50636f!important}.pi-tone-building{color:#667075!important}
.price-intelligence-panel{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.95fr) minmax(240px,.9fr);gap:10px;padding:10px;background:#fff}
.pi-panel{min-width:0;padding:12px;border:1px solid #e5e8e6;border-radius:9px;background:#fcfdfc}
.pi-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;color:#3f474b;font-size:9px;font-weight:820;letter-spacing:.045em;text-transform:uppercase}
.pi-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:16px}
.pi-stat-grid>div{display:grid;gap:3px;padding:2px 10px;border-right:1px solid #e4e7e5;text-align:center}.pi-stat-grid>div:first-child{padding-left:0}.pi-stat-grid>div:last-child{border-right:0;padding-right:0}
.pi-stat-grid span{color:#687075;font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pi-stat-grid strong{color:#111719;font-size:16px;line-height:1.05;letter-spacing:-.02em}.pi-stat-grid small{color:#7a8387;font-size:8px}
.pi-range{padding:8px 4px 0}.pi-range-track{position:relative;height:18px;margin:0 7px}.pi-range-base{position:absolute;left:0;right:0;top:8px;height:3px;border-radius:999px;background:linear-gradient(90deg,#37a96d 0%,#ddc64b 45%,#dd8453 72%,#c85d55 100%)}
.pi-range-min-dot,.pi-range-max-dot,.pi-range-current-marker,.pi-range-median-marker{position:absolute;top:4px;width:10px;height:10px;border-radius:999px;transform:translateX(-50%);background:#fff;border:2px solid #53656f}.pi-range-min-dot{left:0;border-color:#37a96d;background:#37a96d}.pi-range-max-dot{left:100%;border-color:#c94b4b;background:#c94b4b}.pi-range-median-marker{width:4px;border-radius:2px;border:0;background:#192326}.pi-range-current-marker{border-color:#2f8fd3;background:#2f8fd3}
.pi-range-values{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#596267;font-size:8px}.pi-range-values>span{display:grid}.pi-range-values>span:last-child{justify-items:end}.pi-range-values small{color:#81898d}.pi-range-middle,.pi-range-now{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}.pi-range-middle{left:50%}.pi-range-now{left:75%;top:17px}
.pi-trend{display:grid;grid-template-rows:auto 76px auto;align-content:start}.pi-trend-value{font-size:13px!important;letter-spacing:0!important;text-transform:none!important}.pi-sparkline{width:100%;height:76px;overflow:visible}.pi-sparkline-axis{stroke:#e0e5e3;stroke-width:1}.pi-sparkline-line{stroke:#50636f;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.pi-sparkline-line.pi-tone-falling{stroke:#20a568}.pi-sparkline-line.pi-tone-rising{stroke:#c45b50}.pi-sparkline-line.pi-tone-stable{stroke:#607581}
.pi-sparkline-empty{display:grid;place-items:center;min-height:70px;padding:8px;border-radius:7px;background:#f4f6f5;color:#758085;font-size:9px;text-align:center}.pi-trend p,.pi-cohort-copy,.pi-cohort-range{margin:8px 0 0;color:#596267;font-size:9.5px;line-height:1.42}
.pi-tier{padding:3px 7px;border-radius:999px;background:#edf4f8;color:#39708e;font-size:8px;letter-spacing:.025em}.pi-cohort-rating{display:block;margin:15px 0 4px;color:#2d363a;font-size:13px;line-height:1.25;text-align:center}.pi-cohort-rating.ready{color:#166f50}
.pi-cohort-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}.pi-cohort-metrics div{display:grid;justify-items:center;gap:2px;padding:8px 4px;border-radius:7px;background:#f4f6f5}.pi-cohort-metrics strong{color:#182023;font-size:15px}.pi-cohort-metrics span{color:#717a7e;font-size:8px}.pi-confidence{display:block;margin-top:8px;color:#81898d;font-size:8px;text-align:right}
@media(max-width:1100px){.price-intelligence-panel{grid-template-columns:1fr 1fr}.pi-cohort{grid-column:1/-1}}
@media(max-width:760px){.cart-price-intelligence-summary{align-items:flex-start;flex-direction:column;gap:5px}.pi-open-label{align-self:flex-end}.price-intelligence-panel{grid-template-columns:1fr}.pi-cohort{grid-column:auto}.pi-stat-grid{grid-template-columns:repeat(2,1fr);row-gap:10px}.pi-stat-grid>div:nth-child(2){border-right:0}.pi-stat-grid>div:nth-child(3){padding-left:0}}

/* =========================================================================
   v0.9.0-alpha.5.1 — Cart PI typography hotfix
   Larger labels in the lower-right comparable-trips metrics block.
   ========================================================================= */

.pi-cohort-metrics strong{
    font-size:16px;
    line-height:1.05;
}

.pi-cohort-metrics span{
    font-size:10px;
    line-height:1.25;
    font-weight:650;
}

.pi-confidence{
    margin-top:9px;
    font-size:9.5px;
    line-height:1.3;
}


/* =========================================================================
   v0.9.0-alpha.5.2 — Cart readability + candidate weekday fix
   Requested Cart PI readability:
   - larger price-summary labels / dates / values
   - larger range labels
   - real date/time anchors below the recent-measurements chart
   ========================================================================= */

.pi-stat-grid span{
    font-size:9.5px;
    line-height:1.25;
    font-weight:820;
}

.pi-stat-grid strong{
    font-size:18px;
    line-height:1.1;
}

.pi-stat-grid small{
    font-size:9.5px;
    line-height:1.25;
    font-weight:620;
}

.pi-range-values{
    font-size:9.5px;
    line-height:1.25;
    font-weight:620;
}

.pi-range-values strong{
    color:#2f383c;
    font-size:10.5px;
    line-height:1.2;
}

.pi-range-values small{
    font-size:9px;
    line-height:1.2;
}

.pi-range-now{
    top:20px;
}

.pi-trend{
    grid-template-rows:auto 76px auto auto;
}

.pi-trend-axis{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin:-1px 2px 3px;
    color:#626d72;
    font-size:9.5px;
    line-height:1.15;
    font-weight:720;
    font-variant-numeric:tabular-nums;
}

.pi-trend-axis span:nth-child(2){
    text-align:center;
}

.pi-trend-axis span:last-child{
    text-align:right;
}



/* =========================================================================
   v0.9.0-alpha.6.2.1 — hunt discovery / price-monitor freshness
   ========================================================================= */

.hunt-freshness{
    display:inline-flex;
    flex-wrap:wrap;
    align-items:center;
    gap:5px 12px;
}

.hunt-freshness > span{
    white-space:nowrap;
}

.hunt-freshness b,
.detail-freshness b{
    font-weight:760;
}

.detail-freshness{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.detail-freshness small{
    font-size:0.92em;
}

.price-freshness{
    display:block;
    margin-top:4px;
    font-size:10.5px;
    line-height:1.25;
    font-weight:650;
    color:var(--muted);
}

.price-freshness.stale{
    font-weight:560;
}

.highlight-price .price-freshness{
    max-width:220px;
    margin-left:auto;
    text-align:right;
}

.opportunity-buy .price-freshness{
    max-width:190px;
    margin-left:auto;
    text-align:right;
}

@media (max-width: 760px){
    .hunt-freshness{
        align-items:flex-start;
        flex-direction:column;
        gap:2px;
    }

    .highlight-price .price-freshness,
    .opportunity-buy .price-freshness{
        margin-left:0;
        text-align:left;
    }
}

/* =========================================================================
   v0.9.0-alpha.6.2.5 — coherent flight timeline + rejected-to-cart UX
   ========================================================================= */
.flight-timeline,
.cart-flight-timeline{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-width:0;
    white-space:nowrap;
}

.flight-endpoint{
    display:inline-flex;
    align-items:baseline;
    gap:5px;
    min-width:0;
}

.flight-endpoint>b{
    color:#596063;
    font-size:10.5px;
    font-weight:760;
    letter-spacing:.02em;
}

.flight-endpoint>strong{
    color:#111;
    font-size:13px;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}

.flight-endpoint.arrival>strong{
    font-weight:860;
}

.flight-arrow{
    color:#778083;
    font-size:13px;
    line-height:1;
}

.flight-day{
    color:#2b3032;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}

.opportunity-trip .trip-line.flight-time-row{
    display:grid;
    grid-template-columns:34px minmax(72px,auto) 70px minmax(210px,1fr) auto;
    align-items:center;
    gap:5px 10px;
}

.opportunity-trip .trip-line.flight-time-row .trip-flights{
    justify-self:end;
}

.highlight-leg.flight-time-row{
    grid-template-columns:34px 78px minmax(220px,1fr);
    grid-template-areas:
        "tag day timeline"
        ". detail detail"!important;
    align-items:center;
    gap:4px 10px;
}

.highlight-leg.flight-time-row>b{grid-area:tag}
.highlight-leg.flight-time-row>.flight-day{grid-area:day}
.highlight-leg.flight-time-row>.flight-timeline{grid-area:timeline}
.highlight-leg.flight-time-row>small{grid-area:detail}

.compact-flight-schedule{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.compact-flight-row{
    display:flex!important;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.compact-flight-row>b{
    min-width:30px;
    font-size:9.5px;
    letter-spacing:.04em;
}

.compact-flight-row>.flight-day{
    min-width:68px;
    font-size:10.5px;
    font-weight:700;
}

.compact-flight-row .flight-endpoint>strong{
    font-size:11.5px;
}

.rejected-action{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:6px;
}

.rejected-action form{
    margin:0;
}

/* Cart: carrier | day | complete airport/time timeline. */
.alpha4-cart-leg{
    grid-template-columns:minmax(165px,1.05fr) 88px minmax(245px,1.8fr)!important;
    grid-template-areas:
        "label date timeline"
        ". detail detail"
        ". via via"!important;
    column-gap:12px!important;
    row-gap:3px!important;
}

.alpha4-cart-leg>.cart-flight-day{
    grid-area:date!important;
    font-size:11.5px;
    line-height:1.2;
}

.alpha4-cart-leg>.cart-flight-timeline{
    grid-area:timeline!important;
    justify-self:start;
}

.alpha4-cart-leg>.cart-leg-duration{grid-area:detail!important}
.alpha4-cart-leg>.cart-leg-via{grid-area:via!important}

@media(max-width:900px){
    .opportunity-trip .trip-line.flight-time-row{
        grid-template-columns:34px minmax(70px,auto) minmax(0,1fr);
        grid-template-areas:
            "tag carrier day"
            ". timeline timeline"
            ". flights flights";
    }
    .opportunity-trip .trip-line.flight-time-row>.trip-tag{grid-area:tag}
    .opportunity-trip .trip-line.flight-time-row>.carrier-flight-label{grid-area:carrier}
    .opportunity-trip .trip-line.flight-time-row>.flight-day{grid-area:day}
    .opportunity-trip .trip-line.flight-time-row>.flight-timeline{grid-area:timeline}
    .opportunity-trip .trip-line.flight-time-row>.trip-flights{grid-area:flights;justify-self:start}
}

@media(max-width:820px){
    .alpha4-cart-leg{
        grid-template-columns:1fr!important;
        grid-template-areas:
            "label"
            "date"
            "timeline"
            "detail"
            "via"!important;
        gap:4px!important;
    }
    .alpha4-cart-leg>.cart-flight-timeline{
        margin-top:2px;
    }
    .rejected-action{
        align-items:flex-start;
    }
}

/* =========================================================================
   v0.9.0-alpha.6.2.5.1 — hunt result timeline layout hotfix
   Prevent date labels from colliding with departure airport/time.
   ========================================================================= */
.opportunity-trip .trip-line.flight-time-row{
    grid-template-columns:30px minmax(72px,max-content) 92px minmax(205px,1fr) minmax(54px,max-content)!important;
    grid-template-areas:"tag carrier day timeline flights"!important;
    column-gap:10px!important;
    row-gap:4px!important;
    align-items:center!important;
    min-width:0;
}

.opportunity-trip .trip-line.flight-time-row>.trip-tag{
    grid-area:tag;
}

.opportunity-trip .trip-line.flight-time-row>.carrier-flight-label{
    grid-area:carrier;
    white-space:nowrap;
    min-width:0;
}

.opportunity-trip .trip-line.flight-time-row>.flight-day{
    grid-area:day;
    display:block;
    width:92px;
    min-width:92px;
    white-space:nowrap;
    justify-self:start;
}

.opportunity-trip .trip-line.flight-time-row>.flight-timeline{
    grid-area:timeline;
    min-width:205px;
    justify-self:start;
}

.opportunity-trip .trip-line.flight-time-row>.trip-flights{
    grid-area:flights;
    justify-self:end;
    white-space:nowrap;
}

/* Move to the safe two-row schedule before the middle result column gets cramped. */
@media(max-width:1120px){
    .opportunity-trip .trip-line.flight-time-row{
        grid-template-columns:30px minmax(72px,max-content) minmax(92px,1fr)!important;
        grid-template-areas:
            "tag carrier day"
            ". timeline flights"!important;
    }

    .opportunity-trip .trip-line.flight-time-row>.flight-day{
        width:auto;
        min-width:92px;
    }

    .opportunity-trip .trip-line.flight-time-row>.flight-timeline{
        min-width:0;
    }

    .opportunity-trip .trip-line.flight-time-row>.trip-flights{
        justify-self:start;
    }
}

@media(max-width:760px){
    .opportunity-trip .trip-line.flight-time-row{
        grid-template-columns:30px minmax(0,1fr)!important;
        grid-template-areas:
            "tag carrier"
            ". day"
            ". timeline"
            ". flights"!important;
        row-gap:5px!important;
    }

    .opportunity-trip .trip-line.flight-time-row>.flight-day{
        min-width:0;
    }

    .opportunity-trip .trip-line.flight-time-row>.flight-timeline{
        white-space:normal;
        flex-wrap:wrap;
        gap:6px;
    }
}

/* =========================================================================
   v0.9.0-alpha.6.3.0 — Intelligent Feasibility / advanced schedule
   ========================================================================= */
.advanced-schedule-panel{
    margin:12px 0 16px;
    padding:0;
    border:1px solid var(--line);
    border-radius:12px;
    background:rgba(255,255,255,.38);
}
.advanced-schedule-panel>summary{
    cursor:pointer;
    padding:12px 14px;
    font-weight:700;
    color:var(--text);
}
.advanced-schedule-panel[open]>summary{
    border-bottom:1px solid var(--line);
}
.advanced-schedule-panel .advanced-schedule-copy{
    margin:12px 14px 4px;
    max-width:760px;
    color:var(--muted);
    font-size:12px;
    line-height:1.5;
}


/* v0.9.0-alpha.6.3.0.7.1 — Monday-anchored hunt calendar strip */

.opportunity-trip .trip-week-strip{
    margin-top:7px;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
}

.opportunity-trip .trip-week-strip::-webkit-scrollbar{
    display:none;
}

.opportunity-trip .trip-week-grid{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:27px;
    gap:3px;
    width:max-content;
    min-width:max-content;
}

.opportunity-trip .trip-week-cell{
    --away-start:0%;
    --away-end:0%;
    position:relative;
    box-sizing:border-box;
    width:27px;
    height:30px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    border:1px solid #d9dfdf;
    border-radius:5px;
    background:#ffffff;
    overflow:hidden;
}

/*
Time away is deliberately separated from typography.
The cell stays white and the occupancy appears only in
a narrow bar along the bottom edge.
*/
.opportunity-trip .trip-week-cell::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:4px;
    background:
        linear-gradient(
            90deg,
            transparent 0 var(--away-start),
            #00606d var(--away-start) var(--away-end),
            transparent var(--away-end) 100%
        );
    pointer-events:none;
}

.opportunity-trip .trip-week-cell.full{
    border-color:#b8cbcd;
}

.opportunity-trip .trip-week-cell.partial{
    border-color:#a8c2c5;
}

.opportunity-trip .trip-week-dow{
    position:relative;
    z-index:1;
    font-size:7px;
    line-height:1;
    font-weight:750;
    text-transform:uppercase;
    color:#536166;
}

.opportunity-trip .trip-week-date{
    position:relative;
    z-index:1;
    font-size:7.8px;
    line-height:1;
    font-weight:700;
    color:#17272a;
}

/*
Important regression guard:
text colour never changes based on occupancy state.
*/
.opportunity-trip .trip-week-cell.full .trip-week-dow,
.opportunity-trip .trip-week-cell.partial .trip-week-dow{
    color:#536166;
}

.opportunity-trip .trip-week-cell.full .trip-week-date,
.opportunity-trip .trip-week-cell.partial .trip-week-date{
    color:#17272a;
}

@media(max-width:760px){
    .opportunity-trip .trip-week-grid{
        grid-auto-columns:25px;
        gap:2px;
    }

    .opportunity-trip .trip-week-cell{
        width:25px;
        height:29px;
    }

    .opportunity-trip .trip-week-dow{
        font-size:6.7px;
    }

    .opportunity-trip .trip-week-date{
        font-size:7.4px;
    }
}


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3 — local clocks / freshness / UX
   - ~20% larger accepted week strip
   - same calendar strip in Top 3 highlights
   - explicit Cart range legend
   ========================================================================= */

/* Existing accepted result cards: size only; keep the accepted .7.1 semantics/colors. */
.opportunity-trip .trip-week-grid{
    grid-auto-columns:32px;
    gap:3px;
}

.opportunity-trip .trip-week-cell{
    width:32px;
    height:36px;
}

.opportunity-trip .trip-week-cell::after{
    height:5px;
}

.opportunity-trip .trip-week-dow{
    font-size:8.4px;
}

.opportunity-trip .trip-week-date{
    font-size:9.2px;
}

/* Top 3 cards reuse the same data model but previously had no strip at all. */
.highlight-card .trip-week-strip{
    margin-top:9px;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
}

.highlight-card .trip-week-strip::-webkit-scrollbar{
    display:none;
}

.highlight-card .trip-week-grid{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:32px;
    gap:3px;
    width:max-content;
    min-width:max-content;
}

.highlight-card .trip-week-cell{
    --away-start:0%;
    --away-end:0%;
    position:relative;
    box-sizing:border-box;
    width:32px;
    height:36px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    overflow:hidden;
    border:1px solid #d7dfde;
    border-radius:6px;
    background:#fff;
}

.highlight-card .trip-week-cell.full{
    border-color:#b8cbcd;
}

.highlight-card .trip-week-cell.partial{
    border-color:#a8c2c5;
}

.highlight-card .trip-week-cell::after{
    content:"";
    position:absolute;
    left:var(--away-start);
    right:calc(100% - var(--away-end));
    bottom:0;
    height:5px;
    border-radius:999px 999px 0 0;
    background:#238b91;
    pointer-events:none;
}

.highlight-card .trip-week-dow{
    position:relative;
    z-index:1;
    font-size:8.4px;
    line-height:1;
    font-weight:750;
    text-transform:uppercase;
    color:#536166;
}

.highlight-card .trip-week-date{
    position:relative;
    z-index:1;
    font-size:9.2px;
    line-height:1;
    font-weight:700;
    color:#17272a;
}

/* Cart price-range legend: same symbols as the track immediately above it. */
.pi-range-legend{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:5px 12px;
    margin:27px 2px 0;
    color:#667075;
    font-size:8.8px;
    line-height:1.2;
    font-weight:650;
}

.pi-range-legend>span{
    display:inline-flex;
    align-items:center;
    gap:4px;
    white-space:nowrap;
}

.pi-legend-dot{
    width:8px;
    height:8px;
    box-sizing:border-box;
    border-radius:50%;
    display:inline-block;
}

.pi-legend-dot.min{background:#37a96d;border:1px solid #37a96d}
.pi-legend-dot.current{background:#2f8fd3;border:1px solid #2f8fd3}
.pi-legend-dot.max{background:#c94b4b;border:1px solid #c94b4b}
.pi-legend-bar.median{
    width:4px;
    height:10px;
    border-radius:2px;
    display:inline-block;
    background:#192326;
}

@media(max-width:760px){
    .opportunity-trip .trip-week-grid,
    .highlight-card .trip-week-grid{
        grid-auto-columns:30px;
        gap:2px;
    }

    .opportunity-trip .trip-week-cell,
    .highlight-card .trip-week-cell{
        width:30px;
        height:34px;
    }

    .opportunity-trip .trip-week-dow,
    .highlight-card .trip-week-dow{
        font-size:8px;
    }

    .opportunity-trip .trip-week-date,
    .highlight-card .trip-week-date{
        font-size:8.7px;
    }
}

/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.1 — Cart price-range UX
   - removes the duplicate numeric "teraz" callout below the range slider
   - keeps the live/current slider marker but renders it blue
   - renders maximum as red on both slider and legend
   ========================================================================= */

/* v0.9.0-alpha.6.3.0.7.3.5 — Offer Arbitrator */
.offer-uncertain-alt{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:8px 10px;border:1px dashed rgba(34,58,68,.28);border-radius:10px;background:rgba(245,248,249,.88);font-size:11px;line-height:1.25}
.offer-uncertain-alt-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.offer-uncertain-alt-copy strong{color:#263b43;font-size:11px;font-weight:750}
.offer-uncertain-alt-copy span{color:#6b777c;font-size:10px}
.offer-uncertain-alt-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:0 9px;border:1px solid rgba(34,58,68,.22);border-radius:8px;background:#fff;color:#233840;text-decoration:none;font-size:10px;font-weight:750;white-space:nowrap}
.offer-uncertain-alt-button:hover{border-color:rgba(34,58,68,.42)}
@media(max-width:760px){.offer-uncertain-alt{align-items:flex-start;flex-direction:column}}

/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.2 — AI triad badge on the existing light frontend
   Groq = green, Gemini = graphite, Phi = purple.
   Full dot = reviewed and show/warn; coloured ring = reviewed and rejected;
   neutral grey = not reviewed / technical failure. No automatic Phi fan-out.
   ========================================================================= */
.ai-verification-wrap{
    position:relative;
    display:inline-flex;
    justify-content:flex-end;
    margin-top:6px;
    z-index:4;
}
.ai-verification-badge{
    appearance:none;
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:23px;
    padding:3px 7px;
    border:1px solid #dde1e2;
    border-radius:8px;
    background:#fff;
    color:#596164;
    font:inherit;
    font-size:10.5px;
    line-height:1;
    font-weight:700;
    white-space:nowrap;
    cursor:pointer;
    user-select:none;
}
.ai-verification-badge:hover{border-color:#c5cbcd;background:#fbfcfc}
.ai-verification-badge:focus-visible{outline:2px solid #9fb8bd;outline-offset:2px}
.ai-verification-spark{font-size:12px;color:#34474d;line-height:1}
.ai-verification-label{font-size:10.5px;font-weight:850;letter-spacing:.02em;color:#34474d}
.ai-verification-count{min-width:21px;color:#667075;font-variant-numeric:tabular-nums}
.ai-model-dot{
    --ai-model:#aeb4b7;
    display:inline-block;
    width:8px;
    height:8px;
    flex:0 0 8px;
    border:1.5px solid #cfd4d6;
    border-radius:50%;
    background:#e7eaeb;
    box-sizing:border-box;
}
.ai-model-dot.groq{--ai-model:#35956a}
.ai-model-dot.gemini{--ai-model:#62696d}
.ai-model-dot.cloudflare{--ai-model:#d97732}
.ai-model-dot.phi{--ai-model:#7656b8}
.ai-model-dot.include,.ai-model-dot.warn,.ai-model-dot.near-miss,.ai-model-dot.checked{
    border-color:var(--ai-model);
    background:var(--ai-model);
}
.ai-model-dot.warn{box-shadow:0 0 0 2px color-mix(in srgb,var(--ai-model) 18%,transparent)}
.ai-model-dot.reject{
    border:2px solid var(--ai-model);
    background:#fff;
}
.ai-model-dot.failed{
    border:1.5px dashed #aeb4b7;
    background:#f4f5f5;
}
.ai-model-dot.pending{border-color:#d1d5d6;background:#e7eaeb}
.highlight-price .ai-verification-wrap{margin-left:auto}
.highlight-ai-verification .ai-verification-badge{min-height:24px;padding:4px 8px}
.result-ai-verification{margin-left:auto}
.ai-verification-popover{
    position:absolute;
    top:calc(100% + 6px);
    right:0;
    width:min(330px,80vw);
    padding:10px;
    border:1px solid #d9dddf;
    border-radius:12px;
    background:#fff;
    box-shadow:0 12px 34px rgba(26,40,45,.14);
    text-align:left;
    color:#36464c;
    z-index:50;
}
.ai-verification-popover[hidden]{display:none}
.ai-popover-head{display:flex;align-items:center;justify-content:space-between;padding:1px 2px 8px;border-bottom:1px solid #edf0f1}
.ai-popover-head strong{font-size:12px}.ai-popover-head span{font-size:10px;color:#788084}
.ai-provider-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:start;padding:9px 2px;border-bottom:1px solid #f0f2f2}
.ai-provider-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.ai-provider-copy strong{font-size:11px;color:#273b42}
.ai-provider-copy span{font-size:10px;line-height:1.3;color:#606b70}
.ai-provider-copy small{min-height:10px;font-size:9px;color:#8a9194}
.ai-provider-action{align-self:center;border:1px solid #d6dbdd;border-radius:7px;background:#fff;padding:4px 7px;font-size:9.5px;font-weight:750;color:#34474d;cursor:pointer}
.ai-provider-action:hover{border-color:#adb7ba}.ai-provider-action:disabled{opacity:.55;cursor:progress}
.ai-popover-note{min-height:0;padding:8px 2px 1px;font-size:9.5px;line-height:1.35;color:#707a7e}
.ai-review-section{margin:14px 0;border:1px solid #e2e6e7;border-radius:12px;background:#fcfcfb}
.ai-review-section>summary{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer;list-style:none}
.ai-review-section>summary::-webkit-details-marker{display:none}
.ai-review-section>summary strong{font-size:12px;color:#273b42}.ai-review-section>summary span{font-size:10px;color:#768085;text-align:right}
.ai-review-section-list{border-top:1px solid #eceff0}
.ai-review-section-row{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(220px,1.5fr) auto;gap:16px;align-items:center;padding:10px 14px;border-top:1px solid #f0f2f2}
.ai-review-section-row:first-child{border-top:0}
.ai-review-place{display:flex;flex-direction:column;gap:2px}.ai-review-place strong{font-size:11px}.ai-review-place span,.ai-review-copy{font-size:10px;line-height:1.35;color:#697378}
.ai-review-side{display:flex;align-items:center;justify-content:flex-end;gap:10px}.ai-review-side>strong{font-size:12px;white-space:nowrap}.section-ai-verification{margin-top:0}
@media(max-width:760px){
    .opportunity-buy .ai-verification-wrap,.highlight-price .ai-verification-wrap{justify-content:flex-start;margin-left:0}
    .ai-verification-popover{right:auto;left:0;width:min(310px,88vw)}
    .ai-review-section>summary{align-items:flex-start;flex-direction:column}
    .ai-review-section>summary span{text-align:left}
    .ai-review-section-row{grid-template-columns:1fr;gap:7px}
    .ai-review-side{justify-content:flex-start}
}


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.3 — AI popover polish
   ========================================================================= */
.ai-verification-wrap.ai-popover-open{
    z-index:1000;
}
.ai-verification-wrap.ai-popover-open .ai-verification-popover{
    z-index:1001;
}
.ai-provider-row{
    grid-template-columns:10px minmax(0,1fr);
}
.ai-provider-action{
    grid-column:2;
    justify-self:start;
    align-self:start;
    margin-top:3px;
}


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.5 — Cloudflare fallback + zoom-safe AI dots
   ========================================================================= */
.ai-model-dot{
    inline-size:10px;
    block-size:10px;
    width:10px;
    height:10px;
    min-inline-size:10px;
    max-inline-size:10px;
    min-block-size:10px;
    max-block-size:10px;
    min-width:10px;
    max-width:10px;
    min-height:10px;
    max-height:10px;
    aspect-ratio:1 / 1;
    flex:0 0 10px;
    border-radius:999px;
    vertical-align:middle;
    box-sizing:border-box;
}


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.6 — compact 4-model AI recommendation tile.
   Provider dots remain only inside the detail popover.
   ========================================================================= */
.ai-verification-badge{
    gap:4px;
    min-height:25px;
    padding:4px 8px;
    border-radius:9px;
    font-variant-numeric:tabular-nums;
    transition:background .12s ease,border-color .12s ease,box-shadow .12s ease;
}
.ai-verification-score{
    font-size:11px;
    line-height:1;
    font-weight:850;
    letter-spacing:-.01em;
}
.ai-verification-coverage{
    font-size:9.5px;
    line-height:1;
    color:#747d81;
    font-weight:700;
}
.ai-verification-badge.tone-positive{
    border-color:#cfe4d8;
    background:#f8fcfa;
    color:#296a4e;
}
.ai-verification-badge.tone-warning{
    border-color:#e4d9bd;
    background:#fdfbf6;
    color:#7a6334;
}
.ai-verification-badge.tone-mixed{
    border-color:#e4d6bf;
    background:#fdfaf5;
    color:#806139;
}
.ai-verification-badge.tone-negative{
    border-color:#e5cece;
    background:#fdf8f8;
    color:#8a4848;
}
.ai-verification-badge.tone-preliminary,
.ai-verification-badge.tone-pending{
    border-color:#dde1e2;
    background:#fff;
    color:#596164;
}
.ai-popover-summary{
    margin:8px 2px 0;
    padding:0 0 7px;
    border-bottom:1px solid #f0f2f2;
    color:#566268;
    font-size:10px;
    line-height:1.35;
}


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.6.1 — liquid-fill AI icon.
   Each explicit SHOW recommendation fills one quarter of the tile.
   ========================================================================= */
.ai-fill-tile{
    --ai-fill:0%;
    position:relative;
    width:32px;
    height:32px;
    min-width:32px;
    max-width:32px;
    min-height:32px;
    max-height:32px;
    flex:0 0 32px;
    padding:0;
    overflow:hidden;
    isolation:isolate;
    border:1px solid #cbd8d5;
    border-radius:9px;
    background:#fff;
    box-shadow:
        0 1px 2px rgba(16,57,50,.06),
        inset 0 0 0 2px rgba(255,255,255,.74);
    cursor:pointer;
    box-sizing:border-box;
    vertical-align:middle;
    transition:border-color .14s ease,box-shadow .14s ease,transform .10s ease;
}
.ai-fill-tile:hover{
    border-color:#9dbdb6;
    box-shadow:
        0 2px 6px rgba(16,57,50,.10),
        inset 0 0 0 2px rgba(255,255,255,.70);
}
.ai-fill-tile:active{transform:translateY(1px)}
.ai-fill-tile:focus-visible{
    outline:2px solid rgba(20,128,112,.28);
    outline-offset:2px;
}
.ai-fill-tile-liquid{
    position:absolute;
    z-index:0;
    left:2px;
    right:2px;
    bottom:2px;
    height:var(--ai-fill);
    max-height:calc(100% - 4px);
    min-height:0;
    border-radius:0 0 6px 6px;
    background:linear-gradient(
        180deg,
        rgba(104,211,190,.72) 0%,
        rgba(20,145,126,.88) 100%
    );
    transition:height .24s ease;
}
.ai-fill-tile.fill-0 .ai-fill-tile-liquid{height:0}
.ai-fill-tile.fill-1 .ai-fill-tile-liquid{
    background:linear-gradient(
        180deg,
        rgba(173,230,218,.60) 0%,
        rgba(111,199,181,.70) 100%
    );
}
.ai-fill-tile.fill-2 .ai-fill-tile-liquid{
    background:linear-gradient(
        180deg,
        rgba(125,218,199,.70) 0%,
        rgba(55,172,151,.82) 100%
    );
}
.ai-fill-tile.fill-3 .ai-fill-tile-liquid{
    background:linear-gradient(
        180deg,
        rgba(79,199,177,.80) 0%,
        rgba(18,143,123,.91) 100%
    );
}
.ai-fill-tile.fill-4 .ai-fill-tile-liquid{
    top:2px;
    bottom:2px;
    height:auto;
    max-height:none;
    border-radius:6px;
    background:linear-gradient(180deg,#25a994 0%,#087568 100%);
}
.ai-fill-tile-content{
    position:absolute;
    z-index:1;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1px;
    color:#0a6056;
    font-size:10px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.03em;
    text-shadow:0 1px 0 rgba(255,255,255,.44);
    pointer-events:none;
}
.ai-fill-tile-spark{
    position:relative;
    top:-1px;
    font-size:10px;
    font-weight:900;
}
.ai-fill-tile-label{
    font-size:10px;
    font-weight:900;
}
.ai-fill-tile.fill-3 .ai-fill-tile-content,
.ai-fill-tile.fill-4 .ai-fill-tile-content{
    color:#fff;
    text-shadow:0 1px 2px rgba(0,70,61,.30);
}


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.6.2 — crisp 4-segment AI recommendation indicator
   No text, gradients, liquid fill or provider dots on the main card.
   Active segments light up from the bottom.
   ========================================================================= */
.ai-segment-tile{
    position:relative;
    width:28px;
    height:28px;
    min-width:28px;
    max-width:28px;
    min-height:28px;
    max-height:28px;
    flex:0 0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid #c8d4d1;
    border-radius:8px;
    background:#fff;
    box-shadow:0 1px 2px rgba(17,49,44,.07);
    cursor:pointer;
    box-sizing:border-box;
    vertical-align:middle;
    transition:border-color .12s ease,box-shadow .12s ease,transform .08s ease;
}
.ai-segment-tile:hover{
    border-color:#8fb4ac;
    box-shadow:0 2px 5px rgba(17,49,44,.11);
}
.ai-segment-tile:active{
    transform:translateY(1px);
}
.ai-segment-tile:focus-visible{
    outline:2px solid rgba(15,125,108,.25);
    outline-offset:2px;
}
.ai-segment-stack{
    width:16px;
    height:16px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    box-sizing:border-box;
}
.ai-segment{
    display:block;
    width:16px;
    height:3px;
    flex:0 0 3px;
    border-radius:1.5px;
    background:#e1e8e6;
    box-sizing:border-box;
    transition:background .12s ease;
}

/* Fill bottom-up. */
.ai-segment-tile.level-1 .ai-segment-1,
.ai-segment-tile.level-2 .ai-segment-1,
.ai-segment-tile.level-2 .ai-segment-2,
.ai-segment-tile.level-3 .ai-segment-1,
.ai-segment-tile.level-3 .ai-segment-2,
.ai-segment-tile.level-3 .ai-segment-3,
.ai-segment-tile.level-4 .ai-segment-1,
.ai-segment-tile.level-4 .ai-segment-2,
.ai-segment-tile.level-4 .ai-segment-3,
.ai-segment-tile.level-4 .ai-segment-4{
    background:#0b8e7c;
}
.ai-segment-tile.level-4{
    border-color:#74b7ab;
    background:#f6fbfa;
}

/* Old liquid tile remains in CSS only for rollback/history compatibility,
   but is no longer emitted by the template. */


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.6.3 — crisp filled AI confidence tile
   Flat fill, strong geometry, inline SVG sparkle, no gradients.
   ========================================================================= */
.ai-confidence-tile{
    position:relative;
    width:34px;
    height:34px;
    min-width:34px;
    max-width:34px;
    min-height:34px;
    max-height:34px;
    flex:0 0 34px;
    padding:0;
    overflow:hidden;
    isolation:isolate;
    border:1px solid #b8cbc6;
    border-radius:9px;
    background:#ffffff;
    box-shadow:0 1px 2px rgba(18,56,49,.08);
    cursor:pointer;
    box-sizing:border-box;
    vertical-align:middle;
    transition:border-color .12s ease,box-shadow .12s ease,transform .08s ease;
}
.ai-confidence-tile:hover{
    border-color:#78aa9f;
    box-shadow:0 2px 6px rgba(18,56,49,.12);
}
.ai-confidence-tile:active{
    transform:translateY(1px);
}
.ai-confidence-tile:focus-visible{
    outline:2px solid rgba(10,128,108,.28);
    outline-offset:2px;
}
.ai-confidence-fill{
    position:absolute;
    z-index:0;
    left:2px;
    right:2px;
    bottom:2px;
    height:0;
    border-radius:0 0 6px 6px;
    background:#55c7b1;
    transition:height .18s ease;
}
.ai-confidence-tile.level-1 .ai-confidence-fill{height:7px}
.ai-confidence-tile.level-2 .ai-confidence-fill{height:15px}
.ai-confidence-tile.level-3 .ai-confidence-fill{height:23px}
.ai-confidence-tile.level-4 .ai-confidence-fill{
    top:2px;
    bottom:2px;
    height:auto;
    border-radius:6px;
    background:#0b8e7c;
}
.ai-confidence-mark{
    position:absolute;
    z-index:1;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2px;
    color:#075f55;
    pointer-events:none;
}
.ai-confidence-spark{
    width:9px;
    height:9px;
    flex:0 0 9px;
    display:block;
    fill:currentColor;
}
.ai-confidence-text{
    font-family:Arial,Helvetica,sans-serif;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.02em;
}
.ai-confidence-tile.level-3 .ai-confidence-mark,
.ai-confidence-tile.level-4 .ai-confidence-mark{
    color:#ffffff;
    text-shadow:0 1px 1px rgba(0,78,67,.18);
}

/* Hide obsolete card indicators from prior visual iterations if stale markup
   is ever served from cache. Current template emits only .ai-confidence-tile. */
.ai-segment-tile,
.ai-fill-tile{
    display:none;
}


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.6.4 — AI consensus integrated with recommendation.
   ========================================================================= */
.reason-title-row,
.highlight-label-row{
    display:flex;
    align-items:center;
    gap:8px;
}
.reason-title-row{min-height:20px}
.highlight-label-row{margin-top:16px}
.highlight-label-row .highlight-label{margin-top:0}

.inline-ai-verification{
    margin-top:0;
    flex:0 0 auto;
}
.inline-ai-verification .ai-verification-popover{
    left:0;
    right:auto;
}

.ai-consensus-meter{
    position:relative;
    width:50px;
    height:19px;
    min-width:50px;
    max-width:50px;
    min-height:19px;
    max-height:19px;
    flex:0 0 50px;
    padding:0;
    overflow:hidden;
    isolation:isolate;
    border:1px solid #c7d2cf;
    border-radius:6px;
    background:#f4f7f6;
    box-shadow:none;
    cursor:pointer;
    box-sizing:border-box;
    vertical-align:middle;
    transition:border-color .12s ease;
}
.ai-consensus-meter:hover{border-color:#82a89f}
.ai-consensus-meter:focus-visible{
    outline:2px solid rgba(11,142,124,.22);
    outline-offset:2px;
}
.ai-consensus-fill{
    position:absolute;
    z-index:0;
    top:0;
    bottom:0;
    left:0;
    width:0;
    background:#b9e2d9;
    transition:width .14s ease;
}
.ai-consensus-meter.level-1 .ai-consensus-fill{width:25%}
.ai-consensus-meter.level-2 .ai-consensus-fill{width:50%}
.ai-consensus-meter.level-3 .ai-consensus-fill{width:75%}
.ai-consensus-meter.level-4 .ai-consensus-fill{
    width:100%;
    background:#9ed5ca;
}
.ai-consensus-label{
    position:relative;
    z-index:1;
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    color:#28564e;
    font-family:Arial,Helvetica,sans-serif;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.05em;
    pointer-events:none;
}

/* Superseded experiments never render in current markup. */
.ai-confidence-tile,
.ai-segment-tile,
.ai-fill-tile{display:none}

@media(max-width:760px){
    .reason-title-row,
    .highlight-label-row{flex-wrap:wrap}
    .inline-ai-verification .ai-verification-popover{
        left:0;
        right:auto;
    }
}


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.6.5 — four AI status lights.
   Order: Groq / Gemini / Cloudflare / Phi.
   Color communicates verdict, not model identity.
   ========================================================================= */
.ai-lights-badge{
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-height:22px;
    padding:3px 7px;
    border:1px solid #d9dfde;
    border-radius:7px;
    background:#fff;
    color:#4b5754;
    box-shadow:none;
    font:inherit;
    line-height:1;
    white-space:nowrap;
    cursor:pointer;
    user-select:none;
}
.ai-lights-badge:hover{
    border-color:#b7c6c2;
    background:#fbfcfc;
}
.ai-lights-badge:focus-visible{
    outline:2px solid rgba(22,140,111,.20);
    outline-offset:2px;
}
.ai-lights-label{
    margin-right:1px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:9px;
    line-height:1;
    font-weight:800;
    letter-spacing:.04em;
    color:#44514e;
}

/* Exact geometry avoids oval dots at browser zoom. */
.ai-model-dot{
    display:inline-block;
    inline-size:9px;
    block-size:9px;
    width:9px;
    height:9px;
    min-inline-size:9px;
    max-inline-size:9px;
    min-block-size:9px;
    max-block-size:9px;
    min-width:9px;
    max-width:9px;
    min-height:9px;
    max-height:9px;
    flex:0 0 9px;
    aspect-ratio:1 / 1;
    border:1.5px solid #cbd2d0;
    border-radius:50%;
    background:#fff;
    box-sizing:border-box;
    box-shadow:none;
}

/* Provider classes only identify order/tooltips. They do not define color. */
.ai-model-dot.groq,
.ai-model-dot.gemini,
.ai-model-dot.cloudflare,
.ai-model-dot.phi{
    --ai-model:initial;
}

/* Model recommends showing the proposal. */
.ai-model-dot.include,
.ai-model-dot.checked{
    border-color:#168c6f;
    background:#168c6f;
}

/* Model recommends with caution / near miss. */
.ai-model-dot.warn,
.ai-model-dot.near-miss{
    border-color:#d49b32;
    background:#d49b32;
}

/* Model explicitly rejects. */
.ai-model-dot.reject{
    border-color:#c95b5b;
    background:#c95b5b;
}

/* Technical failure. */
.ai-model-dot.failed{
    border:1.5px dashed #929c99;
    background:#fff;
}

/* Not run / retry wait. */
.ai-model-dot.pending{
    border-color:#cbd2d0;
    background:#fff;
}

/* Restore the old, visually neutral placement. */
.highlight-price .ai-verification-wrap{
    display:flex;
    justify-content:flex-end;
    margin-top:6px;
    margin-left:auto;
}
.result-ai-verification{
    display:flex;
    justify-content:flex-end;
    margin-top:5px;
    margin-left:auto;
}
.section-ai-verification{
    margin-top:0;
}

/* Superseded experiments are not emitted by the current template. */
.ai-consensus-meter,
.ai-confidence-tile,
.ai-segment-tile,
.ai-fill-tile{
    display:none;
}

@media(max-width:760px){
    .highlight-price .ai-verification-wrap,
    .result-ai-verification{
        justify-content:flex-start;
        margin-left:0;
    }
}


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.6.6 — calendar / ICS / rejected details polish
   ========================================================================= */

/* AI: favicon-like neutral neural symbol; four verdict lights remain unchanged. */
.ai-lights-badge{
    position:relative;
}
.ai-lights-icon{
    width:14px;
    height:14px;
    flex:0 0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#425451;
}
.ai-lights-icon svg{
    width:14px;
    height:14px;
    display:block;
    fill:currentColor;
}
.ai-lights-icon .ai-icon-cut{
    fill:none;
    stroke:#fff;
    stroke-width:1.1;
    stroke-linecap:round;
    opacity:.95;
}
.ai-lights-help{
    position:absolute;
    right:0;
    bottom:calc(100% + 8px);
    z-index:120;
    width:260px;
    padding:8px 10px;
    border:1px solid #d9dfde;
    border-radius:8px;
    background:#fff;
    box-shadow:0 8px 24px rgba(21,38,35,.12);
    color:#46524f;
    font-size:10px;
    line-height:1.4;
    font-weight:550;
    text-align:left;
    white-space:normal;
    opacity:0;
    visibility:hidden;
    transform:translateY(2px);
    pointer-events:none;
    transition:opacity .12s ease, transform .12s ease, visibility .12s ease;
}
.ai-lights-badge:hover .ai-lights-help,
.ai-lights-badge:focus-visible .ai-lights-help{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

/* Long journey calendar strips must stay inside their grid column and scroll. */
.opportunity-row > *,
.opportunity-trip,
.highlight-card,
.highlight-schedule{
    min-width:0;
}
.opportunity-trip .trip-week-strip,
.highlight-card .trip-week-strip{
    width:100%;
    min-width:0;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
}
.opportunity-trip .trip-week-grid,
.highlight-card .trip-week-grid{
    width:max-content;
    min-width:max-content;
    max-width:none;
}

/* Cart header actions. */
.cart-header-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}

/* Calendar module. */
.travel-calendar-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:18px;
}
.travel-calendar-header h1{
    margin:2px 0 6px;
}
.travel-calendar-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
}
.travel-calendar-summary{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fafbf9;
}
.travel-calendar-summary>div:not(.calendar-legend){
    display:flex;
    align-items:baseline;
    gap:6px;
    padding-right:12px;
    border-right:1px solid var(--line);
}
.travel-calendar-summary span{
    color:var(--muted);
    font-size:10px;
}
.travel-calendar-summary strong{
    font-size:13px;
}
.calendar-legend{
    display:flex;
    align-items:center;
    gap:12px;
    margin-left:auto;
}
.calendar-legend>span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#505c59;
    font-weight:700;
}
.calendar-event-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    display:inline-block;
}
.calendar-event-dot.outbound{background:#176e75}
.calendar-event-dot.return{background:#9b6a3d}

.travel-calendar-months{
    display:grid;
    gap:18px;
}
.travel-calendar-month{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:15px;
    background:#fff;
}
.travel-calendar-month>header{
    display:flex;
    align-items:end;
    justify-content:space-between;
    padding:15px 16px 12px;
    border-bottom:1px solid var(--line);
    background:#fafbf9;
}
.travel-calendar-month>header p{
    margin:0 0 2px;
    color:var(--muted);
    font-size:9px;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.travel-calendar-month>header h2{
    margin:0;
    font-size:17px;
    text-transform:capitalize;
}
.travel-calendar-weekdays,
.travel-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
}
.travel-calendar-weekdays{
    border-bottom:1px solid var(--line);
    background:#fff;
}
.travel-calendar-weekdays span{
    padding:7px 8px;
    color:#78817f;
    font-size:9px;
    font-weight:750;
    text-align:right;
    text-transform:uppercase;
}
.travel-calendar-day{
    position:relative;
    min-height:112px;
    padding:7px;
    border-right:1px solid #ecefed;
    border-bottom:1px solid #ecefed;
    background:#fff;
    min-width:0;
}
.travel-calendar-day:nth-child(7n){
    border-right:0;
}
.travel-calendar-day.empty{
    background:#fafbf9;
}
.travel-calendar-day.today{
    box-shadow:inset 0 0 0 1px #7aaea4;
}
.travel-calendar-day-number{
    display:block;
    margin-bottom:6px;
    color:#697572;
    font-size:10px;
    font-weight:750;
    text-align:right;
}
.travel-calendar-day-events{
    display:grid;
    gap:4px;
}
.travel-calendar-event{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:1px 5px;
    min-width:0;
    padding:5px 6px;
    border:1px solid #d9e2df;
    border-left:3px solid #176e75;
    border-radius:7px;
    background:#f7fbfa;
    color:#263633;
    text-decoration:none;
}
.travel-calendar-event.return{
    border-left-color:#9b6a3d;
    background:#fcf9f6;
}
.travel-calendar-event:hover{
    border-color:#9fbab4;
    text-decoration:none;
}
.travel-calendar-event-time{
    grid-row:1 / span 2;
    font-size:9px;
    font-weight:800;
    color:#40514d;
}
.travel-calendar-event strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
}
.travel-calendar-event small{
    color:#727d7a;
    font-size:8.5px;
}

@media(max-width:900px){
    .travel-calendar-header{
        display:grid;
    }
    .travel-calendar-actions{
        justify-content:flex-start;
    }
    .travel-calendar-grid,
    .travel-calendar-weekdays{
        min-width:760px;
    }
    .travel-calendar-month{
        overflow-x:auto;
    }
}
@media(max-width:700px){
    .cart-header-actions{
        justify-content:flex-start;
    }
    .travel-calendar-summary{
        flex-wrap:wrap;
    }
    .calendar-legend{
        margin-left:0;
    }
}


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.6.6 r2 — one trip = one calendar interval
   ========================================================================= */
.travel-calendar-day-events{
    align-content:start;
}
.travel-calendar-trip{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:
        "edge city"
        "edge route";
    gap:1px 5px;
    min-width:0;
    min-height:31px;
    padding:4px 6px;
    border:1px solid var(--trip-border);
    border-left:4px solid var(--trip-accent);
    border-radius:6px;
    background:var(--trip-bg);
    color:#2b3835;
    text-decoration:none;
}
.travel-calendar-trip:hover{
    filter:brightness(.985);
    text-decoration:none;
}
.travel-calendar-trip .trip-range-edge{
    grid-area:edge;
    align-self:center;
    min-width:25px;
    font-size:8.5px;
    line-height:1.1;
    font-weight:800;
    color:var(--trip-accent-dark);
}
.travel-calendar-trip strong{
    grid-area:city;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9.5px;
}
.travel-calendar-trip small{
    grid-area:route;
    color:#66716e;
    font-size:8px;
    line-height:1;
}
.travel-calendar-trip:not(.is-start):not(.is-end){
    opacity:.92;
}
.travel-calendar-trip.is-start{
    border-top-left-radius:9px;
    border-bottom-left-radius:9px;
}
.travel-calendar-trip.is-end{
    border-top-right-radius:9px;
    border-bottom-right-radius:9px;
}

/* Subdued stable palette — distinct enough for overlaps, never neon. */
.travel-calendar-trip.color-sage{
    --trip-bg:#edf3ee; --trip-border:#ccd9cf; --trip-accent:#7d9d86; --trip-accent-dark:#55705d;
}
.travel-calendar-trip.color-steel{
    --trip-bg:#edf2f5; --trip-border:#cbd6dc; --trip-accent:#7894a4; --trip-accent-dark:#536d7a;
}
.travel-calendar-trip.color-sand{
    --trip-bg:#f5f1e8; --trip-border:#ddd3bf; --trip-accent:#aa9068; --trip-accent-dark:#786244;
}
.travel-calendar-trip.color-lavender{
    --trip-bg:#f1eff5; --trip-border:#d7d0df; --trip-accent:#9687a7; --trip-accent-dark:#6c607b;
}
.travel-calendar-trip.color-teal{
    --trip-bg:#eaf3f2; --trip-border:#c8dbd8; --trip-accent:#719b96; --trip-accent-dark:#4f716d;
}
.travel-calendar-trip.color-clay{
    --trip-bg:#f5eeeb; --trip-border:#dfd0ca; --trip-accent:#aa8173; --trip-accent-dark:#795b51;
}
.travel-calendar-trip.color-slate{
    --trip-bg:#eff1f2; --trip-border:#d1d5d7; --trip-accent:#818d92; --trip-accent-dark:#5e696d;
}
.travel-calendar-trip.color-olive{
    --trip-bg:#f1f2e9; --trip-border:#d6d8c4; --trip-accent:#939a6e; --trip-accent-dark:#686e4d;
}

/* Several trips on the same day stack, with breathing room. */
.travel-calendar-day-events{
    display:grid;
    grid-auto-flow:row;
    gap:4px;
}


/* v0.9.0-alpha.6.3.0.7.3.6.6.6 r3 — full results + stable calendar lanes */
.ai-review-section-row-with-trip{
    grid-template-columns:minmax(120px,.8fr) minmax(260px,1.45fr) minmax(180px,1fr) auto;
    align-items:center;
}
.ai-review-trip{min-width:0}

.travel-calendar-day-events{
    display:grid;
    grid-template-rows:repeat(var(--calendar-lanes,1),34px);
    grid-auto-rows:34px;
    gap:4px;
    min-height:calc(var(--calendar-lanes,1) * 38px);
}
.travel-calendar-trip-lane{
    --trip-strong:#496b8b;
    --trip-light:#d9e5ef;
    --trip-border:#b9cbd8;
    --trip-text:#304b64;
    position:relative;
    display:block;
    min-width:0;
    height:34px;
    overflow:hidden;
    border:1px solid var(--trip-border);
    border-radius:5px;
    background:#f7f9f9;
    color:var(--trip-text);
    text-decoration:none;
    isolation:isolate;
}
.travel-calendar-trip-lane:hover{border-color:var(--trip-strong);text-decoration:none}
.travel-calendar-phase-track{position:absolute;inset:0;z-index:0}
.travel-calendar-phase{position:absolute;top:0;bottom:0;display:block}
.travel-calendar-phase.flight{background:var(--trip-strong)}
.travel-calendar-phase.stay{background:var(--trip-light)}
.travel-calendar-trip-copy{
    position:relative;z-index:1;height:100%;display:flex;align-items:center;gap:4px;
    min-width:0;padding:0 5px;pointer-events:none;
}
.travel-calendar-trip-copy b{
    flex:0 0 auto;padding:1px 3px;border-radius:3px;background:rgba(255,255,255,.82);
    color:#3f4e4b;font-size:7.5px;line-height:1.2;
}
.travel-calendar-trip-copy strong{
    min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 3px;
    border-radius:3px;background:rgba(255,255,255,.76);font-size:9px;line-height:1.2;
}
.travel-calendar-trip-lane.color-navy{--trip-strong:#496b8b;--trip-light:#d9e5ef;--trip-border:#b9cbd8;--trip-text:#304b64}
.travel-calendar-trip-lane.color-brick{--trip-strong:#9a5b52;--trip-light:#eadbd6;--trip-border:#d5bcb5;--trip-text:#69413b}
.travel-calendar-trip-lane.color-sage{--trip-strong:#63846d;--trip-light:#dde9df;--trip-border:#bfd0c3;--trip-text:#46604d}
.travel-calendar-trip-lane.color-slate{--trip-strong:#68767c;--trip-light:#e0e5e7;--trip-border:#c6d0d3;--trip-text:#48555a}
.travel-calendar-trip-lane.color-teal{--trip-strong:#547f7b;--trip-light:#d8e9e7;--trip-border:#bad1ce;--trip-text:#3b5d59}
.travel-calendar-trip-lane.color-gold{--trip-strong:#9a7b46;--trip-light:#eee6d5;--trip-border:#d9cbb0;--trip-text:#685535}
.travel-calendar-trip-lane.color-indigo{--trip-strong:#6b6388;--trip-light:#e2dfeb;--trip-border:#cbc5da;--trip-text:#4d4765}
.travel-calendar-trip-lane.color-earth{--trip-strong:#8a6853;--trip-light:#e8ddd5;--trip-border:#d3c1b5;--trip-text:#604a3c}
.calendar-legend-block{display:inline-block;width:17px;height:7px;border-radius:2px;vertical-align:middle}
.calendar-legend-block.flight{background:#496b8b}
.calendar-legend-block.stay{background:#d9e5ef;border:1px solid #b9cbd8}
@media(max-width:900px){.ai-review-section-row-with-trip{grid-template-columns:1fr;align-items:start}}


/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.6.8 — calendar price + exact Cart navigation
   ========================================================================= */
.travel-calendar-trip-price{
    flex:0 0 auto;
    margin-left:auto;
    padding:1px 4px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:4px;
    background:rgba(255,255,255,.84);
    color:#344541;
    font-size:8px;
    line-height:1.2;
    font-weight:800;
    white-space:nowrap;
}
.cart-card:target{
    border-color:#8baea6;
    box-shadow:0 0 0 2px rgba(89,132,123,.16), 0 12px 28px rgba(40,68,63,.08);
    scroll-margin-top:86px;
}


/* 7.3.6.7.0 — passenger profile foundation */
.new-hunt-passengers{grid-column:1/-1;display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfb}
.new-hunt-passenger-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.new-hunt-passenger-head>div{display:grid;gap:3px}.new-hunt-passenger-head span,.new-hunt-passengers small{color:var(--muted);font-size:11px;line-height:1.45}
.passenger-count{white-space:nowrap;font-weight:700;color:#333!important}
.passenger-date-list{display:grid;gap:7px}
.passenger-date-row{display:grid;grid-template-columns:90px minmax(160px,230px) 32px;align-items:center;gap:10px}
.passenger-date-row strong{font-size:12px}.passenger-date-row input{min-height:38px}.passenger-date-row button{border:0;background:transparent;font-size:20px;cursor:pointer;color:#777}
.passenger-profile-summary{display:grid;gap:5px;padding:13px 15px;border:1px solid #e3e7e5;border-radius:12px;background:#fafbfb}
.passenger-profile-summary strong{font-size:15px}.passenger-profile-summary span,.passenger-profile-summary small{color:var(--muted);font-size:11.5px;line-height:1.5}
@media(max-width:760px){.passenger-date-row{grid-template-columns:80px minmax(0,1fr) 28px}.new-hunt-passenger-head{flex-direction:column;gap:6px}}

/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.7.2 — compact expandable trip dates
   - collapsed by default: real departure -> return + nights + leave
   - expanded tiles start on the actual departure day
   - long trips wrap inside the card; never horizontally scroll
   ========================================================================= */
.trip-date-details{
    margin-top:7px;
    min-width:0;
    max-width:100%;
}
.trip-date-details>summary{
    box-sizing:border-box;
    min-width:0;
    min-height:30px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    padding:5px 7px;
    border:1px solid #dbe2e0;
    border-radius:7px;
    background:#fafbf9;
    color:#334348;
    cursor:pointer;
    list-style:none;
    user-select:none;
}
.trip-date-details>summary::-webkit-details-marker{display:none}
.trip-date-details>summary::before{
    content:"⌄";
    flex:0 0 auto;
    color:#68767a;
    font-size:11px;
    font-weight:800;
    transform:translateY(-1px);
    transition:transform .12s ease;
}
.trip-date-details[open]>summary::before{transform:rotate(180deg) translateY(1px)}
.trip-date-summary-label{
    flex:0 0 auto;
    color:#6a777b;
    font-size:8.5px;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.trip-date-details>summary>strong{
    min-width:0;
    font-size:9.5px;
    line-height:1.1;
    color:#17272a;
    white-space:nowrap;
}
.trip-date-summary-fact{
    flex:0 0 auto;
    padding:2px 5px;
    border-radius:999px;
    background:#eef3f1;
    color:#536166;
    font-size:8.3px;
    font-weight:700;
    white-space:nowrap;
}
.trip-date-summary-action{
    margin-left:auto;
    flex:0 0 auto;
    color:#49676e;
    font-size:8.3px;
    font-weight:750;
    white-space:nowrap;
}
.trip-date-details .when-open{display:none}
.trip-date-details[open] .when-open{display:inline}
.trip-date-details[open] .when-closed{display:none}

/* Override the legacy horizontally-scrolling strip. */
.opportunity-trip .trip-date-details .trip-week-strip,
.highlight-card .trip-date-details .trip-week-strip{
    width:100%;
    min-width:0;
    max-width:100%;
    margin-top:5px;
    overflow:visible;
}
.opportunity-trip .trip-date-details .trip-week-grid,
.highlight-card .trip-date-details .trip-week-grid{
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:100%;
    display:flex;
    flex-flow:row wrap;
    align-items:flex-start;
    gap:3px;
}
.opportunity-trip .trip-date-details .trip-week-cell,
.highlight-card .trip-date-details .trip-week-cell{
    flex:0 0 32px;
}
.highlight-card .trip-date-details>summary{
    background:rgba(250,251,249,.72);
}
@media(max-width:760px){
    .trip-date-details>summary{flex-wrap:wrap}
    .trip-date-summary-action{margin-left:0}
    .opportunity-trip .trip-date-details .trip-week-cell,
    .highlight-card .trip-date-details .trip-week-cell{flex-basis:30px}
}
\n\n/* v0.9.0-alpha.6.3.0.7.3.6.7.3 — Cart full price-history UX */\n.pi-history{grid-template-rows:auto 92px auto auto auto}.pi-history-count{font-size:10px!important;font-weight:650!important;letter-spacing:0!important;text-transform:none!important;color:#66717d!important}.pi-history-chart{height:84px}.pi-history-line{stroke:#405d70;stroke-width:2}.pi-history-median-line{stroke:#8a98a2;stroke-width:1;stroke-dasharray:4 4;opacity:.85}.pi-history-saved-line{stroke:#2c91bf;stroke-width:1.1;stroke-dasharray:3 3;opacity:.9}.pi-history-point{stroke:#fff;stroke-width:1.5}.pi-history-point.minimum{fill:#1da86d}.pi-history-point.current{fill:#d35a50}.pi-history-legend{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:5px;color:#6a7479;font-size:8.8px}.pi-history-legend span{display:inline-flex;align-items:center;gap:4px}.pi-history-key{display:inline-block;width:8px;height:8px;border-radius:50%}.pi-history-key.saved{width:10px;height:0;border-top:1.5px dashed #2c91bf;border-radius:0}.pi-history-key.median{width:10px;height:0;border-top:1.5px dashed #8a98a2;border-radius:0}.pi-history-key.minimum{background:#1da86d}.pi-history-key.current{background:#d35a50}.pi-history p strong{color:#3f535f;font-weight:650}\n

/* =========================================================================
   v0.9.0-alpha.6.3.0.7.3.6.7.13 — private authentication shell
   ========================================================================= */
.auth-account-name{
    max-width:120px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-weight:750;
    color:#304a57;
}
.auth-logout-form{display:inline-flex;margin:0}
.auth-logout-button{
    appearance:none;
    border:0;
    background:transparent;
    padding:3px 2px;
    color:#60747e;
    font:inherit;
    font-size:10px;
    font-weight:750;
    cursor:pointer;
}
.auth-logout-button:hover{color:#087d96;text-decoration:underline}
.auth-page{
    min-height:100vh;
    margin:0;
    background:
        radial-gradient(circle at 18% 12%,rgba(16,165,185,.09),transparent 32rem),
        linear-gradient(180deg,#f7fbfc 0%,#eef5f7 100%);
}
.auth-shell{
    min-height:100vh;
    box-sizing:border-box;
    display:grid;
    place-items:center;
    padding:32px 18px;
}
.auth-card{
    box-sizing:border-box;
    width:min(440px,100%);
    padding:28px;
    border:1px solid #d8e5e9;
    border-radius:20px;
    background:rgba(255,255,255,.96);
    box-shadow:0 22px 60px rgba(35,70,86,.11);
}
.auth-brand{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#132f3a;
    text-decoration:none;
}
.auth-brand-mark{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:12px;
    background:#0a91a7;
    color:#fff;
    font-size:20px;
    font-weight:900;
}
.auth-brand>span:last-child{display:grid;gap:1px}
.auth-brand strong{font-size:17px;letter-spacing:-.025em}
.auth-brand small{color:#758991;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.auth-copy{margin:30px 0 20px}
.auth-copy .eyebrow{color:#0a8197;font-size:9px;font-weight:850;letter-spacing:.12em}
.auth-copy h1{margin:7px 0 8px;font-size:30px;letter-spacing:-.045em;color:#172c35}
.auth-copy p{margin:0;color:#6a7c84;font-size:12px;line-height:1.6}
.auth-form{display:grid;gap:14px}
.auth-form label{display:grid;gap:6px}
.auth-form label>span{color:#455b64;font-size:10px;font-weight:800}
.auth-form input{
    box-sizing:border-box;
    width:100%;
    min-height:44px;
    border:1px solid #cedce1;
    border-radius:10px;
    background:#fff;
    padding:9px 11px;
    color:#172c35;
    font:inherit;
    font-size:14px;
    outline:none;
}
.auth-form input:focus{
    border-color:#1599ad;
    box-shadow:0 0 0 3px rgba(21,153,173,.11);
}
.auth-submit{width:100%;min-height:44px;margin-top:3px;justify-content:center}
.auth-error{
    margin:0 0 16px;
    padding:10px 12px;
    border:1px solid #ecc9c6;
    border-radius:9px;
    background:#fff6f5;
    color:#923b35;
    font-size:11px;
    line-height:1.45;
}
.auth-footnote{
    margin:17px 0 0;
    color:#89979c;
    font-size:9.5px;
    line-height:1.5;
    text-align:center;
}
@media(max-width:560px){
    .auth-shell{padding:18px 12px}
    .auth-card{padding:22px;border-radius:16px}
}
