/* analisi-clienti: analisi dei clienti in calo per periodi equiparabili (16/10/2026). Tutto sotto .ac-root (finestra /report/churn). */
.modal.lg:has(.ac-root){max-width:1180px}
.ac-root{--ac-calo:#c43d3d; --ac-persa:#8f2424; --ac-stabile:#6b7689; --ac-crescita:#23864f; --ac-nuova:#2f6fc0;
  --ac-a:var(--accent-2); --ac-b:#7fc4bd; --ac-x:#c9d6e3; --ac-prima:#b8c1ce}

/* comandi */
.ac-root .ac-filtri{display:grid; gap:10px; margin-bottom:12px}
.ac-root .ac-blocco{border:1px solid var(--line); border-radius:var(--radius); padding:10px 14px 12px; margin:0; background:var(--surface-2)}
.ac-root .ac-blocco legend{display:inline-flex; align-items:center; gap:6px; padding:0 6px; font-weight:600; font-size:.86em; color:var(--ink-2)}
.ac-root .ac-riga{display:grid; grid-template-columns:minmax(200px,1.3fr) repeat(2,minmax(140px,1fr)) minmax(170px,1fr); gap:10px 12px; align-items:end}
.ac-root .ac-riga:has(.ac-coppia:not([hidden])){grid-template-columns:minmax(200px,1.1fr) minmax(250px,1.4fr) minmax(250px,1.4fr) minmax(160px,1fr)}
.ac-root .ac-riga-filtri{grid-template-columns:repeat(6,minmax(0,1fr))}
.ac-root .ac-f{min-width:0}
.ac-root .ac-f[hidden],.ac-root .ac-chips[hidden]{display:none}
.ac-root .ac-f select,.ac-root .ac-f input{padding:7px 9px; height:38px}
.ac-root .ac-date{display:flex; align-items:center; gap:6px}
.ac-root .ac-date span{color:var(--muted)}
.ac-root .ac-spieg{margin:8px 0 6px; font-size:.84em}
.ac-root .ac-chips{display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:.85em}
.ac-root .ac-chip{background:var(--surface); color:var(--ink-2); border:1px solid var(--line-2); border-radius:20px; padding:4px 11px; font-weight:500; font-size:.95em}
.ac-root .ac-chip:hover{border-color:var(--accent); color:var(--accent-2); filter:none}
.ac-root .ac-chip.on{background:var(--accent-soft); border-color:var(--accent); color:var(--accent-2); font-weight:600}
.ac-root .ac-azioni{display:flex; justify-content:flex-end; align-items:center; gap:16px; margin-top:10px}
.ac-root .ac-azioni button{display:inline-flex; align-items:center; gap:6px; height:38px}
.ac-root .ac-check{display:inline-flex; align-items:center; gap:7px; margin:0; font-size:.9em; cursor:pointer}
.ac-root .ac-check input{width:auto; height:auto; margin:0}

/* avvisi (mese in corso, periodo allungato…) */
.ac-root .ac-avviso{display:flex; gap:8px; align-items:flex-start; margin:0 0 8px; padding:8px 12px; border-radius:var(--radius-s);
  background:#fff6e5; border:1px solid #f0d49b; color:#7a5310; font-size:.88em}
.ac-root .ac-avviso .ico{margin-top:2px; color:#b7791f}

/* sezioni */
.ac-root .ac-sez{margin:16px 0 4px}
.ac-root .ac-h{font-size:.98em; margin:0 0 8px; display:flex; align-items:center; gap:8px}
.ac-root .ac-n{font-size:.8em; background:var(--surface-2); border:1px solid var(--line); border-radius:20px; padding:0 9px; font-weight:600}
.ac-root .ac-nota{font-size:.82em; margin:6px 0}
.ac-root .ac-piede{font-size:.78em; margin-top:10px}
.ac-root .ac-confronto{display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; margin:0 0 10px; font-size:.92em}
.ac-root .ac-per{display:inline-flex; gap:6px; align-items:center; padding:3px 10px; border-radius:20px; border:1px solid var(--line-2); background:var(--surface)}
.ac-root .ac-per b{display:inline-grid; place-items:center; width:18px; height:18px; border-radius:50%; font-size:.78em; color:#fff}
.ac-root .ac-per-a b{background:var(--ac-a)} .ac-root .ac-per-b b{background:var(--ac-stabile)}
.ac-root .ac-per em{font-style:normal; color:#9a641a; font-weight:600}
.ac-root .ac-filtri-desc{font-size:.9em}

/* schede dei numeri chiave */
.ac-root .ac-cards{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px}
.ac-root .ac-card{display:flex; flex-direction:column; align-items:flex-start; gap:3px; text-align:left; background:var(--surface); color:var(--ink);
  border:1px solid var(--line); border-radius:var(--radius); padding:10px 12px; font-weight:400; box-shadow:var(--shadow)}
.ac-root .ac-card:hover{border-color:var(--accent); filter:none}
.ac-root .ac-card.on{border-color:var(--accent); box-shadow:inset 0 3px 0 var(--accent), var(--shadow)}
.ac-root .ac-card-lbl{font-size:.8em; color:var(--ink-2); font-weight:600}
.ac-root .ac-card-v{font:600 1.45em/1.15 "IBM Plex Mono",ui-monospace,monospace; font-variant-numeric:tabular-nums}
.ac-root .ac-card-b{font-size:.8em}
.ac-root .ac-card .ac-st{margin-top:3px}

/* stato = forma + parola */
.ac-root .ac-st{display:inline-flex; align-items:center; gap:5px; font-size:.82em; font-weight:600; white-space:nowrap; padding:1px 8px 1px 6px; border-radius:20px; background:var(--surface-2); border:1px solid var(--line)}
.ac-root .ac-st b{font-family:"IBM Plex Mono",monospace; font-weight:600}
.ac-root .ac-st i{display:inline-block; width:0; height:0; flex:0 0 auto}
.ac-root .ac-st.ac-calo{color:var(--ac-calo); background:#fdeeee; border-color:#f3c6c6}
.ac-root .ac-st.ac-calo i{border-left:5px solid transparent; border-right:5px solid transparent; border-top:7px solid currentColor}
.ac-root .ac-st.ac-persa{color:#fff; background:var(--ac-persa); border-color:var(--ac-persa)}
.ac-root .ac-st.ac-persa i{width:8px; height:8px; background:currentColor; border-radius:1px}
.ac-root .ac-st.ac-stabile{color:var(--ac-stabile)}
.ac-root .ac-st.ac-stabile i{width:10px; height:3px; background:currentColor; border-radius:2px}
.ac-root .ac-st.ac-crescita{color:var(--ac-crescita); background:#eaf6ef; border-color:#bfe2cc}
.ac-root .ac-st.ac-crescita i{border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:7px solid currentColor}
.ac-root .ac-st.ac-nuova{color:var(--ac-nuova); background:#ebf2fc; border-color:#c3d6f2}
.ac-root .ac-st.ac-nuova i{width:8px; height:8px; border:2px solid currentColor; border-radius:50%}

/* distribuzione */
.ac-root .ac-distr{margin-top:12px; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface)}
.ac-root .ac-distr-t{margin:0 0 6px; font-size:.88em}
.ac-root .ac-distr-bar{display:block; width:100%; height:14px; border-radius:4px; overflow:hidden; background:var(--surface-2)}
.ac-root .ac-d-calo{fill:var(--ac-calo)} .ac-root .ac-d-persa{fill:var(--ac-persa)} .ac-root .ac-d-stabile{fill:var(--ac-x)}
.ac-root .ac-d-crescita{fill:var(--ac-crescita)} .ac-root .ac-d-nuova{fill:var(--ac-nuova)}
.ac-root .ac-distr-l{list-style:none; margin:8px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px 18px; font-size:.88em}
.ac-root .ac-distr-l li{display:inline-flex; align-items:center; gap:6px}

/* grafico */
.ac-root .ac-legenda{display:flex; flex-wrap:wrap; gap:6px 16px; font-size:.8em; margin:0 0 6px; align-items:center}
.ac-root .ac-legenda span{display:inline-flex; align-items:center; gap:6px}
.ac-root .ac-sw{display:inline-block; width:12px; height:12px; border-radius:3px}
.ac-root .ac-sw-a,.ac-root .ac-sw-ora{background:var(--ac-a)} .ac-root .ac-sw-b{background:var(--ac-b)} .ac-root .ac-sw-x{background:var(--ac-x)}
.ac-root .ac-sw-prima{background:var(--ac-prima)}
.ac-root .ac-sw-parz{background:repeating-linear-gradient(45deg,var(--ac-a) 0 2px,#d9efec 2px 5px)}
.ac-root .ac-chart-wrap{border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); padding:6px 8px 2px}
.ac-root .ac-chart{display:block; width:100%; height:auto; max-height:300px; font-family:"IBM Plex Sans",system-ui,sans-serif}
.ac-root .ac-grid{stroke:var(--line); stroke-width:1}
.ac-root .ac-ax{fill:var(--muted); font-size:11px}
.ac-root .ac-val{fill:var(--ink-2); font-size:11px; font-weight:600}
.ac-root .ac-lbl{fill:var(--ink-2); font-size:12px}
.ac-root .ac-lbl-a{font-weight:700; fill:var(--ink)}
.ac-root .ac-parz-t{fill:#9a641a; font-size:10.5px; font-style:italic}
.ac-root .ac-var{font-size:11.5px; font-weight:700; font-family:"IBM Plex Mono",monospace}
.ac-root .ac-var.ac-calo,.ac-root .ac-sg.ac-calo{fill:var(--ac-calo)}
.ac-root .ac-var.ac-crescita,.ac-root .ac-sg.ac-crescita{fill:var(--ac-crescita)}
.ac-root .ac-var.ac-stabile,.ac-root .ac-sg.ac-stabile{fill:var(--ac-stabile)}
.ac-root .ac-b{fill:var(--ac-x)} .ac-root .ac-b-b{fill:var(--ac-b)} .ac-root .ac-b-a{fill:var(--ac-a)}
.ac-root .ac-b-prima{fill:var(--ac-prima)} .ac-root .ac-b-ora{fill:var(--ac-a)}
.ac-root .ac-parz{fill:url(#ac-tratt); stroke:var(--ac-a); stroke-width:1.2; stroke-dasharray:3 2}
.ac-root .ac-tratt-bg{fill:#d9efec} .ac-root .ac-tratt-ln{stroke:var(--ac-a); stroke-width:3}
.ac-root .ac-hit{fill:transparent}
.ac-root .ac-click{cursor:pointer; outline:none}
.ac-root .ac-click:hover .ac-hit,.ac-root .ac-click:focus .ac-hit{fill:rgba(15,143,134,.07)}
.ac-root .ac-click:hover .ac-lbl{fill:var(--accent-2); text-decoration:underline}
.ac-root .ac-g.ac-sel .ac-lbl{font-weight:700}

/* elenco */
.ac-root .ac-tools{display:flex; gap:12px; align-items:center; margin:8px 0}
.ac-root .ac-tools input{flex:1 1 auto; max-width:380px; padding:7px 9px}
.ac-root .ac-tools .btn{margin-left:auto; display:inline-flex; align-items:center; gap:6px}
.ac-root .ac-ai{margin:6px 0 10px}
.ac-root .ac-tabwrap{max-height:none; overflow-x:auto}
.ac-root .ac-tab td{vertical-align:middle}
.ac-root .ac-tab .ac-num{text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums}
.ac-root .ac-tab th.ac-num{text-align:right}
.ac-root .ac-dal{display:block; font-size:.78em}
.ac-root .ac-tag-899{background:#fff1e0; color:#9a5a10}
.ac-root .ac-sp{width:104px}
.ac-root .ac-spark{display:block; width:96px; height:26px}
.ac-root .ac-sp-ora{fill:none; stroke:var(--ac-a); stroke-width:1.8; stroke-linejoin:round; stroke-linecap:round}
.ac-root .ac-sp-prima{fill:none; stroke:var(--ac-prima); stroke-width:1.4; stroke-linejoin:round}
.ac-root .ac-sp-parz{stroke-dasharray:2.5 2}
.ac-root .ac-sp-pt{fill:var(--ac-a)}

@media (max-width:1000px){
  .ac-root .ac-riga,.ac-root .ac-riga:has(.ac-coppia:not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-root .ac-riga-filtri{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ac-root .ac-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
