.bi3d-screen { min-width: 0; }
.bi3d-header { display: grid; gap: 0.8rem; margin-bottom: 0.75rem; }
.bi3d-header p, .bi3d-destination > div > p, .bi3d-section-heading p, .bi3d-forecast-toggle small {
  margin: 0; color: var(--bi-gold-muted); font-size: 12px; font-weight: 700; letter-spacing: 0.12em;
}
.bi3d-header h1 { margin: 0.2rem 0; font: 22px/1.25 Georgia, "Yu Mincho", serif; }
.bi3d-header > div > p:last-child { color: var(--bi-text-muted); letter-spacing: 0; font-weight: 400; line-height: 1.65; }
.bi3d-destination, .bi3d-company-section, .bi3d-selected-summary, .bi3d-forecast, .bi3d-requirements {
  min-width: 0; border: 1px solid var(--bi-border-subtle); background: rgba(16, 21, 29, 0.96); padding: 0.8rem;
}
.bi3d-destination { display: grid; gap: 0.7rem; margin-bottom: 0.75rem; }
.bi3d-destination h2, .bi3d-section-heading h2, .bi3d-selected-summary h2, .bi3d-requirements h2 {
  margin: 0.15rem 0 0; font: 18px/1.3 Georgia, "Yu Mincho", serif; overflow-wrap: anywhere;
}
.bi3d-destination dl { display: grid; grid-template-columns: auto 1fr; gap: 0.4rem 0.8rem; margin: 0; }
.bi3d-destination dt { color: var(--bi-text-muted); }
.bi3d-destination dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.bi3d-layout, .bi3d-summary-column { display: grid; gap: 0.75rem; min-width: 0; }
.bi3d-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 0.5rem; margin-bottom: 0.65rem; }
.bi3d-section-heading > span { color: var(--bi-text-muted); font-size: 12px; }
.bi3d-company-grid { display: grid; gap: 0.65rem; }
.bi3d-company-card { min-width: 0; border: 1px solid var(--bi-border-subtle); background: var(--bi-surface-raised); padding: 0.65rem; }
.bi3d-company-card.is-selected { border-color: var(--bi-gold); box-shadow: inset 3px 0 var(--bi-gold); }
.bi3d-company-select { display: grid; grid-template-columns: 2.7rem minmax(0, 1fr) auto; align-items: center; gap: 0.55rem;
  width: 100%; min-height: 64px; border: 0; background: transparent; padding: 0; text-align: left; cursor: pointer; }
.bi3d-company-portrait { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border: 1px solid var(--bi-border); color: var(--bi-gold); }
.bi3d-company-identity { display: grid; gap: 0.1rem; min-width: 0; }
.bi3d-company-identity small { color: var(--bi-text-muted); font-size: 12px; }
.bi3d-company-identity strong, .bi3d-company-identity span { overflow-wrap: anywhere; }
.bi3d-company-identity span { color: var(--bi-text-muted); font-size: 12px; }
.bi3d-selection-mark { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--bi-border); font-weight: 700; }
.bi3d-company-card.is-selected .bi3d-selection-mark { border-color: var(--bi-gold); background: #2a2116; color: #eadbc2; }
.bi3d-company-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.35rem; margin: 0.5rem 0 0; }
.bi3d-company-stats > div { min-width: 0; border-top: 1px solid var(--bi-border-subtle); padding-top: 0.4rem; }
.bi3d-company-stats dt { color: var(--bi-text-muted); font-size: 12px; }
.bi3d-company-stats dd { margin: 0.1rem 0 0; font-size: 12px; overflow-wrap: anywhere; }
.bi3d-company-warnings { margin: 0.45rem 0 0; padding-left: 1.1rem; color: var(--bi-warning); font-size: 12px; }
.bi3d-company-clear { margin: 0.45rem 0 0; color: var(--bi-text-muted); font-size: 12px; }
.bi3d-eligibility { margin: 0.45rem 0 0; border-left: 2px solid var(--bi-warning); padding-left: 0.45rem; color: var(--bi-text-muted); font-size: 12px; }
.bi3d-expand-company { width: 100%; min-height: 44px; margin-top: 0.5rem; border: 1px solid var(--bi-border-subtle); background: #121720; cursor: pointer; }
.bi3d-company-detail { margin-top: 0.45rem; border-top: 1px solid var(--bi-border-subtle); padding-top: 0.5rem; }
.bi3d-company-detail[hidden] { display: none; }
.bi3d-company-detail dl { display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 0.6rem; margin: 0 0 0.5rem; }
.bi3d-company-detail dt { color: var(--bi-text-muted); }
.bi3d-company-detail dd { margin: 0; text-align: right; }
.bi3d-selected-summary ul { display: grid; gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.bi3d-selected-summary li { display: grid; gap: 0.1rem; border-left: 2px solid var(--bi-gold-muted); padding-left: 0.5rem; }
.bi3d-selected-summary li span { color: var(--bi-text-muted); font-size: 12px; }
.bi3d-empty { min-height: 5rem; display: grid; place-items: center; margin: 0; color: var(--bi-text-muted); text-align: center; }
.bi3d-forecast { padding: 0; }
.bi3d-forecast-toggle { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; width: 100%; min-height: 56px; border: 0; background: transparent; padding: 0.7rem; text-align: left; cursor: pointer; }
.bi3d-forecast-toggle > span:first-child { display: grid; gap: 0.15rem; }
.bi3d-forecast-toggle strong { font: 17px/1.3 Georgia, "Yu Mincho", serif; }
.bi3d-forecast-content { display: grid; gap: 0.55rem; border-top: 1px solid var(--bi-border-subtle); padding: 0.7rem; }
.bi3d-forecast-content[hidden] { display: none; }
.bi3d-forecast-content article { border-left: 2px solid var(--bi-border); padding-left: 0.55rem; }
.bi3d-forecast-content h3 { margin: 0 0 0.3rem; font-size: 13px; }
.bi3d-forecast-content p, .bi3d-forecast-content ul { margin-block: 0.25rem; }
.bi3d-forecast-content ul { padding-left: 1.1rem; color: var(--bi-text-muted); }
.bi3d-breach { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.35rem; }
.bi3d-requirements h2 { margin-bottom: 0.55rem; font-size: 16px; }
.bi3d-review { width: 100%; min-height: 48px; border: 1px solid var(--bi-gold-muted); background: #2a2116; color: #eadbc2; cursor: pointer; }
.bi3d-confirmation-facts { display: grid; grid-template-columns: auto 1fr; gap: 0.4rem 0.7rem; }
.bi3d-confirmation-facts dt { color: var(--bi-text-muted); }
.bi3d-confirmation-facts dd { margin: 0; text-align: right; overflow-wrap: anywhere; }

@media (min-width: 768px) {
  .bi3d-header, .bi3d-destination { grid-template-columns: auto 1fr; align-items: start; }
  .bi3d-destination { grid-template-columns: minmax(14rem, 1fr) minmax(18rem, 1fr); align-items: center; }
  .bi3d-company-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .bi3d-layout { grid-template-columns: minmax(0, 2fr) minmax(18rem, 0.9fr); align-items: start; }
  .bi3d-summary-column { position: sticky; top: 0.75rem; }
}

@media (min-width: 1320px) {
  .bi3d-company-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .bi3d-screen *, .bi3d-screen *::before, .bi3d-screen *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
