/* Warm Winter — area/app.css · lo stile dell'app (prima stava dentro index.html) */
:root{--ww-css:"3.0.8"}
:root{
  --nero:#0D0D0D; --carbone:#141414; --card:#171717; --mid:#1E1E1E; --line:rgba(240,235,224,.10); --line-2:rgba(240,235,224,.18);
  --crema:#F0EBE0; --bianco:#F9F7F3; --cenere:#8A8A8A; --grigio:#B5B0A6;
  --oro:#BFA040; --oro-l:#D4B54E; --oro-d:#7A6520;
  --brace:#E2552B; --brace-l:#F27A3C; --brina:#3E9BC4; --brina-l:#7CC3E0;
  --rosso:#C0392B; --verde:#7CB97C; --fatto:#3DA35D; --danger:#E07A6E; --hi:255,255,255; --ink:#0D0D0D; --nero-rgb:13,13,13;
  --ff-s:'Cormorant Garamond',Georgia,serif; --ff-b:'Jost',sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1); --spring:cubic-bezier(.34,1.3,.64,1);
  --sat:env(safe-area-inset-top,0px); --sab:env(safe-area-inset-bottom,0px); --header-h:62px;
}
/* ===== tema chiaro: stesse variabili, valori invertiti — tutto il resto del CSS le eredita ===== */
html[data-tema="chiaro"]{
  --nero:#FAF8F3; --carbone:#F2EEE5; --card:#FFFFFF; --mid:#EAE5D9; --line:rgba(30,26,18,.11); --line-2:rgba(30,26,18,.20);
  --crema:#1E1B16; --bianco:#0D0B08; --cenere:#726C60; --grigio:#4E483F;
  --oro:#8A6D1E; --oro-l:#A9862A; --oro-d:#6B5416;
  --brace:#C1461F; --brace-l:#A8390F; --brina:#1F6E92; --brina-l:#175773;
  --rosso:#A82E20; --verde:#2F7A42; --fatto:#2F7A42; --danger:#B0432F; --hi:20,17,12; --nero-rgb:250,248,243; --ghost-txt:rgba(30,27,22,.8);
  color-scheme: light;
}
html[data-tema="chiaro"] .btn-gold::after{background:linear-gradient(105deg,transparent,rgba(0,0,0,.12),transparent)}
/* ===== lettura facilitata: testo più grande e più marcato, per chi fatica a leggere piccolo ===== */
html[data-testo="grande"]{font-size:116%}
html[data-testo="grande"] body{font-weight:500}
html[data-testo="grande"] .hint,html[data-testo="grande"] .s,html[data-testo="grande"] .sub,html[data-testo="grande"] small,html[data-testo="grande"] .meta,html[data-testo="grande"] .muted{font-weight:500}
html[data-testo="grande"] h1,html[data-testo="grande"] h2,html[data-testo="grande"] h3{font-weight:700}
/* riquadri e pallini a misura fissa (iniziali, "✕", contatori...): il testo grande ingrandisce la
   pagina, ma qui il contenitore resta piccolo in pixel — quindi qui il testo resta alla sua misura
   originale (in px, non rem, così non risente dello scaling), altrimenti esce dai bordi */
html[data-testo="grande"] .av{font-size:10.5px}
html[data-testo="grande"] .x{font-size:12.5px}
html[data-testo="grande"] .rm,html[data-testo="grande"] .prog-riga .rm,html[data-testo="grande"] .cp-row .rm{font-size:13px}
html[data-testo="grande"] .ric-rm{font-size:14px}
html[data-testo="grande"] .badge{font-size:9.5px}
html[data-testo="grande"] .sheet-x{font-size:15px}
html[data-testo="grande"] .multi{font-size:8.5px}
html[data-testo="grande"] .n{font-size:12.5px}
html[data-testo="grande"] .ptc-del{font-size:13px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--nero)}
body{font-family:var(--ff-b);background:var(--nero);color:var(--crema);min-height:100vh;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;position:relative;overflow-x:clip}
/* grana della carta, sottilissima */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.045;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,textarea,select{font-family:inherit;font-size:1rem;color:var(--crema);background:var(--mid);border:1px solid var(--line);border-radius:3px;padding:.9rem 1rem;width:100%;outline:none;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
input:focus,textarea:focus,select:focus{border-color:var(--oro);box-shadow:0 0 0 3px rgba(191,160,64,.14)}
input::placeholder,textarea::placeholder{color:rgba(240,235,224,.3)}
textarea{min-height:130px;resize:vertical;line-height:1.55}
select option{background:var(--mid);color:var(--crema)}
:focus-visible{outline:2px solid var(--oro-l);outline-offset:2px}
.hidden{display:none!important}
.eyebrow{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--oro);font-weight:500}
.muted{color:var(--cenere);font-size:.85rem;line-height:1.5}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.4rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;border-radius:2px;white-space:nowrap;position:relative;overflow:hidden;
  transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),transform .15s var(--ease),box-shadow .25s var(--ease)}
.btn:active{transform:scale(.97)}
.btn-gold{background:var(--oro);color:var(--ink);box-shadow:0 6px 18px -8px rgba(191,160,64,.55)}
.btn-gold::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(105deg,transparent,rgba(var(--hi),.35),transparent);transform:skewX(-18deg);transition:left .55s var(--ease)}
.btn-gold:hover{background:var(--oro-l)} .btn-gold:hover::after{left:130%}
.btn-ghost{border:1px solid var(--line-2);color:var(--ghost-txt,rgba(240,235,224,.82))} .btn-ghost:hover{border-color:var(--oro);color:var(--oro-l)}
.btn-sm{padding:.58rem .95rem;font-size:.64rem}
.btn-danger{color:var(--danger);border:1px solid rgba(224,122,110,.28)} .btn-danger:hover{border-color:var(--danger);background:rgba(224,122,110,.08)}
.btn:disabled{opacity:.55;cursor:default;transform:none}
.btn-block{width:100%}
.btn .dots{display:inline-flex;gap:5px}.btn .dots i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:dot 1s infinite var(--ease)}
.btn .dots i:nth-child(2){animation-delay:.15s}.btn .dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

/* ===== LOGIN: il focolare ===== */
#login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(2rem + var(--sat)) 1.5rem calc(2rem + var(--sab));text-align:center;position:relative;overflow:hidden;z-index:2}
#login .ember{position:absolute;left:50%;top:38%;width:min(120vw,720px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;z-index:-1;
  background:radial-gradient(closest-side,rgba(226,85,43,.28),rgba(226,85,43,.10) 40%,transparent 70%);filter:blur(10px);animation:breathe 7s ease-in-out infinite}
#login .frost{position:absolute;right:-20vw;top:-10vh;width:min(90vw,520px);aspect-ratio:1;pointer-events:none;z-index:-1;
  background:radial-gradient(closest-side,rgba(62,155,196,.16),transparent 70%);filter:blur(20px);animation:drift 14s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.85}50%{transform:translate(-50%,-52%) scale(1.08);opacity:1}}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(-6vw,4vh)}}
#login img{width:118px;height:auto;margin-bottom:1.5rem;filter:drop-shadow(0 12px 30px rgba(226,85,43,.35));animation:float 6s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
#login h1{font-family:var(--ff-s);font-weight:600;font-size:2.6rem;line-height:1;margin:.5rem 0 .4rem;letter-spacing:-.01em}
#login .sub{color:var(--cenere);font-size:.92rem;margin-bottom:2.2rem}
#login form{width:100%;max-width:360px;display:grid;gap:.85rem;text-align:left}
#login label{display:block;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cenere);margin-bottom:.4rem}
#login .foot{margin-top:2.6rem;font-size:.7rem;color:var(--cenere);letter-spacing:.08em}
#login .rv{opacity:0;transform:translateY(12px);animation:reveal .7s var(--ease) forwards}
#login .rv:nth-child(1){animation-delay:.05s}#login .rv:nth-child(2){animation-delay:.18s}#login .rv:nth-child(3){animation-delay:.28s}#login .rv:nth-child(4){animation-delay:.38s}#login .rv:nth-child(5){animation-delay:.5s}#login .rv:nth-child(6){animation-delay:.7s}
@keyframes reveal{to{opacity:1;transform:none}}
#login.leaving .ember{animation:flare .7s var(--ease) forwards}
#login.leaving .rv,#login.leaving img{animation:fadeout .45s var(--ease) forwards}
@keyframes flare{to{transform:translate(-50%,-50%) scale(2.4);opacity:0}}
@keyframes fadeout{to{opacity:0;transform:translateY(-10px)}}
.err{color:var(--danger);font-size:.85rem;min-height:1.2em;line-height:1.4}

/* ===== APP ===== */
#app{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:2;animation:appin .5s var(--ease)}
@keyframes appin{from{opacity:0}to{opacity:1}}
header.top{position:sticky;top:0;z-index:50;background:rgba(var(--nero-rgb),.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding-top:var(--sat)}
header.top::after{content:"";display:block;height:1px;background:linear-gradient(90deg,var(--oro),rgba(191,160,64,.25) 60%,transparent);transform-origin:left;animation:draw .9s var(--ease) .15s both}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.top-w{display:flex;align-items:center;justify-content:space-between;height:62px;padding:0 1.2rem;max-width:980px;margin:0 auto}
.top-w .brand{display:flex;align-items:center;gap:.6rem;min-width:0;overflow:hidden;flex-shrink:1}
.top-w .brand b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.top-w .brand img{height:32px;width:32px;object-fit:contain;flex-shrink:0;border-radius:0;background:transparent}
.top-w .brand b{font-family:var(--ff-s);font-size:1.3rem;font-weight:600;white-space:nowrap}
html[data-testo="grande"] .top-w .brand b{font-size:17px}
.top-w .who{font-size:.7rem;color:var(--cenere);letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.top-w .who #whoName{max-width:22vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-testo="grande"] .top-w .who #whoName{max-width:34vw}
@media(max-width:899px){html[data-testo="grande"] .top-w .who #appVer{display:none}}
.top-w .who #appVer{display:none}
@media(min-width:460px){.top-w .who #appVer{display:inline}}
.top-w .who button{color:var(--oro);letter-spacing:.16em;font-size:.64rem;text-transform:uppercase;font-weight:600}
.top-w .who #appVer{font-size:.58rem;color:var(--cenere);letter-spacing:.02em;text-transform:none;white-space:nowrap}
#prefsGear{display:flex;width:36px;height:36px;border-radius:8px;align-items:center;justify-content:center;color:var(--cenere);flex-shrink:0;flex-grow:0}
#prefsGear svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#prefsGear:hover{background:rgba(var(--hi),.07);color:var(--crema)}
/* telefono: un solo ingranaggio, niente due pulsanti stretti tra logo e nome */
.prefs{display:none}
@media(min-width:700px){.prefs{display:flex;align-items:center;gap:.3rem}#prefsGear{display:none}}
.prefs button{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--cenere);flex-shrink:0;transition:background .2s var(--ease),color .2s var(--ease)}
.prefs button:hover{background:rgba(var(--hi),.07);color:var(--crema)}
.prefs button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#temaToggle .ic-luna{display:none}
html[data-tema="chiaro"] #temaToggle .ic-sole{display:none}
html[data-tema="chiaro"] #temaToggle .ic-luna{display:block}
#testoToggle{font-family:var(--ff-b);font-weight:600;font-size:.76rem;letter-spacing:.01em}
html[data-testo="grande"] #testoToggle{color:var(--oro);background:rgba(191,160,64,.14)}
nav.tabs{display:none}
main{flex:1;max-width:980px;width:100%;margin:0 auto;padding:1.3rem 1.2rem calc(88px + var(--sab))}
main.enter>.view{animation:viewin .32s var(--ease)}
@keyframes viewin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* ===== tablet in verticale (circa 700-899px): barra laterale come da scrivania, ma griglie più
   comode su uno schermo meno largo — telefoni veri restano sotto questa soglia ===== */
@media(min-width:700px) and (max-width:899px){
  header.top{position:fixed;left:0;top:0;bottom:0;width:200px;background:rgba(var(--nero-rgb),.97);border-right:1px solid var(--line);display:flex;flex-direction:column;padding-top:0}
  header.top::after{display:none}
  .top-w{display:contents}
  .top-w .brand{order:0;padding:1.3rem 1.1rem .9rem}
  .top-w .brand img{height:34px;width:34px;border-radius:0}
  .top-w .brand b{font-size:.95rem}
  html[data-testo="grande"] .top-w .brand b{font-size:calc(.95rem / 1.16)}
  .top-w .prefs{order:2;padding:0 1.1rem .8rem;justify-content:flex-start}
  .top-w .who{order:3;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;padding:.9rem 1.1rem calc(1.1rem + var(--sab));border-top:1px solid var(--line);background:rgba(var(--nero-rgb),.97)}
  .top-w .who #whoName{font-size:.68rem;color:var(--crema);letter-spacing:.05em;text-transform:none;display:flex;align-items:center;gap:.5rem}
  .top-w .who #whoName::before{content:attr(data-ini);width:24px;height:24px;border-radius:50%;background:rgba(191,160,64,.15);color:var(--oro);display:inline-flex;align-items:center;justify-content:center;font-size:.64rem;font-weight:700;letter-spacing:0}
  nav.tabs{order:1;display:flex;flex-direction:column;gap:.15rem;padding:.4rem .6rem;flex:1;overflow-y:auto;min-height:0}
  nav.tabs button{display:flex;align-items:center;gap:.65rem;padding:.65rem .65rem;border-radius:5px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cenere);text-align:left;transition:all .2s var(--ease);position:relative}
  nav.tabs button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
  nav.tabs button:hover{color:var(--crema);background:rgba(var(--hi),.03)}
  nav.tabs button.on{color:var(--oro);background:rgba(191,160,64,.09)}
  .nav-group-lab{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere);padding:.9rem .65rem .3rem;opacity:.85}
  nav.tabs button .badge{position:static;margin-left:auto}
  nav.bottom{display:none!important}
  main{margin:0 0 0 200px;width:auto;max-width:none;padding:1.6rem 1.6rem 2.4rem}
  .view h2{font-size:2rem}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .kpi.wide{grid-column:span 2}
  .g2{grid-template-columns:1fr 1fr}
  .days{display:grid;grid-template-columns:1fr;gap:.7rem}
}
@media(min-width:900px){
  /* scrivania: menù laterale fisso, contenuto largo */
  header.top{position:fixed;left:0;top:0;bottom:0;width:232px;background:rgba(var(--nero-rgb),.97);border-right:1px solid var(--line);display:flex;flex-direction:column;padding-top:0}
  header.top::after{display:none}
  .top-w{display:contents}
  .top-w .brand{order:0;padding:1.6rem 1.4rem 1.1rem}
  .top-w .brand img{height:38px;width:38px;border-radius:0}
  .top-w .prefs{order:2;padding:0 1.4rem .9rem;justify-content:flex-start}
  .top-w .who{order:3;flex-direction:row;align-items:center;justify-content:space-between;gap:.6rem;padding:1rem 1.4rem calc(1.2rem + var(--sab));border-top:1px solid var(--line);background:rgba(var(--nero-rgb),.97)}
  .top-w .who #whoName{font-size:.72rem;color:var(--crema);letter-spacing:.06em;text-transform:none;display:flex;align-items:center;gap:.55rem}
  .top-w .who #whoName::before{content:attr(data-ini);width:26px;height:26px;border-radius:50%;background:rgba(191,160,64,.15);color:var(--oro);display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;letter-spacing:0}
  nav.tabs{order:1;display:flex;flex-direction:column;gap:.15rem;padding:.4rem .8rem;flex:1;overflow-y:auto;min-height:0}
  nav.tabs button{display:flex;align-items:center;gap:.8rem;padding:.7rem .8rem;border-radius:5px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cenere);text-align:left;transition:all .2s var(--ease);position:relative}
  nav.tabs button svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
  nav.tabs button:hover{color:var(--crema);background:rgba(var(--hi),.03)}
  nav.tabs button.on{color:var(--oro);background:rgba(191,160,64,.09)}
  .nav-group-lab{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cenere);padding:1rem .8rem .35rem;opacity:.85}
  nav.tabs button .badge{position:static;margin-left:auto}
  nav.bottom{display:none!important}
  main{margin:0 0 0 232px;width:auto;max-width:1220px;padding:2.2rem 2.8rem 3rem}
  .view h2{font-size:2.5rem}
  .days{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:start}
  .days .card{margin-bottom:0}
  .cols{display:grid;grid-template-columns:1.05fr .95fr;gap:1.6rem;align-items:start}
  .cols>div{min-width:0}
  .kpis{grid-template-columns:repeat(3,1fr)}
  .kpi.wide{grid-column:span 2}
  .rcard .acts2{justify-content:flex-start}
}
@media(min-width:1400px){main{max-width:1380px}.days{grid-template-columns:repeat(3,1fr)}.kpis{grid-template-columns:repeat(4,1fr)}}
/* ===== foto impianto: riquadri per categoria, riusati in DUI, Libretto e scheda impianto ===== */
.foto-cat{margin-bottom:1.1rem}
.foto-cat .lab{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oro);margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:center}
.foto-cat .lab small{color:var(--cenere);text-transform:none;letter-spacing:0;font-size:.72rem}
.foto-grid{display:flex;flex-wrap:wrap;gap:.5rem}
.foto-grid .ph{position:relative;width:76px;height:76px;border-radius:6px;overflow:hidden;background:var(--nero);border:1px solid var(--line);animation:pop .35s var(--spring)}
.foto-grid .ph img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}
.foto-grid .ph .x{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.foto-grid .ph.up{display:flex;align-items:center;justify-content:center}
.foto-grid .add{width:76px;height:76px;border-radius:6px;border:1px dashed var(--line-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--oro);font-size:.58rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:transparent;text-align:center;line-height:1.2}
.foto-grid .add svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.foto-cat input[type=file]{display:none}
.foto-empty{font-size:.78rem;color:var(--grigio)}
/* ===== programma a squadre (niente più PDF) ===== */
.prog-team{border-top:1px dashed var(--line);padding:.8rem 0}
.prog-team.bozza{opacity:.85}
.prog-team-h{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:.5rem}
.prog-team-h b{font-size:.92rem;font-weight:600}
.prog-team-h .mezzo{display:inline-block;margin-left:.5rem;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--oro-l);background:rgba(191,160,64,.12);border-radius:8px;padding:.1rem .5rem;vertical-align:middle}
.prog-team-list{display:grid;gap:.35rem}
.prog-riga{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background:var(--mid);border-radius:6px;font-size:.84rem;min-width:0}
.prog-riga .t{flex:1;min-width:0}
.prog-riga .t small{display:block;color:var(--cenere);font-size:.72rem;font-weight:400}
.prog-riga .call{flex-shrink:0;color:var(--brina-l);display:flex}
.prog-riga .call svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prog-riga .rm{flex-shrink:0;width:24px;height:24px;border-radius:50%;color:var(--danger);font-size:.8rem}
.prog-riga .rm:hover{background:rgba(224,122,110,.15)}
.prog-team-act{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}
.prog-libere{margin-top:.4rem;padding:.6rem;background:rgba(191,160,64,.06);border:1px dashed rgba(191,160,64,.3);border-radius:8px}
.prog-libere .prog-riga{background:var(--card);flex-wrap:wrap}
.assegna-a{display:flex;gap:.35rem;flex-wrap:wrap}
.assegna-a button{font-size:.68rem;padding:.25rem .5rem;border:1px solid var(--line-2);border-radius:5px;color:var(--grigio)}
.assegna-a button:hover{color:var(--oro-l);border-color:var(--oro)}
/* riepilogo compatto di una squadra nella settimana: tutto cliccabile per aprire "Crea programma" */
.prog-team-compact{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;border-top:1px dashed var(--line);padding:.75rem 0;color:inherit}
.prog-team-compact-wrap{border-top:1px dashed var(--line)}
.prog-team-compact-wrap .prog-team-compact{border-top:0}
.ptc-dettaglio{padding:0 0 .8rem}
.ptc-dettaglio .cp-row{background:var(--mid)}
.prog-team-compact.admin{padding:0}
.prog-team-compact.admin .ptc-open{display:flex;align-items:center;gap:.7rem;flex:1;min-width:0;text-align:left;color:inherit;padding:.75rem 0;border-top:1px dashed var(--line)}
.prog-team-compact.admin .ptc-del{flex-shrink:0;width:32px;height:32px;border-radius:50%;color:var(--cenere);display:flex;align-items:center;justify-content:center;margin-top:.35rem}
.prog-team-compact.admin .ptc-del svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.prog-team-compact.admin .ptc-del:hover{color:var(--danger);background:rgba(224,122,110,.14)}
.ptc-open:hover{color:var(--oro-l)}
.ptc-open:hover .av{background:rgba(191,160,64,.22)}
.ptc-chi{display:flex;align-items:center;flex-shrink:0}
.ptc-av{display:flex}
.ptc-av .av{margin-right:0;margin-left:-.5rem;border:2px solid var(--carbone)}
.ptc-av .av:first-child{margin-left:0}
.mezzo-ico{width:30px;height:30px;border-radius:50%;background:rgba(191,160,64,.1);color:var(--oro);display:flex;align-items:center;justify-content:center;margin-left:.5rem;flex-shrink:0}
.mezzo-ico svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ptc-mid{flex:1;min-width:0}
.ptc-mid b{font-size:.88rem;font-weight:600;display:block}
.ptc-mid small{display:block;color:var(--cenere);font-size:.72rem;margin-top:.1rem}
/* Crea programma: la tabella */
.cp-cols{align-items:start}
.cp-embed-lab{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oro);margin-bottom:.6rem}
#pgChiamateEmbed{border:1px solid var(--line);border-radius:10px;padding:1rem;max-height:82vh;overflow:auto}
.cp-tab{display:grid;grid-template-columns:1fr;gap:.4rem;margin-bottom:1rem}
.cp-row{display:flex;align-items:center;gap:.8rem;padding:.55rem .6rem;background:var(--mid);border-radius:7px;min-width:0}
.cp-squadra-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;color:var(--grigio);font-size:.86rem;margin:0 0 1.1rem;padding:.25rem .5rem;margin-left:-.5rem;border-radius:8px;border:1px dashed rgba(212,175,106,.28);transition:background .15s}
.cp-squadra-btn b{color:var(--crema)}.cp-squadra-btn i{font-style:normal;opacity:.7}
.cp-squadra-btn svg{width:14px;height:14px;fill:none;stroke:var(--oro-l);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cp-squadra-btn:hover{background:rgba(212,175,106,.1)}
.zone-prog{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0 0 .8rem;padding:.55rem .65rem;border:1px solid rgba(62,155,196,.35);background:rgba(62,155,196,.07);border-radius:10px}
.zone-prog .zp-lab{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brina-l);margin-right:.2rem}
.zone-prog .zp-z{margin:0;cursor:default}
.zone-prog .zp-x{all:unset;cursor:pointer;margin-left:auto;font-size:.72rem;color:var(--grigio);padding:.2rem .45rem;border-radius:6px}
.zone-prog .zp-x:hover{color:var(--crema);background:rgba(255,255,255,.06)}
.zone-prog.off{background:none;border-style:dashed;border-color:rgba(62,155,196,.3)}.zone-prog.off .zp-x{margin-left:0;color:var(--brina-l)}
.cp-ora{flex:0 0 60px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--oro-l)}
.cp-ora-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-block;min-width:52px;padding:.28rem .45rem;margin:-.28rem 0 0 -.45rem;border-radius:8px;border:1px dashed rgba(212,175,106,.28);font:inherit;color:inherit;font-variant-numeric:tabular-nums;transition:background .15s,border-color .15s}
.cp-ora-btn:hover,.cp-ora-btn:focus-visible{background:rgba(212,175,106,.12);border-color:rgba(212,175,106,.45)}
.ora-edit{display:flex;gap:.5rem;align-items:center;margin:.4rem 0 .2rem;max-width:100%}.ora-edit .btn{flex:0 0 auto;padding-left:.7rem;padding-right:.7rem}.ora-edit input{flex:1 1 0;width:0;min-width:0;font-size:1.6rem;text-align:center;font-variant-numeric:tabular-nums;padding:.5rem}
.cp-chi{flex:1;min-width:0}
.cp-chi b{font-size:.88rem}
.cp-chi small{display:block;color:var(--cenere);font-size:.74rem;margin-top:.1rem}
.cp-row .call{flex-shrink:0;display:flex;padding:0;background:none;color:var(--brina-l)!important;width:22px;height:22px;align-items:center;justify-content:center}
.cp-row .call svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cp-row .rm{flex-shrink:0;width:26px;height:26px;border-radius:50%;color:var(--danger);font-size:.85rem}
.cp-row .rm:hover{background:rgba(224,122,110,.15)}
.cp-nuova{border:1px dashed var(--line-2);border-radius:10px;padding:.9rem}
.cp-nuova-tabs{display:flex;gap:.4rem;margin-bottom:.7rem}
.cp-nuova-tabs button{font-size:.74rem;padding:.35rem .7rem;border-radius:6px;color:var(--grigio);border:1px solid var(--line-2)}
.cp-nuova-tabs button.on{background:var(--oro);color:var(--ink);border-color:var(--oro);font-weight:600}
.cp-row-form{background:none;padding:0;align-items:flex-start}
.cp-row-form .cp-ora input{width:100%}
.cp-row-form .cp-chi input{width:100%;margin-bottom:.4rem}
.cp-mini{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.4rem}
@media(max-width:640px){.cp-row-form{flex-direction:column}.cp-row-form .cp-ora{flex-basis:auto;width:140px}.cp-row:not(.cp-row-form) .cp-ora{flex:0 0 auto;min-width:0}.cp-mini{grid-template-columns:1fr}}
/* ===== schede fatturazione (drill-down dal Fatturato) ===== */
.view-tools{display:flex;justify-content:flex-end;margin-bottom:.7rem}
.rcard-fatt{position:relative;display:flex;gap:.9rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.9rem .9rem .9rem 2.7rem;margin-bottom:.8rem;transition:opacity .2s var(--ease)}
.rcard-fatt.fatturata{opacity:.55}
.rcard-check{position:absolute;left:.7rem;top:.9rem;cursor:pointer}
.rcard-check input{position:absolute;opacity:0;width:28px;height:28px;margin:0;cursor:pointer}
.rcard-tick{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:1.5px solid var(--line-2);background:var(--mid);transition:all .15s var(--ease)}
.rcard-tick svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.6);transition:all .15s var(--ease)}
.rcard-check input:checked + .rcard-tick{background:var(--verde);border-color:var(--verde)}
.rcard-check input:checked + .rcard-tick svg{opacity:1;transform:scale(1)}
.rcard-check input:focus-visible + .rcard-tick{outline:2px solid var(--oro);outline-offset:2px}
.rcard-foto{width:84px;height:84px;border-radius:7px;overflow:hidden;flex-shrink:0;background:var(--mid);display:flex;align-items:center;justify-content:center;cursor:pointer}
.rcard-foto img{width:100%;height:100%;object-fit:cover;display:block}
.rcard-foto.vuota{color:var(--cenere);cursor:default}
.rcard-foto.vuota svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.4;opacity:.5}
.rcard-fatt-info{flex:1;min-width:0}
.rcard-fatt-top{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}
.rcard-fatt-top .nome{font-weight:600;font-size:.98rem;color:var(--crema);text-align:left}
.rcard-fatt-top .imp{font-family:var(--ff-s);font-size:1.3rem;color:var(--oro-l);white-space:nowrap;flex-shrink:0}
.rcard-fatt-info .meta{font-size:.76rem;color:var(--cenere);margin-top:.1rem}
.rcard-fatt-tipo{font-size:.86rem;color:var(--grigio);margin-top:.45rem;line-height:1.35}
/* assistente "Warm Winter" (IA) */
.ass-messaggi{display:flex;flex-direction:column;gap:.7rem;min-height:280px;padding:.2rem .1rem 5.5rem}
.ass-msg{padding:.7rem 1rem;border-radius:14px;max-width:82%;line-height:1.5;font-size:.92rem;white-space:pre-wrap}
.ass-utente{align-self:flex-end;background:var(--oro);color:#1a1206;border-bottom-right-radius:4px}
.ass-bot{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-left-radius:4px}
.ass-provvisorio{opacity:.55}
/* fissa davvero in fondo allo SCHERMO (non al contenitore che scorre): sticky si aggancia solo
   dentro il proprio genitore che scorre, e con una chat corta restava a mezz'aria invece di
   scendere in fondo — fixed risolve, ma va calibrato sopra al menu del telefono e accanto al
   menu laterale del computer, non sopra né sotto di loro */
.ass-invio{display:flex;gap:.6rem;align-items:flex-end;position:fixed;left:0;right:0;bottom:var(--navh,0px);background:var(--carbone);padding:.7rem 1.2rem;border-top:1px solid var(--line);z-index:40}
.ass-invio textarea{flex:1;resize:none;min-height:2.6rem}
@media(min-width:900px){
  .ass-messaggi{padding-bottom:4.5rem}
  .ass-invio{left:232px;bottom:0;padding:1rem 2.8rem}
}
.ass-ricca{background:transparent!important;border:0!important;padding:0!important;max-width:96%!important}
.ass-scheda{background:var(--card);border:1px solid var(--line-2);border-left:3px solid var(--oro);border-radius:12px;padding:.9rem 1rem;margin-bottom:.6rem}
.ass-scheda-tit{display:flex;align-items:center;gap:.5rem;font-family:var(--ff-s);font-weight:600;font-size:1.02rem;margin-bottom:.4rem}
.ass-scheda-tit svg{width:18px;height:18px;flex-shrink:0;stroke:var(--oro-l);fill:none;stroke-width:1.6}
.ass-riga-sub{font-size:.82rem;color:var(--cenere);line-height:1.5}
.ass-tariffe{display:flex;flex-direction:column;gap:.2rem}
.ass-tariffa-riga{display:flex;justify-content:space-between;gap:1rem;font-size:.86rem;padding:.25rem 0;border-bottom:1px dashed var(--line-2)}
.ass-tariffa-riga:last-child{border-bottom:0}
.ass-tariffa-riga b{color:var(--oro-l);white-space:nowrap}
.ass-impianto{margin:.6rem 0 0 .2rem;padding:.6rem .8rem;background:rgba(196,165,66,.06);border-radius:9px}
.ass-impianto-tit{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9rem;margin-bottom:.2rem}
.ass-impianto-tit svg{width:15px;height:15px;flex-shrink:0;stroke:var(--grigio);fill:none;stroke-width:1.6}
.ass-intervento{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--line-2);font-size:.84rem;line-height:1.5}
.ass-intervento b{color:var(--crema)}
.ass-ricambio-riga{display:grid;grid-template-columns:auto 1fr auto;gap:.3rem .6rem;align-items:baseline;padding:.35rem 0;border-bottom:1px dashed var(--line-2)}
.ass-ricambio-riga:last-child{border-bottom:0}
.ass-ricambio-riga .ass-riga-sub{grid-column:2}
.ass-codice{font-family:var(--ff-s);font-size:.72rem;color:var(--oro-l);background:rgba(196,165,66,.12);padding:.1rem .4rem;border-radius:5px;white-space:nowrap}
/* mappa delle zone: pallini dei comuni (visti da dentro una zona) e il pannello di controllo in alto a destra */
.zona-poligono{transition:fill-opacity .3s ease}
/* preventivo: sezione manodopera e documento stampabile aperto dentro l'app */
.pv-man{margin:1rem 0}.pv-man textarea{width:100%;margin-bottom:.5rem}
.pv-man-riga{display:flex;align-items:center;gap:.8rem}.pv-man-riga span{flex:1;font-size:.82rem;color:var(--grigio)}.pv-man-riga small{color:var(--cenere)}.pv-man-riga input{max-width:150px;text-align:right}
#stampaDoc{position:fixed;inset:0;z-index:600;overflow:auto;background:#d9d4c8;-webkit-overflow-scrolling:touch;padding-bottom:var(--sab)}
#stampaDoc .stampa-barra{position:sticky;top:0;z-index:2;display:flex;justify-content:center;gap:.6rem;padding:calc(.7rem + var(--sat)) 1rem .7rem;background:rgba(13,13,13,.96)}
#stampaDoc .wwdoc{padding:0 .5rem 2rem}
@media(max-width:820px){#stampaDoc .wwdoc .pag{zoom:.46}}
@media(min-width:821px) and (max-width:1100px){#stampaDoc .wwdoc .pag{zoom:.8}}
@media print{
  html.stampa-attiva,html.stampa-attiva body{background:#F9F7F3!important;margin:0!important;padding:0!important;overflow:visible!important;height:auto!important;min-height:0!important}
  html.stampa-attiva body>*:not(#stampaDoc){display:none!important}
  html.stampa-attiva #stampaDoc{position:static!important;overflow:visible!important;background:none!important;padding:0!important}
  html.stampa-attiva #stampaDoc .stampa-barra{display:none!important}
  html.stampa-attiva #stampaDoc .wwdoc{padding:0!important}
  html.stampa-attiva #stampaDoc .wwdoc .pag{zoom:1!important}
}

/* 2.2 — schede chiamata, crediti, pianifica zona */
.acts-altre{display:contents}
.acts-altre[hidden]{display:none}
.acts-piu{min-width:2.4rem;letter-spacing:.1em;font-weight:700}
.acts-piu.on{border-color:var(--oro);color:var(--oro-l)}
.cred-lista{display:flex;flex-direction:column;gap:.6rem;margin-top:.8rem;max-height:62vh;overflow-y:auto}
.cred-riga{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem}
.cred-testa{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline}
.cred-testa b{font-size:.92rem;color:var(--crema)}
.cred-eur{font-family:var(--ff-s);font-size:1.15rem;font-weight:600;color:var(--oro-l);white-space:nowrap}
.cred-meta{font-size:.74rem;color:var(--cenere);margin:.2rem 0 .55rem}
.cred-azioni{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.pz-lista{display:flex;flex-direction:column;gap:.35rem;max-height:40vh;overflow-y:auto;margin:.2rem 0 .6rem}
.sheet label.pz-riga,.pz-riga{display:flex;align-items:center;gap:.7rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.6rem .75rem;cursor:pointer;margin:0;text-transform:none;letter-spacing:0}
.pz-riga input{width:18px;height:18px;flex:none;accent-color:var(--oro)}
.pz-testo{flex:1;min-width:0;display:flex;flex-direction:column}
.sheet label.pz-riga,.sheet .pz-riga *{text-transform:none;letter-spacing:0;font-family:var(--ff-b)}
.sheet label.pz-riga{flex-direction:row;font-size:inherit;color:inherit;margin:0}
.pz-testo b{font-size:.86rem;color:var(--crema);font-weight:500}
.pz-testo small{font-size:.72rem;color:var(--cenere)}
.pz-gg{font-size:.7rem;color:var(--cenere);white-space:nowrap}
.pz-gg.old{color:var(--brace-l)}
.mappa-zona-controlli{flex-wrap:wrap;justify-content:flex-end}
/* telefono: i filtri vanno A CAPO — in quattro pagine le ultime schede finivano fuori schermo, invisibili */
/* i filtri vanno A CAPO ovunque: sul telefono (schermo stretto) e sul computer (colonna stretta
   accanto al calendario in Chiamate) le ultime schede finivano fuori vista, invisibili */
.chips{flex-wrap:wrap;overflow-x:visible}
@media(max-width:899px){
  /* tabella accessi in Squadra: sul telefono ogni utente diventa un blocco, niente colonne tagliate */
  .tab-accessi table,.tab-accessi tbody,.tab-accessi tr,.tab-accessi td{display:block;width:100%}
  .tab-accessi tr:first-child{display:none}
  .tab-accessi tr{padding:.7rem 0;border-bottom:1px solid var(--line)}
  .tab-accessi td{border:0;padding:.12rem 0}
  .tab-accessi td:nth-child(2),.tab-accessi td:nth-child(3),.tab-accessi td:nth-child(4){font-size:.76rem;color:var(--cenere);display:inline;margin-right:.6rem}
  .tab-accessi td:last-child{margin-top:.4rem;white-space:normal!important}
  .vbars{--gap:.22rem}
  .vbars div{min-width:0}
  .vbars b{font-size:.56rem}
  .vbars span{font-size:.5rem}
}
/* la mappa tiene i suoi livelli (Leaflet arriva a z-index 1000) DENTRO il proprio riquadro: senza
   questo si disegnava sopra ai pannelli che si aprono dal basso — Crediti su Oggi, Pianifica sulla Mappa */
#mappaZoneChiamate,.mappa-grande,.mappa-piccola,.leaflet-container{position:relative;z-index:0;isolation:isolate}
.mappa-grande{height:calc(100vh - 230px);min-height:420px;border-radius:14px;background:var(--card);overflow:hidden}
@media(min-width:900px){.mappa-grande{height:calc(100vh - 160px)}}
.mappa-scorciatoia{display:flex;align-items:center;gap:.9rem;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;margin:1rem 0;text-decoration:none;color:inherit;transition:border-color .2s ease,transform .2s ease}
.mappa-scorciatoia:active{transform:scale(.98)}
.mappa-scorciatoia svg:first-child{width:26px;height:26px;flex:none;stroke:var(--oro-l);fill:none;stroke-width:1.6}
.mappa-scorciatoia span{flex:1;display:flex;flex-direction:column;gap:.15rem}
.mappa-scorciatoia b{font-family:var(--ff-d);font-size:1.05rem;font-weight:600;color:var(--crema)}
.mappa-scorciatoia small{color:var(--grigio);font-size:.78rem}
.mappa-scorciatoia .frecc{width:18px;height:18px;flex:none;stroke:var(--cenere);fill:none;stroke-width:2}
.mappa-scorciatoia:hover{border-color:var(--oro)}
.comune-pin{pointer-events:none}
.comune-pin-conchiamate{pointer-events:auto}
.comune-pin-punto{width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid var(--brace,#c0392b);box-shadow:0 1px 4px rgba(0,0,0,.5)}
.comune-pin:not(.comune-pin-conchiamate) .comune-pin-punto{border-color:#999;width:6px;height:6px;margin:1.5px}
.comune-pin-etichetta{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:.66rem;font-weight:600;color:#fff;background:rgba(20,16,10,.85);padding:.08rem .38rem;border-radius:5px;margin-top:3px}
.comune-pin-conchiamate{cursor:pointer}
.comune-pin-dacorreggere .comune-pin-punto{border-color:#c9932e}
.comune-pin-dacorreggere .comune-pin-etichetta{background:#c9932e;color:#1a1206}
.comune-pin-conchiamate .comune-pin-etichetta{background:var(--brace,#c0392b)}
.mappa-zona-controlli{display:flex;gap:.4rem;background:transparent;border:0!important;box-shadow:none!important;margin:8px!important}
.mappa-view{display:flex;flex-direction:column;height:calc(100dvh - var(--header-h,64px) - 1rem)}
.mappa-grande{flex:1;min-height:360px;border-radius:14px;background:var(--card);overflow:hidden}
.oggi-mappa-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem 1rem 0;margin:0 0 1.1rem;overflow:hidden}
.oggi-mappa-testa{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}
.oggi-mappa-testa b{font-size:1rem}
.oggi-mappa-testa button{background:none;border:0;color:var(--oro-l);font-size:.82rem;font-weight:600;cursor:pointer;padding:.3rem}
.mappa-piccola{height:230px;margin:0 -1rem;border-radius:0 0 14px 14px;overflow:hidden}
@media(min-width:900px){.mappa-piccola{height:320px}}
@media(min-width:900px){.mappa-view{height:calc(100dvh - 2.5rem)}}
.mappa-scorciatoia{display:flex;align-items:center;gap:.9rem;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;margin:0 0 1.4rem;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.mappa-scorciatoia:active{transform:scale(.98)}
.mappa-scorciatoia svg.ic,.mappa-scorciatoia>svg:first-child{width:26px;height:26px;flex:0 0 auto;stroke:var(--oro-l);fill:none;stroke-width:1.6}
.mappa-scorciatoia span{flex:1;display:flex;flex-direction:column;gap:.15rem}
.mappa-scorciatoia b{font-size:.94rem}
.mappa-scorciatoia small{color:var(--grigio);font-size:.78rem}
.mappa-scorciatoia .frecc{width:18px;height:18px;stroke:var(--cenere);fill:none;stroke-width:2;flex:0 0 auto}
.mappa-scorciatoia:hover{border-color:var(--oro)}
.mappa-zona-controlli .btn{white-space:nowrap;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.mappa-zona-controlli .mappa-btn-indietro{background:rgba(20,16,10,.92);color:var(--crema);border-color:rgba(240,235,224,.3)}
.mappa-zona-controlli .mappa-btn-indietro:hover{border-color:var(--oro);color:var(--oro-l)}
/* pallini della mappa delle zone (Analisi -> Chiamate) */
.zona-pin-cerchio{width:22px;height:22px;line-height:22px;background:#8a8a8a;color:#fff;border-radius:50%;text-align:center;font-family:var(--ff-s);font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.4);border:1.5px solid #fff;cursor:pointer;font-size:.68rem}
.zona-pin-aperte .zona-pin-cerchio{background:var(--brace,#c0392b)}
.zona-pin-tutte-fatte .zona-pin-cerchio{opacity:.6}
#mappaZoneChiamate .leaflet-control-attribution{font-size:.6rem}
.rcard-fatt-tipo small{color:var(--cenere)}
.rcard-fatt-pag{display:flex;gap:.5rem;align-items:center;margin-top:.55rem}
.rcard-fatt-pag .metodo{font-size:.72rem;color:var(--cenere)}
.rcard-fatt-act{display:flex;margin-top:.6rem}
.copia-tel{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--grigio);padding:.35rem .7rem;border:1px solid var(--line-2);border-radius:6px}
.copia-tel:hover{color:var(--crema);border-color:var(--oro)}
.copia-tel svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.copia-tel.fatto{color:var(--verde);border-color:var(--verde)}
@media(max-width:480px){.rcard-fatt{gap:.65rem;padding:.7rem}.rcard-foto{width:64px;height:64px}}
/* ===== home personalizzabile ===== */
.kpis .kpi.w1{grid-column:span 1}.kpis .kpi.w2{grid-column:span 2}.kpis .kpi.w3{grid-column:span 3}
@media(min-width:900px){.kpis.cols3{grid-template-columns:repeat(3,1fr)}.kpis.cols4{grid-template-columns:repeat(4,1fr)}}
@media(max-width:899px){.kpis .kpi.w2,.kpis .kpi.w3{grid-column:span 1}}
@media(min-width:700px) and (max-width:899px){.kpis .kpi.w2,.kpis .kpi.w3{grid-column:span 2}}
.home-tools{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin:-.4rem 0 .9rem;font-size:.8rem;color:var(--grigio)}
.kpis.editing .pz{cursor:grab;outline:1px dashed rgba(191,160,64,.35);outline-offset:3px}
.kpis.editing .pz.dragging{opacity:.4}
.kpis.editing .pz.over-prima{box-shadow:-4px 0 0 var(--oro)}.kpis.editing .pz.over-dopo{box-shadow:4px 0 0 var(--oro)}
.kpis.editing .pz-hidden{opacity:.35;filter:grayscale(1)}
.pz-tools{display:flex;align-items:center;gap:.5rem;margin:-.2rem 0 .7rem;padding-bottom:.5rem;border-bottom:1px dashed var(--line);font-size:.7rem;color:var(--cenere)}
.pz-tools .pz-nome{flex:1;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--grigio)}
.pz-drag{cursor:grab;color:var(--cenere);font-size:.9rem;letter-spacing:-.15em;user-select:none}
.pz-btn{padding:.2rem .5rem;border:1px solid var(--line-2);border-radius:5px;font-size:.66rem;color:var(--grigio);text-transform:uppercase;letter-spacing:.04em}
.pz-btn.on{background:var(--oro);color:var(--ink);border-color:var(--oro);font-weight:700}
.pz-size{display:flex;gap:.25rem}
.kpis-group-lab.pz{display:flex;align-items:center;gap:.6rem}
.pz-titolo{flex:0 1 240px;background:var(--card);border:1px solid var(--line-2);border-radius:5px;padding:.3rem .5rem;color:var(--oro);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.home-bar{position:sticky;bottom:1rem;display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;background:var(--carbone);border:1px solid var(--line-2);border-radius:10px;padding:.7rem 1rem;margin-top:1rem;box-shadow:0 16px 40px rgba(0,0,0,.45);font-size:.78rem}
.home-bar .hb-g{display:flex;align-items:center;gap:.35rem}.home-bar .hb-g>span{color:var(--cenere);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;margin-right:.3rem}
.home-bar .hb-g.right{margin-left:auto}
.home-bar button{padding:.4rem .7rem;border:1px solid var(--line-2);border-radius:6px;color:var(--grigio)}
.home-bar button.on{background:rgba(191,160,64,.15);color:var(--oro-l);border-color:var(--oro)}
.home-bar button.btn-gold{color:var(--ink);border-color:var(--oro)}
.bozza-avviso{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;background:rgba(191,160,64,.12);border:1px solid rgba(191,160,64,.35);border-radius:8px;padding:.7rem .9rem;margin:-.4rem 0 1rem;font-size:.84rem}
.bozza-avviso button{color:var(--oro-l);font-weight:600;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
/* ===== analisi ===== */
.an-kpis{margin-bottom:1.2rem}
.an-sez{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;margin-bottom:1rem}
.an-sez h3{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oro);margin:0 0 .7rem;font-weight:600}
.an-sez h3 small{color:var(--cenere);text-transform:none;letter-spacing:0;font-weight:400}
.an-sez .bars .bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}
.an-due{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:700px){.an-due{grid-template-columns:1fr 1fr}.an-due .an-sez{margin-bottom:1rem}}
.an-lista{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}
/* tabella ore: dipendenti/giorni in riga, scorre in orizzontale se ci sono molte colonne, con la
   prima colonna (nome o giorno) fissa così resta leggibile mentre si scorre */
.ore-tab-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;-webkit-overflow-scrolling:touch}
.ore-tab{border-collapse:collapse;width:100%;font-size:.82rem;white-space:nowrap}
.ore-tab th,.ore-tab td{padding:.55rem .75rem;text-align:center;border-bottom:1px solid var(--line)}
.ore-tab thead th{color:var(--oro);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line-2)}
.ore-tab tbody tr:last-child td{border-bottom:0}
.ore-tab td.stick,.ore-tab th.stick{text-align:left;font-weight:600;color:var(--crema);position:sticky;left:0;background:var(--card);z-index:1}
.ore-tab thead th.stick{background:var(--card);z-index:2}
.ore-tab td .s{color:var(--cenere)}
.ore-tab td.tot,.ore-tab th:last-child{font-weight:700;color:var(--oro-l)}
.ore-tab td small{font-weight:400}
.an-lista li{display:flex;justify-content:space-between;align-items:center;gap:.8rem;font-size:.86rem;padding:.4rem 0;border-bottom:1px solid var(--line)}
.an-lista li:last-child{border-bottom:0}
.an-lista li button{color:var(--crema);text-align:left;font-weight:600}
.an-lista li span{color:var(--cenere);font-size:.76rem;white-space:nowrap}
#srvErr{position:fixed;left:0;right:0;top:0;z-index:900;background:var(--danger);color:#fff;padding:.8rem 1rem;font-size:.84rem;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;box-shadow:0 8px 24px rgba(0,0,0,.4)}
#srvErr b{white-space:nowrap}#srvErr span{flex:1;min-width:200px}#srvErr button{border:1px solid rgba(255,255,255,.6);color:#fff;padding:.3rem .7rem;border-radius:4px;font-size:.74rem}
/* ===== bottone grande "Compila DUI" in cima alla schermata d'ingresso ===== */
.cta-dui{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;background:var(--oro);color:var(--ink);border-radius:10px;padding:1.15rem 1.4rem;margin:0 0 1.3rem;text-align:left;box-shadow:0 12px 30px -12px rgba(191,160,64,.7);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
/* ===== cartellino digitale ===== */
.cta-timbra-wrap{margin:-.5rem 0 1.3rem}
.cta-timbra-wrap:empty{margin:0}
.cta-timbra{display:flex;align-items:center;gap:.9rem;width:100%;background:var(--card);border:1.5px solid var(--brina);border-radius:10px;padding:.85rem 1.2rem;text-align:left;transition:transform .2s var(--ease),background .2s var(--ease)}
.cta-timbra:active{transform:scale(.99)}
@media(hover:hover){.cta-timbra:hover{background:rgba(62,155,196,.08)}}
.cta-timbra.fatto{border-color:var(--verde);cursor:default}
.ct-ic{width:38px;height:38px;border-radius:50%;background:rgba(62,155,196,.14);color:var(--brina-l);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ct-ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ct-ic.ct-ok{background:rgba(124,185,124,.16);color:var(--verde)}
.ct-testo{flex:1;min-width:0}
.ct-testo b{display:block;font-size:.98rem;font-weight:600;color:var(--crema)}
.ct-testo small{display:block;font-size:.76rem;color:var(--cenere);margin-top:.15rem}
.ct-fatte{display:flex;flex-wrap:wrap;gap:.15rem 1rem;margin-top:.3rem}
.ct-fatte span{font-size:.74rem;color:var(--cenere)}
.ct-fatte span b{display:inline;color:var(--grigio);font-weight:700;margin-right:.3rem}
.cta-dui b{font-family:var(--ff-s);font-size:1.75rem;font-weight:700;line-height:1;display:block}
.cta-dui small{display:block;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;opacity:.75;margin-top:.4rem;font-weight:600}
.cta-dui svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.cta-dui:active{transform:scale(.99)}
@media(hover:hover){.cta-dui:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(191,160,64,.85)}}
html[data-testo="grande"] .cta-dui b{font-size:2rem}
/* ===== ricambi dal magazzino, nel DUI ===== */
.ric-list{margin-top:.6rem;display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}
.ric-list>.ric-row{min-width:0}
.ric-row{display:flex;align-items:center;gap:.6rem;background:var(--mid);border:1px solid var(--line);border-radius:7px;padding:.55rem .7rem}
.ric-row .ric-info{flex:1;min-width:0}
.ric-row .ric-info b{display:block;font-size:.84rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ric-row .ric-info small{font-size:.72rem;color:var(--cenere)}
.ric-qty{width:56px;text-align:center;padding:.4rem .2rem;border:1px solid var(--line-2);border-radius:6px;background:var(--card);color:var(--crema);font-size:.9rem;flex-shrink:0}
.ric-rm{width:28px;height:28px;border-radius:50%;color:var(--danger);font-size:.9rem;flex-shrink:0}
/* ===== magazzino ===== */
.mag-row{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem .1rem;border-bottom:1px solid var(--line)}
.mag-row.done{background:linear-gradient(90deg,rgba(124,185,124,.06),transparent 40%)}
.mag-info{flex:1;min-width:0}
.mag-info .t{font-weight:600;font-size:.9rem;line-height:1.3}
.mag-info .s{font-size:.75rem;color:var(--grigio);margin-top:.2rem}
.mag-count{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}
.mag-count .atteso{font-size:.64rem;color:var(--cenere);letter-spacing:.03em;white-space:nowrap}
.mag-input{width:66px;text-align:center;padding:.5rem .3rem;border:1px solid var(--line-2);border-radius:6px;background:var(--card);color:var(--crema);font-size:1.05rem;font-weight:600;font-family:var(--ff-s)}
.mag-row.done .mag-input{border-color:rgba(124,185,124,.5);color:var(--verde)}
nav.bottom{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(var(--nero-rgb),.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;padding-bottom:var(--sab)}
nav.bottom button{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.65rem 0 .55rem;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere);position:relative;transition:color .25s var(--ease)}
nav.bottom button::before{content:"";position:absolute;top:0;width:22px;height:2px;background:var(--oro);border-radius:2px;transform:scaleX(0);transition:transform .3s var(--spring)}
nav.bottom button.on{color:var(--oro)} nav.bottom button.on::before{transform:scaleX(1)}
nav.bottom svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--spring)}
nav.bottom button.on svg{transform:translateY(-2px)}
.badge{position:absolute;top:.4rem;right:calc(50% - 21px);min-width:16px;height:16px;border-radius:8px;background:var(--brace);color:#fff;font-size:.6rem;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px;animation:pop .4s var(--spring)}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}

/* ===== VISTE ===== */
.view h2{font-family:var(--ff-s);font-weight:600;font-size:2.1rem;line-height:1;margin:.2rem 0 1.1rem}
.section{margin-bottom:2.1rem}
.section-h{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem;border-bottom:1px solid var(--line);padding-bottom:.55rem}
.kpis-group-lab{grid-column:1/-1;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);margin:.3rem 0 -.15rem;padding-top:.6rem;border-top:1px solid var(--line)}
.kpis-group-lab:first-child{border-top:0;padding-top:0;margin-top:0}
.section-h h3{font-family:var(--ff-s);font-weight:600;font-size:1.4rem}
.card,.nota,.avviso{opacity:0;animation:cardin .5s var(--ease) forwards;animation-delay:calc(var(--i,0)*55ms)}
@keyframes cardin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.card{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:1.05rem 1.15rem;margin-bottom:.75rem;position:relative;transition:border-color .25s var(--ease)}
.card:hover{border-color:var(--line-2)}
.card.today{border-color:rgba(226,85,43,.35)}
.card.today::before{content:"";position:absolute;left:-1px;top:14px;bottom:14px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--brace-l),var(--oro));box-shadow:0 0 14px rgba(226,85,43,.55);animation:emberline 3s ease-in-out infinite}
@keyframes emberline{0%,100%{opacity:.75}50%{opacity:1;box-shadow:0 0 22px rgba(226,85,43,.8)}}
.card.featured{border-color:rgba(191,160,64,.45);background:linear-gradient(135deg,rgba(191,160,64,.09),var(--card) 55%)}
.row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.empty{color:var(--cenere);font-size:.9rem;padding:2rem 0;text-align:center;line-height:1.5}
.empty .ico{display:block;width:34px;height:34px;margin:0 auto .6rem;stroke:var(--cenere);fill:none;stroke-width:1.3;stroke-linecap:round;opacity:.7}

/* scheletri di caricamento */
.sk{height:14px;border-radius:3px;background:linear-gradient(90deg,var(--card) 0%,#222 45%,var(--card) 90%);background-size:200% 100%;animation:sk 1.2s linear infinite;margin:.5rem 0}
.sk.w40{width:40%}.sk.w70{width:70%}.sk.h{height:22px;width:30%}
@keyframes sk{from{background-position:200% 0}to{background-position:-200% 0}}
.skcard{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:1.05rem 1.15rem;margin-bottom:.75rem}

/* avvisi */
.avviso{border:1px solid rgba(191,160,64,.3);background:linear-gradient(135deg,rgba(191,160,64,.10),rgba(191,160,64,.03));padding:.95rem 1.05rem;border-radius:4px;margin-bottom:.65rem}
.avviso.non-letto{border-color:var(--brace);box-shadow:0 0 0 1px rgba(226,85,43,.25)}
.avviso [data-avviso-letto]{margin-top:.6rem}
.avviso .m{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro);display:flex;justify-content:space-between;gap:.6rem;margin-bottom:.4rem}
.avviso .m button{color:var(--cenere);letter-spacing:.1em;font-size:.62rem;text-transform:uppercase}
.avviso p{white-space:pre-wrap;line-height:1.55;font-size:.96rem}

/* settimana */
.week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem;gap:.6rem}
.week-nav .lbl{font-family:var(--ff-s);font-size:1.45rem;font-weight:600;text-align:center;flex:1;font-variant-numeric:oldstyle-nums}
.week-nav button{width:42px;height:42px;border:1px solid var(--line-2);border-radius:50%;font-size:1.3rem;color:var(--grigio);transition:border-color .25s,color .25s,transform .2s var(--spring)}
.week-nav button:hover{border-color:var(--oro);color:var(--oro-l)} .week-nav button:active{transform:scale(.9)}
.day{display:grid;grid-template-columns:52px 1fr;gap:.9rem;align-items:start}
.day .num + div{min-width:0}
.day .num{font-family:var(--ff-s);font-style:italic;font-weight:500;font-size:2.7rem;line-height:.9;color:var(--crema);font-variant-numeric:oldstyle-nums;padding-top:.15rem}
.today .day .num{color:var(--brace-l)}
.day-h{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.35rem}
.day-h .dn{font-family:var(--ff-s);font-size:1.4rem;font-weight:600}
.day-h .dd{color:var(--cenere);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.day-h .tag{margin-left:auto;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brace-l)}
.prog{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem 0;border-top:1px dashed var(--line)}
.day-h + .prog{border-top:0}
.prog .t{font-weight:500}
.prog .s{font-size:.74rem;color:var(--cenere);margin-top:.2rem;display:flex;align-items:center;gap:.35rem}
.prog .s.ok{color:var(--brina-l)}
.prog .s.wait{color:var(--brace-l)}
.prog .acts{display:flex;gap:.4rem;align-items:center}
.chk{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.chk path{stroke-dasharray:22;stroke-dashoffset:22;animation:tick .5s var(--ease) .3s forwards}
@keyframes tick{to{stroke-dashoffset:0}}
.dotp{width:7px;height:7px;border-radius:50%;background:var(--brace-l);box-shadow:0 0 0 0 rgba(242,122,60,.6);animation:pulse 1.8s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(242,122,60,.55)}100%{box-shadow:0 0 0 8px rgba(242,122,60,0)}}
.none{color:var(--cenere);font-size:.88rem;font-style:italic;padding:.35rem 0}
.btn-view{gap:.45rem} .btn-view svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--spring)}
.btn-view:hover svg{transform:translate(2px,-2px)}

/* documenti */
.doc{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem 0;border-top:1px dashed var(--line)}
.doc:first-child{border-top:0}
.doc .t{font-weight:500}.doc .s{font-size:.74rem;color:var(--cenere);margin-top:.15rem}

/* note */
.nota{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:.95rem 1.05rem;margin-bottom:.65rem;position:relative}
.nota .m{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere);display:flex;justify-content:space-between;gap:.6rem;margin-bottom:.45rem;flex-wrap:wrap}
.nota .m b{color:var(--oro);font-weight:600}
.nota p{white-space:pre-wrap;line-height:1.55;font-size:.96rem}
.nota .st{margin-top:.6rem;font-size:.74rem;color:var(--cenere);display:flex;align-items:center;gap:.4rem}
.nota .st.ok{color:var(--brina-l)}
.nota.unread{border-color:rgba(226,85,43,.35)}
.nota.unread::before{content:"";position:absolute;left:-1px;top:14px;bottom:14px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--brace-l),var(--oro))}
.compose{display:grid;gap:.6rem;margin-bottom:1.5rem}

/* squadra */
table{width:100%;border-collapse:collapse;font-size:.88rem}
th,td{text-align:left;padding:.65rem .4rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cenere);font-weight:500}
tr:last-child td{border-bottom:0}

/* sheet / modal */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:appin .25s var(--ease)}
@media(min-width:800px){.overlay{align-items:center;padding:2rem}}
.sheet-x{position:absolute;top:.55rem;right:.6rem;width:34px;height:34px;border-radius:50%;color:var(--cenere);font-size:1rem;display:grid;place-items:center;z-index:2}
.sheet-x:hover{color:var(--crema);background:rgba(var(--hi),.08)}
.sheet{position:relative;background:var(--carbone);border:1px solid var(--line-2);width:100%;max-width:480px;padding:1.5rem 1.35rem calc(1.5rem + var(--sab));border-radius:14px 14px 0 0;display:grid;gap:.85rem;max-height:90vh;overflow:auto;animation:sheetup .42s var(--spring);box-shadow:0 -20px 60px rgba(0,0,0,.5)}
.sheet::before{content:"";width:38px;height:4px;border-radius:4px;background:var(--line-2);margin:-.4rem auto .2rem}
@keyframes sheetup{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media(min-width:800px){.sheet{border-radius:6px;animation:sheetdesk .35s var(--spring)} .sheet::before{display:none}}
@keyframes sheetdesk{from{transform:translateY(16px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.sheet h3{font-family:var(--ff-s);font-size:1.6rem;font-weight:600;line-height:1.1}
.sheet label{display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cenere);margin-bottom:.38rem}
.sheet .acts{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.4rem}
input[type=file]{padding:.6rem;font-size:.85rem}
input[type=file]::file-selector-button{font-family:inherit;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;background:transparent;color:var(--oro);border:1px solid var(--line-2);border-radius:2px;padding:.45rem .8rem;margin-right:.8rem;cursor:pointer}
.steps{display:grid;gap:.7rem;margin:.4rem 0}
.steps div{display:flex;gap:.9rem;align-items:flex-start;font-size:.93rem;line-height:1.45}
.steps span{font-family:var(--ff-s);font-style:italic;font-size:1.5rem;color:var(--oro);line-height:1;min-width:1.2rem}
.install-logo{width:66px;height:66px;border-radius:15px;margin-bottom:.3rem;box-shadow:0 10px 30px -10px rgba(226,85,43,.5)}
.toast{position:fixed;left:50%;transform:translate(-50%,10px);bottom:calc(88px + var(--sab));background:var(--oro);color:var(--ink);padding:.75rem 1.25rem;font-size:.78rem;font-weight:600;letter-spacing:.06em;border-radius:3px;z-index:300;opacity:0;transition:opacity .3s var(--ease),transform .3s var(--spring);pointer-events:none;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:800px){.toast{bottom:2rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.card,.nota,.avviso,#login .rv{opacity:1}}

/* ===== effetti app ===== */
#app::before{content:"";position:fixed;left:-20vw;bottom:-30vh;width:80vw;height:80vw;max-width:700px;max-height:700px;border-radius:50%;pointer-events:none;z-index:-1;
  background:radial-gradient(closest-side,rgba(226,85,43,.13),transparent 70%);filter:blur(30px);animation:breathe2 9s ease-in-out infinite}
@keyframes breathe2{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}
header.top .top-w{transition:height .3s var(--ease)}
@media(max-width:899px){header.top.compact .top-w{height:50px} header.top.compact .brand b{font-size:1.1rem}}
header.top .brand b{transition:font-size .3s var(--ease)}
/* indicatore che scorre nella barra in basso */
nav.bottom{position:fixed}
nav.bottom .ind{position:absolute;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--brace-l),var(--oro));box-shadow:0 0 10px rgba(226,85,43,.5);
  left:0;width:0;transition:left .45s var(--spring),width .45s var(--spring)}
nav.bottom button::before{display:none}
/* ripple sui tasti */
.btn .rp{position:absolute;border-radius:50%;pointer-events:none;background:rgba(var(--hi),.35);transform:scale(0);animation:rp .55s var(--ease) forwards}
.btn-ghost .rp,.btn-danger .rp{background:rgba(191,160,64,.25)}
@keyframes rp{to{transform:scale(2.6);opacity:0}}
/* luce che segue il puntatore sulle card (solo desktop con mouse) */
@media(hover:hover){
  .card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s var(--ease);
    background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(191,160,64,.10),transparent 60%)}
  .card:hover::after{opacity:1}
  .card:hover{transform:translateY(-1px)}
  .card{transition:border-color .25s var(--ease),transform .25s var(--ease)}
}
/* scorrimento settimana */
main.slide-l>.view{animation:slideL .36s var(--ease)} main.slide-r>.view{animation:slideR .36s var(--ease)}
@keyframes slideL{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes slideR{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
/* chiusura foglio */
.overlay.closing{animation:fadeout2 .22s var(--ease) forwards} .overlay.closing .sheet{animation:sheetdown .22s var(--ease) forwards}
@keyframes fadeout2{to{opacity:0}} @keyframes sheetdown{to{transform:translateY(30px);opacity:0}}
/* nuova nota */
.nota.new{animation:notain .6s var(--spring)} 
@keyframes notain{0%{opacity:0;transform:translateY(-10px) scale(.98);box-shadow:0 0 0 0 rgba(191,160,64,.0)}60%{box-shadow:0 0 0 6px rgba(191,160,64,.18)}100%{opacity:1;transform:none;box-shadow:0 0 0 0 rgba(191,160,64,0)}}
/* toast con spunta */
.toast{display:flex;align-items:center;gap:.5rem}
.toast svg{width:15px;height:15px;stroke:var(--nero);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.toast svg path{stroke-dasharray:22;stroke-dashoffset:22} .toast.show svg path{animation:tick .45s var(--ease) .1s forwards}
/* stato vuoto: icona fluttua */
.empty .ico{animation:float 5s ease-in-out infinite}
/* riga programma: apparizione al passaggio */
.prog{transition:background .25s var(--ease);margin:0 -.4rem;padding-left:.4rem;padding-right:.4rem;border-radius:3px}
@media(hover:hover){.prog:hover{background:rgba(240,235,224,.03)}}
@media(prefers-reduced-motion:reduce){#app::before{animation:none}.card:hover{transform:none}}

/* ===== visualizzatore file in-app (niente nuove schede: back torna alla vista sotto) ===== */
#fileViewer{position:fixed;inset:0;z-index:400;background:var(--carbone);display:flex;flex-direction:column;animation:appin .22s var(--ease)}
#fileViewer .vtop{display:flex;align-items:center;gap:.7rem;padding:calc(.65rem + var(--sat)) .6rem .65rem 1rem;border-bottom:1px solid var(--line);background:rgba(13,13,13,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
#fileViewer .vtop .vtitle{font-family:var(--ff-s);font-size:1.05rem;font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#fileViewer .vtop button,#fileViewer .vtop a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--grigio);flex-shrink:0;transition:background .2s var(--ease),color .2s var(--ease)}
#fileViewer .vtop button:hover,#fileViewer .vtop a:hover{background:rgba(240,235,224,.08);color:var(--oro-l)}
#fileViewer .vtop svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#fileViewer iframe{flex:1;border:0;width:100%;background:#525659}
#fileViewer .vbody{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:8px;background:#525659;overscroll-behavior:contain}
#fileViewer .vbody canvas{display:block;margin:0 auto 8px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.35)}
#fileViewer .vbody img{max-width:100%;max-height:100%;display:block;margin:0 auto}
#fileViewer .vload{color:rgba(255,255,255,.85);text-align:center;padding:3rem 1rem;font-size:.9rem}
#fileViewer .vtop button:disabled{opacity:.35}
@media(prefers-reduced-motion:reduce){#fileViewer{animation:none}}

/* ===== chiamate ===== */
.chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.2rem;margin-bottom:1rem;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.chip{flex-shrink:0;padding:.5rem 1rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border-radius:20px;border:1px solid var(--line-2);color:var(--cenere);white-space:nowrap;transition:all .2s var(--ease)}
.chip.on{background:var(--oro);border-color:var(--oro);color:var(--ink)}
/* barra dell'hub (navigazione 2.1): il nome del gruppo e le sue schede, sopra al contenuto */
.hub-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1.2rem 0;position:sticky;top:calc(var(--header-h) + var(--sat));z-index:30;background:rgba(var(--nero-rgb),.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hub-bar[hidden]{display:none}
.hub-bar .hub-nome{font-family:var(--ff-s);font-size:1.05rem;font-weight:600;color:var(--oro-l);flex-shrink:0;letter-spacing:.01em}
.hub-bar .chips{margin-bottom:0;padding-bottom:.55rem;flex:1}
/* sul telefono le schede vanno A CAPO, mai fuori dallo schermo: con quattro schede (Agenda, Da
   contattare, Mappa, Magazzino) la quarta finiva a 423px su uno schermo da 390 — invisibile, e
   senza alcun indizio che esistesse. Una scheda che non si vede è una pagina che non esiste. */
@media(max-width:899px){
  .hub-bar{flex-wrap:wrap;gap:.35rem .8rem;padding-top:.6rem}
  .hub-bar .chips{flex-wrap:wrap;overflow:visible;gap:.4rem;padding-bottom:.5rem;flex-basis:100%}
  .hub-bar .chip{padding:.42rem .8rem;font-size:.66rem;letter-spacing:.06em}
}
@media(min-width:900px){
  .hub-bar{margin-left:232px;padding:1.4rem 2.8rem 0;max-width:1220px;position:static;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
  .hub-bar .hub-nome{font-size:1.25rem}
  .hub-bar:not([hidden])+main{padding-top:1.1rem}
}
@media(min-width:1400px){.hub-bar{max-width:1380px}}
.chip .cnt{opacity:.7;margin-left:.3em;font-weight:400}
.searchbar{margin-bottom:1rem}
.rcard{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:.85rem 1rem;margin-bottom:.6rem}
.rcard .top{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.25rem}
.rcard .nome{font-weight:600;font-size:1rem}
/* 2.5.3: urgenza delle chiamate — due livelli, gli stessi del DUI */
.urg-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:.2rem .55rem;border-radius:10px;white-space:nowrap;vertical-align:middle;font-family:var(--ff-b);line-height:1.3}
.urg-tag svg{width:11px;height:11px;fill:currentColor;flex-shrink:0}
.urg-tag.normale{background:rgba(226,85,43,.13);color:var(--brace-l);border:1px solid rgba(242,122,60,.42)}
.urg-tag.alta{background:rgba(192,57,43,.24);color:#FF8B7B;border:1px solid rgba(224,82,70,.6)}
.rcard .top .nome .urg-tag{margin-left:.45rem;position:relative;top:-1px}
.rcard.urg-normale{border-left:3px solid var(--brace)}
.rcard.urg-alta{border-left:3px solid var(--rosso);background:linear-gradient(90deg,rgba(192,57,43,.13),rgba(192,57,43,0) 62%),var(--card)}
.cp-row.urg-normale{box-shadow:inset 3px 0 0 var(--brace)}
.cp-row.urg-alta{box-shadow:inset 3px 0 0 var(--rosso);background:linear-gradient(90deg,rgba(192,57,43,.16),rgba(192,57,43,0) 70%),var(--mid)}
.cp-chi b .urg-tag{margin-left:.4rem}
.urg-dui{display:flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;margin-top:.32rem;color:var(--brace-l)}
.urg-dui.alta{color:#FF8B7B}
.urg-dui svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.urg-seg{display:flex;background:var(--mid);border-radius:10px;padding:3px;gap:3px}
.urg-seg button{flex:1;padding:.62rem .35rem;border-radius:8px;border:0;background:transparent;color:var(--cenere);font-family:var(--ff-b);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;line-height:1.25;cursor:pointer}
.urg-seg button small{display:block;font-size:.62rem;letter-spacing:0;text-transform:none;font-weight:400;opacity:.85;margin-top:.18rem}
.urg-seg button.on{background:var(--card);color:var(--crema)}
.urg-seg button.on[data-u="normale"]{background:rgba(226,85,43,.2);color:var(--brace-l)}
.urg-seg button.on[data-u="alta"]{background:rgba(192,57,43,.3);color:#FF8B7B}
.urg-n{color:#FF8B7B;font-weight:600}
.cal-cell .dot.urg{background:var(--rosso)} .cal-cell .dot.multi.urg{background:var(--rosso);color:#fff}
.mz-ch.urg-normale{border-left:3px solid var(--brace)} .mz-ch.urg-alta{border-left:3px solid var(--rosso)}
.mz-ch-testa .urg-tag{margin-left:.35rem}
.mz-urg{font-size:.66rem;font-weight:700;color:#FF8B7B;white-space:nowrap;flex-shrink:0}
.mz-zona .mz-nm.con-urg{display:flex;align-items:center;gap:.4rem;text-overflow:clip}
.mz-nm.con-urg .mz-nm-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.pz-testo b .urg-tag{margin-left:.35rem}
.kpi-urg{display:flex;align-items:flex-start;gap:.45rem;font-size:.8rem;line-height:1.4;color:var(--crema);margin:.55rem 0 .2rem;padding:.55rem .7rem;border-radius:8px;background:rgba(192,57,43,.12);border:1px solid rgba(224,82,70,.38);cursor:pointer;text-align:left;width:100%;font-family:inherit}
.kpi-urg svg{width:14px;height:14px;fill:#FF8B7B;flex-shrink:0;margin-top:.12rem}
.kpi-urg b{color:#FF8B7B}
.cp-urg-pick{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap}
.cp-urg-pick button{padding:.42rem .75rem;border-radius:16px;border:1px solid var(--line-2);background:transparent;color:var(--cenere);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;font-family:var(--ff-b);cursor:pointer}
.cp-urg-pick button.on[data-u="normale"]{background:rgba(226,85,43,.2);border-color:rgba(242,122,60,.5);color:var(--brace-l)}
.cp-urg-pick button.on[data-u="alta"]{background:rgba(192,57,43,.3);border-color:rgba(224,82,70,.6);color:#FF8B7B}
.dui-urg-nota{display:flex;gap:.55rem;align-items:flex-start;font-size:.8rem;line-height:1.45;padding:.7rem .85rem;border-radius:8px;margin:0 0 .9rem;background:rgba(192,57,43,.12);border:1px solid rgba(224,82,70,.42);color:var(--crema)}
.dui-urg-nota svg{width:16px;height:16px;fill:#FF8B7B;flex-shrink:0;margin-top:.05rem}
.rcard .wait{font-size:.68rem;color:var(--brace-l);white-space:nowrap;flex-shrink:0}
.rcard .wait.old{color:var(--rosso)}
.rcard .meta{font-size:.8rem;color:var(--grigio);margin-bottom:.3rem;display:flex;flex-wrap:wrap;gap:.4rem .7rem;align-items:center}
.rcard .meta a{color:var(--brina-l)}
.tagz{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .5rem;border-radius:10px;background:rgba(191,160,64,.12);color:var(--oro-l);border:1px solid rgba(191,160,64,.25)}
.tagas{font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:10px;background:rgba(var(--hi),.06);color:var(--cenere);border:1px solid var(--line-2)}
.tagas.solo{background:rgba(226,85,43,.14);color:var(--brace-l);border-color:rgba(226,85,43,.3);font-weight:600}
.rcard .note{font-size:.86rem;color:var(--crema);line-height:1.4;margin-bottom:.5rem;white-space:pre-wrap}
.rcard .acts2{display:flex;gap:.4rem;flex-wrap:wrap}
.progbox{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--brina-l);background:rgba(62,155,196,.08);border:1px solid rgba(62,155,196,.25);border-radius:3px;padding:.5rem .7rem;margin-bottom:.5rem}
/* calendario mensile */
.cal-wd{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.3rem}
.cal-wd span{text-align:center;font-size:.6rem;letter-spacing:.08em;color:var(--cenere);padding-bottom:.2rem}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:1.1rem}
.cal-cell{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:4px;background:var(--card);border:1px solid var(--line);color:var(--crema);font-size:.85rem;transition:border-color .2s var(--ease),background .2s var(--ease)}
.cal-cell .n{font-variant-numeric:oldstyle-nums}
.cal-cell.out{opacity:.28;border-color:transparent}
.cal-cell.today{border-color:rgba(226,85,43,.5)}
.cal-cell.today .n{color:var(--brace-l);font-weight:600}
.cal-cell.sel{background:var(--oro);border-color:var(--oro)}
.cal-cell.sel .n{color:var(--ink);font-weight:600}
.cal-cell .dot{position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--brina-l)}
.cal-cell.sel .dot{background:var(--nero)}
.cal-cell .dot.multi{width:auto;height:auto;min-width:14px;padding:0 3px;border-radius:7px;font-size:.55rem;line-height:14px;color:var(--ink);background:var(--brina-l);bottom:3px}
.cal-cell.sel .dot.multi{background:var(--nero);color:var(--oro)}
.cal-day{border-top:1px solid var(--line);padding-top:1rem}
.progbox b{color:var(--crema)}

/* ===== logo che si compone ===== */
.mark{position:relative;width:118px;height:118px;margin:0 auto 1.5rem}
.mark img{position:absolute;inset:0;width:100%;height:100%;display:block}
.mark .flame{-webkit-mask-image:linear-gradient(to top,#000 0 50%,transparent 66% 100%);mask-image:linear-gradient(to top,#000 0 50%,transparent 66% 100%);-webkit-mask-size:100% 200%;mask-size:100% 200%;-webkit-mask-position:0 0;mask-position:0 0;opacity:0;transform:translateY(16px) scale(.92);animation:flameUp .55s cubic-bezier(.2,.8,.2,1) .075s forwards}
.mark .snow{clip-path:circle(0% at 58% 50%);opacity:0;transform:rotate(-28deg) scale(.78);animation:snowIn .475s cubic-bezier(.2,.8,.2,1) .25s forwards}
.mark::after{content:"";position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,rgba(226,85,43,.35),rgba(62,155,196,.18) 45%,transparent 70%);opacity:0;filter:blur(8px);animation:markGlow .6s ease-out .625s forwards;pointer-events:none;z-index:-1}
.mark .sp{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--brace-l);left:var(--x);bottom:var(--y);opacity:0;animation:spark .55s ease-out var(--d) forwards;box-shadow:0 0 6px var(--brace-l)}
@keyframes flameUp{0%{opacity:0;-webkit-mask-position:0 0;mask-position:0 0;transform:translateY(16px) scale(.92)}30%{opacity:1}100%{opacity:1;-webkit-mask-position:0 100%;mask-position:0 100%;transform:none}}
@keyframes snowIn{0%{opacity:0;clip-path:circle(0% at 58% 50%);transform:rotate(-28deg) scale(.78)}40%{opacity:1}100%{opacity:1;clip-path:circle(80% at 58% 50%);transform:none}}
@keyframes markGlow{0%{opacity:0;transform:scale(.6)}50%{opacity:1}100%{opacity:.55;transform:scale(1)}}
@keyframes spark{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translateY(-54px) translateX(var(--dx)) scale(.2)}}
#intro{position:fixed;inset:0;z-index:1000;background:var(--nero);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .225s var(--ease)}
#intro.out{opacity:0;pointer-events:none}
#intro .mark{width:150px;height:150px;margin-bottom:1.4rem}
#intro .wm{font-family:var(--ff-s);font-size:1.7rem;letter-spacing:.02em;color:var(--crema);opacity:0;animation:reveal .4s var(--ease) .65s forwards}
#intro .wm2{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--oro);margin-top:.5rem;opacity:0;animation:reveal .4s var(--ease) .775s forwards}
#intro .wm3{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cenere);margin-top:1.3rem;opacity:0;animation:reveal .4s var(--ease) .925s forwards}
@media(prefers-reduced-motion:reduce){.mark .flame,.mark .snow{animation:none;opacity:1;transform:none;-webkit-mask-image:none;mask-image:none;clip-path:none}.mark::after,.mark .sp{animation:none;display:none}}

/* ===== checklist ===== */
.ck-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.2rem}
.ck-head .d{font-family:var(--ff-s);font-size:1.5rem;line-height:1}
.ck-head .t{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);margin-bottom:.35rem}
.ck-head .who{font-size:.8rem;color:var(--cenere);text-align:right}
.slot{background:var(--card);border:1px dashed var(--line-2);border-radius:6px;padding:1rem;margin-bottom:.8rem;transition:border-color .3s var(--ease),background .3s var(--ease)}
.slot.done{border-style:solid;border-color:rgba(191,160,64,.45);background:linear-gradient(135deg,rgba(191,160,64,.06),transparent 60%)}
.slot .st{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem}
.slot .n{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--cenere);flex-shrink:0;transition:all .3s var(--spring)}
.slot.done .n{background:var(--oro);border-color:var(--oro);color:var(--ink);font-weight:700}
.slot .tt{font-weight:600;font-size:1rem}
.slot .hint{font-size:.78rem;color:var(--grigio)}
.slot .grid{display:flex;gap:.5rem;flex-wrap:wrap}
.slot .ph{position:relative;width:74px;height:74px;border-radius:5px;overflow:hidden;background:var(--nero);border:1px solid var(--line);animation:pop .4s var(--spring)}
.slot .ph img{width:100%;height:100%;object-fit:cover;display:block}
.slot .ph .x{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.slot .ph.up{display:flex;align-items:center;justify-content:center}
.slot .add{width:74px;height:74px;border-radius:5px;border:1px dashed var(--line-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--oro);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:transparent}
.slot .add svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.slot input[type=file]{display:none}
.sw{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1rem;margin:1rem 0 .8rem;cursor:pointer;user-select:none}
.sw .l{font-weight:600}.sw .s{font-size:.78rem;color:var(--grigio);margin-top:.15rem}
.sw .tg{width:52px;height:30px;border-radius:15px;background:var(--mid);position:relative;transition:background .3s var(--ease);flex-shrink:0}
.sw .tg::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .3s var(--spring)}
/* 2.7.1 — acceso (fatto) VERDE, spento (non fatto) ROSSO: prima acceso era oro, e accanto al rosso si distingueva poco */
.sw.on .tg{background:var(--fatto)}.sw.on .tg::after{transform:translateX(22px)}
.sw.off .tg{background:var(--brace)}
.ck-done{text-align:center;padding:2.2rem 1rem;background:var(--card);border:1px solid rgba(191,160,64,.35);border-radius:6px;margin-bottom:1rem;animation:pop .5s var(--spring)}
.ck-done .ring{width:74px;height:74px;border-radius:50%;margin:0 auto 1rem;border:2px solid var(--oro);display:flex;align-items:center;justify-content:center;animation:ringPop .6s var(--spring)}
.ck-done .ring svg{width:34px;height:34px;stroke:var(--oro);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .6s ease-out .3s forwards}
@keyframes ringPop{0%{transform:scale(.5);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes draw{to{stroke-dashoffset:0}}
.ck-done h3{font-family:var(--ff-s);font-size:1.5rem;margin:.2rem 0 .3rem}
.ck-done p{color:var(--grigio);font-size:.86rem;margin:0 0 1rem}
.ck-row{display:flex;justify-content:space-between;align-items:center;padding:.65rem .2rem;border-bottom:1px solid var(--line);font-size:.86rem}
.ck-row .ok{color:var(--verde)}.ck-row .ko{color:var(--brace-l)}
.sq-grid{display:grid;grid-template-columns:auto repeat(var(--n),1fr);gap:.35rem;align-items:center;font-size:.78rem}
.sq-grid .h{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oro);text-align:center;padding-bottom:.3rem}
.sq-grid .dy{color:var(--cenere);white-space:nowrap;padding-right:.4rem}
.sq-grid .c{height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--card);color:var(--cenere);font-size:.9rem}
.sq-grid .c.ok{background:rgba(124,185,124,.12);border-color:rgba(124,185,124,.35);color:var(--verde);cursor:pointer}
.sq-grid .c.ko{background:rgba(226,85,43,.12);border-color:rgba(226,85,43,.4);color:var(--brace-l);cursor:pointer}
.sq-grid .c.na{opacity:.35}
nav.bottom.dense button span{font-size:.55rem;letter-spacing:.02em}
/* ===== dashboard "Oggi" ===== */
.oggi-hero{position:relative;padding:.4rem 0 1.5rem;margin-bottom:1.2rem;border-bottom:1px solid var(--line);overflow:hidden}
.oggi-hero .sal{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--oro);margin-bottom:.45rem}
.oggi-hero .ruolo{font-size:.68rem;color:var(--grigio);margin:-.3rem 0 .5rem;letter-spacing:.02em}
.oggi-hero .ruolo span{color:var(--cenere)}
/* 2.5.7: tablet di un mezzo */
.mezzo-hero .mh-nome{display:flex;align-items:center;gap:.65rem;font-family:var(--ff-s);font-size:2.1rem;line-height:1.05;font-weight:600;letter-spacing:-.01em;margin:.15rem 0 .7rem}
.mezzo-hero .mh-ico{width:44px;height:44px;border-radius:50%;background:rgba(191,160,64,.12);border:1px solid rgba(191,160,64,.28);color:var(--oro);display:grid;place-items:center;flex:none}
.mezzo-hero .mh-ico svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mezzo-hero .ruolo{margin:0 0 .3rem;font-size:.78rem}
.ruolo-mezzo{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.ruolo-mezzo svg{width:16px;height:16px;stroke:var(--oro);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.oggi-hero .dt{font-family:var(--ff-s);font-size:2.4rem;line-height:1;font-weight:600;letter-spacing:-.01em}
.oggi-hero .dt em{font-style:italic;color:var(--oro);font-weight:500}
.oggi-hero .st{font-size:.76rem;color:var(--cenere);margin-top:.55rem}
.oggi-hero::after{content:"";position:absolute;right:8px;top:0;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(226,85,43,.16),rgba(62,155,196,.08) 50%,transparent 70%);filter:blur(14px);pointer-events:none}
.kpis{display:grid;grid-template-columns:1fr;gap:.9rem;margin-bottom:1.6rem}
.kpi{--acc:var(--oro);background:linear-gradient(160deg,rgba(var(--hi),.025),transparent 55%),var(--card);border:1px solid var(--line);border-radius:8px;padding:1.15rem 1.2rem 1.15rem 1.3rem;position:relative;overflow:hidden;opacity:0;animation:cardin .5s var(--ease) forwards;animation-delay:calc(var(--i,0)*60ms);transition:transform .25s var(--ease),border-color .25s var(--ease)}
.kpi::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:2px;background:var(--acc);opacity:.85}
.kpi .ic{position:absolute;right:1rem;top:1rem;width:26px;height:26px;stroke:var(--acc);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.45}
.kpi .lab{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--oro);margin-bottom:.65rem;display:flex;justify-content:space-between;align-items:center;padding-right:2.2rem}
.kpi .lab a,.kpi .lab button{color:var(--cenere);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}
.kpi .lab button:hover{color:var(--oro)}
.kpi .big{font-family:var(--ff-s);font-size:3rem;line-height:.95;font-weight:600;letter-spacing:-.01em;background:linear-gradient(180deg,var(--crema),#c9c2b3);-webkit-background-clip:text;background-clip:text;color:transparent;display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .6rem}
.kpi .big small{font-family:var(--ff);font-size:.76rem;color:var(--grigio);letter-spacing:0;background:none;-webkit-text-fill-color:var(--grigio);font-weight:400}
.kpi .sub{font-size:.8rem;color:var(--grigio);margin-top:.5rem;line-height:1.5}
.kpi .sub b{color:var(--crema);font-weight:500}
.kpi.warn{--acc:var(--brace)}.kpi.warn .big{background:linear-gradient(180deg,var(--brace-l),var(--brace));-webkit-background-clip:text;background-clip:text}
.kpi.good{--acc:var(--verde)}.kpi.good .big{background:linear-gradient(180deg,#9ad19a,#6aa66a);-webkit-background-clip:text;background-clip:text}
.kpi.blue{--acc:var(--brina-l)}
.kpi .cta{display:inline-flex;margin-top:.8rem}
@media(hover:hover){.kpi:hover{transform:translateY(-2px);border-color:var(--line-2)}}
/* ===== fatturato: card in evidenza + elementi cliccabili ===== */
.fatt-hero{--acc:var(--oro);background:linear-gradient(160deg,rgba(191,160,64,.07),transparent 60%),var(--card);border:1px solid rgba(191,160,64,.35);border-radius:10px;padding:1.4rem 1.5rem 1.5rem;margin-bottom:1.4rem;cursor:pointer;transition:border-color .25s,transform .25s var(--ease)}
.fatt-hero.warn{border-color:rgba(226,85,43,.4)}
.fatt-hero.good{border-color:rgba(124,185,124,.4)}
.fatt-hero .lab{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--oro);display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem}
.fatt-num{font-family:var(--ff-s);font-size:3.4rem;line-height:1;font-weight:600;display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}
.delta{font-family:var(--ff);font-size:.85rem;font-weight:600;padding:.2rem .55rem;border-radius:12px}
.delta.up{background:rgba(124,185,124,.15);color:var(--verde)}
.delta.dn{background:rgba(226,85,43,.15);color:var(--brace-l)}
.fatt-obj{margin:1rem 0 1.1rem}
.fatt-hero .btn{width:100%}
@media(hover:hover){.fatt-hero:hover{transform:translateY(-2px)}}
.vbars.click div,.bars.click .bar{cursor:pointer;border-radius:5px;transition:background .2s}
@media(hover:hover){.vbars.click div:hover,.bars.click .bar:hover{background:rgba(var(--hi),.035)}}
.vbars.click div:active,.bars.click .bar:active{background:rgba(191,160,64,.08)}
@media(min-width:900px){.fatt-num{font-size:4rem}}
.kpi ul{list-style:none;padding:0;margin:.7rem 0 0}
.kpi li{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--line);font-size:.86rem}
.kpi li .m{color:var(--grigio);font-size:.78rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.tl li{position:relative;padding-left:1.1rem}
.tl li::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;border-radius:50%;background:var(--brina-l);transform:translateY(-50%);box-shadow:0 0 0 3px rgba(62,155,196,.15)}
.tm{font-family:var(--ff-s);font-size:1.05rem;font-weight:600;color:var(--crema);min-width:3.2rem}
.av{width:28px;height:28px;border-radius:50%;background:rgba(191,160,64,.14);color:var(--oro);display:inline-flex;align-items:center;justify-content:center;font-size:.66rem;font-weight:700;margin-right:.55rem;flex-shrink:0}
.kpi li .nm{display:flex;align-items:center}
.bars{display:flex;flex-direction:column;gap:.4rem;margin-top:.6rem}
.bar{display:grid;grid-template-columns:minmax(60px,110px) 1fr auto;align-items:center;gap:.6rem;font-size:.78rem;color:var(--grigio);padding:.15rem 0}
.bar span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar b{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.bar .track{height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--oro),var(--brace));width:var(--w);min-width:3px;transition:width .6s var(--ease)}
.bar b{text-align:right;color:var(--crema);font-weight:500}
.vbars{--gap:.55rem;display:flex;align-items:flex-end;gap:var(--gap);height:96px;margin-top:1.3rem;position:relative}
.vbars::before,.vbars::after{content:'';position:absolute;left:0;right:0;height:1px;background:var(--line);z-index:0}
.vbars::before{top:0}
.vbars::after{top:50%}
.vbars div{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100%;justify-content:flex-end;position:relative;z-index:1}
.vbars i{display:block;width:100%;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--brina-l),rgba(62,155,196,.25));height:var(--h);min-height:3px;transform-origin:bottom;animation:grow .7s var(--ease) both;animation-delay:calc(var(--j,0)*70ms + .3s)}
.vbars div.now i{background:linear-gradient(180deg,var(--oro-l),rgba(191,160,64,.35))}
.vbars b{font-size:.66rem;color:var(--crema);font-weight:500}
.vbars div.now b{color:var(--oro)}
.vbars span{font-size:.58rem;color:var(--cenere);white-space:nowrap}
/* le barre non devono mai essere schiacciate dalle etichette: altezza fissa, niente restringimento */
.vbars i{flex-shrink:0;height:calc(var(--h) * .6)}
.vbars b,.vbars span{flex-shrink:0;line-height:14px;height:14px}
/* versione grande (Fatturato): proporzioni esatte sul valore, più spazio */
.vbars.big{height:260px;margin-top:1.1rem}
.vbars.big div{gap:5px}
.vbars.big i{height:calc((100% - 38px) * var(--v));border-radius:6px 6px 0 0}
.vbars.big b{font-size:.78rem;font-weight:600}
.vbars.big span{font-size:.68rem}
.vbars.big::before{top:19px}.vbars.big::after{top:calc(19px + (100% - 38px) / 2)}
.vbars.big div.now i{box-shadow:0 0 18px rgba(191,160,64,.25)}
.vbars .obj{position:absolute;bottom:calc(19px + (100% - 38px) * var(--v));border-top:1.5px dashed rgba(231,111,58,.75);z-index:2;pointer-events:none;
  /* 2.5.5: a gradini — ogni tratto copre solo le sue colonne (--a = prima colonna, --c = quante, --n = totale) */
  left:calc((100% - (var(--n,1) - 1) * var(--gap)) / var(--n,1) * var(--a,0) + var(--a,0) * var(--gap));
  width:calc((100% - (var(--n,1) - 1) * var(--gap)) / var(--n,1) * var(--c,1) + (var(--c,1) - 1) * var(--gap))}
.obj-leg{display:flex;align-items:center;gap:.6rem;font-size:.74rem;color:var(--grigio);margin:.1rem 0 -.3rem;line-height:1.4}
.obj-leg i{width:24px;border-top:1.5px dashed rgba(231,111,58,.85);flex:none}
.obj-leg b{color:#e76f3a;font-weight:600;white-space:nowrap}
.obj-leg .sep{color:var(--cenere);margin:0 .15rem}
.vbars div.ok b,.vbars div.now.ok b{color:var(--verde)}
/* obiettivi di fatturato (2.5.5): riquadro nella pagina e foglio per cambiarli */
.fatt-ob{background:linear-gradient(160deg,rgba(255,255,255,.025),transparent 60%),var(--card);border:1px solid var(--line);border-radius:14px;padding:.95rem 1.2rem .9rem;margin:0 0 1.9rem}
.fatt-ob-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem}
.fatt-ob-h span{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--oro)}
.fatt-ob-h button{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oro-l);padding:.35rem 0 .35rem .8rem}
@media(hover:hover){.fatt-ob-h button:hover{color:var(--crema)}}
.fatt-ob-r{display:flex;justify-content:space-between;align-items:center;gap:.3rem 1rem;flex-wrap:wrap;padding:.55rem 0;border-top:1px solid var(--line);font-size:.84rem}
.fatt-ob-r .q{color:var(--grigio);display:flex;align-items:center;gap:.5rem}
.fatt-ob-r .q em{font-style:normal;font-size:.58rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.16rem .5rem;border-radius:10px;background:rgba(var(--hi),.05);color:var(--cenere)}
.fatt-ob-r.ora .q{color:var(--crema)}
.fatt-ob-r.ora .q em{background:rgba(191,160,64,.15);color:var(--oro)}
.fatt-ob-r.poi .q em{background:rgba(62,155,196,.15);color:var(--brina-l)}
.fatt-ob-r .v{color:var(--grigio);font-variant-numeric:tabular-nums}
.fatt-ob-r .v b{color:var(--crema);font-weight:600}
.fatt-ob-r.prima{opacity:.6}
.fatt-ob-n{font-size:.74rem;color:var(--cenere);line-height:1.45;margin-top:.5rem}
.fatt-ob-n b{color:var(--grigio);font-weight:600}
.ob-lista{margin-top:.9rem;border-top:1px solid var(--line)}
.ob-r{display:grid;grid-template-columns:minmax(0,1fr) auto 30px;align-items:center;gap:.8rem;padding:.7rem .15rem;border-bottom:1px solid var(--line);transition:background .15s}
.ob-r[data-ob-mod]{cursor:pointer}
@media(hover:hover){.ob-r[data-ob-mod]:hover{background:rgba(var(--hi),.03)}}
.ob-r[data-ob-mod]:active{background:rgba(191,160,64,.08)}
.ob-r .q{font-size:.9rem;color:var(--crema);line-height:1.3}
.ob-r .q small{display:block;font-size:.7rem;color:var(--cenere);margin-top:.2rem}
.ob-r.ora .q small{color:var(--oro)}
.ob-r.poi .q small{color:var(--brina-l)}
.ob-r .v{font-size:.8rem;color:var(--grigio);text-align:right;line-height:1.5;font-variant-numeric:tabular-nums}
.ob-r .v b{color:var(--crema);font-weight:600}
.ob-r.prima{opacity:.6}
.ob-lock{display:flex;justify-content:center}
.ob-lock svg{width:15px;height:15px;stroke:var(--cenere);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ob-r .del{width:30px;height:30px;border-radius:50%;color:var(--cenere);display:flex;align-items:center;justify-content:center}
.ob-r .del:hover{color:var(--danger);background:rgba(224,122,110,.14)}
.ob-r .del svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
.ob-avv{display:none;font-size:.78rem;color:var(--oro-l);background:rgba(191,160,64,.08);border:1px solid rgba(191,160,64,.25);border-radius:10px;padding:.55rem .75rem;margin:.55rem 0 .15rem;line-height:1.45}
.ob-avv.on{display:block}
/* copia del DUI al cliente (2.5.6) */
.dui-mail-hint{font-size:.78rem;color:var(--brina-l);margin-top:.45rem;display:flex;gap:.45rem;align-items:flex-start;line-height:1.4}
.dui-mail-hint[hidden]{display:none}
.dui-mail-hint svg,.sw.dui-invio svg.ic-mail{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:.1rem}
.dui-mail-hint b{color:var(--crema);font-weight:600}
.dui-mail-hint button{color:var(--oro-l);font-weight:600;text-decoration:underline;text-underline-offset:2px;padding:0}
.sw.dui-invio{margin:1.2rem 0 .9rem;border-color:rgba(191,160,64,.45);background:linear-gradient(160deg,rgba(191,160,64,.07),transparent 65%),var(--card)}
.sw.dui-invio[hidden]{display:none}
.sw.dui-invio .l{display:flex;align-items:center;gap:.5rem}
.sw.dui-invio svg.ic-mail{width:19px;height:19px;stroke:var(--oro);margin:0}
.sw.dui-invio .s{line-height:1.45;margin-top:.3rem;overflow-wrap:anywhere}.sw.dui-invio .s b{color:var(--crema);font-weight:600}
.sw.dui-invio.muto{border-color:var(--line);background:var(--card)}.sw.dui-invio.muto .tg{opacity:.35}
.rap-mail{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem .8rem;margin-top:1rem;padding:.85rem .9rem .85rem 1rem;border-radius:12px;border:1px solid var(--line);background:rgba(var(--hi),.02)}
.rap-mail .ic{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(var(--hi),.06);flex:none}
.rap-mail .ic svg{width:18px;height:18px;stroke:var(--grigio);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.rap-mail .tx{flex:1;min-width:170px}
.rap-mail b{display:block;font-size:.92rem;font-weight:600}
.rap-mail small{display:block;font-size:.76rem;color:var(--grigio);margin-top:.15rem;line-height:1.4;word-break:break-word}
.rap-mail .btn{margin-left:auto;flex:none}
.rap-mail.ok{border-color:rgba(94,170,120,.38);background:rgba(94,170,120,.08)}.rap-mail.ok .ic{background:rgba(94,170,120,.18)}.rap-mail.ok .ic svg{stroke:var(--verde)}
.rap-mail.warn{border-color:rgba(191,160,64,.45);background:rgba(191,160,64,.07)}.rap-mail.warn .ic{background:rgba(191,160,64,.16)}.rap-mail.warn .ic svg{stroke:var(--oro)}
.rap-mail.ko{border-color:rgba(226,85,43,.4);background:rgba(226,85,43,.07)}.rap-mail.ko .ic{background:rgba(226,85,43,.14)}.rap-mail.ko .ic svg{stroke:var(--brace-l)}
.rap-mail.corso .ic svg{stroke:var(--brina-l);animation:wwgira 1s linear infinite}
@keyframes wwgira{to{transform:rotate(360deg)}}
.ec-stato{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 1.1rem;border-radius:14px;border:1px solid var(--line);margin-bottom:1rem;font-size:.9rem;line-height:1.4}
.ec-stato i{width:10px;height:10px;border-radius:50%;background:var(--cenere);margin-top:.35rem;flex:none}
.ec-stato small{display:block;color:var(--grigio);font-size:.78rem;margin-top:.15rem}
.ec-stato.ok{border-color:rgba(94,170,120,.38);background:rgba(94,170,120,.07)}.ec-stato.ok i{background:var(--verde);box-shadow:0 0 0 4px rgba(94,170,120,.18)}
.ec-stato.off{border-color:rgba(191,160,64,.45);background:rgba(191,160,64,.07)}.ec-stato.off i{background:var(--oro)}
.ec-form,.ec-arr{padding:1.1rem 1.2rem}
.ec-form .sw{margin-top:0}
.ec-campi{display:grid;grid-template-columns:1fr;gap:.55rem}
@media(min-width:900px){.ec-campi{grid-template-columns:1fr 1fr;gap:.55rem 1rem}}
.ec-avanzate{margin:.9rem 0 .2rem;font-size:.84rem}
.ec-avanzate summary{cursor:pointer;color:var(--grigio);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.ec-prova{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}
.ec-riga{display:flex;gap:.5rem;align-items:center}.ec-riga input{flex:1;min-width:0}
.ec-esito{font-size:.8rem;color:var(--grigio);margin-top:.55rem;line-height:1.45}
.ec-esito.ok{color:var(--verde)}.ec-esito.ko{color:var(--brace-l)}
.ec-arr p{font-size:.9rem;line-height:1.5;margin-bottom:.7rem}
.ec-lista{list-style:none;padding:0;margin:0 0 .9rem}
.ec-lista li{display:flex;justify-content:space-between;gap:.8rem;padding:.4rem 0;border-top:1px solid var(--line);font-size:.86rem}
.ec-lista li small{color:var(--cenere);font-size:.76rem;white-space:nowrap}
.ec-lista li.altri{color:var(--cenere);font-size:.8rem}
.ec-lista li[data-rap]{cursor:pointer}
.ec-lista li em{display:block;font-style:normal;font-size:.74rem;color:var(--brace-l);margin-top:.15rem;line-height:1.35}
.ec-log .e b.ok{color:var(--verde)}.ec-log .e b.ko{color:var(--brace-l)}
/* presenze (2.5.7): chi ha la timbratura spenta */
.pr-nontimb{display:flex;gap:.7rem;align-items:flex-start;font-size:.82rem;color:var(--grigio);line-height:1.45;border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;margin:-.3rem 0 1.1rem;background:rgba(var(--hi),.02)}
.pr-nontimb svg{width:18px;height:18px;stroke:var(--cenere);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:.1rem}
.pr-nontimb b{display:block;color:var(--crema);font-weight:600}
@media(max-width:640px){.vbars.big{height:210px}.vbars.big b{font-size:.6rem}.vbars.big span{font-size:.55rem}}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.bar i{animation:growx .7s var(--ease) both;animation-delay:calc(var(--j,0)*60ms + .25s);transform-origin:left}
@keyframes growx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ring-sm{width:46px;height:46px;border-radius:50%;border:2px solid var(--verde);display:inline-flex;align-items:center;justify-content:center;margin-right:.7rem;flex-shrink:0;animation:ringPop .6s var(--spring)}
.ring-sm svg{width:22px;height:22px;stroke:var(--verde);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .6s ease-out .3s forwards}
.ring-sm.ko{border-color:var(--brace);animation:ringPop .6s var(--spring),brPulse 2.4s ease-in-out 1s infinite}
.ring-sm.ko svg{stroke:var(--brace-l);stroke-dasharray:none;stroke-dashoffset:0;animation:none}
@keyframes brPulse{0%,100%{box-shadow:0 0 0 0 rgba(226,85,43,.35)}50%{box-shadow:0 0 0 8px rgba(226,85,43,0)}}
.rowc{display:flex;align-items:center}
.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:20px;font-size:.72rem;font-weight:600;letter-spacing:.04em}
.pill.ok{background:rgba(124,185,124,.14);color:var(--verde)}.pill.ko{background:rgba(226,85,43,.16);color:var(--brace-l)}.pill.na{background:rgba(var(--hi),.05);color:var(--cenere)}
.pill.sconto{background:rgba(124,185,124,.14);color:var(--verde);border:1px solid rgba(124,185,124,.35)}
.call{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:20px;background:rgba(62,155,196,.14);color:var(--brina-l)!important;font-weight:600;font-size:.78rem;text-decoration:none}
.call svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chips.zone{flex-wrap:wrap;overflow:visible}
.chips.zone .chip{font-size:.62rem;padding:.38rem .75rem;letter-spacing:.05em;text-transform:none}
.altro-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.8rem}
.altro-lab{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);margin-top:1.1rem}
.altro-lab:first-of-type{margin-top:.8rem}
.altro-grid button{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1.1rem .8rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--crema);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;position:relative}
.altro-grid button svg{width:24px;height:24px;stroke:var(--oro);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.altro-grid .badge{right:.6rem;top:.6rem}
/* ===== archivio ===== */
.crumb{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere);margin-bottom:.8rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.crumb button{color:var(--oro);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem}
.crumb span::before{content:"›";margin-right:.5rem;color:var(--line-2)}
.ccard{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:.9rem 1rem;margin-bottom:.6rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.8rem;transition:border-color .2s}
.ccard:hover{border-color:var(--line-2)}
.ccard .nm{font-weight:600;font-size:1rem}.ccard .ad{font-size:.78rem;color:var(--grigio);margin-top:.15rem}
.ccard .st{text-align:right;font-size:.7rem;color:var(--cenere);white-space:nowrap;line-height:1.5}
.ccard .st b{display:block;color:var(--crema);font-family:var(--ff-s);font-size:1.25rem;font-weight:600}
.sch{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1.2rem;margin-bottom:1rem}
.sch h2{font-size:1.9rem;margin:0 0 .4rem}
.sch .meta{display:flex;flex-wrap:wrap;gap:.4rem .9rem;font-size:.84rem;color:var(--grigio);align-items:center}
.sch .meta a{color:var(--brina-l)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.3rem .9rem;font-size:.86rem;margin-top:.6rem}
.kv span:nth-child(odd){color:var(--cenere);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding-top:.15rem}
.icard{background:var(--card);border:1px solid var(--line);border-left:2px solid var(--brina-l);border-radius:6px;padding:.85rem 1rem;margin-bottom:.6rem;cursor:pointer}
.icard .t{font-weight:600}.icard .s{font-size:.78rem;color:var(--grigio);margin-top:.2rem}
.icard.ko{border-left-color:var(--brace)}.icard .badge2{float:right;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;border-radius:10px;background:rgba(var(--hi),.05);color:var(--cenere)}
.rrow{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem .2rem;border-bottom:1px solid var(--line);cursor:pointer;font-size:.86rem}
.rrow .d{font-family:var(--ff-s);font-size:1.05rem;font-weight:600;min-width:5.6rem}
.rrow .x{flex:1;min-width:0}.rrow .x small{display:block;color:var(--grigio);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rrow .e{text-align:right;white-space:nowrap;color:var(--grigio);font-size:.78rem}.rrow .e b{display:block;color:var(--crema)}
.ftab{display:flex;gap:.4rem;margin:.8rem 0}
.ftab button{flex:1;padding:.55rem;border:1px solid var(--line);border-radius:4px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cenere)}
.ftab button.on{border-color:var(--oro);color:var(--oro);background:rgba(191,160,64,.08)}
.dui-sec{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1.1rem 1.2rem 1.3rem;margin-bottom:.8rem;box-shadow:0 1px 0 rgba(var(--hi),.02) inset}
.dui-sec h3{font-family:var(--ff-s);font-size:1.3rem;margin:0 0 .9rem;display:flex;align-items:center;gap:.65rem;color:var(--crema)}
.dui-sec h3 svg{width:21px;height:21px;stroke:var(--oro);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.dui-sec h3 .stepn{margin-left:auto;font-family:var(--ff);font-size:.68rem;color:var(--cenere);letter-spacing:.06em;font-weight:400}
.dui-sec input,.dui-sec select,.dui-sec textarea{font-size:1rem}
.dui-progress{display:flex;gap:.3rem;margin:0 0 1.3rem;position:sticky;top:calc(var(--sat) + var(--header-h));z-index:5;background:var(--carbone);padding:.6rem 0 .5rem;transition:top .3s var(--ease)}
.dui-progress i{flex:1;height:5px;border-radius:3px;background:var(--line-2);transition:background .3s var(--ease),transform .2s var(--ease);cursor:pointer}
.dui-progress i.done{background:var(--oro)}
.dui-progress i.now{background:var(--brace-l);transform:scaleY(1.6)}
.dui-ctx{font-size:.8rem;color:var(--cenere);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:.4rem .9rem;margin:-.6rem 0 1rem;display:inline-flex;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dui-ctx b{color:var(--oro-l);font-weight:600;margin-right:.3rem}
.dui-nav{display:flex;gap:.7rem;margin-top:.4rem}
.dui-nav .btn{flex:1;padding:.9rem;font-size:.86rem}
.dui-nav #dPrev{flex:0 0 auto;padding:.9rem 1.3rem}
.dui-desktop-save{display:none}
/* modulo DUI: tutte le sezioni sempre visibili e scorribili, su telefono come da computer —
   così più persone possono lavorarci in momenti diversi senza essere bloccate da un percorso a passi */
.dui-nav,.dui-ctx{display:none}
.dui-desktop-save{display:block;margin-top:.6rem}
.dui-sec h3 .stepn{display:none}
.dui-sec[data-step]{animation:cardin .3s var(--ease)}
.dui-sec[data-step].flash{animation:duiFlash 1.1s var(--ease)}
@keyframes duiFlash{0%,100%{box-shadow:0 1px 0 rgba(var(--hi),.02) inset}30%{box-shadow:0 0 0 2px var(--oro) inset}}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .7rem}
/* riga "genera manutenzioni": l'anno ha una misura sua, il tasto prende quello che resta — e se
   proprio non c'è posto va a capo su una riga tutta sua, invece di stringersi fino a tagliare il testo */
.man-gen-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end}
.man-sel-bar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:.9rem 0 .3rem;font-size:.82rem}
.man-sel-check{display:flex;align-items:center;gap:.4rem;cursor:pointer;user-select:none;flex-shrink:0}
.man-sel-check input{width:18px;height:18px;accent-color:var(--oro);flex-shrink:0}
.man-sel-row{display:flex;align-items:flex-start;gap:.6rem}
.man-sel-row .man-sel-check{padding-top:1rem}
/* barra fissa in basso quando c'è qualcosa di selezionato: non spinge il contenuto, e il testo del
   tasto è breve apposta, così non rischia mai di sforare come già successo con gli altri due */
.man-elim-sel-bar{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:40;display:flex;justify-content:center;padding:.6rem 1rem;pointer-events:none}
.man-elim-sel-bar .btn{pointer-events:auto;box-shadow:0 8px 24px -8px rgba(0,0,0,.6);background:var(--carbone)}
@media(min-width:900px){.man-elim-sel-bar{bottom:1.2rem}}
/* ===== Finanze ===== */
/* foglio Registra (finanze) */
.fin-importo{text-align:center;padding:.2rem 0 .4rem}
.fin-imp-wrap{display:flex;align-items:baseline;justify-content:center;gap:.3rem}
.fin-imp-wrap span{font-family:var(--ff-s);font-size:1.6rem;color:var(--cenere)}
.fin-imp-wrap input{width:200px;max-width:70%;text-align:center;font-family:var(--ff-s);font-size:2.8rem;font-weight:600;color:var(--danger);background:transparent;border:0;border-bottom:1px solid var(--line-2);border-radius:0;padding:.1rem 0}
.fin-imp-wrap input.in{color:var(--verde)}
.fin-imp-wrap input:focus{outline:none;border-bottom-color:var(--oro)}
.fin-seg{display:flex;background:var(--mid);border-radius:10px;padding:3px;margin:.2rem 0 .6rem}
.fin-seg button{flex:1;text-align:center;padding:.6rem;border-radius:8px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cenere);background:transparent;border:0;font-family:var(--ff-b);font-weight:600}
.fin-seg button.on{background:var(--danger);color:var(--nero)}
.fin-seg button.on.in{background:var(--verde)}
.fin-soliti{margin:.5rem 0 .2rem}
.fin-soliti .chip{margin:.2rem .3rem .2rem 0;font-size:.7rem;background:rgba(191,160,64,.06);border-style:dashed}
.fin-chips{flex-wrap:wrap;overflow:visible;gap:.35rem;margin:.3rem 0 .6rem}
.fin-chips .chip{margin:0}
.fin-more{background:none;border:0;color:var(--oro-l);font-size:.78rem;text-decoration:underline;padding:.1rem 0 .6rem;text-align:left;font-family:var(--ff-b)}
.fin-extra{display:grid;gap:.6rem;margin-bottom:.4rem}
.pill-o{display:inline-block;font-size:.6rem;background:var(--mid);color:var(--grigio);padding:.1rem .4rem;border-radius:10px;letter-spacing:.02em}
.pill-o.warn{color:var(--danger);background:rgba(224,122,110,.12)}
.rg-riga{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.rg-riga:last-child{border-bottom:0}
.rg-nome{flex:1;min-width:0;font-size:.84rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rg-nome small{display:block;font-size:.66rem;color:var(--cenere);font-weight:400}
.rg-riga{min-width:0}
.rg-riga select{width:42%;max-width:42%;min-width:0;flex-shrink:0;font-size:.74rem;padding:.45rem .4rem;text-overflow:ellipsis}
.rg-riga select.rg-und{color:var(--danger);border-color:rgba(224,122,110,.4)}
/* biglietto da visita */
.bv{background:linear-gradient(160deg,#1c1a14,#111);border:1px solid rgba(191,160,64,.35);border-radius:16px;padding:1.2rem 1.15rem;position:relative;overflow:hidden}
.bv::before{content:'';position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(191,160,64,.18),transparent 70%)}
.bv-logo{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}
.bv-flame{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#F27A3C,#E2552B);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0}
.bv-name{font-family:var(--ff-s);font-size:1.6rem;font-weight:600;line-height:1}
.bv-name span{color:#F27A3C}
.bv-tag{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cenere);margin-top:.15rem}
.bv-dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem .8rem;font-size:.84rem;margin:.6rem 0 .4rem}
.bv-dl .k{font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:var(--cenere);padding-top:.15rem;white-space:nowrap}
.bv-dl .v{font-weight:500;word-break:break-word}
.bv-dl .v.mono{font-family:ui-monospace,Menlo,monospace;letter-spacing:.04em}
.bv-qr{width:120px;margin:.5rem auto 0;background:#F0EBE0;border-radius:8px;padding:8px;box-sizing:content-box}
.bv-qr svg{display:block;width:100%;height:auto}
.bv-qrlab{text-align:center;font-size:.64rem;color:var(--cenere);margin-top:.4rem}
.bv-acts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.9rem}
.bv-acts .btn:first-child{grid-column:span 2}
.bv-acts .btn{white-space:normal;height:auto}
.bv-copy{display:flex;justify-content:space-between;align-items:center;gap:.6rem;font-size:.82rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.bv-copy:last-child{border-bottom:0}
.bv-copy .k{color:var(--grigio);flex-shrink:0}
.bv-copy .v{font-weight:500;display:flex;align-items:center;gap:.5rem;text-align:right;min-width:0;word-break:break-all}
.bv-cp{background:none;border:0;color:var(--oro-l);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;flex-shrink:0;padding:.2rem 0}
.bv-todo{color:var(--danger);font-size:.72rem;font-weight:400}
.az-banner{background:rgba(191,160,64,.1);border:1px solid rgba(191,160,64,.35);border-radius:10px;padding:.7rem .9rem;font-size:.82rem;color:var(--crema);margin:-.3rem 0 1rem}
.lab-sm{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cenere);margin-bottom:.4rem}
.fin-cards{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:.7rem}
.fin-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.2rem}
.fin-card .lab{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cenere);margin-bottom:.5rem}
.fin-card .num{font-family:var(--ff-s);font-size:1.7rem;font-weight:600}
.fin-num-pos{color:var(--verde)}
.fin-num-neg{color:var(--danger)}
.fin-saldo{background:linear-gradient(135deg,rgba(191,160,64,.14),rgba(191,160,64,.03));border:1px solid rgba(191,160,64,.3);border-radius:10px;padding:1.2rem 1.3rem;margin-bottom:1.3rem;display:flex;justify-content:space-between;align-items:center}
.fin-saldo .lab{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oro-l);margin-bottom:.3rem}
.fin-saldo .num{font-family:var(--ff-s);font-size:2.1rem;font-weight:600;color:var(--oro-l)}
.fin-riga{display:flex;align-items:center;gap:.8rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
/* cruscotto finanze: previsione, direttore, scadenzario, chiedimi */
.fin-prev{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;margin-bottom:.9rem}
.fin-prev .num{font-family:var(--ff-s);font-size:1.7rem;font-weight:600;margin-top:.2rem}
.fin-prev-sub{font-size:.74rem;color:var(--cenere);margin-top:.3rem;line-height:1.5}
.fin-prev-sub span{white-space:nowrap}
.fin-dir{background:linear-gradient(135deg,rgba(62,155,196,.14),rgba(62,155,196,.03));border:1px solid rgba(62,155,196,.35);border-radius:10px;padding:.9rem 1.1rem;margin-bottom:.9rem}
.fin-dir .lab{color:#7CC3E0;margin-bottom:.4rem}
.fin-dir p{font-size:.84rem;line-height:1.45;margin:0;padding:.35rem 0;border-top:1px solid rgba(240,235,224,.06)}
.fin-dir p:first-of-type{border-top:0;padding-top:0}
.fin-dir p.allerta b{color:var(--danger)}.fin-dir p.ok b{color:var(--verde)}.fin-dir p.info b{color:var(--oro-l)}
.fin-scad{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.9rem 1.1rem;margin-bottom:.9rem}
.fin-scad-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}
.fin-scad-tot{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.78rem;margin-bottom:.3rem}
.fin-scad-tot b{font-family:var(--ff-s);font-size:1rem}
.fin-scaduta-tag{color:var(--danger);font-weight:600}
.fin-scad-riga{padding:.6rem 0;gap:.5rem}
.fin-scad-riga .imp{font-size:.95rem}
.fin-scad-riga .del{width:26px;height:26px;font-size:.8rem}
.fin-scad-riga.scaduta .meta b{color:var(--danger)}
.fin-scad-ok{width:30px;height:30px;border-radius:50%;border:1px solid rgba(124,185,124,.45);background:rgba(124,185,124,.12);color:var(--verde);font-size:1rem;flex-shrink:0;cursor:pointer}
.fin-chiedi{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1rem}
.fin-chiedi-in{display:flex;gap:.5rem;margin-top:.4rem}
.fin-chiedi-in input{flex:1;min-width:0}
.fin-chiedi-in .btn{flex-shrink:0}
.fin-risp{font-size:.86rem;line-height:1.5;margin:.7rem 0 0;padding:.7rem .85rem;background:linear-gradient(135deg,rgba(62,155,196,.16),rgba(62,155,196,.04));border:1px solid rgba(62,155,196,.35);border-radius:12px 12px 12px 2px}
.fin-risp b{color:#7CC3E0}
.fin-dett{margin-top:.5rem;font-size:.8rem}
.fin-dett summary{cursor:pointer;color:var(--oro-l);font-size:.76rem;padding:.3rem 0}
.fin-riga:last-child{border-bottom:none}
.fin-ic{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fin-ic.in{background:rgba(124,185,124,.14);color:var(--verde)}
.fin-ic.out{background:rgba(224,122,110,.14);color:var(--danger)}
.fin-ic svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fin-riga .mid{flex:1;min-width:0}
.fin-riga .desc{font-size:.9rem;font-weight:500;color:var(--crema);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fin-riga .meta{font-size:.74rem;color:var(--cenere);margin-top:.15rem}
.fin-riga .imp{font-family:var(--ff-s);font-size:1.05rem;font-weight:600;flex-shrink:0;text-align:right}
.fin-riga .del{flex-shrink:0;width:26px;height:26px;border-radius:50%;color:var(--cenere);display:flex;align-items:center;justify-content:center}
.fin-riga .del:hover{color:var(--danger);background:rgba(224,122,110,.14)}
.fin-riga .del svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
.fin-riga .del-ph{width:26px;flex-shrink:0}
/* 2.5.2: entrate dei DUI, crediti, filtro, selezione multipla, importazioni */
.fin-card-sub{font-size:.72rem;color:var(--cenere);margin-top:.35rem}
.fin-dui{width:100%;display:flex;align-items:center;gap:.9rem;text-align:left;background:var(--card);border:1px solid rgba(124,185,124,.28);border-radius:10px;padding:.9rem 1.1rem;margin:0 0 .7rem;cursor:pointer;color:inherit;font:inherit}
.fin-dui>div:first-child{flex:1;min-width:0}
.fin-dui .lab{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cenere);margin-bottom:.25rem}
.fin-dui-sub{font-size:.76rem;color:var(--grigio);line-height:1.4}
.fin-dui .num{font-family:var(--ff-s);font-size:1.35rem;font-weight:600;flex-shrink:0}
.fin-dui svg{width:18px;height:18px;stroke:var(--cenere);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.fin-voci-h{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:.6rem}
.fin-voci-h .sez-lab{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cenere);margin-right:auto}
.fin-filtro{display:flex;background:var(--mid);border-radius:9px;padding:3px}
.fin-filtro button{padding:.4rem .72rem;border-radius:7px;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--cenere);background:transparent;border:0;font-family:var(--ff-b)}
.fin-filtro button.on{background:var(--card);color:var(--crema)}
.fin-sel-btn{font-size:.74rem;color:var(--oro-l);background:none;border:0;padding:.4rem .2rem;cursor:pointer;font-weight:600;font-family:var(--ff-b)}
.fin-chk{width:24px;height:24px;border-radius:7px;border:1.5px solid var(--line-2);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s var(--ease),border-color .15s var(--ease)}
.fin-chk svg{width:14px;height:14px;stroke:var(--ink);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.fin-chk.on{background:var(--oro);border-color:var(--oro)} .fin-chk.on svg{opacity:1}
.fin-chk.off{border-style:dashed;opacity:.55} .fin-chk.off svg{opacity:1;stroke:var(--cenere);stroke-width:1.8}
#finLista.sel-on .fin-riga{cursor:pointer;-webkit-user-select:none;user-select:none}
.fin-riga.scelta{background:rgba(191,160,64,.08)}
.fin-selbar{position:sticky;bottom:calc(74px + var(--sab));z-index:20;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:var(--carbone);border:1px solid var(--line-2);border-radius:12px;padding:.7rem .9rem;margin-top:.9rem;box-shadow:0 16px 40px rgba(0,0,0,.45)}
@media(min-width:700px){.fin-selbar{bottom:1rem}}
.fin-selbar-txt{flex:1 1 100%;font-size:.8rem;color:var(--grigio);line-height:1.4} .fin-selbar-txt b{color:var(--crema)}
.fin-selbar .btn{flex:1}
@media(min-width:700px){.fin-selbar-txt{flex:1 1 auto}.fin-selbar .btn{flex:0 0 auto}}
.fin-sov{border:1px solid rgba(191,160,64,.35);border-radius:10px;padding:.8rem .9rem;margin:.7rem 0;background:rgba(191,160,64,.06)}
.fin-sov-riga{display:flex;gap:.6rem;align-items:flex-start;font-size:.84rem;line-height:1.45;margin-top:.55rem;cursor:pointer;text-transform:none;letter-spacing:normal;color:var(--crema);font-weight:400}
.fin-sov-riga b{font-weight:600}
.sheet label.fin-sov-riga{display:flex;font-size:.84rem;letter-spacing:normal;text-transform:none;color:var(--crema);margin:.55rem 0 0}
.sheet label.fin-sov-riga *{text-transform:none;letter-spacing:normal}
.fin-sov-riga input{margin-top:.15rem;width:18px;height:18px;flex-shrink:0;accent-color:var(--oro)}
.fin-sov-riga small{color:var(--grigio)}
.imp-riga{border:1px solid var(--line);border-radius:10px;padding:.85rem .95rem;margin-top:.7rem;background:var(--card)}
.imp-riga b{font-size:.9rem;color:var(--crema);word-break:break-word} .imp-riga small{display:block;font-size:.72rem;color:var(--cenere);margin-top:.15rem}
.imp-meta{font-size:.78rem;color:var(--grigio);margin:.45rem 0 .6rem;line-height:1.5}
.man-gen-anno{flex:0 0 140px}
.man-gen-row .btn{flex:1;min-width:140px;height:44px}
.g2 .full{grid-column:1/-1}
.pick{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}
.pick button{padding:.45rem .8rem;border:1px solid var(--line-2);border-radius:20px;font-size:.76rem;color:var(--cenere)}
.pick button.on{border-color:var(--oro);color:var(--ink);background:var(--oro);font-weight:600}
.sugg{position:absolute;left:0;right:0;top:100%;z-index:60;background:var(--carbone);border:1px solid var(--line-2);border-radius:4px;margin-top:.15rem;max-height:240px;overflow:auto;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.sugg div{padding:.55rem .8rem;font-size:.84rem;border-bottom:1px solid var(--line);cursor:pointer}.sugg div small{color:var(--grigio);display:block;font-size:.72rem}
.tot-line{display:flex;justify-content:space-between;align-items:center;font-family:var(--ff-s);font-size:1.4rem;padding:.6rem 0 0;border-top:1px solid var(--line);margin-top:.4rem}
.tot-line input{width:130px;text-align:right;font-family:var(--ff-s);font-size:1.4rem;background:transparent;border:1px solid var(--line-2);border-radius:6px;padding:.2rem .5rem;color:var(--oro-l)}
/* Tariffario */
.tf-sez{margin-bottom:1.3rem}
.tf-sez h3{font-family:var(--ff-s);font-size:1.1rem;font-weight:600;margin-bottom:.15rem}
.tf-sez .sub{font-size:.72rem;color:var(--cenere);margin-bottom:.5rem;line-height:1.4}
.tf-riga{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;border-top:1px solid var(--line)}
.tf-riga:first-of-type{border-top:0}
.tf-riga .t{font-size:.84rem}
.tf-riga .t small{display:block;font-size:.68rem;color:var(--cenere);margin-top:.1rem;font-weight:400}
.tf-riga input{width:78px;text-align:center;background:var(--card);border:1px solid var(--line-2);border-radius:6px;padding:.35rem .4rem;font-family:var(--ff-s);font-size:.92rem;color:var(--crema)}
.tf-riga input:disabled{color:var(--grigio);border-color:var(--line);background:transparent}
.tf-un{font-size:.78rem;color:var(--cenere);margin-left:.3rem}
@media(min-width:900px){.arch-cols{display:grid;grid-template-columns:380px 1fr;gap:1.6rem;align-items:start}.arch-cols>div{min-width:0}.g2{grid-template-columns:1fr 1fr 1fr}.kv{grid-template-columns:auto 1fr auto 1fr}}
.week-nav .today-btn{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);padding:.3rem .6rem;border:1px solid rgba(191,160,64,.35);border-radius:14px}
/* ===== Rifinitura grafica (sett. 2026): angoli più morbidi, schede con leggera profondità, pulsanti
   in gradiente oro, movimenti brevi (150-250 ms) che confermano il tocco senza distrarre. Solo CSS:
   nessuna struttura cambia, nessun comportamento cambia. ===== */
:root{--oro-l2:#DDBE5C;--oro-d2:#8A7128}
.card,.dui-sec,.fin-card,.kpi,.fin-prev,.fin-scad,.fin-chiedi,.tf-sez,.ric-row{border-radius:14px}
.card,.dui-sec,.fin-card,.fin-prev,.fin-scad,.fin-chiedi{background:linear-gradient(160deg,rgba(255,255,255,.025),transparent 60%),var(--card);box-shadow:0 1px 0 rgba(255,255,255,.03) inset,0 10px 30px -22px rgba(0,0,0,.8)}
.kpi{border-radius:14px}
.btn{border-radius:11px;transition:transform .15s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease)}
.btn:active{transform:scale(.97)}
.btn-gold{background:linear-gradient(135deg,var(--oro-l2),var(--oro-d2));box-shadow:0 10px 26px -12px rgba(196,165,66,.65)}
.btn-gold:hover{box-shadow:0 14px 30px -12px rgba(196,165,66,.8)}
.btn-ghost{border-radius:11px}
input,textarea,select{border-radius:11px;border-color:var(--line-2)}
input:focus,textarea:focus,select:focus{border-color:var(--oro);box-shadow:0 0 0 3px rgba(196,165,66,.14)}
.cta-dui{border-radius:14px;background:linear-gradient(135deg,var(--oro-l2),var(--oro-d2))}
.cta-dui:active{transform:scale(.985)}
.cta-prev{background:transparent;color:var(--crema);border:1px solid rgba(196,165,66,.45);box-shadow:none;margin-top:-.5rem}
.cta-prev small{color:var(--cenere)}
.cta-prev svg{stroke:var(--oro-l)}
.cta-prev:hover{border-color:var(--oro);box-shadow:0 10px 26px -18px rgba(196,165,66,.6)}
.fin-riga[data-fin-edit],.fin-riga[data-pv-apri],.fin-scad-riga,.ric-row,.sugg div{transition:background .15s var(--ease),transform .15s var(--ease)}
.fin-riga[data-fin-edit]:active,.fin-riga[data-pv-apri]:active{transform:scale(.995);background:rgba(255,255,255,.02)}
.sugg div:hover{background:rgba(196,165,66,.1)}
.sw{border-radius:13px;transition:border-color .2s var(--ease)}
.sw:active{border-color:var(--oro)}
.sw .tg{transition:background .25s var(--ease)}
.sw .tg::after{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.toast{border-radius:20px;background:linear-gradient(135deg,var(--oro-l2),var(--oro-d2))}
.tot-line{background:linear-gradient(155deg,rgba(196,165,66,.12),rgba(196,165,66,.02));border:1px solid rgba(196,165,66,.3);border-radius:14px;padding:.9rem 1.1rem;margin-top:1rem}
.tot-line input{border:1px solid rgba(196,165,66,.35);background:rgba(0,0,0,.25)}
.tot-line span:first-child{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--ff-b);color:var(--oro-l);font-weight:500;align-self:center}
.section-h{border-bottom:0;padding-bottom:.2rem}
.section-h h3{font-family:var(--ff-s);font-size:1.15rem}
.view>h2{font-family:var(--ff-s);font-weight:600;letter-spacing:-.01em}
.ecoCalc,#ecoCalcBox{border-radius:14px}
#ecoCalcBox{background:linear-gradient(155deg,rgba(196,165,66,.09),var(--card));border:1px solid rgba(196,165,66,.25)}
#ecoCalcBox .lab{color:var(--oro-l)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* ===== Mappa 3.0 ===== */
.mappa-view{height:auto}
.mz{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:1rem;height:calc(100dvh - 7.5rem);min-height:520px}
.mz-mappa-box{position:relative;min-height:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.mz-mappa{position:absolute;inset:0;z-index:0;isolation:isolate;background:var(--card)}
.mz-legenda{position:absolute;left:10px;bottom:10px;z-index:500;display:flex;align-items:center;gap:.35rem;font-size:.66rem;color:var(--grigio);background:rgba(var(--nero-rgb),.82);padding:.3rem .55rem;border-radius:8px;pointer-events:none}
.mz-legenda i{width:14px;height:8px;border-radius:2px;display:inline-block;opacity:.85}
.mz-pannello{min-height:0;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem;overscroll-behavior:contain}
.mz-carica{color:var(--grigio);font-size:.86rem;padding:1rem 0}
.mz-testa h3{margin:.15rem 0 .1rem;font-size:1.35rem}
.mz-sotto{margin:0 0 .8rem;color:var(--grigio);font-size:.8rem}
.mz-indietro{all:unset;cursor:pointer;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--oro-l);padding:.2rem 0}
.mz-azioni{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.9rem}
.mz-zone{display:flex;flex-direction:column;gap:.15rem}
.mz-zona{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:12px minmax(0,1fr) 70px 30px;align-items:center;gap:.6rem;padding:.55rem .5rem;border-radius:9px;transition:background .15s}
.mz-zona:hover,.mz-zona.hover{background:rgba(var(--hi),.06)}
.mz-zona .mz-sw{display:block;width:12px;height:12px;padding:0;margin:0;border-radius:3px;border:1px solid rgba(var(--hi),.25)}
.mz-zona .mz-nm{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mz-zona .mz-bar{height:6px;border-radius:3px;background:rgba(var(--hi),.07);overflow:hidden}.mz-zona .mz-bar b{display:block;height:100%;border-radius:3px}
.mz-zona .mz-n{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.mz-zona.vuota{opacity:.5}.mz-zona.dacl .mz-nm{color:#c9932e}.mz-zona.dacl .mz-sw{background:#c9932e}
.mz-comuni{margin:0 0 .7rem}
.mz-prov{display:flex;justify-content:space-between;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-l);padding:.9rem .5rem .35rem;border-bottom:1px solid var(--line);margin-bottom:.25rem}
.mz-prov:first-child{padding-top:.2rem}
.mz-nome-comune{white-space:nowrap;font-size:.62rem;font-weight:600;color:var(--crema);text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.7);transform:translate(-50%,-50%);pointer-events:none;opacity:.85}
html[data-tema="chiaro"] .mz-nome-comune{color:#1a1206;text-shadow:0 0 4px #fff,0 0 8px #fff}
.mz-mappa.leaflet-container,#mappaZoneChiamate.leaflet-container{background:radial-gradient(ellipse at 50% 40%,rgba(var(--hi),.04),transparent 70%),var(--card)!important}
.mz-lista{display:flex;flex-direction:column;gap:.5rem}
.mz-ch{cursor:pointer;border:1px solid var(--line);border-radius:11px;padding:.65rem .75rem;transition:border-color .15s,background .15s}
.mz-ch:hover{border-color:rgba(212,175,106,.45);background:rgba(var(--hi),.03)}
.mz-ch-testa{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}
.mz-ch-testa b{font-size:.92rem}
.mz-ch .gg{font-size:.68rem;color:var(--grigio);white-space:nowrap}.mz-ch .gg.vecchia{color:#e0674f}
.mz-ch-meta{font-size:.76rem;color:var(--grigio);margin-top:.1rem}.mz-ch-meta .as{color:var(--oro-l)}
.mz-ch-note{font-size:.76rem;color:var(--cenere);margin-top:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mz-tel{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem;font-size:.8rem;font-weight:600;color:var(--brina-l);text-decoration:none;background:rgba(62,155,196,.1);padding:.25rem .55rem;border-radius:7px}
.mz-tel svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
.mz-badge{display:flex!important;align-items:center;justify-content:center;border-radius:50%;background:#1b140d;border:2px solid #e3c16f;color:#fff;font-weight:700;font-size:.8rem;box-shadow:0 2px 10px rgba(0,0,0,.45);transition:opacity .2s,transform .2s}
.mz-badge.mini{font-size:.66rem;border-width:1.5px}
.mz-badge.nascosto{opacity:0;pointer-events:none;transform:scale(.6)}
html[data-tema="chiaro"] .mz-badge{background:#fff;color:#1a1206}
.leaflet-tooltip.mz-tt-zona{background:rgba(20,16,10,.9);color:#fff;border:0;border-radius:6px;font-size:.74rem;font-weight:600;padding:.2rem .5rem;box-shadow:none}
.leaflet-tooltip.mz-tt-zona::before{display:none}
.leaflet-tooltip.mz-tt-comune{background:#c0392b;color:#fff;border:0;border-radius:6px;font-size:.7rem;font-weight:600;padding:.12rem .4rem;box-shadow:0 1px 6px rgba(0,0,0,.4)}
.leaflet-tooltip.mz-tt-comune::before{border-top-color:#c0392b}
.mz-mappa .leaflet-control-zoom{border:0!important;box-shadow:0 2px 10px rgba(0,0,0,.35)!important}
.mz-mappa .leaflet-control-zoom a{background:rgba(var(--nero-rgb),.9);color:var(--crema);border-color:var(--line)}
.mz-mappa .leaflet-control-zoom a:hover{background:var(--card);color:var(--oro-l)}
.mz-mappa .leaflet-control-attribution{font-size:.6rem;background:rgba(var(--nero-rgb),.7);color:var(--grigio)}
.mz-mappa .leaflet-control-attribution a{color:var(--grigio)}
@media(max-width:899px){
  .mz{grid-template-columns:1fr;height:auto;min-height:0}
  .mz-mappa-box{height:52vh;min-height:300px}
  .mz-pannello{overflow:visible}
}

/* ===== Cassaforte ===== */
.cf-lock{max-width:420px;margin:6vh auto 0;text-align:center}
.cf-scuoti{animation:cfScuoti .45s}
@keyframes cfScuoti{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.cf-scudo{width:86px;height:86px;margin:0 auto 1.2rem;border-radius:24px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,rgba(227,193,111,.28),rgba(227,193,111,.05) 70%);border:1px solid rgba(227,193,111,.35);box-shadow:0 0 40px rgba(227,193,111,.12)}
.cf-scudo svg,.cf-vuota svg,.cf-det-vuoto svg{width:40px;height:40px;fill:none;stroke:var(--oro-l);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cf-lock h2{margin:.2rem 0 .3rem}.cf-lock p{color:var(--grigio);font-size:.86rem;margin:0 0 1.4rem}
.cf-lock input[type=password]{text-align:center;font-size:1.05rem;letter-spacing:.12em}
.cf-lock .btn{width:100%;margin-top:.8rem}
.cf-note{font-size:.72rem;color:var(--cenere);margin-top:1.2rem;line-height:1.5}
.cf-capito{display:flex;gap:.55rem;align-items:flex-start;text-align:left;font-size:.78rem;color:var(--grigio);margin:.9rem 0 0;text-transform:none;letter-spacing:0}
.cf-capito input{width:auto;margin-top:.15rem}
.cf-forza{height:5px;border-radius:3px;background:rgba(var(--hi),.08);margin:.4rem 0 .15rem;overflow:hidden;grid-column:1/-1}.cf-forza b{display:block;height:100%;width:0;transition:width .25s,background .25s}
.cf-forza-t{font-size:.68rem;color:var(--cenere);text-align:left;min-height:.9rem}
.cf-testa{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.cf-testa h2{margin:0}.cf-testa-az{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.cf-stato{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;color:#7fc28b;letter-spacing:.08em;text-transform:uppercase}
.cf-stato b{font-variant-numeric:tabular-nums;font-weight:600}
.cf-stato i{width:8px;height:8px;border-radius:50%;background:#7fc28b;box-shadow:0 0 8px #7fc28b}
.cf-avviso{border:1px solid rgba(224,103,79,.4);background:rgba(224,103,79,.08);color:#f0a292;border-radius:12px;padding:.6rem .8rem;font-size:.82rem;margin-bottom:1rem}
.cf-cols{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:1.1rem}
.cf-cat{margin:.2rem 0 .6rem}
.cf-gruppo{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-l);margin:1rem 0 .45rem;display:flex;justify-content:space-between}
.cf-riga{cursor:pointer;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:.45rem;transition:border-color .15s,background .15s}
.cf-riga:hover{border-color:rgba(227,193,111,.3)}
.cf-riga.sel{border-color:rgba(227,193,111,.55);background:rgba(227,193,111,.06)}
.cf-ico{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-weight:700;font-size:.9rem;color:#fff;letter-spacing:.02em}
.cf-ico.grande{width:52px;height:52px;font-size:1.15rem;border-radius:14px}
.cf-txt{min-width:0}.cf-txt b{display:block;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cf-txt small{display:block;color:var(--grigio);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-pill{font-size:.6rem;font-weight:600;color:#f0a292;border:1px solid rgba(224,103,79,.45);border-radius:6px;padding:.05rem .3rem;vertical-align:middle;letter-spacing:.04em}
.cf-az{display:flex;gap:.35rem;align-items:center}
.cf-az button,.cf-az a{all:unset;cursor:pointer;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--line);color:var(--grigio);transition:color .15s,border-color .15s}
.cf-az button:hover,.cf-az a:hover{color:var(--oro-l);border-color:rgba(227,193,111,.45)}
.cf-az svg,.cf-pw-riga svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cf-det-box{align-self:start;position:sticky;top:1rem}
.cf-det{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.2rem}
.cf-det-foglio{border:0;padding:0;background:none}
.cf-det h3{margin:.7rem 0 .1rem}.cf-det .sub{color:var(--grigio);font-size:.8rem;margin-bottom:1rem}
.cf-det-vuoto{border:1px dashed var(--line);border-radius:16px;padding:2.5rem 1rem;text-align:center;color:var(--cenere);font-size:.84rem;display:flex;flex-direction:column;align-items:center;gap:.7rem}
.cf-campo{border:1px solid var(--line);border-radius:11px;padding:.55rem .75rem;margin-bottom:.55rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.2rem .5rem}
.cf-campo label{grid-column:1/-1;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere);margin:0}
.cf-campo .v{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.95rem;color:var(--crema);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:all}
.cf-campo .v.t{font-family:inherit;font-size:.86rem}
.cf-campo .cf-az button,.cf-campo .cf-az a{width:30px;height:30px}
.cf-otp .v{font-size:1.35rem;letter-spacing:.14em;color:var(--oro-l)}
.cf-anello{width:24px;height:24px;border-radius:50%;background:rgba(var(--hi),.1)}
.cf-note-c{display:block}.cf-note-c .nt{font-size:.84rem;color:var(--grigio);margin-top:.2rem;white-space:pre-wrap}
.cf-det-az{display:flex;gap:.45rem;margin-top:.9rem;justify-content:space-between}
.cf-meta{font-size:.72rem;color:var(--cenere);margin-top:.8rem}.cf-meta.scad{color:#f0a292}
.cf-vuota{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;padding:2.5rem 1rem}.cf-vuota span{max-width:380px;color:var(--grigio);font-size:.84rem}
.cf-form{display:flex;flex-direction:column;gap:.7rem}
.cf-pw-riga{display:flex;gap:.4rem}.cf-pw-riga input{flex:1;min-width:0;font-family:ui-monospace,Menlo,Consolas,monospace}
.cf-pw-riga .btn{padding-left:.7rem;padding-right:.7rem}
.cf-due{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cf-menu{display:flex;flex-direction:column;gap:.5rem}
.cf-menu button{all:unset;cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.15rem}
.cf-menu button:hover{border-color:rgba(227,193,111,.45)}
.cf-menu small{color:var(--grigio);font-size:.76rem}
@media(max-width:899px){.cf-cols{grid-template-columns:1fr}.cf-due{grid-template-columns:1fr}.cf-testa-az{width:100%}.cf-testa-az .btn-gold{margin-left:auto}}

/* ===== Permessi ===== */
.pm-sub{color:var(--grigio);font-size:.86rem;margin:-.4rem 0 1.2rem;max-width:760px}
.pm-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem}
.pm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pm-tab{width:100%;border-collapse:separate;border-spacing:0;min-width:520px}
.pm-tab th{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere);font-weight:500;text-align:center;padding:.5rem .4rem;border-bottom:1px solid var(--line)}
.pm-tab th:first-child{text-align:left}
.pm-tab td{padding:.55rem .4rem;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.pm-tab td:first-child{text-align:left}
.pm-tab td b{display:block;font-size:.9rem;font-weight:600}.pm-tab td small{color:var(--grigio);font-size:.74rem}
.pm-gr td{background:rgba(var(--hi),.03);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-l);padding:.7rem .5rem .4rem}
.pm-av{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem}.pm-av i{width:34px;height:34px;border-radius:50%;background:rgba(227,193,111,.14);color:var(--oro-l);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:.78rem;border:1px solid rgba(227,193,111,.3)}
.pm-piede{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;font-size:.78rem;color:var(--cenere)}
.pm-av i svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pm-av small{font-size:.54rem;letter-spacing:.14em;color:var(--oro-l);margin-top:-.2rem}
.pm-na{color:var(--cenere);opacity:.55;font-size:.9rem}
.sw2{all:unset;cursor:pointer;width:40px;height:23px;border-radius:12px;background:rgba(var(--hi),.14);position:relative;display:inline-block;flex-shrink:0;transition:background .2s}
.sw2::after{content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:left .2s}
.sw2.on{background:var(--oro)}.sw2.on::after{left:20px}
.sw2:focus-visible{outline:2px solid var(--oro-l);outline-offset:2px}

/* ===== DUI voci aggiuntive ===== */
.dx-sez{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-l);margin:.9rem 0 .3rem}
.dx-voce{margin:.3rem 0}
.dx-extra{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin:.35rem 0 .2rem .2rem}
.dx-q{display:flex;align-items:center;gap:.35rem}.dx-q button{all:unset;cursor:pointer;width:34px;height:34px;border-radius:9px;border:1px solid var(--line-2);display:grid;place-items:center;font-size:1.1rem;color:var(--crema)}
.dx-q input{width:70px;text-align:center;padding:.4rem}.dx-q span{color:var(--grigio);font-size:.8rem}
.dx-p{display:flex;align-items:center;gap:.35rem}.dx-p input{width:100px;padding:.4rem}.dx-p span,.dx-p small{color:var(--grigio);font-size:.8rem}

.tfx-sez{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-l);margin:.9rem 0 .2rem}
.tfx-riga{cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 100px 80px 46px;gap:.7rem;align-items:center;padding:.6rem .2rem;border-bottom:1px solid var(--line)}
.tfx-riga:hover{background:rgba(var(--hi),.03)}
.tfx-riga.spenta .t,.tfx-riga.spenta .p{opacity:.5}
.tfx-riga b{font-size:.9rem;font-weight:600}.tfx-riga small{display:block;color:var(--grigio);font-size:.74rem}
.tfx-riga .p{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.tfx-riga .u{color:var(--grigio);font-size:.76rem}
.tfx-off{font-size:.6rem;font-weight:600;color:var(--cenere);border:1px solid var(--line-2);border-radius:5px;padding:.05rem .3rem;margin-left:.3rem;vertical-align:middle}
.tfx-form{display:flex;flex-direction:column;gap:.7rem}
.tfx-opz{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:11px;padding:.6rem .75rem;font-size:.86rem}
.tfx-opz small{display:block;color:var(--grigio);font-size:.74rem}
@media(max-width:640px){.tfx-riga{grid-template-columns:minmax(0,1fr) 84px 46px}.tfx-riga .u{display:none}}

/* ===== Stipendi ===== */
.st-testa{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}
.st-mesi{display:flex;align-items:center;gap:.5rem}.st-mesi b{min-width:130px;text-align:center;font-size:.9rem}
.st-sub{color:var(--grigio);font-size:.86rem;margin:.2rem 0 1rem;max-width:760px}
.st-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:0 0 1rem}
.st-kpi div{border:1px solid var(--line);border-radius:12px;padding:.65rem .75rem;background:var(--card)}
.st-kpi small{display:block;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cenere)}.st-kpi b{font-size:1.25rem;font-variant-numeric:tabular-nums}
.st-kpi em{display:block;font-style:normal;font-size:.72rem;color:var(--grigio);margin-top:.1rem}
.st-kpi .oro{border-color:rgba(227,193,111,.45);background:rgba(227,193,111,.06)}.st-kpi .oro b{color:var(--oro-l)}
.st-cols{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.1rem;align-items:start}
.st-dip{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:.5rem}
.st-dip.sel{border-color:rgba(227,193,111,.55);background:rgba(227,193,111,.06)}
.st-dip i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;background:rgba(62,155,196,.15);color:var(--brina-l)}
.st-dip .n{min-width:0}.st-dip b{font-size:.9rem}.st-dip small{display:block;color:var(--grigio);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-dip .e{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.st-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem}
.st-card-testa{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}.st-card-testa h3{margin:0}
.st-opz{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:11px;padding:.45rem .7rem;font-size:.84rem}
.st-opz small{display:block;color:var(--grigio);font-size:.72rem}
.st-set{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem}.st-set2{margin-top:.6rem;align-items:end}.st-salva-wrap{display:flex;justify-content:flex-end}
.st-lab{display:flex;justify-content:space-between;align-items:center;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-l);margin:1.2rem 0 .3rem}
.st-link{all:unset;cursor:pointer;color:var(--oro-l);font-size:.66rem;letter-spacing:.14em}
.st-giorni{width:100%;border-collapse:collapse;font-size:.82rem}
.st-giorni th{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cenere);font-weight:500;text-align:right;padding:.4rem .5rem;border-bottom:1px solid var(--line)}
.st-giorni th:first-child,.st-giorni td:first-child{text-align:left}
.st-giorni td{padding:.35rem .5rem;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}
.st-giorni td.t{color:var(--cenere);font-size:.76rem}
.st-ed{all:unset;cursor:pointer;display:inline-block;min-width:50px;border:1px dashed rgba(227,193,111,.35);border-radius:6px;padding:.1rem .4rem}
.st-ed.mod{color:var(--oro-l)}.st-ed s{color:var(--cenere);margin-right:.35rem;font-size:.74rem}
.st-tr{all:unset;cursor:pointer;font-size:.56rem;font-weight:700;color:var(--brina-l);border:1px solid rgba(62,155,196,.5);border-radius:4px;padding:0 .25rem;margin-left:.2rem}.st-tr.off{color:var(--cenere);border-color:var(--line-2);text-decoration:line-through}
.st-bp{font-size:.56rem;font-weight:700;color:#7fc28b;border:1px solid rgba(127,194,139,.45);border-radius:4px;padding:0 .25rem;margin-left:.2rem}
.st-agg-g{all:unset;cursor:pointer;font-size:.76rem;color:var(--grigio);margin-top:.5rem;display:inline-block}
.st-bonus{display:grid;grid-template-columns:minmax(0,1fr) auto 26px;gap:.6rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.86rem}
.st-bonus .x{all:unset;cursor:pointer;color:var(--cenere);text-align:center}
.st-tot{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.8rem 0 .2rem;border-top:1px solid var(--line-2);margin-top:.6rem}.st-tot span{color:var(--grigio);font-size:.84rem}.st-tot b{font-size:1.35rem}
.st-costo{display:flex;justify-content:space-between;font-size:.86rem;color:var(--oro-l);padding:.2rem 0}
.st-nota{font-size:.74rem;color:var(--cenere);line-height:1.5;margin-top:.7rem}.st-nota.warn{color:#e0a030}
.st-vuoto{font-size:.8rem;color:var(--cenere);padding:.5rem 0}
.st-bchips{margin:.2rem 0 .8rem}
.ms-hero{text-align:center;padding:1.3rem 1rem;border-radius:18px;background:linear-gradient(160deg,rgba(227,193,111,.14),rgba(227,193,111,.02));border:1px solid rgba(227,193,111,.3);margin-top:.8rem}
.ms-hero .lab{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-l)}
.ms-hero .big{font-family:var(--ff-s);font-size:2.6rem;color:var(--crema);line-height:1.1;margin:.3rem 0}
.ms-hero .sub{color:var(--grigio);font-size:.82rem}
.ms-bar{display:flex;align-items:flex-end;gap:3px;height:80px;margin:1rem 0 .3rem}
.ms-bar i{flex:1;background:linear-gradient(180deg,var(--brina-l),rgba(62,155,196,.25));border-radius:3px 3px 0 0}
.ms-bar i.f{background:rgba(var(--hi),.07)}.ms-bar i.og{background:linear-gradient(180deg,var(--oro-l),rgba(191,160,64,.35))}
.ms-ax{display:flex;justify-content:space-between;font-size:.62rem;color:var(--cenere)}
.ms-riga{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .2rem;border-bottom:1px solid var(--line);font-size:.88rem}
.ms-riga span:last-child{font-weight:600;font-variant-numeric:tabular-nums}.ms-riga.tot{border:0;font-size:1rem}.ms-riga.tot b:last-child{color:var(--oro-l)}
@media(max-width:899px){.st-kpi{grid-template-columns:1fr 1fr}.st-cols{grid-template-columns:1fr}.st-set{grid-template-columns:1fr}.st-giorni td.t,.st-giorni th:nth-child(2){display:none}}

/* ===== 2.5.4 · aggiornamento sul posto =====
   Quando la STESSA pagina si ridisegna (dati nuovi arrivati da soli, un'azione appena fatta) le
   animazioni d'ingresso non ripartono: erano loro a dare l'impressione di una pagina ricaricata.
   Cambiando pagina (menu, schede, settimana) le animazioni restano quelle di sempre. */
main.quieto>.view,main.quieto .card,main.quieto .nota,main.quieto .avviso,main.quieto .kpi{animation:none;opacity:1}
main.quieto .ph,main.quieto .vbars i,main.quieto .bar i,main.quieto .ck-done,main.quieto .ck-done .ring,main.quieto .ring-sm{animation:none}
main.quieto .ring-sm.ko{animation:brPulse 2.4s ease-in-out 1s infinite}
main.quieto .chk path,main.quieto .ring-sm svg,main.quieto .ck-done .ring svg{animation:none;stroke-dashoffset:0}
main.quieto .nota.new{animation:notain .6s var(--spring)}
/* partenza senza schermata d'accesso quando c'è già una sessione su questo dispositivo */
html.ha-sessione #login{display:none}
html.ha-sessione #app.hidden{display:flex!important}
html.ripresa #app,html.ripresa header.top::after{animation:none}
/* "Nuova versione pronta": discreta, sopra la barra in basso — si applica anche da sola appena esci dall'app */
#wwAgg{position:fixed;left:50%;bottom:calc(88px + var(--sab));transform:translateX(-50%);z-index:260;display:flex;align-items:center;gap:.35rem;padding:.35rem .35rem .35rem .95rem;border-radius:999px;background:var(--carbone);border:1px solid rgba(191,160,64,.45);box-shadow:0 10px 30px rgba(0,0,0,.45);font-size:.78rem;color:var(--crema);white-space:nowrap;animation:sheetup .42s var(--spring)}
#wwAgg i{width:7px;height:7px;border-radius:50%;background:var(--oro);box-shadow:0 0 8px rgba(191,160,64,.7);margin-right:.25rem;flex:none}
#wwAgg button{border:0;background:none;color:var(--grigio);font:inherit;padding:.4rem .55rem;border-radius:999px;cursor:pointer}
#wwAgg #wwAggOk{background:var(--oro);color:var(--ink);font-weight:600;letter-spacing:.02em}
@media(min-width:800px){#wwAgg{bottom:2rem}}
@media(prefers-reduced-motion:reduce){.kpi{opacity:1}.chk path,.ring-sm svg,.ck-done .ring svg{stroke-dashoffset:0}}

/* ===== 2.6.0 · BOZZE AUTOMATICHE (Lavoro → Bozze) ===== */
:root{--giallo:#E8C978}
html[data-tema="chiaro"]{--giallo:#8A6410}
.bz .bz-testa{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.bz .bz-testa h2{margin:0;line-height:1.05}
.bz .bz-testa .grow{flex:1}
.bz-sett{display:flex;align-items:center;gap:.45rem}
.bz-sett button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);color:var(--grigio);font-size:1rem}
.bz-sett button:hover{border-color:var(--oro);color:var(--oro-l)}
.bz-azioni{display:flex;gap:.45rem;flex-wrap:wrap}
.bz-kpi{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:.9rem}
@media(min-width:900px){.bz-kpi{grid-template-columns:repeat(4,1fr);gap:.8rem}}
.bz-k{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.8rem .95rem}
.bz-k .lab{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--oro);margin-bottom:.3rem}
.bz-k .big{font-family:var(--ff-s);font-size:2rem;font-weight:600;line-height:1;color:var(--crema)}
.bz-k .big small{font-family:var(--ff-b);font-size:.74rem;color:var(--grigio);font-weight:400;margin-left:.35rem}
.bz-k .sub{font-size:.72rem;color:var(--grigio);margin-top:.3rem;line-height:1.4}
.bz-k.rosso{border-color:rgba(226,85,43,.45);background:linear-gradient(160deg,rgba(226,85,43,.10),transparent 60%),var(--card)}
.bz-k.rosso .big{color:var(--brace-l)}
.bz-k button.lnk,.bz-pan button.lnk{color:var(--oro-l);text-decoration:underline;text-underline-offset:2px;font-size:inherit}
.bz-avviso{display:flex;gap:.7rem;align-items:flex-start;border:1px solid rgba(226,85,43,.4);background:rgba(226,85,43,.07);border-radius:10px;padding:.7rem .85rem;margin-bottom:1rem;font-size:.8rem;color:var(--grigio);line-height:1.5}
.bz-avviso svg{width:18px;height:18px;flex:none;stroke:var(--brace-l);fill:none;stroke-width:1.8;margin-top:.1rem}
.bz-avviso b{color:var(--crema);font-weight:600}
.bz-avviso .bt{margin-left:auto;flex:none}
.bz-info{font-size:.74rem;color:var(--cenere);margin:-.4rem 0 .9rem;line-height:1.5}
.bz-vuota-sett{text-align:center;padding:2.2rem 1rem;border:1px dashed var(--line-2);border-radius:12px;margin-bottom:1rem;color:var(--grigio);font-size:.86rem;line-height:1.6}
.bz-vuota-sett .btn{margin-top:.8rem}
.bz-gg-h{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:.6rem;margin-bottom:.2rem}
.bz-gh{padding:0 .15rem}
.bz-gh .d{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cenere)}
.bz-gh .d b{font-family:var(--ff-s);font-size:1.12rem;letter-spacing:0;text-transform:none;color:var(--crema);font-weight:600;margin-right:.3rem}
.bz-gh.oggi .d b{color:var(--oro-l)}
.bz-pers{display:flex;gap:.25rem;margin-top:.3rem;flex-wrap:wrap}
.bz-pers button{width:24px;height:24px;border-radius:50%;font-size:.58rem;font-weight:700;background:rgba(191,160,64,.12);color:var(--oro);border:1px solid transparent;line-height:1}
.bz-pers button.ass{background:transparent;color:var(--cenere);border:1px dashed var(--line-2);text-decoration:line-through}
.bz-pers button:disabled{opacity:.5}
.bz-riga-mezzo{display:flex;align-items:center;gap:.55rem;margin:1rem 0 .5rem;flex-wrap:wrap}
.bz-riga-mezzo .mezzo-ico{margin-left:0}
.bz-riga-mezzo b{font-family:var(--ff-s);font-size:1.3rem;font-weight:600}
.bz-riga-mezzo .sq{font-size:.76rem;color:var(--grigio)}
.bz-riga-mezzo .cap{margin-left:auto;font-size:.7rem;color:var(--cenere)}
.bz-gg{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:.6rem;align-items:stretch}
.bz-cella{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.55rem .5rem .5rem;display:flex;flex-direction:column;min-height:130px;min-width:0;transition:outline-color .15s}
.bz-cella.appr{border-color:rgba(124,185,124,.45);box-shadow:inset 0 3px 0 rgba(124,185,124,.55)}
.bz-cella.bozza{border-style:dashed;border-color:rgba(191,160,64,.5)}
.bz-cella.fisso{background:repeating-linear-gradient(135deg,rgba(var(--hi),.02) 0 10px,transparent 10px 20px),var(--card)}
.bz-cella.ferma,.bz-cella.passato{opacity:.62}
.bz-cella.drop-ok{outline:2px dashed var(--oro-l);outline-offset:2px}
.bz-c-st{display:flex;align-items:center;justify-content:space-between;gap:.3rem;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:.35rem}
.bz-c-st .s-appr{color:var(--verde)} .bz-c-st .s-bozza{color:var(--oro)} .bz-c-st .s-fisso{color:var(--grigio)} .bz-c-st .s-vuota{color:var(--cenere)}
.bz-c-st .n{color:var(--cenere);letter-spacing:.03em;text-transform:none;font-weight:400;font-size:.66rem;text-align:right}
.bz-c-sq{font-size:.66rem;color:var(--cenere);margin:-.2rem 0 .35rem}
.bz-i{display:grid;grid-template-columns:44px 1fr;gap:.3rem;padding:.42rem .4rem .45rem .45rem;border-radius:8px;background:var(--mid);margin-bottom:.35rem;position:relative;cursor:pointer;text-align:left;width:100%;border:1px solid transparent;color:inherit;font:inherit}
.bz-i:hover{border-color:var(--line-2)}
.bz-i[draggable=true]{cursor:grab}
.bz-i.trascina{opacity:.45}
.bz-i .ora{font-family:var(--ff-s);font-weight:700;font-size:.98rem;color:var(--oro-l);line-height:1.1}
.bz-i .ora small{display:block;font-family:var(--ff-b);font-size:.47rem;letter-spacing:.03em;color:var(--cenere);font-weight:500;text-transform:uppercase;margin-top:.1rem}
.bz-i b{font-size:.8rem;font-weight:600;display:block;line-height:1.25;color:var(--crema);overflow-wrap:anywhere}
.bz-i .dove{display:block;font-size:.68rem;color:var(--grigio);line-height:1.3;margin-top:.05rem}
.bz-i .perche{display:block;font-size:.64rem;color:var(--cenere);line-height:1.3;margin-top:.18rem;font-style:italic}
.bz-i .tg{display:flex;flex-wrap:wrap;gap:.22rem;margin-top:.28rem}
.bz-i .tagas{font-size:.5rem;padding:.08rem .38rem}
.bz-i .urg-tag{font-size:.48rem;padding:.08rem .4rem}
.bz-i .urg-tag svg{width:9px;height:9px}
.t-ind,.t-ver,.t-lock,.t-ok{font-size:.5rem;letter-spacing:.06em;text-transform:uppercase;padding:.08rem .38rem;border-radius:10px;white-space:nowrap}
.t-ind{border:1px dashed rgba(124,195,224,.55);color:var(--brina-l)}
.t-ver{background:rgba(232,201,120,.12);border:1px solid rgba(232,201,120,.45);color:var(--giallo);white-space:normal}
.t-lock{background:rgba(var(--hi),.06);color:var(--grigio);border:1px solid var(--line-2)}
.t-ok{color:var(--verde);border:1px solid rgba(124,185,124,.45)}
.bz-i.urg-alta{box-shadow:inset 3px 0 0 var(--rosso)} .bz-i.urg-normale{box-shadow:inset 3px 0 0 var(--brace)}
.bz-i.fermo{background:rgba(var(--hi),.035)}
.bz-i.fermo .ora{color:var(--grigio)}
.bz-i.giallo{box-shadow:inset 3px 0 0 var(--giallo);background:rgba(232,201,120,.07)}
.wa{display:inline-flex;align-items:center;gap:.3rem;font-size:.62rem;font-weight:600;margin-top:.3rem;padding:.2rem .45rem;border-radius:5px;width:fit-content;max-width:100%}
.wa svg{width:11px;height:11px;fill:currentColor;flex:none}
.wa.ok{background:rgba(124,185,124,.14);color:var(--verde)}
.wa.no{background:rgba(224,122,110,.14);color:var(--danger)}
.wa.attesa{background:rgba(var(--hi),.06);color:var(--grigio)}
.wa.giallo{background:rgba(232,201,120,.16);color:var(--giallo)}
.wa.avvisa{background:#1f8f4e;color:#fff;border:0;cursor:pointer}
html[data-tema="chiaro"] .wa.avvisa{background:#17783f}
.bz-mini{display:flex;gap:.3rem;margin-top:.32rem;flex-wrap:wrap}
.bz-mini button{font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border:1px solid var(--line-2);color:var(--grigio);border-radius:5px;padding:.22rem .45rem}
.bz-mini button:hover{border-color:var(--oro);color:var(--oro-l)}
.bz-slot{border:1px dashed rgba(124,185,124,.55);border-radius:8px;padding:.4rem .45rem;margin:0 0 .35rem;background:rgba(124,185,124,.05)}
.bz-slot .t{font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--verde);font-weight:600;line-height:1.35}
.bz-slot .via{font-size:.66rem;color:var(--grigio);text-decoration:line-through;margin-top:.15rem}
.bz-slot .sost{display:flex;align-items:center;justify-content:space-between;gap:.3rem;font-size:.68rem;color:var(--crema);margin-top:.3rem}
.bz-slot .sost small{color:var(--cenere);font-size:.6rem;display:block}
.bz-slot .sost button{font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--ink);background:var(--verde);border-radius:5px;padding:.25rem .45rem;flex:none}
.bz-slot .nessuno{font-size:.64rem;color:var(--cenere);margin-top:.2rem}
.bz-c-piede{margin-top:auto;padding-top:.4rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.35rem}
.bz-c-piede .num{font-size:.64rem;color:var(--grigio);display:flex;gap:.55rem;flex-wrap:wrap}
.bz-c-piede .num b{color:var(--crema);font-weight:600}
.bz-c-piede .avv{font-size:.64rem;color:var(--giallo);line-height:1.35}
.bz-c-piede .az{display:flex;gap:.3rem}
.bz-c-piede .az button{flex:1;font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;border-radius:6px;padding:.4rem .3rem;line-height:1.2}
.bz-c-piede .az .rig{border:1px solid var(--line-2);color:var(--grigio)}
.bz-c-piede .az .rig:hover{border-color:var(--oro);color:var(--oro-l)}
.bz-c-piede .az .app{background:var(--oro);color:var(--ink)}
.bz-c-piede .appr-ok{font-size:.62rem;color:var(--verde);line-height:1.35}
.bz-pausa{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cenere);text-align:center;padding:.3rem 0;margin:0 0 .35rem;border-top:1px dashed var(--line-2);border-bottom:1px dashed var(--line-2)}
.bz-c-vuota{font-size:.7rem;color:var(--cenere);font-style:italic;padding:.3rem .1rem;line-height:1.45}
.bz-sotto{display:grid;grid-template-columns:1fr;gap:.9rem;margin-top:1.3rem}
@media(min-width:1100px){.bz-sotto{grid-template-columns:1.3fr 1fr}}
.bz-pan{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem}
.bz-pan h4{font-family:var(--ff-s);font-size:1.2rem;font-weight:600;margin:0 0 .4rem}
.bz-ver{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem 0;border-top:1px solid var(--line);font-size:.76rem;color:var(--grigio);line-height:1.45}
.bz-ver:first-of-type{border-top:0}
.bz-ver b{color:var(--crema);font-weight:600}
.bz-ver .acts{margin-left:auto;display:flex;gap:.3rem;flex:none;flex-wrap:wrap;justify-content:flex-end}
.bz-ver .acts button{font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border:1px solid var(--line-2);color:var(--grigio);border-radius:5px;padding:.28rem .5rem;white-space:nowrap}
.bz-ver .acts button:hover{border-color:var(--oro);color:var(--oro-l)}
.bz-regole{font-size:.74rem;color:var(--grigio);line-height:1.55;margin:0;padding:0}
.bz-regole li{margin:.15rem 0 .15rem 1rem}
.bz-regole b{color:var(--crema);font-weight:600}
.bz-leg{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.7rem;font-size:.66rem;color:var(--cenere)}
.bz-leg span{display:flex;align-items:center;gap:.3rem}
.bz-leg i{display:inline-block;width:14px;height:10px;border-radius:3px}
/* telefono e tablet: un giorno alla volta, i mezzi uno sotto l'altro (affiancati da 700 px) */
.bz-giorni{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.3rem;margin-bottom:.4rem;scrollbar-width:none}
.bz-giorni::-webkit-scrollbar{display:none}
.bz-giorni button{flex:none;padding:.45rem .7rem;border-radius:12px;border:1px solid var(--line-2);color:var(--grigio);font-size:.72rem;text-align:center;line-height:1.2;min-width:62px}
.bz-giorni button b{display:block;font-family:var(--ff-s);font-size:1.05rem;color:var(--crema)}
.bz-giorni button.on{border-color:var(--oro);background:rgba(191,160,64,.12);color:var(--oro-l)}
.bz-giorni button .pt{display:block;width:6px;height:6px;border-radius:50%;margin:.2rem auto 0;background:transparent}
.bz-giorni button .pt.b{background:var(--oro)} .bz-giorni button .pt.a{background:var(--verde)}
.bz-mob{display:grid;grid-template-columns:1fr;gap:.7rem}
@media(min-width:700px){.bz-mob{grid-template-columns:1fr 1fr}}
.bz-mob .bz-riga-mezzo{margin:.2rem 0 .4rem}
/* foglio di un intervento: azioni grandi, una per riga */
.bz-sh-azioni{display:grid;gap:.45rem}
.bz-sh-azioni .btn{justify-content:flex-start;width:100%}
.bz-sposta-griglia{display:grid;grid-template-columns:auto repeat(var(--n,5),1fr);gap:.35rem;align-items:center;font-size:.7rem}
.bz-sposta-griglia .h{color:var(--cenere);text-align:center;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}
.bz-sposta-griglia button{padding:.5rem .2rem;border:1px solid var(--line-2);border-radius:8px;color:var(--grigio);font-size:.7rem}
.bz-sposta-griglia button:hover{border-color:var(--oro);color:var(--oro-l)}
.bz-sposta-griglia button:disabled{opacity:.3}
.bz-sposta-griglia button.qui{border-color:var(--oro);color:var(--oro-l)}
/* ===== 2.6.0 · Pulizia dati e Impostazioni della pianificazione ===== */
.pl-kpi{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin:1rem 0}
@media(min-width:900px){.pl-kpi{grid-template-columns:repeat(4,1fr)}}
.pl-sez{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;margin-bottom:.8rem}
.pl-sez h4{font-family:var(--ff-s);font-size:1.15rem;font-weight:600;margin:0 0 .5rem}
.pl-num{display:flex;flex-wrap:wrap;gap:.4rem .9rem;font-size:.8rem;color:var(--grigio);margin-bottom:.4rem}
.pl-num b{color:var(--crema)}
.pl-riga{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-top:1px solid var(--line);font-size:.78rem;color:var(--grigio);flex-wrap:wrap}
.pl-riga b{color:var(--crema);font-weight:600}
.pl-riga .x{margin-left:auto}
.pl-riga .prima{text-decoration:line-through;color:var(--cenere)}
.pl-riga .dopo{color:var(--verde)}
.pl-camp{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cenere);min-width:62px}
.pi-sez{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.95rem 1rem;margin-bottom:.8rem}
.pi-sez h4{font-family:var(--ff-s);font-size:1.15rem;font-weight:600;margin:0 0 .2rem}
.pi-sez .hint{font-size:.74rem;color:var(--cenere);margin:0 0 .7rem;line-height:1.45}
.pi-durate{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem .7rem}
@media(min-width:900px){.pi-durate{grid-template-columns:repeat(3,1fr)}}
.pi-durate label,.pi-g label{font-size:.68rem;color:var(--grigio);display:block;margin-bottom:.2rem}
.pi-durate input,.pi-g input,.pi-g select{padding:.6rem .7rem}
.pi-g{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem .7rem}
@media(min-width:900px){.pi-g{grid-template-columns:repeat(4,1fr)}}
.pi-mezzo{border-top:1px solid var(--line);padding-top:.7rem;margin-top:.7rem}
.pi-mezzo:first-of-type{border-top:0;padding-top:0;margin-top:0}
.pi-conf{display:grid;gap:.45rem}
.pi-conf .z{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap;padding:.35rem 0;border-top:1px solid var(--line)}
.pi-conf .z>b{font-size:.76rem;color:var(--crema);min-width:170px;font-weight:600}
.pi-conf .pick{margin:0}
.pi-conf .pick button{font-size:.66rem;padding:.25rem .55rem}
.pi-prov{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro);margin:.8rem 0 .2rem}
/* campi del modulo richiesta: quello che manca o è scritto male si vede subito */
.campo-err input,.campo-err select,.campo-err textarea{border-color:var(--danger)!important}
.campo-err .pick button{border-color:rgba(224,122,110,.6)}
.campo-msg{font-size:.72rem;color:var(--danger);margin-top:.25rem;line-height:1.35}
.campo-obbl{color:var(--oro);font-weight:600}
.rcard .manca{font-size:.72rem;color:var(--giallo);margin-top:.35rem;line-height:1.4}
.rcard .bz-tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:10px;border:1px dashed rgba(191,160,64,.55);color:var(--oro-l)}
.rcard .doppia-tag{font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:10px;background:rgba(232,201,120,.12);border:1px solid rgba(232,201,120,.45);color:var(--giallo)}
.prog-bozze-hint{font-size:.74rem;color:var(--oro-l);margin-top:.5rem}
.prog-bozze-hint button{color:var(--oro-l);text-decoration:underline;text-underline-offset:2px;font-size:inherit}
.cp-interna{display:flex;align-items:center;gap:.45rem;font-size:.74rem;color:var(--grigio);margin-top:.45rem}
.cp-interna input{width:auto}

/* ===================== 2.7.0 · STATO SISTEMA e REGISTRO DELLE MODIFICHE ===================== */
.sis-pt{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.5rem;flex:0 0 9px;vertical-align:middle;background:var(--cenere)}
.sis-pt.verde{background:var(--verde)}.sis-pt.giallo{background:var(--oro-l)}.sis-pt.rosso{background:var(--brace)}.sis-pt.grigio{background:var(--line-2)}
.sis-problemi{display:grid;gap:.4rem;margin:.9rem 0 .2rem}
.sis-pr{display:flex;align-items:flex-start;gap:.1rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;font-size:.82rem;color:var(--grigio);line-height:1.45}
.sis-pr .sis-pt{margin-top:.38rem}
.sis-pr b{color:var(--crema)}
.sis-pr.rosso{border-color:rgba(226,85,43,.45)}.sis-pr.rosso span:last-child{color:var(--crema)}
.sis-pr.verde{border-color:rgba(124,185,124,.4)}
.sis-hint{font-size:.78rem;color:var(--grigio);line-height:1.55;margin:.1rem 0 .7rem;max-width:820px}
.sis-hint b{color:var(--crema)}
.sis .bz-k .big.sis-med{font-size:1.45rem;line-height:1.15}
.sis-btn{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.2rem 0 .7rem}
.sis-btn a.btn{text-decoration:none}
.sis-nota{font-size:.74rem;color:var(--grigio);display:inline-flex;align-items:center}
.sis-sotto{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.8rem}
.sis-sotto>b{font-family:var(--ff-s);font-size:1.02rem;font-weight:600}
.sis-g3{margin-bottom:.7rem}
@media(min-width:900px){.pi-g.sis-g3{grid-template-columns:1.3fr 1fr 1.3fr}}
.sis-elenco{max-height:340px;overflow:auto;margin-top:.4rem}
.sis-az{display:flex;gap:.35rem;align-items:center}
.sis-az a.btn{text-decoration:none}
.sis-cmd{display:flex;gap:.5rem;align-items:center;background:var(--mid);border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;margin:.2rem 0 .7rem}
.sis-cmd code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;color:var(--crema);word-break:break-all;flex:1;user-select:all}
.sis .pl-riga small{color:var(--cenere);font-size:.72rem}
.sis-chiave input{width:190px;max-width:44vw;padding:.45rem .6rem;font-size:.78rem}
.sis-piede{font-size:.7rem;color:var(--cenere);margin-top:1rem;line-height:1.6}
#sisProveEsito{margin-top:.2rem}#sisProveEsito .sis-pr{margin-bottom:.4rem}
.sis-avviso{position:fixed;left:50%;transform:translateX(-50%);top:calc(var(--sat) + 10px);z-index:900;display:flex;align-items:center;gap:.55rem;max-width:min(94vw,640px);background:var(--card);border:1px solid rgba(226,85,43,.6);border-radius:12px;padding:.55rem .7rem;font-size:.8rem;color:var(--crema);box-shadow:0 10px 30px rgba(0,0,0,.45)}
.sis-avviso .t{flex:1;line-height:1.35}.sis-avviso .t i{color:var(--grigio);font-style:normal}
.sis-avviso button{font-size:.74rem;color:var(--oro-l);padding:.3rem .5rem;border-radius:8px}
.sis-avviso button[data-chiudi]{color:var(--grigio)}
.reg-filtri{display:flex;gap:.45rem;flex-wrap:wrap;margin:.2rem 0 1rem}
.reg-filtri select,.reg-filtri input{width:auto;padding:.5rem .65rem;font-size:.8rem}
.reg-filtri input[type=search]{flex:1;min-width:170px}
.reg-g{font-family:var(--ff-s);font-size:1.12rem;font-weight:600;color:var(--crema);margin:1.1rem 0 .35rem;padding-bottom:.3rem;border-bottom:1px solid var(--line)}
.reg-g::first-letter{text-transform:uppercase}
.reg-f{padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--grigio)}
.reg-t{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}
.reg-ora{font-variant-numeric:tabular-nums;color:var(--cenere);font-size:.74rem;min-width:36px}
.reg-chi{color:var(--oro-l);font-weight:500;min-width:84px}
.reg-cosa{flex:1;min-width:180px;line-height:1.45}.reg-cosa b{color:var(--crema);font-weight:600}.reg-cosa small{color:var(--cenere)}
.reg-f.op-D .reg-cosa b{color:var(--brace-l)}
.reg-storia{font-size:.68rem;color:var(--cenere);text-decoration:underline;text-underline-offset:2px}
.reg-campi{margin:.3rem 0 0 calc(36px + 84px + 1.2rem);display:grid;gap:.18rem;font-size:.76rem}
.reg-campi .prima{text-decoration:line-through;color:var(--cenere)}.reg-campi .dopo{color:var(--verde)}
.reg-campi i{font-style:normal;opacity:.7}
@media(max-width:640px){.reg-campi{margin-left:0}.reg-chi{min-width:0}}

/* ===================== 2.7.0 · ATTORNO ALL'AGENDA: carico di Pierantonio, promemoria, arrivo, richiami, assenze ===================== */
.bz-info.ag-riep{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:.1rem 0 .9rem;padding:.55rem .8rem;background:var(--card);border:1px solid rgba(191,160,64,.35);border-radius:10px;color:var(--grigio);font-size:.8rem}
.bz-info.ag-riep span{flex:1;min-width:200px}.bz-info.ag-riep b{color:var(--crema)}
.cpi-sett{display:grid;grid-template-columns:92px 1fr;gap:.6rem;align-items:stretch;padding:.5rem 0;border-top:1px solid var(--line)}
.cpi-sl{font-size:.74rem;color:var(--oro);letter-spacing:.04em;padding-top:.15rem}
.cpi-gg{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:.4rem}
.cpi-g{background:var(--mid);border-radius:8px;padding:.45rem .5rem;font-size:.72rem;color:var(--grigio);min-width:0}
.cpi-g b{color:var(--crema);font-weight:600;font-size:.74rem;text-transform:capitalize}
.cpi-g small{display:block;font-size:.66rem;color:var(--cenere);line-height:1.35;margin-top:.25rem}
.cpi-g.passato{opacity:.45}.cpi-g.fuori b{color:var(--cenere)}
.cpi-barra{height:6px;border-radius:3px;background:rgba(var(--hi),.08);margin-top:.35rem;overflow:hidden}
.cpi-barra i{display:block;height:100%;border-radius:3px;background:var(--oro)}
.cpi-g.pieno .cpi-barra i{background:var(--brace)}
@media(max-width:640px){.cpi-sett{grid-template-columns:1fr}.cpi-gg{grid-template-columns:repeat(var(--n,5),minmax(58px,1fr));overflow-x:auto}}
.cpi-barra-az{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding:.3rem 0 .6rem;position:sticky;top:calc(var(--header-h) + var(--sat));background:var(--card);z-index:2}
.pl-riga.cpi-r{cursor:pointer;align-items:flex-start;flex-wrap:nowrap}
.cpi-r input{margin-top:.2rem;flex:0 0 auto;width:18px;height:18px;accent-color:var(--oro)}
.cpi-chi{flex:1;min-width:0;line-height:1.45}.cpi-chi small{color:var(--cenere);font-size:.72rem}
.cpi-gg-att{text-align:right;white-space:nowrap;color:var(--crema)}.cpi-gg-att small{color:var(--cenere);font-size:.68rem}
.pm .pl-riga.pm-r{align-items:flex-start;flex-wrap:nowrap}
.pm-ora{font-variant-numeric:tabular-nums;color:var(--oro-l);font-weight:600;min-width:44px;font-size:.84rem}
.pm-chi{flex:1;min-width:0;line-height:1.45}.pm-chi small{color:var(--cenere);font-size:.72rem}
.pm-fatto{font-size:.72rem;color:var(--verde);white-space:nowrap}
.pm-r.fatto .pm-chi b{color:var(--grigio)}
.pm-arrivi{border-color:rgba(191,160,64,.45)}
.pm .sis-az{flex-wrap:wrap;justify-content:flex-end}.pm .sis-az a.btn{text-decoration:none}
@media(max-width:640px){.pm .pl-riga.pm-r{flex-wrap:wrap}.pm .pl-riga.pm-r .x{margin-left:44px;width:100%;justify-content:flex-start}}
.cp-row .arr{flex-shrink:0;display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .55rem;border-radius:16px;border:1px solid rgba(191,160,64,.5);color:var(--oro-l);font-size:.68rem;letter-spacing:.03em;white-space:nowrap}
.cp-row .arr svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cp-row .arr.fatto{border-color:rgba(124,185,124,.5);color:var(--verde)}
.pick.arr-min{margin:.8rem 0}.pick.arr-min button{min-width:72px;padding:.7rem .6rem;font-size:.9rem}
.rc .rc-t{font-family:var(--ff-s);font-size:1.15rem;font-weight:600;display:block;margin-bottom:.2rem}
.rc-riga{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap}
.rc-riga label{font-size:.68rem;color:var(--grigio);display:block;margin-bottom:.2rem}
.rc-riga input,.rc-riga select{width:150px;max-width:42vw;padding:.55rem .65rem}
.as-box{margin-top:1.6rem}.as-t{font-family:var(--ff-s);font-size:1.3rem;font-weight:600;margin:0 0 .3rem}
.as-tab td,.as-tab th{padding:.35rem .3rem}.as-tab th{text-transform:none;letter-spacing:0}
.as-tab .as-festa{opacity:.4}
.as-c{min-width:38px;height:30px;border-radius:7px;color:var(--cenere);font-size:.7rem;border:1px solid transparent}
.as-c:not(:disabled):hover{border-color:var(--line-2)}
.as-c.on{background:rgba(226,85,43,.16);border-color:rgba(226,85,43,.4);color:var(--brace-l);font-weight:600}
.pick.as-pick{margin:.6rem 0 1rem}

/* ===================== 2.7.0 · DUI in attesa di rete ===================== */
.dui-coda{position:fixed;left:12px;bottom:calc(84px + var(--sab));z-index:850;display:flex;align-items:center;gap:.45rem;padding:.5rem .8rem;border-radius:22px;background:var(--card);border:1px solid rgba(191,160,64,.6);color:var(--crema);font-size:.76rem;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.dui-coda svg{width:16px;height:16px;stroke:var(--oro-l);fill:none;stroke-width:1.8;stroke-linecap:round}
.dui-coda.errore{border-color:rgba(226,85,43,.7)}.dui-coda.errore svg{stroke:var(--brace-l)}
@media(min-width:900px){.dui-coda{bottom:18px;left:auto;right:18px}}

/* ===================== 2.7.2 · DUI: cliente già in archivio, esito del codice fiscale ===================== */
.dui-esiste{border:1px solid rgba(191,160,64,.45);background:linear-gradient(160deg,rgba(191,160,64,.08),transparent 70%),var(--card);border-radius:12px;padding:.8rem .9rem;margin:.1rem 0 .3rem}
.dui-esiste[hidden],.dui-cf[hidden]{display:none}
.dui-esiste .t{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oro);font-weight:600;margin-bottom:.5rem}
.dui-esiste .r{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.5rem 0;border-top:1px solid var(--line)}
.dui-esiste .r span{min-width:0;font-size:.92rem;overflow-wrap:anywhere}.dui-esiste .r small{display:block;color:var(--grigio);font-size:.78rem;margin-top:.1rem}
.dui-esiste .r i{font-style:normal;font-size:.68rem;color:var(--verde);border:1px solid currentColor;border-radius:10px;padding:.05rem .4rem;margin-left:.3rem;white-space:nowrap}
.dui-esiste .r .btn{flex:none}
.dui-esiste .n{font-size:.76rem;color:var(--cenere);margin-top:.5rem;line-height:1.4}
.dui-cf{font-size:.82rem;line-height:1.45;margin-top:-.35rem;color:var(--grigio)}
.dui-cf.ok{color:var(--verde);font-weight:500}
.dui-cf.ko{color:var(--brace-l);font-weight:500;background:rgba(226,85,43,.1);border:1px solid rgba(226,85,43,.35);border-radius:10px;padding:.55rem .75rem;margin-top:0}
.dui-cf .btn{margin-left:.4rem}

/* ===================== 2.7.4 · scelta della squadra per il programma da stampare ===================== */
.stampa-sq{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;padding:.85rem 1rem;margin-bottom:.5rem;border:1px solid var(--line-2);border-radius:12px;background:var(--card);cursor:pointer;color:var(--crema)}
.stampa-sq:active{border-color:var(--oro)}.stampa-sq[disabled]{opacity:.5}
.stampa-sq small{display:block;color:var(--grigio);font-size:.78rem;margin-top:.15rem}.stampa-sq svg{color:var(--oro);width:20px!important;height:20px!important;margin:0!important;flex:none}

/* ===================== 2.7.5 · Agenda da telefono: ogni squadra in una scheda sua =====================
   Prima iniziali, mezzo, nomi, stato e cestino stavano su una riga sola e con il testo grande si sovrapponevano.
   2.7.6: vale a ogni larghezza — da computer e da tablet i riquadri dei giorni sono stretti quanto un telefono. */
.day{display:block}
.day .num{float:left;font-size:2rem;margin-right:.7rem}
.day-h{min-height:2.1rem;align-items:center}
.prog-team-compact.admin,.prog-team-compact-wrap{background:var(--mid);border:1px solid var(--line);border-radius:12px;margin:.55rem 0}
.prog-team-compact.admin{padding:.7rem .8rem;align-items:flex-start}
.prog-team-compact-wrap{padding:.7rem .8rem .1rem}
.prog-team-compact.admin .ptc-open,.prog-team-compact-wrap .prog-team-compact{border-top:0;padding:0;display:grid;grid-template-columns:auto 1fr;gap:.5rem .6rem;align-items:center;min-width:0}
.prog-team-compact-wrap .prog-team-compact{padding-bottom:.6rem}
.prog-team-compact .ptc-mid{grid-row:1;grid-column:1 / -1}
.prog-team-compact .ptc-mid b{font-size:1.02rem}
.prog-team-compact .ptc-mid small{font-size:.78rem}
.prog-team-compact .ptc-chi{grid-row:2;grid-column:1}
.prog-team-compact .s{grid-row:2;grid-column:2;justify-self:end;font-size:.7rem;white-space:nowrap;display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;padding:.22rem .6rem;border-radius:20px}
.prog-team-compact .s svg,.prog-team-compact .s .dotp{display:inline-block;vertical-align:-1px;margin-right:.35rem}
.prog-team-compact .s.wait{background:rgba(226,85,43,.14)}
.prog-team-compact .s.ok{background:rgba(124,195,224,.12)}
.prog-team-compact.admin .ptc-del{margin-top:0}
.ptc-dettaglio .cp-row{background:var(--card)}

/* ===================== 2.7.7 · chiamate: collegamento all'archivio, esiti delle telefonate, doppioni ===================== */
.rcard .wait.mid{color:var(--oro-l)}
.rcard .arch-tag{all:unset;cursor:pointer;font-size:.62rem;letter-spacing:.04em;padding:.15rem .55rem;border-radius:10px;background:rgba(124,185,124,.12);border:1px solid rgba(124,185,124,.4);color:var(--verde)}
.rcard .tent-tag{font-size:.62rem;letter-spacing:.04em;padding:.15rem .55rem;border-radius:10px;background:rgba(var(--hi),.06);border:1px solid var(--line-2);color:var(--grigio)}
.rcard .esiti{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin:.1rem 0 .6rem;font-size:.72rem;color:var(--cenere)}
.rcard .esiti button{all:unset;cursor:pointer;font-size:.72rem;padding:.3rem .65rem;border-radius:20px;border:1px solid var(--line-2);color:var(--crema)}
.rcard .esiti button:active{border-color:var(--oro);color:var(--oro-l)}
.arch-doppi{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;margin:.1rem 0 .9rem;padding:.6rem .85rem;border-radius:10px;font-size:.82rem;color:var(--grigio);background:rgba(232,201,120,.08);border:1px solid rgba(232,201,120,.4)}
.arch-doppi b{color:var(--oro-l)}

/* ===================== 2.8.0 · le ore dal programma: riquadro in cima, foglio della giornata, stipendio ===================== */
.cta-timbra.ore-cta{cursor:pointer}
.cta-timbra.ore-cta.oro{border-color:var(--oro);background:rgba(191,160,64,.07)}
.cta-timbra.ore-cta.oro .ct-ic{background:rgba(191,160,64,.18);color:var(--oro-l)}
.ore-cta .ct-testo small i{font-style:normal;color:var(--crema);font-weight:600}
.ore-cta .ct-testo b em{font-style:normal;font-weight:400;color:var(--cenere);font-size:.8rem;margin-left:.2rem}
.ore-vai{color:var(--cenere);font-size:1.35rem;line-height:1;flex:none}
.ore-sosp{display:flex;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.6rem .9rem;border:1px dashed rgba(226,85,43,.5);border-radius:10px;background:rgba(226,85,43,.06);color:var(--grigio);font-size:.82rem;line-height:1.4;text-align:left}
.ore-sosp b{color:var(--crema);font-weight:600}
.ore-sosp span{margin-left:auto;color:var(--cenere);font-size:1.1rem;flex:none}
.ore-stato{display:flex;align-items:flex-start;gap:.6rem;font-size:.84rem;color:var(--grigio);line-height:1.45}
.ore-stato .pill{flex:none;font-size:.6rem;padding:.2rem .55rem;margin-top:.1rem;white-space:nowrap}
.ore-tl{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.55rem .7rem;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.85rem .9rem;font-size:.88rem}
.ore-tl i{font-style:normal;font-weight:700;color:var(--oro-l);font-variant-numeric:tabular-nums}
.ore-tl i.p,.ore-tl div.p b{color:var(--cenere);font-weight:500}
.ore-tl b{display:block;font-weight:600;color:var(--crema);line-height:1.3}
.ore-tl b span{font-weight:400;color:var(--grigio)}
.ore-tl small{display:block;color:var(--cenere);font-size:.74rem;margin-top:.12rem;line-height:1.35}
.ore-tl small em{font-style:normal;color:var(--verde)}
.ore-tre{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}
.ore-tre div{background:var(--card);border:1px solid var(--line-2);border-radius:10px;padding:.55rem .65rem;min-width:0}
.ore-tre small{display:block;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere)}
.ore-tre b{font-size:1.12rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.ore-tot{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:0 .1rem}
.ore-tot span{color:var(--grigio);font-size:.9rem}
.ore-tot b{font-family:var(--ff-s);font-size:1.75rem;line-height:1.1;color:var(--oro-l)}
.ore-perche{font-size:.78rem;color:var(--grigio);line-height:1.5;margin:0}
.ore-perche b{color:var(--crema);font-weight:600}
.ore-perche .warn,.st-inf .warn,.st-sosp .warn{color:#e0a030;font-style:normal}
html[data-tema="chiaro"] .ore-perche .warn,html[data-tema="chiaro"] .st-inf .warn,html[data-tema="chiaro"] .st-sosp .warn{color:#9a6400}
.ore-nota{font-size:.78rem;color:var(--cenere);line-height:1.5;margin:0}
.ore-lnk{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:center;font-size:.78rem;color:var(--cenere);text-decoration:underline;text-underline-offset:3px;padding:.25rem 0}
.ore-ed{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}
.ore-ed,.ore-tre,.ore-tl,.or-campi,.ore-lista{min-width:0}
.ore-ed>div{min-width:0}
.ore-ed input,.ore-ed select{padding:.75rem .5rem;text-align:center;min-width:0;width:100%;box-sizing:border-box}
.pick.ore-rapidi{margin:0}
.sheet .acts.ore-acts{flex-wrap:wrap-reverse}
.ore-lista{display:grid;grid-template-columns:minmax(0,1fr);gap:.45rem}
.ore-g{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;padding:.6rem .75rem;border:1px solid var(--line);border-radius:11px;background:var(--card)}
button.ore-g{cursor:pointer}
.st-card .ore-g{background:rgba(var(--hi),.025)}
.ore-g .d{min-width:0;flex:1}
.ore-g .d b{display:block;font-size:.9rem;font-weight:600}
.ore-g .d small{display:block;color:var(--grigio);font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ore-g .o{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}
.ore-g .o b{font-variant-numeric:tabular-nums;font-size:.95rem}
.ore-g .pill{font-size:.58rem;padding:.14rem .5rem;white-space:nowrap}
.ore-dc{color:var(--brace-l);font-size:.72rem;font-weight:600;white-space:nowrap}
.ore-apribile{cursor:pointer}
/* Stipendi (Emanuele) */
.st-lab{gap:.3rem 1rem;flex-wrap:wrap}
.st-regole{display:flex;justify-content:space-between;align-items:center;gap:.6rem .9rem;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:.6rem .8rem;margin:0 0 1rem;font-size:.84rem;line-height:1.45;color:var(--grigio);background:var(--card)}
.st-regole b{color:var(--crema)}
.st-dip .n small{white-space:normal}
.st-dip small.st-dc{color:var(--brace-l)}
.st-due{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.4rem}
.st-sosp{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .8rem;align-items:start;padding:.65rem .1rem;border-bottom:1px solid var(--line)}
.st-sosp .t b{display:block;font-size:.88rem}
.st-sosp .t small{display:block;color:var(--grigio);font-size:.74rem;line-height:1.4}
.st-sosp .o{font-variant-numeric:tabular-nums;white-space:nowrap}
.st-sosp .a{grid-column:1/-1;display:flex;gap:.45rem;flex-wrap:wrap}
.st-gg{all:unset;cursor:pointer;border-bottom:1px dotted var(--cenere);margin-right:.35rem}
.st-giorni tr:not(.st-inf) td:first-child{white-space:nowrap}
.st-giorni tr.con-nota td{border-bottom:0;padding-bottom:.1rem}
.st-giorni tr.st-inf td{text-align:left;font-size:.72rem;color:var(--cenere);padding-top:0;line-height:1.4}
.st-agg-riga{display:flex;gap:.1rem 1.3rem;flex-wrap:wrap}
.st-man{display:grid;grid-template-columns:minmax(0,1fr) 84px 82px;gap:.7rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--line)}
.st-man .t>b{display:block;font-size:.88rem}
.st-man .t small{display:block;color:var(--grigio);font-size:.74rem;line-height:1.45}
.st-man .t small b{color:var(--crema)}
.st-usa{all:unset;cursor:pointer;color:var(--oro-l);text-decoration:underline;text-underline-offset:3px}
.st-man input{text-align:right;padding:.45rem .5rem;border-radius:8px}
.st-man .e{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.st-pdf{margin-top:.9rem}
.or-campi{display:grid;grid-template-columns:1fr 1fr;gap:.7rem .8rem;transition:opacity .2s}
.or-campi>div{min-width:0}
.or-campi small{display:block;font-size:.7rem;color:var(--cenere);line-height:1.4;margin-top:.25rem}
.or-campi.spento{opacity:.4}
@media(max-width:520px){.or-campi{grid-template-columns:1fr}.st-man{grid-template-columns:minmax(0,1fr) 70px 74px;gap:.5rem}}
@media(max-width:400px){.ore-ed{grid-template-columns:1fr 1fr}.ore-ed>div:last-child{grid-column:1/-1}}
@media(max-width:899px){.st-cols{grid-template-columns:minmax(0,1fr)}}
.st-giorni-w{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* «Dal … Al» in Le mie ore e in Presenze: sui telefoni stretti i due campi data restano dentro lo schermo */
@media(max-width:520px){.g2-date>div{min-width:0}.g2-date input{min-width:0;padding-left:.7rem;padding-right:.55rem}}
/* Il mio stipendio */
.ms-riga span small{display:block;font-weight:400;color:var(--grigio);font-size:.76rem;margin-top:.1rem}
.ms-riga span:last-child{text-align:right;white-space:nowrap}
.ms-dc{color:var(--brace-l);font-weight:600}
/* tema chiaro: i suggerimenti nei campi restavano color crema, quasi invisibili sul chiaro (le scritte dei pulsanti col solo bordo: variabile --ghost-txt in cima) */
html[data-tema="chiaro"] input::placeholder,html[data-tema="chiaro"] textarea::placeholder{color:rgba(30,27,22,.35)}

/* ===================== 2.8.1 · le note delle chiamate nel programma dei tecnici, e la scheda in sola lettura ===================== */
.cp-row.cp-apribile{cursor:pointer}
.cp-sotto{cursor:pointer;padding:0 .2rem .75rem 4.2rem;margin-top:-.35rem;border-bottom:1px solid var(--line)}
.cp-nota{display:flex;gap:.4rem;align-items:flex-start;font-size:.8rem;line-height:1.4;color:var(--crema);background:rgba(191,160,64,.08);border-left:2px solid var(--oro);border-radius:0 6px 6px 0;padding:.35rem .55rem;overflow-wrap:anywhere}
.cp-nota svg{width:13px;height:13px;flex:none;margin-top:.15rem;stroke:var(--oro-l);fill:none;stroke-width:2}
.cp-piu{font-size:.7rem;color:var(--oro-l);margin-top:.3rem;letter-spacing:.04em}
@media(max-width:400px){.cp-sotto{padding-left:.4rem}}
.sc-note{background:rgba(191,160,64,.08);border:1px solid rgba(191,160,64,.35);border-radius:12px;padding:.75rem .85rem;font-size:.92rem;line-height:1.45;color:var(--crema);overflow-wrap:anywhere}
.sc-note i{display:block;font-style:normal;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-l);margin-bottom:.3rem}
.sc-az{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.sc-az a,.sc-az span{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.65rem .3rem;border:1px solid var(--line-2);border-radius:12px;font-size:.74rem;color:var(--crema);text-decoration:none}
.sc-az .off{opacity:.35}
.sc-az svg{width:20px;height:20px;stroke:var(--oro-l);fill:none;stroke-width:1.8}
.sc-dati{display:grid;min-width:0}
.sc-r{display:grid;grid-template-columns:6.2rem minmax(0,1fr);gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.88rem}
.sc-r i{font-style:normal;color:var(--cenere);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding-top:.15rem}
.sc-r b{font-weight:600;color:var(--crema);overflow-wrap:anywhere}.sc-r small{display:block;color:var(--grigio);font-size:.76rem;margin-top:.1rem}
.sc-imp{border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;background:var(--card);min-width:0}
.sc-imp b{display:block}.sc-imp small{display:block;color:var(--grigio);font-size:.78rem;line-height:1.45}

/* ===== 2.8.3 · «Scegli dal listino» (tubi e accessori nel DUI e nel preventivo) ===== */
.sl-apri{display:flex;align-items:center;gap:.8rem;width:100%;background:var(--oro);color:var(--ink);border-radius:12px;padding:.85rem 1rem;font-weight:600;font-size:.98rem;text-align:left;font-family:var(--ff-b)}
.sl-apri svg{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:2}
.sl-apri small{display:block;font-weight:400;font-size:.74rem;opacity:.78;margin-top:.1rem}
.sl-apri:hover{background:var(--oro-l)}
.sl-oppure{display:flex;align-items:center;gap:.6rem;color:var(--cenere);font-size:.72rem;margin:.75rem 0 .45rem}.sl-oppure::before,.sl-oppure::after{content:"";flex:1;height:1px;background:var(--line)}
.sheet.sl{padding:0;gap:0;max-width:540px;display:block}
.sheet.sl>.sheet-x{display:none}
.sl-h{position:sticky;top:0;z-index:3;background:var(--carbone);padding:1.05rem 1.1rem .7rem;border-bottom:1px solid var(--line)}
.sl-h h3{font-size:1.45rem;margin:.1rem 2.5rem .2rem 0}
.sl-x{position:absolute;top:.75rem;right:.8rem;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);color:var(--cenere);display:grid;place-items:center;font-size:.95rem}
.sl-x:hover{color:var(--crema);border-color:var(--oro)}
.sl-eb{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--oro-l)}
.sheet .sl-lab,.sl-lab{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cenere);margin:.55rem 0 .35rem}
.sl-chips{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.1rem;margin:0 -1.1rem;padding-left:1.1rem;padding-right:1.1rem}
.sl-chips::-webkit-scrollbar{display:none}
.sl-chip{flex:none;display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .8rem;border-radius:999px;border:1px solid var(--line-2);font-size:.82rem;color:var(--grigio);white-space:nowrap;font-family:var(--ff-b);min-height:36px}
.sl-chip.d{min-width:3.2rem;justify-content:center}
.sl-chip small{font-size:.66rem;opacity:.7}
.sl-chip i{font-style:normal;font-size:.66rem;font-weight:700;min-width:1.1rem;height:1.1rem;border-radius:999px;display:none;place-items:center;background:var(--oro);color:var(--ink);padding:0 .25rem}
.sl-chip.ha i{display:inline-grid}
.sl-chip.on{background:var(--oro);border-color:var(--oro);color:var(--ink);font-weight:600}
.sl-chip.on i{background:var(--ink);color:var(--oro-l)}
.sl-b{padding:0 1.1rem .4rem}
.sl-vuoto{color:var(--cenere);font-size:.88rem;padding:1.4rem 0;text-align:center}
.sl-sez{margin-top:.95rem}
.sl-sez-h{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.62rem;letter-spacing:.17em;text-transform:uppercase;color:var(--oro-l);padding-bottom:.35rem;border-bottom:1px solid var(--line)}
.sl-sez-h span{color:var(--cenere);letter-spacing:.04em;text-transform:none;font-size:.72rem;white-space:nowrap}
.sl-pz{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.sl-pz .n{flex:1;min-width:0;font-size:.9rem;color:var(--crema);line-height:1.25;overflow-wrap:anywhere}
.sl-pz .n small{display:block;font-size:.72rem;color:var(--cenere);margin-top:.12rem}
.sl-st{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;flex:none}
.sl-st button{width:38px;height:38px;display:grid;place-items:center;color:var(--grigio);font-size:1.15rem;font-family:var(--ff-b)}
.sl-st button:active{background:rgba(var(--hi),.08)}
.sheet .sl-st input,.sl-st input{width:2.6rem;padding:0;border:0;border-radius:0;background:transparent;text-align:center;font-weight:600;font-size:.95rem;color:var(--cenere);-moz-appearance:textfield;appearance:textfield;height:38px}
.sl-st input::-webkit-outer-spin-button,.sl-st input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sl-pz.on .sl-st{border-color:var(--oro)} .sl-pz.on .sl-st input{color:var(--oro-l)} .sl-pz.on .n{color:var(--bianco)}
.sl-f{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;gap:.8rem;background:var(--card);border-top:1px solid var(--line-2);padding:.75rem 1.1rem calc(.85rem + var(--sab))}
.sl-tot{flex:1;min-width:0;font-size:.78rem;color:var(--cenere)}
.sl-tot b{display:block;font-size:1.08rem;color:var(--crema);font-variant-numeric:tabular-nums}
.sl-f .btn{white-space:nowrap}
@media(min-width:700px){.sl-chips{flex-wrap:wrap;overflow:visible;margin:0;padding:0}}
@media(max-width:360px){.sl-st button{width:34px}.sheet .sl-st input,.sl-st input{width:2.2rem}.sl-pz .n{font-size:.85rem}}
/* 2.8.3 — col testo grande, due campi affiancati (data e ora, tipo…) non stavano nel telefono e la pagina scorreva di lato */
.g2>*{min-width:0}
@media(max-width:480px){html[data-testo="grande"] .g2{grid-template-columns:minmax(0,1fr)}}

/* ===== 2.8.4/2.8.5 · il tipo di lavoro, in versione sobria =====
   Colore solo dove serve: rosso per le urgenze, oro per i lavori grossi (installazione, canna fumaria).
   Tutto il resto è testo grigio con una piccola icona. */
:root{--urg-n:#E2552B;--urg-a:#D9342B}
html[data-tema="chiaro"]{--urg-n:#C94A1E;--urg-a:#C42B22}
.tl{display:inline-flex;align-items:center;gap:.28rem;font-size:.72rem;font-weight:500;color:var(--cenere);white-space:nowrap;line-height:1.3;font-family:var(--ff-b);vertical-align:middle;margin-right:.55rem}
.tl:last-child{margin-right:0}
.tl svg{width:13px;height:13px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.tl-inst,.tl-cf{color:var(--oro-l);font-weight:600}
.tl-inst svg,.tl-cf svg{opacity:1}
.tl-riga{display:flex;flex-wrap:wrap;align-items:center;margin-top:.3rem}
.tl-sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .4rem;margin:.3rem 0 .2rem;font-size:.76rem;color:var(--cenere)}
.tl-sum i{font-style:normal;opacity:.5}
.tl-s-g{color:var(--oro-l);font-weight:600}
.tl-s-urg{color:var(--urg-a);font-weight:700}
html[data-tema="chiaro"] .tl-inst,html[data-tema="chiaro"] .tl-cf,html[data-tema="chiaro"] .tl-s-g{color:var(--oro-d)}
/* urgenze: piccola etichetta piena, l'unica cosa rossa sullo schermo */
.urg-tag.normale{background:var(--urg-n);color:#fff;border:1px solid var(--urg-n)}
.urg-tag.alta{background:var(--urg-a);color:#fff;border:1px solid var(--urg-a)}
.urg-n{color:var(--urg-a);font-weight:700}
.cp-row.urg-normale{box-shadow:inset 3px 0 0 var(--urg-n)}
.cp-row.urg-alta{box-shadow:inset 3px 0 0 var(--urg-a)}
.rcard.urg-normale{border-left:3px solid var(--urg-n)} .rcard.urg-alta{border-left:3px solid var(--urg-a)}
/* lavori grossi: solo una sottile linea oro a sinistra (l'urgenza, se c'è, vince) */
.cp-row.tl-fascia-inst:not([class*="urg-"]),.cp-row.tl-fascia-cf:not([class*="urg-"]){box-shadow:inset 3px 0 0 var(--oro)}
.rcard.tl-fascia-inst:not([class*="urg-"]),.rcard.tl-fascia-cf:not([class*="urg-"]){border-left:3px solid var(--oro)}
.bz-i.tl-fascia-inst:not([class*="urg-"]),.bz-i.tl-fascia-cf:not([class*="urg-"]){box-shadow:inset 3px 0 0 var(--oro)}
/* settimana: una riga di testo e i giorni con il numero dei lavori */
.sett-sum{border-bottom:1px solid var(--line);padding:0 0 .8rem;margin-bottom:1rem}
.sett-sum .tl-sum{margin:0 0 .55rem;font-size:.8rem}
.sett-giorni{display:grid;gap:.35rem}
.sg{display:flex;flex-direction:column;align-items:center;gap:.1rem;border-radius:10px;padding:.35rem .15rem .4rem;color:var(--cenere);font-size:.66rem;min-width:0;font-family:var(--ff-b);border:1px solid transparent}
.sg:hover{border-color:var(--line-2)}
.sg b{color:var(--crema);font-weight:600}
.sg.oggi{border-color:var(--line-2)}
.sg-n{font-family:var(--ff-s);font-size:1.25rem;color:var(--crema);line-height:1.1}
.sg-seg{display:flex;gap:4px;height:6px}
.sg-seg i{width:6px;height:6px;border-radius:50%;display:block}
.sg-seg i.g{background:var(--oro)} .sg-seg i.u{background:var(--urg-a)}
/* squadra: il lavoro grosso in una riga con la linea oro, il resto in testo */
.ptc-adm{background:var(--mid);border:1px solid var(--line);border-radius:12px;margin:.55rem 0;overflow:hidden}
.ptc-adm .prog-team-compact.admin{background:none;border:0;border-radius:0;margin:0}
.ptc-adm .prog-team-compact.admin .ptc-open{border-top:0}
.ptc-adm.ha-urg,.prog-team-compact-wrap.ha-urg{border-left:3px solid var(--urg-a)}
.ptc-lavori-btn{display:block;width:100%;text-align:left;color:inherit;padding:0 .8rem .7rem;font-family:var(--ff-b)}
.ptc-lavori{display:grid;gap:.35rem}
.tl-big{display:flex;gap:.5rem;align-items:flex-start;border-left:2px solid var(--oro);padding:.1rem 0 .1rem .6rem;min-width:0}
.tl-big-ico{color:var(--oro-l);flex:none;margin-top:.1rem}
.tl-big-ico svg{width:16px;height:16px;display:block;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tl-big-tx{flex:1;min-width:0;font-size:.84rem;line-height:1.3;color:var(--crema);overflow-wrap:anywhere}
.tl-big-tx b{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-l);font-weight:600;margin-bottom:.05rem}
html[data-tema="chiaro"] .tl-big-tx b,html[data-tema="chiaro"] .tl-big-ico{color:var(--oro-d)}
.tl-big-tx .urg-tag{margin-left:.4rem}
.tl-big-tx small{display:block;color:var(--cenere);font-size:.74rem;margin-top:.1rem}
.tl-resto .tl-sum{display:inline-flex;margin:0}
.tl-resto{font-size:.76rem;color:var(--cenere)}

/* ===== 2.8.6 · indice di ottimizzazione (clienti per mezzo al giorno) ===== */
.ix-card{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:1rem 1.05rem .8rem;margin:0 0 1rem}
.ix-eb{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cenere)}
.ix-big{display:flex;align-items:baseline;gap:.55rem;margin:.3rem 0 .1rem}
.ix-big b{font-family:var(--ff-s);font-size:3rem;line-height:1;font-weight:600;color:var(--crema)}
.ix-big span{color:var(--cenere);font-size:.8rem;line-height:1.25}
.ix-bar{position:relative;height:8px;border-radius:4px;background:var(--mid);margin:.85rem 0 .3rem}
.ix-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--oro);transition:width .6s var(--ease)}
.ix-bar em{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--crema);opacity:.5}
.ix-scala{position:relative;height:14px;font-size:.66rem;color:var(--cenere)}
.ix-scala span{position:absolute;transform:translateX(-50%)}
.ix-r{display:flex;justify-content:space-between;gap:.8rem;font-size:.8rem;color:var(--grigio);padding:.45rem 0;border-top:1px solid var(--line)}
.ix-r>span:first-child{color:var(--cenere)}
.ix-r b{color:var(--crema);font-weight:600;white-space:nowrap}
.ix-r b small{color:var(--cenere);font-weight:400}
.ix-r .o{color:var(--oro-l)}
html[data-tema="chiaro"] .ix-r .o{color:var(--oro-d)}
.ix-piu{margin-top:.35rem;font-size:.78rem;color:var(--oro-l);font-family:var(--ff-b);padding:.3rem 0}
@media(min-width:900px){.ix-card{max-width:560px}}
.ix-nav{margin:.4rem 0 1rem}
.ix-ch{padding-top:.2rem}
.ix-cols{display:flex;align-items:flex-end}
.ix-c{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center}
.ix-c small{font-size:.68rem;color:var(--crema);height:1.1rem;line-height:1.1rem}
.ix-stack{position:relative;width:100%;height:130px}
.ix-stack::before{content:"";position:absolute;left:0;right:0;bottom:62.5%;height:12.5%;background:color-mix(in srgb,var(--oro) 10%,transparent);border-top:1px dashed color-mix(in srgb,var(--oro) 55%,transparent);border-bottom:1px dashed color-mix(in srgb,var(--oro) 30%,transparent)}
.ix-stack i{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(34px,62%);border-radius:4px 4px 0 0;background:var(--oro)}
.ix-stack i.pv{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--oro) 50%,transparent) 0 3px,transparent 3px 7px);border:1px solid color-mix(in srgb,var(--oro) 60%,transparent);border-bottom:0}
.ix-stack i.vuoto{height:28%;background:transparent;border:1px dashed var(--line-2);border-bottom:0}
.ix-c span{font-size:.64rem;color:var(--cenere);margin-top:.3rem;border-top:1px solid var(--line-2);width:100%;text-align:center;padding-top:.25rem}
.ix-c.sel span{color:var(--crema);font-weight:600}
.ix-leg{font-size:.68rem;color:var(--cenere);margin-top:.55rem;line-height:1.4}
.ix-gg{display:grid;gap:.35rem}
.ix-gg>div{text-align:center;border-radius:10px;padding:.45rem .1rem;background:var(--mid);min-width:0}
.ix-gg>div span{display:block;font-size:.62rem;color:var(--cenere)}
.ix-gg>div b{display:block;font-family:var(--ff-s);font-size:1.25rem;color:var(--crema);font-weight:600}
.ix-gg>div small{display:block;font-size:.6rem;color:var(--cenere);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ix-gg>div.ok b{color:var(--oro-l)}
.ix-gg>div.pian b{font-style:italic;opacity:.8}
.ix-gg>div.oggi{box-shadow:inset 0 0 0 1px var(--line-2)}
.ix-nota{font-size:.74rem;color:var(--cenere);margin-top:.55rem}
.ix-lost>div{border-top:1px solid var(--line);padding:.55rem 0;font-size:.84rem;line-height:1.35}
.ix-lost>div:first-child{border-top:0}
.ix-lost b{color:var(--crema);font-weight:600}
.ix-lost small{display:block;color:var(--cenere);font-size:.74rem}
.ix-def{font-size:.74rem;color:var(--cenere);line-height:1.5;margin:1.2rem 0 .5rem;max-width:720px}
.ix-def b{color:var(--grigio)}
/* in Lavoro: l'indice sul programma */
.ix-sett{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .45rem;margin:0 0 .35rem;font-size:.8rem;color:var(--cenere)}
.ix-sett b{font-family:var(--ff-s);font-size:1.55rem;color:var(--crema);font-weight:600;line-height:1}
.ix-sett .o{color:var(--oro-l);font-weight:600}
.sg-ix{font-family:var(--ff-s);font-size:1.15rem;line-height:1.1;color:var(--crema)}
.sg-ix.basso{color:var(--grigio)}
.sg-ix.pian{font-style:italic}
.sg-sotto{font-size:.6rem;color:var(--cenere);white-space:nowrap}
.day-h .ix-g{margin-left:auto;font-size:.74rem;color:var(--cenere);white-space:nowrap}
.day-h .ix-g b{color:var(--crema);font-weight:600}
.day-h .tag + .ix-g{margin-left:.6rem}
.ix-hint{font-size:.76rem;color:var(--grigio);margin:.15rem .8rem .7rem;border-left:2px solid var(--oro);padding-left:.55rem;line-height:1.35}
.day-h:has(.ix-g){flex-wrap:wrap;row-gap:.1rem}

/* ===== 2.9.0 · Agente WhatsApp: Messaggi e impostazioni ===== */
.wa-modo{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:1px solid var(--line);border-radius:12px;padding:.55rem .75rem;font-size:.78rem;color:var(--cenere);margin-bottom:.7rem}
.wa-modo b{color:var(--crema);font-weight:500}
.wa-modo button{color:var(--oro-l);font-size:.76rem;white-space:nowrap;font-family:var(--ff-b)}
.wa-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.45rem;background:var(--cenere);vertical-align:1px}
.wa-dot.bozza{background:var(--oro)} .wa-dot.attivo{background:var(--verde)}
.wa-avviso{font-size:.78rem;color:var(--grigio);border-left:2px solid var(--oro);padding:.2rem 0 .2rem .6rem;margin:0 0 .8rem;line-height:1.45}
.wa-avviso button{color:var(--oro-l);font-family:var(--ff-b);font-size:inherit;padding:0}
.wa-filtri{margin-bottom:.4rem}
.wa-lista{display:flex;flex-direction:column}
.wa-cv{display:flex;gap:.7rem;padding:.75rem .2rem;border-bottom:1px solid var(--line);text-align:left;width:100%;color:inherit;font-family:var(--ff-b);border-radius:0}
.wa-cv:hover,.wa-cv.on{background:rgba(var(--hi),.03)}
.wa-av{width:38px;height:38px;border-radius:50%;background:var(--mid);display:grid;place-items:center;font-size:.78rem;color:var(--oro-l);flex:none;font-weight:600}
.wa-av.r{color:var(--urg-a,#D9342B)}
.wa-c{flex:1;min-width:0;display:flex;flex-direction:column}
.wa-h{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.wa-h b{color:var(--crema);font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.wa-h>span{font-size:.7rem;color:var(--cenere);flex:none;display:flex;align-items:center;gap:.35rem}
.wa-cv.nuovo .wa-h b{color:var(--bianco)}
.wa-n{font-style:normal;background:var(--oro);color:var(--ink);border-radius:999px;font-size:.62rem;font-weight:700;padding:0 .4rem;min-width:1.1rem;text-align:center}
.wa-m{font-size:.8rem;color:var(--grigio);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem}
.wa-t{display:flex;flex-wrap:wrap;gap:.2rem .7rem;margin-top:.3rem}
.wa-et{font-size:.7rem;color:var(--cenere)}
.wa-et.o{color:var(--oro-l);font-weight:600} .wa-et.r{color:var(--urg-a,#D9342B);font-weight:600}
.wa-due{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:1.2rem;align-items:start}
.wa-col-r{border:1px solid var(--line);border-radius:14px;background:var(--card);min-height:420px;position:sticky;top:1rem}
.wa-vuoto{color:var(--cenere);font-size:.86rem;padding:3rem 1rem;text-align:center}
.wa-det{display:flex;flex-direction:column}
.wa-testa{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-bottom:1px solid var(--line)}
.wa-indietro{font-size:1.5rem;color:var(--cenere);width:32px;height:32px;display:grid;place-items:center;flex:none}
.wa-tn{flex:1;min-width:0}
.wa-tn b{display:block;color:var(--crema);font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-tn small{color:var(--cenere);font-size:.72rem}
.wa-pausa{font-size:.74rem;color:var(--grigio);padding:.45rem .9rem;border-bottom:1px solid var(--line)}
.wa-scheda{margin:.7rem .9rem 0;border:1px solid var(--line);border-radius:12px;padding:.6rem .75rem;font-size:.78rem;color:var(--grigio);line-height:1.45}
.wa-scheda b{color:var(--crema);font-weight:600}
.wa-scheda button{color:var(--oro-l);font-family:var(--ff-b);font-size:inherit;padding:0}
.wa-rich{display:flex;flex-direction:column;gap:.25rem;margin-top:.45rem;padding-top:.45rem;border-top:1px solid var(--line)}
.wa-rich button{text-align:left;color:var(--grigio)}
.wa-rich button b{color:var(--crema)}
.wa-chat{display:flex;flex-direction:column;gap:.45rem;padding:.7rem .9rem}
@media(min-width:900px){.wa-chat{max-height:58vh;overflow-y:auto}}
.wa-giorno{align-self:center;font-size:.62rem;color:var(--cenere);letter-spacing:.14em;text-transform:uppercase;margin:.35rem 0 .1rem}
.wa-b{max-width:84%;padding:.5rem .65rem;border-radius:12px;font-size:.86rem;line-height:1.38;color:var(--crema);overflow-wrap:anywhere}
.wa-b small{display:block;font-size:.62rem;color:var(--cenere);margin-top:.2rem;text-align:right}
.wa-b.in{align-self:flex-start;background:var(--mid);border-bottom-left-radius:4px}
.wa-b.bot{align-self:flex-end;background:color-mix(in srgb,var(--oro) 15%,var(--card));border-bottom-right-radius:4px}
.wa-b.man{align-self:flex-end;background:var(--card);border:1px solid var(--line-2);border-bottom-right-radius:4px}
.wa-b.ko{border:1px solid var(--urg-a,#D9342B)}
.wa-chi{font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--cenere);margin-bottom:.15rem}
.wa-tx{white-space:pre-wrap}
.wa-dim{color:var(--cenere)}
.wa-trasc{font-size:.8rem;color:var(--grigio);font-style:italic;margin-top:.35rem;border-left:2px solid var(--line-2);padding-left:.45rem}
.wa-img{display:block;max-width:220px;width:100%;border-radius:8px;margin-bottom:.3rem;cursor:zoom-in}
.wa-b audio{width:230px;max-width:100%;height:36px;display:block;margin-bottom:.2rem}
.wa-media-no{font-size:.76rem;color:var(--cenere);font-style:italic}
.wa-reaz{font-size:1.1rem;align-self:flex-start;padding:0 .3rem}
.wa-reaz.out{align-self:flex-end}
.wa-reaz small{font-size:.6rem;color:var(--cenere)}
.wa-err{font-size:.7rem;color:var(--urg-a,#D9342B);margin-top:.2rem}
.wa-piede{font-size:.74rem;color:var(--cenere);padding:.6rem .9rem 1rem;border-top:1px solid var(--line);line-height:1.45}
.ag-sez{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:.8rem .9rem;margin-bottom:.8rem;max-width:760px}
.ag-sez h4{margin:0 0 .55rem;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cenere);font-weight:500;font-family:var(--ff-b)}
.ag-seg{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line-2);border-radius:10px;overflow:hidden}
.ag-seg button{padding:.55rem 0;font-size:.82rem;color:var(--grigio);font-family:var(--ff-b)}
.ag-seg button.on{background:var(--oro);color:var(--ink);font-weight:600}
.ag-seg button:disabled{opacity:.45}
.ag-hint{font-size:.74rem;color:var(--cenere);margin:.5rem 0 0;line-height:1.45}
.ag-hint button{color:var(--oro-l);font-family:var(--ff-b);font-size:inherit;padding:0}
.ag-kv{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;font-size:.8rem;padding:.4rem 0;border-top:1px solid var(--line);color:var(--cenere)}
.ag-kv:first-of-type{border-top:0}
.ag-kv b{color:var(--crema);font-weight:500;text-align:right;overflow-wrap:anywhere;min-width:0}
.ag-url{font-family:ui-monospace,Menlo,monospace;font-size:.72rem}
.ag-copia{color:var(--oro-l);font-family:var(--ff-b);font-size:.74rem;padding:0 0 0 .3rem}
.ag-pt{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.4rem;background:var(--line-2)}
.ag-pt.ok{background:var(--verde)}
.ag-sez textarea{width:100%;font-family:ui-monospace,Menlo,monospace;font-size:.78rem;line-height:1.45;min-height:260px}
.ag-riga{display:flex;justify-content:space-between;gap:.6rem;align-items:center;margin-top:.45rem;font-size:.76rem;color:var(--cenere)}
.ag-riga button{color:var(--oro-l);font-family:var(--ff-b);font-size:inherit;padding:0}
.ag-vers{margin-top:.4rem;display:flex;flex-direction:column}
.ag-vers div{display:flex;justify-content:space-between;font-size:.74rem;color:var(--cenere);padding:.3rem 0;border-top:1px solid var(--line)}
.ag-vers button{color:var(--oro-l);font-family:var(--ff-b);font-size:inherit;padding:0}
@media(max-width:899px){.wa-due{display:block}}
/* ===== 2.9.1 · Agente WhatsApp, passo 3: bozze, perché, richieste da confermare, prove ===== */
.wa-b.bozza{border:1px dashed var(--oro);background:color-mix(in srgb,var(--oro) 8%,var(--card));max-width:92%}
.wa-b.bozza .wa-chi{color:var(--oro-l)}
.wa-b.scartata{opacity:.5;background:transparent;border:1px dashed var(--line-2)}
.wa-b.scartata .wa-tx{text-decoration:line-through}
.wa-bz-ed{width:100%;font-size:.86rem;line-height:1.4;margin:.15rem 0 .2rem}
.wa-bz-acts{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}
.wa-perche{margin-top:.3rem;font-size:.72rem;color:var(--cenere)}
.wa-perche summary{cursor:pointer;color:var(--cenere);list-style:none;display:inline}
.wa-perche summary::-webkit-details-marker{display:none}
.wa-perche summary::after{content:' ›'}
.wa-perche[open] summary::after{content:' ⌄'}
.wa-perche ul{margin:.25rem 0 0;padding-left:1rem;line-height:1.4}
.wa-dc{margin-top:.45rem;display:flex;flex-direction:column;gap:.4rem;font-size:.76rem;color:var(--oro-l);border-left:2px solid var(--oro);padding-left:.6rem}
.wa-dc-b{display:flex;flex-wrap:wrap;gap:.35rem}
.wa-rich .wa-dc-b{margin:.1rem 0 .35rem}
.ag-seg button.blocc{opacity:.45}
.ag-blocco{color:var(--grigio)}
.ag-pt-riep{font-size:.82rem;color:var(--grigio);margin:.6rem 0 .3rem}
.ag-pt-riep b{color:var(--crema)}
.ag-pv-bar{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin:.3rem 0}
.ag-pv-bar i{display:block;height:100%;width:0;background:var(--oro);transition:width .3s}
.ag-prove{display:flex;flex-direction:column}
.ag-prova{border-top:1px solid var(--line)}
.ag-prova summary{display:flex;align-items:center;gap:.55rem;padding:.45rem 0;cursor:pointer;font-size:.8rem;color:var(--crema);list-style:none}
.ag-prova summary::-webkit-details-marker{display:none}
.ag-prova summary small{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cenere);margin-left:.3rem}
.ag-pv{font-style:normal;width:1.1rem;text-align:center;color:var(--cenere);flex:none}
.ag-pv.ok{color:var(--verde)} .ag-pv.ko{color:var(--urg-a,#D9342B)}
.ag-pd{font-size:.76rem;color:var(--grigio);line-height:1.45;padding:0 0 .6rem 1.65rem;display:flex;flex-direction:column;gap:.25rem}
.ag-pd b{color:var(--crema);font-weight:500}
.ag-pn{color:var(--urg-a,#D9342B)}
.ag-pq{font-size:.68rem;color:var(--cenere)}
.ag-pd .ag-copia{align-self:flex-start;padding:0}
.wa-scheda .wa-dc-b .btn{padding:.5rem .9rem;font-size:.62rem;text-align:center}
.wa-scheda .wa-dc-b .btn-gold{color:var(--ink)}
.wa-scheda .wa-dc-b .btn-ghost{color:var(--ghost-txt,rgba(240,235,224,.82))}
.prog .acts{flex-wrap:wrap;min-width:0}   /* 2.9.1: sul computer i cinque pulsanti del giorno andavano fuori pagina */
.wa-scrivi{display:flex;gap:.5rem;align-items:flex-end;padding:.6rem .9rem;border-top:1px solid var(--line)}
.wa-scrivi textarea{flex:1;min-width:0;resize:none;font-size:.9rem;line-height:1.4;min-height:44px;max-height:180px}
.wa-scrivi .btn{flex:none;min-height:44px}
/* ===== 2.9.4 · Magazzino: Ricambi e Tubi ===== */
.mag-seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;margin:0 0 .9rem;max-width:420px}
.mag-seg button{padding:.55rem 0;font-size:.82rem;color:var(--grigio);font-family:var(--ff-b)}
.mag-seg button.on{background:var(--oro);color:var(--ink);font-weight:600}
.mag-az{display:flex;gap:.6rem;margin-bottom:.35rem}
.mag-az .btn{flex:1}
.mag-az-h{font-size:.74rem;color:var(--cenere);margin:0 0 .8rem;line-height:1.4}
.mag-tot{font-size:.82rem;color:var(--grigio);margin:0 0 .8rem}
.mag-tot b{color:var(--crema)}
.mag-sez{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cenere);margin:1.1rem 0 .3rem}
.mag-row .sl-st input{width:52px;height:38px;text-align:center;border:0;border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);border-radius:0;background:transparent;color:var(--crema);font-size:.95rem;padding:0;-moz-appearance:textfield}
.mag-n{font-weight:600;flex:none}
.mag-q{display:inline-block;margin-top:.15rem;font-size:.74rem;color:var(--oro-l);font-weight:500;font-family:var(--ff-b);padding:.15rem 0}
.mag-st-big{justify-content:center;width:max-content;margin:0 auto}
.mag-st-big button{width:56px;height:52px;font-size:1.4rem}
.mag-st-big input{width:90px;height:52px;text-align:center;border:0;border-left:1px solid var(--line-2);border-right:1px solid var(--line-2);border-radius:0;background:transparent;color:var(--crema);font-size:1.3rem;-moz-appearance:textfield}
.mag-mov{margin-top:1.4rem;border-top:1px solid var(--line);padding-top:.6rem;font-size:.78rem;color:var(--grigio)}
.mag-mov summary{cursor:pointer;color:var(--cenere);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.mag-mov>div{display:grid;grid-template-columns:1fr auto;gap:.1rem .6rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.mag-mov>div small{grid-column:1/-1;color:var(--cenere);font-size:.68rem}
.mag-mov>div span small{display:inline;grid-column:auto}
.mag-mov b.piu{color:var(--verde)} .mag-mov b.meno{color:var(--grigio)}
@media(min-width:900px){.mag-az{max-width:560px}.mag-az-h{max-width:760px}}

/* ===== 2.9.5 · DUI per tipo di lavoro ===== */
.dui-tipi{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem;margin-top:.6rem}
.dui-tipo{display:flex;flex-direction:column;gap:.25rem;text-align:left;padding:.85rem .95rem;border:1px solid var(--line-2);border-radius:12px;background:transparent;color:inherit;cursor:pointer;font:inherit;transition:border-color .15s,background .15s}
.dui-tipo:hover,.dui-tipo:focus-visible{border-color:var(--oro)}
.dui-tipo b{font-size:1rem;font-weight:600}
.dui-tipo small{font-size:.8rem;color:var(--cenere);line-height:1.35}
.dui-tipo.cons{border-color:var(--oro);background:rgba(191,160,64,.08)}
.dui-tipo.cons i{font-style:normal;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--oro-l);margin-left:.35rem}
.dui-tipo-att{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--cenere);margin:-.2rem 0 .6rem}
.dui-tipo-att button{background:none;border:0;padding:0;color:var(--oro-l);font:inherit;text-transform:none;letter-spacing:0;text-decoration:underline;cursor:pointer}
.dui-vend-nota,.dui-ass-nota{font-size:.78rem;color:var(--cenere)}

/* ===== 2.9.6 · Posta ===== */
.px-intro{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:1rem 1.1rem;max-width:560px}
.px-intro b{color:var(--crema);font-size:1rem}
.px-intro p{font-size:.84rem;color:var(--grigio);line-height:1.5;margin:.4rem 0 .9rem}
.px-barra{display:flex;gap:.5rem;align-items:center;margin-bottom:.6rem}
.px-barra input{flex:1;min-width:0}
.px-barra .btn{flex:none;min-height:42px}
.px-caselle{margin:-.1rem 0 .4rem}
.px-cv .px-ogg{font-size:.84rem;color:var(--crema);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem}
.px-cv.nuovo .px-ogg{font-weight:600}
.px-n{font-size:.68rem;color:var(--cenere);font-weight:400}
.px-sync{font-size:.72rem;color:var(--cenere);padding:.7rem .2rem}
.px-sync button{color:var(--oro-l);font-family:var(--ff-b);font-size:inherit;padding:0}
.px-azioni{display:flex;flex-wrap:wrap;gap:.35rem;padding:.6rem .9rem 0}
.px-azioni .btn{padding:.5rem .8rem;font-size:.62rem}
.px-msgs{display:flex;flex-direction:column;gap:.6rem;padding:.7rem .9rem}
@media(min-width:900px){.px-det .px-msgs{max-height:none}}
.px-altre{align-self:flex-start;font-size:.76rem;color:var(--oro-l);font-family:var(--ff-b);padding:.2rem 0}
.px-msg{border:1px solid var(--line);border-radius:12px;padding:.65rem .8rem;background:var(--card);min-width:0}
.px-msg.out{background:color-mix(in srgb,var(--oro) 6%,var(--card));border-color:var(--line-2)}
.px-msg-h{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline}
.px-msg-h b{color:var(--crema);font-size:.88rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.px-msg-h span{font-size:.7rem;color:var(--cenere);flex:none}
.px-msg-a{font-size:.7rem;color:var(--cenere);margin-top:.1rem;overflow-wrap:anywhere}
.px-auto{font-size:.68rem;color:var(--cenere);letter-spacing:.06em;text-transform:uppercase;margin-top:.3rem}
.px-corpo{white-space:pre-wrap;font-size:.88rem;line-height:1.5;color:var(--crema);margin-top:.5rem;overflow-wrap:anywhere}
.px-corpo a{color:var(--oro-l);text-decoration:underline}
.px-cit{margin-top:.4rem}
.px-cit summary{cursor:pointer;font-size:.72rem;color:var(--cenere);list-style:none;display:inline}
.px-cit summary::-webkit-details-marker{display:none}
.px-cit summary::after{content:' ›'}
.px-cit[open] summary::after{content:' ⌄'}
.px-cit .px-corpo{color:var(--grigio);font-size:.8rem;border-left:2px solid var(--line-2);padding-left:.6rem}
.px-all{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}
.px-all a{display:inline-flex;align-items:baseline;gap:.4rem;border:1px solid var(--line-2);border-radius:8px;padding:.35rem .55rem;font-size:.76rem;color:var(--crema);max-width:100%;text-decoration:none}
.px-all a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.px-all a small{color:var(--cenere);font-size:.66rem;flex:none}
.px-orig{margin-top:.45rem}
.px-orig>button{font-size:.72rem;color:var(--oro-l);font-family:var(--ff-b);padding:0}
.px-frame iframe{width:100%;min-height:120px;border:1px solid var(--line);border-radius:8px;background:#fff;margin-top:.4rem;display:block}
.px-img-btn{display:block;font-size:.72rem;color:var(--grigio);font-family:var(--ff-b);text-align:left;padding:.3rem 0 0}
.px-prop{margin:0 .9rem .7rem;border:1px dashed var(--oro);border-radius:12px;padding:.65rem .8rem;background:color-mix(in srgb,var(--oro) 7%,var(--card))}
.px-prop.serve{border-color:var(--urg-a,#D9342B)}
.px-prop-h{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--oro-l)}
.px-prop-h i{font-style:normal;color:var(--cenere);letter-spacing:.06em;text-align:right}
.px-prop-r{font-size:.8rem;color:var(--grigio);margin-top:.35rem}
.px-prop-s,.px-prop-a{font-size:.76rem;color:var(--urg-a,#D9342B);margin-top:.3rem;font-weight:600}
.px-prop-t{white-space:pre-wrap;font-size:.88rem;line-height:1.5;color:var(--crema);margin-top:.5rem;overflow-wrap:anywhere}
.px-scrivi{border-top:1px solid var(--line);padding:.7rem .9rem .9rem;display:flex;flex-direction:column;gap:.45rem}
.px-campo{display:flex;align-items:center;gap:.5rem}
.px-campo[hidden]{display:none}
.px-campo label{flex:none;width:58px;margin:0;font-size:.72rem;color:var(--cenere)}
.px-campo input{flex:1;min-width:0}
.px-cc-btn{flex:none;font-size:.72rem;color:var(--oro-l);font-family:var(--ff-b);padding:0 .2rem}
.px-cc-btn[hidden]{display:none}
.px-scrivi textarea{width:100%;font-size:.9rem;line-height:1.45;min-height:130px;resize:vertical}
.px-scrivi-b{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.px-scrivi-b .btn{margin-left:auto;min-height:42px;padding:.55rem 1.3rem}
.px-firma{font-size:.7rem;color:var(--cenere);min-width:0;overflow-wrap:anywhere;flex:1}
.px-allega{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:8px;padding:.45rem .7rem;font-size:.74rem;color:var(--crema);cursor:pointer;margin:0;flex:none}
.px-file{display:flex;flex-wrap:wrap;gap:.35rem}
.px-file:empty{display:none}
.px-file span{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line-2);border-radius:8px;padding:.25rem .3rem .25rem .55rem;font-size:.74rem;color:var(--crema);max-width:100%}
.px-file small{color:var(--cenere)}
.px-file button{color:var(--cenere);padding:0 .25rem;font-size:.8rem}
.px-cas{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--line)}
.px-cas:first-of-type{border-top:0}
.px-cas>div{min-width:0;display:flex;flex-direction:column}
.px-cas b{color:var(--crema);font-size:.88rem;font-weight:600;overflow-wrap:anywhere}
.px-cas small{font-size:.72rem;color:var(--cenere);line-height:1.4;overflow-wrap:anywhere}
.px-avanzate{margin:.6rem 0;border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem}
.px-avanzate summary{cursor:pointer;font-size:.78rem;color:var(--grigio)}
.px-prova{font-size:.8rem;line-height:1.5;border-radius:10px;padding:.55rem .7rem;margin:.6rem 0;border:1px solid var(--line)}
.px-prova.ok{border-color:var(--verde);color:var(--crema)}
.px-prova.ko{border-color:var(--urg-a,#D9342B);color:var(--crema)}
.px-cas-b{display:flex;gap:.5rem;margin-top:.6rem}
.px-cas-b .btn{flex:1}
.px-elimina{display:block;margin:1rem auto 0;font-size:.74rem;color:var(--cenere);font-family:var(--ff-b);text-decoration:underline}

/* ===== 2.9.8 · Revisione completa (tablet, numeri, dettagli) ===== */
/* tablet 700–899 px (i tablet dei furgoni): la barra delle sezioni sta accanto al menu laterale, non sotto */
@media(min-width:700px) and (max-width:899px){
  .hub-bar{margin-left:200px;position:static;top:auto;padding:1.2rem 1.6rem 0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;flex-wrap:wrap}
  .hub-bar .chips{flex-wrap:wrap;overflow:visible}
  .hub-bar:not([hidden])+main{padding-top:1rem}
  #homeGrid>.kpi,#homeGrid>.kpis-group-lab{grid-column:1/-1}
}
/* riquadri dei numeri (Fatturato, Analisi, Archivio…): più di uno per riga quando c'è spazio (la home ha la sua griglia) */
@media(min-width:700px){.kpis:not(#homeGrid){grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
/* le lettere con la «coda» (g, p) non si tagliano più nei numeri grandi */
.kpi .big{padding-bottom:.1em}
/* registro: i valori lunghi (link) vanno a capo invece di uscire dallo schermo */
.reg-campi,.reg-campi>div{min-width:0;overflow-wrap:anywhere;word-break:break-word}
/* date «Dal / Al»: due colonne anche sul computer (prima tre, e l'anno restava tagliato) */
@media(min-width:900px){.g2.g2-date{grid-template-columns:1fr 1fr}}
/* Fatturato: confronto a pari giorni e anno per il commercialista */
.fatt-conf{font-size:.76rem;color:var(--grigio);margin:-.2rem 0 .6rem}
.fatt-anno{font-size:.8rem;line-height:1.6;color:var(--grigio);margin-top:.6rem}
.fatt-anno b{color:var(--crema);font-weight:600}.fatt-anno b.pos{color:var(--verde)}.fatt-anno b.neg{color:var(--brace-l)}
/* Finanze: i titoli dei riquadri come quelli di Entrate e Uscite */
.fin-prev .lab,.fin-chiedi .lab,.fin-scad .lab{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cenere);font-weight:500;margin-bottom:.35rem}
/* Permessi sul telefono: colonna delle funzioni ferma, avviso se ci sono colonne fuori schermo */
.pm-tab td:first-child,.pm-tab th:first-child{position:sticky;left:0;z-index:1;background:var(--card);min-width:150px}
.pm-gr td:first-child{background:var(--card)}
.pm-av small{font-size:.62rem}
.pm-scorri{font-size:.74rem;color:var(--oro-l);margin:-.2rem 0 .6rem}
.pm-scorri[hidden]{display:none}
/* tocchi più comodi sul telefono: l'area sensibile dei pulsantini cresce, l'aspetto resta quello */
@media(pointer:coarse){
  .kpi .lab button,.ptc-lavori-btn,.lnk,.reg-storia,.mag-q,.st-gg,.st-tr,.st-ed,.st-agg-g,.st-link,.st-usa,.ag-copia,.bv-cp,.tagas,.arch-tag,.crumb button,.oggi-mappa-testa button,.ag-riga button,.ag-hint button,.fin-riga .del{position:relative}
  .kpi .lab button::after,.ptc-lavori-btn::after,.lnk::after,.reg-storia::after,.mag-q::after,.st-gg::after,.st-tr::after,.st-ed::after,.st-agg-g::after,.st-link::after,.st-usa::after,.ag-copia::after,.bv-cp::after,.tagas::after,.arch-tag::after,.crumb button::after,.oggi-mappa-testa button::after,.ag-riga button::after,.ag-hint button::after,.fin-riga .del::after{content:'';position:absolute;inset:-10px -6px}
  .chips .chip{position:relative}.chips .chip::after{content:'';position:absolute;inset:-7px -2px}
}
/* tema chiaro: avvisi urgenti e iniziali leggibili */
html[data-tema="chiaro"] .kpi-urg b,html[data-tema="chiaro"] .mz-urg{color:#B0432F}
html[data-tema="chiaro"] .kpi-urg svg{fill:#B0432F}
html[data-tema="chiaro"] .wa-av{color:var(--oro-d)}

/* ===================== 2.9.9 · design più semplice: meno righe, meno pulsanti, stessa sostanza ===================== */
/* Chiamate: telefono ed esito sulla stessa riga, note lunghe a tre righe, elenco a blocchi di 25 */
.rcard .contatto{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.1rem 0 .6rem}
.rcard .contatto .call{font-size:.8rem;padding:.42rem .8rem}
.esito-btn{all:unset;cursor:pointer;font-size:.74rem;padding:.4rem .8rem;border-radius:20px;border:1px dashed var(--line-2);color:var(--grigio);white-space:nowrap}
.esito-btn:active,.esito-btn:hover{border-color:var(--oro);color:var(--oro-l)}
.rcard .note.corta{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer;position:relative}
.rcard .note.corta::after{content:'… leggi tutto';position:absolute;right:0;bottom:0;padding-left:1.6rem;font-size:.74rem;color:var(--oro-l);background:linear-gradient(90deg,transparent,var(--card) 1.3rem)}
.rcard.urg-alta .note.corta::after{background:linear-gradient(90deg,transparent,var(--card) 1.3rem)}
.rcard .note[data-apri-nota]:not(.corta){cursor:pointer}
.altre-btn{display:block;width:100%;margin:.4rem 0 1rem;padding:.85rem;font-size:.74rem}
.altre-btn small{font-weight:400;letter-spacing:0;text-transform:none;opacity:.75}
.esito-scelte{display:grid;gap:.5rem;margin-bottom:.4rem}
.esito-scelte button{all:unset;cursor:pointer;display:block;padding:.85rem 1rem;border-radius:10px;border:1px solid var(--line-2);background:var(--mid)}
.esito-scelte button b{display:block;font-size:.95rem;color:var(--crema);font-weight:600}
.esito-scelte button small{display:block;font-size:.76rem;color:var(--grigio);margin-top:.15rem}
.esito-scelte button:active,.esito-scelte button:hover{border-color:var(--oro)}
.esito-scelte button[data-es="non_interessa"] b{color:var(--danger)}
@media(max-width:699px){
  .rcard{padding:.8rem .85rem}
  .rcard .meta{gap:.3rem .55rem;font-size:.78rem}
  .rcard .acts2 .btn-sm{padding:.55rem .85rem}
}
/* Avvisi compatti: «Ho letto» sulla riga dell'autore, i più vecchi chiusi sotto «Altri avvisi» */
.avviso{padding:.75rem .9rem;margin-bottom:.5rem}
.avviso .m{align-items:center;margin-bottom:.3rem}
.avviso .av-az{display:flex;gap:.9rem;align-items:center;flex-shrink:0}
.avviso .m .av-letto{all:unset;cursor:pointer;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--oro-l);padding:.32rem .65rem;border:1px solid rgba(191,160,64,.45);border-radius:14px;white-space:nowrap}
.avviso .m .av-letto:active{background:rgba(191,160,64,.15)}
.avviso p{font-size:.92rem;line-height:1.45}
.avvisi-altri{margin:.2rem 0 .4rem}
.avvisi-altri>summary{cursor:pointer;list-style:none;font-size:.78rem;color:var(--grigio);padding:.55rem .1rem;display:flex;align-items:center;gap:.4rem}
.avvisi-altri>summary::-webkit-details-marker{display:none}
.avvisi-altri>summary::before{content:'›';display:inline-block;transition:transform .2s;color:var(--oro-l);font-size:1rem}
.avvisi-altri[open]>summary::before{transform:rotate(90deg)}
.avvisi-altri .avviso:not(.non-letto){opacity:.8}
/* Agenda: i giorni senza programmi diventano una riga sottile */
.card.giorno-vuoto{padding-top:.7rem;padding-bottom:.7rem}
.card.giorno-vuoto .day{grid-template-columns:40px 1fr;gap:.6rem;align-items:center}
.card.giorno-vuoto .day .num{font-size:1.7rem;padding-top:0;opacity:.7}
.card.giorno-vuoto .day-h{margin-bottom:0;flex-wrap:wrap}
.card.giorno-vuoto .day-h .dn{font-size:1.05rem;opacity:.8}
.card.giorno-vuoto .none{font-size:.8rem;padding:0;margin:.1rem 0 0;text-align:left}
.card.giorno-vuoto [data-nuova-squadra]{margin-top:-.1rem}
.card.giorno-vuoto>.day>div>div[style*="margin-top:.7rem"]{margin-top:.45rem!important}
/* Oggi: le zone oltre la sesta stanno chiuse */
.zone-altre>summary{cursor:pointer;list-style:none;font-size:.76rem;color:var(--oro-l);padding:.55rem 0 .1rem}
.zone-altre>summary::-webkit-details-marker{display:none}
.zone-altre>summary::after{content:' ›'}
.zone-altre[open]>summary::after{content:' ‹'}
.zone-altre .bars{margin-top:.4rem}
/* menu «Altro»: le azioni che si usano di rado, chiuse in un elenco */
.menu-altro{position:relative;display:inline-block}
.menu-altro>summary{list-style:none;cursor:pointer;user-select:none}
.menu-altro>summary::-webkit-details-marker{display:none}
.menu-altro>summary::after{content:'▾';margin-left:.4rem;font-size:.7em}
.menu-altro[open]>summary{border-color:var(--oro);color:var(--oro-l)}
.menu-altro-l{position:absolute;right:0;top:calc(100% + .35rem);z-index:40;min-width:220px;display:flex;flex-direction:column;gap:.3rem;padding:.45rem;background:var(--card);border:1px solid var(--line-2);border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.menu-altro.a-sinistra .menu-altro-l{right:auto;left:0}
@media(max-width:699px){.menu-altro{position:static}.bz-azioni{position:relative}.menu-altro .menu-altro-l{left:0;right:0;min-width:0}}
.menu-altro-l .btn{justify-content:flex-start;text-align:left;width:100%;border-color:transparent}
.menu-altro-l .btn:hover{border-color:var(--line-2)}
/* Bozze sul telefono: numeri più piccoli, avviso urgenti più corto, «Come ha scelto» chiuso */
@media(max-width:699px){
  .bz-k{padding:.65rem .75rem}
  .bz-k .big{font-size:1.55rem}
  .bz-k .sub{font-size:.68rem}
}
.bz-avviso small{color:var(--cenere);font-size:.92em}
.bz-come>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.5rem}
.bz-come>summary::-webkit-details-marker{display:none}
.bz-come>summary::after{content:'mostra ›';font-size:.72rem;color:var(--oro-l);margin-left:auto}
.bz-come[open]>summary::after{content:'chiudi ‹'}
.bz-come>summary h4{margin:0}
.bz-come[open] .bz-regole{margin-top:.5rem}
/* Finanze: periodo chiuso in una riga */
.fin-periodo{margin:0 0 1rem}
.fin-periodo>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--grigio);padding:.45rem .8rem;border:1px solid var(--line-2);border-radius:20px}
.fin-periodo>summary::-webkit-details-marker{display:none}
.fin-periodo>summary b{color:var(--crema);font-weight:600}
.fin-periodo>summary span{color:var(--oro-l);font-size:.72rem}
.fin-periodo[open]>summary span{display:none}
/* Registro: valori lunghi accorciati, link al posto degli indirizzi interi */
.reg-lungo{cursor:pointer}
.reg-lungo .l{display:none}
.reg-lungo.on .l{display:inline}.reg-lungo.on .c{display:none}
.reg-lungo u{color:var(--oro-l);text-decoration:none;font-size:.9em}
/* Stipendi: paga e regole chiuse in una riga riassunto */
.st-imp{border:1px solid var(--line);border-radius:10px;padding:0 .9rem;margin:.6rem 0 .9rem;background:rgba(var(--hi),.02)}
.st-imp>summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;padding:.75rem 1.4rem .75rem 0;position:relative}
.st-imp>summary::-webkit-details-marker{display:none}
.st-imp>summary span{font-size:.86rem;font-weight:600;color:var(--crema)}
.st-imp>summary small{font-size:.74rem;color:var(--grigio)}
.st-imp>summary::after{content:'›';position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--oro-l);font-size:1.2rem;transition:transform .2s}
.st-imp[open]>summary::after{transform:translateY(-50%) rotate(90deg)}
.st-imp[open]{padding-bottom:.9rem}
/* Stato sistema: i problemi in un solo riquadro con righe, non cinque riquadri gialli */
.sis-problemi{gap:0;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.sis-problemi .sis-pr{border:0;border-radius:0;background:transparent;border-top:1px solid var(--line)}
.sis-problemi .sis-pr:first-child{border-top:0}
.sis-problemi .sis-pr.rosso{background:rgba(226,85,43,.07)}
/* Magazzino dei tecnici: categorie chiuse, un tocco per aprirle */
.mag-cat{border-bottom:1px solid var(--line)}
.mag-cat>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.6rem;padding:.9rem .2rem;font-size:.95rem;font-weight:600;color:var(--crema)}
.mag-cat>summary::-webkit-details-marker{display:none}
.mag-cat>summary small{margin-left:auto;font-size:.74rem;font-weight:500;color:var(--cenere);padding:.15rem .55rem;border:1px solid var(--line-2);border-radius:10px}
.mag-cat>summary::after{content:'›';color:var(--oro-l);font-size:1.1rem;transition:transform .2s}
.mag-cat[open]>summary::after{transform:rotate(90deg)}
.mag-cat[open]>summary{color:var(--oro-l)}
.mag-cat .mag-row:last-child{border-bottom:0}

/* ===================== 2.10.0 ===================== */
/* Tappe con scorciatoie (Agenda di chi organizza, Oggi) */
.tappe{margin:.5rem 0 .2rem;border-top:1px solid var(--line)}
details.tappe>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.6rem;padding:.6rem .1rem;font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--oro-l)}
details.tappe>summary::-webkit-details-marker{display:none}
details.tappe>summary::before{content:'›';font-size:1rem;transition:transform .2s;display:inline-block}
details.tappe[open]>summary::before{transform:rotate(90deg)}
details.tappe>summary span{margin-left:auto;font-size:.68rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--cenere)}
.tappe-home{border-top:0;margin-top:.7rem}
.tappa{display:flex;align-items:center;gap:.7rem;padding:.6rem .1rem;border-top:1px solid var(--line);cursor:pointer}
.tappa:first-of-type{border-top:0}
details.tappe .tappa:first-of-type{border-top:1px solid var(--line)}
.tappa.urg-alta{box-shadow:inset 3px 0 0 var(--rosso);padding-left:.6rem}
.tappa.urg-normale{box-shadow:inset 3px 0 0 var(--brace);padding-left:.6rem}
.tp-ora{flex:none;min-width:2.9rem;font-variant-numeric:tabular-nums;font-size:.86rem;color:var(--oro-l);font-weight:600}
.tp-chi{flex:1;min-width:0;display:flex;flex-direction:column}
.tp-chi b{font-size:.92rem;font-weight:600;color:var(--crema);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tp-chi small{font-size:.74rem;color:var(--grigio);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tp-az{flex:none;display:flex;gap:.35rem}
.tp-b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);color:var(--crema);background:var(--mid)}
.tp-b svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tp-b.tp-tel{color:var(--brina-l);border-color:rgba(62,155,196,.4)}
.tp-b.tp-wa{color:var(--verde);border-color:rgba(124,185,124,.4)}
.tp-b.tp-nav{color:var(--oro-l);border-color:rgba(191,160,64,.45)}
.tp-b:active{transform:scale(.94)}
.tp-b.off{opacity:.25}
@media(max-width:380px){.tp-b{width:36px;height:36px}.tp-ora{min-width:2.5rem;font-size:.8rem}}
/* Naviga e indirizzi */
.nav-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .7rem;border-radius:20px;background:rgba(191,160,64,.12);border:1px solid rgba(191,160,64,.35);color:var(--oro-l)!important;font-size:.74rem;font-weight:600;text-decoration:none;margin-left:.4rem;vertical-align:middle;white-space:nowrap}
.nav-chip svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.imp-luogo{margin-top:.45rem;font-size:.76rem;color:var(--grigio);display:flex;align-items:center;flex-wrap:wrap;gap:.3rem}
.lbl-ind{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cenere);margin-right:.25rem}
.muto{color:var(--cenere)}
/* scelte a due e tre bottoni (DUI) */
.seg2,.seg3{display:grid;gap:.4rem;margin-top:.15rem}
.seg2{grid-template-columns:1fr 1fr}
.seg3{grid-template-columns:repeat(3,1fr)}
.seg2 button,.seg3 button{padding:.7rem .5rem;border-radius:10px;border:1px solid var(--line-2);background:var(--mid);color:var(--grigio);font-family:var(--ff-b);font-size:.82rem;font-weight:600;line-height:1.25;cursor:pointer;text-align:center}
.seg3 button b{display:block;font-weight:600;color:inherit}
.seg3 button small{display:block;font-size:.68rem;font-weight:400;opacity:.85;margin-top:.15rem}
.seg2 button.on,.seg3 button.on{border-color:var(--oro);background:rgba(191,160,64,.14);color:var(--oro-l)}
.seg3 button[data-lib-v="Non necessario"].on{border-color:var(--brina-l);background:rgba(62,155,196,.12);color:var(--brina-l)}
@media(max-width:420px){.seg3{grid-template-columns:1fr}.seg3 button{display:flex;align-items:baseline;gap:.5rem;text-align:left;padding:.65rem .8rem}.seg3 button small{margin:0}}
.dui-luogo{margin:.4rem 0 .2rem;padding:.75rem .8rem;border:1px dashed var(--line-2);border-radius:12px}
.dui-luogo-campi{margin-top:.6rem}
.dui-luogo-hint,.dui-lib-hint{font-size:.74rem;color:var(--grigio);margin-top:.45rem}
.dui-lib-hint.warn{color:var(--brace-l)}
/* Pre-diagnosi del bot */
.diag{border:1px solid rgba(62,155,196,.35);background:linear-gradient(160deg,rgba(62,155,196,.08),rgba(62,155,196,.02));border-radius:12px;padding:.75rem .85rem;margin:.5rem 0;font-size:.82rem}
.diag-h{display:flex;align-items:center;gap:.45rem;margin-bottom:.45rem;color:var(--brina-l)}
.diag-h svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.diag-h b{font-size:.8rem;letter-spacing:.04em;font-weight:600}
.diag-g{margin-left:auto;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.18rem .5rem;border-radius:10px;white-space:nowrap}
.diag-g.g-p{background:rgba(192,57,43,.24);color:#FF8B7B;border:1px solid rgba(224,82,70,.6)}
.diag-g.g-f{background:rgba(226,85,43,.15);color:var(--brace-l);border:1px solid rgba(242,122,60,.45)}
.diag-g.g-m{background:rgba(191,160,64,.14);color:var(--oro-l);border:1px solid rgba(191,160,64,.4)}
.diag-g.g-o{background:rgba(var(--hi),.06);color:var(--grigio);border:1px solid var(--line-2)}
.diag-r{display:grid;grid-template-columns:6.4rem 1fr;gap:.6rem;padding:.32rem 0;border-top:1px solid rgba(62,155,196,.14);line-height:1.4;color:var(--crema)}
.diag-r:first-of-type{border-top:0}
.diag-r i{font-style:normal;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--cenere);padding-top:.12rem}
.diag-r small{color:var(--grigio)}
.diag-r ol{margin:0;padding-left:1.1rem}
.diag-r li{margin:.1rem 0}
.diag-r em{font-style:normal;font-size:.66rem;padding:.05rem .4rem;border-radius:8px;margin-left:.25rem;background:rgba(var(--hi),.06);color:var(--grigio)}
.diag-r em.pr-alta{color:var(--oro-l);background:rgba(191,160,64,.14)}
.diag-cod{display:inline-block;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;padding:.05rem .4rem;border-radius:6px;background:rgba(62,155,196,.16);color:var(--brina-l);margin-left:.2rem}
.diag-nota{display:block;margin-top:.45rem;font-size:.7rem;color:var(--cenere)}
@media(max-width:420px){.diag-r{grid-template-columns:1fr;gap:.1rem}}
details.diag-wrap{margin:.35rem 0 .55rem}
details.diag-wrap>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.4rem;font-size:.76rem;color:var(--brina-l);padding:.4rem .7rem;border:1px solid rgba(62,155,196,.3);border-radius:18px;background:rgba(62,155,196,.07);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
details.diag-wrap>summary::-webkit-details-marker{display:none}
details.diag-wrap>summary svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;flex:none}
details.diag-wrap[open]>summary{border-radius:12px 12px 0 0;border-bottom-color:transparent}
details.diag-wrap[open]>.diag{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}
.wa-diag{margin:.6rem .2rem}
/* ===== Estetica 2.10.0: testi piccoli più leggibili, meno maiuscolo spaziato, pulsanti più comodi da toccare ===== */
.btn{letter-spacing:.1em}
.btn-sm{font-size:.7rem;letter-spacing:.07em;padding:.62rem 1rem;min-height:38px}
@media(pointer:coarse){.btn-sm{min-height:42px}}
.chip{letter-spacing:.05em}
.chips.zone .chip{font-size:.7rem;padding:.42rem .85rem}
.hub-bar .chip{letter-spacing:.04em}
.eyebrow{font-size:.68rem;letter-spacing:.14em}
.kpi .lab{font-size:.68rem;letter-spacing:.12em}
.kpi .lab a,.kpi .lab button{font-size:.66rem;letter-spacing:.06em}
.bz-k .lab{font-size:.64rem;letter-spacing:.12em}
.tagz,.tagas{font-size:.64rem;letter-spacing:.04em}
.urg-tag{font-size:.6rem;letter-spacing:.07em}
.view h2+p.hint,.view h2+.hint{max-width:62ch;line-height:1.5}
.none{font-size:.88rem}
/* l'avviso in alto (es. «file diversi dalla versione»): largo quanto serve, non una colonnina stretta */
.sis-avviso{width:min(94vw,640px)}
.sis-avviso .t{font-size:.8rem;overflow-wrap:anywhere}
/* sul computer i pulsanti principali non si stendono per tutta la pagina */
@media(min-width:900px){.view>.btn-block:not(.dui-desktop-save){max-width:420px}}
/* «Scollega — è un cliente nuovo, non …»: il testo lungo va a capo invece di uscire dallo schermo */
#dScollega{white-space:normal;text-align:left;line-height:1.35;max-width:100%}
/* calcolo del DUI: l'importo non va mai a capo («26,00 / €») */
#ecoRighe span:last-child{white-space:nowrap;padding-left:.6rem}
.ag-manuale{white-space:pre-wrap;font-size:.8rem;line-height:1.5;color:var(--crema);max-height:65vh;overflow:auto;background:var(--mid);border:1px solid var(--line);border-radius:10px;padding:.8rem .9rem}

/* 2.10.0 — nome e targhetta urgenza nella scheda chiamata: vanno a capo insieme, senza margini sbilanciati */
.rcard .top .nome{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .45rem}
.rcard .top .nome .urg-tag{margin-left:0;top:0}

/* 2.10.0 — tappe: nome e indirizzo su due righe al massimo; sul telefono Chiama · WhatsApp · Naviga sono tre pulsanti larghi con la scritta */
.tappa{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:.7rem;row-gap:.5rem}
.tp-chi b,.tp-chi small{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.tp-b i{display:none;font-style:normal}
@media(max-width:560px){
  .tappa{grid-template-columns:auto minmax(0,1fr);align-items:start}
  .tp-ora{padding-top:.1rem}
  .tp-az{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}
  .tp-b,.tp-b.off{width:auto;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:.4rem}
  .tp-b i{display:inline;font-size:.8rem;font-weight:600;letter-spacing:.02em}
  .tp-b.off{opacity:.3}
}
/* 2.10.0 — telefono: la barra delle schede (Agenda, Bozze, Chiamate…) scorre via con la pagina; resta fissa solo la testata.
   Prima occupava due righe fisse sopra a ogni elenco (circa un quinto dello schermo). */
@media(max-width:699px){.hub-bar{position:static;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}}
/* 2.10.0 — le scritte piccole accanto ai numeri grandi andavano a capo con l'interlinea del numero (righe accavallate) */
.kpi .big small{line-height:1.35}
.kpi li .tm{white-space:nowrap}
/* 2.10.0 — pre-diagnosi nella chat: chiusa, con una riga riassunto (gravità + codice + sintomo) */
details.wa-diag>summary{white-space:normal;flex-wrap:wrap;row-gap:.25rem;border-radius:12px;padding:.5rem .75rem}
details.wa-diag>summary b{font-weight:600;color:var(--brina-l)}
details.wa-diag>summary .diag-g{margin-left:.2rem}
details.wa-diag>summary .wa-diag-r{flex-basis:100%;color:var(--crema);opacity:.85;font-size:.76rem;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
details.wa-diag[open]>summary .wa-diag-r{display:none}
/* 2.10.0 — fogli (sheet) sul telefono: la griglia del foglio si allargava fino alla riga dei pulsanti (tre pulsanti
   affiancati = 424 px su uno schermo da 390) e tutto il contenuto finiva tagliato a destra. Ora la colonna è larga
   quanto il foglio e i pulsanti vanno a capo. */
.sheet{grid-template-columns:minmax(0,1fr)}
.sheet .acts{flex-wrap:wrap}
/* 2.10.0 — «Sì, stesso indirizzo»: i campi dell'indirizzo dell'impianto si nascondono davvero (.g2 vinceva su [hidden]) */
.dui-luogo-campi[hidden],#dConsensoWrap[hidden],#dNecBox[hidden],.dui-lib-hint[hidden]{display:none!important}
/* 2.10.0 — «Cambia l'indirizzo dell'impianto» sembrava testo normale: ora si vede che si tocca */
#impLuogoMod{color:var(--oro-l);text-decoration:underline;text-underline-offset:3px;font-size:.84rem;padding:.35rem 0;min-height:36px}
details.wa-diag[open]>.diag>.diag-h{display:none}   /* il titolo c'è già nella riga riassunto */
/* 2.10.0 — tema chiaro: orari e «Naviga» delle tappe erano oro chiaro su fondo chiaro (contrasto 2,7) */
html[data-tema="chiaro"] .tp-ora,html[data-tema="chiaro"] .tp-b.tp-nav{color:var(--oro-d)}
html[data-tema="chiaro"] .tp-b.tp-nav{border-color:rgba(107,84,22,.45)}
/* 2.10.0 — telefono: «✓ Ho letto» degli avvisi era alto 24 px, poco per un dito */
@media(max-width:699px){.avviso .m .av-letto{display:inline-flex;align-items:center;min-height:34px;box-sizing:border-box}}
@media(max-width:699px){.cp-row .arr{min-height:34px;box-sizing:border-box}}   /* «Arriviamo» dei tecnici: 27 px → 34 px */

/* ===== 2.10.1 — note collegate a un cliente, «Serve tornare?», richieste dal lavoro ===== */
.note-sub{margin-bottom:1rem}
.compose #ntCli:empty{display:none}
.nota-cerca{position:relative;display:flex;align-items:center;gap:.55rem;border:1px dashed var(--line-2);border-radius:10px;padding:0 .75rem;background:rgba(255,255,255,.015)}
.nota-cerca .ic{display:flex;color:var(--cenere)}
.nota-cerca svg,.nota-cli svg,.nota-scelto svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.nota-cerca input{border:0;background:none;padding:.7rem 0;flex:1;min-width:0;font-size:.88rem}
.nota-cerca input:focus{outline:none;box-shadow:none}
.nota-cerca .sugg{position:absolute;left:0;right:0;top:100%;z-index:5}
.nota-scelto{display:flex;align-items:center;gap:.6rem;border:1px solid rgba(62,155,196,.4);background:rgba(62,155,196,.09);border-radius:10px;padding:.55rem .75rem;color:var(--brina-l)}
.nota-scelto span{flex:1;min-width:0;color:var(--crema);font-size:.9rem}
.nota-scelto small{display:block;font-size:.74rem;color:var(--cenere)}
.nota-scelto .nota-x{min-width:34px;min-height:34px;border-radius:8px;color:var(--cenere);font-size:.9rem}
#snCli{margin-bottom:.6rem}
#snCli:empty{display:none}
.nota-cli{display:inline-flex;align-items:center;gap:.4rem;max-width:100%;font-size:.8rem;color:var(--brina-l);background:rgba(62,155,196,.09);border:1px solid rgba(62,155,196,.28);border-radius:999px;padding:.22rem .7rem;margin:0 0 .55rem;text-align:left}
.nota-cli span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--grigio)}
.nota-cli span b{color:var(--crema);font-weight:600}
.nota-cli i{font-style:normal;color:var(--brina-l);margin-left:.1rem}
button.nota-cli{cursor:pointer}
@media(hover:hover){button.nota-cli:hover{background:rgba(62,155,196,.16)}}
.nota-piede{display:flex;align-items:center;justify-content:space-between;gap:.5rem .8rem;flex-wrap:wrap;margin-top:.65rem}
.nota-st{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;color:var(--cenere)}
.nota-st.ok{color:var(--brina-l)}
.nota-az{display:flex;gap:.4rem;margin-left:auto}
.nota .nota-del{min-width:38px;padding-left:.6rem;padding-right:.6rem}
.nota.compatta{padding:.7rem .85rem;margin-bottom:.5rem}
.nota.compatta p{font-size:.9rem;line-height:1.45}
.nota.compatta .nota-piede{margin-top:.45rem}
.nota-box-h{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.nota-box-h h3 small{font-size:.72rem;color:var(--cenere);font-weight:400;margin-left:.3rem}
.sc-note-box{margin-top:1rem}
.sc-note-box:empty{display:none}
.sc-note-box .section-h{margin-bottom:.5rem}
.sc-torna{display:flex;align-items:center;gap:.75rem;width:100%;margin-top:1rem;padding:.75rem .9rem;border:1px solid var(--line-2);border-radius:12px;background:var(--card);text-align:left;color:var(--oro-l)}
.sc-torna svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sc-torna b{display:block;color:var(--crema);font-size:.94rem;font-weight:600}
.sc-torna small{display:block;color:var(--cenere);font-size:.76rem;margin-top:.1rem}
@media(hover:hover){.sc-torna:hover{background:rgba(191,160,64,.07)}}
.cta-rich{margin:-.5rem 0 1.3rem}
.cta-rich .ct-ic{background:rgba(191,160,64,.14);color:var(--oro-l)}
.cta-rich + .cta-timbra-wrap{margin-top:0}
.rcard .lav-tag{font-size:.62rem;letter-spacing:.04em;padding:.15rem .55rem;border-radius:10px;background:rgba(191,160,64,.12);border:1px solid rgba(191,160,64,.4);color:var(--oro-l)}
.rcard .nt-tag{all:unset;cursor:pointer;font-size:.62rem;letter-spacing:.04em;padding:.15rem .55rem;border-radius:10px;background:rgba(62,155,196,.1);border:1px solid rgba(62,155,196,.35);color:var(--brina-l)}
.cli-note .section-h{margin-top:0}
.cta-rich{border-color:rgba(191,160,64,.45)}
@media(hover:hover){.cta-rich:hover{background:rgba(191,160,64,.07)}}
.nota [data-read] .chk{margin-right:.35rem;vertical-align:-1px}
.note-filtri .chip{padding:.45rem .75rem;letter-spacing:.05em}
@media(max-width:699px){button.nota-cli{min-height:32px}}

/* ===== 2.10.2 — Messaggi: «il bot sta scrivendo», Rigenera, messaggi precedenti ===== */
.wa-dots{display:inline-flex;gap:3px;align-items:center;margin-right:.5rem;vertical-align:middle}
.wa-dots i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.35;animation:waPunti 1.2s infinite ease-in-out}
.wa-dots i:nth-child(2){animation-delay:.18s}.wa-dots i:nth-child(3){animation-delay:.36s}
@keyframes waPunti{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.wa-dots i{animation:none;opacity:.7}}
.wa-scrive{font-size:.86rem;color:var(--grigio);font-style:italic}
.wa-vuoto .wa-dots{color:var(--cenere)}
.wa-b.bozza .wa-bz-acts .btn{display:inline-flex;align-items:center}
.ic-rig{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-right:.35rem;flex-shrink:0}
.wa-rg-link{all:unset;cursor:pointer;display:inline-block;margin-top:.45rem;font-size:.76rem;color:var(--brina-l);text-decoration:underline;text-underline-offset:2px;min-height:28px;line-height:28px}
.wa-rg-f{display:flex;gap:.4rem;margin-top:.45rem;align-items:center}
.wa-rg-f[hidden]{display:none}
.wa-rg-f input{flex:1;min-width:0;font-size:.86rem;padding:.55rem .7rem}
.wa-b.bozza.rigenera{opacity:.85}
.wa-b.bozza.rigenera .wa-tx{opacity:.55}
.wa-rg-st{margin-top:.5rem;font-size:.82rem;color:var(--oro-l);display:flex;align-items:center}
.wa-prec{all:unset;cursor:pointer;align-self:center;font-size:.78rem;color:var(--brina-l);padding:.4rem .8rem;border:1px solid var(--line-2);border-radius:999px;margin-bottom:.3rem}
@media(hover:hover){.wa-prec:hover{background:rgba(62,155,196,.08)}}
.wa-rg-link[hidden]{display:none}
.ag-ric{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.8rem .9rem;border:1px solid var(--line-2);border-radius:12px}
.ag-ric-t{min-width:0}
.ag-ric-t b{display:block;font-size:.92rem}
.ag-ric-t small{display:block;font-size:.76rem;color:var(--cenere);line-height:1.45;margin-top:.2rem}
.wa-forza{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.55rem}
.wa-forza .btn{display:inline-flex;align-items:center}
.wa-forza small{font-size:.74rem;color:var(--cenere)}
/* 2.10.5 — l'area di tocco allargata (::after) deve stare attaccata al suo pulsante: con «all:unset» il pulsante perdeva
   position:relative e lo strato invisibile copriva mezza pagina (sul telefono, toccando la ricerca delle Chiamate si apriva un cliente) */
@media(pointer:coarse){.rcard .arch-tag,.rcard .nt-tag,.st-link,.st-ed,.st-tr,.st-agg-g,.st-gg,.st-usa,.wa-rg-link,.wa-prec{position:relative}}

/* ===== 2.10.6 — stampa della settimana ===== */
.sett-stampa{margin:-.3rem 0 .9rem}
.sett-stampa .btn{display:inline-flex;align-items:center}
.st-seg{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.6rem 0 .4rem}
.st-seg button{border:1px solid var(--line-2);border-radius:10px;padding:.6rem .7rem;text-align:left;font-weight:600;font-size:.86rem;color:var(--crema)}
.st-seg button.on{border-color:var(--oro);background:rgba(191,160,64,.12)}
.st-seg small{display:block;font-weight:400;font-size:.72rem;color:var(--cenere)}
.st-l{display:flex;justify-content:space-between;align-items:baseline;margin:.9rem 0 .4rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere)}
.st-n{color:var(--oro-l);font-weight:600;letter-spacing:0;text-transform:none;font-size:.78rem}
.st-ch{margin-bottom:.4rem;flex-wrap:wrap}
.st-g{border:1px solid var(--line);border-radius:12px;margin-bottom:.5rem;overflow:hidden}
.st-gh{display:flex;justify-content:space-between;align-items:center;padding:.45rem .75rem;background:rgba(255,255,255,.03);font-size:.84rem}
.st-tutti{all:unset;cursor:pointer;font-size:.74rem;color:var(--brina-l);padding:.3rem .4rem}
.st-r{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .75rem;border-top:1px solid var(--line);text-align:left;font-size:.86rem;color:var(--crema);min-height:44px}
.st-r.off{opacity:.45}
.st-r span{flex:1;min-width:0}
.st-r b{font-weight:600}
.st-r small{display:block;color:var(--cenere);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-cb{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--oro);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.75rem;color:var(--ink);background:var(--oro);flex-shrink:0}
.st-r.off .st-cb{background:none;border-color:var(--line-2)}
.st-t{font-style:normal;font-size:.62rem;padding:.12rem .45rem;border-radius:8px;border:1px solid var(--line-2);color:var(--grigio);white-space:nowrap;flex-shrink:0}
.st-t.t-ins{border-color:rgba(191,160,64,.6);color:var(--oro-l)}
.st-t.t-can{border-color:rgba(62,155,196,.5);color:var(--brina-l)}
.st-op{display:flex;flex-wrap:wrap;gap:.35rem}
.st-op button{font-size:.78rem;padding:.45rem .8rem;border-radius:16px;border:1px solid var(--line-2);color:var(--cenere)}
.st-op button.on{border-color:var(--oro);color:var(--oro-l)}

/* ===================== 2.11.0 · Messaggi più semplice: cerca, chip, tag colorati, chat fissate, IA su richiesta ===================== */
.wm-pag{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.7rem}
.wm-pag h2{margin:0}
.wm-ag{all:unset;cursor:pointer;font-size:.74rem;color:var(--cenere);display:inline-flex;align-items:center;white-space:nowrap;padding:.35rem .1rem;min-height:32px}
.wm-ag .wa-dot{margin-right:.4rem}
.wa-dot.manuale{background:var(--brina-l,#4FA3D9)}
.wm-top{display:flex;gap:.5rem;align-items:center;margin-bottom:.6rem}
.wm-cerca{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;border:1px solid var(--line-2);border-radius:12px;padding:0 .75rem;background:var(--card)}
.wm-cerca svg{width:17px;height:17px;flex:none;fill:none;stroke:var(--cenere);stroke-width:1.8;stroke-linecap:round}
.wm-cerca input{all:unset;flex:1;min-width:0;font-size:.9rem;color:var(--crema);padding:.62rem 0;font-family:var(--ff-b)}
.wm-cerca input::placeholder{color:var(--cenere)}
.wm-cerca input::-webkit-search-cancel-button{filter:grayscale(1)}
.wm-btn{all:unset;cursor:pointer;border:1px solid var(--line-2);border-radius:12px;padding:.62rem .85rem;font-size:.84rem;color:var(--grigio);font-family:var(--ff-b);min-height:20px}
.wm-f{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.3rem;margin-bottom:.35rem;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent)}
.wm-f::-webkit-scrollbar{display:none}
.wm-chip{all:unset;cursor:pointer;flex-shrink:0;font-size:.78rem;padding:.38rem .75rem;border-radius:16px;border:1px solid var(--line-2);color:var(--grigio);display:inline-flex;align-items:center;gap:.38rem;font-family:var(--ff-b);white-space:nowrap;min-height:20px}
.wm-chip i{width:8px;height:8px;border-radius:50%;display:inline-block}
.wm-chip b{font-weight:700;color:var(--crema)}
.wm-chip.on{background:var(--oro);color:var(--ink);border-color:var(--oro);font-weight:600}
.wm-chip.on b{color:var(--ink)}
.wm-lista{display:flex;flex-direction:column}
.wm-sez{display:flex;align-items:center;gap:.4rem;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere);margin:.7rem .2rem .15rem}
.ic-pin{width:13px;height:13px;fill:none;stroke:var(--oro-l);stroke-width:1.8;stroke-linejoin:round;flex:none}
.wm-r{all:unset;cursor:pointer;box-sizing:border-box;display:flex;gap:.75rem;align-items:center;padding:.72rem .35rem;border-bottom:1px solid var(--line);width:100%;font-family:var(--ff-b);-webkit-tap-highlight-color:transparent}
.wm-r.fx{background:color-mix(in srgb,var(--oro) 5%,transparent)}
.wm-r.on{background:rgba(var(--hi),.05)}
@media(hover:hover){.wm-r:hover{background:rgba(var(--hi),.035)}}
.wm-av{--c:var(--oro);width:44px;height:44px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;font-size:.86rem;color:color-mix(in srgb,var(--c) 80%,var(--crema));background:color-mix(in srgb,var(--c) 17%,transparent)}
.wm-c{flex:1;min-width:0;display:flex;flex-direction:column}
.wm-h{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.wm-h b{font-size:.97rem;font-weight:600;color:var(--crema);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.wm-h time{font-size:.72rem;color:var(--cenere);flex:none}
.wm-r.nuovo .wm-h time{color:var(--oro-l);font-weight:700}
.wm-m{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.12rem}
.wm-m>span{font-size:.84rem;color:var(--grigio);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.wm-r.nuovo .wm-m>span{color:var(--crema)}
.wm-m .wa-n{font-size:.68rem;min-width:20px;height:20px;line-height:20px;padding:0 .35rem;flex:none}
.wm-t{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}
.wm-tg{--c:#9AA5B1;display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;line-height:1.2;padding:.16rem .52rem;border-radius:999px;color:color-mix(in srgb,var(--c) 72%,var(--crema));border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:color-mix(in srgb,var(--c) 12%,transparent);white-space:nowrap;font-family:var(--ff-b)}
.wm-tg i{width:7px;height:7px;border-radius:50%;background:var(--c);flex:none}
.wm-tg em{font-style:normal;font-size:.62rem;opacity:.85}
.wm-bz{font-size:.68rem;color:var(--oro-l);font-weight:600;padding:.16rem .1rem}
.wm-why{font-size:.74rem;color:var(--cenere);margin-top:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* la chat */
.wm-det{min-height:100%}
.wm-ch{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;border-bottom:1px solid var(--line)}
.wm-ch .wm-av{width:38px;height:38px;font-size:.78rem}
.wm-bk{all:unset;cursor:pointer;font-size:1.7rem;line-height:1;color:var(--grigio);width:30px;height:38px;display:grid;place-items:center;flex:none}
.wm-cn{flex:1;min-width:0}
.wm-cn b{display:block;font-size:1.02rem;color:var(--crema);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wm-cn small{font-size:.74rem;color:var(--cenere)}
.wm-mn{all:unset;cursor:pointer;border:1px solid var(--line-2);border-radius:10px;width:40px;height:40px;display:grid;place-items:center;color:var(--grigio);font-size:1.15rem;flex:none}
.wm-ctags{display:flex;gap:.35rem;flex-wrap:wrap;padding:.6rem .9rem 0}
.wm-ctags .wm-tg{cursor:pointer}
.wm-tg.add{all:unset;cursor:pointer;font-size:.68rem;padding:.16rem .6rem;border-radius:999px;border:1px dashed var(--line-2);color:var(--cenere);font-family:var(--ff-b);line-height:1.2}
.wm-fx,.wm-nota{display:flex;align-items:center;gap:.5rem;margin:.55rem .9rem 0;font-size:.78rem;color:var(--grigio);line-height:1.4}
.wm-fx{border:1px solid color-mix(in srgb,var(--oro) 35%,transparent);background:color-mix(in srgb,var(--oro) 6%,transparent);border-radius:10px;padding:.45rem .65rem}
.wm-fx span{flex:1;min-width:0}.wm-fx b{color:var(--oro-l);font-weight:600}
.wm-fx button{all:unset;cursor:pointer;color:var(--brina-l);font-size:.76rem;text-decoration:underline;text-underline-offset:2px;padding:.2rem 0}
.wm-nota{color:var(--cenere)}
.wm-info{all:unset;cursor:pointer;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin:.6rem .9rem 0;border:1px solid var(--line);border-radius:12px;padding:.55rem .75rem;font-size:.8rem;color:var(--grigio);font-family:var(--ff-b);width:calc(100% - 1.8rem)}
.wm-info>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wm-info b{color:var(--crema);font-weight:600}
.wm-info em{font-style:normal;color:var(--oro-l);font-weight:600}
.wm-info-a{color:var(--brina-l);flex:none}
.wm-info-a::after{content:' ›'}
.wm-info[aria-expanded="true"] .wm-info-a::after{content:' ⌄'}
.wm-dett[hidden]{display:none}
.wm-dett .wa-scheda{margin:.45rem .9rem 0}
.wm-dett .wa-diag{margin:.45rem .9rem 0}
.wm-det .wa-chat{padding:.8rem .9rem}
.wm-det .wa-b{border-radius:16px;padding:.5rem .72rem;font-size:.9rem;line-height:1.42}
.wm-det .wa-b.in{border-bottom-left-radius:5px;background:rgba(var(--hi),.07)}
.wm-det .wa-b.man{background:color-mix(in srgb,var(--oro) 17%,var(--card));border:0;border-bottom-right-radius:5px}
.wm-det .wa-b.bot{background:color-mix(in srgb,var(--brina-l,#4FA3D9) 13%,var(--card));border-bottom-right-radius:5px}
.wm-det .wa-b.bozza{background:color-mix(in srgb,var(--oro) 6%,var(--card));border:1.5px dashed var(--oro);max-width:92%}
.wm-det .wa-b.scartata{background:transparent;border:1px dashed var(--line-2)}
.wm-det .wa-chi{font-size:.6rem;letter-spacing:.1em}
.wm-det .wa-b.bozza .wa-bz-acts .btn{padding:.42rem .8rem;min-height:34px}
.wm-x{min-width:38px;justify-content:center}
.wm-piede{border-top:1px solid var(--line);padding:.6rem .9rem .8rem;background:var(--card)}
.wm-ai{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:.55rem}
.wm-aib{all:unset;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid color-mix(in srgb,var(--oro) 70%,transparent);border-radius:12px;padding:.62rem .4rem;font-size:.84rem;color:var(--oro-l);font-weight:600;font-family:var(--ff-b);text-align:center;min-height:44px}
.wm-aib:disabled{opacity:.4;cursor:not-allowed}
@media(hover:hover){.wm-aib:not(:disabled):hover{background:color-mix(in srgb,var(--oro) 9%,transparent)}}
.wm-cmp{display:flex;gap:.45rem;align-items:flex-end}
.wm-cmp textarea{flex:1;min-width:0;resize:none;border-radius:22px;padding:.68rem .95rem;font-size:.92rem;line-height:1.4;min-height:44px;max-height:180px}
.wm-send{all:unset;cursor:pointer;width:44px;height:44px;border-radius:50%;background:var(--oro);display:grid;place-items:center;flex:none}
.wm-send svg{width:20px;height:20px;fill:var(--ink);stroke:var(--ink);stroke-width:1.2;stroke-linejoin:round;margin-left:2px}
.wm-send:disabled{opacity:.5}
.wm-chiusa{font-size:.76rem;color:var(--cenere);line-height:1.45}
/* telefono: in chat la barra in basso resta, il piede (IA + scrivi) si attacca sopra */
@media(max-width:899px){
  .wm-in-chat{padding-top:0}
  .wm-in-chat .wm-ch{position:sticky;top:0;z-index:5;background:var(--nero);margin:-1.3rem -1.2rem 0;padding:.6rem 1.2rem}
  .wm-in-chat .wm-ctags,.wm-in-chat .wm-fx,.wm-in-chat .wm-nota{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
  .wm-in-chat .wm-fx{padding:.45rem .65rem}
  .wm-in-chat .wm-info{margin-left:0;margin-right:0;width:100%}
  .wm-in-chat .wm-dett .wa-scheda,.wm-in-chat .wm-dett .wa-diag{margin-left:0;margin-right:0}
  .wm-in-chat .wa-chat{padding:.8rem 0}
  .wm-in-chat .wm-piede{position:sticky;bottom:var(--navh,72px);z-index:5;margin:0 -1.2rem;background:var(--nero);padding-left:1.2rem;padding-right:1.2rem}
}
@media(min-width:900px){
  .wm-view .wa-col-r{display:flex;flex-direction:column;max-height:calc(100vh - 2rem);overflow:hidden}
  .wm-view .wm-det{display:flex;flex-direction:column;min-height:0;flex:1}
  .wm-view .wm-det .wa-chat{flex:1;min-height:200px;max-height:none;overflow-y:auto}
  .wm-view .wa-col-l{max-height:calc(100vh - 7rem);overflow-y:auto;padding-right:.2rem}
}
/* menu ⋯ e fogli dei tag */
.wm-menu{display:flex;flex-direction:column}
.wm-menu>button,.wm-menu-a{all:unset;cursor:pointer;box-sizing:border-box;display:flex;flex-direction:column;gap:.1rem;padding:.8rem .2rem;border-bottom:1px solid var(--line);font-family:var(--ff-b);color:var(--crema);font-size:.95rem;text-decoration:none}
.wm-menu>button span,.wm-menu-a span{display:flex;align-items:center;gap:.45rem}
.wm-menu small{font-size:.74rem;color:var(--cenere)}
.wm-menu-g{padding:.75rem .2rem;border-bottom:1px solid var(--line)}
.wm-menu-g>span{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere);margin-bottom:.45rem}
.wm-menu-g>div{display:flex;gap:.4rem;flex-wrap:wrap}
.wm-tl{display:flex;flex-direction:column;margin:.3rem 0 .6rem}
.wm-tl-r{all:unset;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;gap:.7rem;padding:.62rem .2rem;border-bottom:1px solid var(--line);font-family:var(--ff-b);width:100%}
.wm-tl-r.fisso{cursor:default}
.wm-tl-r b{flex:1;min-width:0;font-weight:600;color:var(--crema);font-size:.92rem;display:flex;flex-direction:column}
.wm-tl-r b em{font-style:normal;font-weight:400;font-size:.72rem;color:var(--cenere);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wm-tl-r small{font-size:.74rem;color:var(--cenere);flex:none}
.wm-tl-r.on{background:color-mix(in srgb,var(--oro) 7%,transparent)}
.wm-sw{width:20px;height:20px;border-radius:50%;flex:none}
.wm-ck{font-style:normal;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;font-size:.8rem;color:var(--ink);flex:none}
.wm-tl-r.on .wm-ck{background:var(--oro);border-color:var(--oro)}
.wm-hint{font-size:.76rem;color:var(--cenere);margin:.2rem 0 .4rem}
.wm-tgf{border:1px solid var(--line);border-radius:12px;padding:.7rem .75rem;display:flex;flex-direction:column;gap:.5rem}
.wm-tgf-t{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere)}
.wm-tgf textarea{resize:vertical;font-size:.86rem}
.wm-pal{display:flex;gap:.5rem;flex-wrap:wrap}
.wm-pal button{all:unset;cursor:pointer;width:32px;height:32px;border-radius:50%}
.wm-pal button.on{outline:2px solid var(--crema);outline-offset:2px}
.wm-tgf .acts{margin-top:.2rem}
.wm-del{color:var(--danger)!important;margin-right:auto}
.ag-seg.ag-seg4,.ag-seg:has(button:nth-child(4)){grid-template-columns:repeat(4,1fr)}
/* 2.11.0 · Altro sul telefono: riquadri + «Tutto il gestionale» */
.alt-g{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:.6rem 0 .9rem}
.alt-g button{all:unset;cursor:pointer;box-sizing:border-box;position:relative;border:1px solid var(--line);border-radius:14px;padding:.85rem .8rem;display:flex;flex-direction:column;gap:.3rem;background:var(--card);font-family:var(--ff-b);min-height:92px}
.alt-g button svg{width:22px;height:22px;stroke:var(--oro-l);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.alt-g button b{font-weight:600;color:var(--crema);font-size:.94rem}
.alt-g button small{color:var(--cenere);font-size:.72rem;line-height:1.3}
.alt-g button .badge{position:absolute;top:.6rem;right:.6rem}
.alt-tutto{all:unset;cursor:pointer;box-sizing:border-box;width:100%;display:flex;justify-content:space-between;align-items:center;gap:.6rem;border:1px dashed var(--line-2);border-radius:12px;padding:.75rem .9rem;font-family:var(--ff-b)}
.alt-tutto span{display:flex;flex-direction:column;gap:.15rem}
.alt-tutto b{color:var(--crema);font-weight:600;font-size:.9rem}
.alt-tutto small{color:var(--cenere);font-size:.74rem}
.alt-tutto i{font-style:normal;color:var(--grigio);font-size:1.2rem;transition:transform .2s}
.alt-tutto[aria-expanded="true"] i{transform:rotate(90deg)}
.alt-tutto-l[hidden]{display:none}
.alt-lab{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);margin:1rem 0 .3rem}
.alt-l{display:flex;flex-direction:column}
.alt-l button{all:unset;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;gap:.75rem;padding:.68rem .2rem;border-bottom:1px solid var(--line);color:var(--crema);font-family:var(--ff-b);font-size:.92rem;position:relative}
.alt-l button svg{width:20px;height:20px;stroke:var(--oro-l);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.alt-l button span{flex:1}
.alt-l button .badge{position:static}
@media(max-width:899px){.wm-in-chat .wm-det{min-height:calc(100dvh - var(--header-h,62px) - var(--navh,72px) - .2rem)}.wm-in-chat .wa-chat{flex:1}}
.wm-det .wa-b.bozza .wa-bz-acts{flex-wrap:nowrap;gap:.3rem}
.wm-det .wa-b.bozza .wa-bz-acts .btn{padding:.42rem .62rem;font-size:.6rem;letter-spacing:.06em;min-height:34px;white-space:nowrap}
.wm-det .wa-b.bozza .wa-bz-acts .btn .ic-rig{margin-right:.3rem}
.wm-det .wa-b.bozza .wa-bz-acts .wm-x{min-width:34px;padding:.42rem .5rem;margin-left:auto}
/* 2.11.1 · casella Microsoft e firma grafica */
.px-ms{border:1px solid color-mix(in srgb,var(--brina-l,#4FA3D9) 45%,transparent);background:color-mix(in srgb,var(--brina-l,#4FA3D9) 6%,transparent);border-radius:14px;padding:.85rem .9rem;margin:.7rem 0}
.px-ms[hidden],[data-pf-p][hidden],#pcPwBox[hidden],#pcServer[hidden]{display:none}
.px-ms>b{color:var(--crema);font-size:.95rem}
.px-ms>p{font-size:.8rem;color:var(--grigio);margin:.35rem 0 .7rem;line-height:1.45}
.px-ms-st{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--grigio);margin-bottom:.65rem}
.px-ms-st i{width:9px;height:9px;border-radius:50%;background:var(--cenere);flex:none}.px-ms-st i.ok{background:var(--fatto,#3DA35D)}
.px-ms-st b{color:var(--crema)}
.px-ms-b{all:unset;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;border-radius:12px;background:#2F6FB3;color:#fff;font-weight:700;font-size:.92rem;font-family:var(--ff-b)}
.px-ms-b:disabled{opacity:.6;cursor:wait}
.px-ms-x{all:unset;cursor:pointer;display:block;margin:.55rem auto 0;font-size:.8rem;color:var(--danger);padding:.3rem .5rem}
.px-ms-d{margin-top:.75rem;border-top:1px solid var(--line);padding-top:.6rem}
.px-ms-d>summary{cursor:pointer;font-size:.8rem;color:var(--brina-l);list-style:none;padding:.2rem 0}
.px-ms-d>summary::-webkit-details-marker{display:none}
.px-ms-d>summary::after{content:' ›'}.px-ms-d[open]>summary::after{content:' ⌄'}
.px-ms-g{font-size:.82rem;color:var(--grigio);line-height:1.5}
.px-ms-gt{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere);margin:.5rem 0 .2rem}
.px-ms-g p{margin:.2rem 0 .5rem}
.px-ms-g ol{margin:.3rem 0;padding-left:1.2rem}.px-ms-g li{margin:.3rem 0}.px-ms-g b{color:var(--crema)}
.px-ms-uri{display:flex;align-items:center;gap:.5rem;border:1px dashed var(--line-2);border-radius:10px;padding:.5rem .6rem;margin:.3rem 0 .4rem;font-size:.76rem;color:var(--brina-l);word-break:break-all}
.px-ms-uri span{flex:1;min-width:0}
.px-ms-n{font-size:.74rem!important;color:var(--cenere)}
.px-fi{margin:.7rem 0}
.px-fi-seg{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line-2);border-radius:10px;overflow:hidden;margin:.25rem 0 .7rem}
.px-fi-seg button{all:unset;cursor:pointer;text-align:center;padding:.6rem 0;font-size:.82rem;color:var(--grigio);font-family:var(--ff-b)}
.px-fi-seg button.on{background:var(--oro);color:var(--ink);font-weight:700}
.px-fi-logo{display:flex;align-items:center;gap:.75rem;border:1px solid var(--line);border-radius:12px;padding:.55rem .65rem;margin-bottom:.4rem}
.px-fi-logo img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:8px;padding:4px;flex:none}
.px-fi-logo div{flex:1;min-width:0;font-size:.8rem;color:var(--grigio)}.px-fi-logo div b{display:block;color:var(--crema)}.px-fi-logo small{font-size:.72rem;color:var(--cenere)}
.px-fi-up{position:relative;cursor:pointer;display:inline-flex;align-items:center}
.px-fi-ripr{all:unset;cursor:pointer;font-size:.76rem;color:var(--brina-l);text-decoration:underline;text-underline-offset:2px;margin:.1rem 0 .5rem;display:inline-block}
.px-fi-ripr[hidden]{display:none}
.px-fi-n{display:block;font-size:.72rem;color:var(--cenere);margin-top:.3rem;line-height:1.4}
.px-fi-prev{margin-top:.75rem}
.px-fi-pl{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere);margin-bottom:.35rem}
.px-fi-card{background:#fff;border-radius:12px;padding:1rem .9rem;overflow-x:auto;color:#222}
.px-fi-card p{margin:0 0 14px;font:14px Arial,Helvetica,sans-serif;color:#222}
.px-fi-card img{max-width:100%;height:auto}
.px-fi-vuota{font:13px Arial,sans-serif;color:#888}
html[data-tema="chiaro"] .px-fi-card{border:1px solid var(--line)}
.px-cas-b .btn{padding-left:.6rem;padding-right:.6rem;letter-spacing:.06em}
/* 2.11.2 · scontrino del DUI (settimana da fatturare e scheda del DUI) e dati per la fattura */
.rcard-fatt.con-sc{flex-wrap:wrap}
.rcard-sc{flex:1 1 100%;min-width:0}
@media(min-width:900px){.rcard-fatt.con-sc{flex-wrap:nowrap;align-items:flex-start}.rcard-sc{flex:0 0 310px}.rcard-sc .sc{margin-top:0}}
.sc{background:#FBF8F1;color:#1E2A33;border-radius:6px;padding:.75rem .85rem .65rem;font-family:Arial,Helvetica,sans-serif;font-size:.8rem;line-height:1.3;margin-top:.7rem;border-top:3px dashed #D8CFB8;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.sc-h{display:flex;justify-content:space-between;margin:0 0 .45rem;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#6B7780}
.sc .sc-r{display:flex;gap:.6rem;align-items:baseline;padding:.17rem 0}
.sc .sc-r span{flex:1;min-width:0;overflow-wrap:anywhere}
.sc .sc-r small{display:block;color:#6B7780;font-size:.7rem;margin-top:.05rem}
.sc .sc-r b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.sc .sc-r.mat{padding-left:.6rem}
.sc .sc-r.urg span{color:#B5651D;font-weight:600}
.sc .sc-r.sconto b{color:#2F7A42}
.sc .sc-r.agg span{color:#6B7780;font-style:italic}
.sc-g{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#B5651D;margin:.45rem 0 .1rem}
.sc-sep{border-top:1px dashed #C9CFD4;margin:.45rem 0}
.sc-tot{display:flex;justify-content:space-between;font-size:1rem;font-weight:700;padding:.1rem 0}
.sc-iva,.sc-pag{display:flex;justify-content:space-between;gap:.6rem;color:#6B7780;font-size:.72rem;margin-top:.15rem}
.sc-pag{margin-top:.4rem}
.rap-sc{max-width:440px;margin:.8rem 0 .2rem}
.df{display:flex;flex-wrap:wrap;gap:.3rem .55rem;align-items:center;margin-top:.55rem;font-size:.74rem;color:var(--grigio)}
.df-t{border:1px solid var(--line-2);border-radius:999px;padding:.12rem .55rem;color:var(--crema);font-weight:600}
.df-ko{border:1px solid color-mix(in srgb,var(--danger) 60%,transparent);color:var(--danger);border-radius:999px;padding:.12rem .55rem}
.df-b{all:unset;cursor:pointer;color:var(--brina-l);text-decoration:underline;text-underline-offset:2px;padding:.15rem 0}
.df-hint{font-size:.8rem;color:var(--grigio);line-height:1.45;margin:.1rem 0 .7rem}
.df-es{font-size:.72rem;margin-top:.2rem;min-height:.9rem}.df-es .ok{color:var(--verde)}.df-es .ko{color:var(--danger)}
.df-anteprima{border:1px solid var(--line);border-radius:10px;padding:.6rem .7rem;font-size:.78rem;color:var(--grigio);line-height:1.45;margin-top:.7rem}
.df-anteprima b{color:var(--crema)}
.crumb .crumb-torna{color:var(--oro-l);font-weight:600}
html[data-tema="chiaro"] .sc{border:1px solid #E6DCC2}
.sc b,.sc .sc-r b{color:#1E2A33}.sc .sc-r.sconto b{color:#2F7A42}.sc .sc-r.agg b{color:#6B7780}   /* 2.13.9: solo dentro lo scontrino (prima scuriva i dati della scheda della tappa) */
.sc span{color:inherit}
@media(max-width:480px){.rcard-fatt{padding-left:2.6rem}.rcard-check{left:.6rem;top:.75rem}}   /* 2.11.2: la spunta non copre più la foto sul telefono */
.df-chi{color:var(--crema);font-weight:700;font-size:1rem;margin:-.35rem 0 .35rem}
/* ===== 2.11.3 · riquadro «Dati per la fattura» (DUI e scheda cliente) ===== */
.dfb{margin:.55rem 0 .3rem;padding:.9rem .85rem .85rem;border:1px solid rgba(191,160,64,.42);border-radius:12px;background:linear-gradient(160deg,rgba(191,160,64,.08),transparent 65%),var(--card)}
.dfb-h{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--crema);font-size:1rem;margin-bottom:.15rem}
.dfb-h svg{width:18px;height:18px;stroke:var(--oro-l);fill:none;stroke-width:1.8;flex-shrink:0}
.dfb-s{font-size:.76rem;color:var(--grigio);margin:0 0 .65rem;line-height:1.4}
.dfb .seg3{grid-template-columns:1fr 1.25fr 1fr;margin-bottom:.7rem}
.dfb .seg3 button{font-size:.8rem;padding:.62rem .3rem;text-align:center}
@media(max-width:420px){.dfb .seg3{grid-template-columns:1fr 1.25fr 1fr}.dfb .seg3 button{display:block;text-align:center;padding:.6rem .25rem;font-size:.76rem}}
.dfb .dfb-g{margin-top:0}
.dfb [data-dfw][hidden]{display:none!important}
.dfb [data-dfw="Rs"]{order:1}.dfb [data-dfw="Cog"]{order:2}.dfb [data-dfw="Nom"]{order:3}.dfb [data-dfw="Cf"]{order:4}.dfb [data-dfw="Piva"]{order:5}.dfb [data-dfw="Ug"]{order:6}.dfb [data-dfw="Sdi"]{order:8}.dfb [data-dfw="Pec"]{order:9}
.dfb[data-tipo="azienda"] [data-dfw="Cf"]{order:7}
.dfb .dui-cf{margin-top:.3rem}
.dfb-ugb{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--grigio);background:none;border:0;padding:.15rem 0;cursor:pointer;text-align:left}
.dfb-ugb i{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-style:normal}
.dfb-ugb[aria-pressed="true"] i{background:var(--oro);border-color:var(--oro)}
.dfb-ugb[aria-pressed="true"] i:after{content:'✓';color:#111;font-size:.72rem;font-weight:800}
.dfb-manca{display:inline-block;margin-top:.6rem;font-size:.76rem;line-height:1.35;color:#F0A35E;border:1px solid rgba(240,163,94,.5);border-radius:12px;padding:.25rem .65rem}
.dfb-manca[hidden]{display:none}
.dfb-ant{font-size:.76rem;line-height:1.5;color:var(--grigio);border-top:1px dashed var(--line-2);margin-top:.75rem;padding-top:.6rem}.dfb-ant b{color:var(--crema)}
.dfb.flash,.rcard-fatt.flash{animation:duiFlash 1.1s var(--ease)}
.sheet .dfb{margin-top:.2rem}
@media(min-width:700px){.dfb .dfb-g{grid-template-columns:1fr 1fr}.dfb [data-dfw="Cf"],.dfb [data-dfw="Piva"]{grid-column:auto}}
[data-tema="chiaro"] .dfb-manca{color:#A4541A;border-color:rgba(164,84,26,.45)}
.dfb-foglio .dfb-h{display:none}.dfb-foglio{padding-top:.75rem}
/* ===== 2.12.0 · più pagine aperte, come le schede di Chrome ===== */
.pg-bar{display:flex;align-items:flex-end;gap:.35rem;position:sticky;top:0;z-index:45;background:rgba(var(--nero-rgb),.97);border-bottom:1px solid var(--line);padding:.5rem 1rem 0}
.pg-l{display:flex;align-items:flex-end;gap:2px;min-width:0;flex:0 1 auto;overflow-x:auto;scrollbar-width:none}
.pg-l::-webkit-scrollbar{display:none}
.pg-t{position:relative;display:flex;align-items:center;flex:0 1 220px;min-width:120px;max-width:240px;border:1px solid transparent;border-bottom:0;border-radius:10px 10px 0 0;top:1px}
.pg-t:not(.on)+.pg-t:not(.on):before{content:'';position:absolute;left:-2px;top:28%;bottom:28%;border-left:1px solid var(--line-2)}
.pg-t.on{background:var(--nero);border-color:var(--line)}
.pg-v{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;padding:.55rem .35rem .55rem .75rem;background:none;border:0;color:var(--grigio);font:600 .8rem var(--ff-b);cursor:pointer;text-align:left}
.pg-v svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0}
.pg-v span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pg-t.on .pg-v{color:var(--crema)}.pg-t.on .pg-v svg{stroke:var(--oro-l)}
.pg-t:not(.on):hover .pg-v{color:var(--crema)}
.pg-x{flex-shrink:0;width:24px;height:24px;margin-right:.35rem;border-radius:6px;border:0;background:none;color:var(--cenere);font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pg-x:hover{background:rgba(255,255,255,.08);color:var(--crema)}
.pg-n{flex-shrink:0;width:32px;height:32px;margin:0 0 .3rem .15rem;border-radius:8px;border:1px solid var(--line-2);background:transparent;color:var(--oro-l);font-size:1.15rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pg-n:hover{border-color:var(--oro)}
.pg-q{display:none}
@media(min-width:700px) and (max-width:899px){.pg-bar{margin-left:200px;padding:.5rem 1.6rem 0}}
@media(min-width:900px){.pg-bar{margin-left:232px;padding:.6rem 2.8rem 0}}
@media(min-width:700px){.pg-bar+.hub-bar:not([hidden]){padding-top:1rem}}
/* telefono: fila di linguette solo con 2+ pagine, sotto l'intestazione; il quadratino con il numero sempre */
@media(max-width:699px){
  .pg-bar{top:calc(var(--header-h) + var(--sat));padding:.45rem .8rem .5rem;gap:.4rem;align-items:center;background:rgba(var(--nero-rgb),.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .pg-bar.una{display:none}
  .pg-l{gap:.4rem;flex:1}
  .pg-t{flex:0 0 auto;min-width:0;max-width:158px;border:1px solid var(--line-2);border-radius:999px;top:0}
  .pg-t:before{display:none!important}
  .pg-t.on{border-color:var(--oro);background:rgba(191,160,64,.12)}
  .pg-t.on .pg-v{color:var(--oro-l)}
  .pg-v{padding:.4rem .2rem .4rem .65rem;font-size:.74rem}
  .pg-x{width:26px;height:26px;margin-right:.15rem}
  .pg-n{margin:0;width:34px;height:34px;border-radius:999px}
  .pg-q{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-right:.15rem;background:none;border:0;cursor:pointer;padding:0}
  .pg-q span{min-width:22px;height:22px;padding:0 .2rem;border:1.8px solid var(--crema);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font:700 .74rem var(--ff-b);color:var(--crema)}
}
/* elenco «Pagine aperte» */
.pg-s{font-size:.82rem;color:var(--grigio);margin:-.2rem 0 .9rem;line-height:1.45}
.pg-r{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line-2);border-radius:12px;margin-bottom:.5rem;background:var(--card)}
.pg-r.on{border-color:var(--oro);background:linear-gradient(160deg,rgba(191,160,64,.12),transparent 70%),var(--card)}
.pg-rv{flex:1;min-width:0;display:flex;align-items:center;gap:.7rem;padding:.75rem .2rem .75rem .8rem;background:none;border:0;text-align:left;cursor:pointer;color:inherit}
.pg-rv svg{width:20px;height:20px;stroke:var(--oro-l);fill:none;stroke-width:1.8;flex-shrink:0}
.pg-rv span{min-width:0}.pg-rv b{display:block;color:var(--crema);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pg-rv small{display:block;color:var(--cenere);font-size:.74rem;margin-top:.1rem}
.pg-rx{flex-shrink:0;width:36px;height:36px;margin-right:.55rem;border-radius:9px;border:1px solid var(--line-2);background:none;color:var(--cenere);font-size:1.15rem;cursor:pointer}
.pg-nb{display:block;width:100%;margin-top:.4rem;padding:.85rem;border:1px dashed var(--oro);border-radius:12px;background:transparent;color:var(--oro-l);font:700 .9rem var(--ff-b);cursor:pointer}
.pg-nb:disabled{opacity:.45;cursor:default}
.pg-h{font-size:.76rem;color:var(--cenere);margin:.85rem 0 0;line-height:1.45}
/* avviso «Aperta in una pagina nuova · Vai» */
.pg-avv{position:fixed;left:50%;bottom:calc(84px + var(--sab));transform:translateX(-50%);z-index:300;display:flex;align-items:center;gap:.9rem;background:#1E2A33;color:#F0EBE0;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.6rem .6rem .6rem 1rem;font:600 .86rem var(--ff-b);box-shadow:0 10px 30px rgba(0,0,0,.45);animation:pgAvv .25s var(--ease)}
.pg-avv button{background:var(--oro);color:#111;border:0;border-radius:8px;padding:.45rem .9rem;font:800 .8rem var(--ff-b);letter-spacing:.04em;cursor:pointer}
.pg-avv.via{opacity:0;transition:opacity .3s}
@media(min-width:900px){.pg-avv{bottom:28px;left:calc(232px + (100vw - 232px)/2)}}
@keyframes pgAvv{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
[data-v],[data-rap],[data-cli],[data-go]{-webkit-touch-callout:none}
[data-tema="chiaro"] .pg-x:hover{background:rgba(0,0,0,.06)}
/* la barra delle pagine resta in alto: gli altri pezzi «appiccicati» si mettono sotto di lei (--pg-h = sua altezza, 0 se nascosta) */
.pg-bar{background:rgb(var(--nero-rgb))}
@media(min-width:700px){
  .dui-progress,.cpi-barra-az{top:calc(var(--sat) + var(--pg-h,0px))}
  .wa-col-r,.cf-det-box{top:calc(1rem + var(--pg-h,0px))}
}
@media(max-width:699px){
  .dui-progress,.cpi-barra-az{top:calc(var(--sat) + var(--header-h) + var(--pg-h,0px))}
}
@media(max-width:699px){.wm-in-chat .wm-ch{top:calc(var(--sat) + var(--header-h) + var(--pg-h,0px))}}
@media(min-width:700px) and (max-width:899px){.wm-in-chat .wm-ch{top:var(--pg-h,0px)}}
@media(min-width:900px){.wm-view .wa-col-r{max-height:calc(100vh - 2rem - var(--pg-h,0px))}}
/* ===================== 2.13.0 · POSTA in stile Mail ===================== */
.ml-v{padding-bottom:0}
.ml{display:grid;grid-template-columns:minmax(300px,370px) minmax(0,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);height:calc(100vh - 12.5rem - var(--pg-h,0px));min-height:540px}
.ml-l{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line);background:rgba(255,255,255,.015)}
.ml-lh{padding:1rem 1rem .65rem;display:flex;flex-direction:column;gap:.6rem}
.ml-lt{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}
.ml-lt h2{margin:0;font:700 1.4rem/1.15 var(--ff-b);color:var(--crema);letter-spacing:-.01em}
.ml-lt small{display:block;font:500 .74rem var(--ff-b);color:var(--cenere);margin-top:.2rem;word-break:break-all}
.ml-lta{display:flex;gap:.1rem}
.ml-ib{width:36px;height:36px;border-radius:10px;border:0;background:transparent;color:var(--grigio);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;padding:0}
.ml-ib:hover{background:rgba(255,255,255,.07);color:var(--crema)}
.ml-ib.oro{color:var(--oro-l)}
.ml-ib svg,.ml-tg svg,.ml-reply svg,.mc svg,.ml-att svg,.ml-sololett svg,.ml-ai-h svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ml-ib:disabled{opacity:.5}
.gira svg{animation:mlGira 1s linear infinite}@keyframes mlGira{to{transform:rotate(360deg)}}
.ml-cerca{display:flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.065);border-radius:10px;padding:0 .7rem;color:var(--cenere);margin:0}
.ml-cerca svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}
.ml-cerca input{border:0!important;background:transparent!important;box-shadow:none!important;padding:.55rem 0!important;font:500 .88rem var(--ff-b);color:var(--crema);min-height:0;width:100%}
.ml-seg{display:flex;background:rgba(255,255,255,.065);border-radius:9px;padding:2px;gap:2px}
.ml-seg button{flex:1;border:0;background:transparent;color:var(--grigio);font:600 .72rem var(--ff-b);padding:.4rem .15rem;border-radius:7px;white-space:nowrap;cursor:pointer;letter-spacing:0;text-transform:none}
.ml-seg button.on{background:var(--mid);color:var(--crema);box-shadow:0 1px 3px rgba(0,0,0,.35)}
.ml-seg button i{font-style:normal;color:var(--oro-l);margin-left:.25rem}
.ml-cas{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none}
.ml-cas button{border:1px solid var(--line-2);background:transparent;color:var(--grigio);border-radius:999px;padding:.25rem .65rem;font:600 .7rem var(--ff-b);white-space:nowrap;cursor:pointer}
.ml-cas button.on{border-color:var(--oro);color:var(--oro-l)}
.ml-err{font:500 .76rem/1.4 var(--ff-b);color:#F0A35E;background:rgba(240,163,94,.1);border-radius:9px;padding:.5rem .65rem}
.ml-err button{border:0;background:none;color:var(--brina-l);font-weight:700;cursor:pointer;padding:0}
.ml-rows{overflow:auto;flex:1;overscroll-behavior:contain;min-height:0}
.ml-r{display:grid;grid-template-columns:14px minmax(0,1fr);gap:.3rem;width:100%;text-align:left;padding:.72rem 1rem .78rem .5rem;border:0;border-top:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;font:inherit}
.ml-r:hover{background:rgba(255,255,255,.03)}
.ml-r.on{background:rgba(191,160,64,.14)}
.ml-dot{width:8px;height:8px;border-radius:50%;margin:.42rem 0 0 .2rem}
.ml-r.nuovo .ml-dot{background:var(--oro-l)}
.ml-rc{min-width:0;display:block}
.ml-r1{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}
.ml-r1 b{font:700 .9rem var(--ff-b);color:var(--crema);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-r1 b small{font-weight:600;color:var(--cenere);font-size:.72rem}
.ml-r1>span{font:500 .72rem var(--ff-b);color:var(--cenere);white-space:nowrap}
.ml-r.nuovo .ml-r1>span{color:var(--oro-l)}
.ml-r2{display:block;font:600 .82rem var(--ff-b);color:var(--crema);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem}
.ml-r:not(.nuovo) .ml-r2{font-weight:500;color:var(--grigio)}
.ml-r3{display:-webkit-box;font:400 .8rem/1.38 var(--ff-b);color:var(--cenere);-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:.12rem}
.ml-r4{display:flex;gap:.3rem;margin-top:.38rem;flex-wrap:wrap}
.ml-tg{display:inline-flex;align-items:center;gap:.2rem;font:600 .66rem var(--ff-b);padding:.12rem .45rem;border-radius:6px;background:rgba(255,255,255,.07);color:var(--grigio)}
.ml-tg svg{width:11px;height:11px;stroke-width:2}
.ml-tg.g{background:rgba(124,185,124,.14);color:#8CC98C}.ml-tg.o{background:rgba(191,160,64,.16);color:var(--oro-l)}.ml-tg.r{background:rgba(226,85,43,.15);color:#F08A6A}
.ml-none,.ml-sync{font:500 .8rem var(--ff-b);color:var(--cenere);padding:1rem;text-align:center}
.ml-sync{font-size:.7rem;padding:.8rem;border-top:1px solid var(--line)}
.ml-intro{padding:1.4rem 1.2rem}.ml-intro b{font:700 1.1rem var(--ff-b);color:var(--crema)}.ml-intro p{font-size:.86rem;color:var(--grigio);line-height:1.5}
.ml-read{min-width:0;display:flex;flex-direction:column;overflow:hidden}
/* 2.13.1 — la rotella: i due riquadri hanno un'altezza fissa e scorrono dentro (prima crescevano quanto il contenuto e venivano tagliati) */
.ml{grid-template-rows:minmax(0,1fr)}
.ml>.ml-l,.ml>.ml-read{min-height:0;overflow:hidden}
.ml>.ml-read>.ml-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.ml-piu{display:block;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--brina-l);font:600 .8rem var(--ff-b);padding:.9rem;cursor:pointer}
.ml-piu:disabled{color:var(--cenere);cursor:default}
.ml-vuoto{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;color:var(--cenere);font:500 .9rem var(--ff-b)}
.ml-vuoto .ml-vi{width:44px;height:44px;stroke:var(--line-2);fill:none;stroke-width:1.2}
.ml-tb{display:flex;align-items:center;gap:.1rem;padding:.5rem .8rem;border-bottom:1px solid var(--line);flex-shrink:0}
.ml-tb .sp{flex:1}.ml-tb .sep{width:1px;height:22px;background:var(--line-2);margin:0 .35rem}
.ml-sololett{display:inline-flex;align-items:center;gap:.4rem;font:600 .76rem var(--ff-b);color:var(--cenere);padding:0 .4rem}
.ml-sololett svg{width:17px;height:17px}
.ml-body{padding:1.25rem 1.6rem 2.2rem;overflow:auto;flex:1;overscroll-behavior:contain}
.ml-ogg{font:700 1.35rem/1.28 var(--ff-b);color:var(--crema);letter-spacing:-.01em;margin:0 0 .7rem}
.ml-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 1rem}
.ml-chip{display:inline-flex;align-items:center;gap:.35rem;font:600 .74rem var(--ff-b);padding:.32rem .7rem;border-radius:999px;border:1px solid var(--line-2);color:var(--grigio);background:transparent;cursor:default}
button.ml-chip{cursor:pointer}button.ml-chip:hover{border-color:var(--grigio);color:var(--crema)}
.ml-chip.g{border-color:rgba(124,185,124,.45);color:#8CC98C}.ml-chip.b{color:var(--brina-l);border-style:dashed}.ml-chip.r{border-color:rgba(240,138,106,.5);color:#F08A6A}
.ml-msg{margin-bottom:1.3rem}
.ml-from{display:flex;align-items:center;gap:.75rem;margin-bottom:.7rem}
.ml-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(160deg,#5B6B78,#35414A);color:#fff;display:inline-flex;align-items:center;justify-content:center;font:700 .82rem var(--ff-b);flex-shrink:0}
.ml-av.s{width:34px;height:34px;font-size:.74rem}
.ml-av.noi{background:linear-gradient(160deg,var(--oro-l),#8C7020);color:#111}
.ml-fc{min-width:0}.ml-fc b{font:700 .94rem var(--ff-b);color:var(--crema)}.ml-fc small{display:block;font:500 .75rem var(--ff-b);color:var(--cenere);margin-top:.1rem;overflow-wrap:anywhere}
.ml-from .q{margin-left:auto;font:500 .74rem var(--ff-b);color:var(--cenere);text-align:right;white-space:nowrap;align-self:flex-start;padding-top:.15rem}
.ml-auto{font:500 .74rem var(--ff-b);color:var(--cenere);margin:-.2rem 0 .5rem}
.ml-paper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.3);min-height:60px}
.ml-paper iframe{display:block;width:100%;border:0;background:#fff}
.ml-paper{position:relative}
.ml-if-prep{position:absolute!important;left:0;top:0;width:100%;visibility:hidden}
.ml-tit{display:flex;flex-direction:column;gap:.6rem}
.ml-attesa{display:flex;justify-content:center;padding:2.6rem 0;color:var(--cenere)}
.ml-carico{padding:18px 20px;color:#86868b;font:14px/1.5 -apple-system,"Helvetica Neue",Arial,sans-serif;white-space:pre-wrap}
.ml-imgban{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .8rem;font:500 .76rem/1.4 var(--ff-b);color:var(--grigio);background:rgba(255,255,255,.05);border-radius:10px;padding:.5rem .75rem;margin-bottom:.55rem}
.ml-imgban[hidden]{display:none}
.ml-imgban span{flex:1 1 220px}
.ml-imgban button{border:0;background:none;color:var(--brina-l);font:700 .76rem var(--ff-b);cursor:pointer;padding:0}
.ml-att{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}
.ml-att a{display:flex;align-items:center;gap:.55rem;border:1px solid var(--line-2);border-radius:10px;padding:.5rem .75rem;color:var(--crema);font:600 .78rem var(--ff-b);text-decoration:none;max-width:100%}
.ml-att a:hover{border-color:var(--grigio)}
.ml-att a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ml-att small{display:block;color:var(--cenere);font-weight:500}
.ml-att svg{width:22px;height:22px;color:var(--oro-l);flex-shrink:0}
.ml-errm{font:500 .76rem var(--ff-b);color:#F08A6A;margin-top:.4rem}
.ml-chiusa{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;padding:.65rem 0;margin:0;cursor:pointer;color:inherit;font:inherit}
.ml-chiusa:hover .ml-cc b{color:var(--oro-l)}
.ml-cc{min-width:0;flex:1}.ml-cc b{display:block;font:700 .84rem var(--ff-b);color:var(--crema)}.ml-cc span{display:block;font:400 .78rem var(--ff-b);color:var(--cenere);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-chiusa i{font-style:normal;font:500 .72rem var(--ff-b);color:var(--cenere);white-space:nowrap}
.ml-chiusa+.ml-msg{border-top:1px solid var(--line);padding-top:1rem}
.ml-reply{margin-top:.6rem;display:flex;gap:.5rem;flex-wrap:wrap}
.ml-reply button{flex:1 1 140px;display:flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--line-2);background:transparent;border-radius:11px;padding:.72rem;color:var(--crema);font:600 .82rem var(--ff-b);cursor:pointer}
.ml-reply button:hover{border-color:var(--oro);color:var(--oro-l)}
.ml-reply svg{width:17px;height:17px}
.ml-ai{border:1px solid rgba(191,160,64,.38);background:linear-gradient(160deg,rgba(191,160,64,.10),transparent 70%);border-radius:12px;padding:.8rem .95rem;margin:0 0 1.1rem;font:500 .84rem/1.5 var(--ff-b);color:var(--grigio)}
.ml-ai.serve{border-color:rgba(226,85,43,.5)}
.ml-ai-h{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem}.ml-ai-h svg{width:17px;height:17px;color:var(--oro-l)}
.ml-ai-h b{color:var(--oro-l)}.ml-ai-h span{margin-left:auto;font-size:.7rem;color:var(--cenere)}
.ml-ai p{margin:.2rem 0}.ml-ai p.r{color:#F08A6A}.ml-ai p.a{color:#F0A35E}
.ml-ai-t{white-space:pre-wrap;color:var(--crema);background:rgba(0,0,0,.18);border-radius:9px;padding:.65rem .75rem;margin:.5rem 0}
.ml-ai-b{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.5rem}
.ml-clis{display:flex;flex-direction:column;gap:.35rem;margin-top:.7rem}
.ml-clis button{text-align:left;border:1px solid var(--line-2);border-radius:10px;background:var(--card);padding:.55rem .7rem;color:var(--crema);cursor:pointer}
.ml-clis button small{display:block;color:var(--cenere);font-size:.74rem}
/* scrivere */
html.mc-aperto,html.mc-aperto body{overflow:hidden}
.mc-ov{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:2vh 2vw;animation:mcEntra .18s var(--ease)}
.mc-ov.via{opacity:0;transition:opacity .18s}
@keyframes mcEntra{from{opacity:0}to{opacity:1}}
.mc{width:min(800px,100%);height:min(92vh,880px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line-2);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.55);overflow:hidden}
.mc-h{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border-bottom:1px solid var(--line);flex-shrink:0}
.mc-h b{flex:1;font:700 .95rem var(--ff-b);color:var(--crema);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-x{border:0;background:none;color:var(--grigio);font:600 .86rem var(--ff-b);cursor:pointer;padding:.4rem}
.mc-cest{width:36px;height:36px;border:0;background:none;color:var(--cenere);border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.mc-cest:hover{color:#F08A6A;background:rgba(255,255,255,.06)}
.mc-cest svg{width:19px;height:19px}
.mc-send{width:38px;height:38px;border-radius:50%;border:0;background:var(--oro);color:#111;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.mc-send svg{width:18px;height:18px;stroke:#111;stroke-width:2.4}
.mc-send:disabled{opacity:.6}
.mc-campi{flex-shrink:0}
.mc-f{display:flex;align-items:center;gap:.6rem;padding:0 1rem;border-bottom:1px solid var(--line);font:500 .88rem var(--ff-b);color:var(--crema);min-height:44px}
.mc-f label{color:var(--cenere);min-width:62px;font:500 .86rem var(--ff-b);margin:0}
.mc-f input,.mc-f select{flex:1;border:0!important;background:transparent!important;box-shadow:none!important;padding:.6rem 0!important;font:500 .9rem var(--ff-b);color:var(--crema);min-height:0;min-width:0}
.mc-f select{max-width:100%}
.mc-ccb{border:0;background:none;color:var(--cenere);font:600 .78rem var(--ff-b);cursor:pointer;white-space:nowrap}
.mc-tool{display:flex;align-items:center;gap:.15rem;padding:.35rem .6rem;border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0}
.mc-tool button{border:0;background:transparent;color:var(--grigio);height:32px;min-width:32px;border-radius:7px;font:700 .9rem Georgia,serif;display:inline-flex;align-items:center;justify-content:center;padding:0 .35rem;cursor:pointer}
.mc-tool button b,.mc-tool button u,.mc-tool button s{font-family:Arial,sans-serif}
.mc-tool button:hover{background:rgba(255,255,255,.07);color:var(--crema)}
.mc-tool button.on{background:rgba(191,160,64,.18);color:var(--oro-l)}
.mc-tool svg{width:17px;height:17px}
.mc-tool select{height:32px;border:1px solid var(--line-2)!important;border-radius:7px!important;background:transparent!important;color:var(--crema);font:600 .78rem var(--ff-b);padding:0 .4rem!important;min-height:0;width:auto;box-shadow:none!important}
.mc-tool .sep{width:1px;height:20px;background:var(--line-2);margin:0 .25rem}
.mc-colw{position:relative;display:inline-flex}
.mc-col{width:16px;height:16px;border-radius:50%;background:#1d1d1f;border:2px solid rgba(255,255,255,.75);display:block}
.mc-colp{position:absolute;top:36px;left:0;z-index:5;display:grid;grid-template-columns:repeat(4,26px);gap:6px;padding:8px;background:var(--card);border:1px solid var(--line-2);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.mc-colp[hidden]{display:none}
.mc-colp button{width:26px;height:26px;min-width:0;border-radius:50%;border:2px solid rgba(255,255,255,.4);padding:0}
.mc-scroll{flex:1;overflow:auto;padding:.8rem;overscroll-behavior:contain}
.mc-paper{background:#fff;color:#1d1d1f;border-radius:12px;padding:18px 20px 20px;min-height:100%;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.mc-ed{outline:none;min-height:200px;line-height:1.55;color:#1d1d1f;overflow-wrap:anywhere}
.mc-ed blockquote{margin:6px 0 6px 4px;padding-left:12px;border-left:3px solid #d2d2d7;color:#424245}
.mc-ed a{color:#0a66c2}.mc-ed img{max-width:100%;height:auto}
.mc-ed ul,.mc-ed ol{padding-left:24px}
.mc-firma{border-top:1px dashed #d2d2d7;margin-top:18px;padding-top:14px;position:relative}
.mc-fsel{position:absolute;right:0;top:-13px;background:#fff}
.mc-fsel select{border:1px solid #d2d2d7!important;border-radius:999px!important;background:#fff!important;color:#1F7DB8!important;font:600 11.5px -apple-system,Arial,sans-serif!important;padding:2px 8px!important;height:auto;min-height:0;box-shadow:none!important;width:auto}
.mc-cit{border-left:2px solid #d2d2d7;padding-left:10px;color:#6e6e73;font:13px/1.5 -apple-system,Arial,sans-serif;margin-top:16px}
.mc-cit-t{white-space:pre-wrap}
.mc-b{display:flex;align-items:center;gap:.55rem;padding:.55rem 1rem .7rem;border-top:1px solid var(--line);flex-shrink:0;flex-wrap:wrap}
.mc-all{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line-2);border-radius:9px;padding:.38rem .65rem;color:var(--crema);font:600 .8rem var(--ff-b);cursor:pointer;margin:0}
.mc-all svg{width:15px;height:15px}
.mc-files{display:flex;gap:.4rem;flex-wrap:wrap}
.mc-files span{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line-2);border-radius:9px;padding:.32rem .55rem;font:600 .76rem var(--ff-b);color:var(--crema)}
.mc-files button{border:0;background:none;color:var(--cenere);cursor:pointer;padding:0 .1rem}
.mc-st{margin-left:auto;font:500 .74rem var(--ff-b);color:var(--cenere)}
/* 2.13.2 — l'IA mentre scrivi */
.mc{position:relative}
.mc-ia{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(191,160,64,.5);border-radius:9px;padding:.38rem .7rem;background:linear-gradient(160deg,rgba(191,160,64,.16),rgba(191,160,64,.04));color:var(--oro-l);font:600 .8rem var(--ff-b);cursor:pointer}
.mc-ia svg{width:15px!important;height:15px!important}
.mc-ia:hover,.mc-ia.on{background:linear-gradient(160deg,rgba(191,160,64,.28),rgba(191,160,64,.08));border-color:var(--oro)}
.mc-ia:disabled{opacity:.55;cursor:default}
.mc-iap{position:absolute;left:1rem;bottom:calc(100% - 4px);width:340px;max-width:calc(100% - 2rem);z-index:6;background:var(--card);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.5);padding:.85rem;animation:mcEntra .16s var(--ease)}
.mc-iap[hidden]{display:none}
.mc-b{position:relative}
.mc-iap-h b{display:block;font:700 .9rem var(--ff-b);color:var(--crema)}
.mc-iap-h small{display:block;margin-top:.15rem;font:500 .74rem var(--ff-b);color:var(--cenere)}
.mc-iap-1{display:flex;align-items:center;gap:.7rem;width:100%;margin:.75rem 0 .2rem;padding:.7rem .8rem;border-radius:11px;border:1px solid rgba(191,160,64,.55);background:linear-gradient(160deg,rgba(191,160,64,.22),rgba(191,160,64,.06));color:var(--crema);text-align:left;cursor:pointer}
.mc-iap-1 svg{width:22px!important;height:22px!important;color:var(--oro-l);flex-shrink:0}
.mc-iap-1 b{display:block;font:700 .92rem var(--ff-b);color:var(--oro-l)}
.mc-iap-1 small{display:block;font:500 .74rem var(--ff-b);color:var(--grigio)}
.mc-iap-1:hover{border-color:var(--oro)}
.mc-iap-l{margin:.75rem 0 .4rem;font:600 .66rem var(--ff-b);letter-spacing:.14em;text-transform:uppercase;color:var(--cenere)}
.mc-iap-t{display:flex;flex-wrap:wrap;gap:.4rem}
.mc-iap-t button{border:1px solid var(--line-2);background:transparent;color:var(--crema);border-radius:999px;padding:.42rem .8rem;font:600 .8rem var(--ff-b);cursor:pointer;min-height:34px}
.mc-iap-t button:hover{border-color:var(--oro);color:var(--oro-l)}
.mc-iab{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .7rem;margin:-4px 0 12px;padding:7px 10px;border-radius:9px;background:#FBF5E2;border:1px solid #EBDDAF;color:#6B5A1E;font:500 12.5px/1.35 -apple-system,Arial,sans-serif}
.mc-iab[hidden]{display:none}
.mc-iab svg{width:15px;height:15px;stroke:#B8902C;fill:none;stroke-width:1.7;stroke-linejoin:round;flex-shrink:0}
.mc-iab span{flex:1;min-width:160px}
.mc-iab b{color:#5A4A12}
.mc-iab button{border:0;background:none;color:#1F7DB8;font:600 12.5px -apple-system,Arial,sans-serif;cursor:pointer;padding:4px 2px}
.mc-paper{position:relative}
.mc-paper.ia-lav .mc-ed{opacity:.35;transition:opacity .2s}
.mc-paper.ia-lav::after{content:'L\2019IA sta riscrivendo\2026';position:absolute;left:0;right:0;top:0;height:min(100%,320px);display:flex;align-items:center;justify-content:center;border-radius:12px;font:600 14px var(--ff-b);color:#8A6D1F;
  background:linear-gradient(110deg,rgba(255,255,255,0) 25%,rgba(240,224,170,.75) 50%,rgba(255,255,255,0) 75%);background-size:250% 100%;animation:iaLuce 1.3s linear infinite}
@keyframes iaLuce{from{background-position:120% 0}to{background-position:-120% 0}}
/* 2.13.4 — note per la fatturazione (DUI → Emanuele) */
.nf-campo{margin-top:1rem}
.nf-s{display:flex;gap:.4rem;align-items:center;margin-top:.35rem;font:500 .76rem/1.35 var(--ff-b);color:var(--cenere)}
.nf-s svg,.nf-box svg,.nf-r svg,.nf-avv svg{stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nf-s svg{width:14px;height:14px}
.nf-box{display:flex;gap:.6rem;align-items:flex-start;margin:.6rem 0 .2rem;padding:.6rem .75rem;border-radius:10px;background:rgba(240,163,94,.10);border:1px solid rgba(240,163,94,.45);color:var(--crema);font:400 .85rem/1.45 var(--ff-b);overflow-wrap:anywhere}
.nf-box>svg{width:18px;height:18px;color:#F0A35E;margin-top:.1rem}
.nf-box b{display:block;font:600 .68rem var(--ff-b);letter-spacing:.12em;text-transform:uppercase;color:#F0A35E;margin-bottom:.15rem}
.nf-box span{display:block}
.nf-r{display:flex!important;gap:.3rem;align-items:flex-start;margin-top:.2rem;color:#F0A35E!important;overflow-wrap:anywhere}
.nf-r svg{width:12px;height:12px;margin-top:.15rem}
.nf-avv{display:flex;gap:.5rem;align-items:center;margin:-.4rem 0 1rem;padding:.5rem .75rem;border-radius:10px;background:rgba(240,163,94,.10);border:1px solid rgba(240,163,94,.4);color:#F0A35E;font:600 .8rem/1.35 var(--ff-b)}
.nf-avv svg{width:16px;height:16px}
[data-tema="chiaro"] .nf-box{background:#FFF4E6;color:#3A2A10;border-color:#F0C9A0}
[data-tema="chiaro"] .nf-box>svg,[data-tema="chiaro"] .nf-box b,[data-tema="chiaro"] .nf-r,[data-tema="chiaro"] .nf-avv{color:#B5651D!important}
[data-tema="chiaro"] .nf-avv{background:#FFF4E6;border-color:#F0C9A0}
/* 2.13.4 — l'IA migliora anche i messaggi WhatsApp */
.wm-piede{position:relative}
.wm-cmp{position:relative}
.wm-iabtn{all:unset;cursor:pointer;box-sizing:border-box;height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:0 .85rem;border-radius:22px;border:1px solid color-mix(in srgb,var(--oro) 70%,transparent);background:linear-gradient(160deg,rgba(191,160,64,.16),rgba(191,160,64,.04));color:var(--oro-l);font:600 .84rem var(--ff-b);flex:none}
.wm-iabtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.wm-iabtn.on,.wm-iabtn:not(:disabled):hover{background:linear-gradient(160deg,rgba(191,160,64,.3),rgba(191,160,64,.08));border-color:var(--oro)}
.wm-iabtn:disabled{opacity:.5;cursor:default}
.wm-iap{left:auto;right:.9rem;bottom:calc(100% - .3rem)}
.wm-iap svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.wm-iab{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .7rem;margin:0 0 .5rem;padding:.4rem .7rem;border-radius:10px;background:rgba(191,160,64,.1);border:1px solid rgba(191,160,64,.35);color:var(--grigio);font:500 .78rem/1.35 var(--ff-b)}
.wm-iab[hidden]{display:none}
.wm-iab svg{width:15px;height:15px;fill:none;stroke:var(--oro-l);stroke-width:1.7;stroke-linejoin:round;flex:none}
.wm-iab span{flex:1;min-width:130px}
.wm-iab b{color:var(--crema)}
.wm-iab button{all:unset;cursor:pointer;color:var(--oro-l);font:600 .78rem var(--ff-b);padding:.35rem .15rem;min-height:28px;display:inline-flex;align-items:center}
.wm-ta{position:relative;flex:1;min-width:0;display:flex}
.wm-ta textarea{width:100%}
.wm-cmp.ia-lav textarea{color:transparent;caret-color:transparent}
.wm-cmp.ia-lav textarea::placeholder{color:transparent}
.wm-cmp.ia-lav .wm-ta::after{content:'L\2019IA sta riscrivendo\2026';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:22px;font:600 .84rem var(--ff-b);color:var(--oro-l);pointer-events:auto;
  background:linear-gradient(110deg,rgba(191,160,64,0) 25%,rgba(191,160,64,.28) 50%,rgba(191,160,64,0) 75%);background-size:250% 100%;animation:iaLuce 1.3s linear infinite}
@media(max-width:699px){
  .wm-iabtn{padding:0;width:44px}
  .wm-iabtn span{display:none}
  .wm-iap{left:.5rem;right:.5rem}
}
[data-tema="chiaro"] .wm-iab{background:#FBF5E2;border-color:#EBDDAF;color:#6B5A1E}
[data-tema="chiaro"] .wm-iab b{color:#5A4A12}
[data-tema="chiaro"] .wm-iab svg{stroke:#B8902C}
[data-tema="chiaro"] .wm-iab button,[data-tema="chiaro"] .wm-iabtn{color:#8A6D1F}
[data-tema="chiaro"] .wm-cmp.ia-lav .wm-ta::after{color:#8A6D1F;background-image:linear-gradient(110deg,rgba(255,255,255,0) 25%,rgba(240,224,170,.8) 50%,rgba(255,255,255,0) 75%)}
.pg-t.trascina{opacity:.45}
.pg-t[draggable="true"]{-webkit-user-drag:element}
/* 2.13.7 — posizione GPS: riquadro, «Naviga» alle coordinate */
.pos-box{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:.7rem 0 .2rem;padding:.65rem .8rem;border-radius:12px;border:1px dashed var(--line-2);background:rgba(255,255,255,.02)}
.pos-box>svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--cenere);stroke-width:1.7;stroke-linejoin:round}
.pos-box.ok{border-style:solid;border-color:rgba(124,185,124,.45);background:rgba(124,185,124,.06)}
.pos-box.ok>svg{stroke:var(--verde)}
.pos-box.lav{border-style:solid;border-color:rgba(196,165,66,.5)}
.pos-box.lav>svg{stroke:var(--oro-l);animation:posPulsa 1.1s ease-in-out infinite}
@keyframes posPulsa{50%{transform:scale(1.18);opacity:.6}}
.pos-t{flex:1;min-width:170px;display:flex;flex-direction:column;gap:.15rem}
.pos-t b{font:600 .88rem var(--ff-b);color:var(--crema)}
.pos-t small{font-size:.74rem;color:var(--grigio);overflow-wrap:anywhere}
.pos-t small.pos-w{color:var(--oro-l)}
.pos-t small.pos-e{color:var(--brace-l)}
.pos-bar{display:block;height:4px;border-radius:3px;background:var(--line-2);overflow:hidden;margin-top:.3rem}
.pos-bar i{display:block;height:100%;background:var(--oro);transition:width .2s linear}
.pos-a{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.pos-a .btn{min-height:38px}
.pos-x{all:unset;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;color:var(--cenere)}
.pos-x:hover{color:var(--brace-l);background:rgba(226,85,43,.1)}
.dui-pos{margin-top:.6rem}
.cli-nav{margin-top:.5rem}
.gps-b{font-style:normal;font:700 .56rem var(--ff-b);letter-spacing:.06em;padding:.08rem .3rem;border-radius:5px;background:var(--verde);color:#0d1a0d;margin-left:.35rem;vertical-align:middle}
.nav-chip.gps{border-color:rgba(124,185,124,.55)!important}
.tp-b.tp-nav.gps{color:var(--verde);border-color:rgba(124,185,124,.6);box-shadow:0 0 0 2px rgba(124,185,124,.15)}
.sc-az a.gps{border-color:rgba(124,185,124,.6)}
[data-tema="chiaro"] .pos-box{background:#fff}
[data-tema="chiaro"] .pos-box.ok{background:#F1F8F0;border-color:#A9D3A4}
[data-tema="chiaro"] .gps-b{color:#fff;background:#3E8E41}
/* 2.13.6 — «Arrotonda all'euro» sotto il totale del DUI; guarnizioni dentro i materiali */
.tot-arr-r{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;margin:.5rem 0 .2rem}
.tot-arr-r span#dArrInfo{font-size:.76rem;color:var(--oro-l)}
.tot-arr{all:unset;cursor:pointer;box-sizing:border-box;display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.45rem .9rem;border-radius:999px;border:1px solid rgba(196,165,66,.55);color:var(--oro-l);font:600 .8rem var(--ff-b);background:rgba(196,165,66,.06)}
.tot-arr svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tot-arr:hover{background:rgba(196,165,66,.14)}
.tot-arr.on{background:var(--oro);color:#1a1a1a;border-color:var(--oro)}
.eco-di{font-size:.74rem;color:var(--cenere);text-align:right;margin:-.15rem 0 .2rem}
[data-tema="chiaro"] .tot-arr{color:#8A6D1F;border-color:#D9C48A}
[data-tema="chiaro"] .tot-arr.on{color:#fff;background:#B8902C;border-color:#B8902C}
[data-tema="chiaro"] .tot-arr-r span#dArrInfo{color:#8A6D1F}
/* 2.13.5 — archivio: elenco filtrato mentre scrivi, bozze del DUI, archivio senza importi per i dipendenti */
.arch-lab{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cenere);margin:0 0 .5rem}
.arch-piu{width:100%;margin:.2rem 0 1rem}
.bz-box{margin:.2rem 0 1rem;border:1px solid rgba(232,201,120,.35);border-radius:12px;background:rgba(232,201,120,.06);padding:.55rem .6rem .35rem}
.bz-h{display:flex;align-items:center;gap:.45rem;margin:0 .2rem .35rem;font:600 .78rem var(--ff-b);color:var(--oro-l)}
.bz-h svg,.dui-bozza-save svg,.rap-ris svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.bz-h small{margin-left:auto;color:var(--cenere);font-weight:500}
.bz-r{display:flex;align-items:center;gap:.5rem;padding:.45rem .2rem;border-top:1px solid var(--line)}
.bz-r:first-of-type{border-top:0}
.bz-a{all:unset;cursor:pointer;flex:1;min-width:0;display:flex;flex-direction:column;gap:.08rem}
.bz-a b{font:600 .92rem var(--ff-b);color:var(--crema);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bz-a small{font-size:.74rem;color:var(--grigio);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bz-a small.bz-chi{color:var(--cenere);font-size:.7rem}
.bz-r .btn{flex:none;min-height:36px}
.bz-x{all:unset;cursor:pointer;flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;color:var(--cenere);font-size:.9rem}
.bz-x:hover{color:var(--brace-l);background:rgba(226,85,43,.1)}
.dui-bozza-save{display:flex!important;align-items:center;justify-content:center;gap:.45rem;margin-top:.55rem}
.dui-bozza-h{font-size:.74rem;color:var(--cenere);text-align:center;margin:.35rem 0 0;line-height:1.4}
.rap-ris{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 .2rem;padding:.7rem .85rem;border-radius:10px;border:1px dashed var(--line-2);color:var(--grigio);font-size:.84rem;line-height:1.45}
.rap-ris svg{color:var(--oro-l);margin-top:.1rem}
.rrow .e-v{color:var(--cenere);font-size:1.1rem}
/* 2.13.5 — Messaggi in sola lettura */
.wm-ag.wm-sl{cursor:default;gap:.35rem;color:var(--grigio)}
.wm-sl svg,.wm-piede-sl svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}
.wm-piede-sl{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--grigio)}
.wm-ctags.sl .wm-tg{cursor:default}
/* 2.13.8 — chi legge o risponde senza gestire il bot: la riga in alto va a capo invece di uscire dallo schermo; «Genera risposta» da solo prende tutta la riga */
.wm-pag .wm-ag.wm-sl{white-space:normal;min-width:0;text-align:right;line-height:1.35;justify-content:flex-end}
.wm-ai>:only-child{grid-column:1/-1}
[data-tema="chiaro"] .bz-box{background:#FBF6E6;border-color:#E8D9A8}
[data-tema="chiaro"] .bz-h{color:#8A6D1F}
/* chi vede la casella */
.px-cas-az{display:flex;gap:.4rem;flex-shrink:0}
.ac p{font-size:.82rem;color:var(--grigio);margin:-.2rem 0 .9rem;line-height:1.45}
.ac-r{border:1px solid var(--line-2);border-radius:12px;padding:.8rem .85rem;margin-bottom:.6rem;background:var(--card)}
.ac-r1{display:flex;align-items:center;gap:.7rem}
.ac-r1 b{color:var(--crema);font:700 .92rem var(--ff-b)}.ac-r1 small{display:block;color:var(--cenere);font:500 .74rem var(--ff-b)}
.ac-seg{display:flex;background:rgba(255,255,255,.06);border-radius:9px;padding:2px;gap:2px;margin-top:.65rem}
.ac-seg button{flex:1;border:0;background:transparent;color:var(--grigio);font:600 .76rem var(--ff-b);padding:.5rem .2rem;border-radius:7px;cursor:pointer}
.ac-seg button.on{background:var(--oro);color:#111}
.ac-piu[hidden],.ac-f[hidden]{display:none}
.ac-x{display:flex;align-items:center;justify-content:space-between;margin:.7rem 0 0;font:500 .82rem var(--ff-b);color:var(--grigio)}
.ac-sw{width:42px;height:25px;border-radius:999px;background:var(--oro);position:relative;border:0;cursor:pointer;flex-shrink:0}
.ac-sw:after{content:'';position:absolute;right:3px;top:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:all .15s}
.ac-sw.off{background:rgba(255,255,255,.15)}.ac-sw.off:after{right:20px}
.ac-f{margin-top:.7rem;background:rgba(255,255,255,.035);border-radius:10px;padding:.6rem .7rem}
.ac-f small{display:block;color:var(--cenere);font-size:.74rem;margin-bottom:.3rem}
.ac-f .g2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ac-ind{font:600 .88rem var(--ff-b);color:var(--oro);margin:-.25rem 0 .55rem;overflow-wrap:anywhere}
.ac .ac-x{display:flex;width:100%;justify-content:space-between;align-items:center;text-transform:none;letter-spacing:0;font:500 .84rem var(--ff-b);color:var(--crema);margin:.75rem 0 0}
/* telefono e tablet stretto: elenco a tutta pagina, lettura a tutta pagina */
@media(max-width:899px){
  .ml{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}
}
/* 2.13.0 — sotto i 900px la Posta è a una colonna (come isDesktop()): elenco e lettura a tutta pagina anche sul tablet */
@media(max-width:899px){
  .ml-v>.ml-l{border:0;background:none}
  .ml-v>.ml-l .ml-lh{padding:0 0 .7rem}
  .ml-v>.ml-l .ml-rows{overflow:visible}
  .ml-v>.ml-l .ml-r{padding-left:.1rem;padding-right:0}
  .ml-tel{overflow:visible}
  .ml-tel .ml-tb{position:sticky;top:calc(var(--sat) + var(--header-h) + var(--pg-h,0px));z-index:6;background:rgba(var(--nero-rgb),.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);margin:0 -1.2rem;padding:.35rem .7rem}
  .ml-tel .ml-tb .ml-ib{width:40px;height:40px}
  .ml-tel .ml-body{padding:1rem 0 1.5rem;overflow:visible}
}
@media(max-width:699px){
  .ml-from .q{font-size:.7rem}
  .mc-ov{padding:0;align-items:stretch}
  .mc{width:100%;height:100%;max-height:none;border-radius:0;border:0;padding-top:var(--sat)}
  .mc-tool{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .mc-scroll{padding:.5rem}
  .mc-paper{padding:14px 14px 16px}
  .mc-b{padding-bottom:calc(.7rem + var(--sab, 0px))}
  .mc-iap{left:.5rem;right:.5rem;width:auto;max-width:none}
  .mc-iap-t button{flex:1 1 auto}
}
/* tema chiaro */
[data-tema="chiaro"] .ml-l{background:#FBFAF7}
[data-tema="chiaro"] .ml-v>.ml-l{background:none}
[data-tema="chiaro"] .ml-cerca,[data-tema="chiaro"] .ml-seg,[data-tema="chiaro"] .ac-seg{background:rgba(0,0,0,.055)}
[data-tema="chiaro"] .ml-seg button.on{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15)}
[data-tema="chiaro"] .ml-r:hover,[data-tema="chiaro"] .ml-ib:hover,[data-tema="chiaro"] .mc-tool button:hover,[data-tema="chiaro"] .mc-cest:hover{background:rgba(0,0,0,.05)}
[data-tema="chiaro"] .ml-tg{background:rgba(0,0,0,.06)}
[data-tema="chiaro"] .ml-tg.g,[data-tema="chiaro"] .ml-chip.g{color:#2F7A42}[data-tema="chiaro"] .ml-tg.o{color:#8C6D10}
[data-tema="chiaro"] .ml-paper,[data-tema="chiaro"] .mc-paper{box-shadow:0 0 0 1px rgba(0,0,0,.09)}
[data-tema="chiaro"] .ml-imgban{background:rgba(0,0,0,.045)}
[data-tema="chiaro"] .ml-ai-t{background:rgba(0,0,0,.04)}
[data-tema="chiaro"] .mc-ov{background:rgba(30,30,30,.35)}
[data-tema="chiaro"] .mc-scroll{background:#F2F0EA}
[data-tema="chiaro"] .mc-col{border-color:rgba(0,0,0,.25)}
[data-tema="chiaro"] .ac-sw.off{background:rgba(0,0,0,.15)}
[data-tema="chiaro"] .ac-f{background:rgba(0,0,0,.035)}
/* tablet in verticale: c'è la barra laterale, non l'intestazione in alto */
@media(min-width:700px) and (max-width:899px){.ml-tel .ml-tb{top:calc(var(--sat) + var(--pg-h,0px));margin:0 -1.6rem;padding:.35rem 1.1rem}}
@media(max-width:899px){[data-tema="chiaro"] .ml-tel .ml-tb{background:rgba(var(--nero-rgb),.97)}}
/* 2.13.9 — la strada tra le chiamate e «Sposta in un altro giorno» */
.cp-via,.tp-via{display:flex;align-items:center;gap:.45rem;color:var(--cenere);font-size:.72rem;line-height:1.25;font-variant-numeric:tabular-nums;min-width:0}
.cp-via{padding:.05rem 0 .05rem 1.15rem;margin:-.1rem 0}
.cp-via svg,.tp-via svg,.cv-testa svg,.via-tag svg,.via-ord svg,.cp-nuova-tabs svg,.sp-opt em svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.cp-via span,.tp-via span{min-width:0;overflow-wrap:anywhere}
.cp-via small,.tp-via small{font-size:inherit;opacity:.8}
.cp-via.no,.tp-via.no{color:var(--danger);opacity:.85}
.tp-via{padding:.2rem 0 .2rem 1rem}
.cp-via-tot{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;margin:-.4rem 0 1rem;padding:.55rem .75rem;border-radius:8px;border:1px dashed var(--line-2);font-size:.8rem;color:var(--grigio);font-variant-numeric:tabular-nums}
.cp-via-tot b{color:var(--oro-l);font-weight:600;letter-spacing:.02em}
.cp-via-tot small{flex-basis:100%;font-size:.7rem;color:var(--cenere)}
.cp-row .mv{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--oro-l)}
.cp-row .mv svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cp-row .mv:hover,.cp-row .mv:focus-visible{background:rgba(212,175,106,.14)}
@media (pointer:coarse){.cp-row .mv,.cp-row .rm{width:38px;height:38px}}
.cp-nuova-tabs{flex-wrap:wrap}
.cp-nuova-tabs button{display:inline-flex;align-items:center;gap:.3rem}
.cp-vicine{margin-top:.2rem}
.cv-testa{display:flex;align-items:flex-start;gap:.45rem;font-size:.78rem;color:var(--grigio);margin:.1rem 0 .55rem;line-height:1.35}
.cv-testa svg{margin-top:.12rem}
.cv-filtri{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}
.cv-filtri .chip{margin:0}
.cv-lista{display:grid;gap:.35rem}
.cv-r{display:flex;align-items:center;gap:.7rem;padding:.55rem .6rem;border-radius:8px;background:var(--mid);min-width:0}
.cv-r.urg-normale{box-shadow:inset 3px 0 0 var(--urg-n,var(--brace))}
.cv-r.urg-alta{box-shadow:inset 3px 0 0 var(--urg-a,var(--rosso))}
.cv-km{flex:0 0 58px;text-align:center;font-variant-numeric:tabular-nums;line-height:1.15}
.cv-km b{display:block;font-size:.9rem;color:var(--crema);font-weight:600}
.cv-km small{display:block;font-size:.68rem;color:var(--cenere)}
.cv-chi{flex:1 1 auto;min-width:0}
.cv-chi b{display:block;font-size:.86rem;color:var(--crema);font-weight:600;overflow-wrap:anywhere}
.cv-chi .urg-tag{margin-left:.4rem;vertical-align:middle}
.cv-chi small{display:block;font-size:.72rem;color:var(--grigio);overflow-wrap:anywhere;margin-top:.1rem}
.cv-add{flex:0 0 auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.cv-nota{font-size:.72rem;color:var(--cenere);margin:.6rem 0 0}
.via-tag{display:flex;align-items:center;gap:.35rem;margin:.4rem 0 .1rem;font-size:.74rem;color:var(--grigio)}
.via-tag b{color:var(--oro-l);font-weight:600;font-variant-numeric:tabular-nums}
.via-ord{margin:-.2rem 0 .7rem}
.via-ord .chip{display:inline-flex;align-items:center;gap:.35rem;margin:0}
#scSposta{display:inline-flex;align-items:center;gap:.35rem}
#scSposta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* il foglio «Sposta in un altro giorno» */
.sp-sheet label{display:block;margin:.9rem 0 .4rem}
.sp-ora-ora{font-size:.8rem;color:var(--grigio);margin:.45rem 0 .2rem}
.sp-ora-ora b{color:var(--crema);font-weight:600}
.sp-giorni{display:flex;gap:.35rem;overflow-x:auto;scroll-snap-type:x proximity;padding:.1rem .1rem .45rem;margin:0 -.1rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.sp-g{all:unset;box-sizing:border-box;cursor:pointer;flex:0 0 auto;scroll-snap-align:center;width:52px;padding:.45rem 0 .4rem;border-radius:12px;border:1px solid var(--line-2);background:var(--mid);text-align:center;line-height:1.1;position:relative}
.sp-g small{display:block;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cenere)}
.sp-g b{display:block;font-size:1.15rem;font-weight:600;color:var(--crema);margin-top:.12rem;font-variant-numeric:tabular-nums}
.sp-g i{display:block;margin:.2rem auto 0;min-width:15px;height:15px;width:max-content;padding:0 4px;border-radius:8px;background:rgba(212,175,106,.18);color:var(--oro-l);font-style:normal;font-size:.6rem;line-height:15px;font-weight:700}
.sp-g i.v{background:none}
.sp-g.fest{opacity:.62}
.sp-g.ora{border-style:dashed;border-color:var(--oro)}
.sp-g.on{background:var(--oro);border-color:var(--oro);opacity:1}
.sp-g.on small,.sp-g.on b{color:var(--ink)}
.sp-g.on i{background:rgba(var(--nero-rgb),.18);color:var(--ink)}
.sp-g:focus-visible{outline:2px solid var(--oro-l);outline-offset:2px}
.sp-altra{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.78rem;color:var(--grigio);margin-top:.15rem}
.sp-altra input{width:auto;max-width:60%;padding:.4rem .55rem;font-size:.85rem}
.sp-opts{display:grid;gap:.45rem}
.sp-opt{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:flex-start;gap:.7rem;padding:.75rem .85rem;border-radius:12px;border:1px solid var(--line-2);background:var(--mid);min-width:0}
.sp-opt.on{border-color:var(--oro);box-shadow:inset 0 0 0 1px var(--oro);background:rgba(212,175,106,.08)}
.sp-opt:focus-visible{outline:2px solid var(--oro-l);outline-offset:2px}
.sp-ico{flex:0 0 34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(212,175,106,.12);color:var(--oro-l)}
.sp-ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sp-opt.on .sp-ico{background:var(--oro);color:var(--ink)}
.sp-t{flex:1 1 auto;min-width:0}
.sp-t b{display:block;font-size:.9rem;color:var(--crema);font-weight:600;overflow-wrap:anywhere}
.sp-t small{display:block;font-size:.74rem;color:var(--grigio);margin-top:.12rem;overflow-wrap:anywhere}
.sp-t em{display:flex;align-items:center;gap:.3rem;font-style:normal;font-size:.76rem;color:var(--oro-l);margin-top:.3rem;font-variant-numeric:tabular-nums}
.sp-t em.no{color:var(--danger)}
.sp-qui{white-space:nowrap;font-style:normal;font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:.1rem .4rem;border-radius:6px;border:1px solid var(--line-2);color:var(--grigio);margin-left:.3rem;vertical-align:middle}
.sp-hint{font-size:.76rem;color:var(--grigio);margin:.35rem 0 0;min-height:1em}
.sp-hint .lnk{all:unset;position:relative;cursor:pointer;color:var(--oro-l);text-decoration:underline;text-underline-offset:2px}
.sp-avv{font-size:.76rem;color:var(--brace,var(--oro-l));margin:.5rem 0 0;padding:.5rem .65rem;border-radius:8px;background:rgba(212,175,106,.1)}

/* ===================== 2.14.0 · IL GIRO SULLA MAPPA (27-giro.js) ===================== */
.mg-box{position:relative;height:430px;border-radius:14px;overflow:hidden;border:1px solid var(--line-2);margin:.2rem 0 1rem;background:var(--card);isolation:isolate}
.mg-box.grande{height:min(78vh,760px)}
@media(max-width:899px){.mg-box{height:380px}}
@media(max-width:600px){.mg-box{height:320px;border-radius:12px}}
.mg-mappa{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 50% 35%,rgba(var(--hi),.045),transparent 70%),var(--card)}
.mg-mappa.leaflet-container{background:radial-gradient(ellipse at 50% 35%,rgba(var(--hi),.045),transparent 70%),var(--card)!important;font:inherit}
.mg-carica,.mg-vuota{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--cenere);font-size:.8rem;z-index:2}
.mg-strada{filter:drop-shadow(0 0 6px rgba(230,195,90,.35))}
html[data-tema="chiaro"] .mg-strada{filter:none}
.mg-strada.rientro{filter:none}
/* la partenza */
.mg-base b{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#141210;border:2px solid #E6C35A;box-shadow:0 4px 14px rgba(0,0,0,.5)}
.mg-base b svg{width:18px;height:18px;fill:#E6C35A}
.mg-base span{position:absolute;left:40px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:.72rem;font-weight:700;color:var(--crema);text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 8px rgba(0,0,0,.8);line-height:1.15}
.mg-base span em{display:block;font-style:normal;font-weight:600;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:#E6C35A}
html[data-tema="chiaro"] .mg-base b{background:#fff;border-color:#A9862A}
html[data-tema="chiaro"] .mg-base b svg{fill:#A9862A}
html[data-tema="chiaro"] .mg-base span{color:#1a1206;text-shadow:0 0 4px #fff,0 0 8px #fff}
html[data-tema="chiaro"] .mg-base span em{color:#8A6D1E}
/* le tappe */
.mg-tappa b{display:flex;align-items:center;height:30px;transition:transform .18s var(--ease,ease);border-radius:999px}
.mg-tappa b i{display:flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:50%;background:linear-gradient(180deg,#F0D36E,#C9A23E);color:#1a1206;font-style:normal;font-weight:800;font-size:.86rem;border:2px solid #fff;box-shadow:0 3px 12px rgba(0,0,0,.55);box-sizing:border-box}
.mg-tappa b i+i{margin-left:-9px}
.mg-tappa.urg-normale b i{box-shadow:0 0 0 3px var(--brace),0 3px 12px rgba(0,0,0,.55)}
.mg-tappa.urg-alta b i{box-shadow:0 0 0 3px var(--rosso),0 3px 12px rgba(0,0,0,.55)}
.mg-tappa.luce b{transform:scale(1.28)}
.mg-tappa span{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);white-space:nowrap;font-size:.72rem;font-weight:700;color:var(--crema);text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 8px rgba(0,0,0,.85);line-height:1.15;pointer-events:none}
.mg-tappa span em{display:block;font-style:normal;font-variant-numeric:tabular-nums;color:#E6C35A;font-size:.68rem}
.mg-tappa span.piu em{display:inline}
.mg-tappa span small{display:block;font-size:.62rem;font-weight:600;opacity:.8;margin-top:.05rem}
html[data-tema="chiaro"] .mg-tappa span{color:#1a1206;text-shadow:0 0 4px #fff,0 0 8px #fff,0 0 2px #fff}
html[data-tema="chiaro"] .mg-tappa span em{color:#8A6D1E}
.mg-lontano .mg-tappa span,.mg-lontano .mg-base span{display:none}
@media(max-width:600px){.mg-tappa span{font-size:.64rem}.mg-tappa span em{display:inline;margin-right:.25rem}}
/* a metà di ogni tratto: la freccia e la strada */
.mg-tratto{overflow:visible}
.mg-tratto>div{position:absolute;left:0;top:0;display:flex;align-items:center;gap:.25rem;transform:translate(-50%,-50%);pointer-events:none}
.mg-tratto i{display:flex;width:18px;height:18px;border-radius:50%;background:#141210;border:1.5px solid #E6C35A;align-items:center;justify-content:center;flex:none}
.mg-tratto i svg{width:10px;height:10px;fill:none;stroke:#E6C35A;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mg-tratto span{white-space:nowrap;font-size:.64rem;font-weight:700;font-variant-numeric:tabular-nums;color:#1a1206;background:rgba(240,211,110,.94);padding:.08rem .38rem;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.mg-tratto.rientro i{border-style:dashed;opacity:.85}
.mg-tratto.rientro span{background:rgba(20,18,16,.85);color:#E6C35A;border:1px solid rgba(230,195,90,.5)}
.mg-tratto.corto span{display:none}
.mg-lontano .mg-tratto span{display:none}
html[data-tema="chiaro"] .mg-tratto i{background:#fff;border-color:#A9862A}
html[data-tema="chiaro"] .mg-tratto i svg{stroke:#8A6D1E}
html[data-tema="chiaro"] .mg-tratto.rientro span{background:#fff;color:#8A6D1E}
/* le chiamate da fare vicino al giro */
.mg-vicina{border-radius:50%;background:var(--brina-l);border:2px solid #0f1a20;box-shadow:0 0 0 4px rgba(124,195,224,.18);cursor:pointer}
.mg-vicina.piu{box-shadow:0 0 0 3px rgba(124,195,224,.35),0 0 0 7px rgba(124,195,224,.12)}
.mg-vicina.urg{background:var(--brace-l);box-shadow:0 0 0 4px rgba(242,122,60,.2)}
html[data-tema="chiaro"] .mg-vicina{border-color:#fff}
/* i centri grandi */
.mg-citta{white-space:nowrap;font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cenere);transform:translate(-50%,-50%);pointer-events:none;opacity:.75;width:auto!important;height:auto!important}
.mg-lontano .mg-citta{opacity:.55}
/* tooltip */
.leaflet-tooltip.mg-tt{background:#1b1815;color:var(--crema);border:1px solid rgba(230,195,90,.45);border-radius:8px;font-size:.72rem;line-height:1.35;padding:.35rem .55rem;box-shadow:0 6px 18px rgba(0,0,0,.45)}
.leaflet-tooltip.mg-tt small{color:var(--grigio)}
.leaflet-tooltip.mg-tt-v{border-color:rgba(124,195,224,.6)}
.leaflet-tooltip.mg-tt::before{display:none}
html[data-tema="chiaro"] .leaflet-tooltip.mg-tt{background:#fff;color:#1a1206}
/* sopra la mappa */
.mg-tot{position:absolute;left:12px;top:12px;z-index:500;display:flex;align-items:center;gap:.5rem;padding:.45rem .7rem;border-radius:10px;background:rgba(18,16,14,.86);border:1px solid rgba(230,195,90,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--crema);box-shadow:0 6px 18px rgba(0,0,0,.35)}
.mg-tot svg{width:16px;height:16px;fill:none;stroke:#E6C35A;stroke-width:1.7;stroke-linecap:round;flex:none}
.mg-tot b{display:block;font-size:.86rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}
.mg-tot small{display:block;font-size:.64rem;color:var(--grigio);margin-top:.08rem}
.mg-com{position:absolute;right:12px;top:12px;z-index:500;display:flex;gap:.3rem}
.mg-com button{all:unset;box-sizing:border-box;cursor:pointer;height:32px;min-width:32px;padding:0 .6rem;display:flex;align-items:center;justify-content:center;border-radius:9px;background:rgba(18,16,14,.86);border:1px solid var(--line-2);color:var(--crema);font-size:.68rem;font-weight:600;letter-spacing:.04em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.mg-com button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mg-com button:hover,.mg-com button:focus-visible{border-color:#E6C35A;color:#E6C35A}
@media(pointer:coarse){.mg-com button{height:38px;min-width:38px}}
.mg-leg{position:absolute;left:12px;bottom:10px;z-index:500;display:flex;flex-wrap:wrap;gap:.25rem .7rem;padding:.3rem .55rem;border-radius:8px;background:rgba(18,16,14,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:.64rem;color:var(--grigio);max-width:calc(100% - 24px)}
.mg-leg span{display:inline-flex;align-items:center;gap:.3rem}
.mg-leg i{display:inline-block;flex:none}
.mg-leg .l-n{width:14px;height:14px;border-radius:50%;background:#E6C35A;color:#1a1206;font-style:normal;font-size:.52rem;font-weight:800;text-align:center;line-height:14px}
.mg-leg .l-r{width:18px;height:0;border-top:2px dotted #BFA040}
.mg-leg .l-v{width:9px;height:9px;border-radius:50%;background:var(--brina-l);box-shadow:0 0 0 3px rgba(124,195,224,.2)}
html[data-tema="chiaro"] .mg-tot,html[data-tema="chiaro"] .mg-com button,html[data-tema="chiaro"] .mg-leg{background:rgba(255,255,255,.9);color:#1a1206}
/* la riga dell'elenco toccando il numero sulla mappa */
.cp-row.mg-luce{outline:2px solid #E6C35A;outline-offset:2px;transition:outline-color .6s}
/* a tutto schermo (Indietro o ✕ la richiudono) */
.mg-box.pieno{position:fixed;inset:0;z-index:190;height:auto;margin:0;border:0;border-radius:0;box-shadow:none}
.mg-box.pieno .mg-tot{top:calc(12px + var(--sat))}
.mg-box.pieno .mg-com{top:calc(12px + var(--sat))}
.mg-box.pieno .mg-leg{bottom:calc(12px + var(--sab))}
.mg-box.pieno .leaflet-bottom{bottom:var(--sab)}
html.mg-pieno-on,html.mg-pieno-on body{overflow:hidden}
/* + e − (solo con il mouse: con le dita si pizzica) */
.mg-box .leaflet-control-zoom{border:0!important;box-shadow:0 2px 10px rgba(0,0,0,.35)!important;margin:0 12px 12px 0!important}
.mg-box .leaflet-control-zoom a{background:rgba(18,16,14,.86);color:var(--crema);border-color:var(--line-2);width:32px;height:32px;line-height:30px}
.mg-box .leaflet-control-zoom a:hover{background:#1b1815;color:#E6C35A}
html[data-tema="chiaro"] .mg-box .leaflet-control-zoom a{background:rgba(255,255,255,.92);color:#1a1206}
.mg-box:not(.pieno) .leaflet-bottom.leaflet-right{bottom:30px}
@media(max-width:600px){.mg-leg{font-size:.6rem;gap:.15rem .55rem}.mg-tot{padding:.38rem .55rem}.mg-tot b{font-size:.8rem}.mg-com button{padding:0 .5rem}}
/* «Vicino al giro»: aggiungere una chiamata toccando un puntino azzurro */
.mga-lista{display:flex;flex-direction:column;gap:.6rem;margin:.4rem 0 .2rem}
.mga-r{border:1px solid var(--line-2);border-radius:12px;padding:.75rem .85rem;background:rgba(124,195,224,.05)}
.mga-r.urg{border-color:rgba(242,122,60,.45);background:rgba(242,122,60,.05)}
.mga-t b{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.98rem;color:var(--crema);font-weight:600}
.mga-t small{display:block;font-size:.76rem;color:var(--grigio);margin-top:.15rem}
.mga-dove{display:flex;gap:.45rem;align-items:flex-start;margin-top:.5rem;font-size:.76rem;color:var(--brina-l);line-height:1.4}
.mga-dove svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;margin-top:.1rem}
.mga-dove i{font-style:normal;color:var(--grigio)}
.mga-az{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}
.mga-nota{font-size:.74rem;color:var(--cenere);margin:.7rem 0 0;line-height:1.45}
/* ===================== 2.14.0 · AVVISI CON ALLEGATI E BACHECA (28-bacheca.js) ===================== */
.av-file{display:flex;align-items:center;gap:.65rem;margin-top:.6rem;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--line-2);background:rgba(var(--hi),.03);cursor:pointer;max-width:420px;text-align:left;width:100%;box-sizing:border-box}
.av-file:hover{border-color:rgba(191,160,64,.55)}
.av-file .ico{flex:none;width:34px;height:40px;border-radius:5px;background:#E04A3A;color:#fff;font-size:.56rem;font-weight:800;letter-spacing:.04em;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px;box-sizing:border-box;position:relative;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.av-file .ico::before{content:'';position:absolute;right:0;top:0;border-style:solid;border-width:0 9px 9px 0;border-color:transparent var(--card) rgba(0,0,0,.25) transparent}
.av-file .ico.img{background:#3E9BC4}
.av-file .t{flex:1;min-width:0}
.av-file .t b{display:block;font-size:.84rem;color:var(--crema);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.av-file .t small{display:block;font-size:.7rem;color:var(--grigio);margin-top:.1rem}
.av-file .apri{flex:none;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--oro-l)}
.av-file .x{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cenere)}
.av-add{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:.6rem;width:100%;padding:.8rem .9rem;border-radius:10px;border:1px dashed rgba(191,160,64,.5);color:var(--oro-l);font-size:.84rem;font-weight:600;margin-top:.6rem}
.av-add svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.av-add small{display:block;font-weight:400;color:var(--grigio);font-size:.72rem;margin-top:.1rem}
.av-cont{display:flex;justify-content:flex-end;font-size:.7rem;color:var(--cenere);margin-top:.25rem}
.sec-link{all:unset;cursor:pointer;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--oro-l);display:inline-flex;align-items:center;gap:.3rem}
.section-h .sec-az{display:flex;align-items:center;gap:.8rem}
/* la bacheca */
.bc-sub{font-size:.86rem;color:var(--grigio);margin:-.2rem 0 1rem;max-width:620px;line-height:1.45}
.bc-filtri{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0 1rem}
.bc-filtri .chip{margin:0}
.bc-mese{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cenere);margin:1.2rem 0 .5rem}
.bc-card{border:1px solid var(--line-2);background:var(--card);border-radius:14px;padding:.95rem 1.05rem;margin-bottom:.6rem}
.bc-card.ev{border-color:rgba(191,160,64,.45);background:linear-gradient(135deg,rgba(191,160,64,.09),rgba(191,160,64,.02)),var(--card)}
.bc-top{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.bc-av{width:30px;height:30px;border-radius:50%;background:rgba(212,175,106,.16);color:var(--oro-l);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.bc-chi{flex:1;min-width:0;font-size:.78rem;color:var(--grigio)}
.bc-chi b{color:var(--crema);font-weight:600}
.bc-stato{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:.22rem .5rem;border-radius:999px;border:1px solid var(--line-2);color:var(--grigio);white-space:nowrap}
.bc-stato.ev{border-color:rgba(191,160,64,.55);color:var(--oro-l)}
.bc-card p{margin:.6rem 0 0;font-size:.94rem;line-height:1.5;color:var(--crema);white-space:pre-wrap}
.bc-letto{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-top:.7rem;font-size:.72rem;color:var(--grigio)}
.bc-letto i{font-style:normal;padding:.15rem .45rem;border-radius:999px;background:rgba(124,185,124,.14);color:var(--verde)}
.bc-letto i.no{background:rgba(226,85,43,.12);color:var(--brace-l)}
.bc-az{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}
@media(min-width:900px){.bc-griglia{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.6rem;align-items:start}.bc-lato{position:sticky;top:1rem}}
.bc-lato .bc-box{border:1px solid var(--line-2);border-radius:14px;padding:1rem;background:var(--card)}
.bc-lato h4{margin:0 0 .5rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cenere);font-weight:600}
.bc-lato p{font-size:.8rem;color:var(--grigio);line-height:1.45;margin:.3rem 0}
.bc-num{display:flex;gap:1rem;margin:.3rem 0 .6rem}
.bc-num div b{display:block;font-size:1.5rem;color:var(--crema);font-weight:600}
.bc-num div small{font-size:.68rem;color:var(--cenere);letter-spacing:.06em;text-transform:uppercase}
.av-files{display:flex;flex-direction:column;gap:.45rem;margin-top:.6rem}
.av-files .av-file{margin-top:0}
.av-file{font:inherit;color:inherit}
.av-file-ed{cursor:default;max-width:none;margin-top:.5rem}
.av-file-ed:hover{border-color:var(--line-2)}
.av-file-ed .x{all:unset;cursor:pointer;flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cenere);font-size:.9rem}
.av-file-ed .x:hover,.av-file-ed .x:focus-visible{color:var(--danger);background:rgba(224,122,110,.1)}
.av-file-ed.carica .ico{background:var(--mid);color:var(--grigio);box-shadow:none;align-items:center;padding:0}
.av-file-ed.carica{animation:avCarica 1.2s ease-in-out infinite}
@keyframes avCarica{50%{opacity:.55}}
.av-add[hidden]{display:none}
.av-add b{font-weight:600}
.av-cont.al-limite{color:var(--brace-l)}
.avviso .av-files{margin-top:.55rem}
.avviso .av-file{max-width:440px}
.avviso [data-avviso-letto].btn{margin-top:.7rem}
.section-h .sec-link{padding:.35rem 0}
@media(pointer:coarse){.sec-link{padding:.6rem .2rem}.av-file{min-height:52px}}
.bc-testa{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.bc-testa h2{margin-bottom:.2rem}
.bc-testa .btn{margin-bottom:.45rem}
.bc-sub{margin-top:.3rem}
.bc-card.non-letto{border-color:var(--brace);box-shadow:0 0 0 1px rgba(226,85,43,.22)}
.bc-chi b{display:block;line-height:1.25}
.bc-q{display:block;font-size:.74rem;color:var(--grigio);margin-top:.05rem}
@media(max-width:600px){.bc-card{padding:.85rem .9rem}.bc-chi{flex:1 1 calc(100% - 44px)}.bc-stato{margin-left:38px}.bc-az .btn{flex:1 1 auto}}
.bc-card .av-file{max-width:460px}
.bc-lato{display:none}
@media(min-width:900px){.bc-lato{display:block}}
html[data-tema="chiaro"] .av-file .ico::before{border-color:transparent var(--card) rgba(0,0,0,.18) transparent}
.mga-ins{margin-top:.55rem}
.mga-calc{font-size:.74rem;color:var(--cenere)}
.mga-poi{font-size:.76rem;line-height:1.45;color:var(--verde)}
.mga-poi.tardi{color:var(--brace-l)}
.mga-poi:empty{display:none}
.mga-sl{display:flex;gap:.55rem;align-items:flex-start;margin:.55rem 0 0;font-size:.82rem;color:var(--crema);cursor:pointer;line-height:1.4;text-transform:none;letter-spacing:normal;font-weight:500}
.sheet label.mga-sl{display:flex;text-transform:none;letter-spacing:normal;font-size:.82rem;color:var(--crema);margin:.55rem 0 0}
.mga-sl input{width:18px;height:18px;margin:.1rem 0 0;accent-color:#C9A23E;flex:none}
.mga-sl small{display:block;font-size:.72rem;color:var(--brace-l);margin-top:.1rem}

/* ===================== 2.15.0 · FORMAZIONE: MANUALI E QUIZ (29-formazione.js) ===================== */
.fo-testa{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.fo-testa h2{margin-bottom:.25rem!important}
.fo-sub{font-size:.88rem;color:var(--grigio);max-width:640px;line-height:1.5;margin:.2rem 0 0}
.fo-az{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.35rem}
.fo-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1.2rem 0 1.4rem}
.fo-k{border:1px solid var(--line-2);border-radius:12px;padding:.85rem 1rem;background:var(--card)}
.fo-k small{display:block;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cenere)}
.fo-k b{display:block;font-family:var(--ff-s);font-size:2rem;font-weight:600;line-height:1.1;margin-top:.25rem;color:var(--crema)}
.fo-k b em{font-style:normal;font-size:1rem;color:var(--grigio);font-family:var(--ff-b);font-weight:400}
.fo-k.urg{border-color:rgba(226,85,43,.55);background:linear-gradient(135deg,rgba(226,85,43,.10),transparent 70%),var(--card)}
.fo-k.urg b{color:var(--brace-l)}
.fo-griglia{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.6rem;align-items:start}
@media(max-width:899px){.fo-griglia{grid-template-columns:1fr}.fo-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fo-sez{margin-bottom:1.4rem}
.fo-sez-h{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;margin-bottom:.6rem;padding-bottom:.45rem;border-bottom:1px solid var(--line)}
.fo-sez-h h3{font-family:var(--ff-s);font-size:1.35rem;font-weight:600}
.fo-sez-h .lnk2{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--oro-l)}
/* da correggere */
.fo-corr{display:flex;align-items:center;gap:.8rem;padding:.75rem .9rem;border-radius:12px;border:1px solid rgba(226,85,43,.45);background:linear-gradient(135deg,rgba(226,85,43,.08),transparent 75%),var(--card);margin-bottom:.5rem}
.fo-av{width:36px;height:36px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700;background:rgba(212,175,106,.16);color:var(--oro-l)}
.fo-corr .t{flex:1;min-width:0}
.fo-corr .t b{display:block;font-size:.95rem;color:var(--crema);font-weight:600}
.fo-corr .t small{display:block;font-size:.76rem;color:var(--grigio);margin-top:.1rem}
/* quiz */
.fo-quiz{border:1px solid var(--line-2);border-radius:12px;background:var(--card);padding:.85rem 1rem;margin-bottom:.55rem}
.fo-quiz .q1{display:flex;align-items:flex-start;gap:.7rem}
.fo-quiz .q1 .t{flex:1;min-width:0}
.fo-quiz .q1 b{display:block;font-size:.98rem;color:var(--crema);font-weight:600}
.fo-quiz .q1 small{display:block;font-size:.76rem;color:var(--grigio);margin-top:.15rem}
.fo-stato{flex:none;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:.24rem .55rem;border-radius:999px;border:1px solid var(--line-2);color:var(--grigio);white-space:nowrap}
.fo-stato.bozza{border-color:rgba(124,195,224,.5);color:var(--brina-l)}
.fo-stato.pub{border-color:rgba(191,160,64,.55);color:var(--oro-l)}
.fo-stato.carta{border-style:dashed}
.fo-chi{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}
.fo-chi span{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;padding:.2rem .55rem .2rem .25rem;border-radius:999px;background:rgba(var(--hi),.05);color:var(--grigio)}
.fo-chi span i{font-style:normal;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:700;background:rgba(212,175,106,.16);color:var(--oro-l)}
.fo-chi span.ok{color:var(--verde)}
.fo-chi span.corr{color:var(--brace-l)}
.fo-chi span b{color:var(--crema);font-weight:600}
/* manuali */
.fo-man{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.fo-m{border:1px solid var(--line-2);border-radius:12px;background:var(--card);padding:.8rem;display:flex;flex-direction:column;gap:.5rem}
.fo-m .cop{display:flex;gap:.65rem;align-items:flex-start}
.fo-m .cop .ico{flex:none;width:38px;height:46px;border-radius:6px;background:linear-gradient(160deg,#2a241a,#15120d);border:1px solid rgba(191,160,64,.4);display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px;box-sizing:border-box;font-size:.52rem;font-weight:800;letter-spacing:.06em;color:#E6C35A}
.fo-m b{display:block;font-size:.88rem;color:var(--crema);font-weight:600;line-height:1.25}
.fo-m small{display:block;font-size:.72rem;color:var(--grigio);margin-top:.15rem}
.fo-m .btn{align-self:flex-start}
html[data-tema="chiaro"] .fo-m .cop .ico{background:linear-gradient(160deg,#fbf6e8,#efe6cc);color:#8A6D1E}
.fo-ia{display:inline-flex;align-items:center;gap:.35rem}
.fo-ia svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* risultati */
.fo-pers{border:1px solid var(--line-2);border-radius:12px;background:var(--card);padding:.9rem 1rem;margin-bottom:.6rem}
.fo-pers .p1{display:flex;align-items:center;gap:.7rem}
.fo-pers .p1 .t{flex:1}
.fo-pers .p1 b{font-size:1rem;color:var(--crema);font-weight:600}
.fo-pers .p1 small{display:block;font-size:.74rem;color:var(--grigio)}
.fo-media{font-family:var(--ff-s);font-size:1.9rem;font-weight:600;color:var(--oro-l);line-height:1}
.fo-media small{font-family:var(--ff-b);font-size:.7rem;color:var(--cenere);display:block;text-align:right;letter-spacing:.08em;text-transform:uppercase}
.fo-barre{margin-top:.7rem;display:grid;gap:.4rem}
.fo-bar{display:grid;grid-template-columns:150px 1fr 38px;gap:.6rem;align-items:center;font-size:.76rem;color:var(--grigio)}
.fo-bar i{display:block;height:7px;border-radius:999px;background:rgba(var(--hi),.07);overflow:hidden}
.fo-bar i u{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#BFA040,#E6C35A)}
.fo-bar i u.basso{background:linear-gradient(90deg,#C1461F,#F27A3C)}
.fo-bar em{font-style:normal;text-align:right;color:var(--crema);font-variant-numeric:tabular-nums}
/* foglio IA */
.fo-f label{margin-top:.9rem}
.fo-seg{display:flex;gap:.35rem;flex-wrap:wrap}
.fo-seg button{font-size:.8rem;padding:.5rem .85rem;border-radius:999px;border:1px solid var(--line-2);color:var(--grigio);background:transparent}
.fo-seg button.on{background:var(--oro);color:var(--ink);border-color:var(--oro);font-weight:600}
.fo-nota{font-size:.78rem;color:var(--grigio);line-height:1.45;margin-top:1rem;padding:.65rem .8rem;border-radius:10px;background:rgba(124,195,224,.07);border:1px solid rgba(124,195,224,.25)}
/* bozza del quiz */
.fo-dom{border:1px solid var(--line-2);border-radius:12px;background:var(--card);padding:.9rem 1rem;margin-bottom:.6rem}
.fo-dom .d1{display:flex;gap:.6rem;align-items:flex-start}
.fo-dom .n{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;background:rgba(212,175,106,.16);color:var(--oro-l)}
.fo-dom .d1 .t{flex:1;min-width:0}
.fo-dom .tipo{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cenere);font-weight:700}
.fo-dom p{font-size:.95rem;color:var(--crema);line-height:1.45;margin:.15rem 0 0}
.fo-op{display:grid;gap:.3rem;margin-top:.55rem}
.fo-op span{font-size:.82rem;color:var(--grigio);padding:.35rem .6rem;border-radius:8px;background:rgba(var(--hi),.03);border:1px solid var(--line)}
.fo-op span.giusta{border-color:rgba(124,185,124,.55);color:var(--crema);background:rgba(124,185,124,.08)}
.fo-op span.giusta::after{content:' ✓ dal manuale';font-size:.66rem;color:var(--verde);font-weight:600}
.fo-traccia{margin-top:.55rem;font-size:.78rem;line-height:1.45;color:var(--grigio);padding:.5rem .65rem;border-left:2px solid rgba(124,185,124,.6);background:rgba(124,185,124,.05);border-radius:0 8px 8px 0}
.fo-traccia b{color:var(--verde);font-weight:600}
.fo-dom .d-az{display:flex;gap:.9rem;margin-top:.6rem}
.fo-dom .d-az button{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--cenere)}
.fo-assegna{border:1px solid rgba(191,160,64,.45);border-radius:14px;padding:1rem;background:linear-gradient(160deg,rgba(191,160,64,.08),transparent 60%),var(--card);position:sticky;top:1rem}
.fo-assegna h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);margin-bottom:.6rem}
.fo-ck{display:flex;align-items:center;gap:.6rem;padding:.55rem .1rem;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--crema)}
.fo-ck i{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);flex:none;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.75rem;color:var(--ink)}
.fo-ck i.on{background:var(--oro);border-color:var(--oro)}
.fo-ck small{margin-left:auto;font-size:.72rem;color:var(--cenere)}
.fo-campo{margin-top:.75rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cenere)}
.fo-campo div{margin-top:.3rem;font-size:.92rem;letter-spacing:0;text-transform:none;color:var(--crema);padding:.55rem .7rem;border:1px solid var(--line-2);border-radius:8px}
.fo-tog{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.8rem;font-size:.84rem;color:var(--crema)}
.fo-tog i{width:38px;height:22px;border-radius:999px;background:rgba(var(--hi),.12);position:relative;flex:none}
.fo-tog i::after{content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--grigio)}
/* correzione */
.fo-cq{border:1px solid var(--line-2);border-radius:14px;background:var(--card);padding:1rem 1.05rem;margin-bottom:.7rem}
.fo-cq.fatta{border-color:rgba(124,185,124,.45)}
.fo-cq .dom{font-size:.98rem;color:var(--crema);line-height:1.45}
.fo-cq .dom em{font-style:normal;color:var(--oro-l);font-weight:700;margin-right:.35rem}
.fo-risp{margin-top:.6rem;padding:.6rem .75rem;border-radius:10px;background:rgba(var(--hi),.045);font-size:.92rem;line-height:1.5;color:var(--crema)}
.fo-risp small{display:block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cenere);margin-bottom:.2rem}
.fo-voto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-top:.7rem}
.fo-voto button{padding:.7rem .4rem;border-radius:10px;border:1px solid var(--line-2);font-size:.86rem;font-weight:600;color:var(--grigio);background:transparent;display:flex;align-items:center;justify-content:center;gap:.35rem}
.fo-voto button.g.on{background:rgba(124,185,124,.16);border-color:var(--verde);color:var(--verde)}
.fo-voto button.m.on{background:rgba(212,175,106,.16);border-color:var(--oro-l);color:var(--oro-l)}
.fo-voto button.s.on{background:rgba(226,85,43,.14);border-color:var(--brace-l);color:var(--brace-l)}
.fo-nota-c{margin-top:.55rem;font-size:.84rem;color:var(--grigio);padding:.5rem .7rem;border:1px dashed var(--line-2);border-radius:8px}
.fo-nota-c.piena{border-style:solid;color:var(--crema)}
.fo-barra{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem 1rem;margin:0 -1rem;background:rgba(var(--nero-rgb),.94);backdrop-filter:blur(14px);border-top:1px solid var(--line-2)}
.fo-barra b{font-size:.92rem;color:var(--crema)}
.fo-barra small{display:block;font-size:.72rem;color:var(--grigio)}
.fo-barra .az{display:flex;gap:.45rem}
/* ragazzi */
.fo-cta{display:flex;align-items:center;gap:.9rem;width:100%;padding:1rem 1.1rem;border-radius:14px;border:1px solid rgba(124,195,224,.45);background:linear-gradient(135deg,rgba(62,155,196,.16),rgba(62,155,196,.04));margin:0 0 1.1rem;text-align:left}
.fo-cta .ic{width:42px;height:42px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(124,195,224,.18);color:var(--brina-l)}
.fo-cta .ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fo-cta b{display:block;font-size:1rem;color:var(--crema);font-weight:600}
.fo-cta small{display:block;font-size:.78rem;color:var(--grigio);margin-top:.1rem}
.fo-cta .fr{margin-left:auto;color:var(--brina-l);font-size:1.3rem}
.fo-dafare{border:1px solid rgba(191,160,64,.5);border-radius:14px;padding:1rem;background:linear-gradient(150deg,rgba(191,160,64,.1),transparent 65%),var(--card);margin-bottom:.6rem}
.fo-dafare b{display:block;font-size:1.05rem;color:var(--crema);font-weight:600}
.fo-dafare small{display:block;font-size:.78rem;color:var(--grigio);margin-top:.2rem}
.fo-dafare .scad{display:inline-block;margin-top:.5rem;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--brace-l);padding:.2rem .5rem;border-radius:999px;border:1px solid rgba(242,122,60,.45)}
.fo-dafare .az{display:flex;gap:.45rem;margin-top:.8rem}
.fo-dafare .az .btn{flex:1}
.fo-riga{display:flex;align-items:center;gap:.75rem;padding:.75rem .1rem;border-bottom:1px solid var(--line)}
.fo-riga .t{flex:1;min-width:0}
.fo-riga b{display:block;font-size:.92rem;color:var(--crema);font-weight:600}
.fo-riga small{display:block;font-size:.74rem;color:var(--grigio);margin-top:.1rem}
.fo-v{flex:none;font-family:var(--ff-s);font-size:1.45rem;font-weight:600;color:var(--oro-l)}
.fo-v.att{font-family:var(--ff-b);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brina-l);font-weight:700}
/* fare il quiz */
.fq-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.72rem;color:var(--grigio);letter-spacing:.06em}
.fq-top b{color:var(--crema);font-weight:600;letter-spacing:0;font-size:.9rem}
.fq-prog{height:5px;border-radius:999px;background:rgba(var(--hi),.08);margin:.6rem 0 1.1rem;overflow:hidden}
.fq-prog i{display:block;height:100%;background:linear-gradient(90deg,#BFA040,#E6C35A);border-radius:999px}
.fq-dom{font-family:var(--ff-s);font-size:1.55rem;font-weight:600;line-height:1.2;color:var(--crema)}
.fq-tipo{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro);margin-bottom:.45rem;display:block}
.fq-op{display:grid;gap:.55rem;margin-top:1.1rem}
.fq-op button{display:flex;align-items:center;gap:.8rem;text-align:left;padding:.95rem 1rem;border-radius:12px;border:1px solid var(--line-2);background:var(--card);color:var(--crema);font-size:.95rem;line-height:1.35;width:100%}
.fq-op button i{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-2);flex:none;position:relative}
.fq-op button.on{border-color:var(--oro-l);background:linear-gradient(135deg,rgba(191,160,64,.14),transparent),var(--card)}
.fq-op button.on i{border-color:var(--oro-l)}
.fq-op button.on i::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--oro-l)}
.fq-lcd{margin:1rem 0 0;border-radius:14px;padding:1.1rem;background:#0b130f;border:1px solid #23362b;box-shadow:inset 0 0 30px rgba(0,0,0,.6);text-align:center}
.fq-lcd div{font-family:'Courier New',monospace;font-size:1.25rem;letter-spacing:.12em;color:#8EF0B1;text-shadow:0 0 8px rgba(142,240,177,.55);font-weight:700}
.fq-lcd small{display:block;font-size:.66rem;color:#5d8b6d;letter-spacing:.14em;margin-top:.35rem;text-transform:uppercase}
.fq-area{margin-top:1rem;min-height:130px;border-radius:12px;border:1px solid var(--oro-l);background:var(--card);padding:.85rem .95rem;font-size:.95rem;line-height:1.5;color:var(--crema);box-shadow:0 0 0 3px rgba(191,160,64,.15)}
.fq-salvo{font-size:.7rem;color:var(--verde);margin-top:.45rem;display:flex;align-items:center;gap:.3rem}
.fq-giu{position:fixed;left:0;right:0;bottom:0;display:flex;gap:.6rem;padding:.8rem 1rem calc(.8rem + var(--sab));background:rgba(var(--nero-rgb),.96);backdrop-filter:blur(14px);border-top:1px solid var(--line-2);z-index:60}
.fq-giu .btn{flex:1;padding-top:.85rem;padding-bottom:.85rem}
.fq-corr{border:1px solid var(--line-2);border-radius:12px;padding:.8rem .9rem;margin-bottom:.55rem;background:var(--card)}
.fq-corr .r1{display:flex;gap:.6rem;align-items:flex-start}
.fq-corr .seg{flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem}
.fq-corr .seg.g{background:rgba(124,185,124,.18);color:var(--verde)}
.fq-corr .seg.m{background:rgba(212,175,106,.18);color:var(--oro-l)}
.fq-corr .seg.s{background:rgba(226,85,43,.16);color:var(--brace-l)}
.fq-corr p{font-size:.88rem;color:var(--crema);line-height:1.4;margin:0}
.fq-corr small{display:block;font-size:.76rem;color:var(--grigio);margin-top:.25rem}
.fq-corr .nota{margin-top:.45rem;font-size:.8rem;color:var(--crema);padding:.45rem .6rem;border-left:2px solid var(--oro-l);background:rgba(191,160,64,.06);border-radius:0 8px 8px 0}
.fq-voto{text-align:center;padding:1.1rem;border-radius:16px;border:1px solid rgba(191,160,64,.5);background:radial-gradient(ellipse at 50% 0,rgba(191,160,64,.18),transparent 70%),var(--card);margin-bottom:1rem}
.fq-voto b{font-family:var(--ff-s);font-size:3.2rem;font-weight:600;color:var(--oro-l);line-height:1}
.fq-voto b em{font-style:normal;font-size:1.4rem;color:var(--grigio)}
.fq-voto small{display:block;font-size:.8rem;color:var(--grigio);margin-top:.35rem}
.fq-voto p{font-size:.88rem;color:var(--crema);margin:.6rem 0 0;line-height:1.45;font-style:italic}
.fo-tog i.on{background:var(--oro)}
.fo-tog i.on::after{left:19px;background:#fff}
.fq-x{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--grigio);margin-right:.7rem;padding:.3rem .55rem;border:1px solid var(--line-2);border-radius:999px}
/* le schede-pulsante: tutta la larghezza, testo a sinistra */
.fo-corr,.fo-quiz,.fo-pers,.fo-riga,.fq-rie,.fo-m .cop,.fo-cta{width:100%;text-align:left;color:inherit;cursor:pointer}
.fo-corr:hover,.fo-quiz:hover,.fo-pers:hover,.fo-m .cop:hover b{border-color:rgba(191,160,64,.55)}
.fo-quiz,.fo-pers{display:block}
.fo-riga{background:none}
.fo-riga[disabled]{cursor:default;opacity:.8}
.fo-chi span.tardi{color:var(--brace-l)}
.fo-dafare .scad.tardi{background:rgba(226,85,43,.12)}
.fo-v.insuf{color:var(--brace-l)}
.fo-v.att.apri{color:var(--oro-l)}
.fq-voto.insuf{border-color:rgba(226,85,43,.5);background:radial-gradient(ellipse at 50% 0,rgba(226,85,43,.14),transparent 70%),var(--card)}
.fq-voto.insuf b{color:var(--brace-l)}
.fo-vuoto{font-size:.84rem;color:var(--grigio);line-height:1.45;padding:.9rem 1rem;border:1px dashed var(--line-2);border-radius:12px}
.lnk2{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--oro-l);display:inline-flex;align-items:center;gap:.35rem;padding:.2rem 0}
.lnk2.no{color:var(--brace-l)}
.lnk2 svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fo-m-mod{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--cenere);padding:.3rem .1rem}
.fo-m-mod:hover{color:var(--crema)}
.fo-m-az{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.fo-m-az .btn{align-self:auto}
.fo-x{flex:none;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--cenere);font-size:.8rem}
.fo-x:hover{color:var(--brace-l);background:rgba(226,85,43,.1)}
.fo-indietro{margin-bottom:.9rem}
.fo-tit{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.fo-tit h2{margin-bottom:.2rem}
.fo-piccolo{font-size:.74rem;margin-top:.55rem;text-align:center}
.fo-q-az{margin-top:.9rem;padding-top:.7rem;border-top:1px solid var(--line);text-align:center}
.fo-testo{white-space:pre-wrap;font-size:.92rem;line-height:1.6;color:var(--crema);max-height:60vh;overflow:auto;padding:.2rem .1rem}
.fo-img,.fq-img{display:block;max-width:100%;max-height:320px;border-radius:10px;margin-top:.6rem;border:1px solid var(--line)}
/* il quiz: testata, sezioni, domande */
.fo-qinfo{border:1px solid var(--line-2);border-radius:12px;padding:.8rem 1rem;margin-bottom:.8rem;background:rgba(var(--hi),.025);display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem}
.fo-qinfo p{flex-basis:100%;font-size:.84rem;line-height:1.5;color:var(--crema);margin:0}
.fo-qinfo span{font-size:.76rem;color:var(--grigio);flex:1;min-width:0}
.fo-sezq{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin:1.1rem 0 .55rem;padding-bottom:.35rem;border-bottom:1px solid rgba(191,160,64,.35)}
.fo-sezq b{font-family:var(--ff-s);font-size:1.15rem;font-weight:600;color:var(--oro-l)}
.fo-sezq small{font-size:.72rem;color:var(--cenere)}
.fo-traccia.vuota{border-left-color:var(--brace-l);background:rgba(226,85,43,.06);color:var(--brace-l)}
.fo-assegna .fo-ck{cursor:pointer;margin:0;text-transform:none;letter-spacing:0}
.fo-ck input{appearance:none;-webkit-appearance:none;width:20px;height:20px;padding:0;margin:0;border-radius:6px;border:1.5px solid var(--line-2);background:transparent;flex:none;display:grid;place-content:center;cursor:pointer}
.fo-ck input:checked{background:var(--oro);border-color:var(--oro)}
.fo-ck input:checked::after{content:'✓';font-size:.75rem;font-weight:800;color:var(--ink)}
.fo-campo{display:block}
.fo-campo input,.fo-campo select{margin-top:.3rem;font-size:.92rem;padding:.6rem .75rem;letter-spacing:0;text-transform:none}
.fo-tog{cursor:pointer;text-transform:none;letter-spacing:0}
.fo-tog input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.fo-tog i::after{transition:left .2s var(--ease)}
.fo-tog input:checked+i{background:var(--oro)}
.fo-tog input:checked+i::after{left:19px;background:#fff}
.fo-tog input:focus-visible+i{box-shadow:0 0 0 3px rgba(191,160,64,.3)}
/* foglio di una domanda */
.fo-dq-op{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}
.fo-dq-op input{flex:1;min-width:0;padding:.65rem .8rem;font-size:.92rem}
.fo-dq-op span{flex:1;font-size:.92rem;color:var(--crema)}
.fo-rad{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--line-2);position:relative}
.fo-rad.on{border-color:var(--verde)}
.fo-rad.on::after{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--verde)}
.fo-due{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.sheet .fo-due label{margin-bottom:0}
.fo-due input{margin-top:.38rem}
.fo-f{display:grid;gap:.55rem}
.sheet .fo-f label{margin:.45rem 0 0}
/* correzione */
.fo-vc{padding-bottom:.5rem}
.fo-ptb{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--cenere);white-space:nowrap;margin-left:.3rem}
.fo-risp i.vuota{color:var(--cenere)}
.fo-come{color:var(--verde);font-size:.82rem}
.fo-diversa{color:var(--brace-l);font-size:.82rem}
.fo-voto.pt button{font-variant-numeric:tabular-nums;font-size:.95rem}
.fo-voto button:disabled{cursor:default}
.fo-voto button:not(.on):disabled{opacity:.55}
.fo-pt-lab{display:block;font-size:.68rem;color:var(--cenere);margin-top:.3rem}
textarea.fo-nota-c{display:block;width:100%;min-height:0;resize:none;background:transparent;line-height:1.4;font-size:.86rem;color:var(--crema)}
textarea.fo-nota-c:focus{border-style:solid}
.fo-cq.fo-manca{animation:foManca 1.5s var(--ease)}
@keyframes foManca{0%,60%{border-color:var(--brace-l);box-shadow:0 0 0 3px rgba(226,85,43,.25)}100%{box-shadow:none}}
.fo-barra{z-index:20;margin:.6rem -1.2rem 0;flex-wrap:wrap}
.fo-barra .az{flex-wrap:wrap}
#foRestituisci:not(.pronto){opacity:.6}
@media(max-width:699px){.fo-barra{bottom:calc(58px + var(--sab));margin:.6rem -1.2rem 0}.fo-barra .az{width:100%}.fo-barra .az .btn{flex:1}}
@media(min-width:900px){.fo-barra{margin:.6rem -1rem 0;border-radius:12px 12px 0 0}}
/* fare il quiz: una domanda per schermata, niente menu in basso */
body:has(#main .fq-vista) nav.bottom{display:none}
body:has(#main .fq-vista) #hubBar{display:none}
.fq-vista{max-width:680px;margin:0 auto;padding-bottom:calc(90px + var(--sab))}
.fq-top>span{display:flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fq-istr{font-size:.82rem;line-height:1.5;color:var(--grigio);padding:.7rem .85rem;border-radius:10px;border:1px solid rgba(124,195,224,.3);background:rgba(124,195,224,.06);margin-bottom:.8rem}
.fq-tempo{display:inline-block;font-size:.68rem;letter-spacing:.06em;color:var(--grigio);padding:.18rem .55rem;border-radius:999px;border:1px solid var(--line-2);margin-bottom:.8rem}
.fq-tempo.oltre{color:var(--brace-l);border-color:rgba(226,85,43,.45)}
.fq-sez{display:block;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cenere);margin-bottom:.25rem}
.fq-area{width:100%;resize:vertical;outline:none}
.fq-man{margin-top:1rem}
.fq-giu .btn:disabled{opacity:.4}
@media(min-width:700px){.fq-giu{left:200px}}
@media(min-width:900px){.fq-giu{left:232px;padding-left:2.8rem;padding-right:2.8rem}.fq-giu .btn{flex:0 1 240px}.fq-giu{justify-content:center}}
.fq-rie{display:flex;align-items:center;gap:.7rem;padding:.7rem .8rem;border-radius:10px;border:1px solid var(--line);background:var(--card);margin-bottom:.4rem}
.fq-rie .n{flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700;background:rgba(212,175,106,.14);color:var(--oro-l)}
.fq-rie .t{flex:1;min-width:0;font-size:.86rem;color:var(--crema);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fq-rie .s{flex:none;font-size:.72rem;color:var(--verde);font-weight:700}
.fq-rie.manca{border-color:rgba(226,85,43,.45)}
.fq-rie.manca .s{color:var(--brace-l);text-transform:uppercase;letter-spacing:.08em;font-size:.6rem}
@media(max-width:699px){.fo-kpi{gap:.5rem}.fo-k{padding:.7rem .8rem}.fo-k b{font-size:1.6rem}.fo-man{grid-template-columns:1fr}.fo-bar{grid-template-columns:110px 1fr 34px}.fo-testa .fo-az{width:100%}.fo-testa .fo-az .btn{flex:1}}
.fo-riga small b.ok{color:var(--verde);font-weight:700}
.fo-riga small .corr{color:var(--brace-l)}
.fo-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fq-top>span{flex:1;min-width:0}
.fq-tt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fq-top b{flex:none;white-space:nowrap}
.fq-dom.lunga{font-size:1.25rem;line-height:1.3}
@media(min-width:700px){.fq-dom.lunga{font-size:1.4rem}}
.lnk2,.fo-m-mod{min-height:32px;display:inline-flex;align-items:center}
@media(max-width:699px){.fo-testa .fo-az{flex-direction:column}.fo-testa .fo-az .btn{width:100%}}

/* ===================== 2.16.0 — VISTA SEMPLICE (30-semplice.js) =====================
   Per chi è in giro: caratteri grandi, tasti grossi, niente sigle. Si accende per persona (Permessi, ingranaggio, Altro).
   Sul telefono cinque voci in basso con la «+» al centro; da 700px il menu a sinistra con le stesse voci. */
:root{--sp-verde:#9FD69F;--sp-arancio:#FFB08A;--sp-verde-bg:rgba(124,185,124,.14);--sp-arancio-bg:rgba(242,122,60,.15)}
html[data-tema="chiaro"]{--sp-verde:#2F7A42;--sp-arancio:#A8390F;--sp-verde-bg:rgba(47,122,66,.10);--sp-arancio-bg:rgba(193,70,31,.09)}
.sp{font-size:17px;line-height:1.45;color:var(--crema)}
.sp b{font-weight:600}
.sp button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
.sp svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.sp-saluto{font-size:1rem;color:var(--grigio)}
.sp-data{font-family:var(--ff-s);font-size:2.25rem;font-weight:600;line-height:1.05;margin:.1rem 0 1.1rem}
.sp-data em{color:var(--oro-l);font-style:normal}
/* la nuova richiesta, in cima */
.sp-nuova{border-radius:20px;padding:1.05rem 1.05rem 1.1rem;background:linear-gradient(150deg,rgba(212,181,78,.22),rgba(191,160,64,.06) 70%),var(--card);border:1.5px solid rgba(212,181,78,.6);margin-bottom:1.5rem}
.sp-nuova h3{font-family:var(--ff-b);font-size:1.3rem;font-weight:600;margin:0;letter-spacing:0;text-transform:none}
.sp-nuova p{font-size:.92rem;color:var(--grigio);margin:.15rem 0 .85rem}
.sp-nuova .due{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.sp-nuova .due.uno{grid-template-columns:minmax(0,1fr)}
.sp .sp-bt{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:58px;border-radius:14px;font-size:1.06rem;font-weight:600;border:1.5px solid var(--line-2);background:var(--mid);color:var(--crema);width:100%;text-align:center;text-decoration:none;line-height:1.15;padding:0 .7rem}
.sp-bt svg{width:24px;height:24px;stroke-width:1.9;flex:none}
.sp .sp-bt.oro{background:linear-gradient(135deg,#E6C35A,#BFA040 60%,#A3862E);color:#15110A;border-color:transparent;box-shadow:0 10px 26px -12px rgba(191,160,64,.7)}
.sp .sp-bt.verde{background:var(--sp-verde-bg);border-color:rgba(124,185,124,.55);color:var(--sp-verde)}
.sp .sp-bt.blu{background:rgba(124,195,224,.12);border-color:rgba(124,195,224,.5);color:var(--brina-l)}
.sp .sp-bt.off{opacity:.35;pointer-events:none}
.sp .sp-bt:disabled{opacity:.6}
.sp .sp-bt:active{transform:scale(.98)}
/* sezioni */
.sp-h{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.1rem .8rem;margin:0 0 .7rem}
.sp-h h2{white-space:nowrap;font-family:var(--ff-b);font-size:1.3rem;font-weight:600;margin:0;letter-spacing:0;text-transform:none}
.sp-h small{font-size:.92rem;color:var(--grigio);text-align:right}
.sp-vuoto{border-radius:16px;border:1.5px dashed var(--line-2);padding:1.1rem 1rem;font-size:1.02rem;color:var(--grigio);margin-bottom:1.3rem;text-align:center}
.sp-vuoto.piccolo{border:0;padding:.3rem 0;text-align:left;margin:0}
.sp-avviso{border-radius:14px;padding:.7rem .9rem;margin:0 0 .8rem;background:rgba(212,181,78,.1);border:1px solid rgba(212,181,78,.4);font-size:.98rem;color:var(--crema)}
.sp-err{border-radius:14px;padding:.8rem 1rem;margin:1rem 0 0;background:var(--sp-arancio-bg);border:1.5px solid rgba(242,122,60,.55);font-size:1.02rem;color:var(--sp-arancio);font-weight:500}
/* le tappe */
.sp .sp-fatta{display:flex;align-items:center;gap:.75rem;padding:.8rem .95rem;border-radius:14px;background:rgba(124,185,124,.07);border:1px solid rgba(124,185,124,.3);margin-bottom:.7rem;font-size:1rem;color:var(--grigio);width:100%;text-align:left}
.sp-fatta .ok{width:34px;height:34px;border-radius:50%;background:var(--sp-verde-bg);color:var(--sp-verde);display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}
.sp-fatta b{color:var(--crema)}
.sp-fatta .t{flex:1;min-width:0;line-height:1.35}
.sp-fatta .t small{display:block;font-size:.95rem}
.sp-tappa{border-radius:18px;background:var(--card);border:1.5px solid var(--line-2);padding:1rem 1rem 1.05rem;margin-bottom:.85rem}
.sp-tappa.ora{border-color:rgba(212,181,78,.75);background:linear-gradient(160deg,rgba(212,181,78,.10),transparent 55%),var(--card);box-shadow:0 14px 34px -20px rgba(212,181,78,.6)}
.sp-t1{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.sp-ora{font-family:var(--ff-b);font-size:1.75rem;font-weight:700;line-height:1;color:var(--oro-l);font-variant-numeric:tabular-nums}
.sp-stato{font-size:.85rem;font-weight:700;padding:.25rem .7rem;border-radius:999px;background:var(--oro);color:#15110A;white-space:nowrap}
html[data-tema="chiaro"] .sp-stato{color:#fff}
.sp-stato.poi,html[data-tema="chiaro"] .sp-stato.poi{background:rgba(var(--hi),.08);color:var(--grigio)}
.sp-urg{margin-left:auto;font-size:.85rem;font-weight:700;color:var(--sp-arancio);padding:.22rem .65rem;border-radius:999px;border:1.5px solid rgba(242,122,60,.6);white-space:nowrap;line-height:1.2}
.sp-urg.alta{background:var(--sp-arancio-bg)}
.sp .sp-chi{display:block;width:100%;text-align:left;margin:0}
.sp-chi>span{display:block}
.sp-nome{font-size:1.38rem;font-weight:600;margin:.55rem 0 .1rem;line-height:1.2}
.sp-nome .sp-urg{margin-left:.5rem;vertical-align:.2rem;font-size:.8rem}
.sp-dove{font-size:1.02rem;color:var(--grigio)}
.sp-cosa{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.55rem;font-size:1rem}
.sp-tipo{font-size:.92rem;font-weight:600;padding:.22rem .7rem;border-radius:10px;background:rgba(124,195,224,.14);color:var(--brina-l)}
.sp-tipo.guasto{background:var(--sp-arancio-bg);color:var(--sp-arancio)}
.sp-tipo.inst{background:rgba(212,181,78,.16);color:var(--oro-l)}
.sp-imp-t{color:var(--grigio);font-size:.98rem}
.sp-nota{display:block;margin-top:.6rem;font-size:.98rem;line-height:1.45;color:var(--crema);padding:.55rem .75rem;border-left:3px solid var(--oro);background:rgba(212,181,78,.06);border-radius:0 10px 10px 0;white-space:pre-line;overflow-wrap:anywhere}
.sp-az{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.85rem}
.sp-az.due{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp .sp-az .sp-bt{min-height:56px;font-size:1rem;flex-direction:column;gap:.15rem;padding:.35rem 0}
.sp .sp-az.piccole .sp-bt{min-height:50px;font-size:.95rem}
.sp-tappa.poi{padding:.85rem 1rem}
.sp-tappa.poi .sp-ora{font-size:1.45rem}
.sp-tappa.poi .sp-nome{font-size:1.2rem;margin-top:.35rem}
.sp-rientro{display:flex;align-items:center;gap:.6rem;font-size:.98rem;color:var(--grigio);padding:.3rem .2rem 1.2rem}
.sp-rientro svg{width:20px;height:20px;stroke-width:1.8;flex:none}
.sp-stampa-wrap{margin:-.3rem 0 1.4rem}
.sp .sp-stampa{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--crema);padding:.7rem 1.1rem;border-radius:12px;border:1.5px solid var(--line-2);background:var(--mid);white-space:nowrap}
.sp-stampa svg{width:22px;height:22px;stroke-width:1.7;flex:none}
.sp-stampa-wrap .sp-stampa{width:100%;min-height:52px}
.sp .sp-stampa.piccola{padding:.4rem .7rem;font-size:.9rem;border-radius:10px;margin-left:auto}
.sp-stampa.piccola svg{width:18px;height:18px}
.sp .sp-voce-bt{border-color:rgba(212,181,78,.6);color:var(--oro-l)}
/* elenchi */
.sp-lista{border-radius:18px;background:var(--card);border:1.5px solid var(--line-2);overflow:hidden;margin-bottom:1.4rem}
.sp .sp-riga{display:flex;align-items:center;gap:.85rem;padding:1rem;border-top:1px solid var(--line);width:100%;text-align:left;font-size:1.08rem}
.sp-riga:first-child{border-top:0}
.sp-riga .ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(var(--hi),.06);color:var(--oro-l);flex:none}
.sp-riga .ic svg{width:24px;height:24px;stroke-width:1.8}
.sp-riga .t{flex:1;min-width:0;overflow-wrap:break-word}
.sp-riga .t .sp-st{display:inline-block;margin-top:.35rem}
.sp-riga .t small{display:block;font-size:.9rem;color:var(--grigio);margin-top:.05rem}
.sp-riga .sp-n{min-width:30px;height:30px;padding:0 .5rem;border-radius:999px;background:var(--brace);color:#fff;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.sp-riga .fr{color:var(--cenere);font-size:1.5rem;line-height:1;flex:none}
.sp-st{font-size:.85rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;background:rgba(var(--hi),.07);color:var(--grigio);white-space:nowrap;flex:none}
.sp-st.programmato{background:rgba(124,195,224,.14);color:var(--brina-l)}
.sp-st.eseguito{background:var(--sp-verde-bg);color:var(--sp-verde)}
.sp .sp-link{display:block;margin:1rem auto 0;font-size:1.02rem;font-weight:600;color:var(--oro-l);padding:.7rem 1rem;text-align:center}
.sp-domani{border-radius:18px;border:1.5px solid var(--line-2);background:var(--card);padding:.6rem 1.1rem 1rem;margin-bottom:1.4rem}
.sp .sp-domani .r{display:flex;gap:.8rem;padding:.6rem 0;border-top:1px solid var(--line);font-size:1.02rem;width:100%;text-align:left}
.sp-domani .r:first-child{border-top:0}
.sp-domani .r b{color:var(--oro-l);font-variant-numeric:tabular-nums;width:52px;flex:none}
.sp-domani .r small{display:block;color:var(--grigio);font-size:.92rem}
.sp .sp-domani .sp-stampa{margin-top:.6rem;width:100%}
/* la settimana */
.sp-giorno{border-radius:18px;background:var(--card);border:1.5px solid var(--line-2);padding:.8rem 1rem .4rem;margin-bottom:.85rem}
.sp-giorno.oggi{border-color:rgba(212,181,78,.6)}
.sp-gh{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .7rem;padding-bottom:.5rem}
.sp-gh>span{font-size:1.15rem}
.sp-gh>span b{font-weight:700}
.sp-gh small{font-size:.92rem;color:var(--grigio)}
.sp .sp-sr{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-top:1px solid var(--line);width:100%;text-align:left;font-size:1.04rem}
.sp-sr>b{color:var(--oro-l);font-variant-numeric:tabular-nums;width:54px;flex:none;font-size:1.1rem}
.sp-sr>span{flex:1;min-width:0}
.sp-sr .nm{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-weight:600}
.sp-sr .nm .sp-urg{margin-left:0;font-size:.75rem;padding:.1rem .5rem}
.sp-sr small{display:block;color:var(--grigio);font-size:.92rem}
.sp-sr>i{font-style:normal;color:var(--cenere);font-size:1.4rem}
.sp-sr.fatta{opacity:.6}
/* pagine a tutto schermo (nuova richiesta, cliente) */
.sp-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:-.2rem 0 1rem}
.sp .sp-indietro{display:inline-flex;align-items:center;gap:.35rem;font-size:1.02rem;font-weight:600;color:var(--oro-l);padding:.6rem .95rem .6rem .7rem;border-radius:999px;border:1.5px solid var(--line-2);white-space:nowrap}
.sp-indietro svg{width:20px;height:20px;stroke-width:1.9}
.sp .sp-indietro.grigio{color:var(--crema)}
.sp-titolo{font-family:var(--ff-s);font-size:2rem;font-weight:600;line-height:1.05;margin:0 0 .35rem;letter-spacing:0;text-transform:none}
.sp-sotto{font-size:1rem;color:var(--grigio);margin:0 0 1.2rem}
.sp-passo{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:600;margin:1.3rem 0 .6rem}
.sp-passo i{font-style:normal;width:32px;height:32px;border-radius:50%;background:rgba(212,181,78,.18);color:var(--oro-l);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex:none}
.sp-passo small{font-weight:400;color:var(--grigio);font-size:.9rem;margin-left:auto}
.sp-passo.err{color:var(--sp-arancio)}
.sp-passo.err i{background:var(--sp-arancio-bg);color:var(--sp-arancio)}
.sp-campo{display:flex;align-items:center;gap:.6rem;min-height:62px;border-radius:16px;border:2px solid var(--oro-l);background:var(--mid);padding:0 .5rem 0 1rem;box-shadow:0 0 0 4px rgba(212,181,78,.14)}
.sp-campo>svg{width:24px;height:24px;stroke:var(--grigio);stroke-width:1.9;flex:none}
.sp .sp-campo input,.sp .sp-campo input:focus{flex:1;min-width:0;background:transparent;border:0;border-radius:0;box-shadow:none;outline:0;color:var(--crema);font:inherit;font-size:1.2rem;padding:.6rem 0}
.sp-campo input::placeholder{color:var(--cenere)}
.sp .mic{width:48px;height:48px;border-radius:50%;background:rgba(212,181,78,.16);color:var(--oro-l);display:flex;align-items:center;justify-content:center;flex:none}
.sp .mic svg{width:24px;height:24px;stroke-width:1.9}
.sp .mic.on{background:var(--brace);color:#fff;animation:spPulsa 1.2s ease-in-out infinite}
@keyframes spPulsa{0%,100%{box-shadow:0 0 0 0 rgba(226,85,43,.55)}50%{box-shadow:0 0 0 10px rgba(226,85,43,0)}}
.sp-sugg{margin-top:.6rem;border-radius:16px;border:1.5px solid var(--line-2);background:var(--card);overflow:hidden}
.sp .sp-sugg .s{display:flex;gap:.8rem;align-items:center;padding:.9rem 1rem;border-top:1px solid var(--line);width:100%;text-align:left}
.sp-sugg .s:first-child{border-top:0}
.sp-sugg .s>span:last-child{min-width:0;flex:1;overflow-wrap:anywhere}
.sp-sugg .sp-av{width:46px;height:46px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(212,181,78,.16);color:var(--oro-l);font-weight:700;font-size:16px}
.sp-sugg .s b{display:block;font-size:1.15rem}
.sp-sugg .s b u{text-decoration:none;color:var(--oro-l)}
.sp-sugg .s small{display:block;font-size:.95rem;color:var(--grigio);line-height:1.35}
.sp .sp-sugg .s.nuovo{color:var(--oro-l);font-weight:600;font-size:1.08rem}
.sp-sugg .s.nuovo .sp-av{background:transparent;border:2px dashed rgba(212,181,78,.6);font-size:22px}
.sp-aiuto{display:flex;gap:.7rem;align-items:center;margin-top:1rem;padding:.9rem 1rem;border-radius:16px;background:rgba(124,195,224,.08);border:1px solid rgba(124,195,224,.3);font-size:1rem;color:var(--crema)}
.sp-aiuto svg{width:26px;height:26px;stroke:var(--brina-l);stroke-width:1.8;flex:none}
.sp-aiuto b{color:var(--brina-l)}
.sp-scelto,.sp-nuovocli{border-radius:18px;border:2px solid rgba(124,185,124,.55);background:linear-gradient(160deg,rgba(124,185,124,.10),transparent 60%),var(--card);padding:.95rem 1rem}
.sp-nuovocli{border-color:rgba(212,181,78,.55);background:linear-gradient(160deg,rgba(212,181,78,.08),transparent 60%),var(--card)}
.sp-scelto .r1,.sp-nuovocli .r1{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.sp-scelto .r1 b,.sp-nuovocli .r1 b{font-size:1.3rem;flex:1;min-width:0}
.sp-nuovocli .r1 b{font-size:1.2rem;white-space:nowrap}
.sp-scelto .ok{font-size:.85rem;font-weight:700;color:var(--sp-verde);padding:.2rem .6rem;border-radius:999px;background:var(--sp-verde-bg);white-space:nowrap}
.sp-scelto p{margin:.35rem 0 0;font-size:1.02rem;color:var(--grigio);line-height:1.45}
.sp-scelto p b{color:var(--crema);font-weight:500}
.sp-scelto p.imp{display:flex;align-items:center;gap:.45rem;color:var(--crema)}
.sp-scelto p.imp svg{width:20px;height:20px;stroke:var(--sp-arancio);stroke-width:1.8;flex:none}
.sp .cambia{font-size:.98rem;font-weight:600;color:var(--oro-l);margin-top:.55rem;display:inline-block;padding:.3rem 0}
.sp-nuovocli .cambia{margin-top:0}
.sp-imps{display:flex;flex-direction:column;gap:.45rem;margin-top:.7rem}
.sp-imps small{font-size:.92rem;color:var(--grigio)}
.sp .sp-imps button{min-height:50px;border-radius:12px;border:2px solid var(--line-2);background:var(--mid);padding:.5rem .8rem;font-size:1.02rem;font-weight:600;text-align:left}
.sp .sp-imps button.on{border-color:var(--oro-l);background:rgba(212,181,78,.14)}
.sp-completa{margin-top:.8rem;border-radius:16px;border:1.5px dashed rgba(212,181,78,.55);padding:.8rem 1rem .9rem}
.sp-completa p{margin:0 0 .3rem;font-size:.98rem;color:var(--crema)}
.sp-lab{display:block;font-size:.95rem;color:var(--grigio);margin-top:.7rem}
.sp-lab input{display:block;width:100%;margin-top:.3rem;min-height:56px;border-radius:14px;border:2px solid var(--line-2);background:var(--mid);color:var(--crema);font:inherit;font-size:1.15rem;padding:.5rem .9rem;outline:0}
.sp-lab input:focus{border-color:var(--oro-l);box-shadow:0 0 0 4px rgba(212,181,78,.14)}
.sp-lab.err{color:var(--sp-arancio)}
.sp-lab.err input{border-color:var(--brace-l)}
.sp-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.sp .sp-tile{display:flex;align-items:center;gap:.6rem;min-height:68px;padding:.6rem .7rem;border-radius:16px;border:2px solid var(--line-2);background:var(--card);font-size:1.02rem;font-weight:600;text-align:left;line-height:1.2;position:relative}
.sp-tile svg{width:27px;height:27px;stroke:var(--oro-l);stroke-width:1.7;flex:none}
.sp-tile span{min-width:0;overflow-wrap:break-word}
/* sul telefono il disegno sopra e la scritta sotto: «Installazione» ci sta intera anche col testo grande */
@media(max-width:699px){.sp .sp-tile{flex-direction:column;align-items:flex-start;gap:.35rem;min-height:84px;padding:.65rem .75rem}.sp-tile svg{width:26px;height:26px}}
.sp-tile small{display:block;font-size:.8rem;font-weight:400;color:var(--grigio)}
.sp .sp-tile.on{border-color:var(--oro-l);background:linear-gradient(135deg,rgba(212,181,78,.2),rgba(212,181,78,.05)),var(--card);box-shadow:0 0 0 3px rgba(212,181,78,.15)}
.sp-tile.on::after{content:'✓';position:absolute;top:-9px;right:-7px;width:26px;height:26px;border-radius:50%;background:var(--oro-l);color:#15110A;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}
.sp-urgenza{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.sp .sp-urgenza button{min-height:62px;border-radius:14px;border:2px solid var(--line-2);background:var(--card);font-size:1.05rem;font-weight:600;line-height:1.15;text-align:center;padding:.3rem}
.sp-urgenza button small{display:block;font-size:.8rem;font-weight:400;color:var(--grigio);margin-top:.1rem}
.sp .sp-urgenza button.on{border-color:var(--brace-l);background:var(--sp-arancio-bg);color:var(--sp-arancio)}
.sp .sp-urgenza button.no.on{border-color:var(--oro-l);background:rgba(212,181,78,.12);color:var(--crema)}
.sp-area{position:relative}
.sp-area textarea{display:block;width:100%;border-radius:16px;border:1.5px solid var(--line-2);background:var(--mid);color:var(--crema);padding:.85rem 4.2rem .85rem 1rem;font:inherit;font-size:1.08rem;line-height:1.5;min-height:118px;resize:vertical;outline:0}
.sp-area textarea:focus{border-color:var(--oro-l)}
.sp-area .mic{position:absolute;right:.6rem;bottom:.6rem}
.sp-giu{position:fixed;left:0;right:0;bottom:0;z-index:56;padding:.75rem 1rem calc(.8rem + var(--sab));background:rgba(var(--nero-rgb),.97);border-top:1px solid var(--line-2)}
.sp .sp-giu .sp-bt{min-height:62px;font-size:1.2rem;max-width:620px;margin:0 auto}
.sp-giu small{display:block;text-align:center;font-size:.86rem;color:var(--grigio);margin-top:.4rem}
.sp-nuova-v,.sp-capito-v{padding-bottom:7.5rem}
body:has(#main .sp-nuova-v:not(.sp-pc)) nav.bottom,body:has(#main .sp-capito-v:not(.sp-pc)) nav.bottom{display:none}
/* il risultato della voce */
.sp-detto{font-size:1.02rem;line-height:1.5;color:var(--grigio);font-style:italic;padding:.8rem 1rem;border-radius:14px;background:rgba(var(--hi),.04);border:1px solid var(--line);margin-bottom:1rem;overflow-wrap:anywhere}
.sp-detto b{font-style:normal;color:var(--crema);font-weight:600;display:block;font-size:.9rem;margin-bottom:.2rem}
.sp-capito{border-radius:18px;border:1.5px solid var(--line-2);background:var(--card);overflow:hidden}
.sp-capito .c{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.8rem;row-gap:.1rem;align-items:start;padding:.8rem 1rem;border-top:1px solid var(--line)}
.sp-capito .c:first-child{border-top:0}
.sp-capito .c .k{grid-column:1;font-size:.9rem;color:var(--grigio)}
.sp-capito .c .k .ok{font-size:.8rem;color:var(--sp-verde);margin-left:.3rem}
.sp-capito .c .v{grid-column:1;font-size:1.14rem;line-height:1.4;overflow-wrap:anywhere}
.sp-capito .c .v small{display:block;font-size:.92rem;color:var(--grigio)}
.sp .sp-capito .c .mod{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:.95rem;font-weight:600;color:var(--oro-l);padding:.5rem .8rem;border-radius:999px;border:1.5px solid var(--line-2);white-space:nowrap}
.sp-capito .c.manca{background:var(--sp-arancio-bg)}
.sp-capito .c.manca .v small.manca-t{color:var(--sp-arancio);font-weight:600;font-size:.98rem}
.sp-capito .c.manca .v:not(:has(.manca-t)){color:var(--sp-arancio);font-weight:600}
.sp-capito .c.scegli{grid-template-columns:minmax(0,1fr)}
.sp-capito .c.scegli .v{display:flex;flex-direction:column;gap:.45rem;margin-top:.3rem}
.sp .sp-cand{display:block;width:100%;text-align:left;border-radius:12px;border:2px solid var(--line-2);background:var(--mid);padding:.6rem .85rem}
.sp-cand b{display:block;font-size:1.1rem}
.sp-cand small{display:block;font-size:.9rem;color:var(--grigio)}
.sp .sp-cand.nuovo{color:var(--oro-l);font-weight:600;border-style:dashed}
.sp-urg-v{color:var(--sp-arancio);font-weight:600}
/* segnata */
.sp-fatto{text-align:center;padding-top:1.5rem}
.sp-fatto-ok{width:86px;height:86px;border-radius:50%;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:var(--sp-verde-bg);color:var(--sp-verde);border:2px solid rgba(124,185,124,.5)}
.sp-fatto-ok svg{width:44px;height:44px;stroke-width:2.4}
.sp-fatto .sp-avviso{text-align:left}
.sp-due2{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;margin-top:1.1rem}
/* la voce: tutto lo schermo */
body.sp-voce-aperta{overflow:hidden}
.sp-voce{position:fixed;inset:0;z-index:400;background:radial-gradient(120% 70% at 50% 35%,rgba(212,181,78,.16),transparent 65%) var(--nero);color:var(--crema);display:flex;flex-direction:column;align-items:center;padding:calc(1rem + var(--sat)) 1.2rem calc(1rem + var(--sab));overflow-y:auto;font-size:17px;text-align:center}
.sp-voce .chiudi{align-self:flex-start;font:inherit;font-size:1rem;font-weight:600;color:var(--grigio);background:none;border:1.5px solid var(--line-2);border-radius:999px;padding:.55rem .95rem}
.sp-voce h2{font-family:var(--ff-s);font-size:2.3rem;font-weight:600;margin:1.3rem 0 .3rem;letter-spacing:0;text-transform:none}
.sp-voce .dimmi{font-size:1.05rem;color:var(--grigio)}
.sp-voce .chip4{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.6rem 0 0;max-width:420px}
.sp-voce .chip4 span{font-size:.95rem;padding:.3rem .75rem;border-radius:999px;background:rgba(212,181,78,.12);color:var(--oro-l);font-weight:500}
.sp-onde{position:relative;width:150px;height:150px;margin:2rem auto 1rem;flex:none}
.sp-onde b{position:absolute;inset:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#E6C35A,#BFA040 60%,#A3862E);color:#15110A;box-shadow:0 14px 34px -10px rgba(191,160,64,.8)}
.sp-onde b svg{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sp-onde i{position:absolute;inset:27px;border-radius:50%;border:2px solid rgba(212,181,78,.55);animation:spOnda 2.4s ease-out infinite}
.sp-onde i:nth-child(2){animation-delay:.8s}.sp-onde i:nth-child(3){animation-delay:1.6s}
@keyframes spOnda{from{transform:scale(1);opacity:.9}to{transform:scale(1.75);opacity:0}}
.sp-barre{display:flex;align-items:center;justify-content:center;gap:4px;height:34px}
.sp-barre i{width:5px;border-radius:3px;background:var(--oro-l);height:8px;animation:spBarra 1s ease-in-out infinite;animation-delay:calc(var(--i) * -.13s)}
@keyframes spBarra{0%,100%{height:6px;opacity:.5}50%{height:30px;opacity:1}}
.sp-tempo{font-variant-numeric:tabular-nums;color:var(--grigio);font-size:1rem;margin-top:.4rem}
.sp-sentito{margin:1rem 0 0;max-width:560px;width:100%;min-height:3.2em;font-size:1.2rem;line-height:1.45;color:var(--crema);overflow-wrap:anywhere}
.sp-sentito span{color:var(--grigio)}
.sp-vc-err:not(:empty){margin-top:1rem;max-width:520px;width:100%;border-radius:14px;padding:.85rem 1rem;background:var(--sp-arancio-bg);border:1.5px solid rgba(242,122,60,.55);color:var(--sp-arancio);font-size:1.02rem;display:flex;flex-direction:column;gap:.7rem}
.sp-vc-err .sp-bt{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:54px;border-radius:14px;font:inherit;font-size:1.05rem;font-weight:600;border:1.5px solid var(--line-2);background:var(--mid);color:var(--crema)}
.sp-vc-err .sp-bt svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sp-voce .fine{margin-top:auto;padding-top:1.4rem;width:100%;max-width:520px}
.sp-voce .fine .sp-bt{display:flex;align-items:center;justify-content:center;width:100%;min-height:64px;border-radius:16px;font:inherit;font-size:1.25rem;font-weight:700;border:0;background:linear-gradient(135deg,#E6C35A,#BFA040 60%,#A3862E);color:#15110A;box-shadow:0 10px 26px -12px rgba(191,160,64,.7)}
.sp-voce .fine .sp-bt:disabled{opacity:.75}
.sp-voce .fine small{display:block;font-size:.9rem;color:var(--grigio);margin-top:.5rem}
.sp-voce.pensa .sp-onde i,.sp-voce.pensa .sp-barre i{animation-play-state:paused;opacity:.25}
/* scheda cliente */
.sp-cli h1{font-family:var(--ff-s);font-size:2.3rem;font-weight:600;line-height:1.05;margin:.3rem 0 .2rem;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.sp-cli .ind{font-size:1.08rem;color:var(--grigio)}
.sp-cli .tel{font-size:1.5rem;font-weight:600;letter-spacing:.02em;margin:.5rem 0 .9rem;color:var(--crema)}
.sp-cli .tre{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.8rem}
.sp .sp-cli .tre .sp-bt,.sp-cli .tre .sp-bt{flex-direction:column;gap:.2rem;min-height:70px;font-size:.98rem;padding:.3rem .2rem}
.sp-box{border-radius:18px;border:1.5px solid var(--line-2);background:var(--card);padding:1rem;margin-top:1.1rem}
.sp-box h3{font-family:var(--ff-b);font-size:1.12rem;font-weight:600;margin:0 0 .5rem;color:var(--grigio);letter-spacing:0;text-transform:none}
.sp-imp{display:flex;gap:.85rem;align-items:flex-start;padding:.5rem 0}
.sp-imp+.sp-imp{border-top:1px solid var(--line)}
.sp-imp .fiamma{width:54px;height:54px;border-radius:14px;background:var(--sp-arancio-bg);display:flex;align-items:center;justify-content:center;flex:none}
.sp-imp .fiamma svg{width:30px;height:30px;stroke:var(--sp-arancio);stroke-width:1.7}
.sp-imp>span:last-child{min-width:0}
.sp-imp b{display:block;font-size:1.2rem}
.sp-imp small{display:block;font-size:.98rem;color:var(--grigio)}
.sp .sp-storia{display:flex;gap:.8rem;padding:.7rem 0;border-top:1px solid var(--line);font-size:1.02rem;width:100%;text-align:left}
.sp-box h3+.sp-storia{border-top:0}
.sp-storia .q{width:104px;flex:none;color:var(--grigio)}
.sp-storia>span:last-child{min-width:0;overflow-wrap:anywhere}
.sp-storia small{display:block;color:var(--grigio);font-size:.92rem}
.sp-cli,.sp-altro,.sp-ric{padding-bottom:1rem}
/* altro */
.sp .sp-modo{display:flex;align-items:center;gap:1rem;width:100%;text-align:left;padding:1rem 1.05rem;border-radius:16px;border:1.5px solid var(--line-2);background:var(--card);margin-bottom:.6rem;font-size:1.1rem;font-weight:600}
.sp-modo .t{flex:1;min-width:0}
.sp-modo small{display:block;font-size:.9rem;font-weight:400;color:var(--grigio)}
.sp-sw{width:58px;height:34px;border-radius:999px;background:var(--oro);position:relative;flex:none;transition:background .2s}
.sp-sw::after{content:'';position:absolute;top:4px;left:28px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.3);transition:left .2s}
.sp-sw.off{background:rgba(var(--hi),.18)}
.sp-sw.off::after{left:4px}
.sp-nota-modo{font-size:.92rem;color:var(--grigio);margin:.2rem .2rem 1.3rem;line-height:1.45}
.sp .sp-bt.esci{color:var(--danger);border-color:rgba(224,122,110,.45);background:transparent}
.sp-esiti{display:flex;flex-direction:column;gap:.5rem;margin:.6rem 0 .4rem}
.sp-esiti button{min-height:58px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--mid);color:var(--crema);font:inherit;font-size:1.05rem;text-align:left;padding:.55rem 1rem;cursor:pointer}
.sp-esiti button b{display:block;font-weight:600}
.sp-esiti button small{display:block;font-size:.88rem;color:var(--grigio)}
/* il menu della vista semplice — telefono: cinque voci, la «+» al centro e rialzata */
nav.bottom.sp-basso{display:grid;grid-template-columns:repeat(var(--sp-n,5),minmax(0,1fr));align-items:end;padding:.3rem .2rem calc(.4rem + var(--sab));background:rgba(var(--nero-rgb),.97);border-top:1px solid var(--line-2)}
nav.bottom.sp-basso button{font-size:13px;letter-spacing:0;text-transform:none;font-weight:500;gap:.2rem;padding:.45rem 0 .15rem;color:var(--grigio);min-width:0}
nav.bottom.sp-basso button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
nav.bottom.sp-basso button svg{width:27px;height:27px;stroke-width:1.7}
nav.bottom.sp-basso button.on{color:var(--oro-l);font-weight:600}
nav.bottom.sp-basso button.on::before{display:block;content:'';position:absolute;top:-.3rem;width:34px;height:3px;border-radius:3px;background:var(--oro-l);transform:none}
nav.bottom.sp-basso button.on svg{transform:none}
nav.bottom.sp-basso .sp-piu{margin-top:-1.7rem;color:var(--oro-l);font-weight:600}
nav.bottom.sp-basso .sp-piu.on::before{display:none}
nav.bottom.sp-basso .sp-piu-c{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#E6C35A,#BFA040 60%,#A3862E);color:#15110A;box-shadow:0 10px 24px -8px rgba(191,160,64,.8),0 0 0 5px rgba(var(--nero-rgb),1)}
nav.bottom.sp-basso .sp-piu-c svg{width:32px;height:32px;stroke-width:2.4}
nav.bottom.sp-basso .badge{top:.15rem;right:auto;left:calc(50% + 5px);min-width:20px;height:20px;border-radius:10px;font-size:12px;font-weight:700}
html[data-testo="grande"] nav.bottom.sp-basso .badge{font-size:11px}
body.sp-semplice main{padding-bottom:calc(100px + var(--sab))}
@media(max-width:699px){body.sp-semplice .top-w .who{display:none}}
body.sp-semplice #pagineBar,body.sp-semplice #hubBar{display:none!important}
body.sp-semplice #appVer,body.sp-semplice #pagineBtn{display:none!important}
/* computer e tablet: il menu a sinistra con le stesse voci, più grandi e senza maiuscole */
nav.tabs.sp-side button{font-size:1.02rem;letter-spacing:0;text-transform:none;padding:.85rem .85rem;gap:.85rem;color:var(--grigio)}
nav.tabs.sp-side button.on{color:var(--oro-l)}
nav.tabs.sp-side button svg{width:24px;height:24px;stroke-width:1.7}
nav.tabs.sp-side button.sp-side-piu{margin:.55rem 0;background:linear-gradient(135deg,#E6C35A,#BFA040 60%,#A3862E);color:#15110A;font-weight:600;border-radius:12px;box-shadow:0 10px 24px -14px rgba(191,160,64,.9);white-space:nowrap;font-size:.98rem}
nav.tabs.sp-side button.sp-side-piu.on{outline:2px solid var(--oro-l);outline-offset:2px}
@media(min-width:700px) and (max-width:899px){nav.tabs.sp-side button{font-size:.95rem;padding:.75rem .7rem;gap:.7rem}nav.tabs.sp-side button.sp-side-piu{font-size:.88rem;padding:.75rem .5rem;gap:.45rem}}
@media(min-width:700px){.sp-giu{left:200px}}
@media(min-width:900px){.sp-giu{left:232px}}
/* al computer: due colonne */
.sp-pc{max-width:1240px}
main:has(.sp-pc){max-width:1280px}
.sp-pc .sp-data{font-size:2.6rem;margin-bottom:1.4rem}
.sp-top-pc{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;flex-wrap:wrap}
.sp-pc .sp-top-pc{margin-bottom:1.3rem}
.sp-pc .sp-top-pc .sp-data{margin:0}
.sp-griglia{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:2rem;align-items:start}
.sp .sp-tpc{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:1.1rem;align-items:start;border-radius:18px;background:var(--card);border:1.5px solid var(--line-2);padding:1.05rem 1.15rem;margin-bottom:.8rem;width:100%;text-align:left}
.sp-tpc.ora{border-color:rgba(212,181,78,.75);background:linear-gradient(160deg,rgba(212,181,78,.10),transparent 55%),var(--card);box-shadow:0 14px 34px -22px rgba(212,181,78,.6)}
.sp-tpc .quando{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}
.sp-tpc:not(.ora) .sp-ora{font-size:1.45rem}
.sp-tpc .sp-nome{margin-top:0}
.sp-tpc:not(.ora) .sp-nome{font-size:1.2rem}
.sp-tpc .tel{font-size:1.05rem;color:var(--crema);margin-top:.35rem;display:flex!important;align-items:center;gap:.4rem}
.sp-tpc .tel svg{width:18px;height:18px;stroke:var(--grigio);stroke-width:1.8}
.sp-tpc .sp-cosa{display:flex!important}
.sp-tpc .az{display:flex;flex-direction:column;gap:.45rem;min-width:180px}
.sp .sp-tpc .az .sp-bt{min-height:46px;font-size:.98rem;justify-content:flex-start;padding:0 .9rem}
.sp .sp-tpc.fatta{grid-template-columns:96px minmax(0,1fr) auto;background:rgba(124,185,124,.06);border-color:rgba(124,185,124,.3);padding:.8rem 1.15rem;align-items:center}
.sp-tpc.fatta .sp-ora{font-size:1.35rem!important;color:var(--sp-verde)}
.sp-tpc.fatta .esito{font-size:.95rem;color:var(--sp-verde);font-weight:600;white-space:nowrap}
.sp-tpc.fatta .riga{font-size:1.1rem;color:var(--grigio)}
.sp-tpc.fatta .riga b{color:var(--crema);font-weight:600}
.sp-pc .sp-nuova{margin-bottom:1.6rem}
/* la richiesta al computer: un pannello in due colonne */
.sp-pannello{border-radius:22px;border:1.5px solid var(--line-2);background:var(--carbone);padding:1.5rem 1.6rem 1.4rem;max-width:1180px}
.sp-pannello .sp-griglia{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2.2rem}
.sp-pannello .sp-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-pannello .sp-griglia>div>.sp-passo:first-child{margin-top:0}
.sp-pannello .sp-tile{font-size:.98rem}
.sp-pannello .fondo{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line);flex-wrap:wrap}
.sp-pannello .fondo small{font-size:.95rem;color:var(--grigio)}
.sp .sp-pannello .fondo .sp-bt{width:auto;padding:0 2.4rem;min-height:56px;font-size:1.12rem}
.sp-pannello .fondo .bts{display:flex;gap:.7rem}
.sp-pc.sp-nuova-v,.sp-pc.sp-capito-v{padding-bottom:1rem}
.sp-capito-v.sp-pc{max-width:760px}
.sp-giu.pc{position:static;background:none;border:0;padding:1.2rem 0 0}
/* il cliente al computer */
.sp-cli-pc{max-width:1180px}
.sp-cli-pc .sp-griglia{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.sp .sp-cli-pc .tre .sp-bt{min-height:56px;flex-direction:row}
@media(max-width:1180px) and (min-width:900px){.sp-griglia{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.4rem}.sp .sp-tpc{grid-template-columns:80px minmax(0,1fr)}.sp-tpc .az{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;min-width:0}.sp .sp-tpc .az .sp-bt{width:auto;flex:1 1 150px}}

/* ===================== 3.0.1 — DUI e schede clienti per i tecnici · file trascinati in chat e posta ===================== */
/* il DUI appena salvato: si può ancora correggere */
.dui-salvato{display:flex;align-items:center;gap:.75rem;padding:.8rem .9rem;margin:0 0 1rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--fatto) 55%,transparent);background:color-mix(in srgb,var(--fatto) 12%,var(--card))}
.dui-salvato .ok{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;background:color-mix(in srgb,var(--fatto) 22%,transparent);color:var(--fatto);font-weight:800;font-size:16px}
.dui-salvato .t{flex:1;min-width:0;line-height:1.35}
.dui-salvato .t b{display:block;font-size:.95rem;color:var(--crema)}
.dui-salvato .t small{display:block;font-size:.8rem;color:var(--grigio)}
.dui-salvato .btn{flex:none;white-space:nowrap}
@media(max-width:519px){.dui-salvato{flex-wrap:wrap}.dui-salvato .btn{width:100%;justify-content:center;min-height:44px}}
.rap-blocco{display:flex;gap:.6rem;align-items:center;margin-top:.9rem;padding:.65rem .8rem;border-radius:10px;border:1px dashed var(--line-2);font-size:.82rem;color:var(--grigio)}
.rap-blocco svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* scheda della tappa in agenda: il DUI fatto quel giorno */
.sc-dui{display:flex;align-items:center;gap:.7rem;width:100%;margin:.8rem 0 0;padding:.75rem .85rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--fatto) 50%,transparent);background:color-mix(in srgb,var(--fatto) 10%,transparent);color:var(--crema);font:inherit;text-align:left;cursor:pointer}
.sc-dui svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--fatto);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sc-dui span{flex:1;min-width:0}
.sc-dui b{display:block;font-size:.9rem}
.sc-dui small{display:block;font-size:.76rem;color:var(--grigio)}
.sc-dui i{font-style:normal;color:var(--cenere);font-size:1.2rem}
/* scheda cliente e impianto: «Modifica» accanto al titolo */
.sch-tit{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}
.sch-tit h2{flex:1;min-width:0}
.sch-mod{display:inline-flex;align-items:center;gap:.4rem;flex:none;margin-top:.15rem;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--oro);font:600 .78rem var(--ff-b);letter-spacing:.02em;cursor:pointer;min-height:36px}
.sch-mod svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sch-mod:hover{border-color:var(--oro)}
.cm-form .g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem .7rem}
.cm-form .g2 .full{grid-column:1 / -1}
@media(max-width:419px){.cm-form .g2{grid-template-columns:minmax(0,1fr)}}
.cm-form label{display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cenere);margin:0 0 .3rem}
.cm-form .cm-esito{font-size:.78rem;line-height:1.4;margin-top:.35rem;color:var(--grigio)}
.cm-form .cm-esito.ok{color:var(--fatto)}
.cm-form .cm-esito.ko{color:var(--danger)}
.cm-form .cm-err{font-size:.82rem;color:var(--danger);min-height:1.1em;margin-top:.6rem}
.cm-form .cm-nota{font-size:.78rem;color:var(--grigio);line-height:1.45;margin:.2rem 0 .9rem}
.cm-form .campo-ko input,.cm-form .campo-ko select{border-color:var(--danger)}
/* file trascinati: il riquadro su cui lasciarli */
.ww-drop{position:fixed;z-index:9000;display:flex;gap:.6rem;padding:.6rem;pointer-events:none;border-radius:14px;background:rgba(var(--nero-rgb),.88);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:wwDropIn .14s ease-out}
@keyframes wwDropIn{from{opacity:0}to{opacity:1}}
.ww-drop-z{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;border:2px dashed color-mix(in srgb,var(--oro) 75%,transparent);border-radius:12px;background:color-mix(in srgb,var(--oro) 7%,transparent);color:var(--crema);text-align:center;padding:1rem;transition:background .12s,border-color .12s}
.ww-drop-z.on{border-style:solid;border-color:var(--oro);background:color-mix(in srgb,var(--oro) 18%,transparent)}
.ww-drop-z svg{width:38px;height:38px;fill:none;stroke:var(--oro);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ww-drop-z b{font-size:1.05rem;font-weight:600}
.ww-drop-z small{font-size:.8rem;color:var(--grigio);max-width:26ch}
.ww-drop.due .ww-drop-z.piccola{flex:0 0 34%}
.ww-drop.vert{flex-direction:column}
.ww-drop.vert.due .ww-drop-z.piccola{flex:0 0 30%}
/* WhatsApp: graffetta nella barra, file da mandare, documenti nella chat */
.wm-clip{all:unset;cursor:pointer;box-sizing:border-box;width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--grigio);border:1px solid var(--line-2)}
.wm-clip svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wm-clip:hover{color:var(--crema);border-color:var(--oro)}
.wf-lista{display:flex;flex-direction:column;gap:.5rem;margin:.2rem 0 .9rem;max-height:46vh;overflow:auto}
.wf-r{display:flex;align-items:center;gap:.7rem;padding:.5rem .6rem;border:1px solid var(--line-2);border-radius:12px;background:var(--mid)}
.wf-r .th{width:52px;height:52px;border-radius:9px;flex:none;object-fit:cover;background:var(--card);display:grid;place-items:center}
.wf-r .th svg{width:24px;height:24px;fill:none;stroke:var(--oro);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wf-r .t{flex:1;min-width:0}
.wf-r .t b{display:block;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wf-r .t small{display:block;font-size:.74rem;color:var(--grigio)}
.wf-r .t small.ko{color:var(--danger)}
.wf-r .x{all:unset;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:var(--cenere);flex:none}
.wf-r .x:hover{color:var(--crema);background:rgba(var(--hi),.06)}
.wf-r .st{font-size:.74rem;color:var(--grigio);flex:none}
.wf-r .st.ok{color:var(--fatto)}
.wf-r .st.ko{color:var(--danger)}
.wf-add{all:unset;cursor:pointer;font:600 .8rem var(--ff-b);color:var(--oro);padding:.3rem 0}
.wf-nota{font-size:.76rem;color:var(--grigio);line-height:1.4;margin-top:.5rem}
.wa-doc{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;border-radius:10px;background:rgba(var(--hi),.05);border:1px solid var(--line);color:inherit;text-decoration:none;margin-bottom:.3rem;max-width:280px}
.wa-doc svg{width:26px;height:26px;flex:none;fill:none;stroke:var(--oro);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wa-doc span{min-width:0}
.wa-doc b{display:block;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wa-doc small{display:block;font-size:.72rem;color:var(--grigio)}
.wa-vid{max-width:260px;width:100%;border-radius:10px;display:block;margin-bottom:.3rem}
/* ===================== 3.0.1 — Compila documento: DiCo, DiRi, Verbale canna fumaria ===================== */
.md{max-width:880px}
.md-pc.md-home{max-width:1040px}
.md-top{margin-bottom:.9rem}
.md .sp-indietro{display:inline-flex;align-items:center;gap:.35rem;font-size:.95rem;font-weight:600;color:var(--oro-l);padding:.55rem .9rem .55rem .65rem;border-radius:999px;border:1.5px solid var(--line-2);background:transparent;white-space:nowrap;cursor:pointer}
.md .sp-indietro svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.md-titolo{font-family:var(--ff-s);font-size:2rem;font-weight:600;line-height:1.08;margin:0 0 .35rem;letter-spacing:0;text-transform:none}
.md-sotto{font-size:1rem;color:var(--grigio);margin:0 0 1.2rem;line-height:1.45}
.md-sotto b{color:var(--crema);font-weight:600}
.md-eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-l);font-weight:600;margin-bottom:.25rem}
.md svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
/* la scelta */
.md-scelte{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;margin-bottom:1.6rem}
@media(min-width:700px){.md-scelte{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}
.md .md-scelta{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:.85rem;min-height:84px;padding:.85rem .95rem;border-radius:16px;border:1.5px solid var(--line-2);background:var(--card);transition:border-color .15s,transform .1s}
.md-scelta:hover{border-color:var(--oro)}
.md-scelta:active{transform:scale(.985)}
.md-scelta .ic{width:48px;height:48px;border-radius:13px;flex:none;display:grid;place-items:center;background:rgba(212,181,78,.12);color:var(--oro-l)}
.md-scelta .ic svg{width:26px;height:26px;stroke-width:1.7}
.md-scelta .t{flex:1;min-width:0}
.md-scelta .t b{display:block;font-size:1.12rem;font-weight:600;color:var(--crema);line-height:1.2}
.md-scelta .t small{display:block;font-size:.86rem;color:var(--grigio);line-height:1.35;margin-top:.15rem}
.md-scelta .fr{color:var(--cenere);font-size:1.5rem;flex:none}
.md-scelta.guida{border-style:dashed}
.md-scelta.guida .ic{background:rgba(124,195,224,.12);color:var(--brina-l)}
.md-scelta[data-md-tipo="dui"] .ic{background:rgba(var(--hi),.06);color:var(--crema)}
.md .md-riprendi{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:.8rem;width:100%;padding:.8rem .9rem;margin:0 0 1rem;border-radius:16px;border:1.5px solid rgba(212,181,78,.6);background:linear-gradient(150deg,rgba(212,181,78,.18),rgba(191,160,64,.04) 70%),var(--card)}
.md-riprendi .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(212,181,78,.18);color:var(--oro-l);flex:none}
.md-riprendi .ic svg{width:22px;height:22px;stroke-width:1.7}
.md-riprendi .t{flex:1;min-width:0}
.md-riprendi .t b{display:block;font-size:1rem;color:var(--crema)}
.md-riprendi .t small{display:block;font-size:.82rem;color:var(--grigio)}
.md-riprendi .x{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--cenere);flex:none;font-size:15px}
.md-riprendi .x:hover{background:rgba(var(--hi),.06);color:var(--crema)}
/* i documenti fatti */
.md-h{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.1rem .8rem;margin:0 0 .6rem}
.md-h h2{font-family:var(--ff-b);font-size:1.05rem;font-weight:600;margin:0;letter-spacing:0;text-transform:none}
.md-h small{font-size:.8rem;color:var(--grigio)}
.md-docs{border-radius:16px;border:1.5px solid var(--line-2);background:var(--card);overflow:hidden;margin-bottom:1.4rem}
.md-doc-r{display:flex;align-items:stretch;border-top:1px solid var(--line)}
.md-doc-r:first-child{border-top:0}
.md .md-doc{all:unset;box-sizing:border-box;cursor:pointer;flex:1;min-width:0;display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;min-height:62px}
.md-doc:hover{background:rgba(var(--hi),.03)}
.md-doc .t{flex:1;min-width:0}
.md-doc .t b{display:block;font-size:.95rem;font-weight:600;color:var(--crema);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md-doc .t small{display:block;font-size:.8rem;color:var(--grigio);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md .md-doc-piu{all:unset;cursor:pointer;width:52px;flex:none;display:grid;place-items:center;color:var(--cenere);font-size:1.3rem;border-left:1px solid var(--line)}
.md-doc-piu:hover{color:var(--crema);background:rgba(var(--hi),.04)}
.md-tag{flex:none;min-width:64px;text-align:center;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .45rem;border-radius:7px;background:rgba(var(--hi),.07);color:var(--crema)}
.md-tag.dico{background:rgba(61,163,93,.16);color:var(--fatto)}
.md-tag.diri{background:rgba(124,195,224,.14);color:var(--brina-l)}
.md-tag.verbale{background:rgba(242,122,60,.15);color:var(--brace-l)}
.md-tag.allb{background:rgba(212,181,78,.16);color:var(--oro-l)}
.md-vuoto{border-radius:14px;border:1.5px dashed var(--line-2);padding:1rem;font-size:.95rem;color:var(--grigio);text-align:center;margin-bottom:1.3rem}
.md .md-link{all:unset;cursor:pointer;display:inline-block;margin-top:1rem;font-size:.95rem;font-weight:600;color:var(--oro-l);padding:.4rem 0}
.md-menu{display:flex;flex-direction:column;gap:.45rem;margin:.3rem 0 .4rem}
.md-menu>button,.md-menu>a{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:.8rem;padding:.75rem .85rem;border-radius:12px;border:1px solid var(--line-2);color:var(--crema)}
.md-menu>button:hover,.md-menu>a:hover{border-color:var(--oro)}
.md-menu svg{width:22px;height:22px;stroke:var(--oro-l);stroke-width:1.7;flex:none}
.md-menu span{min-width:0}
.md-menu b{display:block;font-size:.95rem}
.md-menu small{display:block;font-size:.8rem;color:var(--grigio)}
.md-menu .ko{color:var(--danger)}
.md-menu .ko small{color:var(--danger);opacity:.8}
/* la guida */
.md-g-q{display:flex;gap:.8rem;margin:.6rem 0 1rem}
.md-g-n{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;background:rgba(212,181,78,.18);color:var(--oro-l);font-weight:700}
.md-g-t{flex:1;min-width:0}
.md-g-t b{display:block;font-size:1.08rem;line-height:1.3}
.md-g-t small{display:block;font-size:.86rem;color:var(--grigio);margin-top:.2rem;line-height:1.4}
.md-g-opz{display:flex;flex-direction:column;gap:.45rem;margin-top:.8rem}
.md-g-opz button{all:unset;box-sizing:border-box;cursor:pointer;min-height:50px;padding:.7rem .95rem;border-radius:12px;border:1.5px solid var(--line-2);font-size:1rem;font-weight:600;color:var(--crema)}
.md-g-opz button:hover{border-color:var(--oro-l)}
.md-g-esito{border-radius:16px;padding:1rem 1.05rem;margin:.6rem 0 1rem;background:linear-gradient(150deg,rgba(61,163,93,.16),rgba(61,163,93,.03) 70%),var(--card);border:1.5px solid rgba(61,163,93,.5)}
.md-g-esito small{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fatto);font-weight:700}
.md-g-esito b{display:block;font-size:1.35rem;margin:.15rem 0 .3rem}
.md-g-esito p{font-size:.92rem;color:var(--grigio);margin:0 0 .9rem;line-height:1.45}
.md-g-regole{border-top:1px solid var(--line);padding-top:.8rem;margin-top:.4rem;display:flex;flex-direction:column;gap:.35rem}
.md-g-regole b{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oro-l)}
.md-g-regole span{font-size:.84rem;color:var(--grigio);line-height:1.4;padding-left:.9rem;position:relative}
.md-g-regole span::before{content:'—';position:absolute;left:0;color:var(--cenere)}
/* per chi è: due strade, la ricerca e i clienti in colonna */
.md-due-vie{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem;margin:.4rem 0 1.1rem}
@media(min-width:700px){.md-due-vie{grid-template-columns:repeat(2,minmax(0,1fr))}}
.md-via{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:.75rem;padding:.8rem .9rem;border-radius:14px;border:1.5px solid var(--line-2);background:var(--card);min-height:72px}
.md .md-via{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:.75rem;padding:.8rem .9rem;border-radius:14px;border:1.5px solid var(--line-2);background:var(--card);min-height:72px}
.md .md-via:hover{border-color:var(--oro)}
.md .md-via.on{cursor:default;border-color:var(--oro-l);background:linear-gradient(150deg,rgba(212,181,78,.16),rgba(191,160,64,.03) 70%),var(--card)}
.md-via .ic{width:40px;height:40px;border-radius:11px;flex:none;display:grid;place-items:center;background:rgba(212,181,78,.14);color:var(--oro-l)}
.md-via .ic svg{width:21px;height:21px;stroke-width:1.8}
.md-via .t{flex:1;min-width:0}
.md-via .t b{display:block;font-size:1rem;font-weight:600;color:var(--crema)}
.md-via .t small{display:block;font-size:.82rem;color:var(--grigio);line-height:1.35;margin-top:.1rem}
.md-via .fr{color:var(--cenere);font-size:1.4rem;flex:none}
@media(max-width:699px){.md .md-via.on{display:none}.md-due-vie{margin-bottom:.9rem}}
.md-cerca{display:flex;align-items:center;gap:.6rem;min-height:56px;border-radius:14px;border:2px solid var(--oro-l);background:var(--mid);padding:0 .9rem;box-shadow:0 0 0 4px rgba(212,181,78,.12);margin-bottom:.9rem}
.md-cerca .ic{display:grid;place-items:center;color:var(--grigio);flex:none}
.md-cerca .ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.md-cerca input,.md-cerca input:focus{flex:1;min-width:0;background:transparent;border:0;border-radius:0;box-shadow:none;outline:0;padding:.7rem 0;font-size:1.05rem;color:var(--crema)}
.md-cerca input::-webkit-search-cancel-button{filter:invert(.6)}
.sp .md-cerca{min-height:62px}.sp .md-cerca input{font-size:1.15rem}
.md-h-p{margin-top:.2rem}
.md-tab{border-radius:14px;border:1.5px solid var(--line-2);background:var(--card);overflow:hidden;margin-bottom:1.2rem}
.md-tab-h{display:none}
.md-tab-r{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.8rem;row-gap:.15rem;align-items:baseline;width:100%;padding:.75rem .95rem;border-top:1px solid var(--line)}
.md .md-tab-r{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.8rem;row-gap:.15rem;align-items:baseline;width:100%;padding:.75rem .95rem;border-top:1px solid var(--line)}
.md-tab-r:first-of-type{border-top:0}
.md-tab-r:hover,.md .md-tab-r:hover{background:rgba(212,181,78,.07)}
.md-tab-r .n{grid-column:1;grid-row:1;font-size:1rem;font-weight:600;color:var(--crema);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.md-tab-r .t{grid-column:2;grid-row:1;font-size:.86rem;color:var(--grigio);white-space:nowrap;font-variant-numeric:tabular-nums}
.md-tab-r .d{grid-column:1 / -1;grid-row:2;font-size:.86rem;color:var(--grigio);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.md-tab-r .c:not(:empty)::before{content:' · '}
.sp .md-tab-r .n{font-size:1.1rem}.sp .md-tab-r .d,.sp .md-tab-r .t{font-size:.95rem}
/* le colonne vere quando c'è posto (anche dentro un foglio stretto si torna alle due righe) */
.md-tab{container-type:inline-size}
@container (min-width:620px){
  .md-tab-h,.md-tab-r,.md .md-tab-r{grid-template-columns:minmax(0,1.25fr) minmax(0,1.35fr) minmax(0,.9fr) 9.5rem;column-gap:1rem;align-items:center}
  .md-tab-h{display:grid;padding:.55rem .95rem;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cenere);font-weight:600;border-bottom:1px solid var(--line-2);background:rgba(var(--hi),.02)}
  .md-tab-r .d{display:contents}
  .md-tab-r .n{grid-column:1;grid-row:1}
  .md-tab-r .i{grid-column:2;grid-row:1;font-size:.9rem;color:var(--grigio);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .md-tab-r .c{grid-column:3;grid-row:1;font-size:.9rem;color:var(--grigio);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .md-tab-r .c::before{content:none!important}
  .md-tab-r .t{grid-column:4;grid-row:1;font-size:.9rem}
}
.sheet .md-tab{max-height:52vh;overflow-y:auto}
/* nel modulo: a chi è collegato */
.md-legame{display:flex;align-items:center;gap:.7rem;padding:.65rem .75rem;border-radius:14px;border:1.5px dashed var(--line-2);margin:.1rem 0 1rem}
.md-legame.on{border-style:solid;background:rgba(var(--hi),.025)}
.md-legame .ic{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;background:rgba(var(--hi),.06);color:var(--grigio)}
.md-legame.on .ic{background:rgba(212,181,78,.14);color:var(--oro-l)}
.md-legame .ic svg{width:20px;height:20px;stroke-width:1.8}
.md-legame .t{flex:1;min-width:0}
.md-legame .t small{display:block;font-size:.74rem;color:var(--cenere);letter-spacing:.04em}
.md-legame .t b{display:block;font-size:.98rem;color:var(--crema);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.md .md-legame-b{all:unset;box-sizing:border-box;cursor:pointer;flex:none;padding:.5rem .85rem;min-height:40px;display:inline-flex;align-items:center;border-radius:999px;border:1.5px solid var(--line-2);font-size:.86rem;font-weight:600;color:var(--crema)}
.md .md-legame-b:hover{border-color:var(--oro)}
.md .md-legame-b.oro{border-color:rgba(212,181,78,.6);color:var(--oro-l)}
/* il modulo */
.md-form{padding-bottom:1.5rem}
.md-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.md .md-anteprima-top{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;color:var(--crema);padding:.5rem .85rem;border-radius:999px;border:1.5px solid var(--line-2)}
.md-anteprima-top svg{width:18px;height:18px;stroke-width:1.7}
.md-dui{margin:-.3rem 0 1rem}
.md-l{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cenere);margin:0 0 .4rem;font-weight:600}
.md-dui-l{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin}
.md .md-dui-b{all:unset;box-sizing:border-box;cursor:pointer;flex:none;padding:.5rem .8rem;border-radius:12px;border:1.5px solid var(--line-2);min-height:48px}
.md-dui-b b{display:block;font-size:.92rem}
.md-dui-b small{display:block;font-size:.74rem;color:var(--grigio)}
.md-dui-b.on{border-color:var(--oro-l);background:rgba(212,181,78,.12);box-shadow:0 0 0 3px rgba(212,181,78,.12)}
.md-indice{position:sticky;top:calc(var(--header-h) + var(--sat));z-index:6;display:flex;gap:.35rem;overflow-x:auto;padding:.5rem 0;margin:0 0 .6rem;background:var(--nero);scrollbar-width:none}
.md-indice::-webkit-scrollbar{display:none}
.md-indice button{all:unset;cursor:pointer;flex:none;font-size:.78rem;font-weight:600;color:var(--grigio);padding:.35rem .7rem;border-radius:999px;border:1px solid var(--line-2);white-space:nowrap}
.md-indice button:hover{color:var(--crema);border-color:var(--oro)}
.md-sez{border-radius:16px;border:1.5px solid var(--line-2);background:var(--card);padding:1rem 1rem 1.1rem;margin-bottom:.9rem;scroll-margin-top:120px}
.md-sez h2{font-family:var(--ff-b);font-size:1.08rem;font-weight:600;margin:0 0 .15rem;letter-spacing:0;text-transform:none}
.md-sez-s{font-size:.84rem;color:var(--grigio);margin:0 0 .3rem;line-height:1.4}
.md-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.75rem .7rem;margin-top:.75rem}
.md-c{grid-column:span 12;min-width:0}
.md-c.w2{grid-column:span 6}.md-c.w3{grid-column:span 4}.md-c.w4{grid-column:span 3}
.md-g>.md-nota{grid-column:span 12}
@media(max-width:599px){.md-c.w2{grid-column:span 12}.md-c.w3,.md-c.w4{grid-column:span 6}}
.md-c[hidden]{display:none}
.md-c>label{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cenere);margin:0 0 .3rem;font-weight:600}
.md-c>input,.md-c>textarea,.md-es input,.md-comp input{border-radius:10px;padding:.7rem .8rem;min-height:48px;font-size:1rem}
.md-c>textarea{min-height:0;line-height:1.45}
.md-aiuto{display:block;font-size:.76rem;color:var(--grigio);margin-top:.3rem;line-height:1.35}
.md-pills{display:flex;flex-wrap:wrap;gap:.45rem}
.md .md-pill{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .85rem;border-radius:999px;border:1.5px solid var(--line-2);font-size:.92rem;color:var(--crema);line-height:1.2}
.md-pill:hover{border-color:var(--oro)}
.md-pill.on{border-color:var(--oro-l);background:rgba(212,181,78,.14)}
.md-pill.fisso.on{opacity:.85}
.md-pills.grandi{flex-direction:column}
.md-pills.grandi .md-pill{border-radius:12px;padding:.7rem .9rem;align-items:flex-start}
.md-pills.grandi .md-pill span{font-weight:600}
.md-pills.grandi .md-pill small{display:block;font-weight:400;font-size:.8rem;color:var(--grigio);margin-top:.1rem}
.md i.rd,.md i.sq{flex:none;width:18px;height:18px;border:1.8px solid var(--cenere);position:relative}
.md i.rd{border-radius:50%}
.md i.sq{border-radius:5px}
.md .on>i.rd{border-color:var(--oro-l)}
.md .on>i.rd::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--oro-l)}
.md .on>i.sq{border-color:var(--oro-l);background:var(--oro-l)}
.md .on>i.sq::after{content:'';position:absolute;left:5px;top:1px;width:4px;height:9px;border:solid #15110A;border-width:0 2.2px 2.2px 0;transform:rotate(45deg)}
.md .md-si{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:flex-start;gap:.7rem;width:100%;padding:.75rem .85rem;border-radius:12px;border:1.5px solid var(--line-2);font-size:.95rem;line-height:1.35;color:var(--crema)}
.md-si i.sq{margin-top:.05rem}
.md-si.on{border-color:var(--oro-l);background:rgba(212,181,78,.1)}
.md-si .md-aiuto{font-size:.78rem}
.md-nota{font-size:.82rem;color:var(--grigio);font-style:italic;line-height:1.4;margin:0}
/* esiti degli accertamenti */
.md-es-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.5rem}
.md-es-top>span{font-size:.8rem;color:var(--grigio)}
.md .md-tutti{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--fatto);padding:.45rem .8rem;border-radius:999px;border:1.5px solid rgba(61,163,93,.5)}
.md-tutti svg{width:16px;height:16px;stroke-width:2.2}
.md-es{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;padding:.75rem 0;border-top:1px solid var(--line)}
.md-es-t{display:flex;gap:.6rem;align-items:flex-start}
.md-es-t b{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:.8rem;background:rgba(var(--hi),.07);color:var(--crema)}
.md-es-t span{font-size:.93rem;line-height:1.35}
.md-es-t small{display:block;font-size:.74rem;color:var(--cenere);margin-top:.1rem}
.md-es-val{display:flex;align-items:center;gap:.5rem;padding-left:2.1rem}
.md-es-val input{width:120px;flex:none}
.md-es-val span{font-size:.9rem;color:var(--grigio)}
.md-seg{display:grid;gap:.35rem;padding-left:2.1rem}
.md-seg.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md-seg.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.md-seg button{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;min-height:46px;padding:.4rem .3rem;border-radius:10px;border:1.5px solid var(--line-2);font-size:.88rem;font-weight:600;color:var(--grigio);line-height:1.15;display:flex;align-items:center;justify-content:center}
.md-seg button:hover{border-color:var(--cenere);color:var(--crema)}
.md-seg button.on.c,.md-seg button.on.p{border-color:var(--fatto);background:rgba(61,163,93,.16);color:var(--fatto)}
.md-seg button.on.nc,.md-seg button.on.n{border-color:var(--brace-l);background:rgba(242,122,60,.14);color:var(--brace-l)}
.md-seg button.on.nv{border-color:var(--brina-l);background:rgba(124,195,224,.12);color:var(--brina-l)}
.md-es-nota{margin-left:2.1rem;width:calc(100% - 2.1rem)!important;min-height:42px!important;font-size:.9rem!important;padding:.55rem .75rem!important}
@media(min-width:760px){
  .md-es{grid-template-columns:minmax(0,1fr) 270px;column-gap:1rem;align-items:center}
  .md-es-t{grid-column:1}.md-seg{grid-column:2;grid-row:1;padding-left:0}
  .md-seg.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md-es-val{grid-column:1}.md-es-nota{grid-column:1 / -1}
}
.md-es.md-ko .md-seg button{border-color:var(--brace-l)}
/* componenti (Allegato A) */
.md-comp-r{padding:.6rem 0;border-top:1px solid var(--line)}
.md-comp-r:first-child{border-top:0;padding-top:0}
.md-comp-r>b{display:block;font-size:.88rem;font-weight:600;margin-bottom:.4rem}
.md-comp-c{display:grid;grid-template-columns:minmax(0,1fr);gap:.4rem}
@media(min-width:640px){.md-comp-c{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}}
.md-comp input{min-height:44px;font-size:.92rem}
/* firma ed errori */
.md-firma-nota{display:flex;gap:.7rem;align-items:flex-start;border-radius:14px;padding:.8rem .9rem;margin:.4rem 0 .8rem;border:1px dashed var(--line-2);font-size:.86rem;color:var(--grigio);line-height:1.45}
.md-firma-nota svg{width:22px;height:22px;flex:none;stroke:var(--oro-l);stroke-width:1.6;margin-top:.05rem}
.md-err{border-radius:14px;padding:.8rem 1rem;margin:0 0 .8rem;background:var(--sp-arancio-bg);border:1.5px solid rgba(242,122,60,.55);font-size:.95rem;color:var(--sp-arancio);font-weight:500;line-height:1.45}
.md-err b{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.15rem}
.md-ko{border-radius:12px;box-shadow:0 0 0 2px var(--brace-l),0 0 0 6px rgba(242,122,60,.15)}
.md-c.md-ko{padding:.4rem;margin:-.4rem}
.md-err-campo{grid-column:1 / -1;margin-top:.45rem;font-size:.88rem;font-weight:500;line-height:1.4;color:var(--sp-arancio)}
.md-barra{position:sticky;bottom:calc(74px + var(--sab));z-index:20;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:.55rem;padding:.65rem;border-radius:16px;background:rgba(var(--nero-rgb),.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line-2);box-shadow:0 16px 40px -12px rgba(0,0,0,.55)}
.sp .md-barra{bottom:calc(100px + var(--sab))}
@media(min-width:700px){.md-barra,.sp .md-barra{bottom:1rem}}
.md .md-bt{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:0 .8rem;border-radius:12px;border:1.5px solid var(--line-2);background:var(--mid);color:var(--crema);font-weight:600;font-size:1rem;text-align:center;line-height:1.15;text-decoration:none}
.md .md-bt:hover{border-color:var(--oro)}
.md .md-bt:disabled{opacity:.6;cursor:default}
.md .md-bt.oro{background:linear-gradient(135deg,#E6C35A,#BFA040 60%,#A3862E);color:#15110A;border-color:transparent;box-shadow:0 10px 26px -12px rgba(191,160,64,.7)}
.md .md-bt svg{width:20px;height:20px;stroke-width:1.9;flex:none}
.sp.md .md-bt{min-height:56px;font-size:1.06rem}
.md-conf~.acts .btn svg{width:16px;height:16px;stroke-width:1.8;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.md-conf{border-radius:12px;border:1px solid var(--line-2);overflow:hidden;margin:.2rem 0 .8rem}
.md-conf-r{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .8rem;border-top:1px solid var(--line);font-size:.92rem}
.md-conf-r:first-child{border-top:0}
.md-conf-r span{color:var(--grigio)}
.md-conf-r b{text-align:right}
.md-conf-p{font-size:.9rem;color:var(--grigio);line-height:1.5;margin:0 0 .4rem}
.md-conf-p b{color:var(--crema)}
/* fatto */
.md-fatto{text-align:center;max-width:560px;margin:0 auto;padding-top:1.5rem}
.md-ok{width:76px;height:76px;border-radius:50%;margin:0 auto 1rem;display:grid;place-items:center;background:rgba(61,163,93,.16);color:var(--fatto)}
.md-ok svg{width:40px;height:40px;stroke-width:2.2}
.md-fatto-az{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem;margin:1.2rem 0 1rem}
/* la vista semplice: tutto un po' più grande */
.sp.md .md-scelta .t b{font-size:1.2rem}
.sp.md .md-scelta .t small{font-size:.92rem}
.sp.md .md-c>label,.sp.md .md-l{font-size:.86rem;letter-spacing:.02em;text-transform:none;color:var(--grigio)}
.sp.md .md-c>input,.sp.md .md-c>textarea{min-height:54px;font-size:1.08rem;border-radius:12px}
.sp.md .md-pill{min-height:48px;font-size:1rem}
.sp.md .md-es-t span{font-size:1rem}
.sp.md .md-seg button{min-height:50px;font-size:.95rem}
.sp.md .md-sez h2{font-size:1.2rem}
html[data-testo="grande"] .md-tag{font-size:11px}
html[data-testo="grande"] .md-es-t b,html[data-testo="grande"] .md-g-n{font-size:13px}
.view .md-oggi{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:.85rem;width:100%;min-height:74px;padding:.8rem .95rem;margin:0 0 1.5rem;border-radius:18px;border:1.5px solid var(--line-2);background:var(--card)}
.md-oggi:hover{border-color:var(--oro)}
.md-oggi .ic{width:48px;height:48px;border-radius:13px;flex:none;display:grid;place-items:center;background:rgba(212,181,78,.14);color:var(--oro-l)}
.md-oggi .ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.md-oggi .t{flex:1;min-width:0}
.md-oggi .t b{display:block;font-size:1.2rem;font-weight:600;color:var(--crema)}
.md-oggi .t small{display:block;font-size:.9rem;color:var(--grigio)}
.md-oggi .fr{color:var(--cenere);font-size:1.6rem;flex:none}
/* ===================== 3.0.2 — Email ai clienti: invio automatico garantito, coda e invio massivo ===================== */
.ec .ec-hint{color:var(--grigio);font-size:.86rem;margin:-.4rem 0 1.1rem;line-height:1.5}
.ec-stato.ko{border-color:rgba(226,85,43,.45);background:rgba(226,85,43,.07)}.ec-stato.ko i{background:var(--brace)}
.ec-passi{margin:.55rem 0 0 1.1rem;padding:0;color:var(--grigio);font-size:.84rem;line-height:1.55}
.ec-passi li{padding-left:.15rem}.ec-passi b{color:var(--crema);font-weight:600}
.ec-conti{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:0 0 1rem}
.ec-tile{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.75rem .8rem .7rem;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.ec-tile>span{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cenere);font-weight:600;line-height:1.3}
.ec-tile>b{font-family:var(--ff-s);font-size:1.9rem;font-weight:600;line-height:1.05;color:var(--crema)}
.ec-tile>b small{font-family:var(--ff-b);font-size:.8rem;color:var(--cenere);font-weight:400}
.ec-tile>small{font-size:.74rem;color:var(--grigio);line-height:1.35}
.ec-tile.vivo{border-color:rgba(191,160,64,.45)}.ec-tile.vivo>b{color:var(--oro-l)}
.ec-tile.ko{border-color:rgba(226,85,43,.4);cursor:pointer}.ec-tile.ko>b{color:var(--brace-l)}
.ec-tile.pieno{border-color:rgba(226,85,43,.4)}
.ec-mini{height:4px;border-radius:2px;background:var(--mid);overflow:hidden;margin:.25rem 0 .2rem}
.ec-mini i{display:block;height:100%;background:var(--oro);border-radius:2px;transition:width .5s var(--ease)}
.ec-tile.pieno .ec-mini i{background:var(--brace)}
.ec-giro{padding:1rem 1.15rem;border-color:rgba(191,160,64,.4);background:linear-gradient(160deg,rgba(191,160,64,.07),transparent 60%),var(--card)}
.ec-giro.fatto{border-color:rgba(94,170,120,.38);background:linear-gradient(160deg,rgba(94,170,120,.07),transparent 60%),var(--card)}
.ec-giro .t{font-size:.92rem;line-height:1.45}
.ec-giro>small{display:block;color:var(--grigio);font-size:.78rem;line-height:1.45;margin-top:.45rem}
.ec-barra{display:flex;height:8px;border-radius:4px;background:var(--mid);overflow:hidden;margin:.65rem 0 .1rem}
.ec-barra i{display:block;height:100%;transition:width .6s var(--ease)}.ec-barra i.ok{background:var(--fatto)}.ec-barra i.ko{background:var(--brace)}
.ec-giro .bts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}
.ec-sh{margin-top:1.8rem;align-items:center}
.ec-dal{display:flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--cenere);text-transform:uppercase;letter-spacing:.06em}
.ec-dal input{width:auto;min-width:0;padding:.35rem .5rem;font-size:.84rem}
.ec-arr{padding:.9rem 1rem}
.ec-tabs{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;margin:0 -.1rem .7rem;padding:0 .1rem}
.ec-tabs::-webkit-scrollbar{display:none}
.ec-nota{font-size:.8rem;color:var(--grigio);line-height:1.5;margin:0 0 .7rem}
.ec-vuota{font-size:.88rem;color:var(--cenere);padding:.9rem 0 .4rem}
.ec-sel{display:flex;align-items:center;gap:.9rem;font-size:.78rem;padding:.1rem 0 .5rem}
.ec-sel button{color:var(--oro-l);font-size:.78rem;text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;cursor:pointer}
.ec-sel span{margin-left:auto;color:var(--cenere)}
.ec-righe{border-top:1px solid var(--line)}
.ec-r{display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"c n a" "c m a";align-items:center;column-gap:.7rem;row-gap:.1rem;padding:.6rem 0;border-bottom:1px solid var(--line);cursor:pointer}
.ec-r input[type=checkbox]{grid-area:c;width:19px;height:19px;margin:0;padding:0;border:0;background:none;box-shadow:none;accent-color:var(--oro);cursor:pointer}
.ec-r .vuoto{grid-area:c}
.ec-r .n{grid-area:n;min-width:0;line-height:1.3}
.ec-r .n b{display:block;font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ec-r .n small{display:block;color:var(--cenere);font-size:.74rem}
.ec-r .n small i{font-style:normal;color:var(--oro-l)}
.ec-r .n em{display:block;font-style:normal;font-size:.74rem;color:var(--brace-l);margin-top:.15rem;line-height:1.35}
.ec-r .m{grid-area:m;font-size:.78rem;color:var(--grigio);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ec-r .m i{font-style:normal;color:var(--cenere)}
.ec-r .apri{grid-area:a;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);color:var(--grigio);font-size:1.2rem;line-height:1;background:none;cursor:pointer}
.ec-r .apri:hover{border-color:var(--oro);color:var(--oro-l)}
.ec-r:hover{background:rgba(var(--hi),.02)}
.ec-altri{display:block;width:100%;padding:.7rem;margin-top:.4rem;font-size:.8rem;color:var(--oro-l);background:none;border:1px dashed var(--line-2);border-radius:6px;cursor:pointer}
.ec-piede{position:sticky;bottom:calc(74px + var(--sab));z-index:5;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin:.2rem 0 0;padding:.75rem .9rem;background:var(--carbone);border:1px solid var(--line-2);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.35)}
.ec-piede .btn{flex:none}
.ec-piede small{flex:1 1 220px;color:var(--grigio);font-size:.78rem;line-height:1.45}
.ec-imp{padding:0}
.ec-imp>summary{list-style:none;cursor:pointer;padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.15rem}
.ec-imp>summary::-webkit-details-marker{display:none}
.ec-imp>summary b{font-weight:600;font-size:.95rem}.ec-imp>summary small{color:var(--cenere);font-size:.78rem}
.ec-imp>summary::after{content:"›";position:absolute;right:1.15rem;top:1rem;font-size:1.3rem;color:var(--cenere);transition:transform .25s var(--ease)}
.ec-imp[open]>summary::after{transform:rotate(90deg)}
.ec-imp .ec-form{padding:0 1.15rem 1.1rem;border-top:1px solid var(--line);padding-top:1rem}
.ec-lab{font-size:.78rem;color:var(--grigio);margin:.9rem 0 .45rem}.ec-lab small{color:var(--cenere)}
.ec-piani{display:grid;grid-template-columns:1fr;gap:.4rem;margin-bottom:.8rem}
.ec-piano{display:flex;align-items:baseline;gap:.6rem;padding:.6rem .75rem;border:1px solid var(--line-2);border-radius:8px;cursor:pointer;font-size:.86rem}
.ec-piano input[type=radio]{accent-color:var(--oro);margin:0;padding:0;width:17px;height:17px;flex:none;border:0;background:none;box-shadow:none;transform:translateY(3px)}
.ec-piano b{font-weight:600;min-width:0}.ec-piano small{margin-left:auto;color:var(--cenere);font-size:.76rem;white-space:nowrap;padding-left:.4rem}
.ec-piano.on{border-color:var(--oro);background:rgba(191,160,64,.07)}
.ec-altro{max-width:240px;margin:-.3rem 0 .8rem}
@media(max-width:699px){.ec-piede .btn{flex:1 1 100%}}
@media(min-width:700px){
  .ec-piede{bottom:1rem}
  .ec-tile{padding:.95rem 1.05rem .9rem}.ec-tile>b{font-size:2.3rem}
  .ec-r{grid-template-columns:22px minmax(0,1.2fr) minmax(0,1fr) auto;grid-template-areas:"c n m a"}
  .ec-r .m{text-align:right}
  .ec-piani{grid-template-columns:1fr 1fr}
}
@media(max-width:380px){.ec-tile>span{font-size:.6rem}.ec-tile>b{font-size:1.6rem}.ec-tile>small{font-size:.7rem}}
html[data-tema="chiaro"] .ec-piede{box-shadow:0 10px 28px rgba(0,0,0,.12)}


/* ricerche: le richieste ancora aperte insieme ai clienti */
.sugg .sugg-h{cursor:default;padding:.4rem .8rem;font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;font-weight:600;color:var(--oro-l);background:rgba(191,160,64,.06)}
.sugg .sugg-h:hover{background:rgba(191,160,64,.06)}
.sugg .sugg-tag{font-style:normal;font-size:.66rem;color:var(--brina-l);border:1px solid rgba(124,195,224,.35);border-radius:10px;padding:.02rem .4rem;margin-left:.25rem;white-space:nowrap}
.sp-sugg .s.ric .sp-av{background:rgba(124,195,224,.14);color:var(--brina-l)}
.sp-sugg .s.ric .sp-av svg{width:20px;height:20px;stroke:var(--brina-l);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sp-aiuto.sp-aperta{margin:0 0 .9rem;background:rgba(191,160,64,.08);border-color:rgba(191,160,64,.4)}
.sp-aiuto.sp-aperta svg{stroke:var(--oro-l)}.sp-aiuto.sp-aperta b{color:var(--oro-l)}
/* ===================== 3.0.3 — Email ai clienti dalla casella di Posta · rubrica in Posta ===================== */
.ec-fonti{display:grid;grid-template-columns:1fr;gap:.4rem;margin-bottom:.8rem}
.ec-fonte{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem .8rem;border:1px solid var(--line-2);border-radius:10px;cursor:pointer;font-size:.88rem;line-height:1.35}
.ec-fonte input[type=radio]{accent-color:var(--oro);margin:0;padding:0;width:17px;height:17px;flex:none;border:0;background:none;box-shadow:none;transform:translateY(2px)}
.ec-fonte b{display:block;font-weight:600;word-break:break-word}.ec-fonte small{display:block;color:var(--cenere);font-size:.76rem;margin-top:.1rem}
.ec-fonte.on{border-color:var(--oro);background:rgba(191,160,64,.07)}
.ec-fonte.ko small{color:var(--brace-l)}
.ec-smtp{margin:-.2rem 0 .6rem;padding:.2rem 0 .1rem}
.ec-imp .sw{margin:.6rem 0 .7rem}
.ec-risp{margin:-.2rem 0 .6rem}
@media(min-width:700px){.ec-fonti{grid-template-columns:1fr 1fr}}
@media(max-width:699px){.ec-piano{flex-wrap:wrap}.ec-piano small{flex-basis:100%;margin-left:1.6rem;padding-left:0;white-space:normal}}
/* rubrica: sotto «A:», «Cc:», «Ccn:» */
.mc-campi{position:relative;z-index:6}
.mc-f{position:relative}
.mc-rub{position:absolute;left:.6rem;right:.6rem;top:calc(100% - 2px);z-index:30;background:var(--carbone);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.45);max-height:min(360px,52vh);overflow:auto;padding:.3rem;overscroll-behavior:contain}
.mc-rub[hidden]{display:none}
.mc-rub .h{font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:var(--cenere);padding:.35rem .55rem .25rem;font-weight:600}
.mc-rub .h:empty{display:none}
.mc-rub .r{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:.5rem .55rem;cursor:pointer;color:var(--crema);font:inherit}
.mc-rub .r.on{background:rgba(191,160,64,.12)}
.mc-rub .av{width:32px;height:32px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(124,195,224,.14);color:var(--brina-l);font-size:.72rem;font-weight:700;letter-spacing:.02em}
.mc-rub .t{flex:1;min-width:0;line-height:1.3}
.mc-rub .t b{display:block;font-weight:600;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-rub .t small{display:block;color:var(--grigio);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-rub u{text-decoration:none;color:var(--oro-l);font-weight:700}
.mc-rub .r>i{font-style:normal;font-size:.7rem;color:var(--cenere);white-space:nowrap;flex:none}
@media(max-width:520px){.mc-rub .r>i{display:none}.mc-rub{left:.3rem;right:.3rem}}
html[data-tema="chiaro"] .mc-rub{box-shadow:0 18px 40px rgba(0,0,0,.14)}
/* ===== 3.0.4 — Posta: email urgenti, rubrica completa ===== */
.ml-tg.u{background:rgba(226,63,43,.18);color:#FF8C73;gap:.25rem}
.ml-tg.u i,.ml-urg i,.mc-urg i{font-style:normal;font-weight:800;font-family:var(--ff-b)}
.ml-urg{display:flex;align-items:center;gap:.5rem;font:600 .78rem var(--ff-b);color:#FF8C73;background:rgba(226,63,43,.1);border:1px solid rgba(226,63,43,.28);border-radius:10px;padding:.42rem .7rem;margin:-.15rem 0 .6rem}
.ml-urg i{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#E23F2B;color:#fff;font-size:.72rem;flex:none}
.mc-urg{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);background:transparent;color:var(--cenere);font:600 .76rem var(--ff-b);border-radius:999px;padding:.28rem .7rem .28rem .5rem;cursor:pointer;white-space:nowrap;flex:none;min-height:30px;transition:background .15s,color .15s,border-color .15s}
.mc-urg i{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;border:1.5px solid currentColor;font-size:.7rem;line-height:1}
.mc-urg:hover{color:var(--crema);border-color:rgba(255,255,255,.22)}
.mc-urg.on{background:#E23F2B;border-color:#E23F2B;color:#fff}
.mc-urg.on i{background:#fff;color:#E23F2B;border-color:#fff}
.mc-urg:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.mc.urg .mc-h b::before{content:'!';display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#E23F2B;color:#fff;font:800 .7rem var(--ff-b);margin-right:.4rem;vertical-align:1px}
@media(max-width:520px){.mc-urg span{display:none}.mc-urg{padding:.28rem;border-radius:50%;min-width:30px;justify-content:center}}
.mc-rub .h em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--oro-l);font-weight:500}
html[data-tema="chiaro"] .ml-tg.u{background:rgba(226,63,43,.12);color:#C2321F}
html[data-tema="chiaro"] .ml-urg{color:#B02A18;background:rgba(226,63,43,.07);border-color:rgba(226,63,43,.25)}
html[data-tema="chiaro"] .mc-urg:hover{color:#1E2A33;border-color:rgba(0,0,0,.25)}
html[data-tema="chiaro"] .mc-urg.on{color:#fff}
html[data-tema="chiaro"] .mc-rub .h em{color:#8C6D10}
/* firma vista nel gestionale (finestra di scrittura e anteprima in Caselle): niente regole delle tabelle dell'app,
   così si vede esattamente come la riceve il cliente — logo centrato accanto al testo, non stirato */
#mcFirmaH table,#pfPrevF table{width:auto;font-size:inherit;border-collapse:collapse;margin:0}
#mcFirmaH td,#pfPrevF td{border-bottom:0;padding:0;vertical-align:middle;text-align:left}
#mcFirmaH td[align="center"],#pfPrevF td[align="center"]{text-align:center}
/* ===== 3.0.5 — mappa del giro per i tecnici, prezzi degli interventi passati, «Materiali» scrivibile ===== */
.mg-tec{margin:.7rem 0 .2rem}
.mg-tec .mg-box{margin:0}
.mg-tec-b{display:flex;align-items:center;gap:.75rem;width:100%;min-height:52px;padding:.7rem .9rem;border-radius:12px;border:1px solid var(--line-2);background:var(--card);color:var(--crema);font:inherit;text-align:left;cursor:pointer}
.mg-tec-b:hover{border-color:color-mix(in srgb,var(--oro) 55%,transparent)}
.mg-tec-b svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--oro-l);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mg-tec-b span{flex:1;min-width:0}
.mg-tec-b b{display:block;font-size:.92rem}
.mg-tec-b small{display:block;font-size:.78rem;color:var(--grigio)}
.mg-tec-b i{font-style:normal;font-size:.8rem;font-weight:600;color:var(--oro-l)}
.mg-tec-x{display:block;margin:.45rem 0 0 auto;padding:.45rem .2rem;border:0;background:none;color:var(--cenere);font:500 .8rem var(--ff-b);cursor:pointer;min-height:36px}
.mg-tec-x:hover{color:var(--crema)}
.cp-row.mg-luce{outline:2px solid var(--oro);outline-offset:2px;border-radius:10px}
.mat-hint{display:block;margin-top:.35rem;font-size:.74rem;line-height:1.35;color:var(--grigio)}
.dui-prima{margin:0 0 1rem;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--line);background:var(--card)}
.dui-prima-h{font-size:.78rem;color:var(--cenere);margin-bottom:.35rem}
.dui-prima-r{display:grid;grid-template-columns:auto 1fr auto;gap:.2rem .8rem;align-items:baseline;padding:.4rem 0;border-top:1px solid var(--line);font-size:.86rem}
.dui-prima-r:first-of-type{border-top:0}
.dui-prima-r>span:first-child{color:var(--grigio);white-space:nowrap}
.dui-prima-r>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--crema)}
.dui-prima-r small{color:var(--cenere);margin-left:.4rem}
.dui-prima-r b{color:var(--oro-l);white-space:nowrap}
.sc-ult svg{stroke:var(--oro-l)}
.sc-ult{border-color:var(--line-2);background:var(--card)}
@media(max-width:520px){.dui-prima-r{grid-template-columns:1fr auto}.dui-prima-r>span:first-child{grid-column:1/-1;font-size:.76rem}}
/* ===== 3.0.6 — Posta: «Invia più tardi», scheda «Bozze» · Messaggi: «Genera risposta» da un appunto · Preventivi: telefono ===== */
/* le schede dei filtri: con «Bozze» sono sei, sul telefono scorrono se non ci stanno */
.ml-seg{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ml-seg::-webkit-scrollbar{display:none}
.ml-seg button{flex:1 0 auto}
/* finestra di scrittura: l'orologio accanto a Invia, e il pannello delle scelte */
.mc-prog{width:36px;height:36px;border:1px solid rgba(191,160,64,.45);background:transparent;color:var(--oro-l);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mc-prog svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mc-prog:hover,.mc-prog.on{background:rgba(191,160,64,.16);border-color:var(--oro)}
.mc-prog:disabled,.mc-send:disabled{opacity:.5;cursor:default}
.mc-progp{position:absolute;top:56px;right:.8rem;width:340px;max-width:calc(100% - 1.6rem);z-index:7;background:var(--card);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.5);padding:.85rem;animation:mcEntra .16s var(--ease)}
.mc-progp[hidden]{display:none}
.prg-h b{display:flex;align-items:center;gap:.45rem;font:700 .92rem var(--ff-b);color:var(--crema)}
.prg-h svg,.ml-sez svg,.ml-tg svg.o{width:17px;height:17px;fill:none;stroke:var(--oro-l);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prg-h small{display:block;margin-top:.2rem;font:500 .74rem var(--ff-b);color:var(--cenere)}
.prg-l{display:flex;flex-direction:column;gap:.35rem;margin:.75rem 0 .2rem}
.prg-l button{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;min-height:44px;padding:.55rem .75rem;border-radius:11px;border:1px solid var(--line-2);background:transparent;color:var(--crema);font:inherit;text-align:left;cursor:pointer}
.prg-l button b{font:600 .86rem var(--ff-b)}
.prg-l button span{font:500 .78rem var(--ff-b);color:var(--grigio);white-space:nowrap}
.prg-l button:hover{border-color:var(--oro);background:rgba(191,160,64,.08)}
.prg-l button:hover span{color:var(--oro-l)}
.prg-sc{margin-top:.7rem}
.prg-sc label{display:block;margin:0 0 .35rem;font:600 .66rem var(--ff-b);letter-spacing:.14em;text-transform:uppercase;color:var(--cenere)}
.prg-dt{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:.4rem}
.prg-dt input{width:100%;min-width:0;min-height:44px;padding:.45rem .6rem;font-size:.9rem;box-sizing:border-box}
.prg-dt .btn{grid-column:1/-1;min-height:44px;width:100%}
.prg-n{display:block;margin-top:.7rem;font:500 .74rem/1.4 var(--ff-b);color:var(--cenere)}
.prg-n b{color:var(--grigio)}
@media(max-width:699px){.mc-progp{left:.5rem;right:.5rem;width:auto;max-width:none;top:calc(var(--sat, 0px) + 56px)}}
/* scheda «Bozze»: sezioni e righe */
.ml-sez{display:flex;align-items:center;gap:.45rem;padding:.75rem 1rem .35rem;font:600 .66rem var(--ff-b);letter-spacing:.14em;text-transform:uppercase;color:var(--cenere)}
.ml-sez span{flex:1}
.ml-sez i{font-style:normal;letter-spacing:0;color:var(--oro-l)}
.ml-sez svg{width:14px;height:14px}
.ml-bz .ml-dot{visibility:hidden}
.ml-bz.prog .ml-dot{visibility:visible;background:var(--oro)}
.ml-bz.prog.ko .ml-dot{background:#E2552B}
.ml-r3.err{color:#F08A6A}
.ml-tg svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.ml-chip.o{border-color:rgba(191,160,64,.55);color:var(--oro-l);cursor:pointer}
.ml-chip.o svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* foglio di un'email programmata */
.pu h3{margin:0 0 .8rem}
.pu-info{display:grid;gap:.1rem;margin:0 0 .9rem;border:1px solid var(--line);border-radius:12px;padding:.3rem .85rem}
.pu-info>div{display:flex;gap:.8rem;align-items:baseline;padding:.45rem 0;border-top:1px solid var(--line);font-size:.88rem}
.pu-info>div:first-child{border-top:0}
.pu-info span{flex:0 0 6.6rem;color:var(--cenere);font-size:.78rem}
.pu-info b{flex:1;min-width:0;color:var(--crema);font-weight:600;overflow-wrap:anywhere}
.pu-err{margin:0 0 .9rem;padding:.6rem .8rem;border-radius:10px;background:rgba(226,85,43,.12);border:1px solid rgba(240,138,106,.4);color:#F5A58C;font-size:.82rem;line-height:1.4}
.pu-ora{display:flex;align-items:center;justify-content:center;gap:.5rem}
.pu-ora svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.pu-sp{margin-top:1rem}
.pu-l{font:600 .66rem var(--ff-b);letter-spacing:.14em;text-transform:uppercase;color:var(--cenere)}
.pu-sp .prg-l{margin-top:.5rem}
.pu-b{display:flex;gap:.5rem;margin-top:1rem}
.pu-b .btn{flex:1;min-height:44px}
.pu-del{color:var(--danger)!important}
.pu-n{display:block;margin-top:.6rem;font-size:.74rem;line-height:1.4;color:var(--cenere)}
/* Messaggi: «Genera risposta» da un appunto, nel tono scelto */
.wm-aib.on{background:rgba(191,160,64,.14);border-color:var(--oro)}
.wm-rip{margin:0 0 .6rem;padding:.75rem .8rem .8rem;border-radius:14px;border:1px solid rgba(191,160,64,.45);background:linear-gradient(160deg,rgba(191,160,64,.1),rgba(191,160,64,.02));animation:mcEntra .16s var(--ease)}
.wm-rip[hidden]{display:none}
.wm-rip-h{display:flex;align-items:center;gap:.45rem}
.wm-rip-h svg{width:17px;height:17px;flex:none;fill:none;stroke:var(--oro-l);stroke-width:1.6;stroke-linejoin:round}
.wm-rip-h b{flex:1;font:700 .9rem var(--ff-b);color:var(--crema)}
.wm-rip-x{all:unset;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--cenere);font-size:.9rem}
.wm-rip-x:hover{color:var(--crema);background:rgba(255,255,255,.06)}
.wm-rip-lab{display:block;margin:.5rem 0 .3rem;font:600 .8rem var(--ff-b);color:var(--grigio)}
.wm-rip-lab small{font-weight:500;color:var(--cenere);margin-left:.25rem}
.wm-rip textarea{width:100%;box-sizing:border-box;resize:none;min-height:56px;max-height:160px;border-radius:12px;padding:.6rem .75rem;font-size:.9rem;line-height:1.4}
.wm-rip-l{margin:.65rem 0 .35rem;font:600 .66rem var(--ff-b);letter-spacing:.14em;text-transform:uppercase;color:var(--cenere)}
.wm-rip-t{display:flex;flex-wrap:wrap;gap:.35rem}
.wm-rip-t button{all:unset;cursor:pointer;box-sizing:border-box;min-height:36px;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--line-2);color:var(--crema);font:600 .8rem var(--ff-b);display:inline-flex;align-items:center}
.wm-rip-t button:hover{border-color:var(--oro);color:var(--oro-l)}
.wm-rip-t button.on{background:var(--oro);border-color:var(--oro);color:#111}
.wm-rip-go{all:unset;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;min-height:46px;margin-top:.75rem;border-radius:12px;background:var(--oro);color:#111;font:700 .88rem var(--ff-b)}
.wm-rip-go svg{width:17px;height:17px;fill:none;stroke:#111;stroke-width:1.7;stroke-linejoin:round}
.wm-rip-go:disabled{opacity:.7;cursor:default}
.wm-rip-n{display:block;margin-top:.55rem;font:500 .74rem/1.4 var(--ff-b);color:var(--cenere)}
.wm-rip.lav textarea,.wm-rip.lav .wm-rip-t{opacity:.55;pointer-events:none}
.wm-cmp.ia-lav.ia-scrive .wm-ta::after{content:'L\2019IA sta scrivendo la risposta\2026'}
/* Preventivi: il telefono del cliente nell'elenco */
.pv-tel{color:var(--oro-l);text-decoration:none;font-weight:600;white-space:nowrap}
.pv-tel:hover{text-decoration:underline}
.pv-senza{color:var(--cenere);font-style:italic}
/* tema chiaro */
[data-tema="chiaro"] .mc-prog{color:#8A6D1F;border-color:#D9C68A}
[data-tema="chiaro"] .mc-progp{box-shadow:0 18px 50px rgba(0,0,0,.18)}
[data-tema="chiaro"] .prg-l button:hover{background:#FBF5E2}
[data-tema="chiaro"] .prg-h svg,[data-tema="chiaro"] .ml-sez svg{stroke:#B8902C}
[data-tema="chiaro"] .ml-sez i,[data-tema="chiaro"] .ml-chip.o,[data-tema="chiaro"] .pv-tel{color:#8A6D1F}
[data-tema="chiaro"] .pu-err{background:#FDECE6;color:#9C3517}
[data-tema="chiaro"] .wm-rip{background:#FBF7EA;border-color:#E6D7A6}
[data-tema="chiaro"] .wm-rip-h svg{stroke:#B8902C}
[data-tema="chiaro"] .wm-rip-x:hover{background:rgba(0,0,0,.05)}
[data-tema="chiaro"] .ml-r3.err{color:#B8401C}
