/* piano/piano.css — la Pianificazione (SPEC_Pianificazione A.4): ordine, carico per settimana, Gantt. Solo i token di app.css
   (:root): le commesse usano i colori --arredo-1…6, le fasi quelli delle sezioni. Il carico e' una vista da PC o iPad. */
.pia-collo{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;margin:0 0 var(--s3)}
.pia-ordine{padding:var(--s3)}
.pia-ordine-testa{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;margin-bottom:var(--s2)}
.pia-ordine-testa input{flex:1;min-width:200px}
.pia-lista{list-style:none;margin:0;padding:0}
.pia-riga{display:grid;grid-template-columns:36px minmax(0,2fr) auto auto auto minmax(0,1fr) auto;gap:var(--s3);align-items:center;
  padding:var(--s2);border-bottom:1px solid var(--line-soft);background:var(--card)}
.pia-riga[draggable="true"]{cursor:grab}
.pia-riga.ritardo{background:var(--alert-soft)}
.pia-n{font-weight:700;font-size:var(--t4);text-align:center}
.pia-nome{cursor:pointer}
.pia-frecce{white-space:nowrap}
.pia-storia{padding:var(--s3);margin-top:var(--s4)}
.pia-legenda{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s2) 0 var(--s3)}
.pia-legenda span{display:flex;align-items:center;gap:6px;font-size:var(--t1)}
.pia-legenda i{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid var(--line)}
.pia-carichi{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:var(--s3)}
.pia-risorsa{padding:var(--s3)}
.pia-risorsa.collo{border:2px solid var(--materiale)}
.pia-risorsa-testa{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:baseline;margin-bottom:var(--s2)}
.pia-svg{width:100%;height:auto;display:block}
.pia-svg rect.ar-1,.pia-legenda i.ar-1{fill:var(--arredo-1);background:var(--arredo-1)}
.pia-svg rect.ar-2,.pia-legenda i.ar-2{fill:var(--arredo-2);background:var(--arredo-2)}
.pia-svg rect.ar-3,.pia-legenda i.ar-3{fill:var(--arredo-3);background:var(--arredo-3)}
.pia-svg rect.ar-4,.pia-legenda i.ar-4{fill:var(--arredo-4);background:var(--arredo-4)}
.pia-svg rect.ar-5,.pia-legenda i.ar-5{fill:var(--arredo-5);background:var(--arredo-5)}
.pia-svg rect.ar-6,.pia-legenda i.ar-6{fill:var(--arredo-6);background:var(--arredo-6)}
.pia-cap{stroke:var(--ink);stroke-width:2;stroke-dasharray:4 3}
.pia-asse,.pia-griglia{stroke:var(--line);stroke-width:1}
.pia-t{font-size:11px;fill:var(--ink-60)}
.pia-t.oltre{fill:var(--alert);font-weight:700}
.pia-etichetta{cursor:pointer;fill:var(--ink);font-size:12px}
.pia-oltre{fill:none;stroke:var(--alert);stroke-width:2;rx:4}
.pia-gantt{padding:var(--s3);overflow-x:auto}
.pia-gantt-svg{min-width:640px}
.pg-prima,.pia-legenda i.pg-prima{fill:var(--sezione);background:var(--sezione)}
.pg-collo,.pia-legenda i.pg-collo{fill:var(--materiale);background:var(--materiale)}
.pg-dopo,.pia-legenda i.pg-dopo{fill:var(--margine);background:var(--margine)}
.pg-oggi,.pia-legenda i.pg-oggi{fill:var(--alert-soft);stroke:var(--alert);stroke-width:1.5;background:var(--alert-soft)}
.pia-legenda i.pg-consegna{background:var(--ink);width:3px}
.pia-svg rect.rosso{stroke:var(--alert);stroke-width:1.5}
.pg-consegna-linea{stroke:var(--ink);stroke-width:3}
.pg-consegna-linea.rosso{stroke:var(--alert)}
.pg-oggi-linea{stroke:var(--alert);stroke-width:1;stroke-dasharray:2 3}
.pia-lavoro h3{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:baseline}
.pia-proposta{padding:var(--s3);margin-bottom:var(--s3)}
.pia-opz-numeri{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s3);margin-top:var(--s3)}
.pia-chiusura{display:grid;grid-template-columns:minmax(0,1fr) 160px 160px auto;gap:var(--s2);margin-top:var(--s2)}
.bc-piano{display:inline-block;min-width:20px;padding:0 5px;margin-right:6px;border-radius:10px;background:var(--sezione-soft);
  color:var(--ink);font-weight:700;text-align:center}
.bc-piano.ritardo{background:var(--alert-soft);color:var(--alert)}
@media (max-width:700px){
  .pia-riga{grid-template-columns:30px minmax(0,1fr) auto}
  .pia-riga>.mini{grid-column:2/4}
  .pia-carichi{grid-template-columns:minmax(0,1fr)}
  .pia-chiusura{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
