/* LedwallGest Cgfa — pannello. Pubblica amministrazione moderna + struttura Fluent: barra laterale, superfici chiare,
   un solo colore d'accento (scelto nel setup, variabile --acc), Titillium Web (il carattere dei siti PA italiani). */
:root{
  --acc:#0b4f8a;--acc2:#e0a000;
  --bg:#eef2f6;--sup:#ffffff;--sup2:#f6f8fb;--bordo:#d9e0e8;--bordo2:#c3ccd6;
  --tx:#14202b;--tx2:#4b5b6b;--tx3:#6b7a89;
  --ok:#11703a;--ok-bg:#e5f4ea;--warn:#8a5300;--warn-bg:#fdf1db;--ko:#b3261e;--ko-bg:#fbe7e5;--info:#0b5cad;--info-bg:#e5effa;--violet:#5b35a8;--violet-bg:#efe9fb;--grey:#5f6b77;--grey-bg:#eceff2;
  --r:8px;--r2:12px;--ombra:0 1px 2px rgba(16,32,48,.06),0 4px 14px rgba(16,32,48,.06);--ombra2:0 8px 30px rgba(16,32,48,.16);
  --f:'Titillium Web',system-ui,-apple-system,'Segoe UI',sans-serif;
  --nav:244px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.5 var(--f);min-height:100vh}
::selection{background:color-mix(in srgb,var(--acc) 25%,transparent)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--acc) 70%,#fff);outline-offset:2px;border-radius:4px}
a{color:var(--acc);text-underline-offset:3px}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-weight:700;text-wrap:balance}
h1{font-size:1.65rem}h2{font-size:1.25rem;margin-top:1.6em}h3{font-size:1.05rem}
p{margin:0 0 .8em}
small,.aiuto{color:var(--tx3)}
.num,td.num{text-align:right;font-variant-numeric:tabular-nums}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.salta{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:99}.salta:focus{left:8px}
.i{width:20px;height:20px;flex:none;vertical-align:-4px}
html{scrollbar-color:var(--bordo2) transparent}

