/* Readable body typography shared by the project page and dashboard. */
body{font-size:16px;line-height:1.65}
body :is(main,dialog,footer) :is(
  p,td,th,label,li,input,select,
  .notice,.panel-note,.kpi-label,.kpi-note,.tag,.tiny,
  .legend,.legend-item,.budget-row,.budget-row small,.budget-label,
  .definition,.table-bottom,.dialog-desc,.dialog-line,.dialog-notice,
  .growth-label,.growth-amount,.lever-owner,.timeline-item>span,
  .promo-condition,.promo-kpi>span,.promo-kpi small,.promo-card-top,
  .promo-specs span,.promo-specs strong,.promo-card-foot button,.promo-card-foot small,
  .scenario-big span,.scenario-meter-labels,.check-status,
  .hero-context,.hero-source-line,.hero-goal>span,.hero-card-bottom>div>span,
  .stage-values span,.donut-center span,.detail-stat span,
  .filter-chip,.btn,.stack-head,.stack-head b,.stack-head span,.stack-caption
){font-size:16px;line-height:1.65}
body :is(main,dialog) :is(.panel-head h2,.section-title h2,.stage h3,.insight h3,.promo-card h3,.lever h3,.data-card h3,.dialog-section h3){font-size:18px}
body.project-landing main .hero-statement{font-size:24px;line-height:1.5}
body :is(main,dialog) .budget-row small{width:46px}
body :is(main,dialog) .promo-card h3{min-height:0}
body :is(main,dialog) .promo-specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body :is(main,dialog) .growth-item{grid-template-columns:200px minmax(0,1fr) 100px}
body :is(main,dialog) .timeline-item{grid-template-columns:96px minmax(0,1fr)}
body :is(main,dialog) .scenario-big span{white-space:normal}
body :is(main,dialog) .promo-kpi{min-width:0}
body :is(main,dialog) .stack{min-height:32px}
body :is(main,dialog) .table-bottom{flex-wrap:wrap}
body :is(main,dialog) .detail-stat strong{font-size:23px}
@media(max-width:1000px){
 body :is(main,dialog) .growth-item{grid-template-columns:170px minmax(0,1fr) 96px}
}
@media(max-width:760px){
 body :is(main,dialog) .budget-body{grid-template-columns:1fr;gap:19px}
 body :is(main,dialog) .budget-row small{display:block}
 body :is(main,dialog) .donut{width:156px;height:156px}
 body :is(main,dialog) .promo-kpis{grid-template-columns:1fr}
 body :is(main,dialog) .growth-item{grid-template-columns:115px minmax(0,1fr) 90px;gap:9px}
 body :is(main,dialog) .timeline-item{grid-template-columns:90px minmax(0,1fr);gap:12px}
 body :is(main,dialog) .scenario-result{flex-direction:column;align-items:flex-start;gap:12px}
 body :is(main,dialog) .scenario-fields{grid-template-columns:1fr}
 body :is(main,dialog) .definition{grid-template-columns:100px minmax(0,1fr);gap:14px}
 body :is(main,dialog) .detail-stats{grid-template-columns:1fr}
 body :is(main,dialog) .detail-stat{padding:14px}
 body.project-landing main .hero-statement{font-size:22px}
}
