.soul-home { color: #243247; padding-bottom: 2rem; }
.soul-home-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 1rem; }
.soul-home h1 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; margin: 0 0 .5rem; color: #182a40; }
.soul-home h2 { font-size: 1.15rem; font-weight: 800; margin-bottom: .5rem; }
.soul-home-eyebrow { font-size: .75rem; font-weight: 800; letter-spacing: .12em; color: #52637b; margin-bottom: .5rem; }
.soul-home-muted, .soul-home-card-hint, .soul-home-status, .soul-home-scale { color: #596a7e; font-size: .85rem; }
.soul-home-period { display: flex; align-items: flex-end; flex-wrap: wrap; gap: .6rem; }
.soul-home-period label { display: flex; flex-direction: column; gap: .35rem; font-size: .85rem; font-weight: 700; margin: 0; }
.soul-home-period select, .soul-home-period input { border: 1px solid #cbd5e1; border-radius: .5rem; background: white; color: #243247; padding: .6rem; min-height: 2.7rem; }
.soul-home-period input { width: 6rem; }
.soul-home-button { border: 1px solid #cbd5e1; border-radius: .5rem; background: white; padding: .6rem 1rem; color: #254b85; font: inherit; cursor: pointer; }
.soul-home-primary { background: #254f9d; color: white; border-color: #254f9d; }
.soul-home button:disabled { opacity: .65; cursor: wait; }
.soul-home button:focus-visible, .soul-home input:focus-visible, .soul-home select:focus-visible { outline: 3px solid #8caddc; outline-offset: 3px; }
.soul-home-period-title { font-size: .85rem; font-weight: 700; margin: 1.25rem 0 .75rem; }
.soul-home-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.soul-home-card { display: flex; flex-direction: column; gap: .5rem; text-align: left; border: 1px solid #e0e6ee; border-radius: .85rem; padding: 1.15rem; background: white; color: inherit; cursor: pointer; box-shadow: 0 2px 5px #20345405; }
.soul-home-card:hover { border-color: #7c9dcc; box-shadow: 0 4px 12px #20345412; }
.soul-home-card-title { font-size: .85rem; font-weight: 700; }
.soul-home-card-value { font-size: clamp(1.25rem, 2vw, 1.65rem); color: #172c47; overflow-wrap: anywhere; }
.soul-home-card-quantity { font-size: .85rem; font-weight: 700; color: #42566f; }
.soul-home-card-link { color: #254f9d; font-size: .8rem; font-weight: 700; margin-top: auto; }
.soul-home-warning { border-left: 3px solid #bd6621; }
.soul-home-result { display: flex; align-items: baseline; flex-wrap: wrap; gap: .65rem 1.5rem; background: #eaf1fa; border-radius: .7rem; padding: 1rem 1.25rem; margin-top: 1rem; }
.soul-home-result strong { font-size: 1.35rem; }
.soul-home-result small { flex-basis: 100%; color: #42566f; }
.soul-home-charts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 1rem; margin: 1.5rem 0; }
.soul-home-panel { min-width: 0; border: 1px solid #e0e6ee; border-radius: .85rem; background: white; padding: 1.25rem; }
.soul-home-legend { display: flex; gap: 1rem; font-size: .8rem; margin: 1rem 0; }
.soul-home-legend span::before { content: ""; display: inline-block; width: .65rem; height: .65rem; margin-right: .4rem; background: #386fc1; border-radius: 2px; }
.soul-home-legend .soul-home-series-1::before { background: #7b8fa6; }
.soul-home-chart-scroll { overflow-x: auto; }
.soul-home-bars { display: flex; align-items: flex-end; gap: 6px; height: 200px; padding: 0 3px; }
.soul-home-bar-group { flex: 1; height: 100%; min-width: 19px; display: flex; flex-direction: column; justify-content: flex-end; }
.soul-home-bar-columns { display: flex; gap: 2px; align-items: flex-end; height: 175px; border-bottom: 1px solid #d6deea; background: repeating-linear-gradient(to top, transparent 0, transparent 43px, #eef1f6 43px, #eef1f6 44px); }
.soul-home-bar { width: 100%; background: #386fc1; border-radius: 3px 3px 0 0; }
.soul-home-bar.soul-home-series-1 { background: #7b8fa6; }
.soul-home-bar-label { font-size: .7rem; text-align: center; padding-top: .4rem; color: #596a7e; }
.soul-home-scale { text-align: right; margin-bottom: .35rem; font-size: .75rem; }
.soul-home-chart-data { font-size: .8rem; margin-top: 1rem; max-height: 260px; overflow: auto; }
.soul-home-chart-data summary { cursor: pointer; color: #254f9d; padding: .35rem; }
.soul-home-chart-data table { width: 100%; }
.soul-home-chart-data th, .soul-home-chart-data td { padding: .4rem; border-bottom: 1px solid #e0e6ee; }
.soul-home-attention-row { display: grid; grid-template-columns: 1fr auto; width: 100%; align-items: center; gap: .25rem 1rem; padding: .9rem .6rem; text-align: left; border: 0; border-bottom: 1px solid #e5eaf1; background: white; color: inherit; cursor: pointer; }
.soul-home-attention-row:hover { background: #f6f8fc; }
.soul-home-attention-row .soul-home-card-value { grid-column: 2; grid-row: 1 / 3; font-size: 1.35rem; }
.soul-home-attention-row .soul-home-card-link { grid-column: 1 / 3; }
.soul-home-alerts { margin-top: 1.25rem; }
.soul-home-attention-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: .75rem; }
.soul-home-attention-grid .soul-home-attention-row { border: 1px solid #e5eaf1; border-radius: .5rem; padding: .85rem; }
.soul-home-attention-grid .soul-home-warning { border-left: 3px solid #bd6621; }
.soul-home-shortcuts { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0 0; }
.soul-home-empty { padding: 1rem; color: #596a7e; background: #f6f8fc; border-radius: .5rem; font-size: .9rem; }
.soul-home-error { padding: 1rem; background: #fff0ed; color: #9b3020; border: 1px solid #e6b9b0; border-radius: .5rem; }
.soul-home-filter-note { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; background: #eaf1fa; color: #243247; border-radius: .5rem; padding: .75rem 1rem; margin-bottom: 1rem; }
.soul-home-page footer.fixed-bottom { position: static; width: auto; }
@media (max-width: 1199px) {
  .soul-home-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .soul-home { padding-left: 1rem; padding-right: 1rem; }
  .soul-home-header, .soul-home-period { width: 100%; }
  .soul-home-cards { grid-template-columns: 1fr; gap: .75rem; }
  .soul-home-card { padding: 1rem; }
  .soul-home-panel { padding: 1rem; }
}
