.ei-selector-panel {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(150px, 220px);
  gap: 14px;
  margin: 28px 0 24px;
}

.ei-field label { display: block; margin: 0 0 8px 2px; color: var(--soft-ink); font-size: .875rem; font-weight: 650; }
.ei-field select { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--ink); box-shadow: 0 5px 20px rgba(20,42,67,.04); }
.ei-field select:focus-visible { outline: 3px solid rgba(52,127,172,.25); outline-offset: 2px; }

.ei-heading { margin: 0 0 15px; }
.ei-heading h2 { margin: 0 0 6px; font-size: clamp(1.45rem,3vw,1.95rem); font-weight: 680; letter-spacing: -.035em; }
.ei-heading p { margin: 0; color: var(--soft-ink); font-size: .875rem; }

.ei-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.ei-stat { min-height: 145px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); box-shadow: var(--shadow); }
.ei-stat-value { margin-top: 11px; color: var(--navy); font-size: clamp(1.8rem,4vw,2.8rem); font-weight: 680; letter-spacing: -.055em; line-height: 1; }
.ei-stat-context { margin: 11px 0 0; color: var(--soft-ink); font-size: .78rem; line-height: 1.45; }

.ei-main-grid { display: grid; grid-template-columns: minmax(430px,1.1fr) minmax(360px,.9fr); gap: 16px; margin-top: 16px; align-items: start; }
.ei-card { padding: 21px; }
.ei-card h3 { margin: 0; font-size: 1.08rem; font-weight: 680; }
.ei-panel-intro { margin: 5px 0 0; color: var(--soft-ink); font-size: .875rem; line-height: 1.45; }

.status-strip { display: flex; height: 18px; overflow: hidden; margin-top: 22px; border-radius: 999px; background: var(--panel-soft); }
.status-strip span:nth-child(1) { background: var(--navy); }
.status-strip span:nth-child(2) { background: var(--blue); }
.status-strip span:nth-child(3) { background: var(--warm); }
.status-strip span:nth-child(4) { background: #a9bdc9; }
.ei-bars { display: grid; gap: 14px; margin-top: 22px; }
.ei-row { display: grid; grid-template-columns: 165px minmax(110px,1fr) 138px; gap: 13px; align-items: center; }
.ei-name { font-size: .86rem; line-height: 1.25; }
.ei-track { height: 11px; overflow: hidden; border-radius: 999px; background: var(--panel-soft); }
.ei-fill { width: var(--bar-width); height: 100%; border-radius: inherit; background: var(--blue); transition: width 220ms ease; }
.ei-row[data-tone="navy"] .ei-fill { background: var(--navy); }
.ei-row[data-tone="warm"] .ei-fill { background: var(--warm); }
.ei-row[data-tone="soft"] .ei-fill { background: #8da6b5; }
.ei-value { color: var(--soft-ink); font-size: .78rem; text-align: right; white-space: nowrap; }
.ei-value strong { color: var(--ink); font-weight: 680; }

.trend-groups { display: grid; gap: 24px; margin-top: 20px; }
.trend-group h4 { margin: 0 0 12px; font-size: .86rem; font-weight: 680; }
.trend-years { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.trend-year { padding: 12px 10px; border-radius: 11px; background: var(--panel-soft); text-align: center; }
.trend-year span { display: block; color: var(--soft-ink); font-size: .74rem; }
.trend-year strong { display: block; margin-top: 6px; color: var(--navy); font-size: 1.15rem; }
.trend-change { margin: 11px 0 0; color: var(--soft-ink); font-size: .78rem; }
.trend-change strong { color: var(--ink); }

.income-card, .industry-card { margin-top: 16px; }
.income-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 30px; margin-top: 22px; }
.income-item { display: grid; grid-template-columns: minmax(120px,1fr) 115px; gap: 10px; align-items: center; }
.income-label { font-size: .84rem; }
.income-value { color: var(--soft-ink); font-size: .76rem; text-align: right; }
.income-track { grid-column: 1/-1; height: 8px; overflow: hidden; margin-top: -5px; border-radius: 999px; background: var(--panel-soft); }
.income-track span { display: block; width: var(--bar-width); height: 100%; border-radius: inherit; background: var(--blue); }

.industry-list { display: grid; gap: 13px; margin-top: 22px; }
.industry-row { display: grid; grid-template-columns: minmax(210px,1fr) minmax(150px,1.15fr) 135px; gap: 14px; align-items: center; }
.industry-label { font-size: .84rem; line-height: 1.25; }
.industry-track { height: 10px; overflow: hidden; border-radius: 999px; background: var(--panel-soft); }
.industry-track span { display: block; width: var(--bar-width); height: 100%; border-radius: inherit; background: var(--navy); }
.industry-value { color: var(--soft-ink); font-size: .78rem; text-align: right; white-space: nowrap; }

.ei-notes { margin-top: 16px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.7); }
.ei-notes summary { color: var(--navy); font-size: .9rem; font-weight: 680; }
.ei-notes p { margin: 12px 0 0; color: var(--soft-ink); font-size: .84rem; line-height: 1.55; }

@media (max-width: 980px) {
  .ei-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ei-main-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .ei-selector-panel, .income-grid { grid-template-columns: 1fr; }
  .ei-row { grid-template-columns: 118px minmax(90px,1fr); gap: 10px; }
  .ei-value { grid-column: 2; margin-top: -6px; text-align: left; }
  .industry-row { grid-template-columns: 125px minmax(90px,1fr); gap: 10px; }
  .industry-value { grid-column: 2; margin-top: -6px; text-align: left; }
}

@media (max-width: 430px) {
  .ei-stat-grid { grid-template-columns: 1fr; }
  .ei-stat { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .ei-fill { transition: none; }
}
