:root{--blu:#16304D;--blu2:#0B1A2C;--ara:#E56B10;--ara2:#C45D0C;--ara-ch:#FFF1E4;--fondo:#F7F5F1;--ink:#141C26;--grigio:#536173;--linea:#E3E0D9;--tenue:#EFEBE4;--acqua:#1F6FB2;--acqua-ch:#E6F0F8;--ok:#1E7B4F;--ok-ch:#E5F3EC;--att:#B54708;--r:14px}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--fondo);color:var(--ink);font:15px/1.45 Manrope,"Segoe UI",system-ui,sans-serif}
button,select,input{font:inherit;color:inherit}
a{color:var(--acqua)}
.app{display:grid;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);height:100dvh}
.top{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--linea);min-width:0}
.top img{height:30px}
.top .tit{display:flex;flex-direction:column;line-height:1.15;min-width:0;flex:1}
.top .tit b{font-size:16px;color:var(--blu);white-space:nowrap}
.top .tit small{color:var(--grigio);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sel{height:38px;border-radius:11px;border:1.5px solid var(--linea);background:#fff;padding:0 10px;font-weight:700;font-size:13.5px;color:var(--blu);max-width:100%}
.bt{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 13px;border-radius:11px;border:1.5px solid var(--linea);background:#fff;cursor:pointer;font-weight:700;font-size:13.5px;white-space:nowrap;color:var(--blu);text-decoration:none}
.bt:hover{border-color:var(--blu)}
.bt.on{background:var(--blu);border-color:var(--blu);color:#fff}
.bt.ara{background:var(--ara);border-color:var(--ara);color:#fff}
.bt.ara:hover{background:var(--ara2)}
.bt.pic{min-height:30px;padding:0 9px;font-size:12.5px;border-radius:9px}
.bt[disabled]{opacity:.5;cursor:not-allowed}
.corpo{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:0}
.lato{background:#fff;border-right:1px solid var(--linea);overflow:auto;padding:14px 12px 30px}
.lato h3{font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--grigio);margin:16px 6px 8px}
.lato h3:first-child{margin-top:2px}
.cant{display:block;width:100%;text-align:left;border:1.5px solid var(--linea);background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:8px;cursor:pointer}
.cant b{display:block;color:var(--blu);font-size:14px;line-height:1.25}
.cant small{color:var(--grigio);font-size:12px}
.cant.on{border-color:var(--ara);background:var(--ara-ch)}
.cant .mio{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--blu);color:#fff;border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:1px}
.mod{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:none;border-radius:10px;padding:9px 10px;cursor:pointer;font-weight:700;color:var(--ink);font-size:14px}
.mod:hover{background:var(--tenue)}
.mod.on{background:var(--blu);color:#fff}
.mod .pill{margin-left:auto;font-size:10.5px;font-weight:800;border-radius:999px;padding:1px 7px;background:var(--tenue);color:var(--grigio)}
.mod.on .pill{background:rgba(255,255,255,.18);color:#fff}
.main{overflow:auto;padding:22px 26px 60px;min-width:0}
.main.pieno{padding:0;overflow:hidden;display:flex;flex-direction:column}
h1{font-size:24px;line-height:1.2;color:var(--blu);margin:0 0 4px}
h2{font-size:18px;color:var(--blu);margin:26px 0 10px}
.sotto{color:var(--grigio);margin:0 0 18px;font-size:14px}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:14px 0 6px}
.kpi div{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:14px 16px}
.kpi small{display:block;color:var(--grigio);font-size:12px;font-weight:700}
.kpi b{display:block;font-size:22px;color:var(--blu);line-height:1.2;margin-top:4px;font-variant-numeric:tabular-nums}
.kpi i{font-style:normal;font-size:12px;color:var(--grigio)}
.card{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:16px 18px;margin-bottom:12px}
.riga{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.barre .b{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,2fr) 110px;gap:10px;align-items:center;padding:5px 0;font-size:13.5px}
.barre .b span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barre .b i{display:block;height:10px;border-radius:6px;background:var(--acqua)}
.barre .b em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
th,td{padding:7px 9px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}
th{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--grigio);background:#FBFAF7;position:sticky;top:0;z-index:1}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tab{border:1px solid var(--linea);border-radius:var(--r);overflow:auto;max-height:62vh}
.desc{max-width:520px;color:#2b3542}
.chip{display:inline-block;font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 8px;background:var(--tenue);color:var(--grigio);white-space:nowrap}
.chip.ok{background:var(--ok-ch);color:var(--ok)}
.chip.pc{background:var(--acqua-ch);color:var(--acqua)}
.chip.att{background:var(--ara-ch);color:var(--att)}
.filtri{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.filtri input{height:38px;border-radius:11px;border:1.5px solid var(--linea);padding:0 12px;min-width:220px;flex:1;max-width:380px}
.cartella{background:#fff;border:1px solid var(--linea);border-radius:var(--r);margin-bottom:10px;overflow:hidden}
.cartella>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 16px;font-weight:800;color:var(--blu)}
.cartella>summary::-webkit-details-marker{display:none}
.cartella>summary small{margin-left:auto;color:var(--grigio);font-weight:700}
.file{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 16px;border-top:1px solid var(--linea);font-size:13.5px}
.sub{display:flex;gap:10px;align-items:baseline;padding:10px 16px 4px;border-top:1px solid var(--linea);background:#FBFAF7}
.sub b{font-size:12.5px;color:var(--blu)}.sub small{color:var(--grigio);font-size:11.5px}
.file .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file .nm small{display:block;color:var(--grigio);font-size:11.5px;overflow:hidden;text-overflow:ellipsis}
.prog{height:10px;border-radius:6px;background:var(--tenue);overflow:hidden;margin:8px 0}
.prog i{display:block;height:100%;width:0;background:var(--ara);transition:width .2s}
.nota{font-size:13px;color:var(--grigio)}
.avviso,.info{overflow-wrap:anywhere}
.avviso{background:var(--ara-ch);border:1px solid #F3C9A3;border-radius:12px;padding:12px 14px;font-size:14px;margin:10px 0}
.info{background:var(--acqua-ch);border:1px solid #C3DAEE;border-radius:12px;padding:12px 14px;font-size:14px;margin:10px 0}
/* 3D */
.v3{display:grid;grid-template-columns:minmax(0,1fr) 330px;flex:1;min-height:0}
.scena{position:relative;min-width:0;min-height:0;background:#F1EEE8}
.scena .ctrl{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}
.scena .ctrl>*{pointer-events:auto}
.scena .leg{position:absolute;bottom:10px;left:12px;font-size:12px;color:var(--grigio);background:rgba(255,255,255,.85);border-radius:8px;padding:4px 8px}
.scena .car{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--grigio)}
.pan3{background:#fff;border-left:1px solid var(--linea);overflow:auto;padding:14px}
.pan3 h4{font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--grigio);margin:14px 0 6px}
.pan3 h4:first-child{margin-top:0}
.piano{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;width:100%;text-align:left;border:1.5px solid var(--linea);background:#fff;border-radius:10px;padding:7px 10px;margin-bottom:5px;cursor:pointer;font-size:13.5px}
.piano b{color:var(--blu)}
.piano small{color:var(--grigio);font-variant-numeric:tabular-nums}
.piano.on{border-color:var(--ara);background:var(--ara-ch)}
.cats label{display:flex;gap:7px;align-items:center;font-size:13px;padding:3px 0}
.cats input{accent-color:var(--ara)}
.sel-el{background:var(--ara-ch);border-radius:10px;padding:10px 12px;font-size:13px}
.sel-el b{color:var(--blu)}
.gantt{background:#fff;border:1px solid var(--linea);border-radius:var(--r);overflow:auto;padding:8px}
.gantt svg{min-width:760px;width:100%;height:auto;display:block}
.fasi input{width:64px;height:30px;border:1.5px solid var(--linea);border-radius:8px;padding:0 6px;text-align:right}
.lotti{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.lotto{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.lotto .chip{align-self:flex-start}
.lotto b{color:var(--blu);font-size:15px;line-height:1.25}
.lotto .imp{font-size:20px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.lotto .riga{margin-top:auto;padding-top:6px}
.modal{position:fixed;inset:0;background:rgba(11,26,44,.55);display:none;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal.on{display:flex}
.modal .box{background:#fff;border-radius:18px;max-width:640px;width:100%;max-height:90vh;overflow:auto;padding:22px}
.modal .box.largo{max-width:1100px;height:90vh;display:flex;flex-direction:column}
.modal .box h2{margin-top:0}
.modal iframe,.modal .anteprima img{width:100%;flex:1;border:1px solid var(--linea);border-radius:10px;min-height:0}
.modal .anteprima{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;background:#F1EEE8;border-radius:10px}
.modal .anteprima img{flex:none;max-width:100%;height:auto;border:0}
.campo{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--grigio);margin-bottom:10px}
.campo input,.campo select{height:40px;border-radius:10px;border:1.5px solid var(--linea);padding:0 10px;font-weight:600;color:var(--ink)}
.az{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}
.vuoto{text-align:center;color:var(--grigio);padding:40px 10px}
.menu-mob{display:none}
@media (max-width:900px){
 .corpo{grid-template-columns:minmax(0,1fr)}
 .lato{display:none;position:fixed;inset:57px 0 0 0;z-index:40;border-right:0}
 .lato.aperto{display:block}
 .menu-mob{display:inline-flex}
 .main{padding:16px 16px 60px}
 .v3{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(320px,55vh) auto;overflow:auto}
 .pan3{border-left:0;border-top:1px solid var(--linea)}
 .top .tit{display:none}
 .top a.bt{display:none}
 .top{gap:8px}
 .top .sel{flex:1;min-width:0}
 .barre .b{grid-template-columns:minmax(0,1fr) 90px}
 .barre .b span:nth-child(2){display:none}
 .file{grid-template-columns:minmax(0,1fr) auto}
 .file .chip{display:none}
}
@media print{.lato,.top,.bt{display:none!important}.main{overflow:visible}}

.griglia2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:12px}
.card h3{margin:0 0 10px;font-size:15px;color:var(--blu)}
.card table td{font-size:13px}
.fonte{display:block;margin-top:8px;color:var(--grigio);font-size:11.5px}
.fonte a,.fonti a{color:var(--acqua)}
.fonti{margin:0;padding-left:18px;font-size:13px}
.mesi{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;height:130px;align-items:end;margin-top:8px}
.mesi div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px}
.mesi i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:var(--acqua)}
.mesi small{font-size:11px;color:var(--grigio)}
.semaforo{display:flex;flex-direction:column;gap:2px;border-radius:14px;padding:14px 18px;margin-bottom:12px;color:#fff}
.semaforo b{font-size:20px}.semaforo.ok{background:var(--ok)}.semaforo.att{background:var(--ara)}.semaforo.pc{background:#B42318}
.check{list-style:none;margin:0;padding:0;font-size:13.5px}.check li{padding:4px 0}.check li.si{color:var(--ok)}.check li.no{color:var(--att)}
.sugg{position:absolute;top:44px;left:0;z-index:5;display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:12px;box-shadow:0 10px 30px rgba(11,26,44,.12);min-width:280px;max-height:320px;overflow:auto}
.sugg:empty{display:none}.sugg button{border:0;background:none;text-align:left;padding:9px 12px;cursor:pointer;font-weight:700;color:var(--blu)}.sugg button:hover{background:var(--tenue)}.sugg small{color:var(--grigio);font-weight:600}
@media print{.noprint,.filtri,.lato,.top{display:none!important}.app{display:block;height:auto}.corpo{display:block}.main{overflow:visible;padding:0}.card,.kpi div{break-inside:avoid}body{background:#fff}}

.miei{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:6px 6px 10px;cursor:pointer;font:800 11.5px Manrope,system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--grigio)}
.miei span{flex:1;text-align:left}.miei small{font-size:11px;background:var(--tenue);border-radius:999px;padding:1px 8px;letter-spacing:0}.miei i{font-style:normal;font-size:13px;color:var(--blu)}
.miei:hover span{color:var(--blu)}.miei:focus-visible{outline:3px solid var(--ara);outline-offset:2px;border-radius:8px}
/* cruscotto: andamento, moduli in prova, gare */
.mod.casa{background:var(--ara-ch);color:var(--att);margin-bottom:4px}.mod.casa.on{background:var(--ara);color:#fff}
.mod .pill.prova{background:var(--ara-ch);color:var(--att)}.mod .pill.chiuso{background:none;padding:0 2px;font-size:12px}
.kpi4{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.kpi4 b{font-size:26px}
.blocco{position:relative;max-width:760px;border-color:#F2C9A6;background:linear-gradient(180deg,#FFF8F1,#fff 60%)}.blocco .ic{position:absolute;right:18px;top:14px;font-size:34px;opacity:.25}
.modgriglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px}
.modc{display:flex;flex-direction:column;gap:6px}.modc .check{margin:4px 0 0;font-size:13.5px}.modc .prezzo{margin:auto 0 4px;color:var(--grigio)}.modc .prezzo b{color:var(--blu);font-size:17px}
.modc.tutto{border:2px solid var(--ara);background:#FFF8F1}
.modchips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:10px}
.modchip{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;text-align:left;border:1px solid var(--linea);background:#fff;border-radius:var(--r);padding:12px 14px;cursor:pointer;font:inherit;font-weight:700;color:var(--ink)}
.modchip span{grid-row:span 2;font-size:20px}.modchip small{font-weight:600;color:var(--grigio);font-size:12px}
.modchip.ok{border-color:#BFE0CF}.modchip.ok small{color:var(--ok)}.modchip.prova{border-color:#F2C9A6}.modchip.prova small{color:var(--att)}
.modchip:hover{border-color:var(--ara)}
.dafare{list-style:none;margin:0;padding:0;display:grid;gap:8px}.dafare li{display:flex;gap:10px;align-items:flex-start;font-size:14px}.dafare li span{padding-top:4px}
.zone{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.zone .chip{display:inline-flex;align-items:center;gap:4px}.zone .x{border:0;background:none;cursor:pointer;font-weight:800;color:var(--grigio);padding:0 2px;font-size:14px}
.anteprima-mod{margin-bottom:12px}
@media print{.modchips,.blocco{display:none}}
.verdetto{display:flex;flex-direction:column;gap:2px;border-width:2px}.verdetto small{color:var(--grigio);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.verdetto b{font-size:30px;line-height:1.1}
.verdetto.v-ok{border-color:#BFE0CF;background:var(--ok-ch)}.verdetto.v-ok b{color:var(--ok)}.verdetto.v-att{border-color:#F2C9A6;background:var(--ara-ch)}.verdetto.v-att b{color:var(--att)}.verdetto.v-no{border-color:#F3C3BC;background:#FDECEA}.verdetto.v-no b{color:#A3271B}
.check li.att{color:var(--att)}
.logo-box{width:180px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.logo-box img{max-width:170px;max-height:80px;border:1px solid var(--linea);border-radius:10px;padding:6px;background:#fff}.logo-box>span{display:grid;place-items:center;width:170px;height:70px;border:1.5px dashed var(--linea);border-radius:10px}
.agev p{font-size:14px}.agev a{color:var(--acqua)}
/* video 3D sotto «Il mio andamento»: effetto spaziale, numeri e grafici in vetro */
.hero3d{position:relative;margin:-6px -6px 18px;border-radius:22px;overflow:hidden;background:radial-gradient(ellipse at 30% 20%,#12305A 0%,#071226 55%,#050B16 100%);min-height:560px;isolation:isolate;box-shadow:0 18px 50px rgba(5,11,22,.35)}
.hero3d .hero3d-cv{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block}
.hero3d::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(5,11,22,.55) 0%,rgba(5,11,22,0) 30%,rgba(5,11,22,0) 62%,rgba(5,11,22,.75) 100%)}
.hero-sopra{position:relative;z-index:2;padding:22px 22px 18px;color:#EAF2FF}
.hero-sopra h1{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.5)}.hero-sopra .sotto{color:#B9C8DD}
.hero-sopra .kpi div,.hero-sopra .card{background:rgba(8,18,34,.52);border:1px solid rgba(127,211,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#EAF2FF}
.hero-sopra .kpi b{color:#fff;text-shadow:0 0 18px rgba(127,211,255,.35)}.hero-sopra .kpi small,.hero-sopra .kpi i,.hero-sopra .nota{color:#B9C8DD}
.hero-sopra .card h3{color:#fff}.hero-sopra svg text{fill:#C9D6EA}.hero-sopra svg rect[fill="#16304D"]{fill:#7FD3FF}
.hero-sopra .bt.pic{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)}
.hero-sopra .info{background:rgba(31,111,178,.25);border-color:rgba(127,211,255,.35);color:#EAF2FF}
.hero-sopra .griglia2{margin-top:150px}
.hero-nota{margin:10px 0 0;font-size:12px}
.hero3d.senza3d{background:linear-gradient(135deg,#16304D,#0B1A2C)}
@media (max-width:700px){.hero3d{min-height:0;margin:-4px -4px 14px}.hero-sopra{padding:16px 12px}.hero-sopra .griglia2{margin-top:120px}}
@media print{.hero3d{background:none;box-shadow:none}.hero3d .hero3d-cv{display:none}.hero-sopra{color:#000}}
.hero3d .scena-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;z-index:0;display:block}
/* il video resta libero: numeri leggeri in alto, grafici trasparenti in basso (22.10 17:48) */
.hero3d{min-height:clamp(640px,86vh,900px)}
.hero-sopra{display:flex;flex-direction:column;min-height:inherit;box-sizing:border-box}
.hero-sopra .kpi div{background:rgba(6,14,28,.30);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border-color:rgba(127,211,255,.16);padding:10px 14px}
.hero-sopra .kpi b{font-size:22px}
.hero-sopra .griglia2{margin-top:auto!important}
.hero-sopra .griglia2 .card{background:transparent!important;border:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none;padding:6px 8px}
.hero-sopra .griglia2 .card h3{font-size:14px;letter-spacing:.02em;text-shadow:0 1px 10px rgba(0,0,0,.8)}
.hero-sopra .griglia2 .nota{display:none}
.hero-sopra .griglia2 svg{max-height:150px}
.hero-sopra .griglia2 svg rect{opacity:.82}
.hero-sopra svg text{text-shadow:0 1px 6px #000}
.hero3d::after{background:linear-gradient(180deg,rgba(5,11,22,.6) 0%,rgba(5,11,22,0) 22%,rgba(5,11,22,0) 66%,rgba(5,11,22,.62) 100%)}
@media (max-width:700px){.hero3d{min-height:clamp(560px,92vh,820px)}.hero-sopra .kpi{grid-template-columns:1fr 1fr;gap:8px}.hero-sopra .kpi b{font-size:18px}.hero-sopra .kpi i{display:none}.hero-sopra .griglia2 svg{max-height:110px}}
.lato .mod.casa{justify-content:flex-start;text-align:left}
/* albo fornitori dal roll-up */
.albo-lista{display:grid;gap:10px}
.albo-c{background:#fff;border:1px solid #E3E8EF;border-radius:14px;padding:14px 16px}
.albo-t{display:flex;justify-content:space-between;gap:10px;align-items:center}
.albo-t b{color:#16304D;font-size:15px}
.albo-m{margin:8px 0 0;color:#33475B;font-size:14px}
.albo-az{margin-top:10px;gap:6px;flex-wrap:wrap}
.chip.att{background:#FFF1E2;color:#B4520A}.chip.no{background:#F1F3F6;color:#6B7785}
.albo-avviso{margin-top:12px;background:rgba(229,107,16,.92);color:#fff;border:0}
.albo-avviso .bt{background:#fff;color:#B4520A}

/* ---- azioni rapide, guida, stati vuoti (22.10 sera) ---- */
.azioni-rapide{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:0 0 18px}
.azioni-rapide .ar{display:flex;align-items:center;gap:10px;min-height:58px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--linea);background:#fff;color:var(--blu);font:800 15px var(--font,Manrope),system-ui,sans-serif;text-align:left;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.azioni-rapide .ar:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(22,48,77,.12);border-color:#cfd8e3}
.azioni-rapide .ar.prima{background:#E56B10;border-color:#E56B10;color:#fff}
.azioni-rapide .ar.prima:hover{background:#cc5d0c}
.azioni-rapide .ar i{font-style:normal;font-size:19px;width:24px;text-align:center}
.guida-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:linear-gradient(90deg,#0B1A2C,#16304D);color:#D6E0EB;margin:0 0 18px}
.guida-card b{color:#fff;font-size:16px;display:block}
.guida-card span{font-size:14px}
.guida-card .bt{margin-left:auto;background:#E56B10;border-color:#E56B10;color:#fff;white-space:nowrap}
.guida-card .play{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;flex:none;color:#F28A3C;font-size:16px}
.top .guida-bt{white-space:nowrap}
.vuoto-card{background:#fff;border:1px solid var(--linea);border-radius:18px;padding:26px;max-width:760px;margin:10px 0 18px}
.vuoto-card h2{margin:0 0 8px;color:var(--blu)}
.vuoto-card p{color:var(--grigio);margin:0 0 14px}
.passi-v{list-style:none;counter-reset:pv;margin:14px 0 18px;padding:0;display:grid;gap:12px}
.passi-v li{counter-increment:pv;display:grid;grid-template-columns:34px 1fr;column-gap:12px}
.passi-v li::before{content:counter(pv);grid-row:span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blu);color:#fff;font-weight:800}
.passi-v b{color:var(--blu)}
.passi-v span{color:var(--grigio);font-size:14px}
@media (max-width:720px){.top .guida-bt span{display:none}.guida-card{flex-wrap:wrap}.guida-card .bt{margin-left:0}}
.hero-sopra .azioni-rapide{margin:14px 0 16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.hero-sopra .azioni-rapide .ar{background:rgba(8,18,34,.55);border-color:rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero-sopra .azioni-rapide .ar:hover{background:rgba(8,18,34,.75);border-color:rgba(255,255,255,.4)}
.hero-sopra .azioni-rapide .ar.prima{background:#E56B10;border-color:#E56B10}
.hero-sopra .azioni-rapide .ar.guida{background:transparent;border-style:dashed;color:#F6C49B}
.hero-sopra .azioni-rapide .ar.guida i{color:#F28A3C}
@media (max-width:720px){.azioni-rapide,.hero-sopra .azioni-rapide{grid-template-columns:1fr 1fr;gap:8px}.azioni-rapide .ar{min-height:52px;font-size:14px;padding:10px 12px;gap:8px}.azioni-rapide .ar.guida{grid-column:1/-1;min-height:44px}#ruolo{display:none}}
.abilita .ab-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 14px;margin:6px 0 12px}
.abilita .campo{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:var(--blu)}
.abilita .campo input,.abilita .campo select{height:40px;border:1.5px solid var(--linea);border-radius:10px;padding:0 10px;font:500 14px inherit;background:#fff}
.abilita .ab-nota{grid-column:1/-1}
.az-mod{display:flex;flex-wrap:wrap;gap:6px}

/* ---------- 23.10.2026 · sfondo dei cruscotti: tavola tecnica nei colori AncheCasa, niente foto ---------- */
.hero3d.tavola{min-height:0!important;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='300' viewBox='0 0 520 300'%3E%3Cg fill='none' stroke='%237FB4E6' stroke-opacity='.22' stroke-width='1'%3E%3Cpath d='M40 250h440M40 244v12M480 244v12M60 60v170M54 60h12M54 230h12'/%3E%3Cpath d='M120 220V110l90-50 90 50v110zM160 220v-60h40v60M240 150h40v30h-40z' stroke-opacity='.18'/%3E%3Ccircle cx='400' cy='120' r='46' stroke-dasharray='3 5'/%3E%3Cpath d='M400 60v120M340 120h120' stroke-dasharray='2 6'/%3E%3C/g%3E%3C/svg%3E") right -40px bottom -30px/520px 300px no-repeat,
  linear-gradient(rgba(127,180,230,.06) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(90deg,rgba(127,180,230,.06) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(rgba(127,180,230,.11) 1px,transparent 1px) 0 0/120px 120px,
  linear-gradient(90deg,rgba(127,180,230,.11) 1px,transparent 1px) 0 0/120px 120px,
  radial-gradient(ellipse at 92% -10%,rgba(229,107,16,.22),transparent 42%),
  linear-gradient(160deg,#16304D 0%,#10263F 50%,#0A1A2C 100%)}
.hero3d.tavola::after{display:none}
.hero3d.tavola .hero-sopra{min-height:0}
.hero3d.tavola .hero-sopra .griglia2{margin-top:18px!important}
.hero3d.tavola .hero-sopra .griglia2 .card{background:rgba(255,255,255,.05)!important;border:1px solid rgba(127,180,230,.18)!important;border-radius:14px;padding:12px 14px}
.hero3d.tavola .hero-sopra .griglia2 .nota{display:block}
.hero3d.tavola .scena-canvas,.hero3d.tavola .hero3d-cv{display:none!important}

/* ---------- squadra, fasi, documenti, titolare, gare in analisi ---------- */
.sq-pagina{max-width:1080px}
.sq-banner{display:flex;gap:12px;align-items:center;background:#FFF7EC;border:1px solid #F3C99B;color:#5A3511;border-radius:14px;padding:12px 14px;margin:0 0 16px;font-size:14px;line-height:1.45}
.sq-banner small{color:#7A5634}.sq-banner .bt{margin-left:auto;flex:none}
.sq-banner.no{background:#FDECEC;border-color:#F2B8B5;color:#7A1F1A}
.sq-dot{width:10px;height:10px;border-radius:50%;background:var(--ara);flex:none;box-shadow:0 0 0 0 rgba(229,107,16,.5);animation:sqpulse 2s infinite}
@keyframes sqpulse{70%{box-shadow:0 0 0 10px rgba(229,107,16,0)}100%{box-shadow:0 0 0 0 rgba(229,107,16,0)}}
.sq-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0B1A2C;color:#fff;padding:12px 18px;border-radius:14px;z-index:400;font-weight:700;max-width:min(92vw,560px);box-shadow:0 12px 30px rgba(0,0,0,.25);transition:opacity .4s}
.sq-toast.ok{background:var(--ok)}.sq-toast.via{opacity:0}
.sq-card{background:#fff;border:1px solid var(--linea);border-radius:18px;padding:18px;margin:0 0 16px}
.sq-card h2{margin:0 0 8px;font-size:18px;color:var(--blu)}
.sq-evid{border:2px solid var(--ara);box-shadow:0 10px 30px rgba(229,107,16,.10)}
.sq-tit2{display:flex;align-items:baseline;gap:10px;justify-content:space-between;margin-bottom:6px}.sq-tit2 h2{margin:0}.sq-tit2 small{color:var(--grigio);font-size:12px}
.sq-saluto{background:linear-gradient(160deg,#16304D,#0A1A2C);color:#fff;border-radius:20px;padding:20px 20px 22px;margin:0 0 14px;position:relative;overflow:hidden}
.sq-saluto::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(127,180,230,.08) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,rgba(127,180,230,.08) 1px,transparent 1px) 0 0/22px 22px;pointer-events:none}
.sq-saluto small{color:#B9C8DD;text-transform:capitalize}.sq-saluto h1{color:#fff;margin:4px 0 0;font-size:28px}
.sq-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.sq-kpi div{background:#fff;border:1px solid var(--linea);border-radius:16px;padding:12px 14px}
.sq-kpi small{display:block;color:var(--grigio);font-size:12px}.sq-kpi b{display:block;font-size:26px;color:var(--blu);line-height:1.15;margin:2px 0}.sq-kpi i{font-style:normal;font-size:12px;color:var(--grigio)}
.sq-kpi div.no{border-color:#F2B8B5;background:#FFF6F5}.sq-kpi div.no b{color:#B42318}
.sq-gara{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--tenue)}
.sq-gara:first-of-type{border-top:0}
.sq-ind{width:58px;height:58px;border-radius:16px;display:grid;place-content:center;text-align:center;line-height:1}
.sq-ind b{font-size:22px}.sq-ind small{font-size:10px;opacity:.75}
.sq-ind.ok{background:var(--ok-ch);color:var(--ok)}.sq-ind.att{background:#FFF1E4;color:var(--att)}.sq-ind.no{background:#FDECEC;color:#B42318}
.sq-gtesto{display:flex;flex-direction:column;gap:3px;min-width:0}.sq-gtesto>b{font-size:14.5px;line-height:1.35}.sq-gtesto span{font-size:13px;color:var(--grigio)}
.sq-gtesto em{font-style:normal;font-weight:800}.sq-gtesto em.ok{color:var(--ok)}.sq-gtesto em.att{color:var(--att)}.sq-gtesto em.no{color:#B42318}
.sq-gtesto details{margin-top:4px}.sq-gtesto summary{cursor:pointer;color:var(--acqua);font-size:13px;font-weight:700}
.sq-gbt{display:flex;flex-direction:column;gap:6px}
.sq-fatt{list-style:none;padding:0;margin:8px 0}.sq-fatt li{padding:6px 0 6px 22px;border-bottom:1px dashed var(--tenue);font-size:13px;position:relative}
.sq-fatt li::before{position:absolute;left:0;top:6px;font-weight:800}.sq-fatt li.si::before{content:"✓";color:var(--ok)}.sq-fatt li.att::before{content:"!";color:var(--att)}.sq-fatt li.no::before{content:"✗";color:#B42318}
.sq-fatt em{float:right;font-style:normal;color:var(--grigio)}
.sq-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;background:var(--tenue);color:var(--blu);border:1px solid transparent;white-space:nowrap}
.sq-chip.ok,.sq-chip.s-partecipiamo{background:var(--ok-ch);color:var(--ok)}.sq-chip.att,.sq-chip.s-in_analisi{background:#FFF1E4;color:var(--att)}.sq-chip.no,.sq-chip.s-non_partecipiamo{background:#FDECEC;color:#B42318}.sq-chip.s-inviata{background:var(--acqua-ch);color:var(--acqua)}
button.sq-chip{cursor:pointer;font:inherit;font-size:12.5px;font-weight:700;padding:7px 12px}button.sq-chip.on{border-color:currentColor;box-shadow:0 0 0 2px currentColor inset}
.sq-sem{list-style:none;padding:0;margin:0}.sq-sem li button{display:grid;grid-template-columns:14px minmax(0,1fr) 90px auto;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--tenue);padding:11px 2px;cursor:pointer}
.sq-sem li:first-child button{border-top:0}.sq-sem li button:hover{background:var(--fondo)}
.sq-sem i{width:12px;height:12px;border-radius:50%}.sq-sem i.l0{background:#2E9D67}.sq-sem i.l1{background:#E8A33A}.sq-sem i.l2{background:#D93D32;box-shadow:0 0 0 4px rgba(217,61,50,.15)}
.sq-sem span b{display:block;font-size:14px}.sq-sem span small{display:block;color:var(--grigio);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sq-pc{height:6px;background:var(--tenue);border-radius:9px;overflow:hidden}.sq-pc em{display:block;height:100%;background:var(--acqua)}
.sq-sem strong{font-size:13px;color:var(--blu);white-space:nowrap}
.sq-inv{list-style:none;padding:0;margin:0}.sq-inv li{padding:9px 0;border-top:1px solid var(--tenue);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sq-inv li:first-child{border-top:0}
.sq-inv li>button{display:flex;gap:10px;align-items:center;width:100%;background:none;border:0;text-align:left;cursor:pointer;padding:0}
.sq-inv li>button span b{display:block;font-size:14px}.sq-inv li>button span small{color:var(--grigio);font-size:12px}
.sq-tutte{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.sq-tutte button{display:flex;gap:8px;align-items:center;background:var(--fondo);border:1px solid var(--linea);border-radius:12px;padding:10px;cursor:pointer;text-align:left;font-size:13px;font-weight:700;color:var(--blu)}
.sq-tutte button:hover{border-color:var(--ara)}
.sq-scelte{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:8px 0}
.sq-scelta{text-align:left;background:var(--fondo);border:1.5px solid var(--linea);border-radius:14px;padding:10px 12px;cursor:pointer}
.sq-scelta b{display:block;color:var(--blu)}.sq-scelta span{display:block;font-size:12px;color:var(--grigio)}.sq-scelta:hover{border-color:var(--ara);background:var(--ara-ch)}
.sq-riga{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.sq-riga input,.sq-riga select,.sq-nuova input,.sq-nuova select,.sq-mod input,.sq-mod select{height:42px;border:1.5px solid var(--linea);border-radius:10px;padding:0 10px;background:#fff;min-width:0}
.sq-riga input{flex:1 1 180px}
.sq-nuova{border:0;padding:10px 0;margin:0;border-top:1px solid var(--tenue);display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1fr 1fr;gap:8px}
.sq-nuova:first-child{border-top:0}
.sq-cant{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;background:var(--fondo);border-radius:10px;padding:8px 10px}.sq-cant small{width:100%;color:var(--grigio)}
.sq-ruoli{margin-top:12px;font-size:13px}.sq-ruoli summary{cursor:pointer;color:var(--acqua);font-weight:700}.sq-ruoli ul{padding-left:18px}
.sq-lista{display:flex;flex-direction:column}
.sq-pers{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px 0;border-top:1px solid var(--tenue)}.sq-pers:first-child{border-top:0}
.sq-pers.io{background:linear-gradient(90deg,var(--ara-ch),transparent);border-radius:12px;padding-left:6px}
.sq-av{width:40px;height:40px;border-radius:50%;background:var(--blu);color:#fff;display:grid;place-items:center;font-weight:800}
.sq-pt{display:flex;flex-direction:column;min-width:0}.sq-pt b small{color:var(--grigio);font-weight:600}.sq-pt span{font-size:13px;color:var(--grigio);overflow:hidden;text-overflow:ellipsis}
.sq-badge{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.sq-az{grid-column:2/-1;display:flex;gap:6px;flex-wrap:wrap}
.sq-mod{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:8px;padding:12px;background:var(--fondo);border-radius:12px;margin:6px 0}.sq-mod .riga{grid-column:1/-1}
.sq-check{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 16px}
.sq-check div{background:#fff;border:1px dashed var(--linea);border-radius:14px;padding:10px 12px}.sq-check b{display:block;font-size:13px;color:var(--blu)}.sq-check span{font-size:12px;color:var(--grigio)}
.sq-check div.ok{border:1px solid #BFE3CF;background:var(--ok-ch)}.sq-check div.att{border:1px solid #F3C99B;background:#FFF7EC}.sq-check div.no{border:1px solid #F2B8B5;background:#FDECEC}
.sq-modal{position:fixed;inset:0;background:rgba(11,26,44,.55);z-index:300;display:none;align-items:center;justify-content:center;padding:16px}
.sq-modal.on{display:flex}
.sq-mbox{background:#fff;border-radius:20px;max-width:620px;width:100%;max-height:92dvh;overflow:auto;padding:22px;position:relative}
.sq-mbox h2{margin:0 30px 6px 0;color:var(--blu);font-size:19px}
.sq-x{position:absolute;right:12px;top:10px;border:0;background:var(--tenue);width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer}
.sq-stati{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.sq-msg{display:flex;flex-direction:column;gap:8px;margin:10px 0;max-height:40dvh;overflow:auto}
.sq-msg>div{background:var(--fondo);border-radius:12px;padding:8px 12px;max-width:85%}.sq-msg>div.mio{align-self:flex-end;background:var(--acqua-ch)}
.sq-msg small{color:var(--grigio);font-size:11.5px}.sq-msg p{margin:2px 0 0}
@media (max-width:760px){
 .sq-kpi{grid-template-columns:1fr 1fr}.sq-kpi b{font-size:22px}
 .sq-gara{grid-template-columns:50px minmax(0,1fr)}.sq-ind{width:50px;height:50px}.sq-gbt{grid-column:1/-1;flex-direction:row}.sq-gbt .bt{flex:1}
 .sq-sem li button{grid-template-columns:14px minmax(0,1fr) auto}.sq-pc{display:none}
 .sq-nuova{grid-template-columns:1fr 1fr}.sq-nuova input[name=email]{grid-column:1/-1}
 .sq-mod{grid-template-columns:1fr 1fr}
 .sq-check{grid-template-columns:1fr 1fr}
 .sq-pers{grid-template-columns:36px minmax(0,1fr)}.sq-badge{grid-column:2;justify-content:flex-start}.sq-av{width:36px;height:36px}
 .sq-banner{flex-wrap:wrap}.sq-banner .bt{margin-left:0}
 .sq-saluto h1{font-size:24px}
 .sq-mbox{padding:18px 16px;border-radius:18px}
}
.sq-demo{background:repeating-linear-gradient(135deg,#FFF7EC 0 14px,#FFF1E0 14px 28px);border:1.5px dashed var(--ara);color:#5A3511;border-radius:14px;padding:12px 14px;margin:0 0 14px;font-size:13.5px;line-height:1.45}
.sq-demo b{display:block;color:var(--ara2);letter-spacing:.06em;font-size:12px;margin-bottom:2px}
.sq-sem li button.es b::after{content:"esempio";margin-left:6px;font-size:10px;font-weight:800;color:var(--ara2);background:var(--ara-ch);border-radius:6px;padding:1px 6px;vertical-align:middle}

/* ---------- report aziendali ---------- */
.rp-vista{position:fixed;inset:0;z-index:500;background:#3A4656;overflow:auto;display:none}
.rp-vista.on{display:block}
.rp-barra{position:sticky;top:0;z-index:2;display:flex;gap:8px;align-items:center;background:#0B1A2C;color:#fff;padding:10px 16px}
.rp-barra b{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-carta{padding:24px 12px 60px}
.rp-foglio{position:relative;background:#fff;max-width:820px;margin:0 auto;padding:44px 52px 34px;box-shadow:0 20px 60px rgba(0,0,0,.35);color:#1E2A38;font:13.5px/1.55 Manrope,"Segoe UI",system-ui,sans-serif}
.rp-es::before{content:"ESEMPIO";position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) rotate(-24deg);font:900 120px/1 Manrope,sans-serif;color:rgba(229,107,16,.07);pointer-events:none;letter-spacing:.08em}
.rp-testa{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid #E6E1D8}
.rp-testa img{height:34px}.rp-testa div{text-align:right}.rp-testa b{display:block;color:#16304D;font-size:15px}.rp-testa span{font-size:11.5px;color:#56667A}
.rp-banda{margin:18px -52px 0;padding:20px 52px 22px;background:linear-gradient(160deg,#16304D,#0A1A2C);color:#fff;position:relative}
.rp-banda::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:#E56B10}
.rp-banda small{color:#F6C49B;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}
.rp-banda h1{margin:4px 0 0;font-size:24px;line-height:1.25;color:#fff}
.rp-bollo{display:inline-block;margin-top:10px;border:1.5px solid #F6C49B;color:#F6C49B;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:800;letter-spacing:.08em}
.rp-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:22px 0 6px}
.rp-meta div{border-left:3px solid #E56B10;padding-left:10px}.rp-meta dt{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#56667A}.rp-meta dd{margin:2px 0 0;font-weight:700;color:#16304D}
.rp-sintesi{background:#F7F5F1;border-radius:12px;padding:14px 16px;margin:16px 0}.rp-sintesi>b{color:#E56B10;text-transform:uppercase;font-size:11px;letter-spacing:.1em}.rp-sintesi p b{color:#16304D}.rp-sintesi p{margin:4px 0 0;font-size:14px}
.rp-sez{margin:22px 0 0;break-inside:avoid-page}
.rp-sez h2{font-size:15px;color:#16304D;margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid #16304D;text-transform:uppercase;letter-spacing:.06em}
.rp-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rp-kpi div{border:1px solid #E6E1D8;border-radius:12px;padding:10px 12px}
.rp-kpi small{display:block;font-size:11px;color:#56667A}.rp-kpi b{display:block;font-size:20px;color:#16304D}.rp-kpi i{font-style:normal;font-size:11px;color:#56667A}
.rp-tab{width:100%;border-collapse:collapse;font-size:12px}
.rp-tab th{background:#16304D;color:#fff;text-align:left;padding:7px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.rp-tab td{padding:6px 8px;border-bottom:1px solid #EEE9E0;vertical-align:top}
.rp-tab tr:nth-child(even) td{background:#FBFAF7}
.rp-tab .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.rp-tab tfoot td{font-weight:800;color:#16304D;border-top:2px solid #16304D;background:#F7F5F1}
.rp-gr td{background:#EEF3F8!important;color:#16304D;font-weight:800;padding-top:9px}
.rp-sub td{font-weight:700;color:#16304D;background:#F7F5F1!important}
.rp-barre div{display:grid;grid-template-columns:220px 1fr 70px;gap:10px;align-items:center;padding:3px 0;font-size:12px}
.rp-barre div>span:nth-child(2){height:9px;background:#EEF0F3;border-radius:9px;overflow:hidden}.rp-barre i{display:block;height:100%;background:linear-gradient(90deg,#16304D,#1F6FB2)}.rp-barre em{font-style:normal;text-align:right;color:#56667A}
.rp-verd{display:flex;flex-direction:column;border-radius:12px;padding:14px 16px;border-left:6px solid}.rp-verd b{font-size:20px}
.rp-verd.ok{background:#E5F3EC;border-color:#1E7B4F;color:#14532D}.rp-verd.att{background:#FFF1E4;border-color:#B54708;color:#7A3306}.rp-verd.no{background:#FDECEC;border-color:#B42318;color:#7A1F1A}
.rp-lista{list-style:none;padding:0;margin:0}.rp-lista li{padding:6px 0;border-bottom:1px dashed #E6E1D8}
.rp-sem{display:inline-block;width:10px;height:10px;border-radius:50%}.rp-sem.l0{background:#2E9D67}.rp-sem.l1{background:#E8A33A}.rp-sem.l2{background:#D93D32}
.rp-ind{display:inline-block;min-width:34px;text-align:center;border-radius:8px;padding:2px 6px}.rp-ind.ok{background:#E5F3EC;color:#1E7B4F}.rp-ind.att{background:#FFF1E4;color:#B54708}.rp-ind.no{background:#FDECEC;color:#B42318}
.rp-nota{font-size:11.5px;color:#56667A;margin:18px 0 0;font-style:italic}
.rp-piede{margin-top:28px;padding-top:10px;border-top:1px solid #E6E1D8;display:flex;flex-direction:column;gap:2px;font-size:10.5px;color:#7A8796}
.rp-elenco{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.rp-card{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:0 10px;text-align:left;background:#fff;border:1px solid var(--linea);border-radius:14px;padding:12px;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.rp-card span{grid-row:1/3;width:40px;height:40px;border-radius:10px;background:linear-gradient(160deg,#16304D,#0A1A2C);color:#F6C49B;display:grid;place-items:center;font-size:18px}
.rp-card b{color:var(--blu);font-size:14px;line-height:1.3}.rp-card small{color:var(--grigio);font-size:12px}
.rp-card:hover{border-color:var(--ara);box-shadow:0 8px 22px rgba(22,48,77,.10)}
@media (max-width:760px){.rp-foglio{padding:26px 18px 22px;font-size:12.5px}.rp-banda{margin:14px -18px 0;padding:16px 18px}.rp-banda h1{font-size:19px}.rp-kpi{grid-template-columns:1fr 1fr}.rp-tab{font-size:11px;display:block;overflow-x:auto}.rp-barre div{grid-template-columns:110px 1fr 54px}.rp-carta{padding:12px 6px 40px}.rp-barra .bt{padding:0 10px;font-size:13px}}
@media print{
 body.rp-stampa>*:not(#rp-vista){display:none!important}
 .rp-vista{position:static;background:#fff;overflow:visible;display:block!important}.rp-barra{display:none}.rp-carta{padding:0}
 .rp-foglio{box-shadow:none;max-width:none;padding:0 4mm}.rp-banda{margin:12px -4mm 0;padding:14px 4mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .rp-tab th,.rp-gr td,.rp-sub td,.rp-tab tfoot td,.rp-barre i,.rp-verd,.rp-card span,.rp-sintesi,.rp-sem,.rp-ind{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .rp-tab thead{display:table-header-group}.rp-tab tr{break-inside:avoid}
 @page{size:A4;margin:14mm 12mm}
}
.sq-cant[hidden]{display:none!important}

/* ===================================================================================================
   23.10.2026 · STILE UNICO CHIARO per tutti i profili: niente card su fondo scuro, icone a linea monocromatiche.
   (resta scuro solo ciò che non è una card: avvisi a comparsa e barra del lettore dei report)
   =================================================================================================== */
.ico{width:1.2em;height:1.2em;vertical-align:-.22em;flex:none;display:inline-block}
.con-ico{display:inline-flex;align-items:center;justify-content:center;line-height:0}
button>.con-ico:first-child,a>.con-ico:first-child,.bt>.con-ico:first-child{margin-right:6px}
/* menu laterale: icone grigie, voce attiva chiara con filo arancio */
.mod>span[aria-hidden="true"]{width:22px;display:inline-flex;justify-content:center;color:#6A7A8C}
.mod>span .ico,.mod>.con-ico .ico{width:19px;height:19px}
.mod.on{background:#EEF3F8;color:var(--blu);box-shadow:inset 3px 0 0 var(--ara)}
.mod.on>span[aria-hidden="true"]{color:var(--blu)}
.mod.on .pill{background:#fff;color:var(--grigio)}
.mod.casa.on{background:#FFF4EA;color:var(--blu)}
.cant .mio{background:#EEF3F8;color:var(--blu)}
/* testata dei cruscotti: chiara, griglia tecnica appena accennata */
.hero3d,.hero3d.tavola,.hero3d.senza3d{background:
  linear-gradient(rgba(22,48,77,.035) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(90deg,rgba(22,48,77,.035) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(180deg,#FFFFFF 0%,#F7F9FC 100%)!important;
  border:1px solid var(--linea);box-shadow:0 1px 2px rgba(22,48,77,.04);min-height:0!important}
.hero3d::after,.hero3d.tavola::after{display:none!important}
.hero3d .scena-canvas,.hero3d .hero3d-cv{display:none!important}
.hero-sopra{color:var(--ink);min-height:0}
.hero-sopra h1{color:var(--blu);text-shadow:none}
.hero-sopra .sotto,.hero-sopra .nota,.hero-sopra .kpi small,.hero-sopra .kpi i{color:var(--grigio)}
.hero-sopra .kpi div,.hero-sopra .card,.hero3d.tavola .hero-sopra .griglia2 .card{background:#fff!important;border:1px solid var(--linea)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:var(--ink);box-shadow:none}
.hero-sopra .kpi b{color:var(--blu);text-shadow:none}
.hero-sopra .card h3{color:var(--blu);text-shadow:none}
.hero-sopra svg text{fill:#536173;text-shadow:none}
.hero-sopra svg rect[fill="#16304D"]{fill:#1F6FB2}
.hero-sopra .griglia2 svg rect{opacity:1}
.hero-sopra .griglia2{margin-top:16px!important}
.hero-sopra .griglia2 .nota{display:block}
.hero-sopra .bt.pic{background:#fff;color:var(--blu);border-color:var(--linea)}
.hero-sopra .info{background:var(--acqua-ch);border-color:#C9DDEE;color:var(--ink)}
.hero-sopra .azioni-rapide .ar{background:#fff;border-color:var(--linea);color:var(--blu);backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-sopra .azioni-rapide .ar:hover{background:#fff;border-color:#cfd8e3}
.hero-sopra .azioni-rapide .ar.prima{background:var(--ara);border-color:var(--ara);color:#fff}
.hero-sopra .azioni-rapide .ar.guida,.azioni-rapide .ar.guida{background:#fff;border-style:dashed;color:var(--ara2)}
.azioni-rapide .ar i,.hero-sopra .azioni-rapide .ar i{color:inherit}
.azioni-rapide .ar:not(.prima) i{color:var(--acqua)}
.azioni-rapide .ar i .ico{width:21px;height:21px}
/* guida, titolare, report, persone: tutto chiaro */
.guida-card{background:#fff;border:1px solid var(--linea);color:var(--grigio)}
.guida-card b{color:var(--blu)}
.guida-card .play{background:var(--ara-ch);color:var(--ara)}
.sq-saluto{background:#fff;border:1px solid var(--linea);color:var(--ink)}
.sq-saluto::after{background:linear-gradient(rgba(22,48,77,.035) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,rgba(22,48,77,.035) 1px,transparent 1px) 0 0/22px 22px}
.sq-saluto small{color:var(--grigio)}.sq-saluto h1{color:var(--blu)}
.rp-card span{background:#EEF3F8;color:var(--blu)}
.rp-card span .ico{width:20px;height:20px}
.sq-tutte button span{color:var(--acqua);display:inline-flex}
.sq-tutte button span .ico{width:18px;height:18px}
.sq-av{background:#EEF3F8;color:var(--blu)}
.modchip span[aria-hidden="true"]{color:var(--acqua);display:inline-flex}
.passi-v li::before{background:#EEF3F8;color:var(--blu)}
.albo-avviso{background:#FFF4EA;color:#7A3D0A;border:1px solid #F3C99B}
.albo-avviso .bt{background:var(--ara);color:#fff}
.chip .ico,.pill .ico{width:1em;height:1em}
/* elenco gare: una colonna che scorre in verticale, tocchi e si aprono i dettagli */
.g-lista{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--linea);border-radius:16px;overflow:hidden;max-width:100%}
.g-voce{border-top:1px solid var(--tenue);min-width:0}
.g-voce:first-child{border-top:0}
.g-testa{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:12px 14px;background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}
.g-testa:hover{background:#FAFBFD}
.g-voce.aperta .g-testa{background:#F4F7FB}
.g-data{display:flex;flex-direction:column;align-items:center;justify-content:center;width:46px;height:50px;border-radius:12px;background:#EEF3F8;color:var(--blu);line-height:1.05}
.g-data b{font-size:18px}.g-data small{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--grigio)}
.g-corpo{display:flex;flex-direction:column;gap:3px;min-width:0}
.g-corpo b{font-size:14px;line-height:1.35;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.g-corpo small{font-size:12.5px;color:var(--grigio);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g-lato{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap}
.g-lato strong{font-size:14px;color:var(--blu)}
.g-ind{font-size:11.5px;font-weight:800;border-radius:8px;padding:1px 7px}.g-ind.ok{background:var(--ok-ch);color:var(--ok)}.g-ind.att{background:#FFF1E4;color:var(--att)}.g-ind.no{background:#FDECEC;color:#B42318}
.g-voce.seg .g-data{background:var(--ara-ch);color:var(--ara2)}
.g-dett{padding:4px 14px 14px 72px;background:#F4F7FB}
.g-dett dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px;margin:0 0 10px}
.g-dett dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--grigio)}.g-dett dd{margin:2px 0 0;font-size:13.5px;color:var(--ink);overflow-wrap:anywhere}
.g-dett .riga{gap:6px;flex-wrap:wrap}
@media (max-width:760px){
 .g-testa{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:12px}
 .g-data{width:42px;height:46px}
 .g-lato{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}
 .g-dett{padding:4px 12px 14px}
 .g-dett dl{grid-template-columns:1fr 1fr}
 .g-dett .riga .bt{flex:1 1 auto}
 .filtri{flex-wrap:wrap}.filtri input,.filtri select{max-width:100%;min-width:0}
}
.hero-sopra h3,.hero-sopra .card h3,.hero-sopra .griglia2 .card h3,.hero-sopra svg text{text-shadow:none!important}
.top .guida-bt span.con-ico,.top button span.con-ico{display:inline-flex!important}
.pill .con-ico .ico{width:12px;height:12px;vertical-align:-1px}

.bt.on{background:#EEF3F8!important;color:var(--blu)!important;border-color:var(--blu)!important}
/* organigramma (23.10.2026): schede, finestre persona/ditta/documenti */
.sq-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 16px;padding:4px;background:#fff;border:1px solid var(--linea);border-radius:14px;width:max-content;max-width:100%}
.sq-tabs button{border:0;background:none;font:700 14px Manrope,system-ui,sans-serif;color:var(--grigio);padding:9px 14px;border-radius:10px;cursor:pointer}
.sq-tabs button[aria-selected="true"]{background:var(--ara-ch);color:var(--blu)}
.sq-org{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px;align-items:start}
.sq-org .sq-card{margin:0}
.sq-cnum{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 6px}
.sq-cnum span{background:var(--tenue);border-radius:10px;padding:6px 10px;font-size:13px;color:var(--grigio)}
.sq-cnum b{color:var(--blu);font-size:15px;margin-right:2px}
.sq-cnum .no{background:#FDECEC}.sq-cnum .no b{color:#B42318}
.sq-cnum .att{background:#FFF4E5}.sq-cnum .att b{color:var(--att)}
.sq-cnum .ok b{color:var(--ok)}
.sq-cantiere h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--grigio);margin:14px 0 2px}
.sq-av.d{background:var(--ara-ch);color:var(--ara2);border-radius:10px}
.sq-form{display:grid;gap:10px}
.sq-form label{display:grid;gap:5px;font-size:13px;font-weight:700;color:var(--blu)}
.sq-form label small{font-weight:600;color:var(--grigio)}
.sq-form input:not([type=checkbox]),.sq-form select{height:44px;border:1.5px solid var(--linea);border-radius:10px;padding:0 10px;background:#fff;font:600 15px Manrope,system-ui,sans-serif;color:var(--ink);min-width:0;width:100%}
.sq-form input[type=file]{height:auto;padding:9px}
.sq-form input:disabled{background:var(--tenue);color:var(--grigio)}
.sq-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}
.sq-2[hidden],[data-sqdit][hidden]{display:none}
.sq-check1{display:flex!important;grid-template-columns:none;align-items:center;gap:10px!important;font-weight:700;background:var(--tenue);border-radius:10px;padding:10px 12px}
.sq-check1 input{width:20px;height:20px;accent-color:var(--ara)}
.sq-inv li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media (max-width:900px){.sq-tabs{width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.sq-tabs button{white-space:nowrap;flex:0 0 auto}}
