/* Esempio "Vigneto con droni" (AgriTech in campo aperto): parti in piu' rispetto a scena3d, edificio e linea */
.stage-vigneto{height:min(70vh,660px)}
.page-vigneto .card-vigneto{grid-template-columns:auto 1fr;background:linear-gradient(120deg,rgba(25,158,112,.16),rgba(255,255,255,.02) 50%)}
.stage-viste{position:absolute;right:16px;top:16px;display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:rgba(7,16,29,.75)}
.stage-viste button{padding:7px 12px;border:0;border-radius:999px;background:transparent;color:#c3d0de;font:inherit;font-size:.8rem;cursor:pointer}
.stage-viste button[aria-pressed="true"]{background:rgba(84,216,240,.18);color:#fff;font-weight:650}
.stage-viste button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.drone-label{border-color:rgba(84,216,240,.7)}
.flotta{display:grid;gap:10px}
.drone-card{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03)}
.drone-card.in-volo{border-color:rgba(84,216,240,.5)}
.drone-testa{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.drone-testa span{font-size:.78rem;color:#7fe0ff}
.drone-card small{color:#c3d0de;font-size:.76rem}
.pianifica{display:grid;gap:12px}
.pianifica fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pianifica legend{width:100%;margin-bottom:6px;font-size:.78rem;color:#c3d0de}
.pianifica fieldset label{display:flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--line);border-radius:10px;font-size:.84rem;color:#d8e4f0;cursor:pointer}
.pianifica fieldset input{accent-color:#54d8f0;margin:0}
.pianifica .trial-choice label:has(input:checked){border-color:var(--cyan);box-shadow:0 0 0 3px rgba(84,216,240,.12)}
.pianifica-riga{display:flex;gap:12px;flex-wrap:wrap;font-size:.84rem;color:#c3d0de}
.pianifica-riga label{display:grid;gap:4px}
.pianifica select{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#0b1424;color:#e9eef4;font:inherit}
.pianifica-esito{margin:0;min-height:1.3em;font-size:.82rem;color:#7fd08f}
.missioni{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.missioni li{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--line);border-left:3px solid #3987e5;border-radius:10px;font-size:.8rem}
.missioni li b{font-size:.86rem}
.missioni .ms-ora{color:#7fe0ff;font-size:.74rem}
.missioni .ms-stato{color:#c3d0de}
.missioni .ms-in-corso{border-left-color:#54d8f0;background:rgba(84,216,240,.06)}
.missioni .ms-completata{border-left-color:#0ca30c;opacity:.75}
.missioni .ms-annullata{border-left-color:#d03b3b;opacity:.6}
.blocchi-griglia{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.blocco-tile{--stato:#199e70;display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--stato);border-radius:12px;font-size:.78rem;color:#c3d0de}
.blocco-tile small{color:var(--muted);font-size:.66rem;letter-spacing:.07em;text-transform:uppercase}
.blocco-tile b{font-size:1.05rem;color:#fff}
.ws-log{margin:0;min-height:13.5em;max-height:13.5em;overflow:hidden;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#060c16;color:#9fe6ff;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-all}
@media(max-width:1250px){.blocchi-griglia{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.stage-viste{position:static;margin:10px;flex-wrap:wrap;border-radius:14px}.page-vigneto .card-vigneto{grid-template-columns:1fr}}
.legenda-vista[hidden]{display:none}
