.insights-mode-switch,
.insights-rollup-switch{
  display:inline-flex;
  align-items:center;
  gap:0;
  padding:4px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--card) 88%,transparent);
}
.insights-mode-switch button,
.insights-rollup-switch button{
  min-height:36px;
  padding:0 12px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--ink);
  font:800 13px Manrope;
  cursor:pointer;
}
.insights-mode-switch button.active,
.insights-rollup-switch button.active{
  background:var(--green);
  color:#fff;
}
.insights-toolbar{
  grid-template-columns:minmax(140px,200px) minmax(180px,260px) auto auto 1fr;
  align-items:end;
}
.insights-toolbar #insightsRange{
  min-height:42px;
}
.spending-insight-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
}
.spending-insight-summary article{
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--card);
}
.spending-insight-summary small{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
}
.spending-insight-summary strong{
  display:block;
  margin-top:6px;
  font:800 1.35rem Manrope;
}
.spending-insight-summary span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
}
.spending-breakdown{
  display:grid;
  gap:6px;
  margin-top:16px;
}
.spending-breakdown-head,
.spending-breakdown-row{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(96px,0.7fr) 64px;
  gap:10px;
  align-items:center;
}
.spending-breakdown-head{
  padding:0 4px 4px;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
}
.spending-breakdown-head span:not(:first-child),
.spending-breakdown-row strong:not(:first-child),
.spending-breakdown-row .spending-breakdown-pct{
  text-align:right;
}
.spending-breakdown-row{
  width:100%;
  padding:10px 8px;
  border:0;
  border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.spending-breakdown-row:hover,
.spending-breakdown-row:focus-visible{
  background:color-mix(in srgb,var(--green) 7%,transparent);
}
.spending-breakdown-row.is-uncategorized{
  background:color-mix(in srgb,var(--coral) 8%,transparent);
}
.spending-breakdown-row small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
}
.spending-breakdown-children{
  display:grid;
  margin:0 0 4px 16px;
}
.insight-card .mode-label{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
@media(max-width:900px){
  .insights-toolbar{grid-template-columns:1fr 1fr}
  .spending-insight-summary{grid-template-columns:1fr}
}
@media(max-width:560px){
  .spending-breakdown-head{display:none}
  .spending-breakdown-row{grid-template-columns:1fr auto;gap:8px}
  .spending-breakdown-row .spending-breakdown-pct{grid-column:2;grid-row:1}
}
