/* Scadenzario unico (cassa prevista): riquadri, grafico a barre per mese, tabelle mese per mese e finestre delle uscite fisse. */
.scadenzario.occupata { cursor: progress; }
.scadenzario.occupata .sc-corpo { opacity: .7; pointer-events: none; }
.sc-barra .sc-rapidi { display: inline-flex; gap: 6px; }
.sc-barra .sc-rapido { height: 36px; }
.sc-barra .el-dal { color: var(--muto); font-size: 13px; }
.sc-corpo { background: #f6f7fb; padding: 12px 15px 20px; display: flex; flex-direction: column; gap: 14px; }
.sc-corpo > * { flex: none; }

/* riquadri */
.sc-riquadri { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.sc-tile { position: relative; }
.sc-tile .rp-tile-val { font-size: 26px; }
.sc-tile-pul { align-self: center; margin-top: 4px; height: 26px; padding: 0 10px; font-size: 12px; }
.rp-tile.sc-saldo-neg { background: #e57373; }

/* grafico */
.sc-card { background: #fff; border: .5px solid #ddd; border-radius: 3px; padding: 10px 12px 4px; box-shadow: 0 1px 3px rgba(4, 26, 55, .12); min-width: 0; }
.sc-graf { margin-top: 4px; }

/* mesi */
.sc-mese { background: #fff; border: .5px solid #ddd; border-radius: 3px; box-shadow: 0 1px 3px rgba(4, 26, 55, .12); overflow: hidden; }
.sc-mese-testa { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; padding: 10px 14px; background: #eef1f5; border-bottom: .5px solid var(--bordo); }
.sc-mese-testa h3 { margin: 0; font: 500 15px/1.2 var(--font); color: #4d5867; text-transform: capitalize; }
.sc-mese-scaduto .sc-mese-testa { background: #fbe9e8; }
.sc-mese-scaduto .sc-mese-testa h3 { color: var(--rosso-testo); }
.sc-somme { display: inline-flex; flex-wrap: wrap; gap: 4px 16px; font: 400 13px/1.3 var(--font); font-variant-numeric: tabular-nums; }
.sc-somme strong { font-weight: 500; }
.sc-pos { color: #2f8a46; }
.sc-neg { color: var(--rosso-testo); }

.sc-scorri { overflow-x: auto; }
.sc-tab { width: 100%; border-collapse: collapse; font: 400 13px/1.3 var(--font); color: var(--testo); }
.sc-tab th { text-align: left; font: 500 12px/1.2 var(--font); height: 34px; padding: 0 10px; border-bottom: .5px solid var(--bordo); white-space: nowrap; color: #6d6d6d; }
.sc-tab th.d, .sc-tab td.d { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sc-tab td { padding: 8px 10px; border-bottom: .5px solid #eceff1; vertical-align: top; }
.sc-tab tbody tr:last-child td { border-bottom: 0; }
.sc-tab tbody tr:nth-child(even) td { background: var(--riga-alt); }
.sc-tab tr.cliccabile { cursor: pointer; }
.sc-tab tr.cliccabile:hover td { background: #eaf1f8; }
.sc-tab td.sc-c-data { white-space: nowrap; }
.sc-tab tr.sc-scaduta td.sc-c-data { color: var(--rosso-testo); font-weight: 500; }
.sc-ritardo { display: block; color: var(--rosso-testo); font-size: 11px; font-weight: 400; }
.sc-tipo { display: inline-block; padding: 2px 8px; border-radius: 10px; background: #e9edf2; color: #4d5867; font: 400 11px/1.4 var(--font); white-space: nowrap; }
.sc-tipo.sc-riba { background: #fde9cf; color: #9a5f10; }
.sc-tipo.sc-spenta { background: #eceff1; color: var(--muto); }
.sc-origine-fissa .sc-tipo { background: #e3e6f7; color: #3f4b9a; }
.sc-desc { display: block; overflow-wrap: anywhere; }
.sc-contro { display: block; color: var(--muto); font-size: 11px; overflow-wrap: anywhere; }
.sc-paga { margin-top: 4px; height: 26px; padding: 0 10px; font-size: 12px; }
.sc-nota { color: var(--muto); font-size: 12px; margin: 0 0 8px; }

/* finestre */
.fin.sc-fin { width: min(760px, 100%); height: min(640px, calc(100vh - 24px)); }
.fin.sc-fin-uscita { width: min(560px, 100%); }
.fin.sc-fin-scad { width: min(520px, 100%); height: min(560px, calc(100vh - 24px)); }
.fin.sc-fin-saldo { width: min(460px, 100%); }
.sc-check { flex-direction: row; align-items: center; gap: 8px; }
.sc-check input { width: auto; }
.sc-uf-lista { display: flex; flex-direction: column; gap: 8px; }
.sc-uf { background: #fff; border: .5px solid var(--bordo-campo); border-radius: 4px; padding: 8px 10px; display: flex; flex-direction: column; gap: 5px; }
.sc-uf.spenta { opacity: .65; }
.sc-uf-testa { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; }
.sc-uf-testa strong { font-weight: 500; overflow-wrap: anywhere; }
.sc-uf-dati { display: flex; flex-wrap: wrap; gap: 2px 14px; font-size: 13px; color: #5a6772; }
.sc-uf-pul { display: flex; flex-wrap: wrap; gap: 6px; }
.sc-uf-pul .pul { height: 30px; padding: 0 12px; font-size: 13px; }
.sc-elimina { color: var(--rosso-testo); }
.sc-scad-lista { display: flex; flex-direction: column; gap: 6px; }
.sc-scad { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 6px 10px; border-radius: 4px; background: #fff; border: .5px solid var(--bordo-campo); font-size: 13px; }
.sc-scad.pagata { background: #f3faf4; border-color: #a9d6b3; }
.sc-scad.scaduta .sc-scad-stato { color: var(--rosso-testo); }
.sc-scad .pul { height: 28px; padding: 0 10px; font-size: 12px; }

/* telefono: le tabelle diventano schede impilate, niente scorrimento laterale */
@media (max-width: 700px) {
  .sc-corpo { padding: 10px 10px 16px; }
  .sc-riquadri { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .sc-tile .rp-tile-val { font-size: 21px; }
  .sc-tile .rp-tile-testa { font-size: 11px; }
  .sc-barra .sc-rapidi { flex: 1 1 100%; }
  .sc-barra .sc-rapido { flex: 1; }
  .sc-barra .rp-data { flex: 1; min-width: 0; }
  .sc-scorri { overflow-x: visible; }
  .sc-tab, .sc-tab tbody, .sc-tab tr, .sc-tab td { display: block; width: 100%; }
  .sc-tab thead { display: none; }
  .sc-tab tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "data importo" "tipo saldo" "desc desc"; gap: 3px 10px; padding: 9px 12px; border-bottom: .5px solid #eceff1; }
  .sc-tab tbody tr:nth-child(even) { background: var(--riga-alt); }
  .sc-tab tbody tr:last-child { border-bottom: 0; }
  .sc-tab td { padding: 0; border: 0; background: none !important; }
  .sc-tab td.sc-c-data { grid-area: data; }
  .sc-tab td.sc-c-imp { grid-area: importo; font-weight: 500; }
  .sc-tab td.sc-c-tipo { grid-area: tipo; }
  .sc-tab td.sc-c-saldo { grid-area: saldo; font-size: 12px; color: var(--muto); }
  .sc-tab td.sc-c-saldo::before { content: "saldo "; }
  .sc-tab td.sc-c-desc { grid-area: desc; }
  .sc-tab td.rp-vuoto { grid-column: 1 / -1; padding: 16px 0; }
  .sc-mese-testa { padding: 9px 12px; }
  .sc-scad { grid-template-columns: minmax(0, 1fr) auto; }
  .sc-scad-stato { grid-column: 1 / -1; order: 3; }
}
@media (max-width: 380px) {
  .sc-riquadri { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .sc-barra { display: none; }
}

/* campi delle finestre: la data ha lo stesso aspetto degli altri campi */
.fin-corpo input[type="date"] {
  height: 35px; padding: 3px 7px; width: 100%; min-width: 0; border: .5px solid var(--bordo-campo); border-radius: 4px; background: var(--campo);
  font: 300 16px/1.3 var(--font); color: #000;
}
.griglia-campi .campo.sc-check { flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; }
.griglia-campi .campo.sc-check span { font-size: 14px; color: var(--testo); }
.sc-corpo input[type="date"] { background: #fff; }
