/* F4a: Avanzamento, Salute progetto, Produzione e Chiusura mensile (web/views/production.js). */
table.t td.wrap{white-space:normal;min-width:220px;max-width:420px}
table.t td.wrap small{display:block;font-size:11.5px}
table.t tr.sel td{background:var(--coral-lt)}

/* jauge dell'avanzamento */
.gauge{all:unset;display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}
button.gauge{cursor:pointer;border-radius:var(--radius-sm)}
button.gauge:hover .g-fg,button.gauge:focus-visible .g-fg{stroke:var(--coral-dk)}
button.gauge:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.gauge-svg{width:100%;max-width:170px;height:auto}
.gauge-svg path{fill:none;stroke-width:13;stroke-linecap:round}
.gauge-svg .g-bg{stroke:var(--line)}
.gauge-svg .g-fg{stroke:var(--coral);transition:stroke-dasharray .25s}
.gauge-svg .g-v{font-size:24px;font-weight:700;fill:var(--ink)}
.prog-kpis .gauge-k{display:flex;flex-direction:column;gap:4px}

/* righe vendute */
.prog-t select{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface);padding:4px 6px;font-size:12px;max-width:170px}
.prog-t select:disabled{background:transparent;border-color:transparent;color:var(--ink-2);appearance:none}
.pg-edit{display:flex;align-items:center;gap:8px}
.pg-edit input[type=range]{width:130px;accent-color:var(--coral)}
.pg-edit input[type=range]:disabled{opacity:.55}
.pg-edit .num-in{width:64px;padding:4px 8px}
.prog-lines.editing{box-shadow:0 0 0 2px var(--coral-lt)}
.prog-t td small{display:block}
.save-bar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-2)}
.save-bar>span{flex:1;min-width:180px}
tr.over td:first-child{box-shadow:inset 3px 0 0 var(--bad)}

/* Salute progetto */
.health .hl-badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--pill);background:var(--surface-2)}
.health .hl-badge.pos{background:var(--good-lt)} .health .hl-badge.warn{background:var(--warn-lt)} .health .hl-badge.neg{background:var(--bad-lt)}
.hl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.hl-i{border:1px solid var(--line);border-left:4px solid var(--line-2);border-radius:var(--radius-sm);padding:10px 12px;min-width:0}
.hl-i.ok{border-left-color:var(--good)} .hl-i.warn{border-left-color:var(--warn)} .hl-i.bad{border-left-color:var(--bad)}
.hl-i .l{font-size:12px;color:var(--ink-2);font-weight:500}
.hl-i .v{font-size:18px;font-weight:700;margin-top:4px;white-space:nowrap}
.hl-i .s{font-size:11.5px;color:var(--ink-3);margin-top:2px}
.hl-plan{margin-top:14px}
.hl-plan ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}
.hl-plan li{display:flex;align-items:flex-start;gap:6px}
.hl-plan li .ms{font-size:18px;color:var(--coral)}
.hl-plan li.neg .ms{color:var(--bad)}
.hl-ai{margin-top:12px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface-2)}
.hl-ai p{margin:0 0 6px}.hl-ai ol{margin:4px 0 6px;padding-left:20px}

/* produzione */
.prod-chart{width:100%;height:auto;display:block;margin:4px 0 6px}
.prod-chart .grid{stroke:var(--line);stroke-width:1}
.prod-chart .ax{font-size:10.5px;fill:var(--ink-3)}
.prod-chart rect.b-rev{fill:var(--ink-2)} .prod-chart rect.b-mb{fill:var(--good)}
.prod-chart rect.k-reconstructed,.prod-chart rect.k-mixed{opacity:.7}
.prod-chart rect.b-rev.k-current{fill:var(--coral)} .prod-chart rect.b-mb.k-current{fill:var(--coral-md)}
.prod-chart rect.k-forecast{opacity:.35}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11.5px;color:var(--ink-2);margin-bottom:10px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.legend i.b-rev{background:var(--ink-2)} .legend i.b-mb{background:var(--good)} .legend i.k-current{background:var(--coral)} .legend i.k-forecast{background:var(--ink-2);opacity:.35}
.kind{font-size:11.5px;color:var(--ink-2)}
.kind.k-current{color:var(--coral-dk);font-weight:600} .kind.k-forecast{color:var(--ink-3);font-style:italic}
.prod-matrix td{font-size:11.5px;padding:8px 6px}
.prod-matrix td.k-forecast{color:var(--ink-3);font-style:italic} .prod-matrix td.k-current{color:var(--coral-dk);font-weight:600}

/* Azioni critiche di chiusura mensile */
.cc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:10px}
.cc-tile{all:unset;cursor:pointer;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface)}
.cc-tile .ms{grid-row:span 2;font-size:26px}
.cc-tile b{font-size:22px;line-height:1}
.cc-tile>span:last-child{font-size:12px;color:var(--ink-2)}
.cc-tile.todo{border-color:var(--warn);background:var(--warn-lt)} .cc-tile.todo .ms{color:var(--warn)}
.cc-tile.done .ms{color:var(--good)}
.cc-tile:hover,.cc-tile:focus-visible{box-shadow:var(--shadow)}
.cc-sec{border-top:1px solid var(--line);padding:10px 0}
.cc-sec>summary{cursor:pointer;display:flex;align-items:center;gap:8px}
@media (max-width:700px){.pg-edit input[type=range]{width:90px}table.t td.wrap{min-width:160px}}
