:root{--red:#D0382B;--red-hi:#E14A3C;--red-deep:#A82D22;--orange:#E25412;--bg:#F4F1EF;--surface:#FFFFFF;--surface-2:#EBE7E4;--surface-3:#E0DAD6;--line:#DAD3CF;--line-strong:#C2B9B3;--text:#191513;--text-2:#61574F;--text-3:#948880;--ok:#1E8E4E;--ok-soft:rgba(30,142,78,.12);--warn:#A8720F;--warn-soft:rgba(226,163,18,.16);--nok:#C0392B;--nok-soft:rgba(192,57,43,.1);--shadow:0 1px 2px rgba(25,21,19,.06), 0 8px 24px -12px rgba(25,21,19,.18);--shadow-lift:0 2px 6px rgba(25,21,19,.1), 0 18px 40px -20px rgba(25,21,19,.3);--r-sm:6px;--r:10px;--r-lg:14px;--font-display:"Rubik",system-ui,-apple-system,sans-serif;--font-body:"Roboto",system-ui,-apple-system,sans-serif;--font-mono:"Roboto Mono",ui-monospace,"SF Mono",Menlo,monospace;--bar-h:56px;--side-w:250px;--ease:cubic-bezier(.32,.72,0,1);--sicuro-su:env(safe-area-inset-top, 0px);--sicuro-giu:env(safe-area-inset-bottom, 0px);--sicuro-sx:env(safe-area-inset-left, 0px);--sicuro-dx:env(safe-area-inset-right, 0px);--bar-tot:calc(var(--bar-h) + var(--sicuro-su))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#100F0E;--surface:#1B1918;--surface-2:#252221;--surface-3:#302C2A;--line:#38322F;--line-strong:#4C4441;--text:#F3EFEC;--text-2:#A99F99;--text-3:#786E69;--ok:#3FBF6E;--ok-soft:rgba(63,191,110,.14);--warn:#E2A312;--warn-soft:rgba(226,163,18,.14);--nok:#E14A3C;--nok-soft:rgba(225,74,60,.14);--shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6);--shadow-lift:0 2px 6px rgba(0,0,0,.5), 0 18px 40px -20px rgba(0,0,0,.8)}}:root[data-theme=dark]{--bg:#100F0E;--surface:#1B1918;--surface-2:#252221;--surface-3:#302C2A;--line:#38322F;--line-strong:#4C4441;--text:#F3EFEC;--text-2:#A99F99;--text-3:#786E69;--ok:#3FBF6E;--ok-soft:rgba(63,191,110,.14);--warn:#E2A312;--warn-soft:rgba(226,163,18,.14);--nok:#E14A3C;--nok-soft:rgba(225,74,60,.14);--shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6);--shadow-lift:0 2px 6px rgba(0,0,0,.5), 0 18px 40px -20px rgba(0,0,0,.8)}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip}body{margin:0;overflow-x:clip;overscroll-behavior-x:none;overflow-wrap:break-word;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}h1,h2,h3,h4{font-family:var(--font-display);margin:0;text-wrap:balance;letter-spacing:-.01em}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.logo{display:block;height:auto}.logo__disc{fill:var(--red)}.app{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:70;width:min(84vw,var(--side-w));display:flex;flex-direction:column;gap:2px;padding:calc(14px + var(--sicuro-su)) 12px calc(14px + var(--sicuro-giu)) calc(12px + var(--sicuro-sx));background:var(--surface);border-right:1px solid var(--line);box-shadow:var(--shadow-lift);overflow-y:auto;overscroll-behavior:contain;transform:translate(-100%);visibility:hidden;transition:transform .26s var(--ease),visibility .26s var(--ease)}.sidebar[data-aperta="1"]{transform:none;visibility:visible}.sidebar__x{position:absolute;top:calc(10px + var(--sicuro-su));right:8px;color:var(--text-3)}.scrim{position:fixed;inset:0;z-index:65;background:#100f0e6b;border:none;padding:0;width:100%;animation:scrimEntra .2s var(--ease);-webkit-tap-highlight-color:transparent}@keyframes scrimEntra{0%{opacity:0}to{opacity:1}}.sidebar__brand{display:flex;align-items:center;gap:10px;padding:2px 8px 16px}.sidebar__disc{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--font-display);font-weight:700;font-size:17px}.sidebar__area{display:flex;flex-direction:column;gap:2px}.sidebar__sec{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:14px 10px 6px}.sidebar .nav{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 10px;border-radius:var(--r-sm);color:var(--text-2);font-size:14.5px;font-weight:500}.sidebar .nav svg{flex:none;opacity:.85}.sidebar .nav[aria-current=page]{background:var(--red);color:#fff}.sidebar .nav[aria-current=page] svg{opacity:1}.nav__t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav__b{min-width:20px;height:19px;padding:0 6px;border-radius:99px;flex:none;display:grid;place-items:center;background:var(--surface-3);color:var(--text-2);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.sidebar .nav[aria-current=page] .nav__b{background:#ffffff3d;color:#fff}.sidebar__foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.versione{font-size:10.5px;color:var(--text-3);letter-spacing:.03em;padding:0 4px}.who{display:flex;align-items:center;gap:10px;padding:0 4px}.who__av{width:34px;height:34px;flex:none;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:12px;color:var(--text-2)}.who__id{flex:1;min-width:0}.who__n{display:block;font-size:13px;font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who__r{display:block;font-size:11px;color:var(--text-3)}.iconbtn--tema{display:none}.col{display:flex;flex-direction:column;flex:1;min-width:0}.topbar{position:sticky;top:0;z-index:40;min-height:var(--bar-tot);display:flex;align-items:center;gap:10px;padding:var(--sicuro-su) calc(12px + var(--sicuro-dx)) 0 calc(12px + var(--sicuro-sx));background:var(--surface);border-bottom:1px solid var(--line)}.topbar__title{font-family:var(--font-display);font-weight:600;font-size:15px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__sub{display:block;font-family:var(--font-body);font-weight:400;font-size:11.5px;color:var(--text-3);letter-spacing:.02em}.iconbtn{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--text-2);transition:background .15s var(--ease),color .15s var(--ease)}.iconbtn:hover{background:var(--surface-2);color:var(--text)}.menubtn{display:grid}.wrap{width:100%;max-width:720px;margin-inline:auto;padding:16px calc(14px + var(--sicuro-dx)) 28px calc(14px + var(--sicuro-sx))}.wrap--flush{padding-bottom:calc(104px + var(--sicuro-giu))}.sync{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:99px;font-size:11.5px;font-weight:500;letter-spacing:.02em;border:1px solid var(--line);color:var(--text-2);background:var(--surface-2);white-space:nowrap}.sync__dot{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}.sync[data-state=offline]{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}.sync[data-state=offline] .sync__dot{background:var(--warn)}.topbar .sync{width:34px;height:34px;padding:0;justify-content:center;border-radius:50%}.topbar .sync__t{display:none}.topbar .sync__dot{width:9px;height:9px}.login{min-height:100dvh;display:grid;grid-template-columns:1fr}.login__aside{display:none;background:linear-gradient(158deg,#2a2422,#141110 64%);color:#f5f1ee;padding:44px 40px;position:relative;overflow:hidden;flex-direction:column;justify-content:center;align-items:center}.login__aside:after{content:"";position:absolute;right:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:var(--red);opacity:.12}.login__form{display:flex;flex-direction:column;justify-content:center;padding:34px 22px;gap:24px;width:100%;max-width:400px;margin-inline:auto}.login__mark{display:flex;align-items:center;margin-bottom:4px}.login h1{font-size:23px;font-weight:600;line-height:1.22}.login h1 em{font-style:normal;color:var(--red)}.login__form>p{margin:0;color:var(--text-2);font-size:13.5px;line-height:1.55;max-width:40ch}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field__label{font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.field__label .req{color:var(--red);margin-left:2px}.field__hint{font-size:12px;color:var(--text-3);line-height:1.4}input,select,textarea,.input,.select,.textarea{font-size:16px}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%}input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;min-width:0}input::-webkit-calendar-picker-indicator{margin-inline-start:auto}.input,.select,.textarea{width:100%;min-height:48px;padding:11px 13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--text);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #d0382b24}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input[readonly]{background:var(--surface-2);color:var(--text-2)}.textarea{min-height:88px;resize:vertical;line-height:1.5}.select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23948880' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.input--mono{font-family:var(--font-mono);letter-spacing:.01em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:var(--r);font-family:var(--font-display);font-weight:600;font-size:15px;background:var(--red);color:#fff;transition:background .15s var(--ease),transform .08s var(--ease)}.btn:hover{background:var(--red-deep)}.btn:active{transform:translateY(1px)}.btn[disabled]{background:var(--surface-3);color:var(--text-3);cursor:not-allowed}.btn--ghost{background:var(--surface);color:var(--text);border:1px solid var(--line)}.btn--ghost:hover{background:var(--surface-2)}.btn--block{width:100%}.greet{margin-bottom:18px}.greet h2{font-size:21px;font-weight:600}.greet p{margin:3px 0 0;color:var(--text-2);font-size:13.5px}.panel{display:block;width:100%;text-align:left;position:relative;overflow:hidden;border-radius:var(--r-lg);background:linear-gradient(155deg,#282220,#161312 62%);color:#f5f1ee;padding:20px;box-shadow:var(--shadow-lift);transition:transform .12s var(--ease)}.panel:active{transform:scale(.992)}.panel:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--red) 0%,var(--red) 62%,var(--orange) 100%)}.panel:after{content:"";position:absolute;right:-34px;bottom:-52px;width:170px;height:170px;border-radius:50%;background:var(--red);opacity:.13}.panel__row{display:flex;align-items:center;gap:14px;position:relative}.panel__icon{width:52px;height:52px;flex:none;border-radius:12px;background:var(--red);display:grid;place-items:center;color:#fff}.panel__t{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:.04em;display:block}.panel__d{font-size:12.5px;color:#b9afa9;margin-top:3px;display:block;line-height:1.45}.panel__go{margin-left:auto;color:#8a807a;flex:none}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px}.stat__n{font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.stat__l{font-size:11px;color:var(--text-3);margin-top:5px;letter-spacing:.02em;line-height:1.3}.stat--warn .stat__n{color:var(--warn)}.stat--red .stat__n{color:var(--red)}.sectitle{display:flex;align-items:baseline;gap:10px;margin:26px 0 10px}.sectitle h3{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.sectitle span{font-size:12px;color:var(--text-3);margin-left:auto}.list{display:flex;flex-direction:column;gap:8px}.row{display:grid;grid-template-columns:3px minmax(0,1fr) auto;grid-template-areas:"rail t tag" "rail meta meta";align-items:center;column-gap:12px;row-gap:3px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 13px;transition:border-color .15s var(--ease),background .15s var(--ease)}.row:hover{border-color:var(--line-strong);background:var(--surface-2)}.row__rail{grid-area:rail;align-self:stretch;border-radius:2px;background:var(--line-strong);margin:-2px 0}.row__rail--bozza{background:var(--warn)}.row__rail--firmato{background:var(--ok)}.row__rail--nok{background:var(--nok)}.row__t{grid-area:t;font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__meta{grid-area:meta;display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text-3);min-width:0}.row__sn{font-family:var(--font-mono);font-size:11.5px;white-space:nowrap}.row .tag{grid-area:tag;justify-self:end}.tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:4px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--surface-2);color:var(--text-2);border:1px solid var(--line);white-space:nowrap}.tag--ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.tag--warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.tag--nok{background:var(--nok-soft);color:var(--nok);border-color:transparent}.proto{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;position:relative;overflow:hidden;transition:border-color .15s var(--ease),transform .1s var(--ease)}.proto:hover{border-color:var(--red)}.proto:active{transform:scale(.995)}.proto__code{display:block;font-family:var(--font-mono);font-weight:500;font-size:11.5px;letter-spacing:.06em;color:var(--red)}.proto__t{display:block;font-family:var(--font-display);font-weight:600;font-size:16px;margin-top:5px;line-height:1.25}.proto__d{display:block;font-size:13px;color:var(--text-2);margin-top:7px;line-height:1.45;max-width:56ch}.proto__meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.work{display:flex;flex-direction:column;flex:1;min-width:0}.steps{display:flex;gap:6px;overflow-x:auto;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:var(--bar-tot);z-index:30;scrollbar-width:none;overscroll-behavior-x:contain}.steps::-webkit-scrollbar{display:none}.steps__h{display:none}.step{flex:none;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:500;color:var(--text-2);white-space:nowrap;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.step__n{width:19px;height:19px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--surface-3);color:var(--text-3);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.step[aria-current=step]{background:var(--red);border-color:var(--red);color:#fff}.step[aria-current=step] .step__n{background:#ffffff40;color:#fff}.step[data-done="1"]{border-color:var(--ok)}.step[data-done="1"] .step__n{background:var(--ok-soft);color:var(--ok)}.progress{height:2px;background:var(--surface-3);position:sticky;top:calc(var(--bar-tot) + 55px);z-index:29}.progress__fill{height:100%;width:100%;background:var(--red);transform-origin:left center;transition:transform .3s var(--ease)}.sechead{margin:20px 0 16px}.sechead__eyebrow{font-family:var(--font-mono);font-size:11px;color:var(--text-3);letter-spacing:.06em}.sechead h2{font-size:19px;font-weight:600;margin-top:4px;line-height:1.2}.sechead p{margin:7px 0 0;font-size:13px;color:var(--text-2);max-width:62ch;line-height:1.55}.fields{display:flex;flex-direction:column;gap:16px}.fields--grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}@media(min-width:560px){.fields--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fields--grid .span2{grid-column:1/-1}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px}.card+.card{margin-top:8px}.card__h{display:flex;align-items:flex-start;gap:9px;margin-bottom:11px}.card__h h4{font-size:13.5px;font-weight:600;flex:1;line-height:1.4}.card__idx{font-family:var(--font-mono);font-size:11px;color:var(--text-3);background:var(--surface-2);border-radius:4px;padding:2px 6px;flex:none}.withscan{display:flex;gap:8px}.withscan .input{flex:1;min-width:0}.scanbtn{width:48px;flex:none;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);display:grid;place-items:center;color:var(--text-2)}.scanbtn:hover{border-color:var(--red);color:var(--red)}.seg{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:6px}.seg button{min-height:46px;padding:0 6px;border-radius:var(--r-sm);border:1.5px solid var(--line);background:var(--surface);font-family:var(--font-display);font-weight:600;font-size:13.5px;letter-spacing:.03em;color:var(--text-2);transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease)}.seg button:hover{border-color:var(--line-strong)}.seg button[aria-pressed=true]{color:#fff}.seg button[data-v=OK][aria-pressed=true],.seg button[data-v=SI][aria-pressed=true],.seg button[data-v=conforme][aria-pressed=true]{background:var(--ok);border-color:var(--ok)}.seg button[data-v=NOK][aria-pressed=true],.seg button[data-v=NO][aria-pressed=true],.seg button[data-v="non conforme"][aria-pressed=true]{background:var(--nok);border-color:var(--nok)}.seg button[data-v=NA][aria-pressed=true]{background:var(--text-3);border-color:var(--text-3)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{min-width:46px;min-height:44px;padding:0 12px;border-radius:var(--r-sm);border:1.5px solid var(--line);background:var(--surface);font-family:var(--font-mono);font-weight:500;font-size:14px;color:var(--text-2);transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease)}.chip:hover{border-color:var(--line-strong)}.chip[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}.derived{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--text-3);flex-wrap:wrap}.derived output{font-family:var(--font-mono);font-weight:500;font-size:14px;color:var(--text);background:var(--surface-2);border-radius:4px;padding:2px 9px;font-variant-numeric:tabular-nums}.measure{display:flex;align-items:stretch}.measure .input{border-radius:var(--r) 0 0 var(--r);font-family:var(--font-mono);text-align:right}.measure__u{display:grid;place-items:center;min-width:58px;padding:0 12px;border:1px solid var(--line);border-left:none;border-radius:0 var(--r) var(--r) 0;background:var(--surface-2);color:var(--text-3);font-family:var(--font-mono);font-size:13px}.rule{display:flex;gap:8px;align-items:flex-start;margin-top:8px;padding:9px 11px;border-radius:var(--r-sm);font-size:12.5px;line-height:1.45}.rule--pass{background:var(--ok-soft);color:var(--ok)}.rule--fail{background:var(--warn-soft);color:var(--warn)}.rule svg{flex:none;margin-top:2px}.trow{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px;display:grid;gap:9px;position:relative}.trow+.trow{margin-top:8px}@media(min-width:560px){.trow{grid-template-columns:repeat(2,minmax(0,1fr))}.trow .span2{grid-column:1/-1}}.trow__del{position:absolute;top:7px;right:7px;width:28px;height:28px;display:grid;place-items:center;border-radius:5px;color:var(--text-3)}.trow__del:hover{background:var(--nok-soft);color:var(--nok)}.addrow{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:44px;margin-top:8px;border:1.5px dashed var(--line-strong);border-radius:var(--r-sm);color:var(--text-2);font-size:13.5px;font-weight:500}.addrow:hover{border-color:var(--red);color:var(--red)}.disc{margin-top:11px;border-top:1px solid var(--line);padding-top:11px}.disc summary{cursor:pointer;list-style:none;font-size:12px;font-weight:500;color:var(--text-3);letter-spacing:.02em;display:flex;align-items:center;gap:6px}.disc summary::-webkit-details-marker{display:none}.disc[open] summary{margin-bottom:11px;color:var(--text-2)}.disc summary svg{transition:transform .15s var(--ease)}.disc[open] summary svg{transform:rotate(90deg)}.pgroup+.pgroup{margin-top:20px}.pgroup__h{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}.pgroup__h h4{font-size:13px;font-weight:600;line-height:1.4;flex:1}.pgroup__h span{font-family:var(--font-mono);font-size:11px;color:var(--text-3);flex:none}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.slot{aspect-ratio:4/3;border-radius:var(--r-sm);border:1.5px dashed var(--line-strong);background:var(--surface-2);display:grid;place-items:center;color:var(--text-3);position:relative;overflow:hidden;cursor:pointer;transition:border-color .15s var(--ease),color .15s var(--ease)}.slot:hover{border-color:var(--red);color:var(--red)}.slot--req{border-color:var(--warn)}.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.slot__x{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:5px;background:#100f0eb8;color:#fff;display:grid;place-items:center}.slot input[type=file]{display:none}.sigwrap{border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden;position:relative}.sigwrap canvas{display:block;width:100%;height:180px;touch-action:none;cursor:crosshair}.sigwrap__base{position:absolute;left:16px;right:16px;bottom:34px;height:1px;background:var(--line);pointer-events:none}.sigwrap__ph{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-size:12px;color:var(--text-3);pointer-events:none}.sigbar{display:flex;gap:8px;margin-top:8px}.sigbar .btn{min-height:42px;font-size:13.5px;flex:1}.missing{border:1px solid var(--warn);background:var(--warn-soft);border-radius:var(--r);padding:13px;margin-bottom:16px}.missing h4{font-size:13px;font-weight:600;color:var(--warn);margin-bottom:7px;display:flex;align-items:center;gap:7px}.missing ul{margin:0;padding-left:18px;font-size:12.5px;color:var(--text-2);line-height:1.6}.actionbar{position:fixed;bottom:0;left:0;right:0;z-index:45;display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:10px calc(14px + var(--sicuro-dx)) calc(10px + var(--sicuro-giu)) calc(14px + var(--sicuro-sx));background:var(--surface);border-top:1px solid var(--line)}.actionbar__in{display:flex;gap:8px;width:100%;max-width:720px;margin-inline:auto;position:relative}.actionbar .btn{flex:1}.actionbar .btn--ghost{flex:0 0 auto;min-width:100px}.autosave{position:absolute;top:-26px;right:0;font-size:11px;color:var(--text-3);background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:2px 9px;display:flex;align-items:center;gap:5px;opacity:0;transition:opacity .3s var(--ease);pointer-events:none}.autosave[data-show="1"]{opacity:1}.done{text-align:center;padding:34px 8px}.done__ring{width:74px;height:74px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok)}.done h2{font-size:22px;font-weight:600}.done p{color:var(--text-2);font-size:14px;margin:8px auto 0;max-width:44ch;line-height:1.55}.docmeta{margin:22px auto 0;max-width:440px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.docmeta div{display:flex;gap:12px;padding:10px 13px;font-size:12.5px;border-bottom:1px solid var(--line)}.docmeta div:last-child{border-bottom:none}.docmeta dt{color:var(--text-3);flex:0 0 132px}.docmeta dd{margin:0;flex:1;font-family:var(--font-mono);font-size:11.5px;word-break:break-all}.note{font-size:12px;color:var(--text-3);line-height:1.55;border-left:2px solid var(--line-strong);padding-left:12px;margin-top:24px;max-width:70ch}.toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,14px);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:99px;font-size:13px;font-weight:500;z-index:60;opacity:0;pointer-events:none;transition:opacity .22s var(--ease),transform .22s var(--ease);box-shadow:var(--shadow-lift);max-width:88vw;text-align:center}.toast[data-show="1"]{opacity:1;transform:translate(-50%)}@media(min-width:768px){.app{flex-direction:row;height:100dvh;overflow:hidden}.sidebar{display:flex;flex-direction:column;align-items:center;width:74px;flex:none;gap:4px;overflow-y:auto;position:static;transform:none;visibility:visible;box-shadow:none;padding:calc(16px + var(--sicuro-su)) 10px calc(12px + var(--sicuro-giu)) calc(10px + var(--sicuro-sx));background:var(--surface);border-right:1px solid var(--line)}.sidebar__x,.scrim,.menubtn{display:none}.iconbtn--tema{display:grid}.sidebar__brand{padding:2px 0 18px}.sidebar__brand .logo{display:none}.sidebar__disc{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--font-display);font-weight:700;font-size:19px}.sidebar__sec{display:none}.nav{display:flex;align-items:center;justify-content:center;width:46px;height:44px;flex:none;border-radius:var(--r-sm);color:var(--text-2);position:relative;transition:background .13s var(--ease),color .13s var(--ease)}.nav:hover{background:var(--surface-2);color:var(--text)}.nav[aria-current=page]{background:var(--red);color:#fff}.nav svg{flex:none}.nav__t{display:none}.nav__b{position:absolute;top:4px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--red);color:#fff;font-size:9.5px;font-weight:700;display:grid;place-items:center;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--surface)}.nav[aria-current=page] .nav__b{background:#fff;color:var(--red);box-shadow:none}.sidebar__foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.sync--side{display:none}.who{display:flex;flex-direction:column;align-items:center;gap:6px}.who__av{width:34px;height:34px;flex:none;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:12px;color:var(--text-2)}.who__id{display:none}.col{overflow:hidden}.scroller{flex:1;overflow-y:auto;min-height:0}.topbar{position:static;min-height:calc(60px + var(--sicuro-su));background:var(--bg);padding:var(--sicuro-su) calc(22px + var(--sicuro-dx)) 0 calc(22px + var(--sicuro-sx))}.topbar__title{font-size:16px}.topbar .mark{display:none}.wrap{max-width:900px;padding:22px calc(26px + var(--sicuro-dx)) 34px calc(26px + var(--sicuro-sx))}.wrap--flush{padding-bottom:26px}.actionbar{position:static;justify-content:flex-end;padding:12px calc(26px + var(--sicuro-dx)) calc(12px + var(--sicuro-giu)) calc(26px + var(--sicuro-sx));background:var(--bg)}.actionbar__in{max-width:900px;justify-content:flex-end}.actionbar .btn{flex:0 0 auto;min-width:150px}.autosave{top:50%;right:auto;left:0;transform:translateY(-50%)}.work{overflow:hidden}.workmain{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.workmain .wrap{max-width:900px}.steps{position:static;padding:12px 26px}.progress{position:static}.greet h2{font-size:25px}.greet p{font-size:14px}.homegrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;align-items:stretch}.panel{padding:24px;height:100%}.panel__icon{width:58px;height:58px}.panel__t{font-size:22px}.panel__d{font-size:13px}.stats{grid-template-columns:1fr;gap:10px;margin-top:0}.stat{display:flex;align-items:baseline;gap:12px;padding:14px 16px}.stat__n{font-size:26px;min-width:36px}.stat__l{margin-top:0;font-size:12.5px}.row{grid-template-columns:3px minmax(0,1fr) 152px 66px 106px;grid-template-areas:"rail t cl dt tag";row-gap:0;column-gap:16px;padding:13px 16px}.row__meta{display:contents}.row__sn{display:none}.row__cl{grid-area:cl;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__dt{grid-area:dt;font-variant-numeric:tabular-nums}.listhead{display:grid;grid-template-columns:3px minmax(0,1fr) 152px 66px 106px;column-gap:16px;padding:0 16px 7px;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3)}.lh-t{grid-column:2}.lh-sn{display:none}.sechead h2{font-size:22px}.fields{gap:18px}.card{padding:16px 18px}.testrow{display:grid;grid-template-columns:minmax(0,1fr) 208px;gap:18px;align-items:start}.testrow .seg{align-self:start}.pgrid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.sigwrap canvas{height:190px}.toast{bottom:28px}.login{grid-template-columns:1fr 1fr}.login__aside{display:flex}.login__form{max-width:420px;padding:40px 34px}}@media(min-width:1024px){.sidebar{align-items:stretch;width:var(--side-w);padding:calc(18px + var(--sicuro-su)) 12px calc(14px + var(--sicuro-giu)) calc(12px + var(--sicuro-sx))}.sidebar__brand{padding:2px 10px 20px}.sidebar__brand .logo{display:block}.sidebar__disc{display:none}.sidebar__sec{display:block;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:14px 10px 6px}.nav{width:100%;height:auto;min-height:40px;padding:0 10px;justify-content:flex-start;gap:11px;text-align:left;font-size:13.5px;font-weight:500}.nav svg{opacity:.85}.nav__t{display:block;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav__b{position:static;box-shadow:none;min-width:20px;height:19px;padding:0 6px;background:var(--surface-3);color:var(--text-2);font-size:10.5px}.nav[aria-current=page] .nav__b{background:#ffffff3d;color:#fff;box-shadow:none}.sidebar__foot{align-items:stretch;gap:10px;padding-top:14px}.sync--side{display:inline-flex}.who{flex-direction:row;align-items:center;gap:10px;padding:0 4px}.who__av{width:32px;height:32px}.who__id{display:block;flex:1;min-width:0}.who__n{display:block;font-size:13px;font-weight:500;line-height:1.2}.who__r{display:block;font-size:11px;color:var(--text-3)}.who .iconbtn{margin-left:auto;flex:none}.topbar{padding:var(--sicuro-su) calc(28px + var(--sicuro-dx)) 0 calc(28px + var(--sicuro-sx))}.topbar__title{font-size:17px}.wrap{max-width:1000px;padding:26px calc(28px + var(--sicuro-dx)) 40px calc(28px + var(--sicuro-sx))}.actionbar{padding:12px calc(32px + var(--sicuro-dx)) calc(12px + var(--sicuro-giu)) calc(32px + var(--sicuro-sx))}.actionbar__in{max-width:880px}.greet h2{font-size:26px}.homegrid{gap:16px}.panel{padding:26px 28px}.panel__t{font-size:24px}.panel__d{font-size:13.5px}.row{grid-template-columns:3px minmax(0,1fr) 186px 150px 76px 106px;grid-template-areas:"rail t sn cl dt tag"}.row__sn{display:block;grid-area:sn;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listhead{grid-template-columns:3px minmax(0,1fr) 186px 150px 76px 106px}.lh-sn{display:block}.list--proto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.proto{padding:22px}.proto__t{font-size:18px}.work{flex-direction:row;overflow:hidden}.steps{flex-direction:column;gap:2px;width:236px;flex:none;overflow-y:auto;overflow-x:visible;padding:22px 12px;border-bottom:none;border-right:1px solid var(--line);background:var(--surface)}.steps__h{display:block;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:0 10px 10px}.step{width:100%;height:auto;min-height:38px;padding:8px 10px;border-radius:var(--r-sm);border:none;background:none;justify-content:flex-start;white-space:normal;text-align:left;line-height:1.3}.step:hover{background:var(--surface-2)}.step[aria-current=step]{background:var(--red)}.step[data-done="1"]{border:none}.progress{display:none}.workmain{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.workmain .wrap{max-width:880px;padding:26px 32px 34px}.fields--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sechead h2{font-size:23px}.testrow{grid-template-columns:minmax(0,1fr) 250px}.trow{grid-template-columns:repeat(3,minmax(0,1fr))}.trow .span2{grid-column:auto}.pgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.sigwrap canvas{height:200px}.signgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.done{padding:44px 8px}.login__form{max-width:440px}}@media(min-width:1440px){.wrap{max-width:1120px}.workmain .wrap,.actionbar__in{max-width:960px}}.modale{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:#100f0eb8;padding:0;animation:modale-entra .2s var(--ease)}@keyframes modale-entra{0%{opacity:0}to{opacity:1}}.modale__box{width:100%;max-width:520px;max-height:92dvh;overflow-y:auto;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lift)}.modale__head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.modale__head h3{flex:1;font-size:16px;font-weight:600}@media(min-width:768px){.modale{align-items:center;padding:24px}.modale__box{border-radius:var(--r-lg);padding:20px}}.scanner{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:#000}.scanner video{width:100%;height:100%;object-fit:cover;display:block}.scanner__mirino{position:absolute;inset:18% 12%;border:2px solid var(--red);border-radius:var(--r-sm);box-shadow:0 0 0 100vmax #100f0e73;pointer-events:none}.caricamento{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:56px 20px;color:var(--text-3);font-size:13.5px}.spinner{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--surface-3);border-top-color:var(--red);animation:gira .7s linear infinite}@keyframes gira{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}}.vuoto{text-align:center;padding:44px 20px;border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--text-3)}.vuoto h3{font-size:15px;font-weight:600;color:var(--text-2);margin-bottom:6px}.vuoto p{font-size:13px;margin:0 auto;max-width:44ch;line-height:1.55}.vuoto .btn{margin-top:16px}.ricerca{position:relative;margin-bottom:14px}.ricerca .input{padding-left:38px}.ricerca svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.errore{border:1px solid var(--nok);background:var(--nok-soft);border-radius:var(--r);padding:12px 13px;margin-bottom:14px;font-size:13px;color:var(--nok);line-height:1.5}.errore strong{display:block;font-weight:600;margin-bottom:3px}.aggiornamento{position:fixed;left:50%;transform:translate(-50%);bottom:calc(84px + var(--sicuro-giu));z-index:78;display:flex;align-items:center;gap:12px;background:var(--ink-900, #1B1918);color:#f3efec;padding:10px 10px 10px 16px;border-radius:99px;box-shadow:var(--shadow-lift);font-size:13px;max-width:calc(100vw - 20px - var(--sicuro-sx) - var(--sicuro-dx));animation:aggEntra .3s var(--ease)}@keyframes aggEntra{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.aggiornamento{animation:none}}.aggiornamento__t{display:flex;flex-direction:column;line-height:1.25;min-width:0}.aggiornamento__t b{font-family:var(--font-display);font-weight:600;font-size:13.5px}.aggiornamento__t span{font-size:11.5px;opacity:.62}.aggiornamento .btn{min-height:36px;padding:0 15px;font-size:13px;flex:none}.aggiornamento .iconbtn{width:32px;height:32px;flex:none}@media(min-width:768px){.aggiornamento{bottom:24px}}.invito{position:fixed;z-index:75;left:calc(10px + var(--sicuro-sx));right:calc(10px + var(--sicuro-dx));bottom:calc(10px + var(--sicuro-giu));display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lift);animation:invitoEntra .3s var(--ease)}@keyframes invitoEntra{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.invito{animation:none}}.invito__ic{flex:none}.invito__ic .sidebar__disc{width:38px;height:38px;font-size:18px}.invito__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.invito__txt strong{font-family:var(--font-display);font-weight:600;font-size:14px}.invito__come{font-size:12px;color:var(--text-2);line-height:1.4;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.invito__come svg{flex:none;vertical-align:-2px;color:var(--text)}.invito__come b{font-weight:600;color:var(--text)}.invito .btn{min-height:38px;padding:0 14px;font-size:13.5px;flex:none}.invito__x{width:34px;height:34px;flex:none;color:var(--text-3)}.app:has(.actionbar)~.invito{bottom:calc(80px + var(--sicuro-giu))}@media(min-width:768px){.app:has(.actionbar)~.invito{bottom:calc(16px + var(--sicuro-giu))}}@media(min-width:560px){.invito{left:auto;right:calc(16px + var(--sicuro-dx));width:min(430px,calc(100vw - 32px))}}.giorni{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;padding:2px 7px;border-radius:4px;background:var(--surface-2);color:var(--text-2)}.giorni[data-urgenza=scaduta]{background:var(--nok-soft);color:var(--nok)}.giorni[data-urgenza=vicina]{background:var(--warn-soft);color:var(--warn)}.row--azioni{grid-template-columns:3px minmax(0,1fr) auto 36px}.row--azioni{grid-template-areas:"rail t tag del" "rail meta meta del"}.row__t{color:inherit;text-decoration:none}.row__del{grid-area:del;justify-self:end;align-self:center;width:34px;height:34px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--text-3);transition:background .13s var(--ease),color .13s var(--ease)}.row__del:hover{background:var(--nok-soft);color:var(--nok)}@media(min-width:768px){.row--azioni{grid-template-columns:3px minmax(0,1fr) 152px 66px 106px 36px;grid-template-areas:"rail t cl dt tag del"}}@media(min-width:1024px){.row--azioni{grid-template-columns:3px minmax(0,1fr) 186px 150px 76px 106px 36px;grid-template-areas:"rail t sn cl dt tag del"}}.btn--pericolo{background:var(--nok);color:#fff}.btn--pericolo:hover{background:var(--red-deep)}.nuovaanag{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:7px;padding:6px 11px;border-radius:99px;border:1px dashed var(--line-strong);background:var(--surface-2);color:var(--text-2);font-size:12.5px;font-weight:500;text-align:left}.nuovaanag:hover{border-color:var(--red);color:var(--red)}.nuovaanag svg{flex:none}.nuovaanag--fatto{border-style:solid;border-color:var(--ok);background:var(--ok-soft);color:var(--ok);cursor:default}
