.financial-health-panel { margin: 28px 0; padding: 28px; }
.financial-health-panel [hidden] { display: none !important; }
.fhs-panel-header { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.fhs-panel-header h2 { margin: 0 0 8px; }
.fhs-panel-header p { margin: 0; color: var(--text-secondary, #616161); }
.fhs-local-badge { white-space: nowrap; padding: 6px 10px; border-radius: 999px; background: #e8f5e9; color: #1b5e20; font-size: .8rem; font-weight: 700; }
.fhs-profile-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 14px; align-items: end; margin: 24px 0; }
.fhs-profile-form label { display: grid; gap: 6px; font-weight: 600; }
.fhs-profile-form small { font-weight: 400; color: #616161; }
.fhs-profile-form input { width: 100%; box-sizing: border-box; padding: 10px; }
.fhs-output { display: grid; grid-template-columns: 150px 1fr; gap: 28px; align-items: start; }
.fhs-result-score { width: 130px; height: 130px; display: grid; place-items: center; border-radius: 50%; background: var(--primary, #1565c0); color: #fff; font-size: 2.6rem; font-weight: 800; }
.fhs-result-score::after { content: '/100'; font-size: .8rem; display: block; margin-top: -38px; }
.fhs-components { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.fhs-components li { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; }
.fhs-components progress { grid-column: 1 / -1; width: 100%; accent-color: var(--primary, #1565c0); }
.fhs-actions-wrap { grid-column: 1 / -1; background: #f5f9ff; padding: 18px; border-radius: 10px; }
.fhs-actions-wrap h3 { margin-top: 0; }
.fhs-actions { margin-bottom: 0; padding-left: 22px; }
.fhs-disclaimer { grid-column: 1 / -1; color: #616161; font-size: .8rem; }
.fhs-empty { padding: 14px; background: #fff8e1; border-radius: 8px; }
@media (max-width: 800px) {
  .fhs-profile-form { grid-template-columns: 1fr; }
  .fhs-output { grid-template-columns: 1fr; }
  .fhs-result-score { margin-inline: auto; }
  .fhs-panel-header { flex-direction: column; }
}
