/* Buyer, Offer, Market and Geography: route-scoped decision-paper product V1.0.0 */
.cae-route-buyer-offer-market-geography-boundaries {
  --bmg-panel: color-mix(in srgb, var(--ri-panel, #0d2337) 94%, transparent);
  --bmg-panel-2: color-mix(in srgb, var(--ri-panel-2, #102b43) 94%, transparent);
  --bmg-line: color-mix(in srgb, var(--ri-cyan, #7ce5ff) 24%, transparent);
  --bmg-line-strong: color-mix(in srgb, var(--ri-cyan, #7ce5ff) 48%, transparent);
  --bmg-text: var(--ri-text, #f7fbff);
  --bmg-muted: var(--ri-muted, #b6c7d5);
  --bmg-cyan: var(--ri-cyan, #7ce5ff);
  --bmg-gold: var(--ri-gold, #f5d98d);
  --bmg-good: #74efc2;
  --bmg-warn: #f5d98d;
  --bmg-bad: #ffb3b3;
}
.cae-route-buyer-offer-market-geography-boundaries .bmg-decision-strip,
.cae-route-buyer-offer-market-geography-boundaries .bmg-boundary-card,
.cae-route-buyer-offer-market-geography-boundaries .bmg-story,
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool,
.cae-route-buyer-offer-market-geography-boundaries .bmg-result,
.cae-route-buyer-offer-market-geography-boundaries .bmg-source-card,
.cae-route-buyer-offer-market-geography-boundaries .bmg-download,
.cae-route-buyer-offer-market-geography-boundaries .bmg-handoff,
.cae-route-buyer-offer-market-geography-boundaries .bmg-rule-card {
  border: 1px solid var(--bmg-line);
  border-radius: 18px;
  background: linear-gradient(160deg, var(--bmg-panel), var(--bmg-panel-2));
  color: var(--bmg-text);
  box-shadow: 0 18px 56px rgba(0,0,0,.18);
}
.cae-route-buyer-offer-market-geography-boundaries .bmg-decision-strip { padding: clamp(18px,3vw,28px); margin: 1.5rem 0; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-decision-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-decision-grid > div { padding:14px; border:1px solid var(--bmg-line); border-radius:14px; background:rgba(2,14,24,.48); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-decision-grid strong { display:block; margin-bottom:5px; color:var(--bmg-cyan); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-boundaries { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:1.25rem 0 1.75rem; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-boundary-card { padding:18px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-boundary-card h3 { margin-top:0; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-boundary-card p:last-child { margin-bottom:0; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-label { display:inline-flex; align-items:center; min-height:28px; padding:4px 9px; border:1px solid var(--bmg-line); border-radius:999px; color:var(--bmg-cyan); font-size:.78rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-story { padding:20px; margin:1.25rem 0; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-story-grid > div { padding:14px; border-left:3px solid var(--bmg-cyan); background:rgba(2,14,24,.38); border-radius:0 12px 12px 0; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-story-grid strong { color:var(--bmg-gold); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-rule-card { padding:18px; margin:1.25rem 0; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-rule-card ul { margin-bottom:0; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool { margin:1.5rem 0; overflow:hidden; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool__head { padding:20px 20px 14px; border-bottom:1px solid var(--bmg-line); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool__head h2 { margin:.25rem 0 .5rem; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool__body { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr); gap:18px; padding:20px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-fields { display:grid; gap:14px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-fieldset { margin:0; padding:14px; border:1px solid var(--bmg-line); border-radius:14px; background:rgba(2,14,24,.34); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-fieldset legend { padding:0 6px; font-weight:800; color:var(--bmg-text); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-field { display:grid; gap:6px; margin-top:10px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-field label,
.cae-route-buyer-offer-market-geography-boundaries .bmg-field .bmg-field-label { font-weight:750; color:var(--bmg-text); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-help { margin:0; color:var(--bmg-muted); font-size:.9rem; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool select,
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool input,
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool textarea {
  width:100%; min-height:46px; box-sizing:border-box; border:1px solid var(--bmg-line-strong); border-radius:10px; padding:10px 12px; color:var(--bmg-text); background:#071a2a; font:inherit; color-scheme:dark;
}
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool textarea { min-height:84px; resize:vertical; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool select:focus-visible,
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool input:focus-visible,
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool textarea:focus-visible,
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool button:focus-visible,
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool summary:focus-visible { outline:3px solid color-mix(in srgb,var(--bmg-cyan) 48%,transparent); outline-offset:2px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool details { border:1px solid var(--bmg-line); border-radius:12px; padding:10px 12px; background:rgba(2,14,24,.28); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool summary { cursor:pointer; font-weight:800; color:var(--bmg-cyan); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool button { min-height:46px; border-radius:11px; border:1px solid var(--bmg-line-strong); padding:10px 14px; font:inherit; font-weight:800; cursor:pointer; color:var(--bmg-text); background:rgba(124,229,255,.08); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-tool button[data-primary] { color:#04131f; background:linear-gradient(135deg,var(--bmg-cyan),var(--bmg-good)); border-color:transparent; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-scope-summary { position:sticky; top:18px; align-self:start; padding:15px; border:1px solid var(--bmg-line); border-radius:14px; background:rgba(2,14,24,.66); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-scope-summary h3 { margin-top:0; font-size:1rem; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-scope-summary dl { display:grid; grid-template-columns:auto 1fr; gap:7px 10px; margin:0; font-size:.9rem; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-scope-summary dt { color:var(--bmg-muted); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-scope-summary dd { margin:0; font-weight:700; overflow-wrap:anywhere; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-result { margin:0 20px 20px; padding:20px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-result[hidden] { display:none !important; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-result__status { display:inline-flex; padding:5px 9px; border-radius:999px; border:1px solid var(--bmg-line-strong); font-size:.8rem; font-weight:850; letter-spacing:.035em; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-result[data-state="ok"] .bmg-result__status { color:var(--bmg-good); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-result[data-state="resolve"] .bmg-result__status { color:var(--bmg-warn); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-result[data-state="invalid"] .bmg-result__status { color:var(--bmg-bad); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-result-grid > div { padding:12px; border:1px solid var(--bmg-line); border-radius:12px; background:rgba(2,14,24,.35); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-result-grid strong { display:block; color:var(--bmg-cyan); margin-bottom:4px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-error-summary { margin:0 20px 16px; padding:12px 14px; border:1px solid color-mix(in srgb,var(--bmg-bad) 45%,transparent); border-radius:12px; color:var(--bmg-text); background:rgba(92,24,32,.38); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-error-summary[hidden] { display:none !important; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-downloads { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:1.25rem 0; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-download { padding:18px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-download h3 { margin:.25rem 0 .5rem; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-download a { font-weight:800; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-sources { display:grid; gap:12px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-source-card { padding:15px; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-source-card p { margin:.4rem 0 0; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-source-card strong { color:var(--bmg-cyan); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-handoff { padding:18px; margin:1.25rem 0; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-handoff code { overflow-wrap:anywhere; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-compact-table { font-size:.93rem; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-callout { border-left:3px solid var(--bmg-gold); padding:10px 14px; background:rgba(245,217,141,.06); border-radius:0 12px 12px 0; }
.cae-route-buyer-offer-market-geography-boundaries .bmg-manual-method { padding:16px; border:1px solid var(--bmg-line); border-radius:14px; background:rgba(2,14,24,.32); }
.cae-route-buyer-offer-market-geography-boundaries .bmg-manual-method ol { margin-bottom:0; }
@media (max-width: 920px) {
  .cae-route-buyer-offer-market-geography-boundaries .bmg-tool__body { grid-template-columns:1fr; }
  .cae-route-buyer-offer-market-geography-boundaries .bmg-scope-summary { position:static; }
}
@media (max-width: 760px) {
  .cae-route-buyer-offer-market-geography-boundaries .bmg-decision-grid,
  .cae-route-buyer-offer-market-geography-boundaries .bmg-boundaries,
  .cae-route-buyer-offer-market-geography-boundaries .bmg-story-grid,
  .cae-route-buyer-offer-market-geography-boundaries .bmg-result-grid,
  .cae-route-buyer-offer-market-geography-boundaries .bmg-downloads { grid-template-columns:1fr; }
  .cae-route-buyer-offer-market-geography-boundaries .bmg-tool__head,
  .cae-route-buyer-offer-market-geography-boundaries .bmg-tool__body,
  .cae-route-buyer-offer-market-geography-boundaries .bmg-result { padding-left:14px; padding-right:14px; }
  .cae-route-buyer-offer-market-geography-boundaries .bmg-result { margin-left:14px; margin-right:14px; }
}
@media (prefers-reduced-motion: reduce) {
  .cae-route-buyer-offer-market-geography-boundaries *,
  .cae-route-buyer-offer-market-geography-boundaries *::before,
  .cae-route-buyer-offer-market-geography-boundaries *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
@media print {
  .bmg-tool button, .bmg-actions { display:none !important; }
  .bmg-tool, .bmg-result, .bmg-download, .bmg-source-card, .bmg-decision-strip, .bmg-boundary-card, .bmg-story, .bmg-rule-card, .bmg-handoff { background:#fff !important; color:#000 !important; box-shadow:none !important; border-color:#777 !important; }
  .bmg-label, .bmg-result__status, .bmg-source-card strong { color:#000 !important; }
}