/* ---------- barre in alto ---------- */
.demo-bar{background:#1d2a39;color:#e9f0f7;font-size:.9rem;padding:7px 16px;text-align:center}
.demo-bar a{color:#ffd57a}.demo-bar b{color:#fff}.demo-ok{color:#9fe0b4}
.em-bar{background:var(--ko);color:#fff;padding:9px 16px;text-align:center;font-weight:600;animation:none}
.em-bar a{color:#fff}
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;height:64px;padding:0 16px;background:var(--sup);border-bottom:1px solid var(--bordo)}
.brand{display:flex;align-items:center;gap:10px;color:var(--tx);text-decoration:none;min-width:0}
.marchio{width:40px;height:40px;display:grid;place-items:center;color:var(--acc);background:color-mix(in srgb,var(--acc) 9%,#fff);border-radius:10px;flex:none}
.marchio svg{width:34px;height:34px}
.marchio-img{width:40px;height:40px;object-fit:contain;border-radius:8px;flex:none}
.brand-t{display:flex;flex-direction:column;min-width:0}.brand-t b{font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-t small{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-dx{margin-left:auto;display:flex;align-items:center;gap:12px}
.chi{display:flex;flex-direction:column;line-height:1.15;text-align:right}.chi small{font-size:.75rem}
.avvisi-btn{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;color:var(--tx2)}
.avvisi-btn:hover{background:var(--sup2)}
.menu-btn{display:none;width:44px;height:44px;border:0;background:none;border-radius:10px;padding:12px 10px;cursor:pointer}
.menu-btn span{display:block;height:2px;background:var(--tx);margin:4px 0;border-radius:2px}
.badge{font-size:.8rem;padding:4px 10px;border-radius:999px;text-decoration:none;font-weight:600}
.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-ko{background:var(--ko-bg);color:var(--ko)}.badge-ok{background:var(--ok-bg);color:var(--ok)}

/* ---------- struttura ---------- */
.corpo{display:flex;min-height:calc(100vh - 64px)}
.nav{position:sticky;top:64px;align-self:flex-start;width:var(--nav);flex:none;height:calc(100vh - 64px);overflow:auto;padding:12px 10px;background:var(--sup2);border-right:1px solid var(--bordo)}
.nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;margin:2px 0;border-radius:var(--r);color:var(--tx2);text-decoration:none;font-weight:600;position:relative}
.nav a:hover{background:#e7ecf2;color:var(--tx)}
.nav a.on{background:var(--sup);color:var(--acc);box-shadow:var(--ombra)}
.nav a.on::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--acc)}
.nav .nav-esci{margin-top:14px;color:var(--tx3)}
.nav .pallino{margin-left:auto}
.wrap{flex:1;min-width:0;max-width:1320px;padding:24px 28px 40px}
.pannello.largo .wrap{max-width:none}
.pallino{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--acc);color:#fff;font:700 .72rem/1 var(--f);font-style:normal}
.avvisi-btn .pallino{position:absolute;top:4px;right:2px}
.pallino.rosso{background:var(--ko)}

.testata{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.testata h1{margin:0}.testata .sotto{margin:.3em 0 0;color:var(--tx2);max-width:75ch}
.testata-az{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}

/* ---------- superfici ---------- */
.pan{background:var(--sup);border:1px solid var(--bordo);border-radius:var(--r2);padding:20px;margin-bottom:18px}
.pan>h2:first-child,.pan>h3:first-child{margin-top:0}
.pan-t{display:flex;align-items:center;gap:10px;margin-bottom:12px}.pan-t h2{margin:0}.pan-t .dx{margin-left:auto}
.griglia{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.griglia-2{display:grid;gap:18px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.cifre{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--bordo);border-radius:var(--r2);background:var(--sup);margin-bottom:18px;overflow:hidden}
.cifra{flex:1 1 150px;padding:14px 18px;border-right:1px solid var(--bordo);text-decoration:none;color:var(--tx)}
.cifra:last-child{border-right:0}
.cifra b{display:block;font-size:1.7rem;line-height:1.1;font-variant-numeric:tabular-nums}
.cifra span{font-size:.85rem;color:var(--tx2)}
a.cifra:hover{background:var(--sup2)}
.cifra.ko b{color:var(--ko)}.cifra.warn b{color:var(--warn)}.cifra.ok b{color:var(--ok)}

/* ---------- tabelle ---------- */
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.tab{width:100%;border-collapse:collapse;font-size:.95rem}
.tab th{text-align:left;font-weight:600;color:var(--tx2);font-size:.82rem;text-transform:none;border-bottom:1px solid var(--bordo);padding:8px 10px;white-space:nowrap}
.tab td{border-bottom:1px solid #edf1f5;padding:10px;vertical-align:middle}
.tab tr:last-child td{border-bottom:0}
.tab tbody tr:hover{background:#f8fafc}
.tab td small{display:block}

/* ---------- chip di stato ---------- */
.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600;white-space:nowrap;line-height:1.6}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.chip-ok{background:var(--ok-bg);color:var(--ok)}.chip-warn{background:var(--warn-bg);color:var(--warn)}.chip-ko{background:var(--ko-bg);color:var(--ko)}
.chip-info{background:var(--info-bg);color:var(--info)}.chip-violet{background:var(--violet-bg);color:var(--violet)}.chip-grey{background:var(--grey-bg);color:var(--grey)}

/* ---------- bottoni e moduli ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 16px;border-radius:var(--r);border:1px solid var(--bordo2);background:var(--sup);color:var(--tx);font:600 .95rem/1.2 var(--f);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
.btn:hover{background:var(--sup2);border-color:#aeb9c6}
.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.btn-p{background:var(--acc);border-color:var(--acc);color:#fff}.btn-p:hover{background:color-mix(in srgb,var(--acc) 86%,#000);border-color:transparent}
.btn-ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn-ok:hover{background:#0b5a2d}
.btn-ko{background:var(--sup);border-color:#e3b3ae;color:var(--ko)}.btn-ko:hover{background:var(--ko-bg)}
.btn-em{background:var(--ko);border-color:var(--ko);color:#fff}.btn-em:hover{background:#8f1d17}
.btn-s{min-height:36px;padding:5px 12px;font-size:.88rem}
.btn-big{min-height:52px;padding:12px 22px;font-size:1.05rem}
.btn-link{background:none;border:0;color:var(--acc);padding:6px 4px;min-height:auto;text-decoration:underline}
label{display:block;font-weight:600;font-size:.9rem;margin:12px 0 5px;color:var(--tx2)}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel],input[type=url],input[type=search],select,textarea{
  width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--bordo2);border-radius:var(--r);background:#fff;color:var(--tx);font:1rem/1.35 var(--f)}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--acc) 55%,#fff);outline-offset:0;border-color:var(--acc)}
input[type=color]{width:56px;height:44px;padding:3px;border:1px solid var(--bordo2);border-radius:var(--r);background:#fff}
textarea{min-height:96px;resize:vertical}
.campi{display:grid;gap:0 16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.spunta{display:flex;align-items:flex-start;gap:10px;font-weight:400;color:var(--tx);margin:8px 0;cursor:pointer}
.spunta input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--acc)}
.azioni-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center}
.inline{display:inline}
fieldset{border:0;padding:0;margin:0}
.giorni{display:flex;gap:6px;flex-wrap:wrap}.giorni label{margin:0;display:flex;align-items:center;gap:4px;font-weight:600;padding:6px 10px;border:1px solid var(--bordo2);border-radius:8px;min-height:40px;cursor:pointer}
.giorni input{accent-color:var(--acc)}

/* ---------- messaggi ---------- */
.flash{padding:12px 16px;border-radius:var(--r);margin-bottom:16px;font-weight:600;border:1px solid}
.flash-ok{background:var(--ok-bg);color:var(--ok);border-color:#b9e0c6}.flash-ko{background:var(--ko-bg);color:var(--ko);border-color:#f0c2bd}.flash-warn{background:var(--warn-bg);color:var(--warn);border-color:#f1d6a4}
.nota{background:var(--info-bg);color:#0a3e75;border-radius:var(--r);padding:12px 16px;font-size:.95rem}
.nota-warn{background:var(--warn-bg);color:#6a4100}
.vuoto{text-align:center;padding:40px 20px;color:var(--tx2)}
.vuoto h1,.vuoto h2{color:var(--tx)}
.toast{position:fixed;right:18px;bottom:18px;z-index:80;max-width:min(420px,92vw);background:#16222e;color:#fff;padding:14px 18px;border-radius:var(--r2);box-shadow:var(--ombra2);font-weight:600}
.toast.ko{background:var(--ko)}

/* ---------- controlli di legge ---------- */
.ctrl{list-style:none;padding:0;margin:0}
.ctrl li{display:flex;gap:8px;padding:6px 0;font-size:.92rem;border-bottom:1px dashed #e5eaf0}
.ctrl li:last-child{border:0}
.ctrl li::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--ok)}
.ctrl li.warn::before{background:#d08b00}.ctrl li.ko::before{background:var(--ko)}
.ctrl li.ko{color:var(--ko);font-weight:600}

/* ---------- anteprime grafiche ---------- */
.ante{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden}
.ante.v{aspect-ratio:9/16;max-width:220px}
.schede{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.scheda{background:var(--sup);border:1px solid var(--bordo);border-radius:var(--r2);overflow:hidden;display:flex;flex-direction:column}
.scheda .ante{border-radius:0}
.scheda-c{padding:12px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.scheda-c b{font-size:.98rem;line-height:1.25}
.scheda-az{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.scheda.scelta{outline:3px solid var(--acc);outline-offset:-3px}

/* ---------- mappa ---------- */
.mappa{height:460px;border-radius:var(--r2);border:1px solid var(--bordo);background:#dfe7ee;z-index:1}
.mappa.alta{height:calc(100vh - 230px);min-height:420px}
.pin{width:30px;height:30px;border-radius:9px 9px 9px 2px;transform:rotate(-45deg);display:grid;place-items:center;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.pin i{transform:rotate(45deg);color:#fff;font:700 11px/1 var(--f);font-style:normal}
.pin.online{background:#11703a}.pin.offline{background:#b3261e}.pin.spento{background:#5f6b77}.pin.mai{background:#a86400}.pin.proposto{background:#5b35a8}.pin.in_installazione{background:#0b5cad}
.leaflet-popup-content{font:14px/1.4 var(--f)}
.leaflet-popup-content b{font-size:15px}
.legenda{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem;color:var(--tx2);margin:8px 0}
.legenda span{display:inline-flex;align-items:center;gap:6px}.legenda i{width:12px;height:12px;border-radius:3px;display:inline-block}

/* ---------- semaforo disponibilità ---------- */
.cal{border-collapse:separate;border-spacing:3px;font-size:.82rem}
.cal th{font-weight:600;color:var(--tx2);padding:4px 6px;white-space:nowrap}
.cal td{width:58px;height:38px;border-radius:6px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.cal td.libero{background:#dff3e6;color:#0d5a2f}.cal td.parziale{background:#c9ead5;color:#0d5a2f}.cal td.opzionato{background:#fde7bd;color:#7a4a00}.cal td.venduto{background:#f6d0cc;color:#8f1d17}
.cal th.sch{text-align:left;min-width:200px}

/* ---------- barra del loop ---------- */
.loopbar{display:flex;height:46px;border-radius:8px;overflow:hidden;border:1px solid var(--bordo);background:#f2f4f7}
.loopbar>span{display:flex;align-items:center;justify-content:center;min-width:0;padding:0 4px;font-size:.72rem;font-weight:700;color:#fff;border-right:1px solid rgba(255,255,255,.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.loopbar .commerciale{background:var(--acc)}.loopbar .comune{background:#11703a}.loopbar .riempitivo{background:#5b35a8}.loopbar .libero{background:#9aa6b2}

/* ---------- piede ---------- */
.piede{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;padding:18px 16px 6px;font-size:.88rem;color:var(--tx3);border-top:1px solid var(--bordo);background:var(--sup)}
.piede a{color:var(--tx2);display:inline-flex;align-items:center;gap:6px;min-height:32px}
.piede-admin{border:0;padding:4px 16px 18px;margin:0}

/* ---------- pagine pubbliche ---------- */
.pubblica .wrap{max-width:1180px;margin:0 auto}
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center;margin:8px 0 26px}
.hero h1{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:900;letter-spacing:-.01em}
.hero p{font-size:1.1rem;color:var(--tx2);max-width:60ch}
.strada{position:relative;border-radius:var(--r2);overflow:hidden;box-shadow:var(--ombra2);background:#0d141c}
.vetrina-led{position:absolute}

@media (max-width:980px){
  .griglia-2,.hero{grid-template-columns:1fr}
}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav{position:fixed;left:0;top:64px;bottom:0;z-index:40;transform:translateX(-102%);transition:transform .2s ease-out;box-shadow:var(--ombra2);height:auto}
  .nav.aperto{transform:none}
  .wrap{padding:18px 14px 32px}
  .chi{display:none}
  .cifra{flex-basis:45%;border-bottom:1px solid var(--bordo)}
}
@media print{
  .nav,.top,.demo-bar,.piede,.testata-az,.no-stampa,.toast{display:none!important}
  body{background:#fff}.wrap{padding:0;max-width:none}.pan{border:0;padding:0}
}

/* ---------- vista strada simulata ---------- */
.strada{position:relative;border-radius:var(--r2);overflow:hidden;background:#0d141c;aspect-ratio:16/10}
.strada>img{position:absolute;inset:0;width:100%;height:100%;display:block}
.strada .ante{position:absolute;max-width:none;border-radius:0;box-shadow:0 0 40px rgba(140,180,255,.35)}
.strada figcaption{position:absolute;left:10px;bottom:8px;color:#dfe8f3;font-size:.8rem;background:rgba(0,0,0,.45);padding:2px 8px;border-radius:6px}
/* ---------- finestre (novità, guida) ---------- */
dialog.fin{border:0;border-radius:var(--r2);padding:24px;max-width:min(560px,92vw);box-shadow:var(--ombra2);color:var(--tx);font-family:var(--f)}
dialog.fin::backdrop{background:rgba(10,20,30,.45)}
dialog.fin ul{padding-left:1.2em}
.fab{position:fixed;right:18px;bottom:18px;z-index:60;box-shadow:var(--ombra2);border-radius:999px}
.accessi{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.accessi button{text-align:left;justify-content:flex-start}
.cod{font-family:ui-monospace,Consolas,monospace;font-size:.92em;background:var(--sup2);padding:2px 6px;border-radius:4px;word-break:break-all}

/* ---------- pagine aggiunte 18/10 ---------- */
.testo{max-width:960px}
.testo h2{margin-top:1.4em}.testo li{margin:.3em 0}
.indice{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.indice a{padding:6px 12px;border:1px solid var(--bordo);border-radius:999px;background:var(--sup);text-decoration:none;color:var(--tx2);font-weight:600;font-size:.9rem}
.indice a:hover{border-color:var(--acc);color:var(--acc)}
.funz{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px 26px;margin:0}
.funz dt{font-weight:700}.funz dd{margin:2px 0 0;color:var(--tx2);font-size:.95rem}
.passi{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 16px;counter-reset:p}
.passi li{counter-increment:p;padding:6px 14px 6px 8px;border-radius:999px;background:var(--sup);border:1px solid var(--bordo);font-weight:600;color:var(--tx2)}
.passi li::before{content:counter(p);display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--grey-bg);margin-right:8px}
.passi li.fatto::before{background:var(--ok);color:#fff}.passi li.ora::before{background:var(--acc);color:#fff}
.schede-larghe{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr))}
.dati{list-style:none;padding:0;margin:4px 0;font-size:.9rem}
.dati li{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px dashed #e6ebf0}
.dati li span{color:var(--tx3)}.dati li b{text-align:right;font-weight:600}
.gantt{display:flex;flex-direction:column;gap:10px}
.g-riga{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;align-items:center}
.g-nome small{display:block;color:var(--tx3);font-size:.82rem;line-height:1.35}
.g-barra{background:var(--sup2);border-radius:6px;height:30px;position:relative}
.g-barra span{display:flex;align-items:center;justify-content:center;height:100%;background:var(--acc);color:#fff;border-radius:6px;font-size:.78rem;font-weight:700;white-space:nowrap}
.menu-schede .voce{flex-direction:row;align-items:center;text-decoration:none;color:var(--tx);min-height:84px}
.menu-schede .voce:hover{border-color:var(--acc)}
.voce-i{display:grid;place-items:center;width:52px;height:52px;margin-left:14px;border-radius:12px;background:color-mix(in srgb,var(--acc) 10%,#fff);color:var(--acc);flex:none}
.voce-i .i{width:26px;height:26px}
.cert{max-width:860px}.cert-t{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.piccolo{font-size:.82rem;color:var(--tx3)}
.segn{border-top:1px solid var(--bordo);padding-top:10px;margin-top:10px}
.admin-top{background:linear-gradient(90deg,#fff8e1,#fff)}
@media (max-width:700px){.g-riga{grid-template-columns:1fr}}
.offerta{border:2px solid var(--acc)}
.prezzi s{color:var(--tx3)}.prezzi td.num b{color:var(--ok);font-size:1.1rem}
.cfy{margin-top:16px;padding:14px 18px;border-radius:var(--r2);background:#fff8e1;border:1px solid #f1d6a4}
.cfy h3{margin:0 0 .3em}
/* ---------- app inserzionisti ---------- */
.ins-app .wrap{max-width:1180px;margin:0 auto}
.ins-tab{display:flex;gap:4px;padding:6px 10px;background:var(--sup);border-bottom:1px solid var(--bordo);overflow-x:auto;position:sticky;top:64px;z-index:20}
.ins-tab a{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:var(--r);color:var(--tx2);text-decoration:none;font-weight:600;white-space:nowrap;position:relative}
.ins-tab a.on{background:color-mix(in srgb,var(--acc) 10%,#fff);color:var(--acc)}
.ins-tab a:hover{background:var(--sup2)}
.ins-altro{position:relative}.ins-altro summary{list-style:none;cursor:pointer}.ins-altro summary::-webkit-details-marker{display:none}
.ins-altro nav{position:absolute;right:0;top:calc(100% + 6px);background:var(--sup);border:1px solid var(--bordo);border-radius:var(--r2);box-shadow:var(--ombra2);padding:6px;min-width:230px;z-index:50;display:flex;flex-direction:column}
.ins-altro nav a{padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--tx)}.ins-altro nav a:hover{background:var(--sup2)}
.ins-entra main{padding-top:30px}.ins-logo{display:flex;gap:12px;align-items:center;margin:10px 0 18px}.ins-logo small{display:block;color:var(--tx3)}
input.pin{font-size:1.8rem;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}
.ins-logo-img{background:#fff;border:1px solid var(--bordo)}
.barre{display:flex;align-items:flex-end;gap:3px;height:180px;padding-top:10px;border-bottom:1px solid var(--bordo)}
.barre span{flex:1;background:var(--acc);border-radius:3px 3px 0 0;position:relative;min-width:6px}
.barre i{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:.65rem;font-style:normal;color:var(--tx3)}
.barre{margin-bottom:22px}
.sem-r{display:inline-flex;gap:3px}.sem-r i{width:18px;height:18px;border-radius:4px;display:inline-block;opacity:.55}
.sem-r i.scelta{opacity:1;outline:2px solid var(--tx);outline-offset:1px}
.s-ok{background:#2e9e5b}.s-warn{background:#e0a000}.s-ko{background:#c62828}
.totale{font-size:1.15rem;margin:14px 0 4px}
.palette{display:flex;gap:8px;margin:10px 0}.palette span{width:40px;height:40px;border-radius:10px;border:1px solid rgba(0,0,0,.1)}
.logo-anteprima img{max-width:260px;max-height:110px;object-fit:contain;background:#f6f8fb;border-radius:10px;padding:8px}
.scheletro .ante{background:linear-gradient(90deg,#e6ebf1,#f4f6f9,#e6ebf1);background-size:200% 100%;animation:sch 1.2s linear infinite}
@keyframes sch{to{background-position:-200% 0}}
.evid{outline:3px solid var(--acc)}
@media (prefers-reduced-motion:reduce){.scheletro .ante{animation:none}}
