.api-state { margin: 14px 0 0; padding: 11px 13px; border-radius: 12px; font-size: 11px; line-height: 1.5; background: #f2f7f9; color: #4e6673; border: 1px solid #dce7eb; }
.api-state[data-state="error"] { background: #fff3f1; color: #8b3e33; border-color: #f1cbc4; }
.api-state[data-state="success"] { background: #eef9f5; color: #226a57; border-color: #cde9df; }
.api-state[data-state="working"] { background: #edf8fb; color: #276f82; border-color: #cce8ef; }

.fact-panel { margin-top: 18px; padding: 18px; border: 1px solid #dfe9ed; border-radius: 17px; background: #f9fcfd; }
.fact-panel h3 { margin: 0 0 5px; font-size: 15px; letter-spacing: -.02em; }
.fact-panel > p { margin: 0 0 15px; color: #657985; font-size: 11px; line-height: 1.5; }
.fact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.fact-field { display: grid; gap: 6px; align-self: start; align-content: start; font-size: 11px; font-weight: 750; color: #435c68; }
.fact-field input, .fact-field select { height: 42px; min-height: 42px; max-height: 42px; width: 100%; padding: 0 11px; border: 1px solid #d9e5e9; border-radius: 11px; background: #fff; color: #071826; outline: 0; }
.fact-field input:focus, .fact-field select:focus { border-color: #4abbd4; box-shadow: 0 0 0 3px rgba(55,185,216,.13); }
.fact-field small { color: #82949e; font-size: 9px; font-weight: 500; line-height: 1.4; }
.fact-span { grid-column: 1 / -1; }

.flight-candidates { margin: 14px 0; display: grid; gap: 9px; }
.flight-candidate { border: 1px solid #dce6ea; background: #fff; border-radius: 14px; padding: 12px 14px; text-align: left; cursor: pointer; color: #294955; }
.flight-candidate[aria-pressed="true"] { border-color: #4abbd4; background: #edf9fb; box-shadow: inset 0 0 0 1px rgba(55,185,216,.12); }
.flight-candidate strong, .flight-candidate span { display: block; }
.flight-candidate span { margin-top: 4px; color: #6b7f89; font-size: 10px; }
.live-provenance { margin: 8px 0 0; color: #71858f; font-size: 10px; line-height: 1.45; }

.result-stage { max-width: 1120px; margin: 28px auto 0; padding: 0 24px; }
.result-shell { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(290px,.65fr); gap: 18px; align-items: start; }
.result-main, .result-side { background: #fff; border: 1px solid #e0e9ed; border-radius: 26px; box-shadow: 0 22px 60px rgba(7,24,38,.08); }
.result-main { padding: 30px; }
.result-side { padding: 24px; position: sticky; top: 18px; }
.result-eyebrow { text-transform: uppercase; font-size: 10px; font-weight: 850; letter-spacing: .13em; color: #2d91a9; }
.result-headline { margin: 8px 0 7px; font-size: clamp(32px,4vw,52px); line-height: 1; letter-spacing: -.055em; }
.result-qualification { color: #657985; margin: 0; font-size: 12px; line-height: 1.5; }
.result-currency-lines { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
.result-currency-lines span { padding: 7px 10px; border-radius: 99px; background: #eef7f9; color: #2d6170; font-size: 11px; font-weight: 800; }
.result-block { margin-top: 27px; padding-top: 23px; border-top: 1px solid #e5ecef; }
.result-block h3 { margin: 0 0 12px; font-size: 18px; letter-spacing: -.03em; }
.result-block > p { color: #6d818b; font-size: 11px; line-height: 1.55; }
.result-line-items { display: grid; gap: 10px; }
.result-line { border: 1px solid #e0e9ed; border-radius: 15px; padding: 14px; }
.result-line-top { display: flex; justify-content: space-between; gap: 14px; align-items: start; }
.result-line h4 { margin: 0; font-size: 13px; }
.result-line-value { white-space: nowrap; font-size: 13px; font-weight: 850; color: #0a596c; }
.result-line p { margin: 6px 0 0; color: #6c808a; font-size: 10px; line-height: 1.5; }
.result-meta { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 10px; }
.result-meta span { border-radius: 99px; padding: 5px 8px; background: #f1f5f7; color: #607680; font-size: 9px; font-weight: 750; }

.provenance-list, .missing-list, .suppression-list { display: grid; gap: 8px; }
.provenance-item, .missing-item, .suppression-item { padding: 11px 12px; border-radius: 12px; background: #f7fafb; border: 1px solid #e2eaed; color: #536a75; font-size: 10px; line-height: 1.5; }
.provenance-item a { font-weight: 800; color: #176f86; }
.provenance-item strong { color: #254956; }

.refine-panel { margin-top: 12px; padding: 15px; border: 1px solid #e2e9ec; border-radius: 14px; background: #fbfdfe; }
.refine-panel .fact-grid { margin-top: 11px; }
.refine-actions { display: flex; justify-content: flex-end; margin-top: 12px; }

.partner-grid { display: grid; gap: 10px; }
.partner-card { padding: 14px; border: 1px solid #dfe8ec; border-radius: 15px; background: #fcfefe; }
.partner-card h4 { margin: 0; font-size: 14px; }
.partner-card p { margin: 6px 0 0; color: #697d87; font-size: 10px; line-height: 1.5; }
.partner-capabilities { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.partner-capabilities span { border-radius: 99px; padding: 5px 8px; background: #edf7f9; color: #39707e; font-size: 9px; font-weight: 750; }
.partner-disclosure { padding: 9px 10px; border-radius: 10px; background: #fff8e8; border: 1px solid #f1e2bd; color: #76591f; font-size: 9px; line-height: 1.45; }
.partner-action { width: 100%; margin-top: 10px; }
.no-partner { padding: 14px; border-radius: 14px; background: #f5f8f9; color: #647984; font-size: 11px; line-height: 1.55; }

.result-side h3 { margin: 0 0 8px; font-size: 17px; letter-spacing: -.03em; }
.result-side p { color: #687c86; font-size: 10px; line-height: 1.55; }
.result-side dl { margin: 17px 0 0; display: grid; gap: 10px; }
.result-side dl div { padding-bottom: 9px; border-bottom: 1px solid #e8eef1; }
.result-side dt { color: #8a9aa3; font-size: 9px; text-transform: uppercase; font-weight: 800; letter-spacing: .08em; }
.result-side dd { margin: 3px 0 0; color: #294854; font-size: 11px; font-weight: 750; }
.result-reset { width: 100%; margin-top: 18px; }

.recovery-card [data-recovery-category] { text-align: right; }
.recovery-card.is-live { border-color: #bcdfe6; }
.recovery-card.is-suppressed { border-color: #ead9ba; }

.fact-completion-bridge { margin-top: 4px; padding-top: 14px; border-top: 1px solid #dfe9ed; }
.fact-completion-heading { margin-bottom: 12px; }
.fact-completion-heading h4 { margin: 0 0 5px; color: #173f53; font-size: 13px; letter-spacing: -.02em; }
.fact-completion-heading p { margin: 0; max-width: 760px; color: #657985; font-size: 10px; line-height: 1.5; }
.fact-completion-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.fact-field.needs-answer { padding: 9px; margin: -9px; border-radius: 12px; background: #fff8e7; box-shadow: inset 0 0 0 1px #efd9a5; }
.refine-return-panel { margin-top: 12px; display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 13px 14px; border: 1px solid #d8e8ee; border-radius: 14px; background: #f6fbfd; }
.refine-return-panel p { margin: 0; max-width: 620px; color: #526e7a; font-size: 10px; line-height: 1.5; }
.refine-return-panel .secondary-action { flex: 0 0 auto; min-height: 40px; }

.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

@media (max-width: 900px) {
  .result-shell { grid-template-columns: 1fr; }
  .result-side { position: static; }
}

@media (max-width: 680px) {
  .fact-grid, .fact-completion-grid { grid-template-columns: 1fr; }
  .fact-span { grid-column: auto; }
  .result-stage { padding: 0 12px; }
  .result-main, .result-side { border-radius: 21px; }
  .result-main { padding: 22px 18px; }
  .result-line-top { display: block; }
  .result-line-value { display: block; margin-top: 7px; }
  .refine-return-panel { align-items: stretch; flex-direction: column; }
  .refine-return-panel .secondary-action { width: 100%; }
}