/* =====================================================================
   Vista «fatture» (disegno «private»). Dal prototipo: .fatt-filtri .cerca-cl .reg-fascia .stati-reg .sg .sg-scad .divi
   .stati-g .mesi-g, più le parti dell'app vera (ricerca viva, bollini discreti, filtro attivo, stato vuoto).
   Comuni in god.css: .rf .rf-testa .rf.collegata .schede .elenco .st .rit.
   Ogni regola è chiusa dentro [data-vista="fatture"]: vale nella pagina e nei pannelli che la vista apre.
   ===================================================================== */
[data-vista="fatture"] .fatt-filtri { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
[data-vista="fatture"] .fatt-filtri .scheda { min-height: 40px; }
[data-vista="fatture"] .cerca-cl { min-width: 280px; }

/* fascia: stati a un tocco e fatturato mese per mese */
[data-vista="fatture"] .reg-fascia { display: grid; grid-template-columns: minmax(0, 1fr); padding: 18px 0 0; margin-bottom: 18px; overflow: hidden; }
[data-vista="fatture"] .reg-fascia > div { padding: 0 22px; min-width: 0; }
[data-vista="fatture"] .reg-stati { padding-bottom: 18px !important; }
/* il fatturato mese per mese: una striscia sotto le tessere */
[data-vista="fatture"] .reg-mesi { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; align-items: end; padding: 16px 22px 14px !important; border-top: 1px solid var(--filo); background: var(--foglio-caldo); }
[data-vista="fatture"] .reg-mesi-t { display: grid; gap: 6px; align-content: start; }
[data-vista="fatture"] .reg-leg { display: flex; gap: 14px; font-size: var(--t-xs); color: var(--ink-2); font-weight: 600; }
[data-vista="fatture"] .reg-leg span { display: inline-flex; align-items: center; gap: 6px; }
[data-vista="fatture"] .reg-fascia .occhiello { display: flex; align-items: center; gap: 7px; }
[data-vista="fatture"] .reg-fascia .barra { margin-top: 12px; }
[data-vista="fatture"] .stati-reg { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr); gap: 8px; margin-top: 12px; align-items: stretch; }
[data-vista="fatture"] .stati-reg.senza-scad { grid-template-columns: minmax(0, 1fr); }
[data-vista="fatture"] .stati-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; align-content: start; }
[data-vista="fatture"] .sg { box-shadow: none; }
[data-vista="fatture"] .sg-scad { border-color: #f0b8b0; background: linear-gradient(170deg, var(--foglio) 55%, #fdf1ee); }
[data-vista="fatture"] .sg-scad > b { font-size: 28px; color: var(--scaduta); }
[data-vista="fatture"] .sg-scad .divi { display: grid; gap: 4px; margin: 2px 0; }
[data-vista="fatture"] .sg-scad .divi span { display: flex; align-items: center; gap: 7px; font-size: var(--t-xs); color: var(--ink-2); }
[data-vista="fatture"] .sg-scad .divi span b { margin-left: auto; font-family: var(--sans); font-size: var(--t-s); font-weight: 700; color: var(--ink); }
[data-vista="fatture"] .sg-scad .divi i { width: 9px; height: 9px; border-radius: 2px; flex: none; }
[data-vista="fatture"] .divi i.d-terzi { background: var(--scaduta); }
[data-vista="fatture"] .divi i.d-gruppo { background: var(--gruppo); border-radius: 50%; }
[data-vista="fatture"] .divi i.d-royal { background: var(--royal); transform: rotate(45deg) scale(.85); }
[data-vista="fatture"] .reg-tot { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
[data-vista="fatture"] .mesi-g { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 8px; align-items: end; height: 96px; }
[data-vista="fatture"] .mesi-g > div { display: grid; align-content: end; justify-items: stretch; height: 100%; gap: 4px; min-width: 0; }
[data-vista="fatture"] .pila-m { display: flex; flex-direction: column-reverse; border-radius: 3px 3px 0 0; overflow: hidden; }
[data-vista="fatture"] .pila-m i { display: block; min-height: 2px; }
[data-vista="fatture"] .pila-m i.m-strategic { background: var(--strategic); opacity: .85; }
[data-vista="fatture"] .pila-m i.m-cdm { background: var(--cdm); opacity: .85; }
[data-vista="fatture"] .pila-m i.vuoto { flex: 1; background: var(--carta-2); }
[data-vista="fatture"] .mesi-g span:not(.pila-m) { font-size: 11.5px; color: var(--ink-3); text-align: center; }
[data-vista="fatture"] .mesi-g span.ult { color: var(--ink); font-weight: 700; }

/* elenco del registro */
[data-vista="fatture"] .reg-elenco { min-width: 0; }
[data-vista="fatture"] .rf-testa .dx { text-align: right; }
[data-vista="fatture"] a.rf { transition: background .12s; }
[data-vista="fatture"] a.rf:hover { background: var(--foglio-caldo); }
[data-vista="fatture"] .rf .n { display: inline-flex; align-items: center; gap: 7px; }
[data-vista="fatture"] .rf .cl { flex-direction: column; align-items: flex-start; gap: 3px; }
[data-vista="fatture"] .rf .cl-n { display: flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%; }
[data-vista="fatture"] .rf .cl-n b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-vista="fatture"] .rf.nc .imp, [data-vista="fatture"] .rf .nc-v { color: var(--nc); }
[data-vista="fatture"] .rf .stc { min-width: 0; }
[data-vista="fatture"] .rf .stc .st { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
[data-vista="fatture"] .rf.collegata .cl { flex-direction: row; }
/* bollini discreti: forse doppia, da sistemare nel gestionale */
[data-vista="fatture"] .reg-filtro { text-transform: none; letter-spacing: 0; font-size: var(--t-s); font-weight: 600; color: var(--ink); }
[data-vista="fatture"] .reg-filtro .reg-n { min-width: 26px; padding: 0 8px; border-radius: var(--r-pill); background: var(--notte); color: var(--oro-2); font-size: var(--t-xs); font-weight: 700; text-align: center; line-height: 20px; }
[data-vista="fatture"] .reg-filtro .dx { display: inline-flex; align-items: center; gap: 5px; min-height: 36px; padding: 0 10px; border-radius: 9px; border: 1px solid var(--filo-2); background: var(--foglio); color: var(--ink-2); cursor: pointer; }
[data-vista="fatture"] .reg-filtro .dx svg { width: 14px; height: 14px; }
[data-vista="fatture"] .elenco-piede { width: 100%; background: var(--foglio); cursor: pointer; min-height: 48px; }
[data-vista="fatture"] .elenco-piede:hover { background: var(--foglio-caldo); }
[data-vista="fatture"] .reg-vuoto { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 22px 20px; }
[data-vista="fatture"] .reg-vuoto > svg { width: 22px; height: 22px; color: var(--oro); }
[data-vista="fatture"] .reg-vuoto > div { flex: 1; min-width: 200px; }
[data-vista="fatture"] .reg-vuoto b { display: block; }
[data-vista="fatture"] .reg-vuoto span { font-size: var(--t-s); color: var(--ink-3); }

@media (max-width: 1180px) and (min-width: 761px) {
  [data-vista="fatture"] .rf { grid-template-columns: 58px 76px minmax(0, 1fr) 108px 160px 104px; }
}

@media (max-width: 760px) {
  [data-vista="fatture"] .fatt-filtri { gap: 8px; }
  [data-vista="fatture"] .fatt-filtri .schede { flex: 1 1 100%; }
  [data-vista="fatture"] .cerca-cl { min-width: 0; flex: 1 1 100%; }
  [data-vista="fatture"] .reg-fascia { padding-top: 14px; }
  [data-vista="fatture"] .reg-fascia > div { padding: 0 14px; }
  [data-vista="fatture"] .reg-stati { padding-bottom: 14px !important; }
  [data-vista="fatture"] .reg-mesi { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px !important; }
  [data-vista="fatture"] .stati-reg { grid-template-columns: minmax(0, 1fr); }
  [data-vista="fatture"] .stati-g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-vista="fatture"] .sg { min-height: 96px; }
  [data-vista="fatture"] .sg-scad > b { font-size: 26px; }
  [data-vista="fatture"] .mesi-g { gap: 4px; height: 84px; }
  [data-vista="fatture"] .mesi-g span:not(.pila-m) { font-size: 11px; }
  [data-vista="fatture"] .rf { grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-areas: "n cl imp" "n st res"; gap: 5px 10px; padding: 12px 14px; min-height: 64px; }
  [data-vista="fatture"] .rf .n { flex-wrap: wrap; gap: 4px; }
  [data-vista="fatture"] .rf .res { white-space: normal; }
  [data-vista="fatture"] .rf.collegata .n { justify-content: flex-start; }
  [data-vista="fatture"] .reg-filtro { flex-wrap: wrap; }
}

/* ---- Rifinitura giro 2 (6/10) ----
   Da scadere e senza scadenza divise come le scadute (clienti terzi, gruppo, Royal Found).
   La rata che viene dopo, nella colonna del pagamento, è ambra e non rossa. */
[data-vista="fatture"] .stati-g .divi { display: grid; gap: 2px; margin-top: 5px; }
[data-vista="fatture"] .stati-g .divi span { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--ink-3); }
[data-vista="fatture"] .stati-g .divi span b { margin-left: auto; font-family: var(--sans); font-size: 11.5px; font-weight: 700; color: var(--ink-2); }
[data-vista="fatture"] .stati-g .divi i { width: 8px; height: 8px; border-radius: 2px; flex: none; }
[data-vista="fatture"] .stati-g .divi i.d-terzi { background: var(--ink-3); }
[data-vista="fatture"] .rf .res b.fut { color: var(--dascadere-testo); }
