/* Circuito Studio · Impostazioni: «Box e schermi» (boxschermi.js) e «Punti» (pannello.js, vSedi).
   Stati a semaforo: verde acceso, rosso spento o disattivato, giallo in attesa o da aggiornare, grigio senza box. */
.bs{--bs-verde:#16a34a;--bs-rosso:#dc2626;--bs-giallo:#e0a800;--bs-grigio:#a8a29e;--bs-blu:#64748b;--bs-ok:#15803d;--bs-warn:#8a6100}
.bs-riep{margin-bottom:6px}
.bs-punto{display:grid;gap:10px;margin-top:22px}
.bs-tab{padding:0;overflow:visible}
.bs-riga{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 16px;border-top:1px solid var(--line);transition:background .4s}
.bs-tab>.bs-riga:first-child{border-top:0}
.bs-riga.evidenzia{background:var(--accent-soft)}
.bs-ck{padding-top:3px}.bs-ck input{width:17px;height:17px;margin:0;cursor:pointer}
.bs-dot{width:11px;height:11px;border-radius:50%;margin-top:6px;background:var(--bs-grigio)}
.bs-dot.verde{background:var(--bs-verde);box-shadow:0 0 0 3px rgba(22,163,74,.16)}
.bs-dot.rosso{background:var(--bs-rosso);box-shadow:0 0 0 3px rgba(220,38,38,.14)}
.bs-dot.giallo{background:var(--bs-giallo)}.bs-dot.blu{background:var(--bs-blu)}
.bs-t{display:grid;gap:4px;min-width:0;font-size:13px;color:var(--muted)}
.bs-nome{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.bs-nome b{font-size:15px;color:var(--fg)}
.bs-pausa{color:var(--bs-warn);font-weight:600}
.bs-stato{font-weight:600;color:var(--fg2)}.bs-stato.verde{color:var(--bs-ok)}.bs-stato.rosso{color:var(--bs-rosso)}.bs-stato.giallo{color:var(--bs-warn)}
.bs-l small{color:var(--faint)}.bs-l.err{color:var(--bs-rosso)}
.bs-sw{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bs-sw i{width:8px;height:8px;border-radius:50%;background:var(--bs-grigio);flex:none}
.bs-sw.ok i{background:var(--bs-verde)}.bs-sw.ok b{color:var(--bs-ok)}
.bs-sw.warn i{background:var(--bs-giallo)}.bs-sw.warn b{color:var(--bs-warn)}
.bs-sw em{font-style:normal;color:var(--fg2)}
.bs-az{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:380px}
.bs-vuoto{margin:0;padding:4px 2px}
.bs-barra{position:sticky;bottom:14px;z-index:20;display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px;padding:12px 14px 12px 18px;border-radius:16px;
  background:var(--side);color:var(--side-fg);box-shadow:var(--pop);font-size:13.5px}
.bs-barra .btn{background:var(--side2);color:var(--side-fg);border-color:transparent}.bs-barra .btn:hover{filter:brightness(1.2)}
.bs-barra[hidden]{display:none}
.bx-link{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.bx-link:hover{text-decoration:underline}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bs{--bs-ok:#4ade80;--bs-warn:#f2c14e;--bs-rosso:#f87171}}
:root[data-theme="dark"] .bs{--bs-ok:#4ade80;--bs-warn:#f2c14e;--bs-rosso:#f87171}
@media (max-width:900px){
  .bs-riga{grid-template-columns:auto auto minmax(0,1fr)}
  .bs-az{grid-column:3/-1;justify-content:flex-start;max-width:none}
}
/* Punti */
.sd-tab{padding:0;overflow:visible}
.sd-riga{display:grid;grid-template-columns:40px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.3fr) 70px auto;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid var(--line)}
.sd-tab>.sd-riga:first-child{border-top:0}
.sd-ic{width:40px;height:40px;border-radius:12px;background:var(--sunk);display:grid;place-items:center;color:var(--fg2)}.sd-ic svg{width:20px;height:20px}
.sd-t{display:grid;gap:2px;min-width:0}.sd-t .pn-nome{font-size:15px;text-align:left}.sd-t small{color:var(--muted);font-size:12.5px}
.sd-c{display:grid;gap:2px;font-size:13px;color:var(--fg2);min-width:0}.sd-c small{color:var(--faint);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.sd-n b{font-size:18px;font-family:var(--f-head)}
.sd-az{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.sd-ap{display:grid;gap:6px}
.sd-ap-g{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:40px}.sd-ap-g>b{width:38px;font-size:13px;color:var(--fg2)}
.sd-ap-f{display:inline-flex;align-items:center;gap:4px}.sd-ap-f input{height:34px;width:auto;padding:0 6px}.sd-ap-f i{font-style:normal;color:var(--muted)}
@media (max-width:900px){.sd-riga{grid-template-columns:40px minmax(0,1fr) auto}.sd-riga .sd-c{grid-column:2/-1}.sd-az{grid-column:2/-1;justify-content:flex-start}}
