/* Riepiloghi. Gli stili si applicano esclusivamente ai riquadri decorati dal modulo. */
body.app-polish #view .ds-summary-card {
  --ds-tone:var(--accent);
  position:relative; isolation:isolate; container-type:inline-size; overflow:hidden;
  border-radius:24px; padding:20px;
  border:1px solid color-mix(in srgb,var(--ds-tone) 23%,var(--border));
  background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--ds-tone) 10%,transparent),transparent 75%),color-mix(in srgb,var(--surface) 94%,transparent);
  color:var(--ink); box-shadow:var(--shadow);
}
body.app-polish #view .ds-summary-main { padding:24px; }
body.app-polish #view .ds-summary-balance { color:var(--ds-tone); background:radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--ds-tone) 17%,transparent),transparent 80%),var(--surface); }
body.app-polish #view .ds-summary-loss { --ds-tone:var(--bad-ink); }
body.app-polish #view .ds-summary-unknown { --ds-tone:var(--ink-2); }
body.app-polish #view .ds-summary-card > :is(.label,.value,.foot) { position:relative; z-index:1; }
body.app-polish #view .ds-summary-card > .label { font-size:13px; font-weight:500; text-transform:none; letter-spacing:0; color:var(--ink-2); gap:10px; align-items:center; line-height:1.4; overflow-wrap:anywhere; }
.ds-summary-icon { display:inline-grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border-radius:10px; color:var(--accent); background:var(--accent-soft); vertical-align:middle; }
.ds-summary-icon svg { width:17px; height:17px; }
body.app-polish #view .ds-summary-main > .value { font-size:clamp(26px,5vw,48px); line-height:1.12; font-weight:550; letter-spacing:-.045em; font-variant-numeric:tabular-nums; margin:18px 0 12px; overflow:visible; text-overflow:clip; }
@supports (font-size:1cqi) {
  body.app-polish #view .ds-summary-main > .value { font-size:clamp(22px,calc((100cqi - 6px) / var(--ds-value-chars,7) * 1.65),48px); }
}
body.app-polish #view .ds-summary-card > .foot { font-size:12px; line-height:1.5; color:var(--ink-2); }
body.app-polish #view .ds-summary-card .kpi-d-s { color:var(--ink-2); }
body.app-polish #view .ds-summary-card .kpi-d { font-size:12px; line-height:1.5; }
body.app-polish #view .ds-summary-card .kpi-ctx { margin-top:12px; }
body.app-polish #view .ds-summary-card.kpi-minor { padding:18px; }
body.app-polish #view .ds-summary-card.kpi-minor > .value { font-size:23px; font-weight:550; letter-spacing:-.035em; color:var(--ink); margin:12px 0 8px; font-variant-numeric:tabular-nums; }
body.app-polish #view .ds-summary-unknown > .value { color:var(--muted); font-size:26px; }
body.app-polish #view .ds-summary-balance .ds-summary-icon { color:var(--ds-tone); background:color-mix(in srgb,var(--ds-tone) 12%,var(--surface)); }
.ds-summary-watermark { position:absolute; right:12px; top:38px; width:94px; height:94px; z-index:0; color:var(--ds-tone,var(--accent)); opacity:.065; pointer-events:none; }
.ds-summary-watermark svg { display:block; width:100%; height:100%; stroke-width:1; }
body.app-polish #view .ds-summary-card.kpi-minor .ds-summary-watermark { width:70px; height:70px; top:auto; bottom:0; }
body.app-polish #view :is(.ds-average-card,.ds-budget-card) { position:relative; isolation:isolate; border-radius:24px; border-color:color-mix(in srgb,var(--accent) 20%,var(--border)); background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 75%),var(--surface); box-shadow:var(--shadow); }
body.app-polish #view :is(.ds-average-card,.ds-budget-card) > :not(.ds-summary-watermark):not(.fake-tag) { position:relative; z-index:1; }
body.app-polish #view .ds-average-card h2 { display:flex; align-items:center; gap:10px; font-size:17px; font-weight:550; }
body.app-polish #view .ds-average-card .daily-average-value { font-size:clamp(36px,5vw,46px); color:var(--ink); }
body.app-polish #view .ds-average-card > .ds-summary-watermark { top:60px; right:24px; width:120px; height:120px; opacity:.045; }
body.app-polish #view .ds-average-card .daily-average-table { border-collapse:separate; border-spacing:0 8px; }
body.app-polish #view .ds-average-card .daily-average-table tbody tr { background:color-mix(in srgb,var(--surface-2) 70%,transparent); }
body.app-polish #view .ds-average-card .daily-average-table tbody th { font-weight:500; }
body.app-polish #view .ds-average-card .daily-average-table tbody tr > :first-child { padding-left:10px; border-radius:12px 0 0 12px; }
body.app-polish #view .ds-average-card .daily-average-table tbody tr > :last-child { padding-right:10px; border-radius:0 12px 12px 0; }
body.app-polish #view .ds-budget-card > .ds-summary-watermark { top:14px; right:16px; width:80px; height:80px; opacity:.045; }
/* La barra del budget conserva integralmente colori, proporzioni, stati e comandi. */
@supports (backdrop-filter:blur(8px)) { body.app-polish #view .ds-summary-card { backdrop-filter:blur(8px); } }
@media (max-width:599px) {
  body.app-polish #view .ds-summary-main { padding:18px 16px; }
  body.app-polish #view .ds-summary-main > .label { align-items:flex-start; gap:8px; }
  body.app-polish #view .ds-summary-main .ds-summary-icon { width:26px; height:26px; flex-basis:26px; border-radius:9px; }
  body.app-polish #view .ds-summary-card.kpi-minor { padding:14px 16px; column-gap:12px; }
  body.app-polish #view .ds-summary-card.kpi-minor > .value { margin:0; font-size:21px; }
  body.app-polish #view .ds-summary-card.kpi-minor .ds-summary-icon { width:26px; height:26px; flex-basis:26px; }
  body.app-polish #view .ds-summary-card.kpi-minor > .foot { margin-left:36px; margin-top:4px; }
  body.app-polish #view .ds-summary-card.kpi-minor .ds-summary-watermark { width:60px; height:60px; opacity:.045; }
  body.app-polish #view .ds-average-card .daily-average-change { width:100%; }
}
@media (prefers-reduced-motion:reduce) { body.app-polish #view .ds-summary-card { transition:none!important; } }

/* Il totale resta entro l'altezza della scheda originale affiancata. */
@media (min-width:600px) {
  body.app-polish #view .ds-summary-family { padding:14px 20px; }
  body.app-polish #view .ds-summary-family > .value { font-size:44px; margin:12px 0 8px; }
  body.app-polish #view .ds-summary-family .ds-summary-icon { width:26px; height:26px; flex-basis:26px; }
  body.app-polish #view .ds-summary-family .kpi-ctx { margin-top:6px; }
}

body.app-polish #view .ds-summary-icon svg { color:inherit; width:17px; height:17px; }

/* Anteprima: il salvadanaio resta decorativo e dietro ai valori leggibili. */
body.app-polish #view .ds-summary-balance > .ds-summary-watermark { width:112px; height:112px; top:44px; right:2px; opacity:.09; }

/* Analisi: stessi riepiloghi delle altre sezioni, approfondimenti a richiesta. */
.an-view .an-overview { margin:16px 0; }
.an-view .an-detail { margin-top:14px; align-self:start; min-width:0; }
.an-view details.an-detail { padding:0; border:1px solid var(--border); border-radius:24px; background:var(--surface); box-shadow:var(--shadow); overflow:hidden; }
.an-view .an-detail > summary, .an-view .an-table-detail > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; list-style:none; min-height:64px; padding:20px; color:var(--ink); }
.an-view summary::-webkit-details-marker { display:none; }
.an-view .an-detail > summary h2 { margin:0; font-size:17px; font-weight:550; line-height:1.4; letter-spacing:-.025em; }
.an-view summary > svg { width:18px; height:18px; flex-shrink:0; color:var(--muted); transition:transform .15s ease; }
.an-view details[open] > summary > svg { transform:rotate(90deg); }
.an-view summary:focus-visible, .an-view .an-history [role="button"]:focus-visible { outline:2px solid var(--accent); outline-offset:-4px; border-radius:12px; }
.an-view .an-panel { padding:0 20px 20px; }
.an-view .an-panel > .card-head:empty { display:none; }
.an-view .an-history > .an-panel { max-height:440px; max-height:min(65vh,440px); overflow-y:auto; overscroll-behavior:contain; }
.an-view > .an-history { margin:20px 0!important; }
.an-view > .an-history + .card { margin-top:20px!important; }
.an-view .an-history .list-item { gap:16px; min-height:64px; }
.an-view .an-history .list-item .main { min-width:0; }
.an-view .an-history .list-item > :last-child { flex-shrink:0; font-variant-numeric:tabular-nums; }
.an-view .an-history .list-item .s { white-space:normal; overflow-wrap:anywhere; }
.an-view .an-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body.app-polish .an-view .an-metrics .kpi { padding:16px; min-width:0; background:var(--surface-2); border:1px solid var(--border); box-shadow:none; }
body.app-polish .an-view .an-metrics .kpi .label { font-size:12px; white-space:normal; }
body.app-polish .an-view .an-metrics .kpi .value { font-size:24px; color:var(--ink); letter-spacing:-.035em; margin:12px 0 8px; }
.an-view .an-metrics .foot { font-size:12px; color:var(--ink-2); }
.an-view .an-table-detail { margin-top:12px; border-top:1px solid var(--border); }
.an-view .an-table-detail > summary { padding:14px 0; font-size:13px; min-height:48px; }
.an-view .an-panel .chart-box { min-width:0; }
@media (hover:hover) { .an-view summary:hover { background:var(--accent-soft); } }
@media (min-width:1200px) {
  .an-view .an-members > .an-detail { grid-column:auto; }
  .an-view:has(.an-personal) .an-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:599px) {
  .an-view .an-metrics { grid-template-columns:minmax(0,1fr); }
  body.app-polish .an-view .an-metrics .kpi { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; }
  body.app-polish .an-view .an-metrics .kpi .value { grid-column:2; grid-row:1/3; align-self:center; margin:0; font-size:22px; }
  .an-view .an-metrics .kpi .foot { grid-column:1; }
  .an-view .an-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
  .an-view .an-table, .an-view .an-table tbody { display:block; width:100%; }
  .an-view .an-table tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px; margin:10px 0; background:var(--surface-2); border:1px solid var(--border); border-radius:16px; }
  .an-view .an-table td { display:flex; flex-direction:column; gap:5px; padding:0; border:0; text-align:left; white-space:normal; min-width:0; overflow-wrap:anywhere; }
  .an-view .an-table td::before { content:attr(data-label); font-size:11px; color:var(--ink-2); font-weight:450; }
}
@media (prefers-reduced-motion:reduce) { .an-view summary > svg { transition:none; } }

/* Storico annuale: solo l'anno corrente mostra subito le righe mensili. */
.an-view .an-history > .an-panel { padding:0; max-height:none; overflow:visible; }
.an-view .an-year > .list { max-height:360px; max-height:min(50vh,360px); overflow-y:auto; overscroll-behavior:contain; }
.an-view .an-year { border-top:1px solid var(--border); }
.an-view .an-year > summary { display:flex; align-items:center; gap:12px; min-height:64px; padding:14px 0; cursor:pointer; list-style:none; }
.an-view .an-year .main { flex:1; min-width:0; }
.an-view .an-year .s { display:block; font-size:12px; color:var(--muted); margin-top:4px; }
.an-view .an-year-total { text-align:right; font-variant-numeric:tabular-nums; }
.an-view .an-year button.list-item { width:100%; background:transparent; border:0; border-top:1px solid var(--border); border-radius:0; color:var(--ink); font:inherit; text-align:left; }
.an-view .an-year button.list-item > :last-child { text-align:right; }
.an-view .an-year button.list-item .t { display:block; }
