/* AIDEV-NOTE: pagina Fabbisogni (change pianificazione-fabbisogni-pagina, design D5): tabella materiale × giorno con giacenza
   e copertura, chip dei fattori di scarto, dettaglio nel dialogo. Tutto sotto .fabbisogni; colori delle linee come Scaletta. */

.fabbisogni {
    --linea-01: #1565c0;
    --linea-02: #616161;
    --linea-03: #2e7d32;
    --linea-04: #00838f;
    --linea-06: #ef6c00;
    --linea-07: #6d4c41;
    --linea-08: #6a1b9a;
    --linea-09: #ad1457;
    font-size: 12px;
}

.fabbisogni .barra { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 6px 4px 4px 4px; }
.fabbisogni .barra .campo { display: flex; align-items: center; gap: 4px; color: #455a64; }
.fabbisogni .barra select,
.fabbisogni .barra input { font-size: 12px; padding: 2px 4px; border: 1px solid #b0bec5; border-radius: 3px; background: #fff; }
.fabbisogni .barra input[type=number] { width: 56px; text-align: right; }
.fabbisogni .barra .ricerca { width: 160px; }

.fabbisogni .fonti { display: flex; gap: 14px; color: #555; padding: 0 4px 4px 4px; flex-wrap: wrap; }
.fabbisogni .fonti .avviso { color: #c62828; font-weight: 600; }

.fabbisogni .fattori { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 2px 4px 8px 4px; }
.fabbisogni .fattori .etichetta { color: #78909c; text-transform: uppercase; font-size: 10px; margin-right: 4px; }
.fabbisogni .chip-fattore { border: 1px solid var(--colore-linea); color: #fff; background: var(--colore-linea); border-radius: 10px;
    padding: 1px 8px; font-weight: 600; cursor: help; white-space: nowrap; }
.fabbisogni .chip-fattore.ripiego { background: #fff; color: var(--colore-linea); font-weight: 400; }
.fabbisogni .chip-fattore.manuale { border-style: dashed; border-width: 2px; }
.fabbisogni .fattori .nota { color: #c62828; }
.fabbisogni .fattori .margine { color: #37474f; font-weight: 600; }

.fabbisogni table { border-collapse: collapse; margin: 0 4px 12px 4px; }
.fabbisogni th, .fabbisogni td { padding: 3px 8px; border-bottom: 1px solid #e0e0e0; vertical-align: top; }
.fabbisogni th { background: #eceff1; font-weight: 600; text-align: left; white-space: nowrap; position: sticky; top: 0; z-index: 1; }
.fabbisogni .num { text-align: right; white-space: nowrap; }
.fabbisogni td.vuoto { color: #9e9e9e; font-style: italic; }
.fabbisogni .oggi { background: #f3f8fd; }
.fabbisogni th.oggi { background: #dbe9f6; }

.fabbisogni .tabella tbody tr { cursor: pointer; }
.fabbisogni .tabella tbody tr:hover td { background: #f5f5f5; }
.fabbisogni .tabella td.materiale { white-space: nowrap; }
.fabbisogni .tabella td.materiale .bm { font-size: 9px; color: #6a1b9a; border: 1px solid #6a1b9a; border-radius: 3px; padding: 0 3px; margin-left: 4px; }
.fabbisogni .tabella td.totale { font-weight: 700; }
.fabbisogni .stimati { color: #e65100; }
.fabbisogni .tabella td.copertura { white-space: nowrap; color: #455a64; }
.fabbisogni .tabella td.copertura.rosso { color: #c62828; font-weight: 700; }
.fabbisogni .tabella tr.in-esaurimento td.materiale { border-left: 4px solid #c62828; }
.fabbisogni .tabella td.esaurimento { background: #ffcdd2; color: #b71c1c; font-weight: 700; }
.fabbisogni .tabella tr.riga-totale td { font-weight: 700; border-top: 2px solid #90a4ae; cursor: default; }

.fabbisogni .avviso-esaurimento { margin: 0 4px 8px 4px; padding: 4px 8px; background: #ffebee; color: #c62828; border-left: 4px solid #c62828; display: inline-block; }

.fabbisogni .senza-formula { margin: 0 4px 8px 4px; }
.fabbisogni .senza-formula .titolo { display: inline-flex; align-items: center; gap: 4px; padding: 4px 8px; background: #fff3e0; color: #e65100;
    border-left: 4px solid #ef6c00; cursor: pointer; font-weight: 600; }
.fabbisogni td.linea { border-left: 4px solid var(--colore-linea); font-weight: 600; white-space: nowrap; }
.fabbisogni td.testo { max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.fabbisogni.dettaglio table { width: calc(100% - 8px); }
