/* !important sul margine: in Oggi .today-board .wig > * azzera i margini con !important (tema.css).
   Scorrimento a blocchi sul telefono: le file di riquadri numerici (Oggi e le strisce in cima alle sezioni)
   diventano una fila da sfogliare col dito che si ferma su ogni riquadro, e le file già orizzontali
   (campagne, schede delle impostazioni, settimane dei turni) si fermano sul tasto invece che a metà.
   In verticale la pagina scorre libera. Ogni persona lo accende o lo spegne su questo
   dispositivo dal Menu del telefono (SnapItem in app/ui.js, SNAP_KEY in lib/accent.js); spento, i riquadri restano a griglia. */@media (max-width:640px){:root[data-snap=on] .kpis,:root[data-snap=on] .stat-row{--snap-g:10px;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--snap-g);margin-inline:calc(var(--snap-g) * -1)!important;padding:2px var(--snap-g) 6px;background:transparent;box-shadow:none;border-radius:0;scrollbar-width:none}:root[data-snap=on] .kpis::-webkit-scrollbar,:root[data-snap=on] .stat-row::-webkit-scrollbar{display:none}:root[data-snap=on] .kpis>.kpi,:root[data-snap=on] .stat-row>.stat{flex:0 0 calc((100% - 16px) / var(--snap-n, 2.3));min-width:0;scroll-snap-align:start;border:0;border-radius:var(--r-card);box-shadow:0 0 0 1px var(--line);grid-column:auto}:root[data-snap=on] .kpis>.kpi.on{box-shadow:0 0 0 1px var(--line),inset 0 3px 0 var(--a)}:root[data-snap=on] .kpis>:last-child,:root[data-snap=on] .stat-row>:last-child{scroll-snap-align:end}:root[data-snap=on] .cp-camps,:root[data-snap=on] .set-tabs,:root[data-snap=on] .tn-weeks{scroll-snap-type:x proximity}:root[data-snap=on] .cp-camp,:root[data-snap=on] .set-tab,:root[data-snap=on] .tn-weeks button{scroll-snap-align:start}}@media (max-width:640px) and (prefers-reduced-motion:reduce){:root[data-snap=on] .kpis,:root[data-snap=on] .stat-row{scroll-snap-type:x proximity}}.menuitem.ic-snap .snap-txt{display:grid;grid-gap:1px;gap:1px;flex:1 1;min-width:0;text-align:left}.menuitem.ic-snap .snap-txt small{color:var(--muted);font-size:12.5px;font-weight:400;line-height:1.3;white-space:normal}.snap-sw{position:relative;flex:none;margin-left:8px;width:40px;height:24px;border-radius:12px;background:#8a8886;transition:background .15s ease-out}.snap-sw:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s ease-out}.snap-sw.on{background:var(--a)}.snap-sw.on:after{transform:translateX(16px)}:root[data-accent=giallo] .snap-sw.on{background:#111}:root[data-accent=giallo] .snap-sw.on:after{background:#fdc400}.menuitem.ic-snap:focus-visible .snap-sw{outline:2px solid var(--a);outline-offset:2px}