/* ── Business Plan tab ─────────────────────── */
.bp-hero {
  background:var(--navy); padding:48px 72px;
  display:flex; align-items:center; gap:60px; flex-shrink:0;
}
.bp-hero-text h1 { font-size:30px; font-weight:800; color:#fff; margin-bottom:10px; line-height:1.25; }
.bp-hero-text h1 em { font-style:normal; color:var(--teal); }
.bp-hero-text p { font-size:14px; color:rgba(255,255,255,.62); line-height:1.68; max-width:560px; }
.bp-kpi-row { display:flex; gap:32px; margin-left:auto; flex-shrink:0; }
.bp-kpi { text-align:center; }
.bp-kpi-n { font-size:36px; font-weight:800; color:var(--teal); line-height:1; }
.bp-kpi-l { font-size:10px; color:rgba(255,255,255,.45); margin-top:4px; max-width:100px; }

.bp-sec { padding:44px 72px; border-bottom:1px solid var(--border); }
.bp-sec.alt { background:#f8fafc; }
.bp-lbl { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; color:var(--teal); margin-bottom:8px; }
.bp-ttl { font-size:20px; font-weight:800; color:var(--navy); margin-bottom:6px; line-height:1.3; }
.bp-sub { font-size:13px; color:var(--g2); line-height:1.65; margin-bottom:24px; max-width:820px; }

/* Phase timeline */
.phase-row { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.phase-card {
  border-radius:14px; padding:24px; position:relative;
  border:1.5px solid var(--border); background:#fff;
}
.phase-card.ph1 { border-top:4px solid var(--teal); }
.phase-card.ph2 { border-top:4px solid var(--orange); }
.phase-card.ph3 { border-top:4px solid #8b5cf6; }
.phase-badge {
  font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em;
  padding:3px 10px; border-radius:20px; display:inline-block; margin-bottom:10px;
}
.ph1 .phase-badge { background:rgba(45,160,166,.12); color:var(--teal); }
.ph2 .phase-badge { background:rgba(255,102,0,.12); color:var(--orange); }
.ph3 .phase-badge { background:rgba(139,92,246,.12); color:#8b5cf6; }
.phase-title { font-size:15px; font-weight:800; color:var(--navy); margin-bottom:6px; }
.phase-period { font-size:10px; color:var(--g3); font-weight:600; margin-bottom:12px; }
.phase-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; }
.phase-list li { font-size:12px; color:var(--g2); display:flex; gap:7px; align-items:flex-start; line-height:1.5; }
.phase-list li::before { content:'→'; color:var(--teal); font-weight:700; flex-shrink:0; margin-top:1px; }
.phase-kpis { display:flex; gap:16px; margin-top:16px; padding-top:14px; border-top:1px solid var(--border); }
.phase-kpi-n { font-size:17px; font-weight:800; color:var(--navy); line-height:1; }
.phase-kpi-l { font-size:9px; color:var(--g3); margin-top:2px; }

/* Financial projections */
.fin-proj { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; }
.fin-table { width:100%; border-collapse:collapse; font-size:12px; }
.fin-table th { text-align:left; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--g3); padding:6px 10px; border-bottom:2px solid var(--border); }
.fin-table th:not(:first-child) { text-align:right; }
.fin-table td { padding:9px 10px; border-bottom:1px solid var(--border); color:var(--g1); }
.fin-table td:not(:first-child) { text-align:right; font-weight:600; }
.fin-table tr.total td { font-weight:800; color:var(--navy); background:#f0f9fa; }
.fin-table tr.total td:first-child { border-radius:6px 0 0 6px; }
.fin-table tr.total td:last-child { border-radius:0 6px 6px 0; }
.fin-yr-1 { color:#64748b; }
.fin-yr-2 { color:var(--orange); }
.fin-yr-3 { color:#7c3aed; }

/* Revenue bar chart */
.rev-bars { display:flex; flex-direction:column; gap:10px; }
.rev-bar-row { display:flex; align-items:center; gap:10px; }
.rev-bar-lbl { font-size:11px; font-weight:700; color:var(--g2); width:60px; flex-shrink:0; }
.rev-bar-wrap { flex:1; background:#e2e8f0; border-radius:4px; height:22px; overflow:hidden; }
.rev-bar { height:100%; border-radius:4px; display:flex; align-items:center; padding-left:8px; font-size:10px; font-weight:800; color:#fff; transition:width .6s ease; }
.rev-bar.yr1 { background:var(--teal); }
.rev-bar.yr2 { background:var(--orange); }
.rev-bar.yr3 { background:#7c3aed; }

/* Unit economics */
.ue-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ue-card { background:#fff; border-radius:12px; padding:20px; border:1.5px solid var(--border); }
.ue-card-lbl { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--g3); margin-bottom:8px; }
.ue-card-val { font-size:22px; font-weight:800; color:var(--navy); line-height:1; margin-bottom:4px; }
.ue-card-sub { font-size:11px; color:var(--g2); line-height:1.5; }
.ue-card-bar { height:4px; border-radius:2px; margin-top:10px; }

/* Risk table */
.risk-table { width:100%; border-collapse:collapse; font-size:12.5px; }
.risk-table th { text-align:left; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--g3); padding:8px 14px; border-bottom:2px solid var(--border); }
.risk-table td { padding:12px 14px; border-bottom:1px solid var(--border); vertical-align:top; line-height:1.55; }
.risk-table tr:last-child td { border-bottom:none; }
.risk-pill { font-size:9px; font-weight:800; padding:3px 9px; border-radius:20px; white-space:nowrap; }
.rp-high   { background:#fee2e2; color:#b91c1c; }
.rp-med    { background:#fef3c7; color:#b45309; }
.rp-low    { background:#dcfce7; color:#15803d; }

/* Funding strip */
.funding-row { display:flex; gap:18px; flex-wrap:wrap; }
.fund-card { flex:1; min-width:180px; background:#fff; border-radius:12px; padding:20px 22px; border:1.5px solid var(--border); }
.fund-card-lbl { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--g3); margin-bottom:6px; }
.fund-card-val { font-size:20px; font-weight:800; color:var(--navy); margin-bottom:4px; }
.fund-card-sub { font-size:11px; color:var(--g2); line-height:1.5; }
.fund-card.seeking { border-color:var(--teal); background:rgba(45,160,166,.04); }
.fund-card.seeking .fund-card-val { color:var(--teal); }

@media (max-width: 768px) {
  .bp-hero { flex-direction:column; padding:32px 20px; gap:24px; }
  .bp-hero-text h1 { font-size:22px; }
  .bp-kpi-row { margin-left:0; justify-content:center; gap:24px; }
  .bp-sec { padding:32px 20px; overflow-x:auto; }
  .phase-row { grid-template-columns:1fr; }
  .fin-proj  { grid-template-columns:1fr; gap:20px; }
  .ue-grid   { grid-template-columns:1fr 1fr; }
  .funding-row { gap:12px; }
  .fund-card { min-width:140px; }
}
