:root{--blu:#00534d;--blu2:#007a72;--sfondo:#f5f7f7;--carta:#fff;--testo:#2b2f30;--muted:#6b7480;--bordo:#dfe3e8;
--rosso:#c62828;--rosso-bg:#fde8e8;--giallo:#8a6100;--giallo-bg:#fff4d6;--verde:#1e7a3c;--verde-bg:#e3f5e8;--grigio-bg:#eceff3}
*{box-sizing:border-box}
body{margin:0;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--sfondo);color:var(--testo)}
a{color:var(--blu2)}
main{max-width:1440px;padding:20px 24px}
h1{font-size:22px;margin:4px 0 14px}h2{font-size:17px;margin:0 0 10px}
h1 small,h2 small{font-weight:400;font-size:.7em}
.card{background:var(--carta);border:1px solid var(--bordo);border-radius:10px;padding:14px 16px;margin-bottom:14px}
.flash{background:var(--verde-bg);color:var(--verde);border-radius:8px;padding:10px 14px;margin-bottom:12px;font-weight:600}
.muted{color:var(--muted)}.piccolo{font-size:13px}.t-rosso{color:var(--rosso)}.t-giallo{color:var(--giallo)}
.btn{display:inline-block;border:1px solid var(--bordo);background:#fff;color:var(--testo);border-radius:8px;padding:8px 14px;font:inherit;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--blu2)}
.btn.primario{background:var(--blu2);border-color:var(--blu2);color:#fff;font-weight:600}
.btn.pericolo{color:var(--rosso)}.btn.piccolo{padding:4px 10px;font-size:13px}.btn.grande{padding:12px 20px;font-size:16px}
input,select,textarea{font:inherit;border:1px solid var(--bordo);border-radius:7px;padding:7px 9px;background:#fff;max-width:100%;color:var(--testo)}
textarea{width:100%;resize:vertical}
input.corto{width:70px}input.medio{width:130px}.largo{width:100%;font-family:ui-monospace,Menlo,monospace;font-size:13px}
.pill{display:inline-block;border-radius:20px;padding:2px 9px;font-size:12px;font-weight:600;text-decoration:none;margin:1px 0;background:var(--grigio-bg);color:var(--testo)}
.pill.rosso{background:var(--rosso-bg);color:var(--rosso)}.pill.giallo{background:var(--giallo-bg);color:var(--giallo)}
.pill.verde{background:var(--verde-bg);color:var(--verde)}.pill.grigio{background:var(--grigio-bg);color:#3b4450}
.stato{font-size:12px;font-weight:600;border-radius:5px;padding:2px 7px;white-space:nowrap}
.s-aperto{background:var(--rosso-bg);color:var(--rosso)}.s-in_carico{background:var(--giallo-bg);color:var(--giallo)}
.s-fatto{background:var(--verde-bg);color:var(--verde)}.s-verificato{background:#dcfaf8;color:#00534d}.s-annullato{background:var(--grigio-bg);color:var(--muted)}
.barra{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.barra h1{margin:0 8px}.spazio{flex:1}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}
.kpi a{background:#fff;border:1px solid var(--bordo);border-radius:10px;padding:12px;text-decoration:none;color:var(--testo)}
.kpi b{display:block;font-size:28px}.kpi span{color:var(--muted);font-size:13px}
ul.lista{list-style:none;padding:0;margin:0 0 12px}ul.lista li{padding:8px 0;border-bottom:1px solid var(--bordo)}ul.lista li:last-child{border:0}
.tabella-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:6px 8px;border-bottom:2px solid var(--bordo)}
td{padding:8px;border-bottom:1px solid var(--bordo);vertical-align:top}
table.prog tr.sg td{background:var(--rosso-bg)}
table.prog tr.sg td:first-child{box-shadow:inset 4px 0 var(--rosso)}
table.prog tr.fatta td{opacity:.55}
tr.sparita td{opacity:.6;text-decoration:line-through}
table.prog textarea{min-width:180px;font-size:13px}
table.prog select{min-width:130px}
table.lista-task tr{cursor:pointer}table.lista-task tr:hover td{background:#f9fbfb}
table.lista-task tr.blocca td:first-child{box-shadow:inset 4px 0 var(--rosso)}
.nota-fissa{font-size:12px;color:#4a3a00;background:var(--giallo-bg);border-radius:6px;padding:4px 7px;margin-top:4px}
.avviso{background:var(--giallo-bg);border-radius:8px;padding:8px 10px}
.legenda{font-weight:400;margin-left:8px}
.presenze{display:flex;flex-wrap:wrap;gap:8px}
.pres{border:1px solid var(--bordo);border-radius:8px;padding:6px 8px;display:flex;align-items:center;gap:6px;background:#fff}
.pres.assente{background:var(--grigio-bg);opacity:.75}
.pres .ore{font-size:12px;font-weight:700;color:var(--blu2);min-width:42px}.pres .ore.troppe{color:var(--rosso)}
.pres select{padding:3px 5px;font-size:13px}
.riga-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}
.filtri{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.form label{display:block;margin-bottom:10px;font-weight:600;font-size:14px}
.form label input:not([type=checkbox]),.form label select,.form label textarea{display:block;width:100%;margin-top:4px;font-weight:400}
.form label.check,label.check{font-weight:400;display:flex;gap:8px;align-items:center}
.due{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tre{display:grid;grid-template-columns:1fr 1fr 2fr;gap:8px;align-items:center;margin:8px 0}
fieldset.voce{border:1px solid var(--bordo);border-radius:10px;padding:10px 12px;margin:0 0 10px}
fieldset.voce legend{font-weight:700;padding:0 6px}
fieldset.voce input[type=text],fieldset.voce input:not([type]){width:100%;margin-bottom:6px;font-size:16px}
.foto-btn{display:inline-block;border:1px dashed var(--blu2);color:var(--blu2);border-radius:8px;padding:8px 12px;cursor:pointer;font-weight:600;font-size:14px}
.foto-btn input{display:block;margin-top:6px;font-size:13px;border:0;padding:0}
.griglia{display:grid;grid-template-columns:2fr 1.3fr;gap:14px;align-items:start}.griglia>section:last-child{grid-column:1/-1}
.galleria{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.galleria img{width:120px;height:120px;object-fit:cover;border-radius:8px;border:1px solid var(--bordo)}
.descr{white-space:normal;background:#f9fbfb;border-radius:8px;padding:10px;margin:8px 0}
.azioni{margin-top:12px;display:flex;flex-direction:column;gap:8px}.bottoni{display:flex;flex-wrap:wrap;gap:8px}
ul.storico{list-style:none;padding:0;margin:0}ul.storico li{padding:7px 0;border-bottom:1px solid var(--bordo);font-size:14px}
.login{max-width:380px;margin:60px auto}.login label{display:block;margin-bottom:12px}.login input{display:block;width:100%;margin-top:4px}
.card.mio.sg{border-left:5px solid var(--rosso)}.card.mio.fatta{opacity:.7}
.checklist-breve{font-size:13px;color:var(--muted)}
.avv.chiuso{opacity:.55}form.inline{display:inline}
q{quotes:"“" "”";color:#333}
@media (max-width:900px){
  .griglia,.due{grid-template-columns:1fr}.tre{grid-template-columns:1fr 1fr}
  .tre label.check{grid-column:1/-1}
  main{padding:10px}
  .btn{white-space:normal}
  table.prog,table.prog tbody,table.prog tr,table.prog td{display:block;width:100%}
  table.prog thead{display:none}
  table.prog tr{border:1px solid var(--bordo);border-radius:10px;margin-bottom:10px;padding:6px;background:#fff}
  table.prog td{border:0;padding:4px 6px}
  table.lista-task thead{display:none}
  table.lista-task tr{display:block;border-bottom:1px solid var(--bordo);padding:6px 0}
  table.lista-task td{display:inline-block;border:0;padding:2px 6px}
}
@media print{.sidebar,.topbar,.barra .btn,form,.foto-btn{display:none!important}}

/* ===== Layout con menu a sinistra (stile Guesty) ===== */
:root{--side:232px;--top:56px;--accento:#007a72;--side-bg:#ffffff;--side-testo:#3b4450;--side-att:#edfcfb}
body.con-menu{padding-left:var(--side)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--side-bg);border-right:1px solid var(--bordo);display:flex;flex-direction:column;z-index:30}
.sidebar .logo{display:flex;align-items:center;gap:10px;height:var(--top);padding:0 18px;text-decoration:none;color:var(--testo);font-weight:700;border-bottom:1px solid var(--bordo)}
.logo-segno{width:30px;height:30px;border-radius:8px;background:var(--blu);color:#fff;display:grid;place-items:center;font-size:15px}
.logo-testo{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar nav{flex:1;overflow-y:auto;padding:10px 10px}
.sidebar nav a,.sidebar-piede a{display:flex;align-items:center;gap:12px;padding:9px 12px;margin:2px 0;border-radius:8px;color:var(--side-testo);text-decoration:none;font-size:14.5px;font-weight:500}
.sidebar nav a:hover,.sidebar-piede a:hover{background:#f2f4f7}
.sidebar nav a.att{background:var(--side-att);color:var(--accento);font-weight:600}
.sidebar .ico{width:20px;height:20px;flex:none}
.conta{margin-left:auto;background:#e53935;color:#fff;border-radius:10px;font-size:11px;padding:1px 7px;font-weight:700}
.sidebar-piede{border-top:1px solid var(--bordo);padding:10px}
.utente{display:flex;align-items:center;gap:10px;padding:6px 12px 8px;font-size:14px;font-weight:600}
.avatar{width:28px;height:28px;border-radius:50%;background:#e2f2f1;color:var(--blu);display:grid;place-items:center;font-size:13px;font-weight:700}
.topbar{position:sticky;top:0;z-index:20;height:var(--top);background:#fff;border-bottom:1px solid var(--bordo);display:flex;align-items:center;gap:12px;padding:0 24px}
.menu-btn{display:none;background:none;border:0;padding:6px;cursor:pointer;color:var(--testo)}
.menu-btn .ico{width:24px;height:24px}
.logo-mobile{display:none;font-weight:700;color:var(--testo);text-decoration:none}
.piu-wrap{position:relative}
.btn-piu{display:flex;align-items:center;gap:6px;background:var(--accento);color:#fff;border:0;border-radius:20px;padding:8px 16px 8px 12px;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 2px 6px rgba(47,111,237,.3)}
.btn-piu:hover{background:#006b64}
.btn-piu .ico{width:20px;height:20px;stroke-width:2.4}
.piu-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);width:330px;background:#fff;border:1px solid var(--bordo);border-radius:12px;box-shadow:0 12px 32px rgba(20,30,50,.16);padding:6px;z-index:40}
.piu-wrap.aperto .piu-menu{display:block}
.piu-menu a{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--testo)}
.piu-menu a:hover{background:#f3faf9}
.piu-menu .ico{width:22px;height:22px;color:var(--accento);flex:none;margin-top:1px}
.piu-menu b{display:block;font-size:14.5px}.piu-menu small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}
.velo{display:none}
@media (max-width:900px){
  body.con-menu{padding-left:0}
  .sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:0 0 30px rgba(0,0,0,.2)}
  body.nav-aperta .sidebar{transform:none}
  body.nav-aperta .velo{display:block;position:fixed;inset:0;background:rgba(20,25,35,.35);z-index:25}
  .menu-btn{display:block}.logo-mobile{display:block}
  .topbar{padding:0 12px}
  .btn-piu span{display:none}.btn-piu{padding:8px;border-radius:50%}
  .piu-menu{width:min(330px,calc(100vw - 24px))}
}

/* ===== Menu a tendina con ricerca ===== */
.cerca-box{position:relative;display:block;min-width:220px}
.cerca-box input.cerca-input{width:100%;padding-right:30px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7480' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat right 9px center}
.cerca-lista{display:none;position:absolute;left:0;right:0;top:calc(100% + 3px);max-height:300px;overflow-y:auto;background:#fff;border:1px solid var(--bordo);border-radius:8px;box-shadow:0 10px 24px rgba(20,30,50,.14);z-index:50;padding:4px}
.cerca-box.aperto .cerca-lista{display:block}
.cerca-lista div{padding:8px 10px;border-radius:6px;cursor:pointer;font-size:14px}
.cerca-lista div.att,.cerca-lista div:hover{background:#edfcfb}
.cerca-lista div.scelto{font-weight:700}
.cerca-lista .vuoto{color:var(--muted);cursor:default}
.cerca-lista mark{background:#fff1a8;padding:0}
.form .cerca-box{margin-top:4px}
.filtri .cerca-box{min-width:240px;display:inline-block}
.cerca-box.errore input{border-color:var(--rosso);box-shadow:0 0 0 2px var(--rosso-bg)}

.cerca-tabella{flex:1;max-width:420px;margin-left:auto;padding:9px 12px 9px 34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7480' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 11px center;border-radius:20px}
@media (max-width:900px){.cerca-tabella{max-width:none;margin-left:0;width:100%}}

.versione{border-left:3px solid var(--bordo);padding:4px 0 4px 14px;margin:0 0 14px}
.versione.corrente{border-left-color:var(--verde)}.versione.futura{border-left-color:#e0b000}
.versione-testa{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.versione ul{margin:6px 0 0;padding-left:18px}.versione li{margin:2px 0;font-size:14px}
details.registro{margin-top:8px}details.registro summary{cursor:pointer;color:var(--blu2);font-weight:600;margin-bottom:8px}

/* ===== Assistente Claude ===== */
.assistente-barra{flex:1;max-width:640px;margin:0 auto;display:flex;align-items:center;gap:6px;background:#f3f7f7;border:1px solid var(--bordo);border-radius:22px;padding:3px 4px 3px 12px}
.assistente-barra:focus-within{background:#fff;border-color:var(--accento);box-shadow:0 0 0 3px #e0fbf9}
.assistente-barra input{flex:1;border:0;background:transparent;padding:7px 4px;outline:none;font-size:14.5px;min-width:0}
.assistente-barra button{border:0;background:var(--accento);color:#fff;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;flex:none}
.assistente-barra button .ico{width:18px;height:18px}
.ai-segno .ico{width:20px;height:20px;color:#c26a2e}
.ai-mobile{display:none;border:0;background:#f3f7f7;border-radius:50%;width:38px;height:38px;place-items:center;color:#c26a2e;cursor:pointer;margin-left:auto}
.ai-mobile .ico{width:22px;height:22px}
.assistente-pannello{position:fixed;top:calc(var(--top) + 8px);left:50%;transform:translateX(calc(-50% + var(--side) / 2));width:min(680px,calc(100vw - var(--side) - 32px));max-height:calc(100vh - var(--top) - 24px);display:flex;flex-direction:column;background:#fff;border:1px solid var(--bordo);border-radius:14px;box-shadow:0 18px 48px rgba(20,30,50,.22);z-index:45}
.assistente-pannello[hidden]{display:none}
.ap-testa{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--bordo)}
.ap-testa b{display:flex;align-items:center;gap:6px}.ap-testa .ico{width:18px;height:18px;color:#c26a2e}
.ap-chiudi{border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:var(--muted);padding:0 4px}
.ap-corpo{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-height:120px}
.ap-msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:14.5px;line-height:1.45}
.ap-utente{align-self:flex-end;background:var(--accento);color:#fff;border-bottom-right-radius:4px}
.ap-claude{align-self:flex-start;background:#f3f7f7;border-bottom-left-radius:4px}
.ap-errore{background:var(--rosso-bg);color:var(--rosso)}
.ap-proposta{align-self:stretch;max-width:none;border:1px solid #cff1ef;background:#f7fefd}
.ap-proposta.fatta{border-color:#b6e0c3;background:var(--verde-bg)}.ap-proposta.annullata{opacity:.55}
.ap-prop-bottoni{display:flex;gap:6px;margin-top:8px}
.ap-tutte{align-self:flex-start;padding:0}
.ap-piede{display:none;gap:6px;padding:10px;border-top:1px solid var(--bordo)}
.ap-piede input{flex:1}
.puntini{display:inline-flex;gap:3px;margin-right:6px}.puntini i{width:6px;height:6px;border-radius:50%;background:#9aa4b2;animation:pt 1s infinite}
.puntini i:nth-child(2){animation-delay:.15s}.puntini i:nth-child(3){animation-delay:.3s}
@keyframes pt{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media (max-width:900px){
  .assistente-barra{display:none}.ai-mobile{display:grid}
  .assistente-pannello{left:8px;right:8px;width:auto;transform:none;top:calc(var(--top) + 6px)}
  .ap-piede{display:flex}
}

/* ===== Navigazione tra appartamenti ===== */
.nav-apt{background:#fff;border:1px solid var(--bordo);border-radius:10px;padding:10px 12px;margin-bottom:12px}
.nav-apt-rapidi{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.nav-apt-form{display:flex;gap:6px;align-items:center;margin-left:auto;flex-wrap:wrap}
.nav-apt-form select,.nav-apt-form input{padding:5px 8px;font-size:14px}
.chip{display:inline-block;border:1px solid var(--bordo);border-radius:16px;padding:4px 11px;font-size:13.5px;text-decoration:none;color:var(--testo);background:#fff;white-space:nowrap}
.chip:hover{border-color:var(--accento)}
.chip.att{background:var(--side-att);border-color:#c1eeeb;color:var(--accento);font-weight:600}
.nav-apt-lista{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}
.nav-apt-lista:empty{display:none}
.chip.apt.sg{border-color:#f0b4b4;background:var(--rosso-bg)}
.chip.apt.corrente{background:var(--accento);border-color:var(--accento);color:#fff;font-weight:600}
.legenda-nav{margin-left:6px}
.btn.freccia{font-size:20px;line-height:1;padding:6px 14px}
.btn.disabilitato{opacity:.35;pointer-events:none}
@media (max-width:900px){.nav-apt-form{margin-left:0;width:100%}}

/* ---- v1.7 Turni e ferie */
table.turni{border-collapse:separate;border-spacing:0;font-size:13px}
table.turni th,table.turni td{border-bottom:1px solid var(--bordo);border-right:1px solid #eef0f3;padding:0;text-align:center;min-width:30px;height:30px}
table.turni thead th{font-weight:500;padding:3px 0;line-height:1.1;background:#fff;position:sticky;top:0;z-index:1}
table.turni thead th span{display:block;color:var(--muted);font-size:11px}
table.turni .fisso{position:sticky;left:0;background:#fff;z-index:2;text-align:left;padding:0 10px;min-width:150px;white-space:nowrap;font-weight:600}
table.turni th.fisso small{font-weight:400;margin-left:4px}
table.turni tr.gruppo td{background:var(--grigio-bg);color:var(--muted);font-size:12px;font-weight:600;height:24px}
table.turni .we{background:#f7f8fa}table.turni th.fuori,table.turni td.fuori{opacity:.6}
table.turni .oggi{box-shadow:inset 2px 0 0 var(--blu2),inset -2px 0 0 var(--blu2)}
table.turni thead th.oggi b{color:var(--blu2)}
td.cel{cursor:pointer;font-weight:700;user-select:none}td.cel:hover{outline:2px solid var(--blu2);outline-offset:-2px}
.sg-R{background:#ebf9f8!important;color:#007a72}.sg-F{background:var(--verde-bg)!important;color:var(--verde)}
.sg-M{background:var(--rosso-bg)!important;color:var(--rosso)}.sg-P{background:var(--giallo-bg)!important;color:var(--giallo)}
b.sg-R,b.sg-F,b.sg-M,b.sg-P{padding:0 5px;border-radius:4px}
td.cel.chiuso{background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 4px,#fff 4px,#fff 8px)}
td.cel.con-nota{position:relative}td.cel.con-nota:after{content:"";position:absolute;top:2px;right:2px;border:4px solid transparent;border-top-color:var(--giallo);border-right-color:var(--giallo)}
table.turni tfoot td{font-variant-numeric:tabular-nums;background:#fbfbfc}table.turni tfoot th.fisso{font-weight:500;background:#fbfbfc}
table.turni tfoot tr.forte td,table.turni tfoot tr.forte th{font-weight:700}
table.turni input.extra{width:30px;border:0;background:transparent;text-align:center;padding:0;font:inherit}
table.turni input.extra.auto{color:var(--muted)}table.turni input.extra:focus{outline:2px solid var(--blu2)}
td.saldo.neg{background:var(--rosso-bg)!important;color:var(--rosso)}td.saldo.giusto{background:var(--giallo-bg)!important;color:var(--giallo)}td.saldo.pos{color:var(--verde)}
.riga-azioni{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:4px 0 10px}
p.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
table.ferie td{vertical-align:top}table.dati-contr input{min-width:0}table.dati-contr td{white-space:nowrap}
tr.da-verificare{background:var(--giallo-bg)}

/* ---- v1.7 Assegnatore drag & drop */
.assegnatore{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:14px;align-items:start}
.ass-sx{position:sticky;top:64px;max-height:calc(100vh - 80px);overflow:auto}
.ass-dx{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.ass-dx details.altri{grid-column:1/-1}.altri-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:10px}
.contenitore{background:var(--carta);border:1px solid var(--bordo);border-radius:10px;padding:10px;min-height:120px;transition:border-color .1s,background .1s}
.contenitore.da-fare{background:#fbfbfc}
.contenitore header{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;cursor:default}
.contenitore header .orario{flex-basis:100%;font-size:11.5px}
.contenitore .conta{background:var(--grigio-bg);border-radius:10px;padding:0 7px;font-size:12px;font-weight:600}
.contenitore.sopra{border-color:var(--blu2);background:#f0fbfa;box-shadow:0 0 0 2px #d4f2f0}
.contenitore.assente{opacity:.75}.contenitore.assente header b{text-decoration:line-through}
.contenitore.piccolo{min-height:70px}
.contenitore .vuoto{display:none;text-align:center;margin:14px 0}.contenitore.senza-carte .vuoto{display:block}
.contenitore .carte{display:flex;flex-direction:column;gap:6px;min-height:20px}
.ore-barra{flex:1;min-width:50px;height:6px;background:var(--grigio-bg);border-radius:3px;overflow:hidden}
.ore-barra i{display:block;height:100%;width:0;background:var(--verde);transition:width .2s}
.ore-barra i.troppo{background:var(--rosso)}.ore-barra i.pieno{background:#d89b00}
.ass-filtro input{width:100%;margin-bottom:8px}
.carta{display:flex;gap:6px;background:#fff;border:1px solid var(--bordo);border-left:4px solid #bdd2d1;border-radius:8px;padding:7px 8px;cursor:grab;user-select:none;-webkit-user-select:none}
.carta.sg{border-left-color:var(--rosso)}.carta.t-controllo{border-left-color:#7a8796;border-style:dashed solid dashed solid}.carta.t-extra{border-left-color:#d89b00}
.carta.fatta{opacity:.55}.carta.fatta .carta-titolo b{text-decoration:line-through}
.carta .maniglia{color:#a3acb8;font-size:13px;letter-spacing:-3px;touch-action:none;padding:2px 4px 0 0;cursor:grab}
.carta-corpo{flex:1;min-width:0}.carta-titolo{display:flex;justify-content:space-between;gap:6px}.carta-min{color:var(--muted);font-size:12px;white-space:nowrap}
.carta-info{font-size:12px;margin-top:2px;display:flex;flex-wrap:wrap;gap:3px;align-items:center}.carta-info .pill{font-size:11px;padding:1px 7px}
.carta-nota{font-size:12px;color:var(--giallo);margin-top:3px}
.carta.scelta{outline:3px solid var(--blu2);outline-offset:1px}
.carta.trascinata{opacity:.3}
.carta.fantasma{position:fixed;z-index:1000;pointer-events:none;box-shadow:0 10px 24px rgba(0,0,0,.18);transform:rotate(1.5deg);opacity:.95}
.segnaposto{height:38px;border:2px dashed var(--blu2);border-radius:8px;background:#f0fbfa}
body.trascino{cursor:grabbing}body.trascino *{cursor:grabbing!important}
@media (max-width:760px){.assegnatore{grid-template-columns:1fr}.ass-sx{position:static;max-height:none}}
.ass-scegli{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--bordo);box-shadow:0 -6px 18px rgba(0,0,0,.08);padding:10px 12px;display:none;gap:6px;overflow-x:auto;align-items:center;white-space:nowrap}
.ass-scegli.vis{display:flex}
@media (min-width:761px){.ass-scegli{left:auto;right:16px;bottom:16px;border-radius:10px;border:1px solid var(--bordo);max-width:70vw}}
/* v1.8 runner e riserve */
td.saldo.riserve{background:var(--giallo-bg)!important;color:var(--giallo)}
table.turni td.runner{font-size:11px;font-weight:600;color:var(--muted)}
table.turni td.runner.liv2{background:var(--giallo-bg);color:var(--giallo)}
table.turni td.runner.liv3{background:#ffe6cc;color:#a04a00}
table.turni td.runner.liv0{background:var(--rosso-bg);color:var(--rosso)}
table.turni th.fisso .pill{font-size:10px;padding:0 6px;margin-left:3px}
.runner-banner{display:flex;gap:10px;align-items:flex-start;border-left:4px solid var(--blu2)}
.runner-banner.liv2{border-left-color:#d89b00}.runner-banner.liv3,.runner-banner.liv0{border-left-color:var(--rosso)}
.carta-info .pill.blu{background:#ebf9f8;color:#007a72}
textarea.competenze{min-width:200px;font-size:13px}
/* v1.9 */
table.turni th.nome-turno{line-height:1.15;padding-top:3px;padding-bottom:3px;max-width:260px}
table.turni th.nome-turno a{color:var(--testo);text-decoration:none}table.turni th.nome-turno a:hover{color:var(--blu2);text-decoration:underline}
table.turni th.nome-turno small.qualifica{display:block;font-weight:400;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
table.turni th.nome-turno .pill{font-size:10px;padding:0 6px}
table.turni tr.gruppo td{height:20px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.scheda-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
dl.dati{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14px}dl.dati dt{color:var(--muted)}dl.dati dd{margin:0}
.kpi div{background:#fff;border:1px solid var(--bordo);border-radius:10px;padding:12px}.kpi div b{display:block;font-size:26px}.kpi div span{color:var(--muted);font-size:13px}
.kpi.mini{grid-template-columns:repeat(3,1fr)}.kpi.mini div b{font-size:22px}
.cal-mese{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:6px 0 14px}
.cal-g{border:1px solid var(--bordo);border-radius:7px;padding:4px 5px;min-height:62px;font-size:12px;background:#fff;display:flex;flex-direction:column;gap:2px}
.cal-g.we{background:#f7f8fa}.cal-g.oggi{border-color:var(--blu2);box-shadow:0 0 0 1px var(--blu2)}.cal-g.futuro{opacity:.75}
.cal-testa{display:flex;justify-content:space-between;color:var(--muted)}.cal-testa b{color:var(--testo)}
.cal-apt{display:block;background:var(--grigio-bg);border-radius:4px;padding:1px 5px;color:var(--testo);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-apt.sg{background:var(--rosso-bg)}.cal-apt.fatta{background:var(--verde-bg)}.cal-apt i{color:var(--muted);font-style:normal}
.form-scheda fieldset{border:1px solid var(--bordo);border-radius:8px;margin:0 0 12px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:10px 14px}
.form-scheda legend{font-weight:600;padding:0 4px}.form-scheda label{display:flex;flex-direction:column;font-size:13px;color:var(--muted);gap:3px}
.form-scheda label.check{flex-direction:row;align-items:center;color:var(--testo)}.form-scheda .largo-campo{flex-basis:100%;width:100%}
details#modifica summary{cursor:pointer}
@media (max-width:760px){.cal-mese{grid-template-columns:repeat(2,1fr)}}
.avviso-zone{flex-basis:100%;font-size:11.5px}.avviso-zone:empty{display:none}
table.turni th.nome-turno{text-transform:none}table.turni th.nome-turno a{font-weight:600}
/* v1.9 task */
.testa-task{align-items:flex-start}.titolo-task{flex:1;min-width:0}.titolo-task h1{margin:0 0 2px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.titolo-task p{margin:0}.inline-form{display:flex;gap:6px;align-items:center;margin-bottom:4px}.inline-form input[name=titolo]{flex:1;font-size:18px;font-weight:600}
.pill.blu{background:#ebf9f8;color:#007a72}
.griglia-task{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:14px;align-items:start}
.col-laterale .card.evidenza{border-color:#d89b00;box-shadow:0 0 0 2px var(--giallo-bg)}
ol.passi{list-style:none;padding:0;margin:0 0 10px;counter-reset:p}
ol.passi li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--bordo)}ol.passi li:last-child{border:0}
ol.passi li.fatto .passo-testo b{color:var(--muted);text-decoration:line-through;font-weight:500}
.passo-testo{flex:1;display:flex;flex-direction:column}
button.spunta{width:24px;height:24px;border:2px solid #9aa6b5;border-radius:6px;background:#fff;color:#fff;font-weight:700;cursor:pointer;padding:0;line-height:1}
li.fatto button.spunta{background:var(--verde);border-color:var(--verde)}button.spunta:disabled{cursor:default;opacity:.6}
button.btn-x{border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}button.btn-x:hover{color:var(--rosso)}
.passo-nuovo{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.passo-nuovo input[name=testo]{flex:1 1 260px}
.galleria.piccola img{width:72px;height:72px}
@media (max-width:900px){.griglia-task{grid-template-columns:1fr}.col-laterale{order:-1}}
[hidden]{display:none!important}
/* v1.9b assegnatore a colonne */
.assegnatore{grid-template-columns:minmax(560px,1.35fr) minmax(0,1fr)}
.ass-dx{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.ass-filtri{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.ass-filtri input[type=search]{flex:1;min-width:120px}
.chips-filtro{display:flex;flex-wrap:wrap;gap:5px;width:100%}
.chips-filtro .chip{cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;padding:3px 9px;opacity:.45}
.chips-filtro .chip.on{opacity:1;border-color:#9aa6b5}.chips-filtro .chip b{font-weight:600;color:var(--muted)}
.pallino{width:9px;height:9px;border-radius:50%;display:inline-block}.pallino.verde{background:var(--verde)}.pallino.rosso{background:var(--rosso)}.pallino.grigio{background:#8a96a5}.pallino.giallo{background:#d89b00}
.testata-ass,.da-fare .riga-ass{display:grid;grid-template-columns:16px 96px minmax(90px,1.4fr) minmax(60px,1fr) 46px 58px 30px 40px 52px;gap:6px;align-items:center}
.testata-ass{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:0 8px 4px;border-bottom:1px solid var(--bordo);margin-bottom:6px}
.testata-ass button{all:unset;cursor:pointer;white-space:nowrap}.testata-ass button:hover{color:var(--blu2)}
.testata-ass button.att{color:var(--blu2);font-weight:700}.testata-ass button[data-dir]:not([data-dir=""])::after{content:" " attr(data-dir);font-size:9px}
.da-fare .carte{gap:3px}
.da-fare .riga-ass{padding:6px 8px;font-size:13px;border-left-width:4px}
.riga-ass.c-libero{border-left-color:var(--verde)}.riga-ass.c-sg{border-left-color:var(--rosso)}.riga-ass.c-out{border-left-color:#8a96a5}.riga-ass.c-extra{border-left-color:#d89b00}
.riga-ass .col-tipo{display:flex;flex-direction:column;line-height:1.1}.riga-ass .col-tipo .pill{font-size:10.5px;padding:1px 6px;white-space:nowrap}
.riga-ass .col-apt{min-width:0;display:flex;flex-direction:column}.riga-ass .col-apt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.riga-ass .col-zona{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.riga-ass .col-ore,.riga-ass .col-osp,.riga-ass .col-usc,.riga-ass .col-arr{font-variant-numeric:tabular-nums;white-space:nowrap}
.riga-ass .carta-nota{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.riga-ass .col-task .pill{font-size:10.5px;padding:1px 6px}
/* nei contenitori delle persone: versione compatta */
.persona .riga-ass{display:grid;grid-template-columns:14px 1fr auto;grid-template-areas:"m apt ore" "m tipo arr";gap:1px 6px;padding:6px 8px;font-size:13px}
.persona .riga-ass .maniglia{grid-area:m}.persona .riga-ass .col-apt{grid-area:apt}.persona .riga-ass .col-ore{grid-area:ore;color:var(--muted);font-size:12px}
.persona .riga-ass .col-tipo{grid-area:tipo;flex-direction:row;gap:4px}.persona .riga-ass .col-arr{grid-area:arr;font-size:12px}
.persona .riga-ass .col-zona,.persona .riga-ass .col-usc,.persona .riga-ass .col-osp,.persona .riga-ass .col-task{display:none}
.btn-ordina{border:1px solid var(--bordo);background:#fff;border-radius:6px;cursor:pointer;font-size:12px;padding:0 6px;line-height:18px}
@media (max-width:1200px){.assegnatore{grid-template-columns:1fr}.ass-sx{position:static;max-height:none}}
@media (max-width:640px){.testata-ass{display:none}.da-fare .riga-ass{grid-template-columns:14px 1fr auto;grid-template-areas:"m apt ore" "m tipo arr"}
  .da-fare .riga-ass .maniglia{grid-area:m}.da-fare .riga-ass .col-apt{grid-area:apt}.da-fare .riga-ass .col-ore{grid-area:ore}.da-fare .riga-ass .col-tipo{grid-area:tipo;flex-direction:row;gap:4px}.da-fare .riga-ass .col-arr{grid-area:arr}
  .da-fare .riga-ass .col-zona,.da-fare .riga-ass .col-usc,.da-fare .riga-ass .col-osp,.da-fare .riga-ass .col-task{display:none}}
.contenitore.persona header .ore-barra{min-width:30px}
/* v1.11 tab pulizie / task nell'assegnatore */
.tabs-ass{display:flex;gap:4px;margin-bottom:-1px;position:relative;z-index:1}
.tabs-ass button{border:1px solid var(--bordo);border-bottom:0;background:#eff4f4;border-radius:10px 10px 0 0;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer;color:var(--muted)}
.tabs-ass button.att{background:#fbfbfc;color:var(--testo);font-weight:600}
.tabs-ass button b{background:var(--grigio-bg);border-radius:10px;padding:0 7px;font-size:12px;margin-left:4px}
.ass-sx .contenitore.da-fare{border-top-left-radius:0}
.testata-task,.da-fare .riga-task{display:grid;grid-template-columns:16px 92px minmax(140px,2fr) minmax(80px,1fr) 96px 70px 92px;gap:6px;align-items:center}
.da-fare .riga-task{padding:6px 8px;font-size:13px}
.riga-task{border-left:4px solid #7b61c9!important}.riga-task.blocca{border-left-color:var(--rosso)!important}
.riga-task .col-titolo,.riga-task .col-apt,.riga-task .col-cat,.riga-task .col-resp,.riga-task .col-scad{display:flex;flex-direction:column;min-width:0}
.riga-task .col-titolo b{font-weight:600;overflow:hidden;text-overflow:ellipsis}.riga-task .col-titolo a{font-size:11.5px;color:var(--muted)}
.riga-task small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.riga-task .pill{font-size:10.5px;padding:1px 6px;white-space:nowrap;align-self:flex-start}
.riga-task .col-qui .pill{white-space:normal}
/* task nei contenitori delle persone: compatti */
.persona .riga-task{display:grid;grid-template-columns:14px 1fr;grid-template-areas:"m titolo" "m apt";gap:1px 6px;padding:5px 8px;font-size:12.5px;background:#f7f5fd}
.persona .riga-task .maniglia{grid-area:m}.persona .riga-task .col-titolo{grid-area:titolo}.persona .riga-task .col-apt{grid-area:apt;flex-direction:row;gap:6px;color:var(--muted)}
.persona .riga-task .col-scad,.persona .riga-task .col-cat,.persona .riga-task .col-resp,.persona .riga-task .col-qui,.persona .riga-task .col-titolo small{display:none}
@media (max-width:640px){.testata-task{display:none}.da-fare .riga-task{grid-template-columns:14px 1fr;grid-template-areas:"m titolo" "m apt" "m scad"}
  .da-fare .riga-task .maniglia{grid-area:m}.da-fare .riga-task .col-titolo{grid-area:titolo}.da-fare .riga-task .col-apt{grid-area:apt;flex-direction:row;gap:6px}.da-fare .riga-task .col-scad{grid-area:scad;flex-direction:row;gap:6px}
  .da-fare .riga-task .col-cat,.da-fare .riga-task .col-resp{display:none}.da-fare .riga-task .col-qui{grid-column:2}}
/* v1.12 stato pulizia appartamenti */
.pill.stato-apt{white-space:nowrap}.pill.stato-apt.cliccabile{cursor:pointer}.pill.stato-apt.cliccabile:hover{outline:2px solid var(--blu2);outline-offset:1px}
.menu-stato{position:absolute;z-index:200;background:#fff;border:1px solid var(--bordo);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:10px;display:flex;flex-direction:column;gap:6px;width:220px;font-size:13px}
.menu-stato button{border:1px solid var(--bordo);background:#fff;border-radius:7px;padding:6px 10px;text-align:left;cursor:pointer;font:inherit}.menu-stato button:hover,.menu-stato button.att{border-color:var(--blu2);background:#f0fbfa}
.menu-stato small{color:var(--muted)}
.salvataggio.ok{color:var(--verde);font-weight:600}.salvataggio.errore{color:var(--rosso);font-weight:600}
.testata-ass,.da-fare .riga-ass{grid-template-columns:16px 96px 92px minmax(90px,1.4fr) minmax(60px,1fr) 46px 58px 30px 40px 52px}
.riga-ass .col-stato .pill{font-size:10.5px;padding:1px 6px}
.persona .riga-ass{grid-template-areas:"m apt ore" "m tipo arr" "m stato stato"}.persona .riga-ass .col-stato{grid-area:stato}
@media (max-width:640px){.da-fare .riga-ass{grid-template-areas:"m apt ore" "m tipo arr" "m stato stato"}.da-fare .riga-ass .col-stato{grid-area:stato}}
.persona .riga-ass{grid-template-columns:14px auto 1fr auto;grid-template-areas:"m apt apt ore" "m tipo stato arr"}
.persona .riga-ass .col-stato{justify-self:start}
/* v1.14 barra data fissa durante lo scorrimento */
.barra-fissa{position:sticky;top:var(--top);z-index:15;background:var(--sfondo);margin:-8px -24px 12px;padding:8px 24px;border-bottom:1px solid transparent;transition:border-color .15s,box-shadow .15s}
.barra-fissa.staccata{border-bottom-color:var(--bordo);box-shadow:0 4px 10px rgba(0,0,0,.04)}
@media (min-width:1201px){.ass-sx{top:calc(var(--top) + 64px);max-height:calc(100vh - var(--top) - 76px)}}
@media (max-width:760px){.barra-fissa{margin:-6px -10px 10px;padding:6px 10px;flex-wrap:nowrap;overflow-x:auto;gap:6px}.barra-fissa h1{font-size:15px;white-space:nowrap;margin:0 4px}.barra-fissa .btn{padding:6px 9px;font-size:13px}.barra-fissa .spazio{display:none}.barra-fissa input[type=date]{width:130px}}
/* v1.15 segnalazione da telefono */
.form-segnala .chi-segnala{margin:0 0 6px;font-size:15px}
.form-segnala .etichetta{display:block;margin-bottom:6px}
.chips-apt,.prodotti{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.chip-scelta{border:1px solid var(--bordo);background:#fff;border-radius:18px;padding:7px 12px;font:inherit;font-size:14px;cursor:pointer}
.chip-scelta.att{background:var(--blu2);border-color:var(--blu2);color:#fff;font-weight:600}
.prodotti .chip-scelta{font-size:13px;padding:5px 10px;background:#f7fafa}
.tipi-segn{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px}
.tipo-segn input{position:absolute;opacity:0;pointer-events:none}
.tipo-segn span{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;border:1px solid var(--bordo);border-radius:10px;padding:10px 6px;font-size:13px;cursor:pointer;background:#fff;height:100%}
.tipo-segn span b{font-size:22px}
.tipo-segn input:checked+span{border-color:var(--blu2);background:#f0fbfa;box-shadow:0 0 0 2px #d4f2f0;font-weight:600}
.form-segnala .urgente{background:var(--giallo-bg);border-radius:8px;padding:8px 10px;color:var(--giallo)}
.foto-btn.grande{padding:14px;font-size:16px;text-align:center}
.altri-dettagli{margin:8px 0}.altri-dettagli summary{cursor:pointer;color:var(--blu2)}
.invio-fisso{position:sticky;bottom:0;background:linear-gradient(transparent,#fff 30%);padding:12px 0 4px;margin-top:6px}
.invio-fisso .btn{width:100%}
.solo-ufficio{margin-top:6px}
@media (max-width:640px){.tipi-segn{grid-template-columns:repeat(2,1fr)}}
/* pulsanti data rapida */
.chips-date{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:4px}
.chip-data{border:1px solid var(--bordo);background:#fff;border-radius:14px;padding:3px 9px;font:inherit;font-size:12.5px;cursor:pointer}
.chip-data small{color:var(--muted)}.chip-data.uscita{border-color:#d4f2f0}.chip-data.libero{border-color:#bfe3c9}
.chip-data.att{background:var(--blu2);color:#fff;border-color:var(--blu2)}.chip-data.att small{color:#e2f5f4}
li.riass{background:#f4fdfc;border-radius:8px;padding:8px!important}
.azioni-task-mio{margin-top:4px}
fieldset.voce{min-width:0}.form-segnala{overflow-wrap:anywhere}
.tipo-segn{position:relative}.tipo-segn input{left:0;top:0;width:1px;height:1px}

.link-accesso{border-color:#bfe3c9;background:#f3fbf5}.link-accesso.non-inviato{border-color:#f0c36d;background:var(--giallo-bg)}
.copia-link{display:flex;gap:6px;margin:8px 0}.copia-link input{flex:1}
table.accessi td{vertical-align:middle}.azioni-accesso{white-space:nowrap}.azioni-accesso form.inline{display:inline-flex;gap:4px;align-items:center}
.login a.piccolo{display:block;text-align:center;margin-top:10px}
table.accessi .pill{white-space:nowrap}
/* v1.17 selezione multipla nei turni */
td.cel.selez{outline:2px solid var(--blu2)!important;outline-offset:-2px;background:#dff7f5!important}
body.selezione-turni,body.selezione-turni *{user-select:none;cursor:cell!important}
.menu-turni{position:absolute;z-index:300;background:#fff;border:1px solid var(--bordo);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:10px;display:flex;flex-direction:column;gap:4px;width:200px;font-size:13px}
.menu-turni button{border:1px solid var(--bordo);background:#fff;border-radius:7px;padding:6px 10px;text-align:left;cursor:pointer;font:inherit;display:flex;gap:8px;align-items:center}
.menu-turni button:hover{border-color:var(--blu2);background:#f0fbfa}.menu-turni button i{font-style:normal;font-weight:700;width:20px;text-align:center;border-radius:4px}
.menu-turni button.annulla{color:var(--muted);justify-content:center}
/* v1.17 utente, richieste, registro */
.utente-nomi{display:flex;flex-direction:column;line-height:1.2;min-width:0}.utente-nomi small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
a.suggerisci{font-size:13px!important;color:var(--blu2)!important}
.tipi-segn.tre-col{grid-template-columns:repeat(3,1fr)}
.richiesta .rq-testa{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.richiesta h3.rq-titolo{margin:6px 0 4px;font-size:16px}.rq-testo{margin:0 0 6px;white-space:normal}
.rq-azioni{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.rq-risposta{flex:1 1 260px}
.rq-stati{display:flex;gap:4px;flex-wrap:wrap}.rq-stato input{position:absolute;opacity:0;width:1px;height:1px}.rq-stato{position:relative}
.rq-stato span{display:inline-block;border:1px solid var(--bordo);border-radius:16px;padding:4px 10px;font-size:13px;cursor:pointer;background:#fff}
.rq-stato.s-presa input:checked+span{background:var(--verde);border-color:var(--verde);color:#fff}
.rq-stato.s-fatta input:checked+span{background:var(--blu2);border-color:var(--blu2);color:#fff}
.rq-stato.s-declinata input:checked+span{background:#8a96a5;border-color:#8a96a5;color:#fff}
.rq-stato.s-nuova input:checked+span{background:var(--giallo-bg);border-color:#e0b84d;color:var(--giallo)}
.card.rq-presa{border-color:#9fd3ae;background:#f2fbf4}
.card.rq-fatta{border-color:#c1eeeb;background:#f4fdfc}
.card.rq-declinata{background:#f4f5f7;opacity:.75}.rq-declinata .rq-titolo,.rq-declinata .rq-testo{text-decoration:line-through;color:var(--muted)}
ul.richieste li.rq-presa{background:#f2fbf4}ul.richieste li.rq-declinata .rq-titolo{text-decoration:line-through;color:var(--muted)}
.risposta{margin:4px 0 0;background:#f7fafa;border-radius:6px;padding:6px 8px;font-size:14px}
ul.log-lista{list-style:none;padding:0;margin:0;font-size:13.5px}ul.log-lista li{padding:4px 0;border-bottom:1px solid #f0f2f5}
ul.log-lista li.log-giorno{font-weight:700;background:var(--grigio-bg);padding:5px 8px;margin-top:8px;border-radius:6px}
.log-ora{display:inline-block;width:44px;color:var(--muted);font-variant-numeric:tabular-nums}
li.log-accesso_fallito{color:var(--rosso)}li.log-accesso{color:var(--verde)}li.log-pagina{color:#5d6672}
/* v1.18 menu azioni pulizie */
.carta-menu{border:0;background:none;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:0 4px;border-radius:5px}
.carta-menu:hover{background:var(--grigio-bg);color:var(--testo)}
.testata-ass,.da-fare .riga-ass{grid-template-columns:16px 96px 92px minmax(90px,1.4fr) minmax(60px,1fr) 46px 58px 30px 40px 52px 22px}
.persona .riga-ass{grid-template-columns:14px auto 1fr auto 18px;grid-template-areas:"m apt apt ore menu" "m tipo stato arr menu"}
.persona .riga-ass .carta-menu{grid-area:menu;align-self:center}
@media (max-width:640px){.da-fare .riga-ass{grid-template-columns:14px 1fr auto 18px;grid-template-areas:"m apt ore menu" "m tipo arr menu" "m stato stato menu"}.da-fare .riga-ass .carta-menu{grid-area:menu}}
.menu-azioni{width:250px}.menu-azioni label.check{display:flex;gap:6px;align-items:center}
.persona .riga-ass{grid-template-columns:14px max-content minmax(0,1fr) max-content 18px}
.persona .riga-ass .col-apt{min-width:0;overflow:hidden}.persona .riga-ass .col-apt b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.persona .riga-ass .col-stato{min-width:0;overflow:hidden}
.persona .riga-ass{grid-template-columns:14px minmax(0,1fr) max-content 18px;grid-template-areas:"m apt ore menu" "m tipo arr menu" "m stato stato menu"}
/* v1.19 sottomenu e serrature */
.sottomenu{display:flex;flex-direction:column;margin:-2px 0 6px 34px;border-left:2px solid var(--bordo)}
.sottomenu a{font-size:13px!important;padding:5px 10px!important;color:var(--side-testo)!important}
.sottomenu a.att{color:var(--accento)!important;font-weight:600;background:none!important}
.griglia-porte{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:10px}
.apt-porte h3{margin:0 0 4px;font-size:15px}.apt-porte.senza{opacity:.6}
ol.porte{list-style:none;padding:0;margin:6px 0;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
ol.porte li.spenta{opacity:.5}ol.porte .pill{font-size:11px}
.porte-apt{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.btn-apri small{color:var(--muted)}
.btn-link{border:0;background:none;color:var(--blu2);cursor:pointer;font:inherit;font-size:12.5px;padding:0;text-decoration:underline}
.stato-occ{margin:0 0 6px;display:flex;gap:6px;flex-wrap:wrap}
.messaggi-serrature{border-color:#e0b84d;background:#fffaf0}.messaggi-serrature h2{margin-bottom:4px}
.apt-multi .pill{display:inline-flex;gap:3px;align-items:center;margin:1px}.apt-multi .x{border:0;background:none;cursor:pointer;color:var(--muted);padding:0 2px}
table.serrature-tab td{vertical-align:top}table.serrature-tab input{max-width:220px}
tr.problema td{background:var(--rosso-bg)}tr.uscita td{color:var(--muted)}
.allarme{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.allarme.liv-rosso{border-color:#f0b4b4}.allarme.liv-giallo{border-color:#f0d48a}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:500;padding:12px 18px;border-radius:10px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.2);max-width:90vw}
.toast.ok{background:var(--verde);color:#fff}.toast.ko{background:var(--rosso);color:#fff}.toast.codice{background:#2b2f30;color:#fff;font-size:18px}
.diritti-gruppo{display:block;width:100%;margin-top:4px}.form-scheda label.diritto{flex-basis:100%;color:var(--testo)}
td.cel small.ora-p{font-size:9px;font-weight:600;margin-left:1px;vertical-align:super}
.perm-parziale{border-top:1px solid var(--bordo);padding-top:6px;display:flex;flex-direction:column;gap:4px}
.perm-parziale label{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12.5px}.perm-parziale input{width:100px;padding:3px 6px}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* v1.20 — pulizie manuali, note chi esce / chi arriva, pulizie non terminate */
.popup{border:0;border-radius:12px;padding:18px 20px;max-width:560px;width:calc(100% - 32px);box-shadow:0 12px 40px rgba(0,0,0,.25)}
.popup::backdrop{background:rgba(20,30,40,.45)}
.popup h2{margin:0 0 10px}.popup fieldset{margin:10px 0}.popup textarea{width:100%}
.popup .tre{grid-template-columns:1fr 1fr 1fr}
.chips-istr{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}.chips-istr .chip{font-size:12px}
.nota-riga{display:block;font-size:11.5px;line-height:1.3;margin-top:2px;color:#444;white-space:normal}
.nota-out{color:#5b6470}.nota-in{color:#007a72}.nota-late{color:#b42318;font-weight:600}.nota-iniziata{color:#b54708;font-weight:600}
.pill.arancio{background:#fff0e0;color:#b54708}
.carta.c-iniziato{border-left-color:#f79009!important}
.carta.parziale{opacity:.75;background:repeating-linear-gradient(135deg,#fff,#fff 8px,#fff6ec 8px,#fff6ec 16px)}
tr.parziale td{background:#fff6ec}
.col-osp small{display:block}
.btn-piu{margin-left:auto}
details.non-finito{display:inline-block}details.non-finito[open]{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:6px}
details.non-finito summary{list-style:none;cursor:pointer}
.popup fieldset{min-width:0}.popup .tre{grid-template-columns:repeat(3,minmax(0,1fr))}.popup input,.popup select{min-width:0;max-width:100%;box-sizing:border-box}
.popup label{display:block}.popup .due{align-items:end}
@media (max-width:600px){.popup .tre{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v1.22 — composizione ospiti, divano letto, culla; note compatte */
.ico{width:15px;height:15px;vertical-align:-3px;flex:none}
.osp-blocco{display:flex;flex-direction:column;min-width:0;font-size:12px;line-height:1.25}
.osp-riga{display:flex;align-items:center;gap:3px;padding:2px 0;white-space:nowrap}
.osp-riga+.osp-riga{border-top:1px solid #e6e9ee}
.osp-lab{width:10px;font-weight:700;color:var(--muted)}.osp-in .osp-lab{color:#007a72}
.cmp{display:inline-flex;align-items:center;gap:1px}.cmp b{font-weight:700}.cmp.zero{opacity:.35}
.cmp .ico-ragazzo{width:13px;height:13px}.cmp .ico-neonato{width:13px;height:13px}
.osp-riga .sep{font-style:normal;color:#b8c0cc;margin:0 1px}
.osp-nt{color:var(--muted);margin-left:4px;font-size:11px}
.prep{display:inline-flex;align-items:center;gap:2px;background:#f0fdfc;color:#007a72;border-radius:6px;padding:1px 5px;font-size:12px}
.prep .ico{width:17px;height:17px}.prep-culla{background:#fdf0f6;color:#a3326b}
.prep-piu{border:1px dashed #b8c0cc;background:#fff;border-radius:6px;width:20px;height:18px;line-height:14px;padding:0;cursor:pointer;color:var(--muted);font-size:14px}
.prep-piu:hover{border-color:var(--blu2);color:var(--blu2)}
.osp-prep{gap:5px}
@media (min-width:641px){.testata-ass,.da-fare .riga-ass{grid-template-columns:16px 92px 86px minmax(100px,1.4fr) minmax(50px,.7fr) 42px 50px 104px 34px 46px 22px}
.da-fare .riga-ass{align-items:start}.da-fare .riga-ass>span{padding-top:2px}}
@media (max-width:640px){.da-fare .riga-ass{grid-template-areas:"m apt ore menu" "m tipo arr menu" "m stato stato menu" "m osp osp menu"}.da-fare .riga-ass .col-osp{display:block;grid-area:osp}}
.persona .riga-ass .col-osp{display:block;grid-area:osp;margin-top:2px}
.persona .riga-ass{grid-template-areas:"m apt ore menu" "m tipo arr menu" "m stato stato menu" "m osp osp menu"}
.note-chips{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}
.nchip{font-size:10.5px;padding:0 5px;border-radius:8px;background:#f1f3f6;color:#4a5462;cursor:pointer;white-space:nowrap;line-height:16px}
.nchip.nota-pulizia{background:#fff6db;color:#7a5a00}.nchip.nota-in{background:#ebf9f8;color:#007a72}.nchip.t-giallo{background:#fff6db}
.nota-estesa{display:none}
.note-estese .nota-estesa,.carta.note-aperte .nota-estesa{display:block}
.note-estese .note-chips,.carta.note-aperte .note-chips{display:none}
.popup .quattro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:6px 0}
@media (max-width:600px){.popup .quattro{grid-template-columns:repeat(2,minmax(0,1fr))}}
.popup label .ico{width:16px;height:16px;vertical-align:-3px}
.miei-osp .osp-blocco{font-size:15px}.miei-osp .ico{width:20px;height:20px}.miei-osp .prep .ico{width:24px;height:24px}

.riga-ass .col-osp{overflow:hidden}
/* v1.23 — Andamento pulizie */
.and-testa{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.and-testa h2{margin:0 8px 0 0}
.pill.blu{background:#ebf9f8;color:#007a72}
.tl{margin:4px 0 14px;overflow-x:auto}
.tl-riga,.tl-asse{display:grid;grid-template-columns:150px minmax(560px,1fr);align-items:center}
.tl-riga{border-top:1px solid #edf0f3}
.tl-nome{padding:6px 8px 6px 0;display:flex;flex-direction:column;line-height:1.2;font-size:13px}.tl-nome small{color:var(--muted);font-size:11.5px}
.tl-pista{position:relative;height:46px}
.tl-asse .tl-pista{height:22px}
.tl-asse i{position:absolute;top:2px;transform:translateX(-50%);font-style:normal;font-size:11px;color:var(--muted)}
.tl-griglia{position:absolute;top:0;bottom:0;border-left:1px dashed #e3e7ec}
.tl-fineturno{position:absolute;top:4px;bottom:4px;border-left:2px solid #c8ced8}
.tl-prev{position:absolute;top:6px;height:34px;border:1.5px dashed #b8c0cc;border-radius:6px;box-sizing:border-box}
.tl-spost{position:absolute;top:22px;height:2px;background:repeating-linear-gradient(90deg,#9aa6b5 0 4px,transparent 4px 7px)}
.tl-blocco{position:absolute;top:10px;height:26px;border-radius:5px;font-size:11px;line-height:26px;padding:0 5px;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#fff;cursor:default}
.tl-blocco.s-fatta{background:#2e9e5b}.tl-blocco.s-in_corso{background:#007a72;box-shadow:0 0 0 2px #c3f0ed}
.tl-blocco.s-da_fare{background:#e3e7ec;color:#3b4552}.tl-blocco.s-in_attesa{background:#f5c04a;color:#4a3700}.tl-blocco.s-parziale{background:#f79009}
.tl-blocco.rischio{outline:2px solid #d92d20;outline-offset:1px}
.tl-arrivo{position:absolute;top:-1px;transform:translateX(-50%);font-size:13px;color:#7b8794}.tl-arrivo.rischio{color:#d92d20}
.tl-ora{position:absolute;top:0;transform:translateX(-50%);background:#d92d20;color:#fff;font-size:10px;padding:0 4px;border-radius:4px}
.tl-ora-linea{position:absolute;top:0;bottom:0;border-left:2px solid #d92d20;opacity:.7}
.tl-legenda{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.tl-l{display:inline-block;width:16px;height:10px;border-radius:3px;vertical-align:middle}.tl-l.prev{border:1.5px dashed #b8c0cc}
.tl-l.s-fatta{background:#2e9e5b}.tl-l.s-in_corso{background:#007a72}.tl-l.s-da_fare{background:#e3e7ec}.tl-l.s-in_attesa{background:#f5c04a}.tl-l.s-parziale{background:#f79009}
.and-persona{margin-top:16px}.and-persona h3{margin:0 0 6px;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.and-spost-p{margin-left:auto}
table.and-tab{width:100%;border-collapse:collapse;font-size:13px}
table.and-tab th{font-size:11px;text-transform:uppercase;color:var(--muted);text-align:left;padding:4px 6px;border-bottom:1px solid var(--bordo)}
table.and-tab td{padding:5px 6px;border-bottom:1px solid #eef1f4;vertical-align:middle}
table.and-tab tr.rischio td{background:#fdecea}table.and-tab tr.s-fatta td{color:#4a5462}
table.and-tab input.ora{width:92px}table.and-tab input.mini{width:58px}table.and-tab small{display:block}
input.salvo{outline:2px solid #f5c04a}input.salvato{outline:2px solid #2e9e5b}
.t-verde{color:#2e9e5b}
details.tabella-completa>summary{cursor:pointer;padding:4px 0}details.tabella-completa[open]>summary{margin-bottom:10px}
details.tabella-completa section.sotto{margin-top:14px}
.btn-inizio{background:#007a72;color:#fff;border-color:#007a72}
@media (max-width:760px){.tl-riga,.tl-asse{grid-template-columns:90px minmax(520px,1fr)}.and-spost-p{margin-left:0}}

/* v1.24 — carta: etichetta sotto il nome, OUT/IN, interruttori divano/culla, istruzioni in giallo */
@media (min-width:641px){.testata-ass,.da-fare .riga-ass{grid-template-columns:14px minmax(118px,1.5fr) 74px minmax(40px,.5fr) 38px 46px 188px 30px 42px 20px;gap:5px}}
.testa-apt{white-space:nowrap}.testa-apt button{display:inline}
.riga-ass .col-apt .col-tipo{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;align-items:center;margin:2px 0 1px}
.persona .riga-ass{grid-template-columns:14px minmax(0,1fr) max-content 18px;grid-template-areas:"m apt ore menu" "m stato arr menu" "m osp osp menu"}
@media (max-width:640px){.da-fare .riga-ass{grid-template-columns:14px minmax(0,1fr) max-content 18px;grid-template-areas:"m apt ore menu" "m stato arr menu" "m osp osp menu"}.da-fare .riga-ass .col-stato{grid-area:stato}}
.persona .riga-ass .col-stato{grid-area:stato}
.osp-lab{width:auto;min-width:22px;font-size:9.5px;font-weight:800;letter-spacing:.03em;color:#fff;background:#8a96a5;border-radius:3px;padding:0 3px;text-align:center;margin-right:3px;line-height:14px}
.osp-out .osp-lab{background:#8a96a5;color:#fff}.osp-in .osp-lab{background:#007a72;color:#fff}
.cmp{color:#3b4552}.cmp .ico-adulto{width:16px;height:16px}.cmp .ico-ragazzo{width:15px;height:15px}.cmp .ico-neonato{width:16px;height:16px}
.prep-btns{display:inline-flex;gap:3px;margin-left:auto;padding-left:6px}
.prep-t{display:inline-flex;align-items:center;gap:1px;border:1px solid #dfe3e8;background:#fff;color:#c3c9d2;border-radius:5px;padding:0 3px;height:20px;cursor:pointer;font-size:11px}
.prep-t .ico{width:16px;height:16px}.prep-t b{font-weight:700}
.prep-t:hover{border-color:#9aa6b5;color:#8a96a5}
.prep-t.prep-divano.on{background:#ebf9f8;border-color:#a6ddd9;color:#007a72}
.prep-t.prep-culla.on{background:#fdf0f6;border-color:#e6a8c8;color:#a3326b}
.prep-t.manuale{box-shadow:inset 0 -2px 0 currentColor}
.prep-t.salvo{opacity:.5}
span.prep-t{cursor:default}
.nchip.nota-pulizia{background:#ffe58a;color:#5c4400;font-weight:600}
.nota-riga.nota-pulizia{background:#fff3bf;color:#5c4400;border-radius:4px;padding:2px 5px}
.menu-azioni .menu-principale{font-weight:700}.menu-azioni .menu-sez{display:block;margin-top:8px;padding-top:6px;border-top:1px solid var(--bordo);font-size:11px;text-transform:uppercase;color:var(--muted)}
.riga-ass .osp-blocco .ico{width:14px;height:14px}.riga-ass .prep-t .ico{width:15px;height:15px}.riga-ass .osp-lab{font-size:9px;min-width:20px;padding:0 2px}
.riga-ass .col-stato .pill{font-size:10.5px;padding:1px 5px;white-space:nowrap}
.nchip.nota-out{background:#e9ecf0;color:#4a5462}
.btn.pericolo{color:#b42318;border-color:#f1b4ae;margin-left:auto}.btn.pericolo:hover{background:#fdecea}
.popup .bottoni{display:flex;gap:8px;align-items:center}
.nchip.nota-serv{background:#e7f6ec;color:#1f7a45;white-space:normal}.nota-riga.nota-serv{color:#1f7a45}
/* v1.26 — Magazzino */
.tab-sezione{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 12px;border-bottom:1px solid var(--bordo)}
.tab-sezione a{padding:6px 12px;border-radius:8px 8px 0 0;color:var(--muted);text-decoration:none;font-size:14px}
.tab-sezione a.att{background:#fff;border:1px solid var(--bordo);border-bottom-color:#fff;margin-bottom:-1px;color:var(--testo,#20302f);font-weight:600}
table.tab-mag{width:100%;border-collapse:collapse;font-size:13.5px}
table.tab-mag th{font-size:11px;text-transform:uppercase;color:var(--muted);text-align:left;padding:6px;border-bottom:1px solid var(--bordo);white-space:nowrap}
table.tab-mag td{padding:6px;border-bottom:1px solid #eef1f4;vertical-align:top}
table.tab-mag .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.tab-mag tr.gruppo td{background:#f5f8f8;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#4a5462}
table.tab-mag tr.basso td{background:#fff6e6}table.tab-mag tr.default td{background:#f1faf4}table.tab-mag tr.proposto td{background:#f4fefd}
table.tab-mag tfoot td{border-top:2px solid var(--bordo)}
.chips-filtro a.chip{text-decoration:none;color:inherit}
details.mini-form{display:inline-block}details.mini-form[open]{display:block;margin-top:6px}
form.mini{background:#fafcfc;border:1px solid var(--bordo);border-radius:8px;padding:10px;margin:6px 0}
.quattro-col{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:640px){.quattro-col{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tot-borse{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px}.tot-borse span{white-space:nowrap}
.griglia-borse{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.borsa h3{margin:0 0 4px;font-size:16px}.borsa ul{margin:6px 0 0;padding-left:18px;font-size:13.5px;columns:2;column-gap:18px}.borsa li{break-inside:avoid}
.prodotti .chip-scelta.att{background:#007a72;color:#fff;border-color:#007a72}
@media print{.sidebar,.topbar,.no-stampa,.tab-sezione{display:none!important}.griglia-borse{grid-template-columns:repeat(2,1fr)}.card{break-inside:avoid;box-shadow:none}}
/* v1.27 — menu a gruppi */
.menu-titolo{display:block;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#98a2b3;padding:14px 12px 4px;list-style:none;cursor:default}
.sidebar nav>.menu-titolo:first-child{padding-top:4px}
details.menu-gruppo>summary.menu-titolo{cursor:pointer}details.menu-gruppo>summary::-webkit-details-marker{display:none}
details.menu-gruppo>summary.menu-titolo::after{content:" ▸";font-size:10px}details.menu-gruppo[open]>summary.menu-titolo::after{content:" ▾"}
.menu-voce{position:relative}
.menu-voce.con-sotto>a{padding-right:34px}
.menu-apri{position:absolute;right:4px;top:5px;width:26px;height:28px;border:0;background:none;border-radius:6px;color:#98a2b3;cursor:pointer;display:grid;place-items:center}
.menu-apri:hover{background:#eff4f4;color:var(--side-testo)}
.menu-apri .ico{width:16px!important;height:16px!important;transition:transform .15s}
.menu-voce.aperta>.menu-apri .ico{transform:rotate(90deg)}
.menu-voce>.sottomenu{display:none}.menu-voce.aperta>.sottomenu{display:flex}
.menu-voce.con-sotto>a .conta{margin-right:2px}
.riduci-menu{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;margin:2px 0;border:0;background:none;border-radius:8px;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
.riduci-menu:hover{background:#f2f4f7}.riduci-menu .ico{width:20px;height:20px}
@media (min-width:901px){
  body.menu-stretto{--side:68px}
  body.menu-stretto .sidebar .logo-testo,body.menu-stretto .sidebar nav a>span,body.menu-stretto .menu-titolo,body.menu-stretto .menu-apri,body.menu-stretto .sottomenu,
  body.menu-stretto .utente-nomi,body.menu-stretto .sidebar-piede a>span,body.menu-stretto .riduci-menu span{display:none!important}
  body.menu-stretto .sidebar nav a,body.menu-stretto .sidebar-piede a,body.menu-stretto .riduci-menu{justify-content:center;padding:10px 0}
  body.menu-stretto .sidebar .logo{padding:0;justify-content:center}
  body.menu-stretto .riduci-menu .ico{transform:rotate(180deg)}
  body.menu-stretto .sidebar nav a .conta{position:absolute;top:2px;right:6px;font-size:9.5px;padding:0 4px}
  body.menu-stretto .sidebar nav a{position:relative}
  body.menu-stretto details.menu-gruppo>*{display:block}
  body.menu-stretto .utente{justify-content:center;padding:6px 0}
}
.barra-mobile{display:none}
@media (max-width:900px){
  .barra-mobile{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:22;background:#fff;border-top:1px solid var(--bordo);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
  .barra-mobile a,.barra-mobile button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 2px;border:0;background:none;color:#667085;font:inherit;font-size:11px;text-decoration:none;position:relative;cursor:pointer}
  .barra-mobile .ico{width:23px;height:23px}
  .barra-mobile a.att{color:var(--accento);font-weight:600}
  .barra-mobile .conta{position:absolute;top:0;left:calc(50% + 6px);margin:0;font-size:10px;padding:0 5px}
  body.con-menu main{padding-bottom:76px}
  .ass-scegli{bottom:62px}
  .riduci-menu{display:none}
}
.chips-check{display:flex;flex-wrap:wrap;gap:6px 16px}.chips-check label{display:flex;gap:6px;align-items:baseline}
input.largo[type=search]{width:100%;max-width:520px;margin:0 0 10px}
.riga-form input.largo[type=search]{flex:1;margin:0}
/* v1.28 — borse del giorno */
.segmenti{display:inline-flex;border:1px solid var(--bordo);border-radius:8px;overflow:hidden}
.segmenti a{padding:7px 12px;font-size:13.5px;text-decoration:none;color:var(--side-testo);background:#fff}.segmenti a+a{border-left:1px solid var(--bordo)}
.segmenti a.att{background:var(--side-att);color:var(--accento);font-weight:600}
.op-giro{font-size:12.5px;color:#4a5462;margin-top:2px;display:flex;align-items:center;gap:5px}
.giro-n{display:inline-grid;place-items:center;min-width:22px;height:18px;padding:0 4px;border-radius:9px;background:#007a72;color:#fff;font-size:11px;font-weight:700}
table[data-ordinabile] th[data-ord]{cursor:pointer;user-select:none}table[data-ordinabile] th[data-ord]:hover{color:var(--accento)}
table[data-ordinabile] th.ord-att{color:var(--accento)}table[data-ordinabile] th[data-dir]:not([data-dir=""])::after{content:" " attr(data-dir);font-size:9px}
.tab-borse td{vertical-align:top}.tab-borse .cmp .ico{width:13px;height:13px}
.btn.wa{background:#25d366;border-color:#25d366;color:#fff}
.borsa{border:1px solid var(--bordo);border-radius:10px;padding:10px 12px;background:#fff}
@media print{.tab-borse .pill{border:1px solid #999}}
.flag-previsto{background:#fff6db;border:1px solid #f2d27a;border-radius:8px;padding:4px 8px}
.crono{white-space:nowrap}.crono-avvia{color:#1f7a45;border-color:#9fd8b5}.crono-ferma{color:#b42318;border-color:#f1b4ae}.crono-tempo{font-variant-numeric:tabular-nums;font-weight:700;color:#007a72}
/* v1.31 — Ospiti e porte */
table.tab-mag tr.gruppo.apt-tel td{text-transform:none;letter-spacing:0;font-weight:400;font-size:13.5px;color:var(--testo,#20302f);background:#f5fafa;border-top:2px solid #d7e4e3;padding:8px 8px}
.apt-tel-testa{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:12px;align-items:start}
.apt-nome{font-size:14.5px}
.apt-tel-osp{display:flex;flex-direction:column;gap:6px}
.osp-tel .osp-nome{font-size:14.5px}.osp-tel .osp-comp{margin-left:4px}.osp-det{color:#4a5462;margin-top:2px}
.tab-ospiti-porte td.porte-apt{white-space:nowrap}
@media (max-width:760px){.apt-tel-testa{grid-template-columns:1fr}}
.griglia-colleg{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}
.colleg h2{display:flex;gap:8px;align-items:center}.valore-fisso{display:block;padding:7px 10px;background:#f5f8f8;border-radius:6px;color:#4a5462;font-size:13px}
details.conferma{display:inline-block;margin-right:6px}details.conferma[open]{display:block;margin:6px 0}details.conferma summary{list-style:none}
.link-attivo{margin-top:3px;color:#1f7a45}.link-toast{max-width:420px}.link-toast input{margin:6px 0;font-size:12px}
/* v1.37 esterni, privacy, check-in */
.chips-giorno{display:inline-flex;gap:4px;flex-wrap:wrap}
.chips-giorno .chip{display:inline-block;padding:5px 12px;border:1px solid var(--bordo,#d9dde3);border-radius:16px;background:var(--card,#fff);color:inherit;text-decoration:none;font-size:.9em}
.chips-giorno .chip.on{background:#007a72;border-color:#007a72;color:#fff}
.filtro-giorno{gap:6px;flex-wrap:wrap;margin-bottom:8px}
.filtro-giorno input[type=date]{padding:5px 8px}
tr.ok-riga td{background:rgba(46,158,91,.07)}
.privacy h2{font-size:1.05em;margin-top:14px}
.privacy ul{padding-left:20px;line-height:1.5}
.privacy-box{margin:8px 0;padding:8px 10px;border:1px solid var(--bordo,#d9dde3);border-radius:8px;max-height:46vh;overflow:auto;font-size:.9em}
.privacy-box summary{cursor:pointer;font-weight:600}
.scelta-tipo{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:8px}
.nuova-persona .riga-form{margin-bottom:8px}
.nuova-persona .largo{min-width:min(100%,420px)}
.nuova-persona[data-tipo=interno] .solo-esterno,.nuova-persona[data-tipo=esterno] .solo-interno{display:none}
#nuova-persona[data-tipo=interno] .solo-esterno,#nuova-persona[data-tipo=esterno] .solo-interno{display:none}
.avviso-accesso{border-left:4px solid #d9822b}
.avviso-accesso.ok{border-left-color:#2e9e5b}
.avviso-accesso form{margin-top:6px}
.chips-arrivi{display:flex;flex-wrap:wrap;gap:6px}
.chip-arrivo{padding:4px 10px;border-radius:14px;background:#eef0f3;font-size:.9em}
.chip-arrivo.ok{background:#dff3e6;color:#1e7a45}
.login label.check,.privacy label.check{display:flex;flex-direction:row;gap:8px;align-items:flex-start;text-align:left}
.login label.check input,.privacy label.check input,.scelta-tipo input{width:auto;flex:0 0 auto;margin-top:3px}
.scelta-tipo label{display:flex;flex-direction:row;gap:6px;align-items:baseline;flex-wrap:wrap;font-weight:400;cursor:pointer;padding:8px 12px;border:1px solid var(--bordo);border-radius:8px}
.scelta-tipo label:has(input:checked){border-color:var(--accento);background:var(--side-att)}
/* v1.37b Persone e accessi */
.intro-persone{margin:-4px 0 12px}
.tab-persone{width:100%;border-collapse:collapse}
.tab-persone th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600;padding:8px 12px;border-bottom:1px solid var(--bordo)}
.tab-persone td{padding:14px 12px;border-bottom:1px solid var(--bordo);vertical-align:top}
.tab-persone tr:last-child td{border-bottom:0}
.tab-persone .nome{font-weight:700;font-size:15.5px;text-decoration:none}
.tab-persone .nome:hover{text-decoration:underline}
.tab-persone .contatti{display:flex;flex-direction:column;gap:2px;margin-top:4px;font-size:13px;color:var(--muted)}
.tab-persone .contatti span{white-space:nowrap}
.tab-persone .nota-breve{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}
.tab-persone .col-persona{min-width:190px}
.tab-persone .col-accesso{min-width:160px}
.tab-persone .col-accesso .pill{margin-bottom:3px}
.tab-persone th.col-az,.tab-persone td.col-az{width:1%;white-space:nowrap}
.invita{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.invita-lab{font-size:13px;color:var(--muted);margin-right:2px}
.az-secondarie{display:flex;gap:14px;align-items:center;margin-top:8px;font-size:12.5px}
.az-secondarie .btn-link{font-size:12.5px}
.btn-wa{background:#25d366;border-color:#25d366;color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.btn-wa:hover{background:#1ebe5a;border-color:#1ebe5a;color:#fff}
.btn-mail{display:inline-flex;align-items:center;gap:5px}
.ico-wa{width:16px;height:16px;flex:0 0 auto}
.btn.piccolo .ico-wa{width:14px;height:14px}
.info-tip{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--bordo);color:var(--muted);font:600 11px/1 Georgia,serif;font-style:italic;cursor:help;background:#fff}
.info-tip:hover::after,.info-tip:focus::after{content:attr(data-tip);position:absolute;right:0;top:calc(100% + 8px);width:300px;white-space:normal;background:#2b2f30;color:#fff;font:400 12.5px/1.45 system-ui,sans-serif;font-style:normal;padding:10px 12px;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.2);z-index:20;text-align:left;pointer-events:none}
.link-accesso .link-testa{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.link-accesso .link-testa p{margin:2px 0 0}
.link-accesso .copia-link{display:flex;gap:6px;margin-bottom:4px}
.link-accesso .copia-link input{flex:1;min-width:0;font-size:13px;color:var(--muted)}
.popup-azioni{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.popup-invito label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:13.5px;margin-top:8px}
.popup-invito label[hidden]{display:none}
.popup-nuova{max-width:640px}
.popup-nuova .scelta-tipo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.popup-nuova .scelta-tipo label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--bordo);border-radius:10px;cursor:pointer;font-weight:400}
.popup-nuova .scelta-tipo label span{display:flex;flex-direction:column;gap:2px}
.popup-nuova .scelta-tipo small{color:var(--muted);font-size:12.5px;line-height:1.35}
.popup-nuova .scelta-tipo label:has(input:checked){border-color:var(--accento);background:var(--side-att)}
.griglia-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.griglia-form label{display:flex;flex-direction:column;gap:4px;font-size:13.5px;font-weight:600;min-width:0}
.griglia-form label small{font-weight:400}
.griglia-form input,.griglia-form select,.griglia-form .cerca-input{width:100%}
.griglia-form .intera{grid-column:1/-1}
.nuova-persona[data-tipo=interno] .solo-esterno,.nuova-persona[data-tipo=esterno] .solo-interno{display:none}
@media (max-width:760px){
  .popup-nuova .scelta-tipo,.griglia-form{grid-template-columns:1fr}
  .tab-persone thead{display:none}
  .tab-persone tr{display:block;border-bottom:1px solid var(--bordo);padding:10px 0}
  .tab-persone td{display:block;border:0;padding:4px 4px}
  .tab-persone td.col-az{width:auto;white-space:normal}
  .info-tip:hover::after,.info-tip:focus::after{right:auto;left:-140px;width:260px}
}
.tab-persone .invita-lab{flex-basis:100%;margin:0 0 2px;font-size:12.5px}
.popup-nuova .scelta-tipo label{flex-wrap:nowrap}.popup-nuova .scelta-tipo input{margin-top:3px}
.tab-persone td.col-az{min-width:270px}
/* v1.38 Prodotti dei fornitori: prezzi modificabili */
.cerca-prodotti{width:100%;max-width:420px;margin-bottom:10px}
.tab-prezzi th small{font-weight:400;text-transform:none;letter-spacing:0}
.tab-prezzi th.ev,.tab-prezzi td.ev{background:#f0fdfc}
.tab-prezzi th.ev2,.tab-prezzi td.ev2{background:#f6f0ff}
.cella-prezzo{width:78px;text-align:right;border:1px solid transparent;background:transparent;padding:5px 6px;border-radius:6px;font-variant-numeric:tabular-nums;cursor:text}
.cella-prezzo:hover{border-color:var(--bordo);background:#fff}
.cella-prezzo:focus{border-color:var(--accento);background:#fff;outline:0;box-shadow:0 0 0 3px rgba(47,111,237,.15)}
.tab-prezzi td.ev .cella-prezzo,.tab-prezzi td.ev2 .cella-prezzo{font-weight:700}
.tab-prezzi tr.modificata td{background-image:linear-gradient(#fff8e1,#fff8e1)}
.tab-prezzi tr.salvataggio{opacity:.6}
.tab-prezzi tr.salvata td{background-image:linear-gradient(#e3f5e8,#e3f5e8);transition:background .4s}
.tab-prezzi tr.errore td{background-image:linear-gradient(#fde8e8,#fde8e8)}
.tab-prezzi tr.evidenzia td{box-shadow:inset 0 2px 0 var(--accento),inset 0 -2px 0 var(--accento)}
.tab-prezzi td.tip{position:relative}
.tab-prezzi td.tip:hover::after{content:attr(data-tip);position:absolute;right:0;bottom:calc(100% + 4px);width:250px;white-space:normal;background:#2b2f30;color:#fff;font:400 12.5px/1.45 system-ui,sans-serif;padding:8px 10px;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.2);z-index:20;text-align:left;pointer-events:none}
.tab-prezzi td.ultima{white-space:nowrap}
.tab-prezzi td{vertical-align:middle}
/* v1.39 Magazzino: grafica e icone */
.mag-ico{width:18px;height:18px;flex:0 0 auto;vertical-align:-4px}
.btn .mag-ico{width:16px;height:16px;margin-right:2px}
.btn.attivo{background:var(--side-att);border-color:#c1eeeb;color:var(--accento);font-weight:600}
.pill.viola{background:#efe9ff;color:#5b3fb8}.pill.viola .mag-ico{width:13px;height:13px;vertical-align:-2px}
.mag-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:0 0 16px}
.mag-tile{display:flex;align-items:center;gap:12px;background:var(--carta);border:1px solid var(--bordo);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
a.mag-tile:hover{border-color:#c1eeeb;box-shadow:0 2px 10px rgba(30,60,120,.07)}
.mag-tile.mag-allarme{border-color:#f3c3c3;background:#fffafa}
.mag-tile > span:last-child{display:flex;flex-direction:column;min-width:0}
.mag-tile b{font-size:20px;line-height:1.15}.mag-tile small{color:var(--muted);font-size:12.5px}
.mag-tile-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;flex:0 0 auto}
.mag-tile-ico .mag-ico{width:22px;height:22px}
.mag-tile-ico.blu{background:#edfcfb;color:#007a72}.mag-tile-ico.verde{background:var(--verde-bg);color:var(--verde)}.mag-tile-ico.rosso{background:var(--rosso-bg);color:var(--rosso)}
.mag-tile-ico.viola{background:#efe9ff;color:#5b3fb8}.mag-tile-ico.giallo{background:var(--giallo-bg);color:var(--giallo)}.mag-tile-ico.grigio{background:var(--grigio-bg);color:#4a5563}
.mag-filtri{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.mag-cat{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.mag-cat a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--bordo);border-radius:999px;background:#fff;color:var(--testo);text-decoration:none;font-size:13.5px}
.mag-cat a b{font-weight:600;color:var(--muted);font-size:12px;background:var(--grigio-bg);border-radius:10px;padding:0 6px}
.mag-cat a:hover{border-color:#a7e4e0}
.mag-cat a.on{background:var(--side-att);border-color:#c1eeeb;color:var(--accento);font-weight:600}
.mag-cat a.on b{background:#fff;color:var(--accento)}
.mag-cat a.da-ordinare{border-color:#f3c3c3;color:var(--rosso)}.mag-cat a.da-ordinare.on{background:var(--rosso-bg)}
.mag-cerca{width:260px;max-width:100%}
.mag-card{padding:4px 6px}
.tab-magazzino td{vertical-align:middle;padding-top:10px;padding-bottom:10px}
.tab-magazzino tr.gruppo td{background:#f7f8fa;font-weight:700;font-size:13px;padding:8px 10px;color:#3b4450}
.tab-magazzino tr.gruppo .cat-ico{width:24px;height:24px}
.cat-ico{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;flex:0 0 auto;vertical-align:middle}
.cat-ico .mag-ico{width:19px;height:19px}
.c-biancheria{background:#ebfcfb;color:#007a72}.c-pulizia{background:#e3f6f1;color:#0f8a6a}.c-cortesia{background:#fff1e3;color:#b8650f}
.c-ricarica{background:#e9f8f7;color:#007a72}.c-dotazione{background:#fbeaf3;color:#b3367a}.c-altro{background:var(--grigio-bg);color:#4a5563}
.col-art{display:flex;align-items:center;gap:10px;min-width:240px}
.art-testo{display:flex;flex-direction:column;min-width:0}.art-testo a{text-decoration:none}.art-testo a:hover{text-decoration:underline}
.art-testo small{font-size:12px;line-height:1.35}
.col-scorta{min-width:130px}
.barra-scorta{display:block;height:5px;border-radius:3px;background:#eceff3;margin-top:6px;overflow:hidden;width:110px}
.barra-scorta i{display:block;height:100%;border-radius:3px}
.barra-scorta i.verde{background:#2e9e5b}.barra-scorta i.giallo{background:#e0a21b}.barra-scorta i.rosso{background:#d64545}
.tab-magazzino b.giac{font-size:16px}
.tab-magazzino tr.st-esaurito td{background:#fff7f7}
.tab-magazzino tr.st-basso td{background:#fffbf0}
table.tab-mag.tab-magazzino tr.basso td{background:inherit}
.col-forn{min-width:170px}
.tab-magazzino .vuoto{text-align:center;padding:30px;color:var(--verde)}
input.inv-conta{width:80px;text-align:right;border:1px solid #c1eeeb;background:#f8fefe;color:var(--testo);font-size:14px;font-weight:600;padding:6px 8px;border-radius:7px;margin:0}
input.inv-conta:focus{outline:2px solid #a7e4e0;background:#fff}
input.inv-conta:not(:placeholder-shown){background:#fff7e0;border-color:#e0b84d}
.mag-inv-avviso{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.mag-inv-salva{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--bordo);padding:12px 10px;display:flex;gap:8px;align-items:center}
.mag-come{margin:4px 2px 18px}.mag-come summary{cursor:pointer}
@media (max-width:760px){
  .mag-kpi{grid-template-columns:1fr 1fr}.mag-tile{padding:10px}.mag-tile b{font-size:17px}.mag-tile-ico{width:36px;height:36px}
  .mag-cat{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.mag-cat a{white-space:nowrap}
  .mag-cerca{width:100%}
  .col-art{min-width:200px}
}
/* v1.39 scheda articolo */
.prod-assoc .assoc-frase{font-size:15.5px;margin:2px 0 12px}
.prod-default{border:1px solid #cfe6d7;background:#f6fbf8;border-radius:12px;padding:14px 16px}
.prod-testa{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.prod-nome{display:flex;flex-direction:column;min-width:0}
.prod-default .prod-nome > b{font-size:18px}
.prod-prezzi{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px}
.prod-prezzi > div{background:#fff;border:1px solid var(--bordo);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column}
.prod-prezzi small{color:var(--muted);font-size:11.5px}
.prod-prezzi b{font-size:17px;font-variant-numeric:tabular-nums}
.prod-prezzi > div:nth-child(1),.prod-prezzi > div:nth-child(3){background:#f0fdfc;border-color:#d9f6f4}
.prod-prezzi > div:nth-child(2),.prod-prezzi > div:nth-child(4){background:#f6f0ff;border-color:#e4d8fb}
.prod-prezzi .sec b{font-size:15px;color:#3b4450}
.alt-titolo{margin:18px 0 8px;font-size:14.5px}
.prod-alt{display:flex;flex-direction:column;border:1px solid var(--bordo);border-radius:10px;overflow:hidden}
.prod-alt-riga{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--bordo)}
.prod-alt-riga:first-child{border-top:0}
.alt-prezzo{display:flex;flex-direction:column;text-align:right}
.alt-az{display:flex;gap:12px;align-items:center;justify-content:flex-end}
.prod-agg{display:flex;gap:14px;align-items:center;margin:14px 0 2px}
.popup-prodotto{max-width:640px}
.art-griglia{align-items:start}
.borsa-box{padding:0}
.borsa-box > summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;cursor:pointer;list-style:none}
.borsa-box > summary::-webkit-details-marker{display:none}
.borsa-box > summary::after{content:'›';margin-left:auto;color:var(--muted);font-size:18px;transition:transform .15s}
.borsa-box[open] > summary::after{transform:rotate(90deg)}
.borsa-box > summary .cat-ico{width:28px;height:28px}
.borsa-box > summary span.muted{flex-basis:100%;padding-left:38px;margin-top:-6px}
.borsa-box[open] > :not(summary){margin-left:16px;margin-right:16px}
.borsa-box[open]{padding-bottom:12px}
@media (max-width:900px){.prod-prezzi{grid-template-columns:repeat(2,minmax(0,1fr))}.prod-alt-riga{grid-template-columns:1fr}.alt-prezzo{text-align:left}.alt-az{justify-content:flex-start}}
.borsa-box > summary{position:relative;padding-right:40px}
.borsa-box > summary::after{position:absolute;right:16px;top:12px;margin:0}
td.nowrap{white-space:nowrap}
/* v1.39.2 prezzo cadauno modificabile in Magazzino */
.cella-cad-td{position:relative;white-space:nowrap}
.cella-cad-td .euro-pre{color:var(--muted);font-size:13px;margin-right:2px}
.cella-cad{width:70px;text-align:right;border:1px dashed transparent;background:transparent;padding:4px 6px;border-radius:6px;font:inherit;font-variant-numeric:tabular-nums;cursor:text}
.cella-cad:hover{border-color:#a7e4e0;background:#fff}
.cella-cad:focus{border:1px solid var(--accento);background:#fff;outline:0;box-shadow:0 0 0 3px rgba(47,111,237,.15)}
.cella-cad-td .tip-prezzo{position:absolute;inset:0;pointer-events:none}
.cella-cad-td:hover .tip-prezzo::after{content:attr(data-tip);white-space:pre-line;position:absolute;right:0;bottom:calc(100% + 4px);width:300px;background:#2b2f30;color:#fff;font:400 12.5px/1.5 system-ui,sans-serif;padding:9px 11px;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.2);z-index:20;text-align:left}
.cella-cad-td:focus-within .tip-prezzo::after{display:none}
.cella-cad-td.salvataggio{opacity:.5}
.cella-cad-td.salvata{background:#e3f5e8 !important;transition:background .4s}
.cella-cad-td:hover .tip-prezzo::after{display:none}
.tip-flottante{position:fixed;z-index:200;width:300px;white-space:pre-line;background:#2b2f30;color:#fff;font:400 12.5px/1.5 system-ui,sans-serif;padding:9px 11px;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.2);pointer-events:none}
/* v1.40 Check-in e check-out */
.ico-porta{width:18px;height:18px;flex:0 0 auto;vertical-align:-4px}
.ci-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:8px}
.ci-tile{display:flex;align-items:center;gap:12px;background:var(--carta);border:1px solid var(--bordo);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit}
a.ci-tile:hover{border-color:#c1eeeb}
.ci-tile.allerta{border-color:#f3c3c3;background:#fffafa}
.ci-tile-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;font-size:18px;flex:0 0 auto}
.ci-tile-ico .ico-porta{width:22px;height:22px}
.ci-tile-ico.in{background:#e3f5e8;color:#1e7a3c}.ci-tile-ico.out{background:#edfcfb;color:#007a72}.ci-tile-ico.rit{background:var(--rosso-bg)}.ci-tile-ico.ok{background:var(--verde-bg);color:var(--verde)}
.ci-tile-testo{display:flex;flex-direction:column;flex:1;min-width:0}.ci-tile-testo b{font-size:20px;line-height:1.15}.ci-tile-testo small{color:var(--muted);font-size:12.5px}
.ci-prog{display:block;height:5px;background:#eceff3;border-radius:3px;margin-top:6px;overflow:hidden}.ci-prog i{display:block;height:100%;background:#2e9e5b;border-radius:3px}
.ci-come{margin:0 2px 12px}.ci-come summary{cursor:pointer}.ci-come .ico-porta{width:15px;height:15px}
.ci-sez{padding:12px 14px}.ci-sez h2{display:flex;align-items:center;gap:8px}
.ci-badge{font-size:11px;font-weight:700;letter-spacing:.04em;border-radius:5px;padding:2px 6px}.ci-badge.in{background:#e3f5e8;color:#1e7a3c}.ci-badge.out{background:#edfcfb;color:#007a72}
.ci-riga{display:grid;grid-template-columns:68px minmax(0,1fr) auto 190px;gap:14px;align-items:center;padding:12px 10px;border-top:1px solid var(--bordo);border-radius:8px}
.ci-sez h2 + .ci-riga{border-top:0}
.ci-riga.fatto{background:#f3fbf6}.ci-riga.ritardo{background:#fff7f7}
.ci-ora{display:flex;flex-direction:column;align-items:flex-start}.ci-ora b{font-size:18px;font-variant-numeric:tabular-nums}.ci-ora small{color:var(--muted);font-size:11.5px}
.ci-tit{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ci-tit a{text-decoration:none;font-size:15.5px}.ci-tit a:hover{text-decoration:underline}
.ci-ospite{color:#3b4450}
.ci-det{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:#4a5563;margin-top:3px}
.ci-det .tel{text-decoration:none;font-weight:600}
.ci-stato{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.ci-ok{display:inline-block;background:#dff3e6;color:#1e7a45;font-weight:700;border-radius:999px;padding:4px 12px;font-size:13.5px}
.ci-rit{color:var(--rosso);font-weight:600;font-size:12.5px}
.ci-stato small{font-size:11.5px;max-width:190px}
.porte-mini{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}
.btn-porta{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--bordo);background:#fff;color:#3b4450;cursor:pointer;padding:0;position:relative}
.btn-porta:hover:not(:disabled){border-color:var(--accento);color:var(--accento);background:#f4fefd}
.btn-porta.t-porta{color:#1e7a3c;border-color:#cfe6d7;background:#f6fbf8}
.btn-porta.t-portone{color:#007a72;border-color:#d9f6f4;background:#f6fefd}
.btn-porta.t-cancello{color:#5b3fb8;border-color:#e4d8fb;background:#faf7ff}
.btn-porta.t-cassaforte{color:#b8650f;border-color:#f3dcc0;background:#fffaf3}
.btn-porta:disabled{opacity:.5;cursor:not-allowed}
.btn-porta.batt-bassa::after{content:'';position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:#d64545;border:1.5px solid #fff}
.porta-log{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;color:var(--muted);border:1px dashed var(--bordo)}
.porta-log:hover{color:var(--accento);border-color:var(--accento)}
@media (max-width:860px){
  .ci-riga{grid-template-columns:56px minmax(0,1fr);row-gap:8px}
  .ci-porte{grid-column:2}.ci-stato{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
}
@media (max-width:760px){.ci-kpi{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ci-tile{flex-direction:column;align-items:flex-start;gap:6px;padding:8px}.ci-tile-ico{width:30px;height:30px;font-size:14px}.ci-tile-ico .ico-porta{width:17px;height:17px}.ci-tile-testo b{font-size:16px}.ci-tile-testo small{font-size:11px;line-height:1.2}}
/* v1.41 conferma apertura porta + Vedi come */
.popup-porta{max-width:440px}
.porta-testa{display:flex;gap:12px;align-items:flex-start}
.porta-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fff4d6;font-size:22px;flex:0 0 auto}
.porta-testa h2{margin:0 0 2px}.porta-nome{margin:0;font-weight:600}
.porta-motivo label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:13.5px;margin-top:10px}
.chips-motivo{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.chips-motivo .chip{cursor:pointer;font:inherit;font-size:12.5px}
.porta-traccia{background:#f5f8f8;border-radius:8px;padding:8px 10px;margin:12px 0 0;color:#3b4450}
.btn-apri-ok{background:#d9822b;border-color:#d9822b;color:#fff;font-weight:700}
.btn-apri-ok:disabled{opacity:.45;cursor:not-allowed}
.btn-porta.in-apertura,.btn-apri.in-apertura{opacity:.6;animation:pulsa 1s infinite}
@keyframes pulsa{50%{opacity:.3}}
.barra-vedi-come{position:sticky;top:var(--top,56px);z-index:25;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff4d6;border:1px solid #f0d58a;color:#6b4d00;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:14px}
.barra-vedi-come .btn{margin-left:auto;background:#6b4d00;border-color:#6b4d00;color:#fff;font-weight:600}
body:has(.barra-vedi-come) .sidebar{box-shadow:inset -4px 0 0 #f0d58a}
.screenshot-box{border:1px dashed #c1eeeb;background:#f8fefe;border-radius:10px;padding:12px;transition:background .3s}
.screenshot-box.incollato{background:#e3f5e8}
.screenshot-scegli{display:flex;flex-direction:column;gap:6px;font-weight:600}
.screenshot-box p{margin:6px 0 0}
.screenshot-anteprime{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ss-mini{position:relative;width:110px;height:80px;border-radius:8px;overflow:hidden;border:1px solid var(--bordo);background:#fff}
.ss-mini img{width:100%;height:100%;object-fit:cover}
.ss-mini button{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;line-height:1}
.rq-foto{margin-top:6px}.rq-foto img{max-height:90px}
/* v1.42 Scheda persona */
.torna{display:inline-block;margin:0 0 8px;color:var(--muted);text-decoration:none;font-size:13.5px}.torna:hover{color:var(--accento)}
.prof-testa{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 20px}
.prof-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;font-size:22px;font-weight:700;color:#fff;background:#6b7a90;flex:0 0 auto;letter-spacing:.02em}
.prof-avatar.g1{background:#00534d}.prof-avatar.g2{background:#007a72}.prof-avatar.g3{background:#5b3fb8}.prof-avatar.g4{background:#d9822b}.prof-avatar.g5,.prof-avatar.g6{background:#0f8a6a}.prof-avatar.g7{background:#b3367a}.prof-avatar.g0{background:#8a6100}
.prof-nome{flex:1;min-width:220px}.prof-nome h1{margin:0;font-size:24px}.prof-nome p{margin:2px 0 8px}
.prof-pill{display:flex;flex-wrap:wrap;gap:5px}
.prof-azioni{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.prof-griglia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.prof-griglia .card{margin:0}
.prof-box h2{display:flex;align-items:center;gap:8px;font-size:15.5px}
.prof-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f2f7f7;font-size:15px}
.prof-dati{display:grid;grid-template-columns:110px minmax(0,1fr);gap:7px 10px;margin:0;font-size:14px}
.prof-dati dt{color:var(--muted)}.prof-dati dd{margin:0;min-width:0;overflow-wrap:anywhere}
.prof-grande{font-size:16px;font-weight:600;margin:0 0 10px}
.agg-campo{font-size:13px;color:var(--muted);text-decoration:none;border-bottom:1px dashed #b9c2cf}.agg-campo:hover{color:var(--accento);border-color:var(--accento)}
.prof-numeri{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}
.prof-numeri div{background:#f7fbfa;border-radius:10px;padding:10px;display:flex;flex-direction:column}
.prof-numeri b{font-size:22px}.prof-numeri span{font-size:12px;color:var(--muted)}
.prof-mese{display:flex;align-items:center;gap:10px;margin-bottom:12px}.prof-mese h2{margin:0;min-width:150px;text-align:center}
.prof-kpi{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.prof-kpi div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;border:1px solid var(--bordo);border-radius:12px;padding:10px 12px}
.prof-kpi .ki{grid-row:1/3;font-size:20px;width:36px;height:36px;display:grid;place-items:center;background:#f5f8f8;border-radius:10px}
.prof-kpi b{font-size:19px;line-height:1.1}.prof-kpi small{color:var(--muted);font-size:12px;line-height:1.3}
.cal-legenda{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.cal-legenda .lg{border-radius:6px;padding:2px 8px;background:#f5f8f8;color:#3b4450}
.cal-legenda .lg.fatta{background:#e3f5e8;color:#1e7a3c}.cal-legenda .lg.dafare{background:#f0f9f9;color:#007a72}.cal-legenda .lg.sgl{box-shadow:inset 3px 0 0 #d64545}
.cal-sett{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:4px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-left:4px}
.cal-prof{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-prof .cal-vuoto{min-height:70px}
.cal-prof .cal-g{min-height:70px;border-radius:10px;padding:6px}
.cal-prof .cal-testa{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.cal-prof .cal-testa b{font-size:13px}
.cal-prof .cal-st{font-size:11px;font-weight:700;border-radius:5px;padding:0 6px;background:#fff}
.cal-prof .cal-apt{display:block;font-size:12px;border-radius:5px;padding:2px 6px;margin-top:3px;background:#f0f9f9;color:#007a72;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-prof .cal-apt.fatta{background:#e3f5e8;color:#1e7a3c}
.cal-prof .cal-apt.sg{box-shadow:inset 3px 0 0 #d64545}
.cal-prof .cal-nota{display:block;font-size:11px;margin-top:3px}
.prof-sotto{margin:18px 0 8px}
.prof-task{display:flex;flex-direction:column;border:1px solid var(--bordo);border-radius:10px;overflow:hidden}
.prof-task-riga{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-top:1px solid var(--bordo);color:inherit;text-decoration:none}
.prof-task-riga:first-child{border-top:0}.prof-task-riga:hover{background:#f8fbfb}
.prof-task-riga .tt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#modifica > summary{cursor:pointer;font-size:15.5px;padding:2px 0}
#modifica[open] > summary{margin-bottom:10px}
.form-scheda fieldset{border:1px solid var(--bordo);border-radius:10px;padding:12px 14px 14px;margin:0 0 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 14px;align-items:end}
.form-scheda legend{font-weight:700;padding:0 6px;font-size:14px}
.form-scheda fieldset > label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#3b4450}
.form-scheda fieldset input,.form-scheda fieldset select,.form-scheda fieldset textarea{width:100%}
.form-scheda fieldset > p,.form-scheda fieldset > .largo-campo,.form-scheda fieldset > label.check{grid-column:1/-1}
@media (max-width:1000px){.prof-griglia{grid-template-columns:1fr}.prof-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.prof-azioni{justify-content:flex-start}.cal-prof,.cal-sett{gap:3px}.cal-prof .cal-g{min-height:52px;padding:3px}.cal-prof .cal-apt{font-size:10px;padding:1px 3px}.prof-dati{grid-template-columns:95px 1fr}}
.form-scheda fieldset > label.check{flex-direction:row;align-items:center;gap:8px;font-size:13.5px;color:var(--testo)}
.form-scheda fieldset > label.check input{width:auto;flex:0 0 auto}
/* v1.42 Turni */
.turni-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 6px}
.turni-legenda{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12.5px;color:#3b4450}
.lg-voce{display:inline-flex;align-items:center;gap:5px}
.cella-es{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 4px;border-radius:5px;border:1px solid var(--bordo);background:#fff;font-size:11.5px;font-weight:700}
.cella-es.saldo.pos{color:var(--verde)}.cella-es.saldo.giusto{background:var(--giallo-bg);color:var(--giallo);border-color:transparent}.cella-es.saldo.neg{background:var(--rosso-bg);color:var(--rosso);border-color:transparent}
.lg-sep{width:1px;height:18px;background:var(--bordo)}
.turni-aiuto{margin:0 2px 10px}.turni-aiuto summary{cursor:pointer}.turni-aiuto p{margin:6px 0}
.turni-card{padding:6px}
table.turni tr.gruppo td{background:#eff5f5;color:#3b4450;border-left:3px solid #a5cbc8}
table.turni th.nome-turno{padding-left:8px}
.t-avatar{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:10px;font-weight:700;color:#fff;background:#6b7a90;margin-right:6px;vertical-align:middle}
.t-avatar.g1{background:#00534d}.t-avatar.g2{background:#007a72}.t-avatar.g3{background:#5b3fb8}.t-avatar.g4{background:#d9822b}.t-avatar.g5,.t-avatar.g6{background:#0f8a6a}.t-avatar.g7{background:#b3367a}
table.turni th.nome-turno small.qualifica{padding-left:28px}
table.turni td.cel{transition:background .1s}
table.turni tbody tr:hover th.fisso,table.turni tbody tr:hover td.cel:not([class*="sg-R"]):not([class*="sg-F"]):not([class*="sg-M"]):not([class*="sg-P"]){background:#f6fdfc}
table.turni tr.sez-copertura td{background:#00534d;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;height:22px;text-align:left;padding-left:10px}
table.turni tfoot tr:last-child td,table.turni tfoot tr:last-child th{border-top:2px solid #ccdcdb;height:34px}
.turni-strumenti{margin-top:14px}.turni-strumenti h2{font-size:15px}
.turni-strumenti .riga-azioni{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
/* v1.43 magazzini e consegne */
.mag-zone{display:inline-flex;border:1px solid var(--bordo);border-radius:999px;overflow:hidden;background:#fff}
.mag-zone a{padding:6px 14px;text-decoration:none;color:var(--testo);font-size:13.5px;border-left:1px solid var(--bordo)}.mag-zone a:first-child{border-left:0}
.mag-zone a.on{background:var(--blu2);color:#fff;font-weight:600}
.consegne-lista{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.consegna{display:grid;grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:center;border:1px solid var(--bordo);border-radius:12px;padding:10px 14px}
.consegna.urgente{border-color:#f0c36d;background:#fffaf0}.consegna.scaduta{border-color:#f3c3c3;background:#fff7f7}.consegna.fatta{border-color:#cfe6d7;background:#f6fbf8}
.cons-zona{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.cons-quando{display:flex;flex-direction:column}.cons-quando small{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.03em}
.cons-az{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.giri-form{min-width:min(720px,90vw);padding:10px;background:#fff;border:1px solid var(--bordo);border-radius:10px;margin-top:6px}
@media (max-width:900px){.consegna{grid-template-columns:1fr 1fr}.cons-az{grid-column:1/-1;justify-content:flex-start}}
/* v1.44 menu ⋯ prodotti */
.col-menu{width:1%;text-align:right}
.menu-tre{position:relative;display:inline-block}
.menu-tre > summary{list-style:none;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;font-size:18px;color:var(--muted);border:1px solid transparent}
.menu-tre > summary::-webkit-details-marker{display:none}
.menu-tre > summary:hover,.menu-tre[open] > summary{border-color:var(--bordo);background:#fff;color:var(--testo)}
.menu-tre-lista{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:200px;background:#fff;border:1px solid var(--bordo);border-radius:10px;box-shadow:0 10px 30px rgba(20,30,50,.14);padding:5px;display:flex;flex-direction:column}
.menu-tre-lista form{margin:0}
.menu-tre-lista button,.menu-tre-lista a{display:block;width:100%;text-align:left;border:0;background:none;font:inherit;font-size:13.5px;padding:8px 10px;border-radius:7px;color:var(--testo);text-decoration:none;cursor:pointer}
.menu-tre-lista button:hover,.menu-tre-lista a:hover{background:#f4fafa}
.menu-tre-lista .t-rosso{color:var(--rosso)}
.popup-prodotto label.check{flex-direction:row;align-items:center;font-weight:400}
.popup-prodotto label.check input{width:auto}
.popup-prodotto [hidden]{display:none}
/* v1.45 flusso acquisti, fornitori */
.flusso{background:#fbfefd;border:1px solid #def2f0;border-radius:12px;padding:10px 14px;margin:0 0 14px}
.flusso > summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.flusso > summary::-webkit-details-marker{display:none}
.flusso > summary > span{font-weight:700;color:var(--blu2);white-space:nowrap}
.flusso:not([open]) > summary small{display:none}
.flusso-schema{display:flex;align-items:stretch;gap:6px;margin:12px 0 8px;flex-wrap:wrap}
.flusso-passo{flex:1;min-width:150px;display:flex;flex-direction:column;gap:2px;border:1px solid var(--bordo);background:#fff;border-radius:10px;padding:10px 12px;text-decoration:none;color:inherit}
.flusso-passo .fi{font-size:20px}.flusso-passo small{color:var(--muted);font-size:12px}
.flusso-passo:hover{border-color:#a7e4e0}
.flusso-passo.qui{border-color:var(--accento);background:var(--side-att);box-shadow:0 0 0 2px rgba(47,111,237,.12)}
.flusso-freccia{align-self:center;color:#9aa6b5;font-size:18px}
.flusso-esempio{margin:6px 0 0;font-size:13px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cosa-fare{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 14px;font-size:13.5px}
.cosa-fare a,.cosa-fare button{border:1px dashed #bededc;border-radius:999px;padding:6px 12px;background:#fff;text-decoration:none;color:var(--testo);font:inherit;cursor:pointer}
.cosa-fare a:hover,.cosa-fare button:hover{border-style:solid;border-color:var(--accento);color:var(--accento)}
.tab-fornitori td{vertical-align:middle}
.forn-nome{font-weight:700;font-size:15px;text-decoration:none}.forn-nome:hover{text-decoration:underline}
.cat-cella{cursor:pointer;white-space:nowrap}.cat-cella .matita{opacity:0;color:var(--muted);font-size:12px;transition:opacity .15s}
.cat-cella:hover .matita{opacity:1}.cat-cella:hover .cat-val{border-bottom:1px dashed #9aa6b5}
.cat-cella.salvata{background:#e3f5e8}
.cat-input{width:170px;padding:5px 8px}
.contatti-azioni{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0}
.chip-contatto{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--bordo);border-radius:999px;padding:2px 9px;background:#fff;text-decoration:none;color:var(--testo);font-size:12.5px}
.chip-contatto:hover{border-color:var(--accento);color:var(--accento)}
.chip-contatto.wa{color:#1ebe5a;border-color:#bfe8cf}.chip-contatto .ico-wa{width:14px;height:14px}
.btn.wa{background:#25d366;border-color:#25d366;color:#fff;display:inline-flex;align-items:center;gap:6px}
.popup-fornitore{max-width:640px}
@media (max-width:760px){.flusso-freccia{display:none}.flusso-passo{min-width:calc(50% - 6px)}}
/* v1.46 Accoglienza */
.semafori{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}
.sem{display:inline-flex;align-items:center;gap:3px;border-radius:7px;padding:1px 6px;font-size:12px;border:1px solid transparent}
.sem.ok{background:#e3f5e8;border-color:#cfe6d7}.sem.no{background:#fde8e8;border-color:#f3c3c3;filter:saturate(.7)}
.sem-link{font-size:12px;margin-left:4px}
.acc-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:8px}
.acc-kpi div{border:1px solid var(--bordo);background:#fff;border-radius:12px;padding:10px 14px;display:flex;flex-direction:column}
.acc-kpi div.allerta{border-color:#f3c3c3;background:#fffafa}.acc-kpi b{font-size:22px}.acc-kpi span{font-size:12.5px;color:var(--muted)}
.acc-giorno{font-size:15px;margin:16px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--bordo)}.acc-giorno:first-child{margin-top:0}
.acc-riga{display:grid;grid-template-columns:minmax(0,1fr) 210px auto;gap:12px;align-items:center;padding:10px 8px;border-radius:10px}
.acc-riga + .acc-riga{border-top:1px solid #eef0f3}
.acc-riga.fare-invia,.acc-riga.fare-promemoria{background:#fff8ec}.acc-riga.st-appuntamento,.acc-riga.st-accolto{background:#f3fbf6}.acc-riga.fare-self{background:#fffbe6}
.acc-sem{margin-top:5px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.acc-nota{margin-top:4px;color:#3b4450}
.acc-stato{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.acc-az{display:flex;gap:6px;align-items:center}
.acc-app input{width:96px;padding:5px 6px}
.acc-nota-form{display:flex;flex-direction:column;gap:4px;padding:6px 4px;border-top:1px solid var(--bordo);margin-top:4px}
.acc-nota-form input{width:100%}
.popup-acc{max-width:620px}.popup-acc textarea{width:100%;font-size:13.5px;line-height:1.45}
.acc-lingue{display:flex;gap:6px;margin-bottom:8px}.acc-lingue .chip{cursor:pointer;font:inherit}.acc-lingue .chip.on{background:var(--blu2);color:#fff;border-color:var(--blu2)}
.acc-modelli summary{cursor:pointer}.acc-modelli textarea{width:100%;font-size:13px}
@media (max-width:860px){.acc-kpi{grid-template-columns:1fr 1fr}.acc-riga{grid-template-columns:1fr}.acc-az{flex-wrap:wrap}}
.ci-prossimo{margin-top:5px;font-size:12.5px;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;padding:4px 8px;border-radius:7px;background:#f7fafa;width:fit-content;max-width:100%}
.ci-prossimo.oggi{background:#fff1f1;border:1px solid #f3c3c3}.ci-prossimo.oggi > b:first-child{color:var(--rosso)}
/* v1.47b Partenze più ordinate */
.pt-testa,.pt-riga{display:grid;grid-template-columns:62px minmax(0,1fr) minmax(0,1fr) 170px 150px;gap:14px;align-items:center}
.pt-testa{padding:0 10px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--bordo)}
.pt-riga{padding:10px;border-bottom:1px solid #eef0f3}
.pt-riga:last-child{border-bottom:0}
.pt-riga.fatto{background:linear-gradient(90deg,#f3fbf6,transparent 60%)}
.pt-riga.ritardo{background:linear-gradient(90deg,#fff3f3,transparent 60%)}
.pt-ora{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.pt-ora b{font-size:17px;font-variant-numeric:tabular-nums}
.pt-apt{font-weight:700;font-size:15px;text-decoration:none;color:var(--blu2)}.pt-apt:hover{text-decoration:underline}
.pt-nome{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-det{font-size:12px;color:var(--muted)}.pt-det a{text-decoration:none}
.pt-entra{border-left:3px solid #e3e7ee;padding:4px 0 4px 12px;min-height:44px;display:flex;flex-direction:column;justify-content:center}
.pt-entra.oggi{border-left-color:#e05252;background:#fff6f6;border-radius:0 8px 8px 0}
.pt-entra.vuoto{color:var(--muted);font-size:13px}
.pt-quando{display:flex;gap:6px;align-items:center;font-size:12.5px;margin-bottom:1px}
.pt-porte{display:flex;justify-content:flex-start}
.porta-nessuna{display:inline-grid;place-items:center;width:34px;height:34px;color:#c3c9d2}
.pt-stato{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.pt-annulla{font-size:11.5px;color:var(--muted)}
@media (max-width:980px){.pt-testa{display:none}.pt-riga{grid-template-columns:56px minmax(0,1fr) minmax(0,1fr);row-gap:8px}.pt-porte{grid-column:2}.pt-stato{grid-column:3;align-items:flex-end}}
@media (max-width:620px){.pt-riga{grid-template-columns:50px minmax(0,1fr)}.pt-entra,.pt-porte,.pt-stato{grid-column:2}.pt-stato{align-items:flex-start;flex-direction:row;gap:8px}}
/* v1.48 finestra di attesa */
.attesa-velo{position:fixed;inset:0;z-index:1000;background:rgba(20,30,45,.45);display:grid;place-items:center;padding:16px;animation:attesaIn .15s ease-out}
.attesa-card{background:#fff;border-radius:16px;padding:26px 28px;max-width:420px;width:100%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.attesa-card h2{margin:14px 0 6px;font-size:18px}
.attesa-info{color:#3b4450;margin:0 0 12px;font-size:14px}
.attesa-tempo{color:var(--muted);font-size:13px;margin:0}
.attesa-nota{color:var(--giallo);font-size:13px;margin:8px 0 0;min-height:1em}
.attesa-spinner{width:42px;height:42px;margin:0 auto;border-radius:50%;border:4px solid #e5f4f3;border-top-color:var(--accento,#007a72);animation:gira .9s linear infinite}
.esito-sync{background:#f6fbf8;border:1px solid #cfe6d7;border-radius:10px;padding:10px 14px;margin:10px 0}
.esito-sync ul{margin:6px 0 0;padding-left:18px}
@keyframes gira{to{transform:rotate(360deg)}}
@keyframes attesaIn{from{opacity:0}to{opacity:1}}
body.in-attesa{cursor:progress}
/* v1.49 Accoglienza: colonne, Chekin, tooltip */
.tip-flottante.tt{width:auto;max-width:320px;white-space:normal}
.conta[data-tt]{cursor:help}
.acc-testa,.acc-riga{display:grid;grid-template-columns:70px minmax(0,1.3fr) minmax(0,1.2fr) 180px auto;gap:14px;align-items:center}
.acc-testa{padding:0 10px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--bordo)}
.acc-testa span[data-tt]{cursor:help;text-decoration:underline dotted #b9c2cf}
.acc-riga{padding:10px;border-radius:0}
.acc-ora{display:flex;flex-direction:column;cursor:help}.acc-ora b{font-size:17px;font-variant-numeric:tabular-nums}.acc-ora small{font-size:11px;color:var(--muted)}
.acc-info .pt-nome{display:flex;gap:6px;align-items:center}.pill.lingua{font-size:10px;padding:0 6px;cursor:help}
.acc-chk{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.chk{display:inline-flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.chk-azione{font-size:12.5px;font-weight:700;border-radius:7px;padding:3px 9px;cursor:help}
.chk-urgente .chk-azione{background:#fde8e8;color:var(--rosso)}
.chk-attenzione .chk-azione{background:var(--giallo-bg);color:var(--giallo)}
.chk-ok .chk-azione{background:#e3f5e8;color:var(--verde)}
.chk-nd .chk-azione{background:var(--grigio-bg);color:var(--muted);font-weight:500}
.chk-icone{display:inline-flex;gap:3px}
.sem{cursor:help}.sem.att{background:var(--giallo-bg);border-color:#f0d58a}.sem.na{background:#f1f3f6;border-color:#e3e7ee;opacity:.75}
.acc-sollecita{font-size:12.5px;font-weight:600;color:var(--blu2);text-decoration:none}
.acc-fare{font-size:12px;font-weight:700;color:var(--rosso)}.acc-fare.giallo{color:var(--giallo)}
.acc-stato .pill{cursor:help}
.acc-come{margin:0 2px 10px}.acc-come summary{cursor:pointer}
@media (max-width:1000px){.acc-testa{display:none}.acc-riga{grid-template-columns:60px minmax(0,1fr) minmax(0,1fr);row-gap:8px}.acc-stato{grid-column:2}.acc-az{grid-column:3}}
@media (max-width:620px){.acc-riga{grid-template-columns:52px minmax(0,1fr)}.acc-chk,.acc-stato,.acc-az{grid-column:2}}
/* v1.50 accoglienza: filtri rapidi e stato annullabile */
.acc-filtri{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.acc-filtri a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--bordo);border-radius:999px;background:#fff;color:var(--testo);text-decoration:none;font-size:13.5px}
.acc-filtri a b{font-weight:600;color:var(--muted);font-size:12px;background:var(--grigio-bg);border-radius:10px;padding:0 6px}
.acc-filtri a:hover{border-color:#a7e4e0}
.acc-filtri a.on{background:var(--side-att);border-color:#c1eeeb;color:var(--accento);font-weight:600}
button.pill-annulla{border:0;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
button.pill-annulla .x{opacity:0;transition:opacity .15s;font-size:12px}
button.pill-annulla:hover{filter:brightness(.95);box-shadow:0 0 0 1px currentColor inset}
button.pill-annulla:hover .x{opacity:1}
.chk-impilato{flex-direction:column;align-items:flex-start;gap:5px}
.chk-impilato .chk-riga{display:inline-flex;align-items:center;gap:6px}
/* v1.52 pausa notifiche e voci "in arrivo" */
.pausa-notifiche{margin:2px 0}
.pausa-notifiche>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;color:var(--side-testo);font-size:14.5px;font-weight:500;cursor:pointer}
.pausa-notifiche>summary::-webkit-details-marker{display:none}
.pausa-notifiche>summary:hover{background:#f2f4f7}
.pausa-notifiche>summary small{display:block;font-size:12px;font-weight:500;color:var(--muted)}
.pausa-notifiche.attiva>summary{background:var(--giallo-bg);color:var(--giallo)}
.pausa-menu{display:flex;flex-direction:column;gap:3px;margin:4px 0 6px 36px}
.pausa-menu button{text-align:left;background:#fff;border:1px solid var(--bordo);border-radius:7px;padding:6px 10px;font:inherit;font-size:13px;cursor:pointer;color:var(--testo)}
.pausa-menu button:hover{border-color:#a7e4e0;background:#f8fefe}
.pausa-menu .riattiva{background:var(--side-att);border-color:#c1eeeb;color:var(--accento);font-weight:600}
.pausa-sep{font-size:11.5px;color:var(--muted);margin:4px 0 0}
.menu-off .voce-off{display:flex;align-items:center;gap:12px;padding:9px 12px;margin:2px 0;border-radius:8px;color:#a3aab5;font-size:14.5px;font-weight:500;cursor:not-allowed}
.menu-off .voce-off small{margin-left:auto;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;background:var(--grigio-bg);border-radius:6px;padding:1px 6px}
@media (min-width:901px){body.menu-stretto .pausa-notifiche>summary>span,body.menu-stretto .voce-off>span,body.menu-stretto .voce-off small,body.menu-stretto .pausa-menu{display:none!important}body.menu-stretto .pausa-notifiche>summary,body.menu-stretto .voce-off{justify-content:center;padding:10px 0}}
/* v1.54 magazzino: ultimo inventario, inventario per zona, articoli eliminati */
.mag-ult-inv{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);margin:2px 0 10px}
.mag-ult-inv b{color:var(--testo)}
.mag-ult-inv.mai{color:var(--giallo)}
.mag-ult-inv svg,.mag-ult-inv .ico{width:16px;height:16px}
.btn-tendina>summary.btn{width:auto;height:auto;display:inline-flex;font-size:inherit;color:inherit;border:1px solid var(--bordo)}
.mag-contato{color:var(--verde)!important;cursor:help}
.tab-magazzino .col-menu{width:36px;text-align:right}
.mag-eliminati{margin-top:14px}
.mag-eliminati summary{cursor:pointer;font-weight:600}
.mag-eliminati ul{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:6px}
.mag-eliminati li{display:flex;align-items:center;gap:8px}
.mag-eliminati li form{margin:0 0 0 auto}
/* v1.54 check-in di oggi: arrivi a colonne come le partenze */
.ar-apt{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ar-chk{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.ar-chk a.pill{text-decoration:none}
@media (max-width:980px){.ar-riga .ar-chk{grid-column:3}.ar-riga .pt-porte{grid-column:2}}
@media (max-width:620px){.ar-riga .ar-chk{grid-column:2}}
/* v1.56 tabellone: pulsante messaggio · agenda accoglienze (telefono) */
.ar-chk .ar-msg{margin-top:2px}
.ag-lista{margin:0 0 16px}
.ag-lista h2{font-size:17px;margin:6px 0 10px}
.ag-altri>summary{list-style:none;cursor:pointer}.ag-altri>summary::-webkit-details-marker{display:none}
.ag-altri>summary h2::before{content:'▸ ';color:var(--muted)}.ag-altri[open]>summary h2::before{content:'▾ '}
.ag-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;background:#fff;border:1px solid var(--bordo);border-radius:12px;padding:12px;margin-bottom:10px}
.ag-card.fatto{background:#f3fbf6;border-color:#cfe9d8}
.ag-ora{display:flex;flex-direction:column}.ag-ora b{font-size:22px;font-variant-numeric:tabular-nums}.ag-ora small{font-size:11px;color:var(--muted)}
.ag-corpo{display:flex;flex-direction:column;gap:6px;min-width:0}
.ag-apt{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ag-apt a{font-weight:700;font-size:16px;color:var(--blu2);text-decoration:none}
.ag-ind{font-size:13.5px;text-decoration:none}
.ag-ospite{font-size:14.5px}
.ag-nota{font-size:13px;background:var(--giallo-bg);border-radius:7px;padding:4px 8px}
.ag-azioni{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:2px}
.ag-azioni .btn{padding:9px 14px}
@media (max-width:620px){.ag-card{grid-template-columns:52px minmax(0,1fr);padding:10px}.ag-ora b{font-size:19px}.ag-azioni .btn{flex:1;justify-content:center}}
.ar-acc{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ar-chk .ar-msg{margin-top:0}
.ag-card{grid-template-columns:76px minmax(0,1fr)}
.ag-ora small{font-size:10.5px}
@media (max-width:620px){.ag-card{grid-template-columns:70px minmax(0,1fr)}}
/* v1.57 serrature: abbinamento a più appartamenti */
.serrature-tab .apt-multi .pill.nuovo{outline:2px dashed #a7e4e0;outline-offset:1px}
.serrature-tab tr.modificata{background:#fffbea}
.altri-dettagli label small{display:block;font-weight:400;font-size:12px;margin-top:3px}
/* v1.61 scheda appartamento */
.nav-apt-etichetta{font-size:13px;font-weight:600;color:var(--muted);margin-right:2px}
.nav-apt-altro{display:inline-flex;align-items:center}
.nav-apt-altro>summary{list-style:none;cursor:pointer}.nav-apt-altro>summary::-webkit-details-marker{display:none}
.nav-apt-altro[open]{display:flex;gap:6px;flex-wrap:wrap}
.nav-apt-altro .nav-apt-form{margin-left:6px}
.nav-apt-vai{margin-left:auto;min-width:240px}
.apt-testa{align-items:center}
.apt-titolo{display:flex;flex-direction:column;gap:2px}.apt-titolo h1{margin:0}
.apt-titolo a{color:inherit}
.apt-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 14px}
.apt-tile{background:#fff;border:1px solid var(--bordo);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:3px;text-decoration:none;color:inherit;min-width:0}
.apt-tile small{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.apt-tile b{font-size:17px}
.apt-tile.occ{border-color:#c1eeeb;background:#f6fefd}
.apt-tile.task{border-color:#f0d58a;background:#fffbea}
.apt-griglia{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:start}
.apt-col{display:flex;flex-direction:column;gap:14px}.apt-col .card{margin:0}
.apt-col h2{margin-top:0}
.apt-pren tr.in-casa{background:#f6fefd}
.apt-pren .nowrap{white-space:nowrap}
.apt-scheda{margin-top:14px}
.apt-scheda>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.apt-scheda>summary::-webkit-details-marker{display:none}
.apt-scheda>summary h2{margin:0}
.apt-scheda[open]>summary{margin-bottom:12px}
@media (max-width:1000px){.apt-kpi{grid-template-columns:1fr 1fr}.apt-griglia{grid-template-columns:1fr}.nav-apt-vai{margin-left:0;width:100%}}
.nav-apt-vai{display:flex;align-items:center;gap:6px}.nav-apt-vai .cerca-box{flex:1}
/* v1.63 allarmi serrature: emergenze e routine */
.all-kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 10px}
.all-kpi>div{background:#fff;border:1px solid var(--bordo);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column}
.all-kpi b{font-size:24px}.all-kpi span{font-size:13px;color:var(--muted)}
.all-kpi .allerta{border-color:#f3b4b4;background:#fff5f5}.all-kpi .allerta b{color:var(--rosso)}
.all-sez h2{font-size:17px}
.all-em{display:flex;flex-direction:column;gap:8px}
.all-riga{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.all-pin{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:14px;background:#fff;border:1px solid #f1d0d0;border-radius:10px;padding:10px 12px}
.pin-errato{font-size:16px;font-weight:700;background:#fde8e8;color:var(--rosso);border-radius:6px;padding:2px 8px;letter-spacing:.08em;display:inline-block;margin:2px 4px 2px 0}
.all-osp{margin:2px 0}
.all-consiglio{background:var(--giallo-bg);border-radius:8px;padding:6px 10px;margin:0}
.all-routine>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.all-routine>summary::-webkit-details-marker{display:none}.all-routine>summary h2{margin:0}
.all-routine>summary h2::before{content:'▸ ';color:var(--muted)}.all-routine[open]>summary h2::before{content:'▾ '}
.all-tutti{margin-top:8px;text-align:right}
@media (max-width:700px){.all-kpi{grid-template-columns:1fr}.all-pin{grid-template-columns:1fr}}
.all-em{text-align:left;align-items:stretch}.all-em .all-pin{justify-self:stretch}.all-em .all-gestito{align-self:flex-start}
/* v1.64 codici da adeguare */
.cod-extra>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.cod-extra>summary::-webkit-details-marker{display:none}.cod-extra>summary h2{margin:0;font-size:17px}
.cod-lista{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:8px}
.cod-lista li{padding:8px 10px;border:1px solid var(--bordo);border-radius:10px;background:#fff}
.cod-lista li.fatto{background:#f3fbf6;opacity:.8}
.cod-quando{font-weight:600}
/* v1.65 regole kit e borse */
.reg-tipi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 12px}
.reg-tipi>div{background:#fff;border:1px solid var(--bordo);border-radius:10px;padding:8px 12px;font-size:13px;color:var(--muted)}
.reg-tipi .pill{margin-bottom:4px}
.reg-sim-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.reg-sim-form label{display:flex;flex-direction:column;font-size:12.5px;gap:3px}
.reg-sim-form input[type=number]{width:74px}
.reg-sim-form label.check{flex-direction:row;align-items:center}
.reg-sim-ris{margin-top:12px;background:#f8fefe;border:1px solid #e0f7f6;border-radius:10px;padding:10px 12px}
.reg-sim-lista{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.reg-chip{background:#fff;border:1px solid var(--bordo);border-radius:999px;padding:3px 10px;font-size:13px}
.reg-celle{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.reg-regola{display:inline-flex;align-items:center;gap:2px;background:#f6f7f9;border-radius:8px;padding:2px 4px 2px 8px}
.reg-regola .btn-link{text-decoration:none;color:var(--testo)}
.reg-regola .btn-link:hover{color:var(--accento)}
tr.reg-vuota td{opacity:.65}
.reg-frase{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px;font-size:15px}
.reg-frase input{width:80px}
.reg-min{display:flex;gap:6px}
.reg-anteprima{background:#f3fbf6;border-radius:8px;padding:6px 10px;min-height:1em}
@media (max-width:800px){.reg-tipi{grid-template-columns:1fr}}
.reg-tipo-col{white-space:nowrap}#tab-regole td:nth-child(2) .pill{white-space:nowrap}
/* v1.70 «Come funziona»: link grigio discreto, pannello neutro */
.guida{margin:-4px 0 12px}
.guida>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);padding:2px 0}
.guida>summary::-webkit-details-marker{display:none}
.guida>summary:hover{color:var(--testo)}
.guida-ico{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;border:1.5px solid currentColor;font-size:11px;font-weight:700;line-height:1}
.guida[open]{background:#f7f8fa;border:1px solid var(--bordo);border-radius:10px;padding:8px 14px 10px}
.guida-tit{margin:6px 0 2px;font-weight:600;font-size:14px;color:var(--testo)}
.guida-punti{list-style:none;margin:6px 0 4px;padding:0;display:flex;flex-direction:column;gap:5px}
.guida-punti li{position:relative;padding-left:14px;font-size:13.5px;line-height:1.4;color:#4a5260}
.guida-punti li::before{content:'';position:absolute;left:2px;top:.55em;width:5px;height:5px;border-radius:50%;background:#aab2bf}
.guida-punti b{color:var(--testo);font-weight:600}
.guida .guida-ok{font-size:12.5px;color:var(--muted)}
/* v1.68 listino: sconto fisso, IVA a richiesta */
.listino-opz{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 8px}
.tab-prezzi.senza-iva .ev2{display:none}
.tab-prezzi th.sc{background:#f6f2ff}
.tab-prezzi td.sc input{background:#fbf9ff}
.tab-prezzi tr.con-sconto td.sc input{border-color:#c9b6f2;color:#5b3fa8;font-weight:600}
.sconto-doppio{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sconto-doppio input{width:80px}
.pagato-anteprima{color:var(--verde)!important;font-weight:600}
.t-viola{color:#6b46c1}
/* v1.69 prezzi: prima il cadauno, poi confezione e IVA */
.pp{display:flex;flex-direction:column;gap:3px;padding:10px 4px 2px}
.pp-cad{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pp-cad b{font-size:26px;letter-spacing:-.01em}
.pp-cad>span{color:var(--muted);font-size:13px}
.pp-cad .pp-sconto{color:#6b46c1;background:#f6f2ff;border-radius:999px;padding:1px 10px;font-size:12.5px}
.pp-op{font-size:14px;color:var(--testo)}
.pp-op.pp-iva{color:var(--muted);font-size:13px}
.pp-vuoto{padding:10px 4px;color:var(--muted)}
.prod-alt-riga .alt-prezzo{display:flex;flex-direction:column;gap:1px}
.tab-prezzi td.ev input{font-weight:700}
/* v1.71 previsione: consumo, ordini in arrivo e giacenza prevista (stimata) */
.tab-prev td.prev-g{vertical-align:top;line-height:1.25;padding-top:6px;padding-bottom:6px}
.tab-prev .prev-c{display:block;color:var(--testo)}
.tab-prev .prev-a,.prev-legenda .prev-a{display:inline-block;color:#1f7a3d;background:#e3f5e8;border-radius:6px;padding:0 5px;font-weight:700;font-size:12px;margin:1px 0}
.prev-a.bozza{background:#fff;border:1px dashed #6bb47f;color:#2f8a4c}
.tab-prev .prev-r,.prev-legenda .prev-r{display:block;margin-top:2px;background:#fff8d9;color:#7a5d00;border-radius:5px;padding:0 4px;font-size:11.5px}
.prev-legenda .prev-r,.prev-legenda .prev-c{display:inline-block}
.tab-prev td.prev-g.neg .prev-r{background:#fde2e2;color:var(--rosso);font-weight:700}
.tab-prev td.prev-g.basso .prev-r{background:#ffe8b3}
.tab-prev td.prev-fine{background:#fffbea}
.prev-legenda{color:var(--muted);margin:0 0 8px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.tab-prev th.prev-notte,.tab-prev td.prev-notte{background:#f2f9f8;border-left:1px dashed #cadddc;border-right:1px dashed #cadddc}.tab-prev th.prev-notte{color:#3f5a57;cursor:help}
/* v1.73 inventario pezzi / confezioni */
.inv-doppio{display:flex;flex-direction:column;gap:3px;align-items:flex-end}
.inv-doppio label{display:flex;align-items:center;gap:4px;white-space:nowrap}
.inv-doppio small{color:var(--muted);font-size:11px;min-width:46px;text-align:left}
input.inv-conf{width:70px;text-align:right;border:1px solid #d7dce4;background:#fff;border-radius:7px;padding:5px 7px;font-size:13px;color:var(--testo)}
input.inv-conf:not(:placeholder-shown){background:#fff7e0;border-color:#e0b84d}
.giro-fascia input{width:70px}
/* v1.74 tooltip più morbidi: fondo chiaro, bordo sottile, testo scuro */
.tip-flottante,.info-tip:hover::after,.info-tip:focus::after,.tab-prezzi td.tip:hover::after,.cella-cad-td:hover .tip-prezzo::after{
  background:#fff!important;color:#2b3340!important;border:1px solid #e1e5ec;border-radius:10px!important;
  box-shadow:0 8px 24px rgba(30,41,59,.12),0 1px 3px rgba(30,41,59,.08)!important;font-size:13px!important;line-height:1.5!important;padding:9px 12px!important}
.tip-flottante.tt{white-space:pre-line;max-width:340px}
.tab-prev .prev-niente{color:#b8bfca}

/* v1.75: giacenza a una data + storico (pannello laterale) */
.mag-data{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px}
.mag-data.nel-passato{background:#f6f2fd;border-color:#ddd0f5}
.mag-data-et{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.mag-data-et .ico,.mag-data-et svg{width:18px;height:18px}
.mag-data input[type=date]{padding:6px 8px}
.mag-data .btn.disabilitato{opacity:.35;pointer-events:none}
.giac-btn{background:none;border:0;padding:2px 4px;margin:-2px -4px;border-radius:6px;cursor:pointer;font:inherit;color:inherit}
.giac-btn:hover{background:#eff7f6}
.pill-rett{border:1px solid #e1e5ec;background:#f5f8f8;color:#4a5568;border-radius:999px;font-size:11px;padding:1px 8px;cursor:pointer;margin-top:3px;font-family:inherit}
.pill-rett:hover{background:#eaf2f1}
.inv-quando{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.inv-quando label{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.inv-quando small{flex-basis:100%}
dialog.cassetto{margin:0 0 0 auto;height:100vh;max-height:100vh;width:min(440px,100vw);max-width:100vw;border:0;padding:18px 18px 28px;box-shadow:-8px 0 30px rgba(20,30,40,.18);overflow:auto;background:#fff;color:#2b3340}
dialog.cassetto::backdrop{background:rgba(20,30,40,.25)}
.cassetto-carica{padding:40px 0;text-align:center;color:#8a94a3}
.cassetto-testa{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.cassetto-testa h2{margin:2px 0 0;font-size:20px}
.cassetto-x{background:none;border:0;font-size:24px;line-height:1;cursor:pointer;color:#5b6575;padding:2px 6px;border-radius:6px}
.cassetto-x:hover{background:#f0f2f5}
.cassetto-zona{margin:18px 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:#5b6575}
.cassetto-box{border:1px solid #e1e5ec;border-radius:10px;padding:10px 14px;margin-bottom:12px;display:block}
.cassetto-box>small.muted,.cassetto-box summary small{display:block;font-size:11px;margin-bottom:4px}
.cassetto-box summary{cursor:pointer;list-style:none}
.cb-riga{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;border-top:1px solid #eef0f4}
.cassetto-box>small+.cb-riga,.cassetto-box summary+.cb-riga{border-top:0}
.cb-riga>span{display:flex;flex-direction:column}
.cb-riga>span small,.cb-rett small{color:#8a94a3;font-size:11.5px;margin-top:2px}
.cb-riga b{white-space:nowrap}
.cb-forte b{font-size:15px}
.cb-ico{display:inline-block;width:20px;text-align:center}
.cassetto-tot .cb-riga{border:0;font-weight:700;font-size:15px}
.cassetto-tot{background:#fafcfc}
.cb-rett{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid #eef0f4}
.cassetto-box>small+.cb-rett{border-top:0}
.cb-rett>div{flex:1;display:flex;flex-direction:column}
.cb-rett.cb-attuale b{color:#006b64}
.cb-rett form{margin:0}
.link-piccolo{background:none;border:0;color:#8a94a3;font-size:11.5px;text-decoration:underline;cursor:pointer;padding:0}
.link-piccolo:hover{color:#c0392b}
.cb-mov{font-size:13px}
.cassetto-piede{margin-top:6px}
.cb-riga>span{display:block}.cb-riga>span small{display:block;margin-left:24px}
.cb-rett>div{display:block}.cb-rett small{display:block}
.cassetto-box summary::before{content:'▸ ';color:#8a94a3}.cassetto-box[open] summary::before{content:'▾ '}
.cassetto-box summary small{display:inline}
/* v1.77 — inventario comodo da telefono («modalità conta») */
.inv-passo{display:none}
.inv-uguale{display:block;margin:3px 0 0 auto;border:0;background:none;padding:0;color:var(--accento);font:inherit;font-size:11.5px;cursor:pointer}
.inv-uguale:hover{text-decoration:underline}
.inv-contati{color:var(--muted);font-size:13.5px;margin-right:auto}
.inv-contati b{color:var(--testo)}
.mag-cat .inv-da-contare{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px dashed #c1eeeb;border-radius:999px;background:#fff;color:var(--accento);font:inherit;font-size:13.5px;cursor:pointer}
.mag-cat .inv-da-contare b{font-weight:600;font-size:12px;background:var(--side-att);border-radius:10px;padding:0 6px}
.mag-cat .inv-da-contare[aria-pressed=true]{background:var(--side-att);border-style:solid;font-weight:600}
.inv-modo tr.contato td{background:#f1faf4}
.inv-modo tr.inv-nascosto,.inv-modo tr.gruppo.inv-nascosto{display:none!important}
.inv-bozza{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#f0fdfc;border:1px solid #c1eeeb;border-radius:10px;padding:9px 12px;margin-bottom:10px;font-size:14px}
.inv-bozza button{border:0;background:none;color:var(--rosso);font:inherit;font-size:13.5px;cursor:pointer;padding:0;margin-left:auto}
@media (max-width:900px){
  body.in-inventario .barra-mobile{display:none}
  body.in-inventario.con-menu main{padding-bottom:10px}
  .pag-inv .mag-inv-salva{position:sticky;bottom:0;z-index:16;margin:0 -16px -14px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 14px rgba(20,30,50,.08);border-radius:0 0 10px 10px}
}
@media (max-width:760px){
  .pag-inv .mag-kpi,.pag-inv .cosa-fare,.pag-inv .mag-data,.pag-inv .mag-ult-inv,.pag-inv .no-inv,.pag-inv .inv-spiega,.pag-inv .mag-inv-avviso>svg{display:none!important}
  .pag-inv .barra{flex-wrap:wrap;gap:8px}.pag-inv .barra h1{font-size:18px;margin:0}
  .pag-inv .mag-inv-avviso{padding:8px 12px;font-size:14px;margin-bottom:8px}
  .pag-inv .inv-quando{margin-top:6px}.pag-inv .inv-quando input,.pag-inv .inv-quando select{font-size:16px}
  .pag-inv .mag-filtri{position:sticky;top:var(--top);z-index:15;background:var(--sfondo);margin:0 -10px 8px;padding:6px 10px;gap:6px;flex-direction:column;align-items:stretch}
  .pag-inv .mag-filtri>*{min-width:0;max-width:100%}
  .pag-inv .mag-cat{flex:none;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .pag-inv .mag-cat::-webkit-scrollbar{display:none}
  .pag-inv .mag-cat a,.pag-inv .mag-cat .inv-da-contare{flex:none;white-space:nowrap;padding:8px 12px}
  .pag-inv .mag-cerca{width:100%;font-size:16px}
  .pag-inv .mag-card{padding:0;overflow:visible}
  .pag-inv .tabella-wrap{overflow:visible}
  .inv-modo table.tab-magazzino,.inv-modo .tab-magazzino tbody{display:block}
  .inv-modo .tab-magazzino thead{display:none}
  .inv-modo .tab-magazzino tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"art conta" "giac conta";gap:2px 10px;align-items:center;padding:10px 12px;border-bottom:1px solid #eef1f4}
  .inv-modo .tab-magazzino tr>td{display:none;border:0;padding:0;background:none!important}
  .inv-modo .tab-magazzino tr.contato{background:#f1faf4}
  .inv-modo .tab-magazzino tr.gruppo{display:block;padding:0;background:#f7f8fa;border-bottom:1px solid var(--bordo)}
  .inv-modo .tab-magazzino tr.gruppo>td{display:block;padding:9px 12px;font-size:12.5px}
  .inv-modo .tab-magazzino td:first-child{display:block;grid-area:art}
  .inv-modo .tab-magazzino .col-art .cat-ico{display:none}
  .inv-modo .tab-magazzino .art-testo b{font-size:16px}
  .inv-modo .tab-magazzino .art-testo small{display:none}
  .inv-modo .tab-magazzino td.col-giac{display:flex;grid-area:giac;align-items:center;gap:8px;flex-wrap:wrap;text-align:left;font-size:13px;color:var(--muted)}
  .inv-modo .tab-magazzino td.col-giac br{display:none}
  .inv-modo .tab-magazzino td.col-giac .giac-btn::before{content:"in gestionale ";color:var(--muted);font-weight:400}
  .inv-modo .tab-magazzino td.col-giac .giac{font-weight:600}
  .inv-modo .inv-uguale{display:inline;margin:0;font-size:13px;padding:4px 0}
  .inv-modo .tab-magazzino td.col-conta{display:block;grid-area:conta}
  .inv-modo .inv-doppio{gap:6px}
  .inv-modo .inv-riga-pz{gap:0!important}
  .inv-modo .inv-passo{display:inline-grid;place-items:center;width:40px;height:44px;border:1px solid #c1eeeb;background:#f8fefe;color:var(--accento);font:inherit;font-size:22px;line-height:1;cursor:pointer;padding:0;touch-action:manipulation}
  .inv-modo .inv-passo[data-passo="-1"]{border-radius:9px 0 0 9px;border-right:0}
  .inv-modo .inv-passo[data-passo="1"]{border-radius:0 9px 9px 0;border-left:0;margin-right:6px}
  .inv-modo input.inv-conta{width:64px;height:44px;font-size:18px;border-radius:0;text-align:center;padding:4px}
  .inv-modo input.inv-conf{width:64px;height:38px;font-size:16px;text-align:center}
  .inv-modo .inv-doppio small{min-width:0;font-size:11.5px}
  .pag-inv .mag-inv-salva{margin:0;border-radius:0}
  .pag-inv .mag-inv-salva .btn.grande{flex:1;justify-content:center}
  .pag-inv .inv-contati{flex-basis:100%;margin:0 0 2px}
}
@media (max-width:760px){
  .flusso > summary > span{white-space:normal}
  .pag-inv .flusso{display:none}
  .pag-inv .inv-quando label{max-width:100%;min-width:0}.pag-inv .inv-quando select{max-width:100%;min-width:0}
  .pag-inv .mag-inv-avviso>span{min-width:0}
}
@media (max-width:760px){
  .pag-inv{display:flex;flex-direction:column}
  .pag-inv>.barra{order:-3}.pag-inv>.mag-inv-avviso{order:-2}.pag-inv>.inv-bozza{order:-1}
  .pag-inv .guida,.pag-inv .tab-sezione,.pag-inv .mag-zone{display:none!important}
  .pag-inv .barra{flex-wrap:nowrap;align-items:center;margin-bottom:8px}
  .pag-inv .barra .btn{padding:7px 10px;font-size:13.5px;white-space:nowrap}
  .pag-inv .mag-inv-avviso{display:block;padding:8px 12px}
  .pag-inv .inv-quando{flex-wrap:nowrap;gap:6px;margin-top:6px}
  .pag-inv .inv-quando label:first-child{flex:none}
  .pag-inv .inv-quando label:first-child input{width:140px;padding:5px 6px}
  .pag-inv .inv-quando label:nth-child(2){flex:1}.pag-inv .inv-quando select{width:100%;padding:5px 6px}
  .pag-inv .inv-altro{font-size:13.5px}.pag-inv .inv-altro br{display:none}
  .pag-inv .inv-altro{display:block;margin-top:6px}
  .pag-inv .mag-inv-salva{flex-wrap:wrap}
  .pag-inv .mag-inv-salva .btn{white-space:nowrap}
}
@media (max-width:760px){.inv-modo input.inv-conta::placeholder,.inv-modo input.inv-conf::placeholder{color:#c3cad4;font-weight:400}}
/* v1.78 — grafica GesTuris: logo e verde acqua del marchio (v1.80: tolto il carattere del logo, si usa quello di sistema) */
:root{--marca:#00a89d;--marca-forte:#007a72;--marca-tinta:#e5f6f5}
.vis-nascosto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline-color:var(--marca-forte)}
/* logo nel menu */
.sidebar .logo{gap:10px}
.sidebar .logo .logo-segno{width:30px;height:30px;background:none;border-radius:0;flex:none}
.sidebar .logo-testo{display:grid;gap:3px;overflow:visible}
.logo-nome{font-size:19px;font-weight:700;color:var(--testo);line-height:1;letter-spacing:-.01em}
.sidebar .logo-testo small,.logo-mobile small,.login-marca small{font-size:9.5px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--marca-forte);line-height:1}
.logo-mobile{align-items:center;gap:8px}
.logo-mobile img{height:22px;width:auto;display:block}
.logo-mobile .logo-nome{font-size:16px}
@media (max-width:900px){.logo-mobile{display:flex!important}}
@media (max-width:380px){.logo-mobile small{display:none}}
/* accesso: logo con la riga verde acqua sotto, come sull'insegna */
.login-marca{display:grid;justify-items:center;gap:16px;margin:8px 0 26px}
.login-logo{display:flex;align-items:center;gap:12px}
.login-logo img{height:44px;width:auto}
.login-logo .logo-nome{font-size:34px}
.riga-firma{display:block;width:min(260px,100%);height:8px;border-radius:999px;background:var(--marca)}
.login-marca small{font-size:11px;color:var(--muted)}
/* voce attiva del menu e pulsanti */
.sidebar nav a.attiva,.sidebar nav .attiva>a{box-shadow:inset 3px 0 0 var(--marca)}
/* v1.81 — ordine: prezzi IVA inclusa / esclusa, nuovo prodotto dall'ordine */
.modo-iva{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.segmenti label{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13.5px;cursor:pointer;background:#fff;margin:0}
.segmenti label+label{border-left:1px solid var(--bordo)}
.segmenti label input{margin:0}
.segmenti label:has(input:checked){background:var(--marca-tinta);color:var(--marca-forte);font-weight:600}
.cella-prezzo-iva{white-space:nowrap}
.sel-iva{font-size:12px;padding:3px 4px;margin-left:4px;width:auto;color:var(--muted)}
.iva-altro{display:block;font-size:11.5px;margin-top:2px}
.tot-lordo td{border-top:0;padding-top:0;font-size:13px}
.cerca-lista div.crea{color:var(--marca-forte);font-weight:600;border-top:1px solid var(--bordo);border-radius:0 0 6px 6px;margin-top:2px}
#dlg-nuovo-prodotto{width:min(640px,96vw)}
#dlg-nuovo-prodotto form>label{display:block;margin:0 0 8px}
#dlg-nuovo-prodotto input:not([type=checkbox]),#dlg-nuovo-prodotto select{width:100%}
.np-art{border:1px solid var(--bordo);border-radius:8px;padding:8px 12px}
.np-art legend{font-weight:700;padding:0 6px;font-size:14px}
.np-art [data-scegli-art]{display:flex;gap:10px;align-items:center}.np-art [data-scegli-art] .cerca-box{flex:1}
.riga-iva{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:4px 0}
.riga-iva label:not(.check){display:flex;align-items:center;gap:6px}.riga-iva select{width:auto!important}
.riga-iva [data-np-netto]{font-weight:600;color:var(--marca-forte)}
/* v1.83 — ordini: stati, filtri, menu */
.filtri-ordini{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.chips-stato{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chips-stato .sep{width:1px;height:20px;background:var(--bordo);margin:0 4px}
.chip-stato,.chip-preset{border:1px solid var(--bordo);background:#fff;border-radius:16px;padding:4px 11px;font:inherit;font-size:13px;cursor:pointer;color:var(--muted);display:inline-flex;gap:5px;align-items:center}
.chip-stato b{font-weight:600;color:inherit;opacity:.8}
.chip-stato:hover,.chip-preset:hover{border-color:var(--marca-forte)}
.chip-preset.on{background:var(--marca-tinta);border-color:var(--marca);color:var(--marca-forte);font-weight:600}
.chip-stato.on{color:var(--testo);font-weight:600;border-color:#9aa4ae}
.chip-stato.on.st-blu{background:#ebf9f8;color:#007a72;border-color:#9fdcd7}
.chip-stato.on.st-rosso{background:var(--rosso-bg);color:var(--rosso);border-color:#f0b4b4}
.chip-stato.on.st-giallo{background:var(--giallo-bg);color:var(--giallo);border-color:#ecd38a}
.chip-stato.on.st-verde{background:var(--verde-bg);color:var(--verde);border-color:#a9dcb8}
.chip-stato.on.st-grigio{background:var(--grigio-bg);color:#3b4450}
.filtri-altri{display:flex;flex-wrap:wrap;gap:8px}.filtri-altri select{width:auto}.filtri-altri input[type=search]{flex:1;min-width:200px;max-width:340px}
.tab-ordini tr.st-annullato td{color:#9aa1a9}
.tab-ordini tr.st-annullato td:not(:last-child):not(:nth-last-child(2)){text-decoration:line-through}
.tab-ordini tr.st-annullato a{color:#9aa1a9}
.tab-ordini tr.st-annullato .pill{background:#eef0f2;color:#8a929b}
.tab-ordini tr.st-ritardo td:first-child{box-shadow:inset 3px 0 0 var(--rosso)}
.pill-btn{border:0;background:none;padding:0;cursor:pointer}.pill-btn:hover .pill{filter:brightness(.96);outline:1px solid var(--bordo)}
.tab-ordini .col-menu{width:36px;text-align:right}
.menu-nota{display:block;font-size:12px;color:var(--muted);padding:6px 10px;max-width:230px}
.consegna-prevista{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.consegna-prevista input[type=date]{width:auto}
.storico-ordine ul{margin:0;padding-left:18px}.storico-ordine li{margin:3px 0;font-size:13.5px}
@media (max-width:760px){.tab-ordini th:nth-child(2),.tab-ordini td:nth-child(2),.tab-ordini th:nth-child(4),.tab-ordini td:nth-child(4),.tab-ordini th:nth-child(5),.tab-ordini td:nth-child(5){display:none}.tab-ordini td,.tab-ordini th{padding-left:4px;padding-right:4px}.filtri-altri input[type=search]{max-width:none}}
.cod-tipo{font-size:11px;color:#9aa1a9;border:1px solid var(--bordo);border-radius:5px;padding:0 4px;margin-left:4px;font-variant-numeric:tabular-nums}
/* v1.86 — pagine di accesso: due colonne, a sinistra il marchio */
main:has(> .accesso){padding:0!important;margin:0!important;max-width:none!important}
main:has(> .accesso) > .flash{position:fixed;top:16px;right:16px;z-index:20;max-width:420px;box-shadow:0 10px 30px rgba(20,30,50,.12)}
.accesso{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;min-height:100dvh;background:#f7f6f2}
.acc-lato{position:relative;overflow:hidden;color:#fff;padding:44px 48px;display:flex;flex-direction:column;
  background:radial-gradient(120% 80% at 85% 0%,#14b3a7 0%,rgba(20,179,167,0) 55%),radial-gradient(90% 70% at 0% 100%,#006d66 0%,rgba(0,109,102,0) 60%),linear-gradient(160deg,#00a89d 0%,#008a81 55%,#007168 100%)}
.acc-marca{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.acc-marca img{width:40px;height:auto}
.acc-marca span{display:grid;gap:3px;line-height:1}.acc-marca b{font-size:21px;letter-spacing:-.01em}
.acc-marca small{font-size:9.5px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;opacity:.8}
.acc-messaggio{margin:auto 0;max-width:470px;position:relative;z-index:1}
.acc-occhiello{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.75;margin:0 0 14px}
.acc-messaggio h2{font-size:clamp(28px,3vw,40px);line-height:1.12;letter-spacing:-.02em;margin:0 0 16px;padding-left:18px;border-left:2px solid rgba(255,255,255,.45);color:#fff}
.acc-desc{font-size:16px;line-height:1.55;opacity:.85;margin:0 0 28px 20px;max-width:380px}
.acc-punti{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.acc-punti li{display:flex;align-items:center;gap:12px;font-size:14.5px;opacity:.95}
.acc-punti span{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:none}
.acc-punti svg{width:12px;height:12px}
.acc-piede{font-size:12px;opacity:.6;margin:0;position:relative;z-index:1}
.acc-filigrana{position:absolute;right:-90px;bottom:-110px;width:520px;max-width:none;opacity:.09;pointer-events:none}
.acc-form{display:grid;place-items:center;padding:40px 24px}
.acc-colonna{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center}
.acc-form.acc-largo .acc-colonna{max-width:470px}
.acc-badge{font-size:12px;font-weight:600;color:var(--marca-forte);background:var(--marca-tinta);border:1px solid #bfe8e4;border-radius:999px;padding:5px 13px;margin-bottom:16px}
.acc-card{width:100%;background:#fff;border:1px solid #e7e5df;border-radius:18px;padding:30px 28px 24px;box-shadow:0 1px 2px rgba(20,30,50,.04),0 18px 40px -18px rgba(20,30,50,.18)}
.accesso .login{max-width:none;margin:0}
.acc-card h1{font-size:26px;letter-spacing:-.02em;margin:0 0 4px}
.acc-sotto{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.5}
.acc-card label{display:block;font-size:13.5px;font-weight:600;margin:0 0 14px}
.acc-card input:not([type=checkbox]){display:block;width:100%;margin-top:6px;height:44px;border-radius:10px;font-size:15px;padding:0 13px;border:1px solid #d9dde3;background:#fbfbfa;box-sizing:border-box}
.acc-card input:focus{background:#fff;border-color:var(--marca);outline:0;box-shadow:0 0 0 3px rgba(0,168,157,.15)}
.campo-pw{position:relative;display:block}.campo-pw input{padding-right:46px!important}
.mostra-pw{position:absolute;right:6px;top:50%;transform:translateY(-50%);margin-top:3px;width:34px;height:34px;border:0;background:none;border-radius:8px;color:#8a929b;cursor:pointer;display:grid;place-items:center}
.mostra-pw svg{width:19px;height:19px}.mostra-pw:hover,.mostra-pw.on{color:var(--marca-forte);background:var(--marca-tinta)}
.acc-entra{width:100%;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:15.5px;margin-top:6px;
  background:linear-gradient(90deg,#007a72,#006c7a);border:0;box-shadow:0 8px 18px -8px rgba(0,122,114,.7)}
.acc-entra svg{width:18px;height:18px}.acc-entra:hover{filter:brightness(1.06)}
.acc-link{display:block;text-align:center;margin-top:16px;font-size:13.5px;color:var(--marca-forte);font-weight:500;text-decoration:none}.acc-link:hover{text-decoration:underline}
.acc-errore{background:var(--rosso-bg);color:var(--rosso);border-radius:10px;padding:9px 12px;font-size:13.5px;margin:0 0 14px}
.acc-info{background:var(--marca-tinta);color:var(--marca-forte);border-radius:10px;padding:9px 12px;font-size:13.5px;margin:0 0 14px}
.acc-nota{font-size:12.5px;color:var(--muted);margin:16px 0 0;text-align:center}
.acc-card label.check{display:flex;gap:8px;align-items:center;font-weight:500;color:#3b4450}
.acc-card label.check input{width:auto;height:auto;margin:0}
.campo-codice input{font-size:22px!important;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}
.acc-alternative{display:grid;gap:6px;margin-top:12px;justify-items:center}.acc-alternative .btn-link{font-size:13.5px}
.qr-passi{padding-left:20px;margin:0 0 10px;font-size:13.5px;line-height:1.5;color:#3b4450}.qr-passi li{margin:4px 0}
.qr-box{display:grid;justify-items:center;gap:8px;text-align:center;margin:6px 0 14px}
.qr{width:190px;height:190px;padding:8px;background:#fff;border:1px solid var(--bordo);border-radius:12px}.qr svg{width:100%;height:100%;display:block}
.qr-chiave{font-size:13px;letter-spacing:.06em;user-select:all;word-break:break-all}
.qr-apri{display:none}
@media (hover:none){.qr-apri{display:inline-flex}}
@media (max-width:860px){
  .accesso{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .acc-lato{padding:22px 20px 26px}
  .acc-messaggio{margin:22px 0 0}.acc-messaggio h2{font-size:24px;margin-bottom:8px}
  .acc-desc,.acc-punti,.acc-piede,.acc-occhiello{display:none}
  .acc-filigrana{width:260px;right:-60px;bottom:-80px}
  .acc-form{align-items:start;padding:24px 16px 40px}
  .acc-card{padding:24px 20px 20px}
}
/* pagina Sicurezza */
.sic-card{max-width:760px}.sic-stato{margin:0 0 6px}
.sic-attiva>summary{list-style:none;display:inline-flex;cursor:pointer;margin:6px 0 12px}.sic-attiva>summary::-webkit-details-marker{display:none}
.sic-attiva .qr-box{justify-items:start;text-align:left}
.sic-pw{max-width:380px}.sic-pw label{display:block;margin-bottom:10px}.sic-pw input{display:block;width:100%;margin-top:4px}
.banda-prova{position:sticky;top:0;z-index:60;background:repeating-linear-gradient(45deg,#ffe58a,#ffe58a 14px,#ffd84d 14px,#ffd84d 28px);color:#5b4500;font-weight:700;font-size:13px;text-align:center;padding:6px 10px;border-bottom:1px solid #e0b800}
main:has(> .accesso) > .banda-prova{position:fixed;left:0;right:0;top:0}
