:root{--oro:#f0b429;--oro-cupo:#b8811a;--testo:#172033;--atten:#4b5563;--bordo:#dbe1ea;--blu:#0b5fd0}
*{font-family:"Segoe UI",Arial,sans-serif}
body{background:#f4f6f9;color:var(--testo);font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}

/* Testata istituzionale KRessèntia (compatta, sempre in cima) */
.marchio-barra{z-index:1040;display:flex;align-items:center;padding:0 24px;background:#0b1620;border-bottom:2px solid var(--oro)}
.marchio-logo{height:38px;width:auto;flex:none}
.marchio-testo{display:flex;flex-direction:column;justify-content:center;gap:2px}
.marchio-nome{font:700 1.1rem/1 "Segoe UI",Arial,sans-serif;white-space:nowrap}
.marchio-kr{color:#fff}.marchio-ess{color:var(--oro)}
.marchio-riga{display:flex;align-items:center;gap:8px}
.marchio-sotto{width:fit-content;padding:0 8px;border:1.5px solid #c9d6e6;border-radius:8px;background:rgba(201,214,230,.08);color:#c9d6e6;
  font:700 .62rem/1.35 "Segoe UI",Arial,sans-serif}
.marchio-data{font:600 .62rem/1.2 Consolas,"Courier New",monospace;color:#c8d3e0;letter-spacing:.3px}
.marchio-destra{margin-left:auto;display:flex}
.marchio-destra .utente{color:#c9d6e6;font-size:.82rem}
.btn-esci{border:1px solid #c9d6e6;border-radius:999px;padding:2px 16px;font-weight:700;font-size:.85rem}
.btn-menu{border:1px solid #c9d6e6;padding:0 8px}
@media(max-width:575px){.marchio-barra{padding:0 16px;gap:8px}.marchio-logo{height:32px}.marchio-data{display:none}}

/* Barra di pagina fissa sotto la testata (titolo + filtri) e intestazioni di tabella fisse */
.barra-pagina{position:sticky;top:var(--barra,54px);z-index:1030;background:#f4f6f9;margin:-1rem -1rem .5rem;border-bottom:1px solid var(--bordo)}
@media(min-width:992px){.barra-pagina{margin:-1.5rem -1.5rem .5rem;padding:.6rem 1.5rem}}
.barra-pagina p{margin:0}
.table thead th{position:sticky;z-index:5;background:#fff;box-shadow:0 1px 0 var(--bordo)}
@media(min-width:768px){.table-responsive{overflow:visible}}

/* Pulsante "Vai su" */
.btn-vaisu{border-radius:50%;border:0;background:linear-gradient(135deg,#f0b429,#fb923c);color:#1a1405;
  box-shadow:0 4px 12px rgba(0,0,0,.25);display:none;align-items:center;justify-content:center;z-index:1050;font-size:1.2rem}
.btn-vaisu.visibile{display:flex}

/* Barra laterale (sotto la testata) */
.sidebar,.sidebar.offcanvas-lg{width:240px;flex-shrink:0;border-right:1px solid rgba(240,180,41,.35);box-shadow:4px 0 14px rgba(0,0,0,.28)}
@media(min-width:992px){.sidebar{position:sticky;top:var(--barra,54px);align-self:flex-start;height:calc(calc(100vh / var(--zm,1)) - var(--barra,54px));overflow-y:auto}}
.sidebar .nav-link{color:#c9d6e6;border-radius:8px;padding:.5rem .75rem}
.sidebar .nav-link:hover{background:rgba(255,255,255,.07);color:#fff}
.sidebar .nav-link.active{background:linear-gradient(90deg,rgba(240,180,41,.25),rgba(240,180,41,.05));color:var(--oro);border-left:3px solid var(--oro)}
.offcanvas-lg{--bs-offcanvas-bg:#1b2c40}
.content{min-width:0}

/* Titoli */
h1,h3.titolo,.content>h3:first-of-type{font-size:24px;font-weight:700;color:var(--blu)}
h6{font-size:16px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--oro-cupo);display:flex;align-items:center;gap:10px}
h6::after{content:"";flex:1;height:1px;background:var(--bordo)}

/* Componenti */
.card{border:1px solid var(--bordo)!important;border-radius:16px;box-shadow:0 2px 10px rgba(23,32,51,.06)!important;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(23,32,51,.10)!important}
.btn-primary{background:linear-gradient(90deg,#f0b429,#fb923c);border:0;color:#1a1405;font-weight:700;border-radius:999px}
.btn-primary:hover,.btn-primary:focus{background:linear-gradient(90deg,#f5c04a,#fda25f);color:#1a1405}
.btn-outline-primary,.btn-outline-secondary,.btn-outline-dark,.btn-outline-success{border-radius:999px;background:transparent}
.btn-sm{border-radius:999px}
.form-control,.form-select{border-radius:8px;border-color:var(--bordo)}
.form-label{font-size:12px;text-transform:uppercase;color:var(--atten);margin-bottom:2px}
.table thead th{white-space:nowrap;font-size:11px;font-variant:small-caps;text-transform:uppercase;letter-spacing:.08em;color:var(--oro-cupo);font-weight:700}
.table>:not(caption)>*>*{border-bottom-color:var(--bordo)}
a{color:var(--blu)}
.text-muted{color:var(--atten)!important}
.pw-wrap{position:relative}.pw-wrap .form-control{padding-right:42px}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;padding:4px 8px}
#sig{border:1px dashed var(--atten);border-radius:8px;background:#fff;touch-action:none;width:100%;height:160px}
.login-wrap{max-width:420px;margin:8vh auto}
img,canvas,table{max-width:100%}
@media print{.sidebar,.marchio-destra,.btn-menu,.no-print{display:none!important}}

/* Pulsanti e campi: stessa altezza e stessa larghezza, tutto in linea */
.btn{height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;line-height:1;white-space:nowrap;font-size:.84rem;border-radius:999px}
.btn:not(.btn-ic):not(.btn-menu):not(.btn-esci):not(.pw-eye):not(.btn-close):not(.btn-vaisu):not(.flex-fill):not(.w-100):not(.btn-filtra){width:116px}
.btn-ic{width:32px;min-width:32px!important;padding:0}
.btn-sm{height:32px;padding:0 10px;font-size:.84rem}
.btn-esci{height:30px;min-width:0}
.btn-menu{height:30px}
.form-control:not(textarea),.form-select,.form-control-sm,.form-select-sm{height:32px;padding-top:0;padding-bottom:0;font-size:.84rem}
.azioni{display:flex;gap:6px;justify-content:flex-start;align-items:center}
.azioni>span:empty{display:none}
.azioni form{margin:0}
td:has(.azioni){width:1%;white-space:nowrap}
.modal .btn{min-width:0!important}

/* Targhette (badge): tutte della stessa dimensione */
.badge{display:inline-flex;align-items:center;justify-content:center;width:112px;height:24px;padding:0 6px;font-size:.7rem;font-weight:700;letter-spacing:.02em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:999px;vertical-align:middle}
.badge.badge-conta{width:auto;min-width:34px;padding:0 10px;font-size:.8rem}
@media(max-width:575px){.badge{width:96px}}
/* Titolo "Azioni" sopra ogni gruppo di pulsanti */
.blocco-azioni{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}
.az-tit{font-size:11px;font-weight:700;font-variant:small-caps;text-transform:uppercase;letter-spacing:.08em;color:var(--oro-cupo);line-height:1;margin-bottom:4px}
.blocco-azioni .az-tit{margin-bottom:0}
.az-riga{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
/* Elenco interventi da telefono: colonne allineate */
.riga-int{display:grid;grid-template-columns:112px 1fr 112px;align-items:center;gap:4px 10px;padding:8px 0;border-bottom:1px solid var(--bordo);text-decoration:none;color:var(--testo)}
.riga-int:hover{background:rgba(240,180,41,.08)}
.riga-int strong{color:var(--blu);text-align:center;font-variant-numeric:tabular-nums}
.riga-int .badge:last-of-type{justify-self:end}
.riga-int-sub{grid-column:1/-1;font-size:.82rem;color:var(--atten)}
@media(max-width:575px){.riga-int{grid-template-columns:96px 1fr 96px;gap:4px 6px}.riga-int strong{font-size:.8rem}}

/* Casella Cerca + pulsante Filtra: sempre affiancati, sulla stessa riga */
.gruppo-cerca{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;width:100%}
@media(min-width:768px){.gruppo-cerca{width:430px}}
.gruppo-cerca .form-control{flex:1 1 auto;min-width:0}
.gruppo-cerca .btn{flex:none}
td.nw{white-space:nowrap}
.btn-lg{height:40px;font-size:.95rem}

/* Pulsante Filtra: compatto e colorato, uguale in tutte le pagine */
.btn.btn-filtra{width:auto;min-width:0;padding:0 14px;background:#0b5fd0;border:1px solid #0b5fd0;color:#fff;font-weight:700}
.btn.btn-filtra:hover,.btn.btn-filtra:focus{background:#094fae;border-color:#094fae;color:#fff}

/* Casella con X per svuotare */
.campo-x{position:relative;flex:1 1 auto;min-width:0}
.campo-x .form-control{width:100%}
.campo-x-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;display:none;align-items:center;justify-content:center;border:0;border-radius:50%;background:#e3e8f0;color:#55607a;font-size:.65rem;padding:0;line-height:1}
.campo-x.pieno .campo-x-btn{display:flex}
.campo-x-btn:hover{background:#c81e2b;color:#fff}
.alveare-filtri .campo-x{flex:none;width:190px}
.alveare-filtri .campo-x input{width:100%}
.alveare-filtri .campo-x-btn{background:#55607a;color:#fff}

/* Tutti i pulsanti hanno un colore pieno (niente contorni trasparenti/neutri) */
.btn.btn-outline-primary{--bs-btn-bg:#0b5fd0;--bs-btn-color:#fff;--bs-btn-border-color:#0b5fd0;--bs-btn-hover-bg:#094fae;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#094fae;--bs-btn-active-bg:#094fae;--bs-btn-active-color:#fff;--bs-btn-active-border-color:#094fae;background-color:#0b5fd0;border-color:#0b5fd0;color:#fff}
.btn.btn-outline-primary:hover,.btn.btn-outline-primary:focus{background-color:#094fae;border-color:#094fae;color:#fff}
.btn.btn-outline-secondary{--bs-btn-bg:#55607a;--bs-btn-color:#fff;--bs-btn-border-color:#55607a;--bs-btn-hover-bg:#3f4a60;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#3f4a60;--bs-btn-active-bg:#3f4a60;--bs-btn-active-color:#fff;--bs-btn-active-border-color:#3f4a60;background-color:#55607a;border-color:#55607a;color:#fff}
.btn.btn-outline-secondary:hover,.btn.btn-outline-secondary:focus{background-color:#3f4a60;border-color:#3f4a60;color:#fff}
.btn.btn-outline-success{--bs-btn-bg:#15803d;--bs-btn-color:#fff;--bs-btn-border-color:#15803d;--bs-btn-hover-bg:#116a32;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#116a32;--bs-btn-active-bg:#116a32;--bs-btn-active-color:#fff;--bs-btn-active-border-color:#116a32;background-color:#15803d;border-color:#15803d;color:#fff}
.btn.btn-outline-success:hover,.btn.btn-outline-success:focus{background-color:#116a32;border-color:#116a32;color:#fff}
.btn.btn-outline-danger{--bs-btn-bg:#c81e2b;--bs-btn-color:#fff;--bs-btn-border-color:#c81e2b;--bs-btn-hover-bg:#a51822;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#a51822;--bs-btn-active-bg:#a51822;--bs-btn-active-color:#fff;--bs-btn-active-border-color:#a51822;background-color:#c81e2b;border-color:#c81e2b;color:#fff}
.btn.btn-outline-danger:hover,.btn.btn-outline-danger:focus{background-color:#a51822;border-color:#a51822;color:#fff}
.btn.btn-outline-dark{--bs-btn-bg:#172033;--bs-btn-color:#fff;--bs-btn-border-color:#172033;--bs-btn-hover-bg:#0b1220;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#0b1220;--bs-btn-active-bg:#0b1220;--bs-btn-active-color:#fff;--bs-btn-active-border-color:#0b1220;background-color:#172033;border-color:#172033;color:#fff}
.btn.btn-outline-dark:hover,.btn.btn-outline-dark:focus{background-color:#0b1220;border-color:#0b1220;color:#fff}
.btn.btn-danger{--bs-btn-bg:#c81e2b;--bs-btn-color:#fff;--bs-btn-border-color:#c81e2b;--bs-btn-hover-bg:#a51822;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#a51822;--bs-btn-active-bg:#a51822;--bs-btn-active-color:#fff;--bs-btn-active-border-color:#a51822;background-color:#c81e2b;border-color:#c81e2b;color:#fff}
.btn.btn-danger:hover,.btn.btn-danger:focus{background-color:#a51822;border-color:#a51822;color:#fff}
.btn-esci{background:#c81e2b;border-color:#c81e2b;color:#fff}
.btn-esci:hover{background:#a51822;border-color:#a51822;color:#fff}
.btn-menu{background:#55607a;border-color:#55607a;color:#fff}
.pw-eye{color:#55607a}

/* Filtri compatti: tutti sulla stessa riga */
.filtri-riga{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filtri-riga .gruppo-cerca{width:320px;flex:none}
.filtri-riga select.form-select{width:auto;min-width:110px;padding-left:.6rem;padding-right:1.8rem;background-position:right .5rem center}
@media(max-width:767px){.filtri-riga .gruppo-cerca{width:100%}.filtri-riga>div:not(.gruppo-cerca){flex:1 1 140px}.filtri-riga select.form-select{width:100%;max-width:none}}

/* Scadenziario: titolo, filtri, indicatori e pulsante sulla stessa riga */
.riga-unica{display:flex;flex-wrap:nowrap;align-items:center;margin:0}
.riga-unica h3{white-space:nowrap}
.riga-unica select.form-select{width:auto;min-width:130px;max-width:170px}
.riga-unica .btn{flex:none}
.chip-sem{display:inline-flex;align-items:center;border-radius:999px;background:#fff;border:1px solid var(--bordo);color:var(--testo);text-decoration:none;white-space:nowrap}
.chip-sem.on{border-color:var(--oro);background:#fff7e0}
.chip-sem .p{width:10px;height:10px;border-radius:50%;display:inline-block}
.chip-sem .p.r{background:#dc3545}.chip-sem .p.a{background:#f97316}.chip-sem .p.g{background:#f0b429}.chip-sem .p.v{background:#22c55e}
.t-danger{color:#c81e2b}.t-warning{color:#d97706}.t-info{color:#b8811a}.t-success{color:#0f8a4d}
@media(max-width:1199px){.riga-unica{flex-wrap:wrap}}
.riga-unica h3{flex:none}
@media(max-width:1199px){.filtri-riga.riga-unica{flex-wrap:wrap}}
.az-riga select.form-select{width:auto;min-width:90px}

/* Pulsanti-icona delle griglie (apri, modifica, elimina, completa): aspetto originale, con solo il contorno */
.btn.btn-ic.btn-outline-primary{--bs-btn-bg:transparent;background-color:transparent;border-color:#0d6efd;color:#0d6efd}
.btn.btn-ic.btn-outline-secondary{--bs-btn-bg:transparent;background-color:transparent;border-color:#6c757d;color:#6c757d}
.btn.btn-ic.btn-outline-danger{--bs-btn-bg:transparent;background-color:transparent;border-color:#dc3545;color:#dc3545}
.btn.btn-ic.btn-outline-success{--bs-btn-bg:transparent;background-color:transparent;border-color:#198754;color:#198754}
.btn.btn-ic.btn-outline-primary:hover,.btn.btn-ic.btn-outline-primary:focus{background-color:#0d6efd;color:#fff}
.btn.btn-ic.btn-outline-secondary:hover,.btn.btn-ic.btn-outline-secondary:focus{background-color:#6c757d;color:#fff}
.btn.btn-ic.btn-outline-danger:hover,.btn.btn-ic.btn-outline-danger:focus{background-color:#dc3545;color:#fff}
.btn.btn-ic.btn-outline-success:hover,.btn.btn-ic.btn-outline-success:focus{background-color:#198754;color:#fff}
.marchio-info{color:#c8d3e0;font-size:.78rem;white-space:nowrap}
@media(max-width:991px){.marchio-info{display:none}}
.filtri-riga.riga-unica{flex-wrap:wrap}
.filtri-riga select.form-select{max-width:145px}

/* Stati e diciture non cliccabili: solo testo colorato con pallino (le targhette restano ai soli collegamenti) */
.stato-t{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.86rem;white-space:nowrap;color:var(--c,#55607a)}
.stato-t i{width:9px;height:9px;border-radius:50%;background:var(--c,#55607a);flex:none}
.st-success{--c:#0f8a4d}.st-danger{--c:#c81e2b}.st-warning{--c:#b45309}.st-info{--c:#0e7490}.st-secondary{--c:#55607a}.st-dark{--c:#172033}.st-light{--c:#55607a}
.conta-t{font-size:.95rem;font-weight:600;color:var(--atten);margin-left:6px}
.riga-int .stato-t:last-of-type{justify-self:end}
.st-primary{--c:#0b5fd0}

/* Segnalazioni: percorso, guida in parole semplici, diario */
.percorso{display:flex;flex-wrap:wrap;gap:8px;margin:.2rem 0 .6rem}
.passo{display:flex;align-items:center;gap:8px;padding:5px 14px 5px 6px;border-radius:999px;background:#fff;border:1px solid var(--bordo);color:var(--atten);font-size:.86rem}
.passo i{width:24px;height:24px;border-radius:50%;background:#e3e8f0;color:#55607a;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;font-size:.78rem}
.passo.fatto{color:#0f8a4d;border-color:#b7e2c8}.passo.fatto i{background:#0f8a4d;color:#fff}
.passo.on{color:#172033;font-weight:700;border-color:var(--oro);background:#fff7e0}.passo.on i{background:var(--oro);color:#1a1405}
.passo.annullato.on{border-color:#c81e2b;background:#fdeaec;color:#a51822}
.guida{background:#eef4ff;border:1px solid #cfe0ff;border-radius:12px;padding:10px 14px;margin-bottom:1rem;color:#172033}
.guida i{color:#0b5fd0;margin-right:6px}
.diario{list-style:none;margin:0;padding:0}
.diario li{border-left:3px solid var(--bordo);padding:2px 0 10px 12px;margin-left:4px}
.diario li.d-stato{border-color:#0b5fd0}.diario li.d-assegnazione{border-color:#b45309}.diario li.d-sistema{border-color:#c8d3e0}.diario li.d-nota{border-color:#0f8a4d}
/* Nuova segnalazione: passi guidati */
.passo-form{margin-bottom:1.2rem}
.passo-form h5{font-size:1rem;font-weight:700;margin:0 0 .15rem;display:flex;align-items:center;gap:8px}
.passo-form h5 b{width:26px;height:26px;border-radius:50%;background:var(--oro);color:#1a1405;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}
.passo-form .aiuto{color:var(--atten);font-size:.84rem;margin-bottom:.5rem}
.urg-griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}   /* le quattro urgenze su due colonne e due righe */
@media(max-width:420px){.urg-griglia{grid-template-columns:1fr}}
.urg-opt{display:block;position:relative;border:2px solid var(--bordo);border-radius:14px;padding:10px 14px;cursor:pointer;background:#fff;transition:.12s}
.urg-opt input{position:absolute;opacity:0}
.urg-opt strong{display:flex;align-items:center;gap:8px}
.urg-opt strong i{width:12px;height:12px;border-radius:50%;display:inline-block}
.urg-opt small{display:block;color:var(--atten);margin-top:2px}
.urg-opt:hover{border-color:#c8d3e0}
.urg-opt:has(input:checked){border-color:var(--oro);background:#fff7e0;box-shadow:0 0 0 3px rgba(240,180,41,.25)}
.u-urgente i{background:#c81e2b}.u-alta i{background:#f97316}.u-media i{background:#f0b429}.u-bassa i{background:#22c55e}

.nav-gruppo{list-style:none;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#c8d3e0;padding:12px 12px 2px;margin-top:4px;border-top:1px solid rgba(201,214,230,.15)}
.nav-gruppo:first-of-type{border-top:0;margin-top:0}

/* "Vai su": non copre l'ultima riga delle pagine */

/* Testata: TECARO grande, KRessèntia piccolo nella targhetta */
.marchio-nome{color:#fff;font-size:1.3rem;letter-spacing:1px}
.marchio-sotto .marchio-kr{color:#fff}.marchio-sotto .marchio-ess{color:var(--oro)}
.marchio-sotto{letter-spacing:.4px}

/* Barra fissa in basso */
.barra-stato{position:fixed;left:0;right:0;bottom:0;z-index:1035;display:flex;align-items:center;padding:0 24px;border-top:2px solid var(--oro);white-space:nowrap;overflow:hidden}
.barra-stato b{color:#fff;font-weight:600}.barra-stato a{color:#c9d6e6;text-decoration:none}.barra-stato a:hover{color:#fff}
.barra-stato i{margin-right:5px;color:var(--oro)}
.barra-stato .bs-rosso{color:#ff6b78}
.barra-stato .bs-versione{color:#7d8ea3}
@media(min-width:992px){.sidebar{height:calc(calc(100vh / var(--zm,1)) - var(--barra,54px) - 32px)}}
@media(max-width:991px){.barra-stato{gap:12px;padding:0 12px}.bs-sync,.bs-versione,.bs-utente{display:none}}

/* Titolo della sezione, al centro della barra in alto */
.marchio-sezione{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--oro);font-weight:700;text-transform:uppercase;white-space:nowrap;pointer-events:none}
@media(max-width:1299px){.marchio-sezione{font-size:1.1rem;letter-spacing:.1em}}
@media(max-width:1099px){.marchio-sezione{font-size:.85rem;letter-spacing:.06em}.marchio-sezione i{font-size:1rem;margin-right:6px}}
@media(max-width:700px){.marchio-sezione{display:none}}

.barra-stato{cursor:default;user-select:none}

/* Adattamento allo schermo quando si ingrandisce (zoom): meno spazio per colonna, testo che va a capo, scorrimento solo dentro la tabella */
@media(max-width:1599px){
  .table{font-size:.86rem}
  .table>:not(caption)>*>*{padding:.4rem .4rem}
  td.nw,.stato-t{white-space:normal}
  .table thead th{white-space:normal;font-size:.7rem;letter-spacing:.04em}
  .content{padding-left:1rem!important;padding-right:1rem!important}
  .barra-pagina{margin-left:-1rem!important;margin-right:-1rem!important;padding-left:1rem!important;padding-right:1rem!important}
}
@media(max-width:1299px){
  .table{font-size:.82rem}
  .table>:not(caption)>*>*{padding:.35rem .3rem}
  .azioni{gap:4px}
  .btn-ic{width:30px;min-width:30px!important;height:30px}
}
@media(max-width:1099px){ .sidebar{width:210px} }
html,body{max-width:100%;overflow-x:clip}   /* clip: nasconde l'eccesso senza rompere le barre fisse */
.card,.fascicolo,.carta{max-width:100%}
img,video,canvas,table{max-width:100%}

/* Telefono (sotto i 768 px) e tablet/dispositivi touch sotto i 1100 px: l'elenco diventa una pila di schede, niente scorrimento orizzontale. Sul computer col mouse resta SEMPRE la tabella (con lo zoom molto alto del browser la tabella scorre dentro la sua cornice; ci pensa anche l'adattamento automatico dello zoom). */
@media(max-width:767px),(max-width:1099px) and (pointer:coarse){
  .table-responsive{overflow:visible}
  .tab-lista thead{display:none}
  .tab-lista,.tab-lista tbody,.tab-lista tr,.tab-lista td{display:block;width:100%}
  .tab-lista tr{margin:0 0 12px;padding:8px 14px;border:1px solid var(--bordo);border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(23,32,51,.06)}
  .tab-lista td{display:flex;justify-content:space-between;align-items:center;gap:14px;border:0!important;padding:4px 0!important;text-align:right;white-space:normal}
  .tab-lista td::before{content:attr(data-label);flex:none;text-align:left;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--oro-cupo)}
  .tab-lista td:last-child{border-top:1px solid var(--bordo)!important;margin-top:6px;padding-top:8px!important}
  .tab-lista td:last-child .azioni{margin-left:auto}
  .tab-lista td[colspan]::before{content:none}
  .tab-lista td[colspan]{display:block;text-align:center}
}
@media(max-width:1099px){.marchio-destra .utente{display:none}}
@media(max-width:560px){ .marchio-testo .marchio-data{display:none} .barra-stato .bs-data b{font-size:.72rem} }

/* Home: nessun elemento più largo dello schermo */
.home-duo>div,.alveare-box,.home-testa{min-width:0}
.flusso a{min-width:0;flex-wrap:wrap}
.fl-st{white-space:normal;text-align:right}
@media(max-width:1099px){.fl-tit{white-space:normal}}

/* Menu laterale: selettore di sezione */
.menu-sezioni{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 10px 4px}
.menu-sezioni a{display:flex;flex-direction:column;align-items:center;color:#c9d6e6;text-decoration:none;font-weight:600;text-align:center;border:1px solid rgba(201,214,230,.2);background:rgba(201,214,230,.05);line-height:1.15}
.menu-sezioni a:hover{color:#fff;border-color:#f0b429}
.menu-sezioni a.on{background:linear-gradient(135deg,#f0b429,#fb923c);color:#1a1405;border-color:#f0b429}

/* Un po' di respiro dai bordi nella testata e nella barra in basso */
.marchio-barra{padding-right:36px!important}
@media(max-width:575px){.marchio-barra{padding-left:20px!important;padding-right:18px!important;gap:10px}.barra-stato{padding-left:18px!important;padding-right:16px!important}}

/* Menu laterale: il selettore di sezione resta fisso in alto, scorrono solo le voci */
.sidebar,.sidebar.offcanvas-lg{display:flex;flex-direction:column;overflow:hidden!important}
.sidebar .menu-sezioni{flex:none;padding:8px 10px 6px;gap:5px}
.sidebar #menuVoci{flex:1 1 auto;min-height:0;overflow-y:auto;flex-wrap:nowrap}
.menu-sezioni a{padding:4px 3px;font-size:.66rem;border-radius:10px;gap:1px}
.menu-sezioni a i{font-size:.95rem}

/* Menu laterale compatto: voci di sistema fisse in basso, contatori sul selettore di sezione */
.sidebar #menuVoci .nav-link{padding:5px 10px;font-size:.84rem}
.sidebar #menuVoci .nav-gruppo{padding-top:8px;padding-bottom:2px}
.sidebar .menu-sistema{list-style:none}
.sidebar .menu-sistema .nav-link{padding:4px 10px;font-size:.8rem}
.sidebar .menu-sistema .nav-gruppo{padding:2px 10px 2px}
.menu-sezioni a{position:relative}
.menu-sezioni a em{position:absolute;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d62839;color:#fff;font-style:normal;font-size:.66rem;font-weight:700;line-height:18px;text-align:center}
.menu-sezioni a em{top:4px;right:4px}
/* Logo e nome in alto: cliccando si torna alla Home */
.marchio-link{display:flex;align-items:center;gap:inherit;color:inherit;text-decoration:none;cursor:pointer}
.marchio-link:hover .marchio-nome{color:#f0b429}
/* Parti fisse del menu laterale (selettore in alto, Sistema in basso): bordi ben visibili */
.sidebar .menu-sezioni{border-bottom:2px solid var(--oro,#f0b429);background:rgba(0,0,0,.22);box-shadow:0 6px 10px -6px rgba(0,0,0,.6)}
.sidebar #menuVoci{scrollbar-width:thin;scrollbar-color:rgba(201,214,230,.35) transparent}
/* Voci di sistema: menu a tendina nella barra del titolo */
.menu-sistema-tendina{display:inline-block}
.btn-sistema{height:32px;padding:0 12px;border-radius:999px;color:#c9d6e6;background:rgba(201,214,230,.08);border:1px solid rgba(201,214,230,.28);font-weight:600;font-size:.85rem;display:inline-flex;align-items:center;gap:4px}
.btn-sistema:hover,.btn-sistema.show{color:#fff;border-color:#f0b429;background:rgba(240,180,41,.12)}
.btn-sistema .piccola{font-size:.65rem}
.menu-sistema-tendina .dropdown-menu{background:#13202f;border:2px solid #f0b429;border-radius:12px;padding:6px;min-width:260px;margin-top:8px!important;box-shadow:0 12px 28px rgba(0,0,0,.5)}
.menu-sistema-tendina .dropdown-item{color:#d7e2ee;border-radius:8px;padding:7px 12px;font-size:.88rem}
.menu-sistema-tendina .dropdown-item:hover{background:rgba(240,180,41,.14);color:#fff}
.menu-sistema-tendina .dropdown-item.active{background:rgba(240,180,41,.2);color:#f0b429}
.marchio-destra{gap:10px;align-items:center}
/* Barra di stato in basso: sfondo nero pieno (per cambiare colore basta modificare questa riga) */
.barra-stato{background:#000;color:#b8c7d9}

/* Utenti collegati: led verde e numero */
.collegati{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(34,197,94,.45);background:rgba(34,197,94,.1);color:#bbf7d0;font-size:.82rem;cursor:default;white-space:nowrap}
.collegati b{color:#fff}
.collegati .led{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.7),0 0 8px #22c55e;animation:led-pulsa 2s infinite}
@keyframes led-pulsa{70%{box-shadow:0 0 0 7px rgba(34,197,94,0),0 0 8px #22c55e}100%{box-shadow:0 0 0 0 rgba(34,197,94,0),0 0 8px #22c55e}}
@media(prefers-reduced-motion:reduce){.collegati .led{animation:none}}

/* Sistema: in fondo alla barra laterale, separato da una linea chiara */
.sidebar .menu-sistema{flex:none;margin:0;border-top:2px solid rgba(220,230,243,.55);background:rgba(0,0,0,.22);box-shadow:none}
.sidebar .menu-sistema-tendina{display:block}
.sidebar .btn-sistema{width:100%;height:36px;justify-content:flex-start;gap:8px;border-radius:10px;padding:0 12px}
.sidebar .menu-sistema-tendina .dropdown-menu{margin:0 0 8px!important}
.sidebar .menu-sistema-tendina .dropdown-item{line-height:1.25}
/* Voci di Sistema su una sola riga: il riquadro può essere più largo della barra laterale */
.sidebar .menu-sistema-tendina .dropdown-item{white-space:nowrap}
.sidebar .menu-sistema-tendina .dropdown-menu{width:max-content;min-width:100%}
@media(min-width:992px){.sidebar,.sidebar.offcanvas-lg{overflow:visible!important;z-index:1030}}
@media(max-width:991px){.sidebar .menu-sistema-tendina .dropdown-item{font-size:.76rem;padding:7px 8px}}

/* Barra laterale: disegni a tratto leggeri sullo sfondo (negozio, ingranaggio, fulmine, freddo, termometro, goccia) */
.sidebar,.sidebar.offcanvas-lg{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='520' viewBox='0 0 240 520' fill='none' stroke='%23b8c9de' stroke-opacity='.2' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(14 18) rotate(-8 31.0 31.0) scale(0.62)'%3E%3Cpath d='M10 40 16 18H84L90 40ZM10 40Q20 52 30 40T50 40 70 40 90 40M16 48V86H84V48M42 86V62H62V86'/%3E%3C/g%3E%3Cg transform='translate(130 70) rotate(12 28.0 28.0) scale(0.56)'%3E%3Ccircle cx='50' cy='50' r='30' stroke-width='9' stroke-dasharray='9.4 9.4'/%3E%3Ccircle cx='50' cy='50' r='22'/%3E%3Ccircle cx='50' cy='50' r='9'/%3E%3C/g%3E%3Cg transform='translate(34 190) rotate(10 23.0 23.0) scale(0.46)'%3E%3Cpath d='M56 8 24 56H48L40 92 76 40H52Z'/%3E%3C/g%3E%3Cg transform='translate(140 200) rotate(0 30.0 30.0) scale(0.6)'%3E%3Cpath d='M50 8V92M13 29 87 71M13 71 87 29M40 14 50 22 60 14M40 86 50 78 60 86'/%3E%3C/g%3E%3Cg transform='translate(20 300) rotate(-10 26.0 26.0) scale(0.52)'%3E%3Cpath d='M42 14a8 8 0 0 1 16 0V58a17 17 0 1 1-16 0ZM50 34V68'/%3E%3Ccircle cx='50' cy='74' r='5'/%3E%3C/g%3E%3Cg transform='translate(138 330) rotate(6 22.0 22.0) scale(0.44)'%3E%3Cpath d='M50 10C50 10 20 46 20 64a30 30 0 0 0 60 0C80 46 50 10 50 10Z'/%3E%3C/g%3E%3Cg transform='translate(60 420) rotate(8 29.0 29.0) scale(0.58)'%3E%3Cpath d='M10 40 16 18H84L90 40ZM10 40Q20 52 30 40T50 40 70 40 90 40M16 48V86H84V48M42 86V62H62V86'/%3E%3C/g%3E%3Cg transform='translate(150 450) rotate(-12 20.0 20.0) scale(0.4)'%3E%3Ccircle cx='50' cy='50' r='30' stroke-width='9' stroke-dasharray='9.4 9.4'/%3E%3Ccircle cx='50' cy='50' r='22'/%3E%3Ccircle cx='50' cy='50' r='9'/%3E%3C/g%3E%3C/svg%3E") center top/100% auto repeat-y,linear-gradient(180deg,#22344a,#182638)!important}
/* Barra in basso: la data sta all'estrema destra */
.barra-stato .bs-data{order:99;margin-left:auto}
.barra-stato .bs-versione{margin-left:0!important}

/* Pulsante «App» accanto a «Sistema» */
.sidebar .menu-sistema{display:flex;gap:8px;align-items:center}
.sidebar .menu-sistema .menu-sistema-tendina{flex:1;min-width:0}
.btn-app{flex:none;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:10px;font-weight:700;font-size:.85rem;text-decoration:none}

/* Pagina «App»: simulazione su telefono e tablet */
.app-nota{color:#55607a;font-size:.9rem;margin:.6rem 0 1rem}
.app-comandi{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:1.2rem}
.app-comandi label{display:flex;flex-direction:column;gap:3px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#55607a}
.app-comandi .form-select{min-width:170px;max-width:300px}
.app-scena{display:flex;flex-wrap:wrap;gap:36px;justify-content:center;align-items:flex-start;padding:22px 10px 30px;border-radius:18px;background:
  radial-gradient(600px 300px at 20% 0%,rgba(56,189,248,.18),transparent 65%),radial-gradient(600px 300px at 90% 100%,rgba(240,180,41,.16),transparent 65%),linear-gradient(180deg,#123257,#0b2038)}
.app-disp{margin:0;text-align:center}
.app-disp figcaption{margin-top:10px;color:#c9d6e6;font-size:.8rem;letter-spacing:.04em}
.app-cornice{position:relative;padding:14px;background:linear-gradient(145deg,#2b3446,#10151f);box-shadow:0 24px 50px rgba(0,0,0,.5),inset 0 0 0 2px #475069}
.app-notch{position:absolute;top:5px;left:50%;width:56px;height:6px;margin-left:-28px;border-radius:4px;background:#05080d}
.app-schermo{overflow:hidden;background:#fff;position:relative}
.app-schermo iframe{border:0;transform-origin:0 0;display:block;background:#fff}
#appArea:fullscreen{background:#0b2038;padding:14px 22px;overflow:auto;display:flex;flex-direction:column}
#appArea:fullscreen .app-comandi label{color:#c8d3e0}
#appArea:fullscreen .app-scena{flex:1;background:none;align-content:center}

.app-salva{flex-direction:row!important;align-items:center;gap:8px!important;text-transform:none!important;letter-spacing:0!important;font-size:.85rem!important;color:#172033!important;padding-bottom:4px}
.app-avviso{margin:0 0 .9rem;padding:9px 14px;border-radius:10px;background:rgba(251,146,60,.14);border:1px solid #fb923c;color:#7a360c;font-size:.88rem}
.app-rifai{border:1px solid rgba(201,214,230,.4);background:rgba(201,214,230,.1);color:#c9d6e6;border-radius:8px;width:26px;height:24px;margin-left:6px;line-height:1}
.app-rifai:hover{border-color:#f0b429;color:#fff}

/* App sul telefono: aree sicure, tocchi comodi, niente ingrandimento automatico nei campi */
.barra-stato{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:991px){
  input.form-control,select.form-select,textarea.form-control{font-size:16px!important}
  .btn{min-height:40px}
  .sidebar .nav-link{padding-top:9px!important;padding-bottom:9px!important}
}
html{-webkit-tap-highlight-color:transparent}
.app-installa{gap:22px;padding:20px;border-radius:18px;margin:.8rem 0 1.2rem;background:
  radial-gradient(500px 220px at 0 0,rgba(240,180,41,.22),transparent 65%),linear-gradient(135deg,#123257,#0b2038);color:#dbe6f3;border:1px solid rgba(240,180,41,.45)}
.app-installa h2{font-size:1.2rem;color:#fff;margin:0 0 6px}
.app-installa p{margin:0 0 6px;color:#b8c7da;font-size:.92rem}
.app-qr{background:#fff;padding:10px;border-radius:14px;line-height:0}
.app-indirizzo{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.app-indirizzo input{max-width:320px;font-family:Consolas,monospace}
.app-passi{margin:8px 0 0;padding-left:1.2rem;color:#c9d6e6;font-size:.88rem}
.app-anteprima{margin-top:1rem}
.app-anteprima>summary{cursor:pointer;font-weight:700;color:#172033;padding:8px 0}
@media(max-width:700px){.app-installa{grid-template-columns:1fr;justify-items:center;text-align:center}}
.app-hotspot{margin:12px 0 4px;padding:10px 14px;border-radius:12px;background:rgba(201,214,230,.08);border:1px solid rgba(201,214,230,.22)}
.app-hotspot>summary{cursor:pointer;font-weight:700;color:#fff}
.app-hotspot p{font-size:.88rem;margin:8px 0}
.app-hotspot .app-due{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.app-hotspot .app-due div{font-size:.86rem;color:#c9d6e6}
.app-hotspot ol{margin:6px 0 0;padding-left:1.1rem}.app-hotspot li{margin-bottom:4px}
.app-hotspot code{background:rgba(0,0,0,.35);color:#fde68a;padding:1px 6px;border-radius:5px}
.app-alt{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:700px){.app-hotspot .app-due{grid-template-columns:1fr}}

/* Utenti collegati: pulsante che apre l'elenco */
button.collegati{font:inherit;font-size:.82rem;cursor:pointer}
button.collegati:hover,button.collegati.show{border-color:#4ade80;color:#fff}
.collegati .piccola{font-size:.62rem}
.collegati-box .dropdown-menu{min-width:270px;padding:8px;background:#13202f;border:2px solid #22c55e;border-radius:12px;margin-top:8px!important;box-shadow:0 12px 28px rgba(0,0,0,.5)}
.ec-titolo{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#4ade80;padding:4px 8px 8px}
.ec-titolo small{text-transform:none;letter-spacing:0;font-weight:400;color:#c8d3e0}
.elenco-collegati ul{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto}
.elenco-collegati li{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:6px 8px;border-radius:8px;color:#e4edf7;font-size:.86rem}
.elenco-collegati li:hover{background:rgba(34,197,94,.1)}
.elenco-collegati li .led{grid-row:1/3;width:8px;height:8px;animation:none}
.elenco-collegati li small{grid-column:2;color:#c8d3e0;font-size:.72rem}
.elenco-collegati li.vuoto{color:#c8d3e0;display:block}

/* Pagina App: i pulsanti si allargano al loro testo (niente testo tagliato) */
#appArea .btn,.app-installa .btn,.app-alt .btn,.app-hotspot .btn{width:auto!important;min-width:116px;padding:0 16px;gap:8px;white-space:nowrap}
#appArea .btn i,.app-installa .btn i{flex:none;line-height:1}
.app-comandi .app-salva{white-space:nowrap}

/* Campanella delle notifiche */
.campana-box{display:inline-block}
.campana{position:relative;border-radius:999px;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.campana:hover,.campana.show{color:#fff}
.campana em{position:absolute;padding:0 5px;border-radius:9px;background:#d62839;color:#fff;font-style:normal;font-weight:700;text-align:center}
@keyframes suona{0%,60%,100%{transform:rotate(0)}65%{transform:rotate(14deg)}75%{transform:rotate(-12deg)}85%{transform:rotate(8deg)}95%{transform:rotate(-4deg)}}
@media(prefers-reduced-motion:reduce){.campana.ha-novita{animation:none}}
.campana-box .dropdown-menu{min-width:330px;max-width:calc(92vw / var(--zm,1));padding:8px;background:#13202f;border:2px solid #f0b429;border-radius:12px;margin-top:8px!important;box-shadow:0 12px 28px rgba(0,0,0,.5)}
.elenco-notifiche .ec-titolo{display:flex;justify-content:space-between;align-items:center;color:#f0b429}
.nt-letto{border:0;background:none;color:#c8d3e0;font-size:.72rem;text-transform:none;letter-spacing:0;font-weight:600;cursor:pointer;text-decoration:underline}
.elenco-notifiche ul{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto}
.elenco-notifiche li a{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:7px 8px;border-radius:8px;color:#e4edf7;text-decoration:none;font-size:.86rem}
.elenco-notifiche li a:hover{background:rgba(240,180,41,.12)}
.elenco-notifiche li a .pr{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:#f97316}
.elenco-notifiche li a .pr.urgente{background:#ff4d5e;box-shadow:0 0 8px #ff4d5e}.elenco-notifiche li a .pr.alta{background:#f97316}.elenco-notifiche li a .pr.media{background:#f0b429}.elenco-notifiche li a .pr.bassa{background:#22c55e}
.elenco-notifiche li a b{font-weight:600}.elenco-notifiche li a small{grid-column:2;color:#c8d3e0;font-size:.72rem}
.elenco-notifiche li.vuoto{color:#c8d3e0;padding:8px;font-size:.86rem}
.nt-piede{margin-top:6px}
.nt-attiva{width:100%;border:1px solid rgba(240,180,41,.55);background:rgba(240,180,41,.1);color:#fde68a;border-radius:8px;padding:6px 10px;font-size:.8rem;cursor:pointer}
.nt-attiva:disabled{opacity:.7;cursor:default;border-color:rgba(201,214,230,.3);color:#c9d6e6;background:none}

.btn.az-auto{width:auto!important;min-width:116px;padding:0 16px}
/* Pulsante «App»: colore azzurro e icona personalizzata (telefono con tablet e alveare) */
.ico-app{flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ico-app .fr{fill:rgba(255,255,255,.14)}
.ico-app .ex{fill:#fde68a;stroke:#fde68a;stroke-width:1.1}
.app-installa h2{display:flex;align-items:center;gap:12px}.app-icona{filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}

/* Titolo con i colori del logo: TECA bianco, RO verde */
.marchio-nome .nome-verde,.hm-nome .nome-verde{background:linear-gradient(180deg,#a3ec3f,#3fae12);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-style:italic}
.marchio-nome,.hm-nome{font-style:italic}
.btn-app .ico-app-img{flex:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}

/* immagini ingrandibili */
img.zoomabile{cursor:zoom-in;transition:transform .15s}
img.zoomabile:hover{transform:scale(1.08)}
#zoomImg{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:rgba(5,10,18,.86);backdrop-filter:blur(4px);cursor:zoom-out;animation:zoomIn .18s ease-out}
#zoomImg img{cursor:default;max-width:min(calc(92vw / var(--zm,1)),720px);max-height:calc(88vh / var(--zm,1));width:auto;height:auto;filter:drop-shadow(0 20px 50px rgba(0,0,0,.6));animation:zoomPop .22s ease-out}
#zoomImg button{position:absolute;top:16px;right:20px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
@keyframes zoomIn{from{opacity:0}to{opacity:1}}@keyframes zoomPop{from{transform:scale(.8)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){#zoomImg,#zoomImg img{animation:none}img.zoomabile{transition:none}}

/* Marchio del produttore (KRessèntia): firma piccola */
.marchio-sotto .marchio-prod{height:15px;width:auto;margin-right:5px;vertical-align:-3px}
.piede-produttore{display:flex;align-items:center;justify-content:center;margin-bottom:10px;color:#c8d3e0;font-size:.86rem}
.piede-produttore img{height:30px;width:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.piede-produttore b{font-weight:700;letter-spacing:.02em}.piede-produttore .kr-k{color:#fff}.piede-produttore .kr-e{color:#f0b429}
.prodotto-da{display:inline-flex;align-items:center;gap:7px}

.lic-chiudi{max-width:900px;margin:0 auto 14px;display:flex;justify-content:flex-end;gap:8px}
.lic-chiudi .btn{width:auto!important;min-width:116px;padding:0 16px}

.app-produttore{display:flex;align-items:center;gap:9px;margin:-2px 0 10px;font-size:.8rem;color:#c8d3e0}
.app-produttore img{height:26px;width:auto}
.app-produttore b{font-weight:700}.app-produttore .kr-k{color:#fff}.app-produttore .kr-e{color:#f0b429}

/* targhetta KRessèntia staccata dal titolo (nessuna sovrapposizione) */
.hero-marchio .hm-nome{margin-bottom:12px;line-height:1.05}
.hero-marchio .marchio-sotto{margin-top:0}

.marchio-prod.zoomabile,.piede-produttore img.zoomabile,.piede-home img.zoomabile,.prodotto-da img.zoomabile{cursor:zoom-in}
.marchio-link .marchio-prod{pointer-events:auto}

/* Versione in apice, dentro un cerchio (come ©) alla fine del titolo */
.ver-cerchio{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:1.9em;height:1.9em;margin-left:.45em;padding:0 .2em;border:.12em solid currentColor;border-radius:50%;
  font-size:.4em;font-style:normal;font-weight:700;letter-spacing:0;line-height:1;vertical-align:super;position:relative;top:-.15em;background:none}

/* Versione in cerchio anche nei piè di pagina, nelle schede chiare e nella pagina App */
.piede-home .ver-cerchio,.login-piede .ver-cerchio,.barra-stato .ver-cerchio,.carta-piede .ver-cerchio{font-size:.8em;margin-left:.35em;top:-.2em}
.carta-int .nome .ver-cerchio{font-size:.34em}
.app-installa h2 .ver-cerchio{font-size:.52em}

/* Barra del titolo più alta e con più respiro */
.marchio-barra{height:calc(70px + env(safe-area-inset-top));padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:6px;gap:16px}
.marchio-barra .marchio-testo{gap:7px}
.marchio-barra .marchio-nome{line-height:1.15}
.login-sfondo{top:70px}
.login-scena{min-height:calc(calc(100vh / var(--zm,1)) - 70px - 52px)}
@media(max-width:575px){.marchio-barra{height:calc(62px + env(safe-area-inset-top))}.marchio-barra .marchio-icona{height:46px}.login-sfondo{top:62px}}

/* Versione nei titoli: cerchietto discreto (misure fisse, non proporzionali al titolo) */
.hm-nome .ver-cerchio{min-width:1.9em;height:1.9em}
.marchio-nome .ver-cerchio{min-width:1.9em;height:1.9em}
@media(max-width:700px){.hm-nome .ver-cerchio{font-size:9px}}

/* Versione nei titoli: ancora più piccola */
.hm-nome .ver-cerchio{font-size:8.5px;margin-left:6px;top:-1.1em;border-width:1.2px}
.marchio-nome .ver-cerchio{font-size:7px;margin-left:4px;top:-.7em;border-width:1px}
@media(max-width:700px){.hm-nome .ver-cerchio{font-size:7px}}

/* Icona TECARO sempre con il suo contorno: riquadro arrotondato blu notte con bordo oro */
.marchio-barra .marchio-icona,.hero-marchio img.hero-icona,.invito-icona,.btn-app .ico-app-img,.app-icona,.icona-lic{
  box-sizing:border-box;object-fit:contain;background:linear-gradient(145deg,#16365c,#0b1620);border:1px solid rgba(240,180,41,.6);
  box-shadow:0 8px 20px rgba(0,0,0,.4),0 0 0 3px rgba(240,180,41,.07)}
.marchio-barra .marchio-icona{width:58px!important;height:58px!important;padding:5px;border-radius:15px;margin:0}
.hero-marchio img.hero-icona{width:132px!important;height:132px!important;padding:10px;border-radius:30px}
.invito-icona{width:150px!important;height:150px!important;padding:11px;border-radius:34px}
.btn-app .ico-app-img{width:28px!important;height:28px!important;padding:2px;border-radius:8px}
.app-icona{width:50px!important;height:50px!important;padding:4px;border-radius:12px}
.icona-lic{width:72px;height:72px;padding:6px;border-radius:17px}
.ap-logo{width:20px!important;height:20px!important;border-radius:5px;border:1px solid rgba(240,180,41,.6);background-color:#0b1620!important;background-size:80%!important}
@media(max-width:700px){.hero-marchio img.hero-icona{width:96px!important;height:96px!important;padding:8px;border-radius:22px}.invito-icona{width:110px!important;height:110px!important;border-radius:26px}}
@media(max-width:575px){.marchio-barra .marchio-icona{width:46px!important;height:46px!important;padding:4px;border-radius:12px}}

/* Licenza (vista pubblica): barra fissa in cima con tutti i pulsanti */
.barra-pagina-pubblica{position:sticky;top:var(--barra,70px);z-index:1030;margin:0;padding:.55rem 1.5rem;background:#f4f6f9;border-bottom:1px solid var(--bordo,#dbe1ea)}
.barra-pagina-pubblica h3{font-size:1.25rem;color:#172033}
.barra-pagina-pubblica .btn{width:auto!important;min-width:116px;padding:0 16px}

/* Pulsantino (i) accanto alle etichette dei campi */
.btn-info-i{border:0;background:none;padding:0 2px;margin-left:2px;color:#2f6fdb;line-height:1;vertical-align:baseline;cursor:pointer}
.btn-info-i:hover,.btn-info-i:focus{color:#0b4bb3;outline:0}
.popover{max-width:320px;font-size:.85rem}

/* Titolo della sezione al centro della barra, dentro una targhetta */
.marchio-sezione{display:inline-flex;align-items:center;border:1.5px solid var(--oro);background:linear-gradient(180deg,rgba(240,180,41,.16),rgba(240,180,41,.05));box-shadow:inset 0 0 0 3px rgba(11,22,32,.9),inset 0 0 0 4px rgba(240,180,41,.28),0 4px 14px rgba(0,0,0,.35)}
@media(max-width:1299px){.marchio-sezione{padding:5px 18px;border-radius:10px}}
@media(max-width:1099px){.marchio-sezione{padding:4px 12px;border-radius:8px;box-shadow:none}}
/* Targhetta più piccola */
.marchio-sezione{font-size:1.05rem;letter-spacing:.12em;padding:4px 18px;border-radius:9px}
.marchio-sezione i{font-size:1rem;margin-right:9px}
@media(max-width:1299px){.marchio-sezione{font-size:.9rem;letter-spacing:.08em;padding:3px 14px}}
@media(max-width:1099px){.marchio-sezione{font-size:.8rem;letter-spacing:.05em;padding:3px 10px;box-shadow:none}.marchio-sezione i{font-size:.9rem;margin-right:6px}}
@media(max-width:700px){.marchio-sezione{display:none}}

/* Colori diversi per le due targhette: Help Desk arancio/oro, Gestione tecnica azzurro */
@media(max-width:1099px){.marchio-sezione.sez-hd,.marchio-sezione.sez-tec{box-shadow:none}}

/* Selettore delle sezioni nel menu: stessi colori delle targhette in alto (Help Desk arancio, Gestione tecnica azzurro) */

/* Pulsanti quadrati con sola icona (azioni di riga) */
.btn.btn-ico{min-width:0!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center}

/* Elenco delle funzioni di Impostazioni: ogni riquadro apre la sua finestra */
a.funzione-imp{text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
a.funzione-imp:hover{border-color:var(--oro,#f0b429);box-shadow:0 6px 18px rgba(0,0,0,.12);transform:translateY(-2px)}
.funzione-ico{font-size:1.7rem;color:#0b5fd0;line-height:1;flex:none;width:34px;text-align:center}
a.funzione-imp.pericolo{border-color:#c81e2b}.a.funzione-imp.pericolo .funzione-ico,a.funzione-imp.pericolo .funzione-ico{color:#c81e2b}
a.funzione-imp.pericolo h6{color:#c81e2b}

/* Spiegazione breve della funzione, sotto la barra del titolo */
.intro-pagina{display:flex;gap:8px;align-items:flex-start;color:#55607a;font-size:.9rem;line-height:1.4;margin:0 0 14px}
.intro-pagina i{color:#0b5fd0;margin-top:2px;flex:none}

/* Schede ben visibili (Autorizzazioni) */
.nav-tabs.tab-forti{border-bottom:3px solid #0b1620;gap:6px}
.nav-tabs.tab-forti .nav-link{font-weight:700;font-size:1.02rem;padding:.7rem 1.4rem;border:2px solid #cfd8e6;border-bottom:0;border-radius:12px 12px 0 0;background:#e7edf6;color:#0b3d91}
.nav-tabs.tab-forti .nav-link:hover{background:#d8e4f6;color:#0b3d91}
.nav-tabs.tab-forti .nav-link.active{background:#0b1620;border-color:#0b1620;color:#f0b429}
.nav-tabs.tab-forti .nav-link i{margin-right:6px}
/* Permessi con caselle da spuntare */
.tab-permessi td.cella-perm{white-space:nowrap}
.tab-permessi label{display:inline-flex;align-items:center;gap:3px;margin:0 6px;cursor:pointer;font-size:1.05rem}
.tab-permessi label.pv i{color:#0b5fd0}.tab-permessi label.pm i{color:#0f8a4d}
.tab-permessi input[type=checkbox]{width:17px;height:17px;cursor:pointer;accent-color:#0b5fd0}
.tab-permessi label.pm input[type=checkbox]{accent-color:#0f8a4d}
.tab-permessi input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}
.tab-permessi td.cella-perm.mod{background:#fff3cd;box-shadow:inset 0 0 0 1px #f0b429}

/* Area fissa in cima (titolo, messaggio, spiegazione, schede): resta sempre visibile e occupa poco spazio */
.area-fissa{position:sticky;top:var(--barra,54px);z-index:1030;background:#f4f6f9;margin:-1rem -1rem .75rem;padding:.4rem 1rem 0;border-bottom:3px solid #0b1620}
@media(min-width:992px){.area-fissa{margin:-1.5rem -1.5rem .75rem;padding:.45rem 1.5rem 0}}
.area-fissa .barra-pagina{position:static;margin:0 0 .25rem;padding:0;border:0;background:transparent}
.area-fissa .intro-pagina{margin:0 0 .35rem;font-size:.82rem;line-height:1.3}
.area-fissa .nav-tabs.tab-forti{border-bottom:0;gap:5px;margin:0}
.area-fissa .nav-tabs.tab-forti .nav-link{font-size:.92rem;padding:.35rem 1.1rem;border-width:2px;margin-bottom:0}
.area-fissa .alert{padding-top:.2rem!important;padding-bottom:.2rem!important;font-size:.9rem}
/* L'area fissa segue gli stessi margini della barra di pagina quando il contenuto ha meno spazio laterale */
@media(max-width:1599px){.area-fissa{margin-left:-1rem!important;margin-right:-1rem!important;padding-left:1rem!important;padding-right:1rem!important}}

/* Lucchetto: l'operazione chiede la password */
.btn.lk{position:relative}
.ico-lucchetto.lk-mini{position:absolute;opacity:1}
a.funzione-imp{position:relative}
.ico-lucchetto.lk-card{position:absolute}
/* Lucchetti più evidenti: tondino oro con lucchetto scuro */
.ico-lucchetto{font-size:1em;opacity:1}
.ico-lucchetto.lk-mini{display:inline-flex;align-items:center;justify-content:center}
.ico-lucchetto.lk-card{display:inline-flex;align-items:center;justify-content:center;background:#f0b429;color:#1a1405;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.3)}

/* Pulsanti a icona delle azioni sugli utenti: un colore per tipo di azione */
.btn.btn-ico.az-modifica{background:#0b5fd0;border-color:#0b5fd0;color:#fff}
.btn.btn-ico.az-nuova-password{background:#6d28d9;border-color:#6d28d9;color:#fff}
.btn.btn-ico.az-cambio-password{background:#c2410c;border-color:#c2410c;color:#fff}
.btn.btn-ico.az-sblocca{background:#0e7490;border-color:#0e7490;color:#fff}
.btn.btn-ico.az-disattiva{background:#c81e2b;border-color:#c81e2b;color:#fff}
.btn.btn-ico.az-riattiva{background:#0f8a4d;border-color:#0f8a4d;color:#fff}
.btn.btn-ico[class*="az-"]:hover{filter:brightness(1.12);color:#fff}
/* Lucchetti discreti: sui pulsanti a icona è un piccolo lucchetto dentro il pulsante, nell'angolo in basso a destra */
.btn.btn-ico{width:30px!important;height:28px;border-radius:7px}
.ico-lucchetto.lk-mini{top:auto;right:2px;bottom:1px;width:auto;height:auto;font-size:.56rem;line-height:1;padding:0;background:transparent;color:#fff;border-radius:0;box-shadow:none;text-shadow:0 0 2px rgba(0,0,0,.55)}
.btn.btn-ico[class*="az-"] .ico-lucchetto.lk-mini{color:#ffe08a}
.ico-lucchetto.lk-card{width:22px;height:22px;font-size:.78rem;top:9px;right:11px}

/* Sfondo del menu laterale diverso per modulo: Help Desk (caldo, con icone di assistenza) e Gestione tecnica (azzurro, con icone di manutenzione) */
.sidebar.sez-hd,.sidebar.sez-hd.offcanvas-lg{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='520' viewBox='0 0 240 520' fill='none' stroke='%23d9b78e' stroke-opacity='.09' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate%2814 16%29 rotate%28-8 30 30%29 scale%280.62%29'%3E%3Cpath d='M10 40 60 20V80L10 60ZM60 30 86 20V80L60 70M22 62 28 86H42L37 66'/%3E%3C/g%3E%3Cg transform='translate%28128 66%29 rotate%2810 30 30%29 scale%280.58%29'%3E%3Cpath d='M12 18H88V66H44L24 86V66H12ZM28 36H72M28 50H58'/%3E%3C/g%3E%3Cg transform='translate%2830 186%29 rotate%288 30 30%29 scale%280.54%29'%3E%3Cpath d='M18 58V48a32 32 0 0 1 64 0V58M10 52H24V76H10ZM76 52H90V76H76ZM84 76V82Q84 90 70 90H56'/%3E%3C/g%3E%3Cg transform='translate%28138 196%29 rotate%28-6 30 30%29 scale%280.56%29'%3E%3Cpath d='M8 24H92V76H8ZM8 24 50 56 92 24'/%3E%3C/g%3E%3Cg transform='translate%2822 300%29 rotate%28-10 30 30%29 scale%280.5%29'%3E%3Cpath d='M50 12a38 38 0 1 0 0 76 38 38 0 1 0 0-76ZM50 28V50L68 62'/%3E%3C/g%3E%3Cg transform='translate%28136 328%29 rotate%288 30 30%29 scale%280.56%29'%3E%3Cpath d='M10 28H90V44a8 8 0 0 0 0 16V74H10V60a8 8 0 0 0 0-16ZM62 28V74'/%3E%3C/g%3E%3Cg transform='translate%2850 420%29 rotate%286 30 30%29 scale%280.5%29'%3E%3Cpath d='M50 12a38 38 0 1 0 0 76 38 38 0 1 0 0-76ZM30 52 44 66 72 36'/%3E%3C/g%3E%3Cg transform='translate%28150 452%29 rotate%28-10 30 30%29 scale%280.42%29'%3E%3Cpath d='M12 18H88V66H44L24 86V66H12ZM28 36H72M28 50H58'/%3E%3C/g%3E%3C/svg%3E") center top/100% auto repeat-y,linear-gradient(180deg,#312b27,#1e1a18)!important;border-right-color:rgba(255,176,32,.35)}

/* Voce di menu attiva: stesso colore del modulo (Help Desk arancio, Gestione tecnica azzurro) */

/* Icona Home nella barra in cima */
.home-barra{border-radius:999px;border:1px solid rgba(201,214,230,.3);background:rgba(201,214,230,.08);color:#c9d6e6;font-size:1.05rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:border-color .15s,color .15s,background .15s}
.home-barra:hover{border-color:#f0b429;color:#fff;background:rgba(240,180,41,.12)}
.home-barra.attiva{border-color:#f0b429;color:#f0b429}

/* Icona Home disegnata a colori */
.home-barra{width:42px;height:36px;margin-right:10px}
.home-barra .ico-home{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));transition:transform .15s}
.home-barra:hover .ico-home{transform:translateY(-1px) scale(1.06)}
.home-barra.attiva{background:linear-gradient(180deg,rgba(255,210,77,.22),rgba(249,115,22,.12));box-shadow:0 0 0 1px rgba(240,180,41,.35)}

/* Home a sinistra, subito dopo il logo */
.marchio-barra .home-barra{margin:0 0 0 6px;flex:none}

/* Nome del modulo: striscia fissa sopra l'elenco del menu, nel colore del modulo */
.sidebar .menu-modulo{flex:none;display:flex;align-items:center;gap:9px;padding:9px 16px 8px;font-size:.92rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid currentColor;background:rgba(0,0,0,.2)}
.sidebar .menu-modulo i{font-size:1.05rem}

/* «v1» più chiaro nelle testate scure (stesse dimensioni) */

/* Pulsante App: un colore tutto suo (magenta), diverso da ogni altro pulsante */

/* Pulsante App: verde lime (colore tutto suo) */
.btn-app{background:linear-gradient(135deg,#d9f99d,#84cc16)!important;border:1px solid #bef264!important;color:#1a2e05!important;box-shadow:0 2px 10px rgba(132,204,22,.4)}
.btn-app:hover{filter:brightness(1.06);color:#1a2e05!important}

/* Guida: pulsante «?» nella barra in alto e finestra con la spiegazione */
.guida-btn{width:42px;height:36px;margin-right:8px;border-radius:999px;border:1px solid rgba(201,214,230,.3);background:rgba(201,214,230,.08);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:border-color .15s,background .15s}
.guida-btn:hover{border-color:#6db3ff;background:rgba(109,179,255,.16)}
.guida-btn svg{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));transition:transform .15s}
.guida-btn:hover svg{transform:scale(1.08)}
.guida-box{border-radius:16px;border:0;overflow:hidden}
.guida-box .modal-header{background:linear-gradient(135deg,#0b5fd0,#2f8cf0);color:#fff;border:0;padding:.8rem 1.1rem}
.guida-box .modal-title{font-size:1.05rem;font-weight:700;display:flex;gap:8px;align-items:center}
.guida-box .btn-close{filter:invert(1) grayscale(1) brightness(2)}
.guida-box .modal-body{padding:1rem 1.2rem 1.2rem}
.guida-serve{font-size:1rem;font-weight:600;color:#172033;margin:0 0 .8rem}
.guida-box h6{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8a5a00;margin:0 0 .4rem}
.guida-passi{padding-left:1.25rem;margin:0 0 .8rem}
.guida-passi li{margin-bottom:.45rem;color:#2b3750;line-height:1.45}
.guida-passi li::marker{color:#0b5fd0;font-weight:700}
.guida-att{background:#fff6dc;border:1px solid #f0b429;border-radius:10px;padding:.55rem .8rem;color:#6b4a00;font-size:.9rem}

/* Logo più a sinistra nella barra in cima: si recupera spazio */
.marchio-barra{padding-left:10px!important}
@media(max-width:575px){.marchio-barra{padding-left:8px!important}}

/* Barra in basso più compatta: più bassa e con meno margine ai lati */
.barra-stato{font-size:.74rem;gap:18px;padding-left:10px!important;padding-right:14px!important}
@media(max-width:575px){.barra-stato{padding-left:8px!important;padding-right:10px!important}}
.content{padding-bottom:3rem!important}

/* Finestra della guida: libera (si sposta, si ridimensiona, si riduce) */
.guida-fin{position:fixed;z-index:2100;left:0;top:0;min-width:260px;min-height:130px;max-width:calc(96vw / var(--zm,1));max-height:calc(94vh / var(--zm,1));display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 18px 48px rgba(0,0,0,.5),0 0 0 1px rgba(11,95,208,.4);overflow:hidden}
.guida-fin.nascosta{display:none}
.guida-testa{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:.55rem .6rem .55rem .9rem;background:linear-gradient(135deg,#0b5fd0,#2f8cf0);color:#fff;cursor:move;user-select:none;touch-action:none;flex:none}
.guida-tit{font-weight:700;font-size:.98rem;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guida-cmd{display:flex;gap:4px;flex:none}
.guida-cmd button{width:28px;height:26px;border:0;border-radius:7px;background:rgba(255,255,255,.18);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;cursor:pointer;padding:0}
.guida-cmd button:hover{background:rgba(255,255,255,.34)}
.guida-corpo{flex:1;min-height:0;overflow:auto;padding:.9rem 1.1rem 1.4rem}
.guida-fin.ridotta{height:auto!important;min-height:0}
.guida-fin.ridotta .guida-corpo,.guida-fin.ridotta .guida-grip{display:none}
.guida-grip{position:absolute;right:0;bottom:0;width:22px;height:22px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 0 50%,#9db4d6 50% 58%,transparent 58% 68%,#9db4d6 68% 76%,transparent 76% 86%,#9db4d6 86% 94%,transparent 94%)}
.guida-fin.in-uso{user-select:none}

/* Spiegazione in chiaro dentro le pagine (es. Integrazioni) */
.spiega-sez{background:#f6f9fd;border:1px solid #dbe6f5;border-radius:12px;padding:.8rem 1rem;margin:.4rem 0 .6rem;font-size:.92rem}
.spiega-sez h6{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8a5a00;margin:0 0 .3rem}
.spiega-sez ol{padding-left:1.2rem}.spiega-sez li{margin-bottom:.3rem}

.guida-fin{width:440px;height:500px}
ul.guida-passi{list-style:none;padding-left:0}
ul.guida-passi li{position:relative;padding-left:1rem}
ul.guida-passi li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#2f8cf0}

/* Guida a schermo intero */
.guida-fin.massima{left:8px!important;top:8px!important;width:calc(calc(100vw / var(--zm,1)) - 16px)!important;height:calc(calc(100vh / var(--zm,1)) - 16px)!important;max-width:none;max-height:none;border-radius:12px}
.guida-fin.massima .guida-grip{display:none}
.guida-fin.massima .guida-testa{cursor:default}
.guida-fin.massima .guida-corpo{padding:1.4rem clamp(1.2rem,8vw,6rem) 2rem;font-size:1.08rem}
.guida-fin.massima .guida-serve{font-size:1.25rem}

/* Statistiche */
.tab-stat tfoot th{border-top:2px solid #172033}
.barra-stat{height:10px;background:#e7edf6;border-radius:6px;overflow:hidden}
.barra-stat span{display:block;height:100%;background:linear-gradient(90deg,#0b5fd0,#2f8cf0);border-radius:6px}

/* Finestra di conferma con le informazioni */
.conferma-box{border-radius:16px;border:0;overflow:hidden}
#mdElimina .modal-dialog{max-width:380px}      /* caselle di conferma non lunghissime */
.conferma-testa{background:linear-gradient(135deg,#c81e2b,#e5484d);color:#fff;border:0;padding:.7rem 1rem}
.conferma-testa .modal-title{font-size:1rem;font-weight:700;display:flex;gap:8px;align-items:center}
.conferma-testa .btn-close{filter:invert(1) grayscale(1) brightness(2)}
.conferma-op{background:#fff6dc;border:1px solid #f0b429;border-radius:10px;padding:.5rem .8rem;margin:0 0 .8rem;color:#6b4a00}
.conferma-info{margin:.9rem 0 0;padding:0;list-style:none;font-size:.86rem;color:#3d4a63}
.conferma-info li{position:relative;padding-left:1.1rem;margin-bottom:.3rem}
.conferma-info li::before{content:"\F431";font-family:bootstrap-icons;position:absolute;left:0;top:0;color:#0b5fd0;font-size:.8rem}
/* Testata della conferma: testo e lucchetto bianchi sul rosso */
.conferma-testa .modal-title,.conferma-testa .modal-title i,.conferma-testa h6{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none}

/* Azioni sugli utenti: pulsanti rotondi, senza sfondo, con bordo colorato e lucchetto ben visibile */
.btn.btn-ic[class*="az-"]{--az:#0b5fd0;position:relative;color:var(--az)!important;border:2px solid var(--az)!important;border-radius:50%!important;box-shadow:none;overflow:visible}
.btn.btn-ic.az-nuova-password{--az:#7c3aed}
.btn.btn-ic.az-cambio-password{--az:#c2410c}
.btn.btn-ic.az-sblocca{--az:#0e7490}
.btn.btn-ic.az-disattiva{--az:#c81e2b}
.btn.btn-ic.az-riattiva{--az:#0f8a4d}
.btn.btn-ic[class*="az-"]:hover{color:var(--az)!important;filter:none}
.btn.btn-ic[class*="az-"] .ico-lucchetto.lk-mini{position:absolute;right:-5px;bottom:-5px;top:auto;width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;font-size:.58rem;line-height:1;padding:0;border-radius:50%;background:#f0b429;color:#1a1405;text-shadow:none;box-shadow:0 0 0 1.5px #fff,0 1px 3px rgba(0,0,0,.35)}

/* Velo di colore dietro i pulsanti delle azioni */
.btn.btn-ic[class*="az-"]{background:color-mix(in srgb,var(--az) 11%,#fff)!important}
.btn.btn-ic[class*="az-"]:hover{background:color-mix(in srgb,var(--az) 24%,#fff)!important}

/* Pulsanti rotondi delle altre pagine (elenchi, schede): stesso stile delle azioni sugli utenti */
.btn.btn-ic[class*="btn-outline-"]{--az:#0b5fd0;position:relative;background:color-mix(in srgb,var(--az) 11%,#fff)!important;color:var(--az)!important;border:2px solid var(--az)!important;border-radius:50%!important;box-shadow:none;overflow:visible}
.btn.btn-ic.btn-outline-primary{--az:#0b5fd0}
.btn.btn-ic.btn-outline-secondary{--az:#0e7490}
.btn.btn-ic.btn-outline-danger{--az:#c81e2b}
.btn.btn-ic.btn-outline-success{--az:#0f8a4d}
.btn.btn-ic.btn-outline-warning{--az:#b45309}
.btn.btn-ic.btn-outline-info{--az:#7c3aed}
.btn.btn-ic[class*="btn-outline-"]:hover,.btn.btn-ic[class*="btn-outline-"]:focus{background:color-mix(in srgb,var(--az) 24%,#fff)!important;color:var(--az)!important;filter:none}
.btn.btn-ic .ico-lucchetto.lk-mini{position:absolute;right:-5px;bottom:-5px;top:auto;width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;font-size:.58rem;line-height:1;padding:0;border-radius:50%;background:#f0b429;color:#1a1405;text-shadow:none;box-shadow:0 0 0 1.5px #fff,0 1px 3px rgba(0,0,0,.35)}
.az-griglia form{margin:0;display:block}
.az-tit{display:inline-block;text-align:left}
.az-griglia{grid-template-columns:repeat(2,28px)}
.az-tit{width:164px}
.az-griglia .btn.btn-ic{width:28px;min-width:28px!important;height:28px;font-size:.8rem}
.az-griglia .btn.btn-ic .ico-lucchetto.lk-mini{width:13px;height:13px;font-size:.5rem;right:-4px;bottom:-4px}
.btn.btn-ic[class*="btn-outline-"]{width:28px;min-width:28px!important;height:28px;font-size:.8rem}
.btn.btn-ic[class*="btn-outline-"] .ico-lucchetto.lk-mini{width:13px;height:13px;font-size:.5rem;right:-4px;bottom:-4px}

/* REGOLA: i pulsanti con testo sono larghi quanto serve: 4 spazi prima e dopo il testo */
.btn:not(.btn-ic):not(.btn-menu):not(.btn-esci):not(.pw-eye):not(.btn-close):not(.btn-vaisu):not(.btn-filtra),
.btn.az-auto,#appArea .btn,.app-installa .btn,.app-alt .btn,.app-hotspot .btn,.lic-chiudi .btn,.barra-pagina-pubblica .btn{width:auto!important;min-width:0!important;padding:0 calc(4 * .27em + 0px);padding-inline:1.1em;flex:none!important}
.modal-footer{justify-content:flex-end}

/* Caselle di testo e checkbox ben evidenti */
.form-control,.form-select{border:1.5px solid #8a9bb5;background-color:#fff}
.form-control:hover,.form-select:hover{border-color:#5b7396}
.form-control:focus,.form-select:focus{border-color:#0b5fd0;box-shadow:0 0 0 .22rem rgba(11,95,208,.25)}
.form-check-input{width:1.35em;height:1.35em;margin-top:.1em;border:2px solid #5b7396;background-color:#fff}
.form-check-input:hover{border-color:#0b5fd0}
.form-check-input:checked{background-color:#0b5fd0;border-color:#0b5fd0}
.form-check-input:focus{box-shadow:0 0 0 .22rem rgba(11,95,208,.25)}
.form-check{padding:.45rem .6rem .45rem 2.1em;border-radius:10px;background:color-mix(in srgb,#0b5fd0 5%,transparent)}
.form-check .form-check-input{margin-left:-1.75em}
.form-check:has(.form-check-input:checked){background:color-mix(in srgb,#0b5fd0 12%,transparent)}
.form-switch{background:transparent}
.form-switch .form-check-input{width:2.4em;height:1.3em}

/* Le caselle di conferma (password, frasi, file) non si allungano a tutta la scheda */
:is(.mb-0,.mb-2,.mb-3)>:is(input.form-control,div:has(>input.form-control)){max-width:380px}
:is(.mb-0,.mb-2,.mb-3)>.pw-wrap,:is(.mb-0,.mb-2,.mb-3)>div>.pw-wrap,:is(.mb-0,.mb-2,.mb-3)>div:has(>.pw-wrap){max-width:380px}

@media (max-width:991px){}
@media (max-width:991px){}
/* «Vai su» torna da solo in basso a destra */
.btn-vaisu{bottom:46px!important;width:42px;height:42px}
@media (max-width:991px){.btn-vaisu{bottom:46px!important}}
.in-app .btn-vaisu{bottom:calc(46px + env(safe-area-inset-bottom))!important}


/* ===== Ricerca globale ===== */
mark{background:rgba(240,180,41,.35);color:inherit;padding:0 1px;border-radius:3px}
.btn.btn-auto{width:auto!important;min-width:116px;padding:0 16px}

.cerca-box{position:relative;display:inline-flex;align-items:center}
.cerca-campo{position:relative;display:flex;align-items:center;width:clamp(190px,calc(24vw / var(--zm,1)),380px);transition:width .15s}
.cerca-campo:focus-within{width:clamp(220px,calc(32vw / var(--zm,1)),460px)}
.cerca-ic{position:absolute;left:12px;color:#c8d3e0;font-size:.9rem;pointer-events:none}
.cerca-input{width:100%;height:34px;border-radius:999px;border:1px solid rgba(201,214,230,.3);background:rgba(201,214,230,.08);color:#e6eef8;padding:0 62px 0 34px;font-size:.88rem;outline:0;-webkit-appearance:none;appearance:none}
.cerca-input::placeholder{color:#c8d3e0}
.cerca-input:focus{border-color:#6db3ff;background:rgba(109,179,255,.1);box-shadow:0 0 0 2px rgba(109,179,255,.25)}
.cerca-input::-webkit-search-cancel-button{display:none}
.cerca-tasto{position:absolute;right:10px;font:600 .66rem/1 Consolas,monospace;color:#c8d3e0;border:1px solid rgba(201,214,230,.3);border-radius:6px;padding:3px 6px;background:transparent;pointer-events:none}
.cerca-campo:focus-within .cerca-tasto{display:none}
.cerca-lente{display:none;align-items:center;justify-content:center}
.cerca-pannello{position:absolute;right:0;top:calc(100% + 10px);width:min(640px,calc(94vw / var(--zm,1)));max-height:calc(70vh / var(--zm,1));overflow:auto;background:#13202f;border:2px solid #6db3ff;border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.5);z-index:1050;color:#e4edf7}
.cerca-pannello[hidden]{display:none}
.cerca-mobile-testa{display:none}
.cp-grupo{padding:6px 6px 2px}
.cp-gtesta{display:flex;align-items:center;gap:8px;padding:6px 10px;color:#f0b429;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cp-gtesta .cp-n{color:#c8d3e0;font-weight:600}
.cp-gtesta a{margin-left:auto;color:#6db3ff;text-transform:none;letter-spacing:0;font-weight:600;text-decoration:none}
.cp-voce{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:#e4edf7;text-decoration:none;font-size:.88rem;line-height:1.3;cursor:pointer}
.cp-voce:hover,.cp-voce.sel{background:rgba(109,179,255,.16);color:#fff}
.cp-voce .cp-t{display:flex;flex-direction:column;min-width:0;flex:1}
.cp-voce .cp-tit{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-voce .cp-sotto{color:#c8d3e0;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-voce .cp-est{color:#b7c6d8;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-voce mark{background:rgba(240,180,41,.4);color:#fff}
.cp-voce .stato-t{font-size:.72rem}
.cp-msg{padding:12px 14px;color:#c8d3e0;font-size:.86rem}
.cp-chiedi{text-decoration:none;display:flex;gap:8px;align-items:center;margin:6px;padding:8px 10px;border-radius:8px;background:rgba(240,180,41,.12);color:#ffd27a;cursor:pointer;font-size:.86rem;border:0;width:calc(100% - 12px);text-align:left}
.cp-chiedi:hover,.cp-chiedi.sel{background:rgba(240,180,41,.22)}
.cp-chip{display:inline-block;margin:3px;padding:3px 10px;border-radius:999px;border:1px solid rgba(201,214,230,.3);color:#c9d6e6;font-size:.78rem;cursor:pointer;background:transparent}
.cp-chip:hover{border-color:#6db3ff;color:#fff}
.cp-piede{padding:6px 12px 10px;color:#7d92ab;font-size:.72rem}
@media (max-width:767px){
  .cerca-campo{display:none}.cerca-lente{display:inline-flex}
  .cerca-box.aperto .cerca-campo{display:flex;position:fixed;top:calc(env(safe-area-inset-top) + 56px);left:12px;right:12px;width:auto;z-index:2000}
  .cerca-box.aperto .cerca-input{height:44px;font-size:16px}
  .cerca-box.aperto .cerca-tasto{display:none}
  .cerca-box.aperto .cerca-pannello{position:fixed;inset:0;width:auto;max-height:none;border:0;border-radius:0;padding-top:calc(env(safe-area-inset-top) + 112px);z-index:1999;background:#0f1b27}
  .cerca-box.aperto .cerca-mobile-testa{display:flex;position:fixed;top:0;left:0;right:0;height:calc(env(safe-area-inset-top) + 52px);padding:env(safe-area-inset-top) 12px 0;align-items:center;justify-content:space-between;color:#f0b429;font-weight:700;background:#0b1620;z-index:2001}
  .cerca-pannello .cerca-corpo{padding-bottom:env(safe-area-inset-bottom)}
}
/* pagina dei risultati */
.cerca-form .gruppo-cerca{width:320px}
.cerca-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.cerca-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:4px 12px;border-radius:999px;border:1.5px solid var(--bordo);background:#fff;color:var(--testo);font-size:.84rem;text-decoration:none;cursor:pointer}
.cerca-chip:hover{border-color:var(--blu);color:var(--blu)}
.cerca-chip.on{background:var(--blu);border-color:var(--blu);color:#fff}
.cg-testa{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--bordo)}
.cg-testa i{color:var(--oro-cupo)}
.cg-n{color:var(--atten);font-size:.84rem}
.cg-tutti{margin-left:auto;font-size:.86rem;text-decoration:none}
.cerca-riga{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #eef1f6;color:var(--testo);text-decoration:none;min-height:56px}
.cerca-riga:last-child{border-bottom:0;border-radius:0 0 .5rem .5rem}
.cerca-riga:hover{background:#f4f8ff}
.cr-testo{display:flex;flex-direction:column;min-width:0;flex:1}
.cr-tit{font-weight:600}.cr-sotto{color:var(--atten);font-size:.84rem}.cr-estratto{color:#3c4a63;font-size:.84rem}.cr-estratto em{font-style:normal;color:var(--oro-cupo);font-weight:600}
.cerca-risposta-voci{border:1px solid var(--bordo);border-radius:10px;overflow:hidden;margin-top:6px}

.om-voce{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-top:4px;border:1px solid #dbe1ea;border-radius:8px;background:#fff;color:#172033;text-decoration:none;font-size:.82rem}
.om-voce:hover{border-color:#0b5fd0;background:#f4f8ff}
.om-voce .om-t{display:flex;flex-direction:column;min-width:0;flex:1}.om-voce .om-tit{font-weight:600}.om-voce .om-sotto{color:#55607a;font-size:.74rem}
.om-grp{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a5a00;margin:8px 0 2px}

.cerca-input:focus-visible{outline:3px solid #0b5fd0;outline-offset:2px}

/* Barra non larga abbastanza (lo decide lo script in base allo spazio libero: classe «cerca-stretta»): la casella di ricerca diventa una lente e si apre sotto */
@media (min-width:768px){
  .cerca-box.cerca-stretta .cerca-campo{display:none}.cerca-box.cerca-stretta .cerca-lente{display:inline-flex}
  .cerca-box.cerca-stretta.aperto .cerca-campo{display:flex;position:fixed;--cw:min(460px,calc(100vw - 32px));top:calc(var(--barra,54px) + 8px);right:16px;width:min(460px,calc(calc(100vw / var(--zm,1)) - 32px));z-index:2000}
  .cerca-box.cerca-stretta.aperto .cerca-tasto{display:none}
  .cerca-box.cerca-stretta.aperto .cerca-pannello{position:fixed;top:calc(var(--barra,54px) + 52px);right:16px;left:auto;width:min(640px,calc(calc(100vw / var(--zm,1)) - 32px));max-height:calc(calc(100vh / var(--zm,1)) - var(--barra,54px) - 80px);z-index:1999}
}

.cerca-box.aperto .cerca-campo{background:#0b1620;border-radius:999px;box-shadow:0 0 0 6px #0b1620}

/* Telefono: la prima barra deve mostrare tutte le funzioni (menu, logo, home, ricerca, guida, notifiche, collegati, esci) */
@media (max-width:575px){
  .marchio-barra{gap:5px!important;padding-left:8px!important;padding-right:8px!important;flex-wrap:nowrap}
  .marchio-testo{display:none!important}
  .marchio-link{gap:0!important}
  .marchio-icona{height:38px!important;width:auto}
  .marchio-barra .btn-menu{width:34px;min-width:34px!important;height:34px;padding:0}
  .home-barra{width:32px!important;height:32px!important;flex:none}
  
  .marchio-destra{gap:5px!important;min-width:0;flex:1 1 auto;justify-content:flex-end}
  .marchio-destra .guida-btn,.marchio-destra .cerca-lente,.marchio-destra .campana-box>button,.marchio-destra .tavolozza-box>button{width:32px!important;height:32px!important;min-width:32px!important;padding:0!important}
  .marchio-destra .collegati{padding:0 8px!important;gap:5px}
  .marchio-destra .collegati .bi-chevron-down,.marchio-destra .collegati .coll-testo{display:none!important}
  .marchio-destra .btn-esci{padding:0 10px!important;min-width:0!important;width:auto!important;height:32px}
}
@media (max-width:389px){
  .marchio-destra .tavolozza-box{display:none!important}
}

/* Nella Home il pulsante Home non serve: ci si è già */
.home-barra.attiva{display:none!important}

/* Aree territoriali: l'elenco dei punti vendita si apre solo su richiesta */
.elenco-pdv>summary{cursor:pointer;list-style:none;font-weight:600;color:var(--blu,#0b5fd0);padding:6px 0;user-select:none}
.elenco-pdv>summary::-webkit-details-marker{display:none}
.elenco-pdv>summary .bi{display:inline-block;transition:transform .15s}
.elenco-pdv[open]>summary .bi{transform:rotate(90deg)}
.elenco-pdv[open]>summary{color:var(--testo,#172033)}

/* Aree territoriali: righe semplici cliccabili con il titolare */
.lista-aree{background:#fff;border:1px solid var(--bordo,#dfe6f0);border-radius:12px;overflow:hidden}
.la-testa,.riga-area>summary{display:grid;grid-template-columns:22px minmax(150px,1.2fr) minmax(150px,1.4fr) 110px 44px;align-items:center;gap:10px;padding:9px 14px}
.la-testa{background:#f3f6fb;color:var(--oro-cupo,#a87a00);font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--bordo,#dfe6f0)}
.riga-area{border-bottom:1px solid var(--bordo,#dfe6f0)}
.riga-area:last-child{border-bottom:0}
.riga-area>summary{cursor:pointer;list-style:none;min-height:48px}
.riga-area>summary::-webkit-details-marker{display:none}
.riga-area>summary:hover{background:#f6f9fe}
.riga-area[open]>summary{background:#eef4fd}
.la-freccia{transition:transform .15s;color:#6b7893}
.riga-area[open] .la-freccia{transform:rotate(90deg)}
.la-nome{font-weight:600}
.la-n{text-align:right;font-weight:600;color:#0b5fd0}
.la-corpo{padding:6px 14px 14px 46px;background:#fafcff;border-top:1px solid var(--bordo,#dfe6f0)}
.la-avviso>summary{background:#fff8e6}
@media (max-width:640px){.la-testa,.riga-area>summary{grid-template-columns:18px 1fr 70px 40px}.la-tit{display:none}.la-testa span:nth-child(3){display:none}.la-corpo{padding-left:14px}}

/* Ticket → E-mail: pulsante «Leggi» al posto dell'etichetta */
details>summary .leggi-mail .l-chiudi{display:none}
details[open]>summary .leggi-mail .l-apri{display:none}
details[open]>summary .leggi-mail .l-chiudi{display:inline}
details>summary:has(.leggi-mail){cursor:pointer;list-style:none}
details>summary:has(.leggi-mail)::-webkit-details-marker{display:none}

/* Comunicazioni scritte da una persona (note, messaggi, esiti): in blu per individuarle subito */
.com-blu{color:#0b5fd0;font-weight:600}

/* Importazione ed esportazione delle anagrafiche (pulsanti nella barra fissa, pagina importa.php) */
.io-esporta-box{display:inline-block}
.io-esporta{min-width:260px;max-width:380px;padding:8px}
.io-esporta .io-vista{padding:4px 10px 8px;border-bottom:1px solid var(--bordo);margin-bottom:4px;font-size:.84rem;white-space:normal}
.io-esporta .io-vista.form-check{padding-left:2rem}
.io-esporta .dropdown-item{border-radius:8px;white-space:normal;display:flex;align-items:center;gap:8px}
.io-passi{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 14px;padding:0}
.io-passi li{display:flex;align-items:center;gap:8px;padding:5px 14px 5px 6px;border:1px solid var(--bordo);border-radius:999px;background:#fff;color:var(--atten);font-size:.86rem}
.io-passi li b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--bordo);color:var(--testo);font-size:.78rem}
.io-passi li.on{border-color:var(--oro);color:var(--testo);font-weight:600}
.io-passi li.on b{background:linear-gradient(135deg,#f0b429,#fb923c);color:#1a1405}
.io-passi li.fatto b{background:#16a34a;color:#fff}
.io-conta{display:flex;flex-wrap:wrap;gap:10px}
.io-conta>div{flex:1 1 140px;max-width:240px;padding:10px 14px;border-radius:12px;border:1px solid var(--bordo);background:#fff;display:flex;flex-direction:column}
.io-conta b{font-size:1.6rem;line-height:1.1}
.io-conta span{font-size:.78rem;color:var(--atten)}
.io-conta .c-ok b{color:#15803d}.io-conta .c-agg b{color:#0b5fd0}.io-conta .c-inv b{color:var(--atten)}.io-conta .c-err b{color:#c81e2b}
.io-mappa .form-select{max-width:340px}
.btn.az-auto.btn-indietro{min-width:0}

/* Finestra «Esporta» delle anagrafiche */
.io-modale .modal-content{border:0;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.io-testa{display:flex;align-items:center;background:linear-gradient(120deg,#0f3d63,#1565c0 60%,#1e88e5);color:#fff}
.io-testa h5{margin:0;font-weight:800}.io-testa p{margin:2px 0 0;opacity:.9}
.io-logo{background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex:none}
.io-modale .modal-body{padding:20px 22px}
.io-stessa{display:flex;align-items:center;background:rgba(240,180,41,.16);border:1px solid rgba(240,180,41,.55);border-radius:12px}
.io-stessa>i{color:#d97706;flex:none}
.io-titolo{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--bs-secondary-color,#6b7686)}
.io-punti{display:grid}
.io-punto{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--bs-border-color,#dde3ee);border-radius:12px;padding:10px 12px}
.io-punto:first-child{background:rgba(21,101,192,.08);border-color:rgba(21,101,192,.4)}
.io-punto>i{color:#1565c0;flex:none;margin-top:1px}
.io-punto b{display:block}.io-punto span{color:var(--bs-secondary-color,#5a6678)}
.io-modale .io-vista{border-radius:12px;background:rgba(127,127,127,.1)}
.io-formati{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.io-fmt{display:flex;border-radius:14px;border:2px solid var(--bs-border-color,#dde3ee);text-decoration:none;color:inherit;transition:transform .12s,border-color .12s,box-shadow .12s}
.io-fmt>i{line-height:1.1}.io-fmt small{color:var(--bs-secondary-color,#6b7686)}
.io-fmt-xlsx>i{color:#1d8a4b}.io-fmt-csv>i{color:#d97706}.io-fmt-txt>i{color:#5b6b83}
.io-scarica{border-radius:999px;background:#1565c0;color:#fff;font-weight:700}
.io-fmt:hover{transform:translateY(-2px);border-color:#1565c0;box-shadow:0 8px 18px rgba(21,101,192,.25);color:inherit}
.io-nota{margin:12px 0 0;color:var(--bs-secondary-color,#6b7686);text-align:center}
@media(max-width:575px){.io-punti,.io-formati{grid-template-columns:1fr}.io-testa p{display:none}}

.io-modale .io-esporta{min-width:0;max-width:none}

/* «Esporta»: versione compatta, tutta visibile senza scorrere */
.io-testa{padding:12px 18px;gap:12px}.io-logo{width:38px;height:38px;font-size:1.35rem;border-radius:11px}
.io-testa h5{font-size:1.05rem}.io-testa p{font-size:.8rem}
.io-modale .io-esporta{padding:12px 18px}
.io-stessa{padding:8px 12px;font-size:.84rem;gap:10px}.io-stessa>i{font-size:1.3rem}
.io-titolo{margin:12px 0 6px;font-size:.68rem}
.io-punti{gap:6px}
.io-punto,.io-punto:first-child{grid-column:auto;padding:6px 10px;gap:8px}
.io-punto>i{font-size:1.05rem}.io-punto b{font-size:.82rem}.io-punto span{font-size:.76rem;line-height:1.3}
.io-modale .io-vista{margin-top:8px;padding:6px 12px 6px 2.2rem;font-size:.8rem}
.io-fmt{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 8px;padding:8px 6px;border-width:1px;text-align:left}
.io-fmt>i{font-size:1.5rem}.io-fmt b{font-size:.92rem}.io-fmt small{flex-basis:100%;text-align:center;font-size:.7rem}
.io-scarica{margin-top:2px;padding:1px 12px;font-size:.74rem}
.io-nota{margin-top:8px;font-size:.76rem}
.io-modale .modal-footer{padding:8px 18px}
.io-modale .modal-dialog{max-width:min(1100px,calc(96vw / var(--zm,1)))}
.io-punti{grid-template-columns:repeat(3,1fr)}
.io-punto:first-child{grid-column:1/-1}
@media(max-width:991px){.io-punti{grid-template-columns:1fr 1fr}}
@media(max-width:575px){.io-punti{grid-template-columns:1fr}}

/* Importa · passo 1: scheda verde e scelta del file ben evidente */
.imp-carica{background:#e6f7ec;border:2px solid #34a853;box-shadow:0 6px 18px rgba(52,168,83,.22)}
.imp-carica h6{color:#166534}
.imp-carica .text-muted{color:#2f4f3a!important}
.imp-file{font-size:1.05rem;font-weight:600;background:#fff;border:3px dashed #1e8e3e;color:#14532d}
.imp-file::file-selector-button{background:#1e8e3e;color:#fff;border:0;border-radius:999px;padding:9px 22px;margin-right:16px;font-weight:700;font-size:1rem;cursor:pointer}
.imp-file::file-selector-button:hover{background:#166534}
.imp-file:focus{border-color:#14532d;box-shadow:0 0 0 .3rem rgba(30,142,62,.3)}
.imp-file{max-width:440px;padding:34px 18px;border-radius:18px}
.imp-carica .imp-file{padding:34px 18px!important;height:auto!important;min-height:110px!important;line-height:1.4}

.imp-drop{position:relative;max-width:440px}
.imp-drop-t{position:absolute;left:0;right:0;top:16px;text-align:center;font-weight:800;color:#166534;font-size:1.05rem;pointer-events:none;z-index:1}
.imp-drop-t i{font-size:1.4rem;vertical-align:-3px;margin-right:4px}.imp-drop-t small{display:block;font-weight:600;font-size:.78rem;color:#2f4f3a}
.imp-drop.sopra .imp-file{background:#d6f3df;border-color:#14532d}

.io-chips{display:flex;flex-wrap:wrap;gap:5px}
.io-chip{font-size:.76rem;padding:2px 10px;border-radius:999px;background:rgba(127,127,127,.14);border:1px solid rgba(127,127,127,.3)}
.io-chip-k{background:rgba(240,180,41,.25);border-color:#d97706;font-weight:700}
.io-chip-o{background:rgba(21,101,192,.12);border-color:#1565c0}

/* Versione (v1) nel marchio: più bassa, vicina al nome, testo bianco (cerchio giallo) */
.marchio-nome .ver-cerchio,.hm-nome .ver-cerchio{top:-.3em;margin-left:2px;color:#fff;-webkit-text-fill-color:#fff;text-shadow:none;border-color:#fff}

/* Menu laterale: voci su una riga sola, contatori, tastino per chiuderlo e bordo trascinabile */
.sidebar .nav-link,.sidebar .menu-sezioni a{white-space:nowrap}
.sidebar #menuVoci .nav-link{display:flex;align-items:center;min-width:0}
.sidebar #menuVoci .nav-link>i{flex:none}
.sidebar .nav-lab{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.sidebar .nav-cnt{flex:none;margin-left:8px;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-style:normal;font-size:.72rem;font-weight:800;line-height:20px;text-align:center}
.sidebar .nav-cnt.rit{background:#dc2626;color:#fff}
.sidebar .nav-link.active .nav-cnt{background:var(--oro,#f0b429);color:#1a1405}
.sidebar .nav-link.active .nav-cnt.rit{background:#dc2626;color:#fff}
.sidebar .menu-sezioni a{overflow:hidden;text-overflow:ellipsis}
.sidebar .nav-gruppo{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-toggle,.side-resize{display:none}
@media(min-width:992px){
  .side-toggle{display:flex;position:absolute;top:12px;right:-13px;width:26px;height:26px;padding:0;border-radius:50%;align-items:center;justify-content:center;background:#22344a;color:#f0b429;border:2px solid #f0b429;font-size:.8rem;cursor:pointer;z-index:1045;box-shadow:0 2px 8px rgba(0,0,0,.4)}
  .side-toggle:hover{background:#f0b429;color:#1a1405}
  .side-resize{display:block;position:absolute;top:0;bottom:0;right:-4px;width:8px;cursor:col-resize;z-index:1044}
  .side-resize:hover,.menu-trascina .side-resize{background:rgba(240,180,41,.45)}
  .sidebar.menu-largo,.sidebar.menu-largo.offcanvas-lg{width:var(--menu-w,240px)!important}
  .sidebar.menu-chiuso,.sidebar.menu-chiuso.offcanvas-lg{width:0!important;min-width:0;border-right:0;box-shadow:none;background:none!important}
  .sidebar.menu-chiuso>*:not(.side-toggle):not(.side-resize){display:none!important}
  .sidebar.menu-chiuso .side-toggle{right:-30px}
  .sidebar.menu-chiuso .side-resize{right:-8px;width:12px}
  body.menu-trascina{user-select:none;cursor:col-resize}
}

@media(min-width:992px){
  .side-toggle{position:fixed;top:calc(var(--barra,54px) + 12px);right:auto;z-index:1060}
  .side-resize{position:fixed;top:var(--barra,54px);bottom:0;right:auto;width:8px;z-index:1059}
  .sidebar.menu-chiuso .side-toggle{right:auto}
  .sidebar.menu-chiuso .side-resize{right:auto;width:8px}
}
/* larghezza del menu = voce più lunga del modulo (Help Desk e Gestione tecnica possono avere larghezze diverse) */
@media(min-width:992px){.sidebar,.sidebar.offcanvas-lg{width:max-content;min-width:215px;max-width:360px}
  .sidebar.menu-largo,.sidebar.menu-largo.offcanvas-lg{min-width:0;max-width:none}
  .sidebar.menu-chiuso,.sidebar.menu-chiuso.offcanvas-lg{min-width:0;max-width:0}}

/* Contatori del menu: colonna allineata a destra, sfondo trasparente, bordo e numero del proprio colore */
.sidebar .nav-cnt,.sidebar .nav-link.active .nav-cnt,.sidebar .nav-cnt.rit{box-sizing:border-box;width:32px;min-width:32px;height:22px;padding:0;margin-left:8px;background:transparent!important;border:2px solid currentColor;border-radius:999px;font-size:.72rem;font-weight:800;line-height:18px;text-align:center}
.sidebar .nav-cnt.c-blu{color:#7fb2ff!important}.sidebar .nav-cnt.c-azzurro{color:#4fd0e8!important}.sidebar .nav-cnt.c-arancio{color:#ffa94d!important}
.sidebar .nav-cnt.c-verde{color:#5fd68a!important}.sidebar .nav-cnt.c-viola{color:#c4a1ff!important}.sidebar .nav-cnt.c-rosso{color:#ff6b6b!important}
/* Contatori del menu neutri: i colori degli stati restano solo nell'alveare; rosso solo se c'è un ritardo/urgenza */
.sidebar .nav-cnt.c-blu,.sidebar .nav-cnt.c-azzurro,.sidebar .nav-cnt.c-arancio,.sidebar .nav-cnt.c-verde,.sidebar .nav-cnt.c-viola{color:#c9d6e6!important}
.sidebar .nav-link.active .nav-cnt:not(.c-rosso){color:#f0b429!important}
/* pulsanti dei moduli un po' più piccoli: lasciano spazio al tastino che chiude il menu */
@media(min-width:992px){.sidebar .menu-sezioni{padding-right:24px;gap:4px}.sidebar .menu-sezioni a{padding-left:8px;padding-right:8px;font-size:.8rem}}

/* Versione (v1): cerchio e testo BIANCHI ovunque; solo su fondi chiari (scheda chiara, piè di pagina dei temi chiari) resta scuro per leggersi */
.ver-cerchio{color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#fff!important;text-shadow:none!important}
.carta-int .nome .ver-cerchio{color:#8f6404!important;-webkit-text-fill-color:#8f6404!important;border-color:#8f6404!important}
html[data-tema="azzurro"] .piede-home .ver-cerchio,html[data-tema="indaco"] .piede-home .ver-cerchio,html[data-tema="cielo"] .piede-home .ver-cerchio,html[data-tema="seppia"] .piede-home .ver-cerchio,html[data-tema="bordeaux"] .piede-home .ver-cerchio,html[data-tema="alto-contrasto"] .piede-home .ver-cerchio,html[data-tema="blu-aziendale"] .piede-home .ver-cerchio,html[data-tema="verde"] .piede-home .ver-cerchio,html[data-tema="viola"] .piede-home .ver-cerchio,html[data-tema="arancio"] .piede-home .ver-cerchio,html[data-tema="teal"] .piede-home .ver-cerchio,html[data-tema="grafite"] .piede-home .ver-cerchio,html[data-tema="bianco-neutro"] .piede-home .ver-cerchio,html[data-tema="bianco-blu"] .piede-home .ver-cerchio,html[data-tema="bianco-verde"] .piede-home .ver-cerchio,html[data-tema="grigio-perla"] .piede-home .ver-cerchio,html[data-tema="avorio-panna"] .piede-home .ver-cerchio,html[data-tema="azzurro-classico"] .piede-home .ver-cerchio,html[data-tema="verde-salvia"] .piede-home .ver-cerchio,html[data-tema="navy-classico"] .piede-home .ver-cerchio,html[data-tema="antracite"] .piede-home .ver-cerchio,html[data-tema="ardesia"] .piede-home .ver-cerchio,html[data-tema="ghiaccio"] .piede-home .ver-cerchio,html[data-tema="menta"] .piede-home .ver-cerchio,html[data-tema="oliva"] .piede-home .ver-cerchio,html[data-tema="ambra"] .piede-home .ver-cerchio,html[data-tema="terracotta"] .piede-home .ver-cerchio,html[data-tema="rosa"] .piede-home .ver-cerchio,html[data-tema="fucsia"] .piede-home .ver-cerchio,html[data-tema="lavanda"] .piede-home .ver-cerchio{color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#fff!important;background:#172033!important;box-shadow:0 0 0 1px #172033}

/* avviso «dati aggiornati» (aggiornamento automatico rimandato perché si sta lavorando) */
.avviso-novita{position:fixed;z-index:1080;cursor:pointer}
/* avviso «dati aggiornati»: ben evidente (oro del marchio, testo scuro, alone che pulsa) */
.avviso-novita{right:24px;bottom:52px;display:flex;align-items:center;gap:12px;padding:14px 26px;border:3px solid #fff;border-radius:999px;background:linear-gradient(90deg,#f0b429,#ff8a1f);color:#1a1405;font-size:1.05rem;font-weight:800;letter-spacing:.01em;box-shadow:0 0 0 0 rgba(240,180,41,.7),0 12px 32px rgba(0,0,0,.55);animation:novita-entra .45s cubic-bezier(.2,1.4,.4,1) both,novita-pulsa 1.8s ease-out .5s infinite}
.avviso-novita i{font-size:1.5rem;animation:novita-gira 2.4s linear infinite}
.avviso-novita:hover{background:linear-gradient(90deg,#ffd166,#ffa040);color:#000;transform:scale(1.04)}
@keyframes novita-entra{from{opacity:0;transform:translateY(40px) scale(.8)}to{opacity:1;transform:none}}
@keyframes novita-pulsa{0%{box-shadow:0 0 0 0 rgba(240,180,41,.75),0 12px 32px rgba(0,0,0,.55)}70%,100%{box-shadow:0 0 0 22px rgba(240,180,41,0),0 12px 32px rgba(0,0,0,.55)}}
@keyframes novita-gira{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.avviso-novita,.avviso-novita i{animation:none}}
@media(max-width:575px){.avviso-novita{left:12px;right:12px;justify-content:center;padding:12px 16px;font-size:.95rem}}

/* Segnalazioni: finestra «Filtri» e riepilogo dei filtri attivi */
.conta-filtri{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;margin-left:4px;border-radius:999px;background:#f0b429;color:#1a1405;font-size:.72rem;font-weight:800}
.chip-filtri{align-items:center;margin:0 0 .6rem}
.chip-filtri a{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid #1565c0;background:rgba(21,101,192,.1);color:#1565c0;font-size:.82rem;font-weight:600;text-decoration:none}
.chip-filtri a:hover{background:rgba(21,101,192,.22)}.chip-filtri a i{font-size:.65rem}
.chip-filtri a.chip-azzera{border-color:#4b5563;background:transparent;color:#4b5563}
.filtri-modale .filtro-titolo{font-size:.74rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#a56a00;margin-bottom:6px}
.filtri-modale .filtro-caselle{display:flex;flex-wrap:wrap;gap:6px 14px}
.filtri-modale .filtro-caselle label{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--bs-border-color,#dde3ee);border-radius:999px;cursor:pointer;font-size:.9rem}
.filtri-modale .filtro-caselle label:hover{border-color:#1565c0}
.filtri-modale .filtro-caselle input{width:16px;height:16px;accent-color:#1565c0}
.filtri-modale .filtro-caselle.d-block{display:block}

/* Menu a tendina con ricerca (nei menu lunghi) */
.sc-originale{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;margin:0!important;padding:0!important;border:0!important}
.sc-bottone{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.sc-bottone.sc-vuoto{color:var(--bs-secondary-color,#6b7686)}
.sc-pannello{position:fixed;z-index:2000;display:flex;flex-direction:column;background:#fff;color:#172033;border:1px solid #8a9bb3;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.35);padding:8px;overflow:hidden}
.sc-pannello .sc-cerca{flex:none;margin-bottom:6px;border-color:#1565c0}
.sc-elenco{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1 auto}
.sc-elenco li{padding:7px 10px;border-radius:8px;cursor:pointer;font-size:.92rem;white-space:normal}
.sc-elenco li.attiva{background:#1565c0;color:#fff}
.sc-elenco li.scelta:not(.attiva){background:rgba(21,101,192,.12);font-weight:700}
.sc-nulla{padding:10px;color:#4b5563;font-size:.9rem;text-align:center}

.filtri-modale .filtro-lungo{max-height:210px;overflow-y:auto;padding:4px;border:1px solid var(--bs-border-color,#dde3ee);border-radius:12px}

/* Finestra «Filtri»: elenchi lunghi come menu a tendina a scelta multipla */
.filtri-modale .md{position:relative}
.filtri-modale .md-bottone{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;width:100%}
.filtri-modale .md-bottone.sc-vuoto{color:var(--bs-secondary-color,#6b7686)}
.filtri-modale .md-pannello{position:fixed;z-index:2000;display:flex;flex-direction:column;background:#fff;color:#172033;border:1px solid #8a9bb3;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.35);padding:8px}
.filtri-modale .md-pannello[hidden]{display:none}
.filtri-modale .md-pannello .filtro-cercagruppo{flex:none;margin-bottom:6px;border-color:#1565c0}
.filtri-modale .md-elenco{flex:1 1 auto;min-height:0;overflow-y:auto;display:block;padding:0}
.filtri-modale .md-elenco label{display:flex;align-items:center;gap:8px;border:0;border-radius:8px;padding:6px 8px;font-size:.92rem;width:100%}
.filtri-modale .md-elenco label:hover{background:rgba(21,101,192,.1)}
.filtri-modale .md-elenco label[hidden]{display:none}
.filtri-modale .md-piede{flex:none;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dde3ee;margin-top:6px;padding-top:6px}

/* ---------- Statistiche: panoramica semplice con riquadri e grafici ---------- */
.stat-testata{margin:0 0 .8rem}.stat-testata h5{margin:0;font-weight:700}.stat-testata p{margin:2px 0 0;color:var(--bs-secondary-color,#52606d);font-size:.88rem}
.stat-kpi-riga{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:14px}
.stat-kpi{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#dde3ee);border-left:5px solid var(--kc,#3b82f6)}
.stat-kpi>i{font-size:1.5rem;color:var(--kc,#3b82f6);flex:none}.stat-kpi b{display:block;font-size:1.6rem;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums}
.stat-kpi span{display:block;font-size:.82rem;color:var(--bs-secondary-color,#52606d)}.stat-kpi small{display:block;font-size:.72rem;color:#4b5563}
.k-blu{--kc:#3b82f6}.k-arancio{--kc:#f97316}.k-rosso{--kc:#ef4444}.k-verde{--kc:#22c55e}.k-viola{--kc:#8b5cf6}
.stat-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}
.stat-card{background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#dde3ee);border-radius:12px;padding:14px 16px}
.stat-card h6{margin:0 0 10px;font-weight:700;font-size:.92rem}.stat-card h6 i{color:#64748b;margin-right:4px}
.stat-card h6{color:inherit;text-transform:none;letter-spacing:normal;font-family:inherit;display:block}.stat-card h6::before,.stat-card h6::after{display:none!important}
.stat-vuoto{color:#4b5563;margin:0}
.stat-ciambella-box{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.stat-ciambella{width:150px;height:150px;border-radius:50%;position:relative;flex:none}
.stat-ciambella>div{position:absolute;inset:26%;border-radius:50%;background:var(--bs-body-bg,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center}
.stat-ciambella b{font-size:1.35rem;line-height:1}.stat-ciambella small{color:#4b5563;font-size:.7rem}
.stat-leg,.stat-barre{list-style:none;margin:0;padding:0}.stat-leg{flex:1 1 150px;min-width:150px}
.stat-leg li{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:.86rem}.stat-leg i{width:10px;height:10px;border-radius:3px;flex:none}
.stat-leg .l{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-leg b{font-variant-numeric:tabular-nums}.stat-leg em{font-style:normal;color:#4b5563;font-size:.76rem;width:32px;text-align:right}
.stat-barre li{display:grid;grid-template-columns:minmax(90px,36%) 1fr auto;align-items:center;gap:10px;padding:3px 0;font-size:.86rem}
.stat-barre .l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-barre b{font-variant-numeric:tabular-nums;min-width:28px;text-align:right}
.stat-barre .b{height:10px;border-radius:999px;background:rgba(127,127,127,.15);overflow:hidden}.stat-barre .b span{display:block;height:100%;border-radius:999px}
.stat-colonne{display:flex;align-items:flex-end;gap:6px;height:200px;padding-top:6px}
.stat-colonne .col{flex:1;min-width:14px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;text-align:center}
.stat-colonne .col b{font-size:.72rem;font-variant-numeric:tabular-nums}.stat-colonne .col small{font-size:.66rem;color:#4b5563;line-height:1.1}
.stat-colonne .c{width:100%;flex:1;display:flex;align-items:flex-end}.stat-colonne .c span{display:block;width:100%;border-radius:5px 5px 0 0}
.stat-sottotitolo{margin:22px 0 8px;font-weight:700}
@media print{.stat-card{break-inside:avoid}}

/* Caselle «Cerca»: lente di ingrandimento a sinistra */
input[type=search]:not(#cercaInput),input[name=s],input[name=q],input#cerca,input#fCerca,input#cercaStat,input#cercaPdv,.sc-cerca,.filtro-cercagruppo{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='%236b7686'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:12px center;background-size:16px;padding-left:2.4rem!important}

/* Costi e Spese: una riga sottile con il totale e il menu dei subtotali */
.costi-barra{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.cb-tot{font-size:.9rem;color:var(--bs-secondary-color,#52606d)}.cb-tot b{font-size:1.05rem;color:var(--bs-body-color,#172033);font-variant-numeric:tabular-nums}.cb-tot em{font-style:normal;font-size:.8rem}
.cb-bt{border:1px solid var(--bs-border-color,#c7d0dd);background:transparent;color:inherit;border-radius:999px;padding:1px 12px;font-size:.82rem;cursor:pointer}.cb-bt:hover,.cb-bt[aria-expanded=true]{border-color:#1565c0;color:#1565c0}.cb-bt i{font-size:.7rem}
.cb-menu{min-width:360px;max-width:calc(92vw / var(--zm,1));max-height:calc(70vh / var(--zm,1));overflow-y:auto;padding:8px 14px}
.cb-titolo{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#4b5563;margin:8px 0 2px}.cb-titolo:first-child{margin-top:0}
.cb-riga{display:grid;align-items:center;padding:2px 0;font-size:.86rem}.cb-riga .e{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-b{grid-column:1/-1;height:3px;border-radius:999px;background:rgba(127,127,127,.15);overflow:hidden}.cb-b span{display:block;height:100%;background:#3b82f6;border-radius:999px}
.cb-tot-riga{border-top:1px solid var(--bs-border-color,#dde3ee);margin-top:6px;padding-top:6px;font-weight:700}
.cr-piede th{border-top:2px solid #172033;font-size:.95rem}
/* barra del totale (Costi e Spese): resta fissa sotto la barra della pagina, e l'intestazione della tabella sotto di lei */
.costi-barra{position:sticky;top:calc(var(--barra,54px) + var(--pagina,0px));z-index:1025;background:#f4f6f9;height:36px;box-sizing:border-box;margin:0 -1rem 6px;padding:2px 1rem;border-bottom:1px solid var(--bordo,#dde3ee)}
@media(min-width:992px){.costi-barra{margin:0 -1.5rem 6px;padding:2px 1.5rem}}

/* Finestre spostabili, non bloccanti: la pagina sotto resta cliccabile (tranne la conferma con password) */
.modal:not(#mdElimina){pointer-events:none}
.modal:not(#mdElimina) .modal-dialog{pointer-events:auto}
.modal:not(#mdElimina) .modal-content{box-shadow:0 18px 50px rgba(0,0,0,.4)}
.modal-open{overflow:auto!important;padding-right:0!important}
.modal:not(#mdElimina) .modal-header,.modal:not(#mdElimina) .io-testa{cursor:move;touch-action:none;user-select:none}
.modal-dialog.sposta{transition:none!important}.modal-dialog.sposta .modal-content{opacity:.96}
.side-toggle{z-index:1050!important}.side-resize{z-index:1049!important}

/* Finestre: pulsanti riduci/ingrandisci e maniglia per ridimensionare */
.mod-btn{border:0;background:rgba(255,255,255,.18);color:#fff;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;margin-right:6px;padding:0;font-size:.85rem;flex:none}
.mod-btn:hover{background:rgba(255,255,255,.34)}
.modal-header .mod-btn{background:rgba(127,127,127,.18);color:inherit}.modal-header .mod-btn:hover{background:rgba(127,127,127,.32)}
.modal-dialog .modal-content{position:relative}
.mod-ridim{position:absolute;right:2px;bottom:2px;width:18px;height:18px;cursor:nwse-resize;z-index:5;touch-action:none;opacity:.55;background:linear-gradient(135deg,transparent 0 48%,#6b7686 48% 56%,transparent 56% 70%,#6b7686 70% 78%,transparent 78%)}
.mod-ridim:hover{opacity:1}
.modal-dialog.ridim{align-items:stretch}.modal-dialog.ridim .modal-content{height:100%;display:flex;flex-direction:column}
.modal-dialog.ridim .modal-body{flex:1 1 auto;min-height:0;overflow:auto}
.modal-dialog.massima{width:calc(calc(100vw / var(--zm,1)) - 32px)!important;max-width:none!important;height:calc(calc(100vh / var(--zm,1)) - 32px)!important;margin:16px!important}
.modal-dialog.massima .modal-content{height:100%;display:flex;flex-direction:column}.modal-dialog.massima .modal-body{flex:1 1 auto;min-height:0;overflow:auto}
.modal-dialog.ridotta{width:340px!important;max-width:none!important;height:auto!important;min-height:0!important}
.modal-dialog.ridotta .modal-body,.modal-dialog.ridotta .modal-footer,.modal-dialog.ridotta .mod-ridim{display:none!important}
.modal-dialog.ridotta .modal-content{height:auto}
.modal-dialog.ridotta .io-testa p{display:none}.modal-dialog.ridotta .io-testa{padding:8px 12px}.modal-dialog.ridotta .io-logo{width:30px;height:30px;font-size:1rem}.modal-dialog.ridotta .io-testa h5{font-size:.95rem}

/* testata delle finestre: titolo a sinistra, pulsanti riduci/ingrandisci/chiudi tutti a destra */
.io-testa>div{flex:1 1 auto;min-width:0}.io-testa .mod-btn{margin:0 0 0 6px}.io-testa .btn-close{margin-left:10px}
.modal-header .modal-title{flex:1 1 auto}.modal-header .mod-btn{margin:0 0 0 6px}

.tab-cerca{display:flex;align-items:center;gap:10px;margin:0 0 8px}.tab-cerca input{max-width:300px}

/* barra delle pagine in elenco più compatta */
.menu-file .dropdown-item i{width:1.2em;margin-right:6px}
.blocco-azioni{flex:none}.riga-unica .blocco-azioni{margin-left:auto}.riga-unica .az-riga{flex-wrap:nowrap}
.riga-unica .btn-filtra{display:none}
.riga-unica,.filtri-riga.riga-unica{flex-wrap:wrap}.riga-unica{row-gap:6px}.riga-unica{gap:8px}
.chip-sem{height:26px!important;padding:0 7px!important;gap:4px!important;font-size:.8rem!important}.chip-sem b{font-size:.9rem!important}
.riga-unica .gruppo-cerca input{min-width:130px}
/* contatori sotto la barra della pagina */
.riga-contatori{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 .6rem}
.riga-contatori .chip-sem{gap:6px!important}

.conta-riga{font-size:.88rem;color:var(--bs-secondary-color,#52606d)}.conta-riga b{font-size:1rem;color:var(--bs-body-color,#172033);font-variant-numeric:tabular-nums}

.cs-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.chip-sem{height:30px;padding:0 12px;gap:6px}

/* ---------- testate compatte e fisse ---------- */
.barra-pagina{padding:.3rem 1rem!important;margin-bottom:0!important}
@media(min-width:992px){.barra-pagina{padding:.35rem 1.5rem!important;margin-bottom:0!important}}
.barra-pagina h3{font-size:18px!important}
.barra-pagina .btn{height:34px}.barra-pagina .form-control{height:34px}
.riga-contatori,.chip-filtri{position:sticky;z-index:1028;background:#f4f6f9;margin:0 -1rem!important;padding:3px 1rem!important;border-bottom:1px solid var(--bordo,#dde3ee);min-height:34px;box-sizing:border-box;align-items:center}
@media(min-width:992px){.riga-contatori,.chip-filtri{margin:0 -1.5rem!important;padding:3px 1.5rem!important}}
.chip-filtri{display:flex;flex-wrap:wrap;gap:6px}
.riga-contatori .chip-sem{height:26px!important;padding:0 10px!important;font-size:.82rem!important}
.riga-contatori .chip-sem b{font-size:.92rem!important}
.riga-contatori>.costi-barra{position:static!important;margin:0 0 0 auto!important;padding:0!important;height:auto!important;border:0!important;background:none!important}
.riga-contatori .cb-tot{font-size:.84rem}.riga-contatori .cb-tot b{font-size:.98rem}
.riga-contatori .cb-bt{padding:0 10px;font-size:.8rem}
.table thead th{top:var(--sotto,calc(var(--barra,54px) + var(--pagina,0px) + 36px))!important}
:root:has(.costi-barra) .table thead th{top:var(--sotto,calc(var(--barra,54px) + var(--pagina,0px) + 36px))!important}

.riga-contatori.espandibile:not(.aperta){max-height:36px;overflow:hidden}
.cs-altre{border:1px solid var(--bs-border-color,#c7d0dd);background:transparent;border-radius:999px;height:26px;padding:0 10px;font-size:.78rem;color:inherit;cursor:pointer}.cs-altre:hover{border-color:#1565c0;color:#1565c0}
.riga-contatori.espandibile.aperta{padding-top:5px!important;padding-bottom:5px!important}

/* ---------- colore del pulsante secondo la funzione ---------- */
.btn.fn-nuovo{--fc:#1d4ed8}.btn.fn-modifica{--fc:#b45309}.btn.fn-elimina{--fc:#c81e2b}.btn.fn-annulla{--fc:#6b7280}
.btn.fn-filtri{--fc:#7c3aed}.btn.fn-esporta{--fc:#0d9488}.btn.fn-importa{--fc:#4338ca}.btn.fn-stampa{--fc:#334155}
.btn.fn-assegna{--fc:#be185d}.btn.fn-aggiorna-stato{--fc:#ea580c}.btn.fn-apri{--fc:#0284c7}.btn.fn-completa{--fc:#15803d}
.btn[class*="fn-"]:not(.fn-salva){background:var(--fc)!important;border:1px solid var(--fc)!important;color:#fff!important}
.btn[class*="fn-"]:not(.fn-salva):hover,.btn[class*="fn-"]:not(.fn-salva):focus{background:var(--fc)!important;filter:brightness(.88);color:#fff!important}
.btn.fn-salva{background:linear-gradient(90deg,#f0b429,#fb923c)!important;border:0!important;color:#1a1405!important}
.btn.fn-salva:hover,.btn.fn-salva:focus{filter:brightness(1.07)}
.btn.btn-ic[class*="fn-"]:not(.fn-salva){background:color-mix(in srgb,var(--fc) 11%,#fff)!important;color:var(--fc)!important;border:1px solid var(--fc)!important}
.btn.btn-ic[class*="fn-"]:not(.fn-salva):hover,.btn.btn-ic[class*="fn-"]:not(.fn-salva):focus{background:var(--fc)!important;color:#fff!important;filter:none}
.btn.btn-ic.az-modifica{--az:#b45309}

/* margine vuoto in fondo alle pagine: il tasto «porta su» non copre mai l'ultima riga */
main.content{padding-bottom:110px!important}

/* ---------- barra di caricamento ---------- */
.carica{position:fixed;left:0;right:0;top:0;z-index:3000;pointer-events:none;opacity:0;transition:opacity .2s}
.carica.on{opacity:1}
.carica-fila{height:5px;background:rgba(15,23,42,.12);overflow:hidden;position:relative}
.carica-fila::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--pc,0%);transition:width .25s ease-out;border-radius:0 6px 6px 0;
  background:linear-gradient(90deg,#f0b429,#fb923c,#e11d74,#7c3aed,#1d4ed8,#0ea5e9,#0d9488,#16a34a,#f0b429);background-size:300% 100%;animation:carica-scorri 1.6s linear infinite;box-shadow:0 0 10px rgba(124,58,237,.55)}
.carica-fila::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 10px,rgba(255,255,255,.28) 10px 18px);animation:carica-righe .7s linear infinite;mix-blend-mode:overlay;width:var(--pc,0%);transition:width .25s ease-out}
.carica-testa{position:absolute;top:-3px;left:calc(var(--pc,0%) - 9px);width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(251,146,60,.65),0 0 14px 4px rgba(124,58,237,.7);transition:left .25s ease-out;animation:carica-batte .6s ease-in-out infinite alternate;z-index:2}
.carica-pasticca{position:absolute;left:50%;transform:translate(-50%,-10px) scale(.92);display:flex;align-items:center;gap:10px;padding:8px 18px 8px 14px;border-radius:999px;font-size:.88rem;opacity:0;transition:opacity .25s,transform .25s;white-space:nowrap;max-width:calc(94vw / var(--zm,1))}
.carica.pasticca .carica-pasticca{opacity:1;transform:translate(-50%,0) scale(1)}
.carica-pasticca b{font-weight:700;letter-spacing:.01em}
.carica-pasticca em{font-style:normal;font-size:.8rem;border-left:1px solid rgba(255,255,255,.25);padding-left:10px}
.carica-pallini{display:inline-flex;gap:4px;align-items:flex-end;height:18px}
.carica-pallini i{width:7px;height:7px;border-radius:50%;animation:carica-salta 1s ease-in-out infinite}
.carica-pallini i:nth-child(1){background:#f0b429}.carica-pallini i:nth-child(2){background:#e11d74;animation-delay:.12s}.carica-pallini i:nth-child(3){background:#7c3aed;animation-delay:.24s}.carica-pallini i:nth-child(4){background:#0ea5e9;animation-delay:.36s}.carica-pallini i:nth-child(5){background:#16a34a;animation-delay:.48s}
@keyframes carica-scorri{to{background-position:300% 0}}
@keyframes carica-righe{to{background-position:36px 0}}
@keyframes carica-batte{to{transform:scale(1.35)}}
@keyframes carica-salta{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-9px)}}
@media(max-width:576px){.carica-pasticca em{display:none}}
@media(prefers-reduced-motion:reduce){.carica-fila::before,.carica-fila::after,.carica-testa,.carica-pallini i{animation:none}}
@media print{.carica{display:none!important}}
.carica-pasticca{top:84px;background:#fff;color:#172033;box-shadow:0 12px 34px rgba(15,23,42,.28),0 0 0 2px #7c3aed,0 0 0 5px rgba(240,180,41,.55)}
.carica-pasticca em{color:#55607a;border-left-color:#d5dbe6}

/* guida «?»: campo per campo */
.guida-campi{margin:0 0 .6rem}
.guida-campi dt{font-weight:700;margin-top:.7rem;padding-top:.5rem;border-top:1px solid #e5e9f1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.guida-campi dt:first-child{border-top:0;margin-top:.2rem}
.guida-campi dd{margin:.15rem 0 0}
.guida-campi dd small{display:block;color:#6b7280;font-size:.78rem;margin-bottom:1px}
.gc-req,.gc-fac{font-size:.68rem;font-weight:700;border-radius:999px;padding:1px 8px;text-transform:uppercase;letter-spacing:.03em}
.gc-req{background:#fde8ea;color:#b4121f}.gc-fac{background:#eef1f6;color:#55607a}
.guida-corpo h6{margin-top:.9rem}

/* tasto tondo «Manuale» (libro) */
.manuale-btn{width:36px!important;height:36px!important;border-radius:50%!important;text-decoration:none}
.manuale-btn i{font-size:1.05rem;line-height:1}
.manuale-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}
@media print{.manuale-btn{display:none!important}}
@media(max-width:700px){.manuale-btn{width:32px!important;height:32px!important;margin-right:4px!important}.manuale-btn i{font-size:.95rem}}
.man-scelta{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #dde3ee;border-radius:14px;margin-bottom:12px;background:#fff}
.man-ico{width:50px;height:50px;border-radius:14px;flex:none;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#fff;background:linear-gradient(135deg,#7c3aed,#1d4ed8)}
.man-testo{flex:1;min-width:0}.man-testo b{display:block;font-size:1.02rem}.man-testo small{display:block;color:#55607a;line-height:1.3;margin-top:2px}
.man-lucchetto{color:#b45309!important;font-weight:600}
.man-azioni{display:flex;gap:6px;flex:none}
.man-bloccato{opacity:.7;background:#f4f6f9}.man-bloccato .man-ico{background:#9aa5b8}
@media(max-width:575px){.man-scelta{flex-wrap:wrap}.man-azioni{width:100%}}

/* modulo in cui ci si trova: nella barra in basso */
.barra-stato .bs-modulo{display:inline-flex;align-items:center;height:22px;padding:0 12px;border-radius:999px;border:1.5px solid;font-weight:800;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.barra-stato .bs-modulo i{color:inherit;margin-right:7px}
@media(max-width:575px){.barra-stato .bs-modulo{padding:0 8px;letter-spacing:.04em}}
/* la targhetta del modulo sta al centro della barra in basso */
@media(min-width:1100px){.barra-stato .bs-modulo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:24px;padding:0 20px;font-size:.8rem}}
@media(min-width:1100px){.barra-stato .bs-sync{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(calc(50vw / var(--zm,1)) - 500px);min-width:0}}

/* finestra «Manuale operativo»: stretta, con il testo che va a capo */
.manuale-modale .modal-dialog{max-width:520px}
.manuale-modale .man-scelta{flex-wrap:wrap}
.manuale-modale .man-testo{flex:1 1 220px;white-space:normal}
.manuale-modale .man-testo b{color:#172033;font-size:1.02rem}
.manuale-modale .man-testo small{white-space:normal;overflow-wrap:anywhere}
.manuale-modale .man-azioni{width:100%;justify-content:flex-end}
/* tasto «Manuale»: stessa forma tonda del «?», con il libro a colori */
.manuale-btn{background:rgba(201,214,230,.08)!important;border:1px solid rgba(201,214,230,.3)!important;box-shadow:none!important;color:inherit!important}
.manuale-btn:hover{border-color:#ffb020!important;background:rgba(255,176,32,.16)!important}
.manuale-btn svg{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));transition:transform .15s}
.manuale-btn:hover svg{transform:scale(1.1) rotate(-4deg)}
.man-ico-2{background:linear-gradient(135deg,#fbbf24,#ea580c)!important}

/* sottotitolo sotto i pulsanti della barra in alto (per toglierlo: cancellare questo blocco) */
.marchio-barra{position:sticky}
.marchio-tit{position:absolute;right:24px;line-height:1;white-space:nowrap;pointer-events:none}
@media(max-width:1199px){.marchio-tit{display:none}}

/* ---------- tema scelto dalla tavolozza: colora anche le barre (in alto e in basso) e il menu laterale ---------- */
/* ogni tema ha un tono scuro della sua tinta: nome tema = barre | menu in alto | menu in basso (notte = colori di sempre, senza regole) */
html[data-tema] .marchio-barra,html[data-tema] .barra-stato{background:var(--tm-b)!important}
html[data-tema] .sidebar,html[data-tema] .sidebar.offcanvas-lg{background:linear-gradient(180deg,var(--tm-l1),var(--tm-l2))!important}
html[data-tema] .barra-stato,html[data-tema] .marchio-barra,html[data-tema] .sidebar{transition:background .25s}

/* ---- toni più chiari per barre e menu laterale (testi bianchi sempre leggibili) ---- */
html[data-tema] .sidebar .nav-link,html[data-tema] .menu-sezioni a,html[data-tema] .sidebar .nav-gruppo{color:#f2f6fb}
html[data-tema] .barra-stato,html[data-tema] .barra-stato .bs-data b{color:#e6edf6}

/* ---- regola: barre e menu laterale sempre più scuri della pagina. Nei temi scuri la Home è già scura: qui barre e menu scendono sotto lo sfondo della Home, mantenendo la tinta ---- */

/* ---- tonalità coerenti: pagina, barre e menu laterale della stessa famiglia di colore, vivaci e non sbiaditi ----
   --tm-b barre | --tm-l1/--tm-l2 menu laterale (dall'alto in basso) | --tm-p fondo delle pagine di lavoro (tinta chiarissima dello stesso colore) */
html[data-tema="azzurro"]{--tm-b:#123f7a;--tm-l1:#1a58a6;--tm-l2:#134682;--tm-p:#e3edf8}
html[data-tema] body:not(.home){background:var(--tm-p)}
html[data-tema] .barra-pagina,html[data-tema] .area-fissa,html[data-tema] .riga-contatori,html[data-tema] .chip-filtri,html[data-tema] .costi-barra{background:var(--tm-p)!important}

/* ---- nuovi temi colorati al posto di quelli scuri (di scuro resta solo «notte», quello di fabbrica) ---- */

/* ---- temi convenzionali (proposta dell'esperto: Documenti di progetto/Temi colore): barre | menu alto-basso | fondo pagine | accento | bordi ---- */
html[data-tema="blu-aziendale"]{--tm-b:#1e40af;--tm-l1:#2f5fc4;--tm-l2:#1e3a8a;--tm-p:#eef4fc;--tm-a:#dbeafe;--tm-bo:#c9d9ee}
html[data-tema="verde"]{--tm-b:#14532d;--tm-l1:#1d7a45;--tm-l2:#14532d;--tm-p:#eefaf1;--tm-a:#dcfce7;--tm-bo:#c5e4cf}
html[data-tema="viola"]{--tm-b:#5b21b6;--tm-l1:#6d3fc4;--tm-l2:#4c1d95;--tm-p:#f5f0fd;--tm-a:#e9d5ff;--tm-bo:#dccbf3}
html[data-tema="arancio"]{--tm-b:#9a3412;--tm-l1:#c2410c;--tm-l2:#7c2d12;--tm-p:#fff4ec;--tm-a:#ffedd5;--tm-bo:#f0d3bd}
html[data-tema="teal"]{--tm-b:#115e59;--tm-l1:#0f766e;--tm-l2:#134e4a;--tm-p:#ecfaf8;--tm-a:#ccfbf1;--tm-bo:#bfe3de}
html[data-tema="bordeaux"]{--tm-b:#7f1d1d;--tm-l1:#9b2226;--tm-l2:#5f1414;--tm-p:#fdf0f0;--tm-a:#fecaca;--tm-bo:#ecc9c9}
html[data-tema="indaco"]{--tm-b:#312e81;--tm-l1:#4338ca;--tm-l2:#312e81;--tm-p:#f0f0fd;--tm-a:#c7d2fe;--tm-bo:#cfd0f0}
html[data-tema="cielo"]{--tm-b:#075985;--tm-l1:#0369a1;--tm-l2:#0c4a6e;--tm-p:#ecf7fd;--tm-a:#e0f2fe;--tm-bo:#bcdcee}
html[data-tema="seppia"]{--tm-b:#6b4423;--tm-l1:#85582f;--tm-l2:#4e3118;--tm-p:#faf3e8;--tm-a:#fdebc8;--tm-bo:#e0cfb3}
html[data-tema="grafite"]{--tm-b:#1f2937;--tm-l1:#374151;--tm-l2:#1f2937;--tm-p:#f1f3f6;--tm-a:#e0f2fe;--tm-bo:#cdd3dd}
html[data-tema="alto-contrasto"]{--tm-b:#0b0b0b;--tm-l1:#2a2a2a;--tm-l2:#000000;--tm-p:#ffffff;--tm-a:#ffd60a;--tm-bo:#595959}
/* ---- sfondi 13-28 (semplici e classici, poi piu vivaci): stessa struttura dei precedenti ---- */
html[data-tema="bianco-neutro"],html[data-tema="bianco-blu"],html[data-tema="bianco-verde"]{--tm-b:#3f4a5a;--tm-l1:#556070;--tm-l2:#3a4352;--tm-p:#fbfbfc;--tm-a:#e2e8f0;--tm-bo:#dfe3e8}
html[data-tema="grigio-perla"]{--tm-b:#4d4d55;--tm-l1:#62626b;--tm-l2:#44444b;--tm-p:#f3f3f4;--tm-a:#e7e7ea;--tm-bo:#d8d8dc}
html[data-tema="avorio-panna"]{--tm-b:#4e4a3d;--tm-l1:#655f4e;--tm-l2:#413d32;--tm-p:#fbf8ef;--tm-a:#f7edc9;--tm-bo:#e6dcc2}
html[data-tema="azzurro-classico"]{--tm-b:#1f4e79;--tm-l1:#2c6aa0;--tm-l2:#1b4469;--tm-p:#eef5fb;--tm-a:#d6e8fa;--tm-bo:#c6d8ea}
html[data-tema="verde-salvia"]{--tm-b:#44594a;--tm-l1:#587060;--tm-l2:#3a4c40;--tm-p:#f1f5f1;--tm-a:#dcebdc;--tm-bo:#cbd8cb}
html[data-tema="navy-classico"]{--tm-b:#14284b;--tm-l1:#1f3a68;--tm-l2:#101f3b;--tm-p:#f3f5f9;--tm-a:#dbe4f5;--tm-bo:#cfd6e3}
html[data-tema="antracite"]{--tm-b:#2b2f36;--tm-l1:#3d424b;--tm-l2:#25282e;--tm-p:#f4f5f6;--tm-a:#e4e7eb;--tm-bo:#d3d6db}
html[data-tema="ardesia"]{--tm-b:#334155;--tm-l1:#475569;--tm-l2:#2a3646;--tm-p:#f1f5f9;--tm-a:#e0f2fe;--tm-bo:#cbd5e1}
html[data-tema="ghiaccio"]{--tm-b:#3b5f73;--tm-l1:#4b7389;--tm-l2:#32515f;--tm-p:#f0f7fa;--tm-a:#d9eef7;--tm-bo:#c3dae4}
html[data-tema="menta"]{--tm-b:#1f6f55;--tm-l1:#2a8a6a;--tm-l2:#195a45;--tm-p:#eefaf5;--tm-a:#d3f5e6;--tm-bo:#bfe3d3}
html[data-tema="oliva"]{--tm-b:#3f6212;--tm-l1:#4d7c0f;--tm-l2:#365314;--tm-p:#f6faea;--tm-a:#ecfccb;--tm-bo:#d3e3b0}
html[data-tema="ambra"]{--tm-b:#92400e;--tm-l1:#b45309;--tm-l2:#78350f;--tm-p:#fffbeb;--tm-a:#fef3c7;--tm-bo:#ecd9a6}
html[data-tema="terracotta"]{--tm-b:#7c3a2d;--tm-l1:#96493a;--tm-l2:#632e23;--tm-p:#fbf1ee;--tm-a:#fde0d6;--tm-bo:#e8cbc2}
html[data-tema="rosa"]{--tm-b:#9d174d;--tm-l1:#be185d;--tm-l2:#831843;--tm-p:#fdf2f7;--tm-a:#fbcfe8;--tm-bo:#efc8da}
html[data-tema="fucsia"]{--tm-b:#86198f;--tm-l1:#a21caf;--tm-l2:#701a75;--tm-p:#fdf4ff;--tm-a:#f5d0fe;--tm-bo:#e8c6ef}
html[data-tema="lavanda"]{--tm-b:#5b4b8a;--tm-l1:#6e5da0;--tm-l2:#4a3c72;--tm-p:#f6f3fb;--tm-a:#e4dcf6;--tm-bo:#d9d0ec}
html[data-tema]{--bordo:var(--tm-bo)}
html[data-tema] .sidebar .nav-link.active{color:var(--tm-a);border-left-color:var(--tm-a);background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.04))}

.app-anteprima-tit{font-size:1rem;font-weight:700;color:#172033;margin:0 0 6px;padding:8px 0}

/* app installata (schermata Home del telefono) */

/* hotspot sempre aperto */
.app-hotspot-tit{font-size:.95rem;font-weight:700;margin:.6rem 0 .3rem}
.app-hotspot .app-hotspot-tit{color:#fff}

@keyframes campanaOndeggia{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,0)}15%{box-shadow:0 0 0 7px rgba(220,38,38,.35)}60%{box-shadow:0 0 0 3px rgba(220,38,38,.2)}}
@keyframes campanaOndeggiaI{0%{transform:rotate(0)}8%{transform:rotate(28deg)}18%{transform:rotate(-26deg)}30%{transform:rotate(20deg)}42%{transform:rotate(-15deg)}56%{transform:rotate(9deg)}70%{transform:rotate(-5deg)}85%{transform:rotate(2deg)}100%{transform:rotate(0)}}

/* campanella accesa finché ci sono notifiche non lette: rossa, con alone che pulsa e un piccolo scampanio ogni tanto */
.campana.ha-novita{border-color:#fecaca!important;animation:campanaAccesa 2.4s ease-in-out infinite!important}
.campana.ha-novita svg,.campana.ha-novita i{display:inline-block;transform-origin:50% 12%;animation:campanaScampanio 2.4s ease-in-out infinite}
@keyframes campanaAccesa{0%,100%{box-shadow:0 0 0 3px rgba(220,38,38,.35),0 0 12px rgba(220,38,38,.6)}50%{box-shadow:0 0 0 6px rgba(220,38,38,.18),0 0 22px rgba(220,38,38,.9)}}
@keyframes campanaScampanio{0%,18%,100%{transform:rotate(0)}3%{transform:rotate(16deg)}7%{transform:rotate(-14deg)}11%{transform:rotate(9deg)}15%{transform:rotate(-5deg)}}
@media(prefers-reduced-motion:reduce){.campana.ha-novita,.campana.ha-novita svg,.campana.ha-novita i{animation:none!important}}

/* campanella con le notifiche: interno chiaro, icona e bordo rossi, alone rosso che si accende (non più tutta rossa) */
.campana.ha-novita{color:#dc2626!important;background:#fff7f5!important;border:2px solid #dc2626!important}
.campana.ha-novita{box-shadow:0 0 0 3px rgba(220,38,38,.28),0 0 12px rgba(220,38,38,.55)}
@keyframes campanaAccesa{0%,100%{box-shadow:0 0 0 2px rgba(220,38,38,.25),0 0 8px rgba(220,38,38,.35)}50%{box-shadow:0 0 0 6px rgba(220,38,38,.22),0 0 22px rgba(220,38,38,.9)}}

/* ---------- caselle: mai lunghe a tutta pagina; ogni tipo ha la sua misura (sul telefono restano a larghezza piena perché lo schermo è stretto) ---------- */
:is(main.content,#frmSeg) :is(input.form-control,textarea.form-control,select.form-select){max-width:300px}
:is(main.content,#frmSeg) input.form-control:is([type=number]){max-width:120px}
:is(main.content,#frmSeg) input.form-control[type=date]{max-width:160px}
:is(main.content,#frmSeg) input.form-control[type=datetime-local]{max-width:230px}
:is(main.content,#frmSeg) input.form-control[type=time]{max-width:130px}
:is(main.content,#frmSeg) input.form-control[type=password]{max-width:240px}
:is(main.content,#frmSeg) select.form-select{max-width:280px}
:is(main.content,#frmSeg) textarea.form-control{max-width:400px}
:is(main.content,#frmSeg) input.form-control:is([name=titolo],[name=denominazione],[name=ragione_sociale],[name=oggetto],[name=descrizione],[name=indirizzo]){max-width:380px}
/* caselle con la X per svuotare o l'occhio della password: il contenitore ha la stessa misura della casella (così X e occhio stanno attaccati) */
:is(main.content,#frmSeg) .campo-x:has(>input.form-control:is([type=text],[type=email],[type=tel],[type=url],:not([type]))){max-width:300px}
:is(main.content,#frmSeg) .campo-x:has(>input.form-control:is([name=titolo],[name=denominazione],[name=ragione_sociale],[name=oggetto],[name=descrizione],[name=indirizzo])){max-width:380px}
:is(main.content,#frmSeg) .pw-wrap{max-width:240px}
:is(main.content,#frmSeg) :is(.mb-0,.mb-2,.mb-3)>.pw-wrap,:is(main.content,#frmSeg) :is(.mb-0,.mb-2,.mb-3)>div>.pw-wrap,:is(main.content,#frmSeg) :is(.mb-0,.mb-2,.mb-3)>div:has(>.pw-wrap){max-width:240px}
:is(main.content,#frmSeg) .sc:not(.sc-pieno){max-width:300px}
:is(main.content,#frmSeg) button.form-select.sc-bottone{max-width:280px}

#frmSeg .urg-griglia{max-width:760px}

html.in-app .btn-app{display:none!important}

/* pagina App degli utenti: solo immagini del telefono e del tablet */
.app-foto{display:flex;flex-wrap:wrap;gap:26px;align-items:flex-end;justify-content:center;padding:28px 12px;border-radius:18px;background:linear-gradient(135deg,#123a68,#0a1a33);border:1px solid rgba(240,180,41,.35)}
.app-foto figure{margin:0;text-align:center}
.app-foto img{display:block;width:auto;pointer-events:none;user-select:none;filter:drop-shadow(0 14px 22px rgba(0,0,0,.45))}
.app-foto-telefono img{height:480px}.app-foto-tablet img{height:420px}
.app-foto figcaption{color:#c9d6e6;font-size:.84rem;margin-top:8px}
@media(max-width:575px){.app-foto-telefono img{height:380px}.app-foto-tablet img{height:320px}}

/* telefono e tablet: niente testi tagliati con i puntini, vanno a capo (ricerca, statistiche, costi) */
@media(max-width:1279px){
  .cp-voce .cp-tit,.cp-voce .cp-sotto,.cp-voce .cp-est,.stat-leg .l,.stat-barre .l,.cb-riga .e{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
}

/* nome TECARO colorato (TECA bianco, RO verde, versione nel cerchio) nei titoli su fondo scuro */
.nome-marchio{font-weight:800;font-style:italic;letter-spacing:.5px}
.nome-marchio .nm-resto{font-style:normal;font-weight:700}
.nome-marchio .nome-verde{background:linear-gradient(180deg,#a3ec3f,#3fae12);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-style:italic}
.nome-marchio .ver-cerchio{font-size:.42em;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#fff!important;margin-left:.35em}

.nome-marchio.nm-scatola{display:inline-block;background:#0b1620;color:#fff;border-radius:7px;padding:2px 10px 2px 9px;line-height:1.35;font-size:1.05em}

/* proporzioni del marchio: la versione è piccola come nella barra della Home */
.nome-marchio .ver-cerchio,.app-installa h2 .nome-marchio .ver-cerchio,.pres-titolo .nome-marchio .ver-cerchio{font-size:.33em;min-width:1.9em;height:1.9em;margin-left:.55em;top:-.7em;border-width:1px}
.app-colonna-qr{display:flex;flex-direction:column;align-items:center;gap:14px}
.app-installa .app-icona-grande{width:120px!important;height:120px!important;padding:6px;border-radius:26px}

/* pagina App: logo in alto a fianco del titolo; il QR scende e si allinea al titolo del riquadro hotspot */
.app-installa{display:grid;row-gap:0}
.app-cella-logo{grid-column:1;grid-row:1;display:flex;justify-content:center}
.app-top{grid-column:2;grid-row:1}
.app-cella-qr{grid-column:1;grid-row:2}
.app-resto{grid-column:2;grid-row:2}
@media(max-width:700px){.app-installa{grid-template-columns:1fr;grid-template-rows:none;justify-items:center}.app-cella-logo,.app-top,.app-cella-qr,.app-resto{grid-column:1;grid-row:auto}.app-cella-qr{margin-top:6px}}
/* barra in basso su telefono e tablet: compare il nome dell'utente, la data sparisce per fare posto */
@media(max-width:991px){.barra-stato .bs-utente{display:inline-flex;align-items:center;max-width:calc(38vw / var(--zm,1));overflow:hidden;text-overflow:ellipsis;color:#e6edf6}.barra-stato .bs-data{display:none}}
.app-cella-qr{margin-top:34px}
@media(max-width:700px){.app-cella-qr{margin-top:6px}}
@media(max-width:991px){.barra-stato .bs-utente{flex:1 1 auto;min-width:0;max-width:none}.barra-stato .bs-sg{flex:none}.barra-stato .bs-sg i{display:none}.barra-stato .bs-modulo{flex:none}}

@media(max-width:575px){.barra-stato{gap:8px}.barra-stato .bs-lbl{display:none}.barra-stato .bs-modulo i,.barra-stato .bs-utente i{display:none}.barra-stato .bs-modulo{padding:0 7px;letter-spacing:.02em;font-size:.68rem}.barra-stato .bs-utente{font-size:.72rem}}

/* codice QR più grande e con un bordo bianco largo, per leggerlo anche con fotocamere poco sensibili */
.app-installa .app-qr{padding:22px;border-radius:18px}
.app-installa .app-qr img,.app-installa .app-qr canvas{display:block;image-rendering:pixelated}
@media(max-width:575px){.app-installa .app-qr{padding:16px}}

/* tablet e telefono: il nome sotto il titolo non deve uscire dall'etichetta; la data e il nome utente (già nella barra in basso) lasciano posto */
.marchio-testo{min-width:max-content}.marchio-sotto{flex:none;white-space:nowrap}.marchio-riga{flex-wrap:nowrap}
@media(max-width:1100px){.marchio-data{display:none}}
@media(max-width:991px){.marchio-destra .utente{display:none!important}}

/* logo TECARO: solo il disegno su fondo trasparente, senza riquadro, bordo, ombra a scatola né rientri */
html .marchio-barra .marchio-icona,html .hero-marchio img.hero-icona,html .invito-icona,html .btn-app .ico-app-img,html .app-icona,html .icona-lic,html .app-installa .app-icona-grande{
  background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.45))}
html .marchio-barra .marchio-icona{width:auto!important;height:60px!important;max-width:64px}
html .btn-app .ico-app-img{width:auto!important;height:26px!important}
html .app-icona{width:auto!important;height:50px!important}
html .app-installa .app-icona-grande{width:auto!important;height:130px!important}
html .app-icona-sfondo,html .titolo-riga .app-icona-sfondo{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
@media(max-width:575px){html .marchio-barra .marchio-icona{height:48px!important;max-width:52px}}

/* tablet: il tastino del menu laterale è più grande, per toccarlo bene con il dito */
@media(pointer:coarse) and (min-width:992px){.side-toggle{width:42px!important;height:42px!important;font-size:1.05rem}}

/* barra del telefono: tutti i tasti entrano senza uscire dallo schermo */
@media(max-width:575px){
  .marchio-barra{gap:3px!important;padding-left:6px!important;padding-right:6px!important}
  .marchio-barra .btn-menu{width:34px!important;height:34px!important;min-width:0!important;padding:0!important}
  html .marchio-barra .marchio-icona{height:40px!important;max-width:44px!important}
  
  .marchio-destra{gap:3px!important}
  .marchio-destra .guida-btn,.marchio-destra .tavolozza,.marchio-destra .campana,.marchio-destra .cerca-box>button,.marchio-destra .cerca-tasto{width:32px!important;height:32px!important;margin:0!important;padding:0!important;min-width:0!important}
  .marchio-destra .guida-btn svg,.marchio-destra .tavolozza svg{width:21px;height:21px}
  .marchio-destra .collegati{height:32px!important;padding:0 7px!important;gap:4px!important;font-size:.78rem!important}
  .marchio-destra .btn-esci{height:30px!important;padding:0 9px!important;font-size:.78rem!important;min-width:0!important}
}
@media(max-width:575px){
  
  .marchio-destra .guida-btn,.marchio-destra .tavolozza,.marchio-destra .campana,.marchio-destra .cerca-box>button,.marchio-destra .cerca-tasto{width:30px!important;height:30px!important}
  .marchio-destra .collegati{padding:0 6px!important}
  .marchio-destra .btn-esci{padding:0 8px!important}
  html .marchio-barra .marchio-icona{height:38px!important;max-width:40px!important}
}

/* finestra «Vuoi uscire?»: stile istituzionale (testata blu notte con filo oro, come la barra) */
#modEsci{pointer-events:auto!important;z-index:2100}
#modEsci .modal-dialog{max-width:480px;pointer-events:auto}
.esci-box{border:0;border-radius:16px;overflow:hidden;box-shadow:0 22px 60px rgba(0,0,0,.5)}
.esci-testa{display:flex;align-items:center;gap:16px;padding:20px 24px;border-bottom:4px solid #f0b429;color:#fff;cursor:default!important}
.esci-testa h5{margin:0;font-size:1.3rem;font-weight:800;letter-spacing:.01em}
.esci-testa p{margin:3px 0 0;font-size:.82rem;letter-spacing:.03em}
.esci-logo{width:46px;height:46px;flex:none;object-fit:contain}
.esci-box .modal-body{padding:22px 24px 8px}
.esci-testo{margin:0;font-size:1.05rem;line-height:1.5;color:#172033}
.esci-azioni{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px}
.esci-azioni .btn{min-width:150px;font-weight:700;border-radius:999px}
@media(max-width:575px){.esci-azioni{flex-direction:column-reverse}.esci-azioni .btn{width:100%}}

/* scelta del suono delle notifiche (nel menu della campanella) */
.nt-suono-opz{flex-wrap:wrap}
.nt-suono-opz label{display:flex;align-items:center;gap:6px;margin:0;font-size:.82rem;color:inherit}
.nt-suono-opz .nt-attiva{width:auto;padding:3px 10px}

/* scelta del suono: titolo centrato e testi ben visibili */
.nt-suono-opz{justify-content:center}
.nt-suono-riga{justify-content:center;flex-wrap:wrap}
.nt-suono-opz .nt-vol{justify-content:center;gap:8px;color:#e6edf6;font-size:1.05rem}
.nt-suono-opz .nt-vol input{width:140px}

/* scelta del suono: riquadro ordinato e professionale */
.nt-suono-opz{margin:10px 12px 6px;padding:12px 14px 12px;border:1px solid rgba(240,180,41,.45);border-radius:12px;background:rgba(255,255,255,.04);display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:center}
.nt-suono-tit{font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#f0b429;padding-bottom:8px;border-bottom:1px solid rgba(240,180,41,.3)}
.nt-suono-tit i{margin-right:6px}
.nt-suono-riga{display:flex;gap:8px;align-items:stretch}
.nt-suono-opz select{flex:1 1 auto;min-width:0;max-width:none;height:34px;padding:0 10px;border-radius:9px;border:1px solid rgba(201,214,230,.45);background:#0f1b2a;color:#e6edf6;font-size:.92rem;font-weight:600}
.nt-suono-opz select:focus{outline:2px solid #6db3ff;outline-offset:1px}
.nt-suono-prova{flex:none;height:34px;padding:0 14px;border-radius:999px;border:0;background:#f0b429;color:#1a1405;font-weight:800;font-size:.88rem;display:inline-flex;align-items:center;gap:4px}
.nt-suono-prova:hover{filter:brightness(1.08)}
.nt-suono-vol{display:flex;align-items:center;gap:8px;color:#c9d6e6;font-size:1rem}
.nt-suono-et{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c8d3e0;margin-right:2px}
.nt-suono-vol input[type=range]{flex:1 1 auto;min-width:0;width:auto;-webkit-appearance:none;appearance:none;height:6px;border-radius:999px;background:linear-gradient(90deg,#f0b429 var(--p,60%),rgba(201,214,230,.28) var(--p,60%));outline:0}
.nt-suono-vol input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #f0b429;box-shadow:0 1px 4px rgba(0,0,0,.5);cursor:pointer}
.nt-suono-vol input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #f0b429;cursor:pointer}
.nt-suono-vol b{min-width:2.6em;text-align:right;color:#fff;font-size:.9rem}

/* suono personale */
.nt-suono-file{display:flex;align-items:center;justify-content:center;gap:8px}
.nt-suono-sfoglia{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 12px;border:1.5px dashed rgba(201,214,230,.55);border-radius:10px;color:#dbe6f3;font-size:.84rem;font-weight:600;cursor:pointer}
.nt-suono-sfoglia:hover{border-color:#f0b429;color:#fff}
.nt-suono-del{width:32px;height:32px;border-radius:9px;border:1px solid rgba(239,68,68,.6);background:transparent;color:#ff8a8a;display:inline-flex;align-items:center;justify-content:center}
.nt-suono-del[hidden]{display:none}
.nt-suono-msg{font-size:.74rem;color:#c8d3e0;line-height:1.3}
.nt-suono-msg.errore{color:#ff8a8a;font-weight:700}
.nt-suono-opz .nt-suono-riga{flex-wrap:nowrap}
.nt-suono-opz .nt-suono-riga select{flex:1 1 0;width:0;text-overflow:ellipsis}
.nt-suono-opz .nt-suono-sfoglia,.nt-suono-opz .nt-suono-sfoglia i{color:#e6edf6!important}
.nt-suono-opz .nt-suono-msg{color:#b8c7da!important}
.nt-suono-opz .nt-suono-msg.errore{color:#ff9a9a!important}

/* campanella: impostazioni nascoste dietro un pulsantino */
.nt-imp-btn{display:flex;align-items:center;gap:6px;margin:8px auto 8px;padding:5px 14px;border-radius:999px;border:1px solid rgba(201,214,230,.4);background:rgba(255,255,255,.05);color:#c9d6e6;font-size:.8rem;font-weight:700;letter-spacing:.03em}
.nt-imp-btn:hover,.nt-imp-btn[aria-expanded="true"]{border-color:#f0b429;color:#f0b429;background:rgba(240,180,41,.1)}
.nt-imp-btn[aria-expanded="true"] i{transform:rotate(60deg)}
.nt-imp-btn i{transition:transform .2s}
.nt-piede[hidden]{display:none!important}
.nt-piede{border-top:1px solid rgba(201,214,230,.18);padding-top:8px}

/* avvisi: cosa ricevere, interruttori e silenzio temporaneo */
.nt-avvisi{margin:8px 12px 4px;padding:10px 14px;border:1px solid rgba(240,180,41,.45);border-radius:12px;background:rgba(255,255,255,.04);display:flex;flex-direction:column;gap:9px}
.nt-avv-tit{font-weight:800;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:#f0b429;text-align:center;padding-bottom:7px;border-bottom:1px solid rgba(240,180,41,.3)}
.nt-sw{display:flex;align-items:center;gap:10px;margin:0;font-size:.9rem;color:#e6edf6;cursor:pointer;line-height:1.25}
.nt-sw input{position:absolute;opacity:0;pointer-events:none}
.nt-sw-i{flex:none;position:relative;width:38px;height:22px;border-radius:999px;background:rgba(201,214,230,.28);transition:background .15s}
.nt-sw-i::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.5);transition:transform .15s}
.nt-sw input:checked+.nt-sw-i{background:#f0b429}
.nt-sw input:checked+.nt-sw-i::after{transform:translateX(16px)}
.nt-sw input:focus-visible+.nt-sw-i{outline:2px solid #6db3ff;outline-offset:2px}
.nt-silenzio{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#b8c7da;font-size:.82rem;justify-content:center}
.nt-silenzio button{padding:3px 10px;border-radius:999px;border:1px solid rgba(201,214,230,.45);background:transparent;color:#e6edf6;font-size:.8rem;font-weight:700}
.nt-silenzio button:hover{border-color:#f0b429;color:#f0b429}
.nt-silenzio .nt-sil-0{border-color:rgba(34,197,94,.6);color:#86efac}
.nt-msg-sil{text-align:center;font-size:.8rem;color:#f0b429;font-weight:700}
.nt-msg-sil[hidden]{display:none}

/* finestra «Imposta le notifiche» */
.notifiche-modale .modal-dialog{max-width:880px}
.notifiche-modale .modal-body{padding:16px 18px 18px;color:#e6edf6}
.notifiche-modale .nt-piede{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;border:0;padding:0}
.notifiche-modale .nt-piede>.nt-attiva,.notifiche-modale .nt-piede>#ntProva{grid-column:1/-1}
.notifiche-modale .nt-avvisi,.notifiche-modale .nt-suono-opz{margin:0}
.notifiche-modale .nt-piede>.nt-avvisi{grid-column:1;grid-row:1/span 3}
.notifiche-modale .nt-piede>.nt-suono-opz{grid-column:2;grid-row:1/span 3}
.notifiche-modale .nt-piede>#ntAttiva{grid-row:4}
.notifiche-modale .nt-piede>#ntSuono{grid-row:5}
.notifiche-modale .nt-piede>#ntProva{grid-row:6}
.notifiche-modale .io-testa{background:linear-gradient(120deg,#0f3d63,#1565c0 60%,#1e88e5)}
@media(max-width:700px){.notifiche-modale .nt-piede{grid-template-columns:minmax(0,1fr)}.notifiche-modale .nt-piede>*{grid-column:1!important;grid-row:auto!important}}
.nt-imp-btn[aria-expanded]{}

/* «Simula un ticket» fuori dalla finestra delle impostazioni: piccolo link discreto sotto l'elenco */
.nt-prova-link{display:block;margin:0 auto 8px;background:none;border:0;color:#c8d3e0;font-size:.74rem;text-decoration:underline;text-underline-offset:2px}
.nt-prova-link:hover{color:#f0b429}
/* finestra «Imposta le notifiche»: sfondo grigio */
.notifiche-modale .modal-body{background:#2c3138!important}
.notifiche-modale .nt-avvisi,.notifiche-modale .nt-suono-opz{background:#363c44;border-color:rgba(240,180,41,.55)}
.notifiche-modale .nt-suono-opz select{background:#262b31}
.notifiche-modale .nt-piede>.nt-attiva{background:#363c44;border-color:rgba(201,214,230,.35)}

/* finestra «Vuoi uscire?»: il nome TECARO con i suoi colori (TECA bianco, RO verde, versione nel cerchio) */
.esci-testa h5 .nome-marchio{font-size:1.45rem;letter-spacing:.5px}
.esci-testa h5 .nome-marchio .ver-cerchio{font-size:.4em;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#fff!important;margin-left:.3em}
.esci-testa{background:linear-gradient(120deg,#0b1620,#12304f 70%,#0b1620)}
.esci-testa .esci-logo{width:58px;height:58px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.5))}
.esci-testa p{color:#f0b429;font-weight:600}
.esci-azioni .btn-danger{background:#d62839;border-color:#d62839}
.esci-box .modal-body b{color:#0b5fd0}

/* campanella: «Imposta le notifiche» e «Simula un ticket» fissi in cima, sotto il titolo; scorre solo l'elenco */
.elenco-notifiche .nt-fisso{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 8px;margin:0 0 6px;border-bottom:1px solid rgba(201,214,230,.18)}
.elenco-notifiche .nt-fisso .nt-imp-btn{margin:0}
.elenco-notifiche .nt-fisso .nt-prova-link{margin:0}

/* campanella ridisegnata: campana dorata a colori (come le altre icone della barra); con novità diventa rossa, con anello e alone */
.campana{width:38px!important;height:34px!important;background:#0e1c2b!important;border:1.5px solid rgba(201,214,230,.55)!important;color:#f0b429!important}
.campana .campana-svg{display:block;overflow:visible;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}
.campana .cs-corpo{fill:url(#gCamp);stroke:#7a4b00;stroke-width:.9;stroke-linejoin:round}
.campana .cs-pom{fill:#f0b429;stroke:#7a4b00;stroke-width:.7}
.campana .cs-batt{fill:#8a5a08;stroke:#5a3a00;stroke-width:.7}
.campana:hover,.campana.show{border-color:#f0b429!important;background:#13263a!important}
html .campana.ha-novita{background:#fff4f2!important;border:2px solid #d62839!important;color:#d62839!important}
.campana.ha-novita .cs-corpo{fill:url(#gCampR);stroke:#5f1010}
.campana.ha-novita .cs-pom{fill:#e53935;stroke:#5f1010}
.campana.ha-novita .cs-batt{fill:#ffd36b;stroke:#7a4b00}
.campana em{top:-8px!important;right:-8px!important;min-width:20px!important;height:20px!important;line-height:16px!important;border:2px solid #0b1620;box-shadow:0 2px 5px rgba(0,0,0,.5);font-size:.7rem!important}

/* legenda dei colori delle notifiche (priorità) */
.nt-leg{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:.74rem;color:#b8c7da}
.nt-leg span{display:inline-flex;align-items:center;gap:5px}
.nt-leg .pr{display:inline-block;width:9px;height:9px;border-radius:50%;background:#f97316}
.nt-leg .pr.urgente{background:#ff4d5e;box-shadow:0 0 6px #ff4d5e}.nt-leg .pr.alta{background:#f97316}.nt-leg .pr.media{background:#f0b429}.nt-leg .pr.bassa{background:#22c55e}

/* dimensione dei testi (scelta dall'utente in Impostazioni) */
html[data-testo="grande"]{font-size:112.5%}
html[data-testo="moltogrande"]{font-size:125%}
.testo-scelta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.testo-scelta button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 10px;border:2px solid #cfd8e6;border-radius:14px;background:#fff;color:#172033}
.testo-scelta button span{font-weight:800;line-height:1.1;color:#0b5fd0}
.testo-scelta button small{color:#667389}
.testo-scelta button:hover{border-color:#0b5fd0}
.testo-scelta button.attivo{border-color:#f0b429;background:#fff8e1;box-shadow:0 0 0 3px rgba(240,180,41,.3)}
@media(max-width:575px){.testo-scelta{grid-template-columns:1fr}}
.profilo-dl{display:grid;grid-template-columns:max-content 1fr;gap:10px 22px;margin:0 0 14px}
.profilo-dl dt{color:#667389;font-weight:600;font-size:.88rem;text-transform:uppercase;letter-spacing:.05em}
.profilo-dl dd{margin:0;font-weight:600}
/* pulsante «Impostazioni» del menu laterale: sempre ben visibile, anche quando si è già nella pagina */
.sidebar a.btn-sistema,.sidebar a.btn-sistema:visited{color:#e6edf6!important;background:rgba(201,214,230,.12)!important;border:1px solid rgba(201,214,230,.45)!important;text-decoration:none}
.sidebar a.btn-sistema.active,.sidebar a.btn-sistema:active{color:#f0b429!important;background:rgba(240,180,41,.16)!important;border-color:#f0b429!important}
.sidebar a.btn-sistema:hover{color:#fff!important;border-color:#f0b429!important}
/* contatori nel menu laterale: solo il numero, senza targhetta; il colore resta quello dello stato */
html .sidebar .nav-cnt,html .sidebar .nav-link.active .nav-cnt,html .sidebar .nav-cnt.rit{width:auto!important;min-width:26px;height:auto!important;padding:0 2px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:1rem;font-weight:800;line-height:1.2;text-align:right}
html .sidebar .nav-cnt.c-rosso{color:#ff6b6b!important}
/* nome TECARO nella scatola nera (piè di pagina, ecc.): sempre bianco su nero, anche nei temi chiari */
html .nome-marchio.nm-scatola,html .nome-marchio.nm-scatola *:not(.nome-verde){color:#fff!important;-webkit-text-fill-color:#fff!important}
html .nome-marchio.nm-scatola .nome-verde{background:linear-gradient(180deg,#a3ec3f,#3fae12)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
html .nome-marchio.nm-scatola .ver-cerchio{color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#fff!important}

/* campanella sulla riga Home del menu laterale */
.sidebar .nav-item{position:relative}
.sidebar .nav-campana{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:30px;border-radius:999px;border:1.5px solid rgba(201,214,230,.5);background:#0e1c2b;display:inline-flex;align-items:center;justify-content:center;padding:0}
.sidebar .nav-campana .cs-corpo{fill:url(#gCamp);stroke:#7a4b00;stroke-width:.9;stroke-linejoin:round}
.sidebar .nav-campana .cs-pom{fill:#f0b429;stroke:#7a4b00;stroke-width:.7}
.sidebar .nav-campana .cs-batt{fill:#8a5a08;stroke:#5a3a00;stroke-width:.7}
.sidebar .nav-campana:hover{border-color:#f0b429}
.sidebar .nav-campana em{position:absolute;top:-8px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#d62839;color:#fff;font-style:normal;font-size:.68rem;font-weight:800;line-height:14px;text-align:center;border:2px solid #1a1411}
.sidebar .nav-campana em[hidden]{display:none}
html .sidebar .nav-campana.ha-novita{background:#fff4f2;border:2px solid #d62839}
.sidebar .nav-campana.ha-novita .cs-corpo{fill:url(#gCampR);stroke:#5f1010}
.sidebar .nav-campana.ha-novita .cs-pom{fill:#e53935;stroke:#5f1010}
.sidebar .nav-campana.ha-novita .cs-batt{fill:#ffd36b;stroke:#7a4b00}
.sidebar .nav-campana.ha-novita svg{animation:campanaScampanio 2.4s ease-in-out infinite;transform-origin:50% 12%}
@media(prefers-reduced-motion:reduce){.sidebar .nav-campana.ha-novita svg{animation:none}}

/* Comitato Tecnico: cruscotto */
.com-riga{display:flex;flex-wrap:wrap}
.com-num{flex:0 0 auto;background:#fff;border:1px solid #dde3ee;display:flex}
.com-num b{color:#0b5fd0}
.com-num span{color:#55607a}
.com-nota b{font-size:inherit;color:#6a4a00}
.com-nota{justify-content:center;background:#fff8e1;border-color:#f0d78a}
.com-nota span{color:#6a4a00}
.com-tit{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.95rem;color:#8f6404;margin:18px 0 12px}
.com-passi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.com-passo{position:relative;display:flex;gap:12px;align-items:flex-start;padding:14px 14px 14px 16px;border-radius:14px;border:1px solid #dde3ee;border-left:6px solid var(--pc,#0b5fd0)}
.com-passo p{margin:2px 0 0;color:#55607a;font-size:.92rem;line-height:1.4}
.com-passo b{font-size:1.02rem}
.com-n{flex:none;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.com-ic{flex:none;font-size:1.5rem}

.com-sint{margin:14px 0 6px;padding:12px 16px;border-radius:12px;background:#0b1620;color:#e6edf6;font-size:.98rem;line-height:1.5}
.com-sint b{color:#f0b429}
.com-inarrivo{opacity:.6;pointer-events:none}
@media(max-width:575px){.com-passi{grid-template-columns:1fr}.com-num{flex:1 1 100%}}

/* temi con la pagina bianca */
html[data-tema="bianco-blu"]{--tm-b:#1e3a8a;--tm-l1:#2f5fc4;--tm-l2:#1e3a8a;--tm-p:#ffffff;--tm-a:#dbeafe;--tm-bo:#dbe3f0}
html[data-tema="bianco-verde"]{--tm-b:#14532d;--tm-l1:#1d7a45;--tm-l2:#14532d;--tm-p:#ffffff;--tm-a:#dcfce7;--tm-bo:#d5e6da}

/* Comitato Tecnico: barra di navigazione in cima alle pagine */
.com-nav{display:flex;flex-wrap:wrap;margin:2px 0 16px}
.com-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1.5px solid #cfd8e6;background:#fff;color:#172033;font-weight:700;font-size:.95rem;text-decoration:none}
.com-tab i{color:#0b5fd0}
.com-tab:hover{border-color:#0b5fd0;color:#0b5fd0}
.com-tab.on{background:#0b1620;border-color:#0b1620;color:#fff}
.com-tab.on i{color:#f0b429}

/* voce «Comitato Tecnico» nel menu laterale: separata da una linea e messa in evidenza */
.sidebar .nav-comitato{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.35)}
.sidebar .nav-comitato .nav-link{font-weight:800;letter-spacing:.02em;background:rgba(240,180,41,.14);border:1px solid rgba(240,180,41,.55);border-left:4px solid #f0b429;color:#fff}
.sidebar .nav-comitato .nav-link i{color:#f0b429}
.sidebar .nav-comitato .nav-link:hover{background:rgba(240,180,41,.24)}
html .sidebar .nav-comitato .nav-link.active{background:#f0b429;color:#1a1405;border-color:#f0b429}
html .sidebar .nav-comitato .nav-link.active i{color:#1a1405}

/* cruscotto del Comitato: numeri cliccabili, quantità per passo e avvisi */
a.com-num{text-decoration:none;color:inherit}a.com-num:hover{border-color:#0b5fd0}
.com-num.com-att b{color:#d97706}.com-num.com-rit b{color:#dc2626}
.com-qta{position:absolute;top:10px;right:12px;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--pc,#0b5fd0);color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.com-avvisi{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px;margin-bottom:8px}
.com-avv{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid #dde3ee;color:#172033;text-decoration:none}
.com-avv small{display:block;color:#55607a;font-size:.88rem;line-height:1.35}
.com-avv:hover{border-color:#0b5fd0}
.com-pt{flex:none;width:11px;height:11px;border-radius:50%;margin-top:6px;background:#3b82f6}
.com-avv.liv-rosso .com-pt{background:#ef4444}.com-avv.liv-arancio .com-pt{background:#f97316}.com-avv.liv-giallo .com-pt{background:#eab308}

/* legenda delle sigle in fondo alla pagina */
.legenda-sigle{margin:28px 0 8px;padding:14px 18px;border:1px solid var(--bs-border-color,#dde3ee);border-radius:12px;background:var(--bs-tertiary-bg,#f6f8fc);color:var(--bs-body-color,#172033);font-size:.9rem}
.legenda-sigle h6{font-weight:800;margin:0 0 8px}.legenda-sigle dl{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px 22px}.legenda-sigle dl>div{display:flex;gap:10px;align-items:baseline}.legenda-sigle dt{flex:none;min-width:52px;padding:1px 8px;border-radius:6px;background:#0b5fd0;color:#fff;font-weight:800;text-align:center;font-size:.8rem}.legenda-sigle dd{margin:0;line-height:1.35}

/* Importa: casella del file larga quanto la scheda, con icona, testo, pulsante e nome del file scelto */
.imp-carica .imp-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;max-width:none;padding:30px 24px;background:#fff;border:3px dashed #1e8e3e;border-radius:20px;text-align:center;transition:.15s}
.imp-carica .imp-drop:hover,.imp-carica .imp-drop.sopra{background:#d6f3df;border-color:#14532d}
.imp-carica .imp-drop.scelto{border-style:solid;background:#f1fbf4}
.imp-carica .imp-ico{line-height:1;color:#1e8e3e}
.imp-carica .imp-drop-t{position:static;font-weight:800;color:#166534;pointer-events:none}
.imp-carica .imp-drop-o{font-size:.9rem;color:#2f4f3a;pointer-events:none}
.imp-carica .imp-btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:#1e8e3e;color:#fff;font-weight:700;pointer-events:none;box-shadow:0 3px 8px rgba(30,142,62,.35)}
.imp-carica .imp-drop:hover .imp-btn{background:#166534}
.imp-carica .imp-nome{margin-top:4px;font-size:.95rem;font-weight:600;color:#14532d;word-break:break-all;pointer-events:none}
.imp-carica .imp-drop .imp-file{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important;max-width:none!important;padding:0!important;margin:0;opacity:0;cursor:pointer;border:0!important}

.imp-carica .imp-drop{flex:1 1 auto;min-height:300px;width:100%}
.imp-carica .imp-ico{font-size:3.6rem}.imp-carica .imp-drop-t{font-size:1.5rem}.imp-carica .imp-btn{padding:12px 36px;font-size:1.15rem}

/* Importa: messaggio di esito ben visibile */
.imp-esito{padding:16px 20px;border-width:2px;border-radius:16px}
.imp-esito-t{font-size:1.5rem;font-weight:800;display:flex;align-items:center;gap:10px;margin-bottom:4px}.imp-esito-t i{font-size:1.9rem}
.imp-esito-s{font-size:1.08rem;margin-bottom:4px}

.imp-carica .imp-pronto{margin-top:6px;color:#14532d;font-size:1rem;pointer-events:none}.imp-carica .imp-pronto i{color:#1e8e3e}
.imp-carica .imp-vai{position:relative;z-index:2;margin-top:8px;border-radius:999px;padding:10px 34px;font-weight:700}

/* Screensaver: spot animato con logo e TECARO grande */
#salvaschermo{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;overflow:hidden;color:#fff;cursor:none;font-family:"Segoe UI",Arial,sans-serif;background:#050d14}
#salvaschermo.on{display:flex;animation:svEntra .8s ease both}
@keyframes svEntra{from{opacity:0}to{opacity:1}}
html.sv-attivo{overflow:hidden}
.sv-fondo{position:absolute;inset:-20%;background:radial-gradient(60% 50% at 30% 30%,rgba(30,110,190,.55),transparent 70%),radial-gradient(55% 50% at 75% 70%,rgba(60,160,30,.35),transparent 70%),linear-gradient(160deg,#050d14,#0b2338 60%,#0b1620);animation:svFondo 26s ease-in-out infinite alternate}
@keyframes svFondo{from{transform:translate(-3%,-2%) scale(1)}to{transform:translate(3%,2%) scale(1.12)}}
.sv-fondo::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(240,180,41,.05) 0 2px,transparent 2px 34px)}
.sv-scena{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4vmin;max-width:calc(96vw / var(--zm,1));animation:svDeriva 40s ease-in-out infinite alternate}
@keyframes svDeriva{from{transform:translate(-2.5vw,-1.5vh)}to{transform:translate(2.5vw,1.5vh)}}
.sv-scena.sv-in>*{animation-fill-mode:both}
.sv-logo{width:min(34vmin,360px);margin-bottom:3vmin;animation:svLogo 1.4s cubic-bezier(.2,1.3,.4,1) both,svRespira 5s 1.4s ease-in-out infinite;filter:drop-shadow(0 0 5vmin rgba(80,170,255,.55))}
.sv-logo img{width:100%;height:auto;display:block}
.sv-logo.sv-piccolo{width:min(22vmin,240px)}
@keyframes svLogo{from{opacity:0;transform:scale(.2) rotate(-12deg)}to{opacity:1;transform:none}}
@keyframes svRespira{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.sv-nome{display:flex;align-items:flex-start;justify-content:center;font-weight:800;font-style:italic;letter-spacing:.07em;line-height:1;font-size:min(20vmin,17vw);text-shadow:0 .04em .2em rgba(0,0,0,.6)}
.sv-nome>i,.sv-nome b i{font-style:italic;display:inline-block;opacity:0;animation:svLettera .7s cubic-bezier(.2,1.4,.4,1) both}
.sv-nome b{color:#6cc924;font-weight:800;text-shadow:0 0 .35em rgba(108,201,36,.6)}
.sv-nome sup{font-style:normal;font-family:"Segoe UI",Arial,sans-serif;letter-spacing:0!important;text-transform:none;white-space:nowrap;font-size:.2em;font-weight:700;display:inline-flex;align-items:center;justify-content:center;width:2em;height:2em;line-height:1;border:.1em solid #fff;border-radius:50%;margin:.1em 0 0 .35em;padding:0;text-shadow:none;animation:svPop .6s 1.5s cubic-bezier(.2,1.6,.4,1) both}
.sv-nome2 sup{animation:none}
@keyframes svLettera{from{opacity:0;transform:translateY(40%) scale(.5)}to{opacity:1;transform:none}}
@keyframes svPop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
.sv-sotto{margin-top:3vmin;font-size:min(3.6vmin,2.4vw);letter-spacing:.05em;color:#c9d6e6;animation:svSale 1s both}
@keyframes svSale{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.sv-icona{font-size:min(26vmin,22vw);line-height:1;color:#f0b429;filter:drop-shadow(0 0 4vmin rgba(240,180,41,.5));animation:svLogo 1s cubic-bezier(.2,1.3,.4,1) both}
.sv-titolo{margin-top:2vmin;font-weight:800;font-size:min(11vmin,9vw);letter-spacing:.02em;animation:svSale .9s .2s both}
.sv-invito{position:absolute;bottom:3vmin;left:0;right:0;text-align:center;font-size:min(2.4vmin,1.6vw);color:rgba(201,214,230,.6);letter-spacing:.08em;animation:svLampeggia 3.5s ease-in-out infinite}
@keyframes svLampeggia{0%,100%{opacity:.25}50%{opacity:.8}}
@media print{#salvaschermo{display:none!important}}
@media (prefers-reduced-motion:reduce){.sv-fondo,.sv-scena{animation:none}}

.salva-scelta{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.salva-scelta button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border:2px solid var(--bordo,#d5dbe6);border-radius:14px;background:#fff;color:inherit;cursor:pointer;transition:.12s}
.salva-scelta button b{font-size:1.02rem}.salva-scelta button small{color:#55607a;font-size:.76rem}
.salva-scelta button:hover{border-color:#c8d3e0}
.salva-scelta button.on{border-color:#f0b429;background:#fff7e0;box-shadow:0 0 0 3px rgba(240,180,41,.25)}

/* Impostazioni: card colorate */
a.funzione-imp.imp-c-blu{--c:#0b5fd0;--c-chiaro:#e8f1fd}
a.funzione-imp.imp-c-indaco{--c:#4338ca;--c-chiaro:#eceafc}
a.funzione-imp.imp-c-ambra{--c:#b45309;--c-chiaro:#fdf1dc}
a.funzione-imp.imp-c-viola{--c:#7e22ce;--c-chiaro:#f3e8fd}
a.funzione-imp.imp-c-azzurro{--c:#0369a1;--c-chiaro:#e3f2fb}
a.funzione-imp.imp-c-ciano{--c:#0e7490;--c-chiaro:#e0f5f8}
a.funzione-imp.imp-c-turchese{--c:#0f766e;--c-chiaro:#e0f4f1}
a.funzione-imp.imp-c-verde{--c:#15803d;--c-chiaro:#e4f6ea}
a.funzione-imp.imp-c-rosa{--c:#be185d;--c-chiaro:#fce8f1}
a.funzione-imp.imp-c-arancio{--c:#c2410c;--c-chiaro:#fdebe0}
a.funzione-imp.imp-c-lime{--c:#4d7c0f;--c-chiaro:#eef6dc}
a.funzione-imp.imp-c-bordo{--c:#9f1239;--c-chiaro:#fbe6ec}
a.funzione-imp.imp-c-smeraldo{--c:#047857;--c-chiaro:#dff5ec}
a.funzione-imp.imp-c-fucsia{--c:#a21caf;--c-chiaro:#f9e6fb}
a.funzione-imp.imp-c-ardesia{--c:#475569;--c-chiaro:#eaeef3}
a.funzione-imp.imp-c-oro{--c:#a16207;--c-chiaro:#fbf3d6}
a.funzione-imp.imp-c-rosso{--c:#c81e2b;--c-chiaro:#fde8ea}
a.funzione-imp[class*="imp-c-"]{border:1px solid color-mix(in srgb,var(--c) 35%,#fff)!important;border-left:7px solid var(--c)!important;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 14%,#fff) 0%,var(--c-chiaro) 45%,#fff 100%);overflow:hidden}
a.funzione-imp[class*="imp-c-"]:hover{border-color:var(--c)!important;box-shadow:0 6px 18px color-mix(in srgb,var(--c) 30%,transparent)!important}
a.funzione-imp[class*="imp-c-"] h6{color:var(--c);font-weight:700}
a.funzione-imp[class*="imp-c-"] .funzione-ico{color:var(--c);background:color-mix(in srgb,var(--c) 22%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 30%,transparent);border-radius:12px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
a.funzione-imp[class*="imp-c-"] > .card-body > .bi-chevron-right{color:var(--c)!important;opacity:.85}
a.funzione-imp[class*="imp-c-"] p{color:#475569!important}
@media (max-width:575px){a.funzione-imp[class*="imp-c-"] .funzione-ico{width:42px;height:42px;font-size:1.3rem}}
.imp-cerca-campo{max-width:420px}
.imp-cerca-campo .bi-search{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}
.imp-cerca-campo .form-control{padding-left:36px;border-radius:12px}

/* anteprima del salvaschermo dentro la pagina Impostazioni */
.sv-prev{position:relative;container-type:size;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;color:#fff;font-family:"Segoe UI",Arial,sans-serif;background:#050d14;border:3px solid #0b1620;box-shadow:0 6px 18px rgba(11,22,32,.35)}
.sv-prev .sv-fondo{position:absolute;inset:-20%;background:radial-gradient(60% 50% at 30% 30%,rgba(30,110,190,.55),transparent 70%),radial-gradient(55% 50% at 75% 70%,rgba(60,160,30,.35),transparent 70%),linear-gradient(160deg,#050d14,#0b2338 60%,#0b1620);animation:svFondo 26s ease-in-out infinite alternate}
.sv-prev .sv-scena{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.sv-prev .sv-scena.sv-in>*{animation-fill-mode:both}
.sv-prev .sv-logo{width:min(34cqmin,360px);margin-bottom:3cqmin;animation:svLogo 1.4s cubic-bezier(.2,1.3,.4,1) both,svRespira 5s 1.4s ease-in-out infinite;filter:drop-shadow(0 0 5cqmin rgba(80,170,255,.55))}
.sv-prev .sv-logo img{width:100%;height:auto;display:block}
.sv-prev .sv-logo.sv-piccolo{width:min(22cqmin,240px)}
.sv-prev .sv-nome{display:flex;align-items:flex-start;justify-content:center;font-weight:800;font-style:italic;letter-spacing:.07em;line-height:1;font-size:min(20cqmin,17cqw);text-shadow:0 .04em .2em rgba(0,0,0,.6)}
.sv-prev .sv-nome>i,.sv-prev .sv-nome b i{font-style:italic;display:inline-block;opacity:0;animation:svLettera .7s cubic-bezier(.2,1.4,.4,1) both}
.sv-prev .sv-nome b{color:#6cc924;font-weight:800;text-shadow:0 0 .35em rgba(108,201,36,.6)}
.sv-prev .sv-nome sup{font-style:normal;font-family:"Segoe UI",Arial,sans-serif;letter-spacing:0!important;text-transform:none;white-space:nowrap;font-size:.2em;font-weight:700;display:inline-flex;align-items:center;justify-content:center;width:2em;height:2em;line-height:1;border:.1em solid #fff;border-radius:50%;margin:.1em 0 0 .35em;padding:0;text-shadow:none;animation:svPop .6s 1.5s cubic-bezier(.2,1.6,.4,1) both}
.sv-prev .sv-nome2 sup{animation:none}
.sv-prev .sv-sotto{margin-top:3cqmin;font-size:min(3.6cqmin,2.4cqw);letter-spacing:.05em;color:#c9d6e6;animation:svSale 1s both}.sv-sotto b{color:#f0b429}
.sv-prev .sv-icona{font-size:min(26cqmin,22cqw);line-height:1;color:#f0b429;filter:drop-shadow(0 0 4cqmin rgba(240,180,41,.5));animation:svLogo 1s cubic-bezier(.2,1.3,.4,1) both}
.sv-prev .sv-titolo{margin-top:2cqmin;font-weight:800;font-size:min(11cqmin,9cqw);letter-spacing:.02em;animation:svSale .9s .2s both}
.sv-prev .sv-scena{position:absolute;inset:0;max-width:none;width:100%;height:100%;animation:none;padding:0}

/* KRessèntia con i suoi colori: KR bianco, essèntia oro, con il suo logo */
.sv-krbox{display:flex;align-items:center;justify-content:center;gap:2.2vmin;margin-top:1.6vmin;animation:svSale 1s both}
.sv-krbox img{height:min(15vmin,150px);width:auto;filter:drop-shadow(0 0 3vmin rgba(240,180,41,.4))}
.sv-kr{font-weight:800;font-size:min(10vmin,8vw);letter-spacing:.02em;line-height:1}
.sv-kr b{color:#fff;font-weight:800}.sv-kr i{color:#f0b429;font-style:normal;text-shadow:0 0 .4em rgba(240,180,41,.45)}
.sv-prev .sv-krbox{gap:2.2cqmin;margin-top:1.6cqmin}
.sv-prev .sv-krbox img{height:min(15cqmin,150px)}
.sv-prev .sv-kr{font-size:min(10cqmin,8cqw)}

/* anteprima del salvaschermo: barra di avanzamento e comandi */
.sv-barra{position:relative;height:12px;margin-top:10px;border-radius:999px;background:#dfe6ef;cursor:pointer;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.15)}
.sv-barra:hover{height:12px;background:#d2dbe8}
.sv-barra-p{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#1e8e3e,#6cc924);transition:width .1s linear}
.sv-comandi{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.sv-comandi .btn{width:auto;min-width:0;padding:0 14px}
.sv-scena-n{margin-left:auto;font-size:.88rem;color:#55607a}
.sv-prev.in-pausa *{animation-play-state:paused!important}
.sv-prev.in-pausa::after{content:"PAUSA";position:absolute;top:8px;right:10px;padding:2px 10px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.72rem;letter-spacing:.12em;font-weight:700}

/* sottotitolo fisso in basso: KRessèntia con i suoi colori + parole chiave */
.sv-sub{position:absolute;left:0;right:0;bottom:7vmin;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1vmin 2.4vmin;padding:1.4vmin 4vmin;border-top:1px solid rgba(240,180,41,.35);background:linear-gradient(180deg,rgba(5,13,20,0),rgba(5,13,20,.65));z-index:3;pointer-events:none}
.sv-kr-s{font-size:min(3vmin,2.2vw)!important}
.sv-sub-t{font-size:min(2.5vmin,1.7vw);color:#c9d6e6;letter-spacing:.04em}
.sv-sub-d{font-size:min(2.2vmin,1.5vw);color:#8fa6bf;letter-spacing:.05em}
.sv-prev .sv-sub{bottom:1cqmin;gap:.8cqmin 2cqmin;padding:1cqmin 3cqmin}
.sv-prev .sv-kr-s{font-size:min(3.6cqmin,2.6cqw)!important}
.sv-prev .sv-sub-t{font-size:min(2.6cqmin,1.7cqw)}.sv-prev .sv-sub-d{font-size:min(2.3cqmin,1.5cqw)}
#salvaschermo .sv-scena{padding-bottom:12vmin}
.sv-prev .sv-scena{padding-bottom:11cqmin}

/* freccia verso il passo successivo, nel colore del passo che segue */
.com-passo.n2{--pn:#06b6d4}
.com-passo.n3{--pn:#14b8a6}
.com-passo.n4{--pn:#22c55e}
.com-passo.n5{--pn:#84cc16}
.com-passo.n6{--pn:#eab308}
.com-passo.n7{--pn:#f59e0b}
.com-passo.n8{--pn:#f97316}
.com-passo.n9{--pn:#ef4444}
.com-passo.n10{--pn:#8b5cf6}
.com-next{position:absolute;transform:translateY(-50%);display:flex;flex-direction:column;gap:1px;line-height:1}
.com-next i{transition:transform .15s}
.com-next small{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#55607a}.com-next small b{font-size:.78rem}

/* la freccia esce a metà dalla card, come un collegamento verso il passo successivo */
.com-passi{gap:14px 22px}
.com-passo{padding-right:26px}
.com-next{right:-19px;top:50%;z-index:3;width:38px;height:38px;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.25);align-items:center;justify-content:center}
.com-next i{font-size:2.2rem;line-height:1;filter:none;border-radius:50%}
.com-fine i{font-size:1.7rem}
.com-passo:hover .com-next i{transform:translateX(2px)}
@media(max-width:700px){.com-next{right:12px;top:auto;bottom:-19px;transform:none}.com-passi{row-gap:30px}}
/* percorso: dieci colori molto diversi, numero solo con il cerchio, freccia nel colore della propria card, sfondo leggermente colorato */
.com-passo.p1{--pc:#2563eb}
.com-passo.p2{--pc:#dc2626}
.com-passo.p3{--pc:#16a34a}
.com-passo.p4{--pc:#9333ea}
.com-passo.p5{--pc:#ea580c}
.com-passo.p6{--pc:#0891b2}
.com-passo.p7{--pc:#db2777}
.com-passo.p8{--pc:#ca8a04}
.com-passo.p9{--pc:#475569}
.com-passo.p10{--pc:#7c2d12}
.com-passo{background:color-mix(in srgb,var(--pc) 9%,#fff);border-color:color-mix(in srgb,var(--pc) 30%,#dde3ee)}
.com-n{background:transparent!important;color:var(--pc)!important;border:2.5px solid var(--pc);box-sizing:border-box}
.com-ic{color:var(--pc)}
.com-next{color:var(--pc)!important;background:#fff}
.com-next i{color:var(--pc);background:#fff}
.com-next small b{color:var(--pc)}
.com-fine{--pn:var(--pc)}
.com-passo b{color:#172033}
.com-passo{border-left-color:var(--pc)}
.barra-stato .bs-demo{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 12px;border-radius:999px;background:#fde68a;color:#78350f;font-weight:800;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.btn.btn-ic.az-duplica{--az:#0f766e}
/* azioni degli utenti: sempre su una riga, anche con sei pulsanti */
.az-griglia{display:inline-flex!important;flex-wrap:nowrap;gap:8px;justify-content:flex-end;white-space:nowrap}
.az-griglia>*{flex:none}
td.text-nowrap:has(.az-griglia){min-width:calc(6 * 32px + 5 * 8px + 24px)}
@media(max-width:1099px){.az-griglia{gap:6px}}
/* sirena con il lampeggiante sui pulsanti «Attiva tutti» / «Disattiva tutti» */
.sirena{vertical-align:-5px;margin-right:4px;overflow:visible}
.sirena .si-cupola{animation:siCupola 1s ease-in-out infinite}
.sirena .si-raggi{animation:siRaggi 1s steps(2,jump-none) infinite}
.btn:hover .sirena .si-cupola{animation-duration:.45s}.btn:hover .sirena .si-raggi{animation-duration:.45s}
@keyframes siCupola{0%,100%{filter:brightness(1) drop-shadow(0 0 0 transparent)}50%{filter:brightness(1.35) drop-shadow(0 0 5px currentColor)}}
@keyframes siRaggi{0%,49%{opacity:1}50%,100%{opacity:.15}}
#btDisattivaTutti .sirena{color:#dc2626}#btAttivaTutti .sirena{color:#16a34a}
@media(prefers-reduced-motion:reduce){.sirena .si-cupola,.sirena .si-raggi{animation:none}}
/* sulla pulsantiera piena la sirena ha la cupola ambra e i raggi bianchi, così si vede */
#btDisattivaTutti .sirena,#btAttivaTutti .sirena{color:#fbbf24;width:24px;height:24px}
#btDisattivaTutti .si-cupola,#btAttivaTutti .si-cupola{fill:#fbbf24}
#btDisattivaTutti .si-raggi,#btAttivaTutti .si-raggi{stroke:#fff}
#btDisattivaTutti .sirena rect,#btAttivaTutti .sirena rect{fill:#e2e8f0}

/* Elenco utenti: ricerca, filtri, targhette e conteggio restano fissi in cima, sotto il titolo; l'intestazione della tabella si ferma sotto */
.utenti-fissi{position:sticky;top:calc(var(--barra,54px) + var(--pagina,0px));z-index:1029;background:#f4f6f9;margin:0 -1rem .5rem;padding:.5rem 1rem 0;border-bottom:1px solid var(--bordo,#dde3ee)}
@media(min-width:992px){.utenti-fissi{margin:0 -1.5rem .5rem;padding:.5rem 1.5rem 0}}
.utenti-fissi .riga-contatori{position:static!important;top:auto!important;margin:0 !important;padding:3px 0!important;border-bottom:0}
.utenti-fissi>.d-flex{margin-bottom:.25rem!important}
:root #tbUtenti thead th{top:calc(var(--barra,54px) + var(--pagina,0px) + var(--fissi,0px))!important}

/* Scheda utente: tasti primo / precedente / successivo / ultimo al centro in alto */
.barra-con-nav{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center}
.barra-con-nav>:last-child{justify-self:end}
.nav-record{display:flex;align-items:center;gap:6px}.nav-record .btn-nav{width:38px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.nav-record-n{min-width:64px;text-align:center;font-size:.85rem;color:#475569;white-space:nowrap}
@media(max-width:767px){.barra-con-nav{grid-template-columns:1fr auto}.barra-con-nav .nav-record{grid-column:1/-1;grid-row:2;justify-content:center}}

.cnt-bt{display:inline-block;min-width:1.7em;padding:0 .45em;margin-left:.2em;border-radius:999px;background:#fff;color:#111827;font-size:.8em;font-weight:700;text-align:center;line-height:1.5}
/* tasti dell'elenco utenti: stacco uguale tra l'uno e l'altro */
#bUtenti{display:inline-flex;align-items:center;gap:8px}#bUtenti #frmGruppo{display:inline-flex;align-items:center;gap:8px;margin:0}
#bUtenti[hidden]{display:none!important}

/* sottotitolo in alto: più grande e più leggibile */
.marchio-tit{font-size:.74rem;font-weight:700;letter-spacing:.05em;color:#dbe6f3;bottom:3px}

/* Scheda utente: riquadro «Accesso e sicurezza» */
.acc-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.acc-voce{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.acc-voce form{margin:0}.acc-voce .btn{white-space:nowrap}

#tbUtenti .az-griglia{justify-content:center}
#tbUtenti .az-tit{display:block;width:auto;min-width:0;text-align:center}
/* Accesso e sicurezza: le voci sono separate da una linea verticale */
.acc-griglia{gap:0}.acc-voce{padding:2px 18px;border-left:1px solid #cfd8e5}.acc-voce:first-child{border-left:0;padding-left:0}
@media(max-width:767px){.acc-griglia{grid-template-columns:1fr;gap:12px}.acc-voce,.acc-voce:first-child{border-left:0;padding:0 0 12px;border-bottom:1px solid #e2e8f0}.acc-voce:last-child{border-bottom:0;padding-bottom:0}}

/* la targhetta «Sistema di gestione tecnica…» sta al centro della barra in fondo pagina (al posto del titolo del modulo) */
@media(min-width:1250px){.barra-stato .marchio-tit{display:inline-block;position:absolute;left:50%;top:50%;right:auto!important;bottom:auto;transform:translate(-50%,-50%);font-size:.72rem;line-height:1;pointer-events:none}}
/* barra in fondo pagina un po' più alta (ospita la targhetta al centro) */
@media(min-width:992px){.sidebar{height:calc(calc(100vh / var(--zm,1)) - var(--barra,54px) - 40px)}}

/* titoli delle pagine: maiuscolo, con aria attorno (non attaccati a ricerca e pulsanti) */
.barra-pagina h3,.hero-titolo,.area-fissa .barra-pagina h3{text-transform:uppercase;letter-spacing:.04em;font-size:16px!important;font-weight:800;margin-right:1.5rem!important}
@media(min-width:768px){.barra-pagina h3{white-space:nowrap}}
.barra-pagina .filtri-riga>h3{margin-right:1.75rem!important}
.barra-pagina h3 .small{text-transform:none;letter-spacing:0;font-weight:400}
/* targhetta in fondo pagina: un po' più grande */
body{padding-bottom:46px}
.barra-stato{height:calc(46px + env(safe-area-inset-bottom))}
@media(min-width:992px){.sidebar{height:calc(calc(100vh / var(--zm,1)) - var(--barra,54px) - 46px)}}
@media(min-width:1250px){.barra-stato .marchio-tit{font-size:.88rem;padding:5px 26px;font-weight:800}}

/* sottotitolo sotto il titolo della pagina: la voce del menu laterale */
.titolo-blocco{display:flex;flex-direction:column;justify-content:center;margin-right:1.75rem}
.titolo-blocco h3{margin-right:0!important}
.sottotitolo-pagina{font-size:.82rem;font-weight:600;color:#475569;line-height:1.2;margin-top:2px;white-space:nowrap}
/* la barra di caricamento lineare colorata in alto non c'è più (resta solo la pastiglia «Un attimo…» se la pagina tarda) */
.carica-fila{display:none!important}

/* targhetta in fondo pagina (dopo la tolta del tubo): riquadro semplice, solo su schermi larghi per non coprire le altre voci */
@media(min-width:1650px){.barra-stato .marchio-tit{display:inline-block;position:absolute;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);font-size:.86rem;font-weight:700;letter-spacing:.05em;color:#dbe6f3;padding:5px 26px;border:1px solid rgba(201,214,230,.4);border-radius:7px;background:rgba(255,255,255,.07);pointer-events:none;white-space:nowrap}}

/* ---------- barra del titolo: titolo in targhetta blu a sinistra, pulsanti raggruppati a destra; ricerca e «Filtri» sulla riga sotto ---------- */
.barra-pagina .riga-titolo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;min-width:0}
.barra-pagina .riga-titolo .titolo-blocco{margin-right:0}
.barra-pagina .riga-titolo .blocco-azioni,.barra-pagina>.d-flex>.blocco-azioni,.area-fissa .barra-pagina>.d-flex>.blocco-azioni{margin-left:auto}
.barra-pagina .az-riga{justify-content:flex-end}
.barra-pagina .riga-cerca{margin:6px 0 0!important;width:100%}
.barra-pagina h3,.area-fissa .barra-pagina h3{display:inline-flex;align-items:center;gap:.45rem;margin-right:0!important;padding:.22rem .85rem;color:#1d4ed8!important;background:rgba(37,99,235,.10);border:1px solid rgba(37,99,235,.28);border-radius:10px;line-height:1.3;max-width:100%}
.barra-pagina h3 .badge,.barra-pagina h3 .small,.barra-pagina h3 .conta-t{letter-spacing:0}
@media(max-width:767px){
  .barra-pagina .az-riga{flex-wrap:wrap!important}
  .barra-pagina .riga-titolo .blocco-azioni{flex:1 1 100%;display:flex;justify-content:flex-end}
  .barra-pagina h3{white-space:normal!important}
}
/* titoli lunghi (schede): la targhetta va a capo invece di spingere i pulsanti sotto */
.barra-pagina>.d-flex.justify-content-between>.d-flex:first-child,.barra-pagina>.riga-titolo>.d-flex:first-child{flex:1 1 480px;min-width:0}
.barra-pagina>.d-flex.justify-content-between>.d-flex:first-child h3,.barra-pagina>.riga-titolo>.d-flex:first-child h3{white-space:normal!important;min-width:0}
.barra-pagina .riga-cerca .gruppo-cerca{width:300px}
@media(max-width:767px){
  .barra-pagina .blocco-azioni{flex:0 1 auto!important;max-width:100%;align-items:flex-end;margin-left:auto}
  .barra-pagina .riga-titolo .blocco-azioni{flex:1 1 100%!important}
  .barra-pagina .blocco-azioni .az-riga{max-width:100%}
  .barra-pagina .riga-cerca{flex-wrap:nowrap}
  .barra-pagina .riga-cerca .gruppo-cerca{width:auto;flex:1 1 0;min-width:0}
  .barra-pagina .riga-cerca .gruppo-cerca input{min-width:0}
  .barra-pagina .riga-cerca select.form-select{max-width:140px}
}
@media(max-width:767px){.barra-pagina .riga-cerca.cerca-form{flex-wrap:wrap}.barra-pagina .riga-cerca.cerca-form .gruppo-cerca{flex:1 1 100%}}

/* ---------- Cerca sempre sotto il titolo, nella barra fissa ---------- */
.barra-pagina .riga-cerca[hidden]{display:none!important}
.barra-pagina .riga-cerca .imp-cerca-campo{width:340px;max-width:100%}
.barra-pagina .riga-cerca .imp-cerca-campo .bi-search{left:12px;z-index:2}
.barra-pagina .riga-cerca .imp-cerca-campo .form-control{padding-left:36px}
@media(max-width:767px){.barra-pagina .riga-cerca .imp-cerca-campo{width:auto;flex:1 1 0}}
/* titolo corto + molti pulsanti (Utenti): il titolo non si riserva spazio, i pulsanti stanno su una riga e, se manca spazio, vanno a capo ordinati a destra */
.barra-pagina>.riga-titolo.titolo-corto>.d-flex:first-child{flex:0 1 auto}
.barra-pagina .riga-titolo.titolo-corto .blocco-azioni{flex:0 1 auto;margin-left:auto;max-width:100%}
.barra-pagina .riga-titolo.titolo-corto .az-riga{flex-wrap:wrap!important;justify-content:flex-end;gap:6px}
#bUtenti,#bPermessi,#frmGruppo{display:contents!important}
#bUtenti[hidden],#bPermessi[hidden]{display:none!important}

/* «Registro attività» in fondo all'elenco degli utenti collegati */
.elenco-collegati .ec-registro{display:flex;align-items:center;gap:8px;margin-top:8px;color:#bbf7d0;font-size:.86rem;font-weight:600;text-decoration:none}
.elenco-collegati .ec-registro:hover{background:rgba(34,197,94,.14);color:#fff}

/* «Registro attività» in cima all'elenco dei collegati, fisso (l'elenco scorre sotto) */
.elenco-collegati .ec-registro{border-top:0;border-bottom:1px solid rgba(143,163,187,.28);position:sticky;top:0;z-index:2}
/* «Registro attività»: si riconosce come un tasto (riquadro, freccia) e al passaggio del mouse si sottolinea */
.elenco-collegati .ec-registro{border:1px solid rgba(34,197,94,.55);border-radius:10px;background:rgba(34,197,94,.12);margin:2px 0 10px;padding:8px 12px;cursor:pointer;justify-content:flex-start;transition:background .12s,border-color .12s}
.elenco-collegati .ec-registro::after{content:"\203A";margin-left:auto;font-size:1.25rem;line-height:1;color:#86efac}
.elenco-collegati .ec-registro:hover,.elenco-collegati .ec-registro:focus-visible{background:rgba(34,197,94,.26);border-color:#4ade80;color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}

/* Menu laterale chiuso: il tondino «apri il menu» (fisso a sinistra) non deve toccare né coprire i tasti della pagina */
@media(min-width:992px){html.menu-chiuso-g .area-fissa,html.menu-chiuso-g .barra-pagina:not(.area-fissa .barra-pagina){padding-left:52px!important}
html.menu-chiuso-g .area-fissa .barra-pagina{padding-left:0!important}
html.menu-chiuso-g main.content>:first-child:not(.area-fissa):not(.barra-pagina){margin-left:34px}}
/* barra di stato: la targhetta sta IN FILA tra le voci (non sovrapposta): se manca posto le voci a sinistra si accorciano con i puntini e, sotto i 1750 px, la targhetta non si mostra */
@media(min-width:1750px){
  .barra-stato .marchio-tit{display:inline-block;position:static!important;transform:none!important;order:50;flex:0 0 auto;margin:0 auto!important;left:auto!important;top:auto!important;pointer-events:none}
  .barra-stato .bs-sync{max-width:none;flex:0 1 auto;min-width:0}
  .barra-stato .bs-utente,.barra-stato .bs-sg{flex:0 0 auto}
}

/* ===== Moduli in cima alla barra principale (Help Desk, Gestione tecnica, Ristrutturazioni) e ingranaggio «Sistema» a destra ===== */
/* il terzo modulo: indaco/viola, ben distinto dall'arancio dell'Help Desk e dall'azzurro della Gestione tecnica */
.moduli-barra{flex:0 1 auto;min-width:0;align-items:center}
.modulo-tasto{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1.5px solid var(--mt-c);background:var(--mt-bg);color:var(--mt-c);font-weight:700;line-height:1;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.modulo-tasto i.bi{line-height:1}
.modulo-tasto:hover{color:var(--mt-h);border-color:var(--mt-h);background:var(--mt-bgh)}
.modulo-tasto.on{background:linear-gradient(135deg,var(--mt-g1),var(--mt-g2));color:var(--mt-t);border-color:var(--mt-g1);box-shadow:0 3px 12px var(--mt-ombra)}
.modulo-tasto.on:hover{color:var(--mt-t);filter:brightness(1.06)}
.modulo-tasto:focus-visible{outline:2px solid #fff;outline-offset:2px}
.modulo-tasto em{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#d62839;color:#fff;font-style:normal;font-size:.68rem;font-weight:700;line-height:19px;text-align:center;box-shadow:0 0 0 2px #0b1620}
html[data-tema] .modulo-tasto em{box-shadow:0 0 0 2px var(--tm-b,#0b1620)}
.modulo-tasto .mt-corto{display:none}
/* telefono e tablet: i tre tasti stanno in cima al menu a scomparsa */
.menu-sezioni:has(a:nth-child(3)){grid-template-columns:1fr 1fr 1fr}
.menu-sezioni a{min-width:0}
@media(min-width:992px){.sidebar .menu-sezioni{display:none!important}}
/* nomi interi (mai abbreviati) da 1450 px; sotto restano le sole icone con suggerimento e numero */
.moduli-barra{gap:6px}.modulo-tasto{height:38px;padding:0 11px;gap:6px;font-size:.8rem}.modulo-tasto i.bi{font-size:1.1rem}
/* nomi interi se c'è posto (lo decide cerca.js misurando lo spazio, così vale con qualsiasi zoom); altrimenti le sole icone */
.moduli-barra.solo-icone .modulo-tasto .mt-nome{display:none}.moduli-barra.solo-icone .modulo-tasto{width:44px;padding:0}.moduli-barra.solo-icone .modulo-tasto i.bi{font-size:1.3rem}
/* da 1600 px la casella di ricerca si restringe per lasciare spazio ai tasti (sotto 1600 è già una lente) e non si allarga quando ha il cursore */
@media(min-width:1600px){.cerca-campo,.cerca-campo:focus-within{width:clamp(170px,calc(calc(100vw / var(--zm,1)) - 1415px),380px)}}
/* tra 992 e 1199 px nella barra non c'è posto per il nome utente (si legge nella barra in basso) e per la parola «collegati» */
@media(min-width:992px) and (max-width:1199px){.marchio-destra .utente,.marchio-destra #tCollegati,.marchio-destra .collegati .bi-chevron-down{display:none!important}}
/* ingranaggio «Sistema»: rotondo come gli altri comandi della barra, menu che si apre verso il basso allineato a destra */
.sistema-barra{flex:none;position:relative}
.btn-sistema.btn-sistema-ico{width:38px;height:36px;padding:0;justify-content:center;border-radius:999px;font-size:1.15rem;text-decoration:none;cursor:pointer;color:#e6edf6;background:rgba(201,214,230,.08);border:1px solid rgba(201,214,230,.3)}
.btn-sistema.btn-sistema-ico:hover,.btn-sistema.btn-sistema-ico.show,.btn-sistema.btn-sistema-ico.active{color:#fff;border-color:#f0b429;background:rgba(240,180,41,.14)}
.btn-sistema.btn-sistema-ico.show i{transform:rotate(45deg)}
.btn-sistema.btn-sistema-ico i{transition:transform .2s;line-height:1}
.sistema-barra .dropdown-menu{margin-top:10px!important;min-width:250px;white-space:nowrap}
/* colore del modulo Ristrutturazioni nel menu laterale e nel titolo di sezione */
/* sul menu laterale a scomparsa l'App sta sola in fondo: occupa tutta la riga */
/* larghezza del menu uguale in tutti i moduli (prima la dava il selettore dei moduli in cima); il tondino per chiudere il menu non copre il titolo */
@media(min-width:992px){.sidebar,.sidebar.offcanvas-lg{min-width:0}.sidebar .menu-modulo{padding-right:36px}}
/* menu a scomparsa (telefono e tablet): un poco più largo, così i tre tasti dei moduli ci stanno con il nome per intero */
@media(max-width:991px){.sidebar,.sidebar.offcanvas-lg{width:min(300px,calc(88vw / var(--zm,1)))}.sidebar .menu-sezioni{padding:8px 8px 6px;gap:4px}.sidebar .menu-sezioni a{font-size:.64rem;padding:5px 2px;letter-spacing:-.01em}}
/* targa a destra: «collegati», nome utente ed «Esci» in un unico contenitore (il menu dei collegati si apre fuori dalla targa: niente overflow nascosto) */
.barra-targa{flex:none;display:inline-flex;align-items:center;gap:0;padding:3px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(201,214,230,.26)}
.barra-targa .collegati-box{display:inline-flex}
.barra-targa .utente{padding:0 12px;margin:0 4px 0 6px;border-left:1px solid rgba(201,214,230,.28)}
.barra-targa>.btn-esci{margin-left:4px}
.barra-targa>.utente:first-child{margin-left:0;border-left:0}
@media(max-width:575px){.barra-targa{padding:2px}.barra-targa>.btn-esci{margin-left:2px}}
/* pulsante «App» in fondo al menu: compatto, largo quanto il contenuto */
.sidebar .menu-sistema{padding:8px 12px 10px}
.sidebar .menu-sistema .btn-app{flex:none;width:auto;height:30px;padding:0 12px 0 8px;gap:6px;font-size:.8rem;border-radius:9px}
html .sidebar .menu-sistema .btn-app .ico-app-img{height:20px!important;width:auto!important;padding:0}
@media(min-width:992px){.sidebar .menu-sistema{justify-content:center}.sidebar .menu-sistema .btn-app{flex:none}}
/* Titolo del modulo: IDENTICO a quello delle Home di Help Desk e Gestione tecnica (lettere grandi, nel colore del modulo, con ombra in rilievo), a sinistra, con il sottotitolo */
.home-intesta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0 0 .9rem}
.home-intesta .home-titolo{margin:0;display:inline-flex;align-items:center;gap:9px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;font-size:clamp(1.15rem,1.7vw,1.55rem);font-weight:900;letter-spacing:.14em;text-transform:uppercase;line-height:1;text-shadow:1px 1px 0 #0b1620,2px 2px 0 #0b1620,3px 3px 0 rgba(11,22,32,.85),4px 5px 9px rgba(0,0,0,.55)}
.home-intesta .home-titolo i{font-size:.9em;filter:drop-shadow(2px 2px 0 #0b1620) drop-shadow(3px 4px 5px rgba(0,0,0,.5))}
.home-intesta .home-sottotitolo{margin:0;font-size:.95rem;font-weight:600;letter-spacing:.04em;opacity:.85}

/* voce «Licenza d'uso» del menu: il lucchetto sta dopo il titolo */
.sidebar .nav-link .ico-lucchetto{margin-left:8px;margin-right:0}
/* Intestazioni di colonna: ferme subito sotto la barra fissa della pagina (senza lo stacco di 36 px che lasciava vedere le righe passare sopra) e un po' più scure, per non confondersi con la pagina */
:root:not(:has(.costi-barra)) main.content .table thead th{top:var(--sotto,calc(var(--barra,54px) + var(--pagina,0px)))!important}
main.content .table thead th{background:#e1e7f1!important;border-bottom:2px solid #b4c0d3;box-shadow:0 2px 0 #b4c0d3;color:#6b4300}
main.content .table thead{background:#e1e7f1}

/* Targa «File»: Esporta · Importa · Modello sempre in vista, con la loro scritta */
.targa-file{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 12px;border:1px solid #c9bdf0;border-radius:999px;background:rgba(124,58,237,.08);flex-wrap:nowrap}
.targa-file-t{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6d28d9;white-space:nowrap;margin-right:2px}
.targa-file .btn{height:30px;padding:0 12px;font-size:.84rem;background:#fff;white-space:nowrap}
@media(max-width:767px){.targa-file{flex-wrap:wrap;border-radius:14px}}

/* In fondo al menu: due righe di spiegazione a sinistra e il tasto «App» a destra */
.sidebar .menu-sistema .app-riga{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:2px 4px}
.sidebar .menu-sistema .app-testo{display:flex;flex-direction:column;gap:1px;min-width:0;text-align:left;line-height:1.2}
.sidebar .menu-sistema .app-testo b{font-size:.8rem;font-weight:700;color:#e4edf7}
.sidebar .menu-sistema .app-testo small{font-size:.72rem;color:#c8d3e0}
.sidebar .menu-sistema .app-riga .btn-app{margin:0 0 0 auto;flex:none}

/* REGOLA: sotto i tasti che cambiano uno stato (attiva/disattiva, blocca/sblocca, ...) si scrive lo stato di adesso: VERDE se è a posto, ROSSO se richiede attenzione */
.stato-sotto{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;font-weight:800}
.stato-sotto i{width:9px;height:9px;border-radius:50%;background:currentColor;flex:none}
.stato-sotto.st-ok{color:#15803d}.stato-sotto.st-ko{color:#dc2626}

/* tasto con lo stato attuale scritto sotto (barra della pagina) */
.btn-stato{display:inline-flex;flex-direction:column;align-items:center;gap:2px;vertical-align:top}
.btn-stato form{margin:0}
.btn-stato .stato-sotto{font-size:.72rem;line-height:1}

/* prima card del percorso: invece della freccia, un omino che parte in corsa */
.com-next.com-via{color:var(--pn,#0b5fd0)}.com-next.com-via svg{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));transition:transform .15s}
.com-passo:hover .com-next.com-via svg{transform:translateX(5px)}

/* tabelle annidate (righe espanse, aree, schede, finestre): l'intestazione NON resta ferma in cima, resta nel proprio riquadro; solo le tabelle principali hanno le intestazioni fisse */
:root:not(:has(.costi-barra)) main.content :is(details, .collapse, .la-corpo, .modal, .offcanvas, .card .card, table table, tr.det, .riga-espansa) .table thead th,
:root:has(.costi-barra) main.content :is(details, .collapse, .la-corpo, .modal, .offcanvas, .card .card, table table, tr.det, .riga-espansa) .table thead th{position:static!important;top:auto!important;z-index:auto!important}
main.content :is(details, .collapse, .la-corpo, table table) .table thead th{background:#e9eef6!important;box-shadow:none!important;border-bottom:1px solid #b4c0d3}
.la-corpo .table{margin-bottom:0}
.la-corpo .table tbody td[colspan]{white-space:normal}

/* ==== Ristrutturazioni · documenti da telefono (finestra «Aggiungi documento», schede dei documenti, anteprima, invio) e scheda compatta su telefono ==== */
.rd-fab{display:none}
.rd-modale .rd-grandi{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.rd-grande{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:108px;padding:10px;border-radius:16px;border:2px solid #0b5fd0;text-align:center;cursor:pointer;font-size:1.02rem;line-height:1.2;-webkit-tap-highlight-color:transparent}
.rd-grande i{font-size:2.1rem;line-height:1}
.rd-g-foto{background:#0b5fd0;color:#fff}.rd-g-file{background:#fff;color:#0b5fd0}
.rd-grande:active{transform:scale(.98)}
.rd-lista:empty{display:none}
.rd-riga{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #eef1f6}
.rd-mini{flex:none;width:56px;height:56px;border-radius:10px;background:#eef2f8;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#55607a}
.rd-mini img{width:100%;height:100%;object-fit:cover}
.rd-nome{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.rd-nome b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.rd-nome small{color:#55607a}
.rd-x{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:#fdeaec;color:#a51822;font-size:1rem}
.rd-ancora{margin-top:8px;min-height:48px;width:100%}
.rd-modale .modal-content.rd-trasc{outline:3px dashed #0b5fd0;outline-offset:-6px}
.rd-esito{font-size:.95rem}
.rd-prog .progress{height:12px}
.rd-modale .btn-close{padding:14px}
.rd-modale .modal-footer .btn{min-height:46px}
/* elenco dei documenti a schede */
.rd-filtri{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;margin-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.rd-chip{flex:none;min-height:44px;border:1px solid #cdd5e1;background:#fff;border-radius:999px;padding:0 14px;font-weight:600;font-size:.9rem;color:#172033;white-space:nowrap}
.rd-chip span{background:#e6ebf3;border-radius:999px;padding:1px 8px;margin-left:4px;font-size:.78rem}
.rd-chip.on{background:#0b1620;color:#fff;border-color:#0b1620}.rd-chip.on span{background:rgba(255,255,255,.22)}
.rd-elenco{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:10px}
.rd-card{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 10px;border:1px solid #dbe1ea;border-radius:14px;padding:10px;background:#fff;min-width:0}
.rd-card[hidden]{display:none}
.rd-card.rd-scelta{border-color:#16a34a;box-shadow:0 0 0 2px rgba(22,163,74,.25)}
.rd-sel{display:flex;align-items:center;justify-content:center;width:34px;min-height:76px;margin:0}.rd-sel input{width:22px;height:22px;margin:0}
.rd-thumb{flex:none;width:76px;height:76px;padding:0;border:0;border-radius:10px;background:#eef2f8;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:2.2rem}
.rd-thumb img{width:100%;height:100%;object-fit:cover}
.rd-i-pdf{color:#dc2626}.rd-i-doc{color:#2563eb}.rd-i-xls{color:#16a34a}.rd-i-alt{color:#55607a}
.rd-info{flex:1 1 150px;min-width:0}
.rd-tit{font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.rd-meta{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:.8rem;color:#55607a;margin-top:2px}.rd-cart{font-weight:700;color:#6d28d9}
.rd-chi{font-size:.8rem;color:#55607a}.rd-nota{font-size:.82rem;margin-top:2px;overflow-wrap:anywhere}
.rd-inv{font-size:.74rem;color:#15803d;margin-top:3px;line-height:1.3}
.rd-az{flex:1 1 100%;display:flex;gap:6px;flex-wrap:wrap}.rd-az .btn{min-height:44px;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.rd-selbar{position:sticky;bottom:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:8px 12px;background:#0b1620;color:#fff;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.rd-selbar[hidden]{display:none}.rd-selaz{display:flex;gap:6px}.rd-selaz .btn{min-height:44px}
.rd-vuoto{text-align:center}
/* anteprima */
.rd-anteprima .modal-title{font-size:1rem;overflow-wrap:anywhere}.rd-prev-n{margin-left:auto;margin-right:8px;white-space:nowrap}
.rd-prev-corpo{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(50vh / var(--zm,1));gap:8px}
.rd-prev-corpo img{max-width:100%;max-height:calc(72vh / var(--zm,1));object-fit:contain;border-radius:6px}
.rd-prev-corpo iframe{width:100%;height:calc(72vh / var(--zm,1));border:1px solid #dbe1ea;border-radius:6px;background:#fff}
.rd-noprev{text-align:center}.rd-noprev i{font-size:4rem;color:#55607a}
.rd-anteprima .modal-footer .btn{min-height:44px}
/* invio */
.rd-dests{max-height:240px;overflow:auto;border:1px solid #dbe1ea;border-radius:10px;padding:4px 10px}
.rd-gruppo legend{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:#55607a;float:none;width:auto;margin:.5rem 0 0;padding:0}
.rd-dest{display:flex;gap:10px;align-items:flex-start;min-height:44px;padding:6px 0;border-bottom:1px solid #eef1f6;margin:0;cursor:pointer}.rd-dest[hidden],.rd-gruppo[hidden]{display:none}
.rd-dest input,.rd-allega input{flex:none;width:22px;height:22px;margin:2px 0 0}
.rd-allega{display:flex;gap:10px;align-items:flex-start;margin:0}
/* scheda della ristrutturazione: indicatore delle schede scorrevoli (si vede che ce ne sono altre) */
.rist-tabs.rt-dx{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 38px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 38px),transparent)}
.rist-tabs.rt-sx{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 38px),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - 38px),transparent)}
.rist-tabs.rt-sx.rt-dx{-webkit-mask-image:linear-gradient(90deg,transparent,#000 38px,#000 calc(100% - 38px),transparent);mask-image:linear-gradient(90deg,transparent,#000 38px,#000 calc(100% - 38px),transparent)}
@media(max-width:767px){
  /* tasto «Aggiungi documento» sempre raggiungibile, in basso a destra */
  .rd-btn-barra{display:none!important}
  .rd-fab{display:inline-flex;position:fixed;right:14px;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:1040;align-items:center;gap:8px;min-height:56px;padding:0 20px 0 16px;border:0;border-radius:999px;background:#0b5fd0;color:#fff;font-weight:700;font-size:1rem;box-shadow:0 6px 18px rgba(0,0,0,.35)}
  .rd-fab i{font-size:1.5rem;line-height:1}
  body.modal-open .rd-fab,body.rd-selezione .rd-fab{display:none}
  .rd-selbar{position:fixed;left:10px;right:10px;bottom:calc(58px + env(safe-area-inset-bottom,0px));z-index:1040}
  /* finestra a pannello dal basso */
  .rd-modale .modal-dialog{margin:0;max-width:none;width:100%;height:100%;min-height:100%;display:flex;align-items:flex-end;pointer-events:none}
  .rd-modale .modal-content{width:100%;max-height:calc(92vh / var(--zm,1));max-height:92dvh;border-radius:20px 20px 0 0;pointer-events:auto;padding-bottom:env(safe-area-inset-bottom,0px)}
  .rd-modale.fade .modal-dialog{transform:translateY(100%);transition:transform .3s ease-out}.rd-modale.show .modal-dialog{transform:none}
  .rd-modale .modal-header{padding-top:18px;position:relative}.rd-modale .modal-header::before{content:"";position:absolute;top:7px;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:3px;background:#cdd5e1}
  .rd-modale .modal-footer{flex-wrap:nowrap}.rd-modale .modal-footer .btn{flex:1 1 0;min-height:50px}
  .rd-trascina{display:none}
  .rd-elenco{grid-template-columns:minmax(0,1fr)}
  .rd-prev-corpo iframe{height:calc(calc(100dvh / var(--zm,1)) - 190px)}.rd-prev-corpo img{max-height:calc(calc(100dvh / var(--zm,1)) - 190px)}
  .rd-anteprima .modal-footer{flex-wrap:wrap}.rd-anteprima .modal-footer .btn{flex:1 1 40%}
  /* testata compatta: titolo a 2 righe al massimo, stati sotto, nessuno scroll orizzontale della pagina */
  .comitato .area-fissa .rist-testa{flex-wrap:nowrap!important;align-items:flex-start;gap:8px!important;width:100%;flex:1 1 100%!important}
  .comitato .area-fissa .rist-testa .btn-indietro{flex:none;width:44px;min-width:44px;height:44px;padding:0;font-size:0;display:inline-flex;align-items:center;justify-content:center}
  .comitato .area-fissa .rist-testa .btn-indietro i{font-size:1.25rem}
  .comitato .area-fissa h3.rist-tit{display:block!important;flex:1 1 auto;min-width:0;padding:.2rem .6rem!important;font-size:.84rem!important;line-height:1.25;letter-spacing:.02em}
  .comitato .area-fissa h3.rist-tit>i{display:none}
  .rist-tit-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;text-transform:uppercase}
  .rist-stati{display:flex;flex-wrap:wrap;gap:0 12px;margin-top:1px;text-transform:none;letter-spacing:0}.rist-stati .stato-t{font-size:.74rem}
  .rist-scheda-nav{display:none}
  .comitato .area-fissa .az-riga .btn{min-height:44px}
  .comitato .area-fissa .nav-tabs.rist-tabs .nav-link{min-height:44px;display:flex;align-items:center;font-size:.86rem}
  html,body{max-width:100%;overflow-x:hidden}
}
#rdElenco .rd-az .btn{flex:1 1 auto!important}
@media(max-width:767px){
  #rdSheet .modal-footer .btn,#rdInvia .modal-footer .btn{flex:1 1 0!important;padding-inline:.5em}
  #rdPrev .modal-footer .btn{flex:1 1 40%!important}
}
@media(max-width:767px){.comitato .area-fissa .az-riga{justify-content:flex-start!important}}
@media(max-width:767px){
  .rd-selbar{right:74px}
  #rdInvia .modal-footer .btn,#rdSheet .modal-footer .btn{font-size:.9rem;padding-inline:.4em}
}
/* Ristrutturazioni, Cruscotto: le card in testata sono compatte (numero e scritta sulla stessa riga) */
.com-riga{gap:8px;margin:4px 0 14px;align-items:stretch}
.com-num{min-width:0;padding:6px 14px;border-radius:12px;flex-direction:row;align-items:baseline;gap:8px}
.com-num b{font-size:1.35rem;line-height:1}
.com-num span{font-size:.84rem;line-height:1.2}
.com-nota{flex:1 1 280px;align-items:center;padding:5px 12px}
.com-nota span{font-size:.78rem;line-height:1.3}
@media(max-width:575px){.com-num{flex:1 1 calc(50% - 8px)}.com-nota{flex:1 1 100%}}
.com-num.com-nota b{font-size:inherit;line-height:inherit}
/* ==== TASTI IN 3D: tutti i tasti principali hanno rilievo (luce in alto, labbro scuro sotto, ombra) e si «schiacciano» quando premuti ==== */
.btn:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button),.com-tab,.nav-tabs.tab-forti .nav-link,.modulo-tasto,.btn-app,.btn-sistema,.btn-vaisu{
  position:relative;isolation:isolate;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 -2px 0 rgba(0,0,0,.20),0 3px 0 rgba(0,0,0,.24),0 6px 9px rgba(0,0,0,.18);
  text-shadow:0 1px 0 rgba(255,255,255,.18);
  transition:transform .08s ease,box-shadow .08s ease,filter .12s ease}
/* (tolta la regola che dava ai tasti outline uno sfondo chiaro: rendeva illeggibili quelli con testo bianco e colore proprio) */
.com-tab:not(.on){background-color:#fff}
.btn:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):hover,.com-tab:hover,.modulo-tasto:hover,.btn-app:hover,.btn-sistema:hover{filter:brightness(1.07);transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 0 rgba(0,0,0,.20),0 4px 0 rgba(0,0,0,.24),0 8px 12px rgba(0,0,0,.2)}
.btn:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):active,.com-tab:active,.nav-tabs.tab-forti .nav-link:active,.modulo-tasto:active,.btn-app:active,.btn-sistema:active,.btn-vaisu:active{
  transform:translateY(3px);filter:brightness(.96);
  box-shadow:inset 0 3px 6px rgba(0,0,0,.35),0 0 0 rgba(0,0,0,0)}
.btn:disabled,.btn.disabled{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 1px 0 rgba(0,0,0,.15);filter:grayscale(.25);transform:none}
@media print{.btn,.com-tab,.nav-tabs.tab-forti .nav-link{background-image:none!important;box-shadow:none!important;text-shadow:none!important}}
/* la lucentezza 3D è uno strato sopra lo sfondo di ogni tasto (non lo sostituisce: i tasti con colori a sfumatura propria restano del loro colore) */
.btn:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button)::before,.com-tab::before,.nav-tabs.tab-forti .nav-link::before,.modulo-tasto::before,.btn-app::before,.btn-sistema::before,.btn-vaisu::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,.08) 46%,rgba(0,0,0,.05) 54%,rgba(0,0,0,.18) 100%)}
@media print{.btn::before,.com-tab::before,.nav-tabs.tab-forti .nav-link::before{display:none!important}}

/* ===== Richieste alle imprese e accesso dei fornitori (schema 20) ===== */
.ric-pg{max-width:880px;margin:0 auto;padding-bottom:24px}
.ric-sup{display:block;font-size:.8rem;font-weight:700;color:#6d28d9;letter-spacing:.02em;overflow-wrap:anywhere}
.ric-str{display:block;font-size:.88rem;color:#44506a;margin:2px 0 4px;overflow-wrap:anywhere}
.ric-h{margin:6px 0 8px;font-weight:800;overflow-wrap:anywhere}
.ric-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:.9rem}
.ric-istr{margin-top:12px;padding:10px 12px;border-radius:12px;background:#f4f7fc;border:1px solid #e1e7f1;overflow-wrap:anywhere}
.ric-scad{font-weight:600}.ric-scad.rosso{color:#c81e2b;font-weight:800}
.ric-doc{list-style:none;margin:0;padding:0}.ric-doc li{padding:8px 0;border-bottom:1px solid #eef1f6;overflow-wrap:anywhere}.ric-doc li:last-child{border-bottom:0}
.ric-prev{border:1px solid #dbe1ea;border-radius:12px;padding:8px 12px;background:#fafcff;margin-top:8px}
.ric-lista{display:flex;flex-direction:column;gap:10px}
.ric-voce{display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:64px;border-radius:14px;background:#fff;border:1px solid #dbe1ea;text-decoration:none;color:inherit;box-shadow:0 1px 4px rgba(15,23,42,.06)}
.ric-voce:hover{border-color:#0b5fd0;color:inherit}.ric-voce.ric-chiusa{opacity:.72}
.ric-v-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.ric-v-t b{font-size:1.02rem;overflow-wrap:anywhere}
.ric-v-s{flex:none;display:flex;flex-direction:column;align-items:flex-end;text-align:right}.ric-v-f{flex:none;color:#7b86a0}
@media (max-width:575.98px){.ric-voce{flex-wrap:wrap}.ric-v-s{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;text-align:left;order:3;flex:1 1 100%}.ric-v-f{display:none}}
.ric-card{border:1px solid #dbe1ea;border-radius:14px;padding:12px 14px;margin-bottom:12px;background:#fff}
.ric-card.ric-nuova{border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.25)}.ric-card.ric-chiusa{background:#f6f8fb}
.ric-card .ric-testa{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:space-between}.ric-tit{font-weight:800;overflow-wrap:anywhere}.ric-st{text-align:right}
.ric-desc{margin-top:6px;overflow-wrap:anywhere}.ric-det{margin-top:8px}.ric-det summary{cursor:pointer;font-weight:600;min-height:34px;display:flex;align-items:center;gap:8px}
.ric-az{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ric-az form{display:inline}
.ric-conds{max-height:220px;overflow:auto;border:1px solid #dbe1ea;border-radius:10px;padding:4px 10px}
.ric-cart{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:#55607a;margin:.5rem 0 0}
.ric-cond{display:flex;gap:10px;align-items:flex-start;min-height:40px;padding:5px 0;margin:0;cursor:pointer;overflow-wrap:anywhere}.ric-cond input{flex:none;width:20px;height:20px;margin:2px 0 0}
.rd-imp{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:700;color:#0e7490;background:#e0f4f9;border-radius:999px;padding:1px 9px}
.rd-val{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:700;border-radius:999px;padding:1px 9px}
.rd-val-da{background:#fff1d6;color:#92400e}.rd-val-ok{background:#dcf5e5;color:#166534}.rd-val-no{background:#fde4e6;color:#a51822}
.rd-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.rd-validazione{flex:1 1 100%;display:flex;gap:6px;flex-wrap:wrap}.rd-validazione form{display:inline-flex}
.rd-card[data-val="da_validare"]{border-color:#f59e0b;background:#fffaf0}.rd-card[data-val="rifiutato"]{opacity:.78}
/* pagina senza accesso (link sicuro) */
body.ric-esterna{background:#0b1620;min-height:calc(100vh / var(--zm,1));display:flex;flex-direction:column}
.ric-ext-testa{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:14px 18px;color:#fff;border-bottom:4px solid #f0b429}.ric-ext-marchio{font-weight:800;letter-spacing:.08em;font-size:1.15rem}.ric-ext-sotto{font-size:.85rem;opacity:.8}
.ric-ext-corpo{flex:1 1 auto;width:100%;max-width:900px;margin:0 auto;padding:16px}.ric-ext-piede{padding:14px 18px;text-align:center;font-size:.78rem;color:#9fb0c4}
body.ric-esterna .card{border-radius:16px}
.ric-v-s{gap:6px 10px}
body.ric-esterna .btn-outline-primary:not(:hover),body.ric-esterna .btn-outline-secondary:not(:hover){color:#0b5fd0;background:#fff;border:1px solid #0b5fd0;box-shadow:none}
body.ric-esterna .btn-outline-primary:disabled{opacity:.55}

/* ==== Ristrutturazioni · decisioni dall'app: card «In attesa di decisione», pannello «Registra la decisione», storico a schede (schema 21) ==== */
.rdc-card{border:2px solid #f59e0b;border-radius:16px;background:#fffaf0;margin-bottom:14px;box-shadow:0 2px 8px rgba(245,158,11,.18)}
.rdc-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:4px}.rdc-top small{color:#55607a;font-weight:600}
.rdc-badge{display:inline-flex;align-items:center;gap:6px;background:#fff1d6;color:#92400e;border-radius:999px;padding:3px 12px;font-weight:800;font-size:.84rem}
.rdc-tit{font-weight:800;font-size:1.08rem;line-height:1.25;overflow-wrap:anywhere;margin-bottom:8px}
.rdc-dati{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 14px;margin:0 0 12px;font-size:.92rem}.rdc-dati dt{color:#55607a;font-weight:600}.rdc-dati dd{margin:0;overflow-wrap:anywhere}.rdc-docs a{white-space:normal}
.rdc-az{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.rdc-btn{min-height:56px;padding:0 28px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.rdc-az .stato-sotto{font-size:.9rem}
.rdc-stato{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.rdc-stato .stato-sotto{font-size:1rem}
.rdc-modale .rdc-h{min-width:0}.rdc-modale .modal-title{font-size:1.15rem}.rdc-sub{font-size:.8rem;color:#55607a;margin-top:2px;overflow-wrap:anywhere}.rdc-ogg{font-weight:700;color:#172033}
.rdc-info{background:#eaf2ff;border-radius:10px;padding:8px 12px;font-size:.88rem;margin-bottom:14px;color:#1d3b66}
.rdc-in{min-height:46px;font-size:1rem}textarea.rdc-in{min-height:0}
.rdc-esiti{display:grid;gap:10px;border:0;padding:0;margin:0}.rdc-esiti-3{grid-template-columns:repeat(3,minmax(0,1fr))}.rdc-esiti-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rdc-esiti legend{float:none;font-size:1rem;margin-bottom:6px}
.rdc-radio{position:absolute;opacity:0;pointer-events:none}
.rdc-e{display:flex;align-items:center;justify-content:center;gap:10px;min-height:60px;margin:0;padding:8px 12px;border:2px solid #cdd5e1;border-radius:14px;background:#fff;font-weight:800;font-size:1rem;line-height:1.15;text-align:center;cursor:pointer;color:#172033;user-select:none}
.rdc-e i{font-size:1.5rem;flex:none}
.rdc-e-ok i{color:#15803d}.rdc-e-mo i{color:#b45309}.rdc-e-ko i{color:#dc2626}
.rdc-radio:checked+.rdc-e-ok{background:#dcf5e5;border-color:#15803d;box-shadow:0 0 0 3px rgba(21,128,61,.25)}
.rdc-radio:checked+.rdc-e-mo{background:#fff1d6;border-color:#b45309;box-shadow:0 0 0 3px rgba(180,83,9,.25)}
.rdc-radio:checked+.rdc-e-ko{background:#fde4e6;border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.25)}
.rdc-radio:focus-visible+.rdc-e{outline:3px solid #0b5fd0;outline-offset:2px}
.rdc-allegati,.rdc-mail,.rdc-pw{border:1px solid #dbe1ea;border-radius:12px;padding:10px 12px;background:#f8fafc}
.rdc-pw{background:#fff7e0;border-color:#f0b429}.rdc-pw .form-label{font-weight:700}
.rdc-sez{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:#55607a;font-weight:700;margin-bottom:6px}
.rdc-prova{display:flex;gap:8px;align-items:stretch}.rdc-prova .form-control{flex:1 1 auto;min-width:0}.rdc-foto{display:inline-flex;align-items:center;gap:6px;min-height:46px;margin:0;white-space:nowrap}
.rdc-mail-corpo[hidden],.rdc-mod[hidden]{display:none}
.rdc-modale .pw-wrap{position:relative}.rdc-modale .pw-eye{min-width:44px;min-height:44px}
.rdc-modale .rdc-err{font-weight:600}
.rdc-storico{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}
.rdc-sto{border:1px solid #dbe1ea;border-left:6px solid #94a3b8;border-radius:12px;background:#fff;padding:10px 14px}
.rdc-sto-ok{border-left-color:#15803d}.rdc-sto-mo{border-left-color:#b45309}.rdc-sto-ko{border-left-color:#dc2626}.rdc-sto-at{border-left-color:#f59e0b;background:#fffaf0}
.rdc-sto-t{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}
.rdc-sto dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:2px 12px;margin:0;font-size:.88rem}.rdc-sto dt{color:#55607a;font-weight:600}.rdc-sto dd{margin:0;overflow-wrap:anywhere}
@media(max-width:767px){
  .rdc-card{padding:14px}
  .rdc-dati{grid-template-columns:minmax(0,1fr);gap:0}.rdc-dati dt{margin-top:6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
  .rdc-az{align-items:stretch}.rdc-btn{width:100%;min-height:58px;font-size:1.1rem}.rdc-az .stato-sotto{justify-content:center;font-size:.95rem}
  .rdc-esiti-3,.rdc-esiti-2{grid-template-columns:minmax(0,1fr)}
  .rdc-e{min-height:62px;justify-content:flex-start;padding:8px 16px;font-size:1.1rem}
  .rdc-prova{flex-direction:column}.rdc-foto{justify-content:center;min-height:50px}
  .rdc-storico{grid-template-columns:minmax(0,1fr)}
  .rdc-sto dl{grid-template-columns:minmax(0,1fr)}.rdc-sto dt{margin-top:4px;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}
  .rdc-modale .modal-body{padding-bottom:20px;overscroll-behavior:contain}
  .rdc-modale .rd-dest{min-height:48px}
  .rdc-modale .form-control,.rdc-modale .form-select{min-height:48px;font-size:16px}.rdc-modale textarea.form-control{min-height:0}
}
/* Importazione: quanti record contiene il file, in evidenza */
.imp-record{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#e8f0fe;border:2px solid #7aa7f2;color:#0b2a5b;font-size:.98rem}
.imp-record i{font-size:1.25rem;color:#0b5fd0}.imp-record b{font-size:1.05rem}
.imp-record-1{margin-top:4px;font-weight:700;color:#0b2a5b}
@media(max-width:767px){.rdc-bar-btn{display:none!important}}
@media(max-width:767px){.rist-tab td[data-l="Cosa"]{white-space:normal;overflow-wrap:anywhere;min-width:0}}

/* ==== Schede di dettaglio su telefono (Ristrutturazione, Impianto, Struttura, Fornitore, Intervento): card impilate, righe etichetta/valore, tabelle a schede, tasti >=44 px, testi >=15 px. Solo sotto 768 px; la logica sta in assets/schede_tel.js ==== */
@media screen and (max-width:767px){
  body.sch-tel main{font-size:16px}
  body.sch-tel .btn-menu,body.sch-tel .btn-esci{min-width:44px;min-height:44px}
  /* barra in alto: solo Indietro, titolo e Stampa (icone da 44 px) */
  body.sch-tel .barra-pagina{padding-top:.4rem!important;padding-bottom:.4rem!important}
  body.sch-tel .barra-pagina>.d-flex{flex-wrap:nowrap!important;align-items:center;gap:8px!important}
  body.sch-tel .barra-pagina>.d-flex>.d-flex:first-child{flex:1 1 auto!important;min-width:0;flex-wrap:nowrap!important;gap:8px!important}
  body.sch-tel .barra-pagina .btn.btn-indietro:not(.z1):not(.z2):not(.z3):not(.z4):not(.z5),body.sch-tel .barra-pagina .btn.btn-stampa:not(.z1):not(.z2):not(.z3):not(.z4):not(.z5),body.sch-tel .barra-pagina .btn.fn-stampa:not(.z1):not(.z2):not(.z3):not(.z4):not(.z5){flex:0 0 44px!important;width:44px!important;min-width:44px!important;height:44px;min-height:44px;padding:0!important;padding-inline:0!important;font-size:0!important;gap:0}
  body.sch-tel .barra-pagina .btn-indietro i,body.sch-tel .barra-pagina .btn-stampa i,body.sch-tel .barra-pagina .fn-stampa i{font-size:1.25rem}
  body.sch-tel .barra-pagina .blocco-azioni{flex:none!important;margin-left:0!important}
  body.sch-tel .barra-pagina .az-riga{flex-wrap:nowrap!important}
  body.sch-tel .barra-pagina h3:not(.rist-tit){font-size:15px!important;line-height:1.25;display:flex!important;flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0;white-space:normal!important;overflow-wrap:anywhere;padding:.3rem .7rem!important}
  body.sch-tel .barra-pagina h3:not(.rist-tit) .stato-t{font-size:15px;text-transform:none}
  body.sch-tel .area-fissa .barra-pagina .az-riga .btn:not(.btn-indietro):not(.btn-stampa){min-height:44px}
  /* titolo di ristrutturazione: 15 px, stati leggibili */
  body.sch-tel .comitato .area-fissa h3.rist-tit,body.comitato.sch-tel .area-fissa h3.rist-tit{font-size:15px!important}
  body.sch-tel .rist-stati .stato-t,body.sch-tel .rist-stati .badge{font-size:15px}
  body.sch-tel .comitato .area-fissa .nav-tabs.rist-tabs .nav-link,body.comitato.sch-tel .area-fissa .nav-tabs.rist-tabs .nav-link{font-size:15px;min-height:44px}
  /* riepilogo in alto e contatti */
  .sch-riepilogo{display:grid;gap:4px;margin:0 0 12px;padding:10px 14px;border:1px solid #dbe1ea;border-left:5px solid #0b5fd0;border-radius:12px;background:#fff;font-size:15px}
  .sch-riepilogo b{margin-right:4px}.sch-riepilogo i{color:#0b5fd0}
  .sch-contatti{display:flex;gap:8px;margin:8px 0 4px}body.sch-tel .sch-contatti .btn:not(.z1):not(.z2):not(.z3):not(.z4):not(.z5){flex:1 1 0!important;min-height:48px;font-size:15px}
  body.sch-tel main .text-muted.mb-3,body.sch-tel main .mb-3>.text-muted,body.sch-tel main .mb-3>.small{font-size:15px!important}
  /* card impilate con titolo a tutta larghezza: tocca per aprire/chiudere */
  body.sch-tel main .card{border-radius:14px}
  body.sch-tel main .card .card-body{padding:12px 14px}
  body.sch-tel main h6{font-size:17px;letter-spacing:.08em}
  body.sch-tel main .card h6.d-md-none{display:flex!important}
  body.sch-tel .sch-testa h6,body.sch-tel h6.sch-testa,body.sch-tel main h6[role=button]{min-height:44px;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
  .sch-chev{flex:none;order:3;transition:transform .15s;font-size:1.1rem;color:#0b5fd0}
  .sch-chiusa .sch-chev{transform:rotate(-90deg)}
  .sch-chiusa>.card-body>:not(.sch-testa):not(.sch-azioni){display:none!important}
  .sch-chiusa>.card-body>.sch-testa{margin-bottom:0!important}
  .sch-chiusa>.card-body>.sch-testa>h6{margin-bottom:0!important}
  .sch-chiusa>.card-body>h6.sch-testa{margin-bottom:0}
  /* tasti d'azione dentro la card */
  .sch-azioni{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 12px}
  body.sch-tel .sch-azioni .btn:not(.z1):not(.z2):not(.z3):not(.z4):not(.z5){flex:1 1 calc(50% - 8px)!important;min-height:48px;height:auto;padding:6px 10px!important;font-size:15px;white-space:normal;text-align:center}
  body.sch-tel .sch-azioni .btn:only-child:not(.z1):not(.z2):not(.z3):not(.z4):not(.z5){flex-basis:100%!important}
  body.sch-tel main .btn{min-height:44px;height:auto;font-size:15px}
  body.sch-tel main .btn.btn-sm{min-height:44px;font-size:15px}
  body.sch-tel main .form-control,body.sch-tel main .form-select{min-height:46px;font-size:16px}
  body.sch-tel main textarea.form-control{min-height:0}
  /* righe etichetta/valore (dl) */
  body.sch-tel main dl.row{margin:0}
  body.sch-tel main dl.row>dt,body.sch-tel main dl.row>dd{width:100%;flex:0 0 100%;max-width:100%;padding-left:0;padding-right:0}
  body.sch-tel main dl.row>dt{margin-top:8px;font-size:15px;font-weight:600!important;color:#55607a!important}
  body.sch-tel main dl.row>dd{margin:0;padding-bottom:8px;border-bottom:1px solid #eef1f6;font-size:16px;overflow-wrap:anywhere}
  body.sch-tel main dl.row>dd:last-child{border-bottom:0}
  /* schede KPI compatte */
  body.sch-tel main .kpi .small{font-size:15px}
  body.sch-tel main .kpi .card-body{padding:10px 12px}
  /* testi minimi 15 px */
  body.sch-tel main .stato-t,body.sch-tel main .stato-sotto,body.sch-tel main .badge,body.sch-tel main small,body.sch-tel main .small,body.sch-tel main .list-group-item,body.sch-tel main .text-muted{font-size:15px}
  /* tabelle -> elenco a schede */
  body.sch-tel main .table-responsive{overflow:visible}
  body.sch-tel main table.sch-ct,body.sch-tel main table.sch-riga{display:block;width:100%;font-size:15px}
  body.sch-tel main table.sch-ct thead{display:none}
  body.sch-tel main table.sch-ct tbody,body.sch-tel main table.sch-riga tbody,body.sch-tel main table.sch-ct tr,body.sch-tel main table.sch-riga tr{display:block;width:100%}
  body.sch-tel main table.sch-ct tr{margin:0 0 10px;padding:6px 12px;border:1px solid #dbe1ea;border-radius:12px;background:#fff}
  body.sch-tel main table.sch-ct td{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0!important;padding:5px 0!important;text-align:right;white-space:normal!important;overflow-wrap:anywhere;min-width:0;font-size:15px;background:transparent}
  body.sch-tel main table.sch-ct td[data-label]::before{content:attr(data-label);flex:none;max-width:42%;text-align:left;font-weight:700;color:#55607a;font-size:15px}
  body.sch-tel main table.sch-ct td:not([data-label]){display:block;text-align:left}
  body.sch-tel main table.sch-ct td .btn{min-height:44px}
  body.sch-tel main table.sch-riga tr{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;padding:6px 2px;border-bottom:1px solid #eef1f6}
  body.sch-tel main table.sch-riga td{display:block;width:auto;border:0!important;padding:2px 0!important;white-space:normal!important;overflow-wrap:anywhere;font-size:15px;min-width:0}
  body.sch-tel main table.sch-riga td:first-child{font-weight:600}
  body.sch-tel main table.sch-riga td a{display:inline-flex;align-items:center;min-height:44px}
  body.sch-tel main table.sch-ct td a{display:inline-flex;align-items:center;min-height:44px}
  body.sch-tel main a.badge{display:inline-flex;align-items:center;min-height:44px;margin:0 6px 6px 0!important;padding:0 14px;font-size:15px}
  body.sch-tel main .list-group-item{overflow-wrap:anywhere;flex-wrap:wrap;gap:4px}
  body.sch-tel main .card img{height:auto}
  body.sch-tel .legenda-sigle,body.sch-tel .legenda-sigle dt,body.sch-tel .legenda-sigle dd,body.sch-tel .legenda-sigle dl>div,body.sch-tel .legenda-sigle h6{font-size:15px}
  body.sch-tel .legenda-sigle dl{grid-template-columns:minmax(0,1fr)}
  body.sch-tel .passo,body.sch-tel .passo *{font-size:15px}
  body.sch-tel.comitato .area-fissa .barra-pagina>.d-flex>.rist-testa{flex:1 1 0!important;width:auto!important;min-width:0}
  body.sch-tel.comitato .area-fissa h3.rist-tit{width:100%}
  body.sch-tel .barra-pagina .blocco-azioni,body.sch-tel .barra-pagina .blocco-azioni .az-riga{width:auto!important;max-width:none!important;flex:none!important}
}

/* ===== Caselle di ricerca: X «Cancella la ricerca», indicatore di caricamento ===== */
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none;display:none}
input[type=search]::-ms-clear{display:none}
.campo-x-btn{z-index:3;cursor:pointer}
.campo-x-btn::after{content:"";position:absolute;inset:-11px}            /* area di tocco 44 x 44 px attorno alla X */
.campo-x-btn:focus-visible{outline:2px solid #0b5fd0;outline-offset:2px}
.campo-x .form-control{padding-right:36px}
.cerca-campo .campo-x-btn{right:8px;background:rgba(201,214,230,.22);color:#e6eef8}
.cerca-campo .campo-x-btn:hover{background:#c81e2b;color:#fff}
.cerca-campo.pieno .cerca-tasto{display:none}
.cerca-campo.pieno .cerca-input{padding-right:34px}
.campo-x.caricando::before,.cerca-campo.caricando::before{content:"";position:absolute;right:34px;top:50%;width:14px;height:14px;margin-top:-7px;border:2px solid rgba(85,96,122,.35);border-top-color:#0b5fd0;border-radius:50%;animation:campoxgira .7s linear infinite;z-index:3;pointer-events:none}
@keyframes campoxgira{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.campo-x.caricando::before{animation:none}}
.sc-pannello .campo-x,.md-pannello .campo-x{display:block;width:100%}
:root[data-theme=dark] .campo-x-btn,html[data-tema=scuro] .campo-x-btn{background:#3a4660;color:#e6eef8}
.cerca-campo.pieno .campo-x-btn{display:flex}
.cerca-campo{overflow:visible}

/* «Vai su»: sempre fisso in basso a destra della pagina (la regola dei pulsanti 3D lo metteva in flusso, in basso a sinistra) */
.btn-vaisu{position:fixed!important;left:auto!important;right:20px;top:auto!important}
@media (max-width:991px){.btn-vaisu{right:16px}}

/* «Menu rapido» con i tre puntini: restano orizzontali anche a menu aperto (prima l'ingranaggio ruotava) */
.btn-sistema.btn-sistema-ico.show i.bi-three-dots{transform:none}
.btn-sistema.btn-sistema-ico i.bi-three-dots{font-size:1.25rem}

/* «Impostazioni»: nel menu rapido con sfondo diverso e una linea sotto; nel menu laterale di ogni modulo, sempre in fondo e separato da una linea */
.menu-sistema-tendina .dropdown-menu .dropdown-item.voce-impostazioni{background:rgba(240,180,41,.14);color:#ffd77a;font-weight:700;border-radius:8px}
.menu-sistema-tendina .dropdown-menu .dropdown-item.voce-impostazioni:hover,.menu-sistema-tendina .dropdown-menu .dropdown-item.voce-impostazioni.active{background:rgba(240,180,41,.28);color:#fff}
.menu-sistema-tendina .dropdown-menu .dropdown-divider{border-top-color:rgba(255,255,255,.25);margin:.4rem .25rem}
.sidebar .nav-sep{height:0;margin:10px 8px;border-top:1px solid rgba(201,214,230,.35);list-style:none}
.sidebar .nav-link.nav-impostazioni{background:rgba(240,180,41,.12);color:#ffd77a;font-weight:700}
.sidebar .nav-link.nav-impostazioni:hover{background:rgba(240,180,41,.25);color:#fff}
.sidebar .nav-link.nav-impostazioni.active{background:linear-gradient(90deg,rgba(240,180,41,.35),rgba(240,180,41,.12));color:var(--oro);border-left:3px solid var(--oro)}

/* pagina App: il codice QR in cima a sinistra; logo, testi e istruzioni tutti nella colonna di destra */
.app-installa{grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:28px;align-items:start}
.app-installa .app-cella-qr{grid-column:1;grid-row:1 / span 2;margin-top:0;align-self:start}
.app-installa .app-cella-logo{grid-column:2;grid-row:1;justify-content:flex-start;margin-bottom:6px}
.app-installa .app-top{grid-column:2;grid-row:2}
.app-installa .app-resto{grid-column:2;grid-row:3}
@media(max-width:700px){
  .app-installa{grid-template-columns:1fr;grid-template-rows:none;justify-items:center}
  .app-installa .app-cella-qr,.app-installa .app-cella-logo,.app-installa .app-top,.app-installa .app-resto{grid-column:1;grid-row:auto;margin-top:0}
  .app-installa .app-cella-qr{order:-1}
  .app-installa .app-cella-logo{justify-content:center}
}

/* elenco dei collegati: sotto il nome, la struttura (es. «PdV - 112 · Aci Catena, Vampolieri») */
.elenco-collegati li .cs{grid-column:2;color:#bfd0e4;font-size:.78rem;line-height:1.25;overflow-wrap:anywhere}

/* targa in alto: sotto il nome dell'utente, la sua struttura */
.barra-targa .utente{line-height:1.15;max-width:300px}
.barra-targa .utente .ut-n{display:block;white-space:nowrap}
.barra-targa .utente .ut-pdv{display:block;font-size:.7rem;color:#c8d3e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}

/* «Entra come questo utente»: striscia sempre in cima e tasto casa nella colonna Azioni */
.imp-striscia{position:sticky;top:0;z-index:1046;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 16px;min-height:var(--imp-h,52px);box-sizing:border-box;padding:6px 16px;background:#b91c1c;color:#fff;font-weight:600;font-size:.95rem;border-bottom:3px solid #fbbf24;line-height:1.25}
.imp-striscia .imp-testo{text-align:center}.imp-striscia .imp-da{opacity:.85;font-weight:500;font-size:.85em}
.imp-striscia .imp-form{margin:0}
.imp-striscia .imp-torna{min-height:44px;min-width:44px;padding:0 18px;border:2px solid #fff;border-radius:999px;background:#fff;color:#7f1d1d;font-weight:800;cursor:pointer;white-space:nowrap}
.imp-striscia .imp-torna:hover,.imp-striscia .imp-torna:focus-visible{background:#fde68a;outline:none}
@media(max-width:575px){.imp-striscia{flex-direction:column;gap:4px;padding:6px 10px}.imp-striscia .imp-form{width:100%}.imp-striscia .imp-torna{width:100%}}
.marchio-barra{top:var(--imp-h,0px)}
.btn.btn-ic.az-entra{--az:#b91c1c}
.btn.btn-ic.az-entra:disabled{opacity:.35;cursor:not-allowed}
.az-entra-no{cursor:not-allowed}

/* Registro attività: nessun testo va a capo; il dettaglio lungo si accorcia con i puntini (il testo intero è nel suggerimento) */
.tab-registro th,.tab-registro td{white-space:nowrap}
.tab-registro td.det{max-width:560px;overflow:hidden;text-overflow:ellipsis}

/* ricerca dentro gli elenchi a caselle («Filtri», menu a scelta multipla): le voci che non c'entrano devono sparire (l'attributo hidden perdeva contro display:flex) */
.filtro-caselle label[hidden],.md-elenco label[hidden],.md-pannello label[hidden]{display:none!important}

/* Moduli «Nuovo / Modifica» a sezioni (solo le schede che lo dichiarano in entities.php, per ora Strutture) */
.frm-sez{display:flex;flex-direction:column;gap:.9rem}
.frm-intro{background:#eaf2fd;border:1px solid #c5d8f3;color:#0b3d91;border-radius:10px;padding:.6rem .9rem;font-size:1rem}
.sez-card .sez-titolo{font-size:1.05rem;font-weight:700;color:#0b3d91;margin:0 0 .8rem;padding-bottom:.45rem;border-bottom:2px solid #d8e4f6}
.sez-card .sez-titolo i{margin-right:.35rem}
.frm-sez .form-label{font-size:.95rem;font-weight:600;margin-bottom:.25rem}
.frm-sez .form-control,.frm-sez .form-select{font-size:1rem}
.campo-aiuto{font-size:.9rem;color:#5b6577;margin-top:.25rem;line-height:1.3}
.frm-sez .campo-spunta{min-height:2.4rem;display:flex;align-items:center;gap:.5rem;padding-left:0}
.frm-sez .campo-spunta .form-check-input{float:none;margin:0;width:1.5rem;height:1.5rem}
.frm-sez .campo-spunta .form-check-label{font-size:1rem;font-weight:600}
@media(max-width:767px){
  .frm-sez .form-label,.campo-aiuto,.frm-intro{font-size:15px}
  .frm-sez .form-control,.frm-sez .form-select{min-height:46px;font-size:16px}
  .frm-sez textarea.form-control{min-height:96px}
  .barra-form-sez .btn{min-height:44px;font-size:15px}
  .frm-sez .campo-spunta{min-height:46px}
}
.frm-sez .form-control,.frm-sez .form-select{max-width:none;width:100%}

/* Sottomenu a scomparsa «Anagrafica» nel menu laterale */
.sidebar .nav-riga-sub{display:flex;align-items:stretch;gap:2px}
.sidebar .nav-riga-sub .nav-link{flex:1 1 auto;min-width:0}
.sidebar .nav-link.nav-padre{color:var(--oro)}
.sidebar .nav-sub-toggle{flex:none;width:36px;min-height:36px;border:0;border-radius:8px;background:transparent;color:#c9d6e6;display:flex;align-items:center;justify-content:center}
.sidebar .nav-sub-toggle:hover,.sidebar .nav-sub-toggle:focus-visible{background:rgba(255,255,255,.1);color:#fff;outline:2px solid transparent}
.sidebar .nav-sub-toggle i{transition:transform .15s}
.sidebar .nav-con-sub.aperto>.nav-riga-sub .nav-sub-toggle i{transform:rotate(90deg)}
.sidebar .nav-sub{list-style:none;margin:2px 0 6px 14px;padding:0 0 0 8px;border-left:2px solid rgba(255,255,255,.18)}
.sidebar #menuVoci .nav-link.nav-link-sub{padding:4px 10px;font-size:.8rem}
.sidebar .nav-sub{border-left-color:rgba(125,211,252,.45)}
.sidebar #menuVoci .nav-link.nav-link-sub:not(.active){color:#7dd3fc}
.sidebar #menuVoci .nav-link.nav-link-sub:not(.active):hover{color:#e0f2fe}
.sidebar #menuVoci .nav-link.nav-link-sub:not(.active) i{color:#7dd3fc}
@media(max-width:991px){.sidebar .nav-sub-toggle{width:48px;min-height:44px}.sidebar #menuVoci .nav-link.nav-link-sub{font-size:15px;min-height:44px;display:flex;align-items:center;padding-top:9px;padding-bottom:9px}}
/* «Entra come»: presa d'atto della responsabilità personale e firma nella striscia rossa */
.conferma-presa.manca .alert{border:2px solid #b91c1c;animation:presaScuoti .25s 2}.conferma-presa.manca .form-check-input{outline:3px solid #b91c1c}
@keyframes presaScuoti{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.imp-striscia .imp-firma{display:inline-block;background:#fff;color:#7f1d1d;border-radius:999px;padding:1px 10px;font-weight:800;font-size:.9em;white-space:nowrap}

/* contatore che lampeggia (es. «Voci e doppioni» con doppioni da unire) */
@keyframes cnt-lampeggia{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,107,107,.7)}50%{opacity:.35;box-shadow:0 0 0 6px rgba(255,107,107,0)}}
.sidebar .nav-cnt.nav-lampeggia{animation:cnt-lampeggia 1.1s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.sidebar .nav-cnt.nav-lampeggia{animation:none}}
/* Contatori del menu con logica: azzurro = totale informativo, arancio = da seguire (scadenze, fuori servizio), rosso = ritardo/urgenza o da sistemare (lampeggia), verde = a posto */
html .sidebar .nav-cnt.c-azzurro,html .sidebar .nav-link.active .nav-cnt.c-azzurro{color:#4fd0e8!important}
html .sidebar .nav-cnt.c-blu,html .sidebar .nav-link.active .nav-cnt.c-blu{color:#7fb2ff!important}
html .sidebar .nav-cnt.c-arancio,html .sidebar .nav-link.active .nav-cnt.c-arancio{color:#ffa94d!important}
html .sidebar .nav-cnt.c-verde,html .sidebar .nav-link.active .nav-cnt.c-verde{color:#5fd68a!important}
html .sidebar .nav-cnt.c-viola,html .sidebar .nav-link.active .nav-cnt.c-viola{color:#c4a1ff!important}
html .sidebar .nav-cnt.c-rosso,html .sidebar .nav-link.active .nav-cnt.c-rosso{color:#ff6b6b!important}
/* fumetto dei contatori del menu laterale */
#cntTip{position:fixed;z-index:4000;display:none;max-width:280px;padding:8px 12px;border-radius:10px;background:#0b1620;color:#fff;border:1px solid rgba(240,180,41,.7);font-size:.85rem;font-weight:600;line-height:1.3;box-shadow:0 8px 24px rgba(0,0,0,.45);pointer-events:none}

/* targhette di scelta (Anagrafica, Controlli ispettivi…): in 3D come tutti gli altri tasti */
.anag-tipo{position:relative;isolation:isolate;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 -2px 0 rgba(0,0,0,.20),0 3px 0 rgba(0,0,0,.24),0 6px 9px rgba(0,0,0,.18);text-shadow:0 1px 0 rgba(255,255,255,.18);transition:transform .08s ease,box-shadow .08s ease,filter .12s ease}
.anag-tipo:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 0 rgba(0,0,0,.20),0 4px 0 rgba(0,0,0,.24),0 8px 12px rgba(0,0,0,.2)}
.anag-tipo:active{transform:translateY(3px);filter:brightness(.96);box-shadow:inset 0 3px 6px rgba(0,0,0,.35),0 0 0 rgba(0,0,0,0)}
.anag-tipo::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,.08) 46%,rgba(0,0,0,.05) 54%,rgba(0,0,0,.18) 100%)}
@media print{.anag-tipo{box-shadow:none!important;text-shadow:none!important}.anag-tipo::before{display:none!important}}

/* modulo «Controlli» (controlli ispettivi): verde */

/* ricerca: finestra che resta aperta mentre si lavora (anche cambiando pagina); chiusura con la X o con Esc */
.cerca-box.aperto .cerca-lente{background:rgba(109,179,255,.22);border-color:#6db3ff;color:#fff}
.cerca-fissa-testa{display:none}
@media (min-width:768px){
  .cerca-box.aperto .cerca-pannello .cerca-fissa-testa{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:0;z-index:2;padding:6px 10px;background:#0f1a27;border-bottom:1px solid rgba(201,214,230,.2);font-size:.8rem;font-weight:700;color:#c8d3e0}
  .cerca-fissa-testa button{border:0;background:transparent;color:#c9d6e6;font-size:1.1rem;line-height:1;padding:2px 8px;border-radius:6px}.cerca-fissa-testa button:hover{background:rgba(201,214,230,.18);color:#fff}
}
/* linea verticale leggera nella barra in alto, allineata al bordo destro del menu laterale: separa il marchio (logo e titolo) dai moduli */
.lin-menu{position:absolute;top:10px;bottom:10px;width:1px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(201,214,230,.7) 18%,rgba(201,214,230,.7) 82%,transparent);z-index:1}
@media(max-width:991px){.lin-menu{display:none!important}}

/* schermo largo (da 1880 px): torna la casella «Cerca o chiedi…» (la sua larghezza si adatta allo spazio libero: non tocca i tasti dei moduli); sotto, resta la lente */
.cerca-pannello:not([hidden]) .cerca-fissa-testa{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:0;z-index:2;padding:6px 10px;background:#0f1a27;border-bottom:1px solid rgba(201,214,230,.2);font-size:.8rem;font-weight:700;color:#c8d3e0}
@media (max-width:767px){.cerca-pannello .cerca-fissa-testa{display:none!important}}
.cerca-campo,.cerca-campo:focus-within{width:var(--cw,200px)}

/* ricerca: nessun «Ctrl K» scritto nella casella (la scorciatoia funziona lo stesso); lente tonda e azzurra, ferma al passaggio del mouse */
.cerca-tasto{display:none!important}
.cerca-input{padding-right:14px}
.cerca-lente{width:38px;min-width:38px;height:38px;padding:0;border-radius:50%;border:1.5px solid #6db3ff;background:rgba(109,179,255,.14);color:#9bd0ff;box-shadow:none;transform:none!important;transition:background .12s,border-color .12s}
.cerca-lente i{font-size:1.1rem;color:#9bd0ff}
.cerca-lente:hover,.cerca-lente:focus-visible{background:rgba(109,179,255,.3);border-color:#bfe0ff;color:#fff;transform:none!important;filter:none!important}
.cerca-lente-t{display:none!important}
/* i tasti dei moduli non toccano la linea verticale allineata al menu laterale */
.moduli-barra{margin-left:22px}

/* icona «DPI»: caschetto di sicurezza con chiave (le Bootstrap Icons non hanno il caschetto) */
.bi-dpi::before{content:""!important;display:inline-block;width:1.55em;height:1em;vertical-align:-.15em;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 24'%3E%3Cpath fill-rule='evenodd' d='M2.5 17C2.5 9.2 7 4.2 13.5 4.2S24.5 9.2 24.5 17zM11.9 6.4v8.4h3.2V6.4z'/%3E%3Cpath d='M0.8 18h26.4c1 0 1.7.7 1.7 1.6s-.7 1.6-1.7 1.6H0.8z'/%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M29 21.4 L35 14.2'/%3E%3Ccircle cx='35.4' cy='12.6' r='2.9'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 24'%3E%3Cpath fill-rule='evenodd' d='M2.5 17C2.5 9.2 7 4.2 13.5 4.2S24.5 9.2 24.5 17zM11.9 6.4v8.4h3.2V6.4z'/%3E%3Cpath d='M0.8 18h26.4c1 0 1.7.7 1.7 1.6s-.7 1.6-1.7 1.6H0.8z'/%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M29 21.4 L35 14.2'/%3E%3Ccircle cx='35.4' cy='12.6' r='2.9'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;font-family:inherit}

/* sottotitolo del prodotto: riga sottile sotto i tasti dei moduli, allineata al primo tasto (non allarga mai il logo; la posizione la imposta app.js) */
.marchio-barra .marchio-sub{position:absolute;bottom:4px;left:300px;font:600 .62rem/1 "Segoe UI",Arial,sans-serif;letter-spacing:.2px;color:#b9c6d6;white-space:nowrap;pointer-events:none}
@media(max-width:1100px){.marchio-barra .marchio-sub{display:none}}

/* postazione fissa del logo del gestore (misure uguali per qualsiasi logo) e titolo del menu dentro una targa */
.sidebar .logo-gestore{flex:none;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.sidebar .logo-gestore img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.sidebar .logo-blocco ~ .menu-modulo{border:2px solid currentColor;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 2px 6px rgba(0,0,0,.25)}
@media(min-width:992px){.sidebar .logo-blocco ~ .menu-modulo{padding-right:12px}}

/* logo del gestore più discreto: prevale il logo TECARO */
.sidebar .logo-blocco ~ .menu-modulo{font-size:.84rem}

/* logo del gestore su sfondo scuro (senza riquadro bianco); targa del titolo larga quanto il menu */
.sidebar .logo-gestore{background:transparent;box-shadow:none;border-radius:0}
.sidebar .logo-blocco ~ .menu-modulo{margin:0;border-radius:0;border-width:2px 0;justify-content:center;padding:7px 12px;width:100%;box-sizing:border-box;background:rgba(0,0,0,.35)}

/* targa KRessèntia nella barra in alto: più larga, meno schiacciata */
.marchio-barra .marchio-sotto{padding:3px 16px!important;min-height:24px;display:inline-flex;align-items:center;gap:2px;font-size:.8rem;border-radius:9px}
.marchio-barra .marchio-sotto .marchio-prod{height:18px;margin-right:8px}

/* «KRessèntia» ovunque con i suoi colori, su targa nera (si legge su qualunque sfondo) */
.kr-nome{display:inline-block;background:#0b1620;border-radius:6px;padding:0 8px 1px;line-height:1.35;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.kr-nome .kr-k{color:#fff!important;-webkit-text-fill-color:#fff!important}
.kr-nome .kr-e{color:#f0b429!important;-webkit-text-fill-color:#f0b429!important}

/* piè di pagina: il logo sta subito prima del nome («Un prodotto [logo] KRessèntia», «[icona] TECARO») */
.pr-prodotto,.pr-tecaro{display:inline-flex;align-items:center;gap:7px;vertical-align:middle}
.pr-prodotto img,.pr-tecaro img{width:auto;flex:none}
.piede-produttore{gap:0}

/* «TECARO» nel testo: TECA prende il colore del testo intorno (nero su chiaro, bianco su scuro), RO sempre verde */
.tc-testo{font-weight:800;font-style:italic;letter-spacing:.3px;white-space:nowrap}
.tc-testo .nome-verde{background:linear-gradient(180deg,#a3ec3f,#3fae12);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-style:italic}

/* tutto ciò che si può cliccare mostra il «ditino» al passaggio del mouse (anche i collegamenti a cui il programma toglie un istante l'indirizzo) */
a,a[data-hr],button,.btn,[role="button"],[onclick],[data-bs-toggle],[data-bs-target],[data-bs-dismiss],summary,label[for],select,input[type="checkbox"],input[type="radio"],input[type="submit"],input[type="button"],input[type="file"],input[type="color"],input[type="range"],.nav-link,.dropdown-item,.page-link,.accordion-button,.list-group-item-action,.form-check-input,.form-check-label,.modal-header .btn-close,.btn-close,.nav-tab,.com-tab,.anag-tipo,.modulo-tasto,.cerca-lente,.mod-btn,.imp-vista button,.com-vista button,[data-v],[data-ren-rep],[data-ren-dpi],[data-del],[data-carica],[data-elimina],[data-pieno],td.cella,.pall,.hex,.esagono,[tabindex="0"][role]{cursor:pointer}
button:disabled,.btn:disabled,.btn.disabled,[disabled],[aria-disabled="true"]{cursor:not-allowed}
.modal-header[style*="cursor:move"]{cursor:move}

/* data di aggiornamento: accanto al nome TECARO (non più a destra del badge, dove toccava la linea) */
.marchio-barra .marchio-r1{display:flex;align-items:center;min-width:0}
.marchio-barra .marchio-r1 .marchio-data{font:600 .62rem/1 "Consolas","Courier New",monospace;color:#c8d3e0;border:1px solid rgba(159,178,200,.35);border-radius:6px;white-space:nowrap;margin:0!important}

/* il sottotitolo del programma è SEMPRE presente al centro della barra inferiore: se lo spazio manca, si accorciano o spariscono prima le altre voci della barra */
.barra-stato .marchio-tit{display:inline-block!important;position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;font-size:.8rem;font-weight:800;letter-spacing:.04em;color:#dbe6f3;padding:4px 20px;border:1px solid rgba(201,214,230,.4);border-radius:7px;background:rgba(255,255,255,.07);pointer-events:none;white-space:nowrap;max-width:calc(46vw / var(--zm,1));overflow:hidden;text-overflow:ellipsis;z-index:2}
@media(max-width:1750px){.barra-stato .bs-sync{display:none!important}}
@media(max-width:1500px){.barra-stato .bs-sg{display:none!important}.barra-stato .marchio-tit{font-size:.74rem;padding:3px 14px}}
@media(max-width:1180px){.barra-stato .bs-utente{display:none!important}.barra-stato .bs-data{margin-left:auto}}
@media(max-width:820px){.barra-stato .marchio-tit{position:static!important;transform:none!important;max-width:100%;flex:1 1 auto;margin:0 8px;text-align:center;font-size:.66rem;padding:2px 8px}.barra-stato .bs-data{display:none!important}}

/* data accanto al nome: più piccola, così lascia sempre almeno 12 px prima della linea verticale (che sta sul bordo del menu laterale) */
.marchio-barra .marchio-r1{gap:6px}
.marchio-barra .marchio-r1 .marchio-data{font-size:.56rem;padding:2px 5px;letter-spacing:.02em}

/* importi in euro sempre allineati a destra (Costi e spese e ogni elenco con importi): cifre incolonnate sul bordo destro, con numeri a larghezza uguale */
td.td-eur,th.th-eur{text-align:right!important;font-variant-numeric:tabular-nums;padding-right:22px!important}
.cb-riga{grid-template-columns:minmax(0,1fr) auto!important;column-gap:14px}
.cb-riga b{text-align:right!important;justify-self:end;font-variant-numeric:tabular-nums}

/* elenchi di collegamenti (strutture servite, cespiti…): niente targhette, un elenco su due colonne */
ul.elenco-link{list-style:none;margin:0;padding:0;column-count:2;column-gap:28px}
ul.elenco-link li{break-inside:avoid;padding:3px 0;border-bottom:1px solid #e3e9f3;font-size:.92rem}
ul.elenco-link a{text-decoration:none;color:inherit}ul.elenco-link a:hover{text-decoration:underline;color:#1d4ed8}
@media(max-width:700px){ul.elenco-link{column-count:1}}

/* targa del titolo di pagina: prende il colore del tasto del suo modulo nella barra in alto (Help Desk arancio, Gestione tecnica azzurro, Ristrutturazioni viola, Controlli verde) */
body:has(.sidebar.sez-ctl) .barra-pagina h3:not(.rist-tit){border-color:rgba(4,120,87,.5)}

/* targhette dello stato nella tabella dei controlli: tutte della stessa lunghezza */
.ctl-tab .ctl-pill{display:inline-flex;justify-content:center;width:106px;min-width:106px;box-sizing:border-box;padding-left:0;padding-right:0}
.ctl-tab td.corrente .ctl-pill{width:106px}

/* titolo delle pagine del modulo Controlli: IDENTICO a quello di Ristrutturazioni (sotto «Torna indietro», lettere grandi nel colore del modulo con ombra in rilievo, sottotitolo sotto) */
body:has(.sidebar.sez-ctl) .barra-pagina .riga-titolo>div:first-child{flex-wrap:wrap}
body:has(.sidebar.sez-ctl) .barra-pagina h3:not(.rist-tit){flex:0 0 100%;display:block!important;border-radius:0;padding:0!important;font-size:clamp(1.15rem,1.7vw,1.55rem)!important;font-weight:900;letter-spacing:.14em;text-shadow:1px 1px 0 #0b1620,2px 2px 0 #0b1620,3px 3px 0 rgba(11,22,32,.85),4px 5px 9px rgba(0,0,0,.55)}
body:has(.sidebar.sez-ctl) .barra-pagina h3 i{font-size:.9em;margin-right:6px;filter:drop-shadow(2px 2px 0 #0b1620) drop-shadow(3px 4px 5px rgba(0,0,0,.5))}

/* Controlli e Ristrutturazioni: testate con le STESSE posizioni e le STESSE dimensioni dei tasti (passando da un modulo all'altro non si sposta niente) */
body:has(.sidebar.sez-ctl) .barra-pagina .btn-indietro{height:32px;min-height:32px;padding-top:0;padding-bottom:0;display:inline-flex;align-items:center}
body:has(.sidebar.sez-ctl) .barra-pagina .riga-titolo>div:first-child{row-gap:0!important}
body:has(.sidebar.sez-ctl) .barra-pagina h3:not(.rist-tit){margin:8px 0 0!important;line-height:25px;height:25px}
body:has(.sidebar.sez-ctl) .barra-pagina .ctl-riga:first-of-type,body:has(.sidebar.sez-ctl) .barra-pagina .riga-titolo+.ctl-riga{margin-top:15px}
.ctl-compatta .anag-tipo,.ctl-testata .anag-tipo{padding:8px 16px!important;font-size:15.2px!important;min-height:41px;display:inline-flex;align-items:center;gap:6px}
.barra-pagina.ctl-compatta,.barra-pagina.ctl-testata{padding-top:24px!important}
.ctl-compatta .ctl-riga>.ctl-et{display:none}
/* scheda attiva dei tasti: uguale in Controlli e in Ristrutturazioni (fondo scuro, icona oro) */
.ctl-compatta .anag-tipo.on,.ctl-testata .anag-tipo.on{background:#0b1620!important;background-image:none!important;border-color:#0b1620!important;color:#fff!important}
.ctl-compatta .anag-tipo.on i,.ctl-testata .anag-tipo.on i{color:#f0b429!important}

/* PALETTE C dei quattro moduli: Help Desk arancio, Gestione tecnica blu, Ristrutturazioni magenta, Controlli verde acqua */
.marchio-sezione.sez-hd{color:#f97316;border-color:#f97316;background:linear-gradient(180deg,rgba(249,115,22,.20),rgba(249,115,22,.06));box-shadow:inset 0 0 0 3px rgba(11,22,32,.9),inset 0 0 0 4px rgba(249,115,22,.30),0 4px 14px rgba(0,0,0,.35)}
.marchio-sezione.sez-tec{color:#5b95f9;border-color:#5b95f9;background:linear-gradient(180deg,rgba(59,130,246,.20),rgba(59,130,246,.06));box-shadow:inset 0 0 0 3px rgba(11,22,32,.9),inset 0 0 0 4px rgba(59,130,246,.30),0 4px 14px rgba(0,0,0,.35)}
.menu-sezioni a.sez-hd{color:#f97316;border-color:rgba(249,115,22,.55);background:rgba(249,115,22,.08)}
.menu-sezioni a.sez-tec{color:#5b95f9;border-color:rgba(59,130,246,.55);background:rgba(59,130,246,.08)}
.menu-sezioni a.sez-hd:hover{color:#fdba74;border-color:#f97316}
.menu-sezioni a.sez-tec:hover{color:#93b8ff;border-color:#5b95f9}
.menu-sezioni a.sez-hd.on{background:linear-gradient(135deg,#f97316,#ea580c);color:#2a1004;border-color:#f97316}
.menu-sezioni a.sez-tec.on{background:linear-gradient(135deg,#5b95f9,#2563eb);color:#ffffff;border-color:#5b95f9}
.sidebar.sez-tec,.sidebar.sez-tec.offcanvas-lg{border-right-color:rgba(59,130,246,.45)}
.sidebar.sez-hd .nav-link.active{background:linear-gradient(90deg,rgba(249,115,22,.26),rgba(249,115,22,.05));color:#f97316;border-left:3px solid #f97316}
.sidebar.sez-tec .nav-link.active{background:linear-gradient(90deg,rgba(59,130,246,.26),rgba(59,130,246,.05));color:#5b95f9;border-left:3px solid #5b95f9}
.sidebar.sez-hd .nav-link:hover{background:rgba(249,115,22,.1)}
.sidebar.sez-tec .nav-link:hover{background:rgba(59,130,246,.1)}
.sidebar.sez-hd .menu-modulo{color:#f97316}
.sidebar.sez-tec .menu-modulo{color:#5b95f9}
.barra-stato .bs-modulo.sez-hd{color:#f97316;border-color:#f97316;background:rgba(249,115,22,.12)}
.barra-stato .bs-modulo.sez-tec{color:#5b95f9;border-color:#5b95f9;background:rgba(59,130,246,.12)}
.modulo-tasto.sez-hd,.menu-sezioni a.sez-hd{--mt-c:#f97316;--mt-h:#fdba74;--mt-bg:rgba(249,115,22,.09);--mt-bgh:rgba(249,115,22,.2);--mt-g1:#f97316;--mt-g2:#ea580c;--mt-t:#2a1004;--mt-ombra:rgba(249,115,22,.38)}
.modulo-tasto.sez-tec,.menu-sezioni a.sez-tec{--mt-c:#7fb0ff;--mt-h:#93b8ff;--mt-bg:rgba(59,130,246,.09);--mt-bgh:rgba(59,130,246,.2);--mt-g1:#5b95f9;--mt-g2:#2563eb;--mt-t:#ffffff;--mt-ombra:rgba(59,130,246,.38)}
.modulo-tasto.sez-rist,.menu-sezioni a.sez-rist{--mt-c:#f58bc8;--mt-h:#f9a8d8;--mt-bg:rgba(219,39,119,.11);--mt-bgh:rgba(219,39,119,.24);--mt-g1:#f58bc8;--mt-g2:#db2777;--mt-t:#3a0620;--mt-ombra:rgba(219,39,119,.42)}
.menu-sezioni a.sez-rist{color:#f58bc8;border-color:rgba(219,39,119,.55);background:rgba(219,39,119,.1)}
.menu-sezioni a.sez-rist:hover{color:#f9a8d8;border-color:#f58bc8}
.menu-sezioni a.sez-rist.on{background:linear-gradient(135deg,#f58bc8,#db2777);color:#3a0620;border-color:#f58bc8}
.sidebar.sez-rist,.sidebar.sez-rist.offcanvas-lg{border-right-color:rgba(219,39,119,.5)}
.sidebar.sez-rist .nav-link.active{background:linear-gradient(90deg,rgba(219,39,119,.28),rgba(219,39,119,.05));color:#f9a8d8;border-left:3px solid #f58bc8}
.sidebar.sez-rist .nav-link:hover{background:rgba(219,39,119,.12)}
.sidebar.sez-rist .menu-modulo{color:#f58bc8}
html .sidebar.sez-rist .nav-link.active,html .sidebar.sez-rist .nav-link.active i{color:#fbc2e0}
.barra-stato .bs-modulo.sez-rist{color:#f58bc8;border-color:#f58bc8;background:rgba(219,39,119,.14)}
.marchio-sezione.sez-rist{color:#f58bc8;border-color:#f58bc8;background:linear-gradient(180deg,rgba(219,39,119,.2),rgba(219,39,119,.06))}
.modulo-tasto.sez-ctl,.menu-sezioni a.sez-ctl{--mt-c:#5fd9c8;--mt-h:#99f0e3;--mt-bg:rgba(20,184,166,.11);--mt-bgh:rgba(20,184,166,.24);--mt-g1:#5fd9c8;--mt-g2:#0d9488;--mt-t:#042f2e;--mt-ombra:rgba(13,148,136,.42)}
.menu-sezioni a.sez-ctl{color:#5fd9c8;border-color:rgba(20,184,166,.55);background:rgba(20,184,166,.1)}
.menu-sezioni a.sez-ctl:hover{color:#99f0e3;border-color:#5fd9c8}
.menu-sezioni a.sez-ctl.on{background:linear-gradient(135deg,#5fd9c8,#0d9488);color:#042f2e;border-color:#5fd9c8}
.sidebar.sez-ctl,.sidebar.sez-ctl.offcanvas-lg{border-right-color:rgba(20,184,166,.5)}
.sidebar.sez-ctl .nav-link.active{background:linear-gradient(90deg,rgba(20,184,166,.28),rgba(20,184,166,.05));color:#99f0e3;border-left:3px solid #5fd9c8}
.sidebar.sez-ctl .nav-link:hover{background:rgba(20,184,166,.12)}
.sidebar.sez-ctl .menu-modulo{color:#5fd9c8}
html .sidebar.sez-ctl .nav-link.active,html .sidebar.sez-ctl .nav-link.active i{color:#c8f7ef}
.barra-stato .bs-modulo.sez-ctl{color:#5fd9c8;border-color:#5fd9c8;background:rgba(20,184,166,.14)}
.marchio-sezione.sez-ctl{color:#5fd9c8;border-color:#5fd9c8;background:linear-gradient(180deg,rgba(20,184,166,.2),rgba(20,184,166,.06))}
/* titoli di pagina: colori della palette C */.home-titolo.ht-hd{color:#fb923c}.home-titolo.ht-tec{color:#60a5fa}
body:has(.sidebar.sez-hd) .barra-pagina h3:not(.rist-tit){color:#b84307!important;-webkit-text-fill-color:#b84307;background:rgba(249,115,22,.12);border-color:rgba(234,88,12,.5)}
body:has(.sidebar.sez-tec) .barra-pagina h3:not(.rist-tit){color:#2563eb!important;-webkit-text-fill-color:#2563eb;background:rgba(59,130,246,.12);border-color:rgba(37,99,235,.45)}
body:has(.sidebar.sez-rist) .barra-pagina h3:not(.rist-tit){color:#be185d!important;-webkit-text-fill-color:#be185d;background:rgba(219,39,119,.1);border-color:rgba(190,24,93,.45)}
body:has(.sidebar.sez-ctl) .barra-pagina h3:not(.rist-tit){background:none!important;border:0!important}

/* titoli dei moduli: i colori scelti (arancio, blu, magenta, verde acqua), pieni e leggibili su sfondo chiaro, con un leggero rilievo */
.home-intesta .home-titolo,body:has(.sidebar.sez-ctl) .barra-pagina h3:not(.rist-tit){text-shadow:1px 1px 0 rgba(255,255,255,.7),2px 3px 4px rgba(11,22,32,.22)!important}
.home-intesta .home-titolo i,body:has(.sidebar.sez-ctl) .barra-pagina h3 i{filter:drop-shadow(1px 2px 2px rgba(11,22,32,.25))!important}
.home-intesta .home-titolo.ht-hd,.home-titolo.ht-hd{color:#ea580c!important}
.home-intesta .home-titolo.ht-tec,.home-titolo.ht-tec{color:#2563eb!important}
.home-intesta .home-titolo.ht-rist{color:#be185d!important}
body:has(.sidebar.sez-ctl) .barra-pagina h3:not(.rist-tit){color:#0f766e!important;-webkit-text-fill-color:#0f766e}

/* targhette e pallini dello stato dei controlli: leggermente in 3D (luce in alto, ombra sotto), senza esagerare */
.ctl-pill,.ctl-dot{background-image:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 55%,rgba(0,0,0,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 0 rgba(0,0,0,.16),0 2px 3px rgba(0,0,0,.24);border:0;transition:transform .12s,box-shadow .12s,filter .12s}
.ctl-pill.light,.ctl-dot.light{background-image:none;box-shadow:none}
.ctl-pill:hover,.ctl-dot:hover{transform:translateY(-1px);filter:brightness(1.05)}
.ctl-pill.light:hover,.ctl-dot.light:hover{transform:none;filter:none}
.ctl-pill:active,.ctl-dot:active{transform:translateY(1px);box-shadow:inset 0 2px 3px rgba(0,0,0,.3)}

/* tabella DPI: i cerchi di spunta leggermente in 3D (poco) */
.dpi-tab td.cella .pall{background-image:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 55%,rgba(0,0,0,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(0,0,0,.14),0 1px 2px rgba(0,0,0,.2);transition:transform .1s,box-shadow .1s,filter .1s}
.dpi-tab td.cella.on .pall{background-image:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0) 55%,rgba(0,0,0,.14));box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.18),0 2px 3px rgba(0,0,0,.25)}
.dpi-tab td.cella:not(.sola):hover .pall{transform:translateY(-1px);filter:brightness(1.05)}
.dpi-tab td.cella:not(.sola):active .pall{transform:translateY(1px);box-shadow:inset 0 2px 3px rgba(0,0,0,.3)}

/* tabella DPI: righe un po' più larghe e la prima riga staccata dalla linea della testata */
:root main.content .dpi-tab tbody td{padding-top:7px!important;padding-bottom:7px!important}
:root main.content .dpi-tab tbody td.cella{padding-top:7px!important;padding-bottom:7px!important;height:38px}
:root main.content .dpi-tab tbody tr:first-child td{padding-top:14px!important}

/* pulsanti secondari (targhe dei contatori, tasti della Home, filtri, Card/Elenco, Subtotali): poco in 3D, come i principali ma più leggeri */
.chip-sem,.home-nastro a:not(.azione-principale),.chip-filtri a,.imp-vista,.com-vista,.cb-bt,.cs-altre,.conta-riga .chip,.stat-chip{box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -2px 0 rgba(0,0,0,.07),0 1px 3px rgba(11,22,32,.2)!important;transition:transform .12s,box-shadow .12s,filter .12s}
.chip-sem:hover,.home-nastro a:not(.azione-principale):hover,.chip-filtri a:hover,.cb-bt:hover{transform:translateY(-1px);filter:brightness(1.03)}
.chip-sem:active,.home-nastro a:not(.azione-principale):active,.chip-filtri a:active,.cb-bt:active{transform:translateY(1px);box-shadow:inset 0 2px 3px rgba(0,0,0,.18)!important}

/* tabella DPI: le parole intere non vanno mai a capo (se le colonne non entrano, scorre la griglia in orizzontale); titolo della pagina su più righe senza tagli */
.dpi-tab{min-width:calc(300px + var(--ncol,9)*100px)!important}
:root main.content .dpi-tab thead th:not(.prima){word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;min-width:98px}
.dpi-tab td.prima{word-break:keep-all;overflow-wrap:normal}
@media(max-width:1900px){.dpi-scroll{overflow:auto!important;max-height:calc(calc(100vh / var(--zm,1)) - 300px);min-height:240px}:root main.content .dpi-tab thead th{top:0!important}}
body:has(.sidebar.sez-ctl) .barra-pagina h3.dpi-h3{height:auto!important;line-height:1.2!important;letter-spacing:.07em;font-size:clamp(1rem,1.3vw,1.3rem)!important}

/* tasti di Ristrutturazioni e Controlli: della stessa taglia dei tasti degli altri moduli (più piccoli di prima) */
.com-tab,.ctl-compatta .anag-tipo,.ctl-testata .anag-tipo{padding:0 14px!important;min-height:0!important;height:32px;font-size:13.8px!important;gap:6px}
.com-tab i,.ctl-compatta .anag-tipo i,.ctl-testata .anag-tipo i{font-size:.95em}
.com-nav{gap:8px}

/* «Registra la decisione» / «Valida il SAL»: finestra a schermo pieno, con il contenuto centrato e di larghezza leggibile */
.rdc-modale .modal-dialog.modal-fullscreen .modal-body{width:100%;margin:0 auto}
.rdc-modale .modal-dialog.modal-fullscreen .modal-header,.rdc-modale .modal-dialog.modal-fullscreen .modal-footer{padding-left:max(16px,calc((100% - 980px)/2));padding-right:max(16px,calc((100% - 980px)/2))}

/* «Registra la decisione»: compatta, tutto in vista senza scorrere (campi su una riga, commento e allegati affiancati) */
.rdc-modale .modal-dialog.modal-fullscreen .modal-body{max-width:1320px;padding-top:8px;padding-bottom:6px}
.rdc-modale .modal-dialog.modal-fullscreen .modal-header{padding-top:6px;padding-bottom:6px}
.rdc-modale .modal-dialog.modal-fullscreen .modal-footer{padding-top:6px;padding-bottom:6px}
.rdc-modale .modal-dialog.modal-fullscreen .row{--bs-gutter-y:.45rem;--bs-gutter-x:.9rem}
.rdc-modale .rdc-info{padding:5px 10px;margin-bottom:6px;font-size:.85rem}
.rdc-modale .rdc-esiti .rdc-e{padding:6px 10px!important;min-height:0!important}
.rdc-modale .form-label{margin-bottom:2px;font-size:.78rem}
.rdc-modale .rdc-in{padding-top:4px;padding-bottom:4px;min-height:34px}
@media(min-width:992px){
  .rdc-modale .modal-dialog.modal-fullscreen .row>.col-sm-6{flex:0 0 auto;width:25%}
  .rdc-modale .modal-dialog.modal-fullscreen .row>.col-12:has(textarea.rdc-com){flex:0 0 auto;width:50%}
  .rdc-modale .modal-dialog.modal-fullscreen .row>.col-12:has(.rdc-allegati){flex:0 0 auto;width:50%}
  .rdc-modale textarea.rdc-com{height:96px}
}
@media(min-width:992px){
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:.5rem .9rem;margin:0!important;--bs-gutter-x:0}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;grid-column:span 12}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*:has(.rdc-data){grid-column:span 2}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*:has(input[name=autorizzante]){grid-column:span 4}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*:has(select[name=modalita_ordine]){grid-column:span 3}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*:has(input[name=riferimento_ordine]){grid-column:span 3}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*:has(textarea.rdc-com){grid-column:span 5}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*:has(.rdc-allegati){grid-column:span 7}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*:has(.rdc-mail){grid-column:span 8}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*:has(.rdc-pw){grid-column:span 4}
  .rdc-modale textarea.rdc-com{height:118px}
  .rdc-modale .rdc-allegati,.rdc-modale .rdc-mail,.rdc-modale .rdc-pw{padding:8px 12px;margin:0;height:100%}
  .rdc-modale .rdc-allegati .form-text{margin:2px 0 0}
  .rdc-modale .rd-dests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}
}
@media(min-width:992px){
  .rdc-modale .rdc-esiti .rdc-e{padding:4px 10px!important}
  .rdc-modale textarea.rdc-com{height:84px}
  .rdc-modale .rdc-allegati{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;align-items:start}
  .rdc-modale .rdc-allegati .rdc-sez,.rdc-modale .rdc-allegati .form-text{grid-column:1 / -1}
  .rdc-modale .rdc-allegati .form-label{margin:0}
  .rdc-modale .rdc-mail{padding:6px 12px}
  .rdc-modale .rdc-mail .rd-dest{padding:3px 8px}
  .rdc-modale .rdc-mail .rd-dest br{display:none}
  .rdc-modale .rdc-mail .rdc-mail-corpo{margin-top:4px!important;display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;align-items:end}
  .rdc-modale .rdc-mail .rdc-mail-corpo .rd-dests{grid-column:1 / -1}
  .rdc-modale .rdc-mail .rdc-mail-corpo .mt-2{margin-top:0!important}
  .rdc-modale .rdc-pw{padding:6px 12px}
  .rdc-modale .rdc-pw .form-text{margin:2px 0 0;font-size:.75rem}
}
@media(min-width:992px){
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row{grid-auto-flow:row dense}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>.rdc-mod{grid-column:span 7}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*:has(.rdc-mail){grid-column:span 7}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*:has(.rdc-pw){grid-column:span 5}
  .rdc-modale textarea.rdc-com{height:72px}
  .rdc-modale .rdc-mod textarea{height:64px;min-height:0}
  .rdc-modale .rdc-mod .form-label.mt-2{margin-top:4px!important}
  .rdc-modale .rdc-mod select{max-width:420px}
  .rdc-modale .rdc-esiti .rdc-e{padding:3px 10px!important}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-header .rdc-h{line-height:1.2}
}

/* tasti dell'esito («Approvato», «Approvato con modifiche», «Non approvato»): leggermente in 3D */
.rdc-modale .rdc-e{background-image:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,0) 55%,rgba(0,0,0,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -2px 0 rgba(0,0,0,.08),0 2px 4px rgba(11,22,32,.2);transition:transform .12s,box-shadow .12s,filter .12s}
.rdc-modale .rdc-e:hover{transform:translateY(-1px);filter:brightness(1.02)}
.rdc-modale .rdc-radio:checked+.rdc-e{box-shadow:inset 0 2px 4px rgba(0,0,0,.14),inset 0 -1px 0 rgba(255,255,255,.7),0 0 0 3px rgba(240,180,41,.35);transform:translateY(1px)}

/* «Registra la decisione»: due colonne ordinate (a sinistra la decisione, a destra allegati, riepilogo e password), esito in alto a tutta larghezza */
@media(min-width:992px){
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row{display:block!important;column-count:2;column-gap:36px;margin:0!important}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*{display:block;width:100%!important;max-width:none!important;margin:0 0 10px!important;padding:0!important;break-inside:avoid;grid-column:auto!important}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>*:has(.rdc-esiti){column-span:all;margin-bottom:12px!important}
  .rdc-modale .modal-dialog.modal-fullscreen .modal-body>.row>.rdc-mod[hidden]{display:none!important}
  .rdc-modale textarea.rdc-com,.rdc-modale .rdc-mod textarea{height:78px}
  .rdc-modale .rdc-mod select{max-width:none}
  .rdc-modale .rdc-allegati{display:block;height:auto}
  .rdc-modale .rdc-allegati .form-label{margin:6px 0 2px}
  .rdc-modale .rdc-mail .rdc-mail-corpo{display:block}
  .rdc-modale .rdc-mail .rdc-mail-corpo .mt-2{margin-top:8px!important}
  .rdc-modale .rdc-mail,.rdc-modale .rdc-pw{height:auto}
  .rdc-modale .rd-dests{display:block}
  .rdc-modale .rdc-mail .rd-dest br{display:inline}
}

/* schede della ristrutturazione (Panoramica, Sopralluogo, Lavori…): più piccole, della taglia dei tasti degli altri moduli */
.rist-tabs .nav-link{padding:0 11px!important;height:28px;font-size:12.6px!important;line-height:28px;gap:5px;display:inline-flex;align-items:center}
.rist-tabs .nav-link i{font-size:.95em;margin-right:0!important}
.rist-tabs{gap:5px 6px}
.rist-tabs .nav-item{margin:0}

/* «Registra la decisione»: Annulla e Conferma in cima, accanto al titolo */
.rdc-modale .rdc-az-alto{display:flex;gap:8px;align-items:center;margin-left:auto;margin-right:12px}
.rdc-modale .rdc-az-alto .btn{padding:5px 16px}
.rdc-modale .modal-footer{display:none}
/* card «In attesa di decisione»: compatta (dati su due colonne, tasto e stato sulla stessa riga) */
.rdc-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:2px 20px;align-items:start}
.rdc-card .rdc-top{grid-column:1;margin:0!important}
.rdc-card .rdc-tit{grid-column:1;margin:0!important;font-size:1.02rem}
.rdc-card .rdc-dati{grid-column:1;display:grid;grid-template-columns:auto 1fr auto 1fr;gap:1px 14px;margin:2px 0 0!important;font-size:.88rem}
.rdc-card .rdc-dati dt,.rdc-card .rdc-dati dd{margin:0;padding:0}
.rdc-card .rdc-az{grid-column:2;grid-row:1 / span 3;display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin:0!important}
@media(max-width:800px){.rdc-card{grid-template-columns:1fr}.rdc-card .rdc-az{grid-column:1;grid-row:auto;align-items:flex-start}.rdc-card .rdc-dati{grid-template-columns:auto 1fr}}

/* NIENTE TASTI ENORMI: taglia unica e compatta per tutti i pulsanti (anche scheda tecnica, decisioni, «btn-lg») */
.btn-lg,.btn.btn-lg,.rdc-btn,.btn.rdc-btn{padding:5px 16px!important;font-size:.9rem!important;min-height:0!important;height:auto!important;border-radius:999px}
.sch-form .btn,.sch-azioni .btn,.sch-top .btn,main .sch-top .btn,main .sch-azioni .btn{height:auto!important;font-size:.9rem!important}
.sch-form .form-control{min-height:34px!important;font-size:.95rem!important}
.rdc-card .rdc-btn{padding:4px 14px!important;font-size:.85rem!important}
.btn-stato .btn,.btn-stato button{padding-top:4px!important;padding-bottom:4px!important}

/* taglia normale dei pulsanti «grandi»: né enormi né schiacciati (stessa altezza dei pulsanti principali degli altri moduli) */
.btn-lg,.btn.btn-lg,.rdc-btn,.btn.rdc-btn,.rdc-card .rdc-btn{padding:8px 20px!important;font-size:.95rem!important;line-height:1.25!important;min-height:36px!important}
.sch-form .btn,.sch-azioni .btn,.sch-top .btn,main .sch-top .btn,main .sch-azioni .btn{padding-top:7px!important;padding-bottom:7px!important;min-height:36px!important}
.rdc-card{padding:10px 16px!important}

/* MISURA UNICA dei pulsanti (quella di «Aggiungi documento», «Passa alla fase», «Modifica dati»): 34 px di altezza, testo 13,44 px */
.btn-lg,.btn.btn-lg,.rdc-btn,.btn.rdc-btn,.rdc-card .rdc-btn,.sch-form .btn,.sch-azioni .btn,.sch-top .btn,main .sch-top .btn,main .sch-azioni .btn,.rdc-modale .rdc-az-alto .btn{height:34px!important;min-height:34px!important;padding:0 14.8px!important;font-size:13.44px!important;line-height:1.2!important;display:inline-flex;align-items:center;justify-content:center;gap:6px}

/* moduli più compatti: meno spazio tra i campi, campi su più colonne; «Nuova ristrutturazione» su due righe di campi */
main form .row.g-3{--bs-gutter-y:.55rem;--bs-gutter-x:.9rem}
main form .form-label{margin-bottom:2px;font-size:.8rem}
main form textarea.form-control{min-height:0}
@media(min-width:992px){
  main form .row.g-3:has(#pdv_id){display:grid;grid-template-columns:repeat(12,minmax(0,1fr));--bs-gutter-x:0;margin:0}
  main form .row.g-3:has(#pdv_id)>*{width:auto;max-width:none;margin:0;padding:0;grid-column:span 12}
  main form .row.g-3:has(#pdv_id)>*:has(#pdv_id){grid-column:span 5}
  main form .row.g-3:has(#pdv_id)>*:has(#titolo){grid-column:span 7}
  main form .row.g-3:has(#pdv_id)>*:has(#motivazione){grid-column:span 7}
  main form .row.g-3:has(#pdv_id)>*:has(#vincoli){grid-column:span 5}
  main form .row.g-3:has(#pdv_id)>*:has(#tipologia){grid-column:span 3}
  main form .row.g-3:has(#pdv_id)>*:has(#priorita){grid-column:span 2}
  main form .row.g-3:has(#pdv_id)>*:has(#periodo_dal),main form .row.g-3:has(#pdv_id)>*:has(#periodo_al){grid-column:span 2}
  main form .row.g-3:has(#pdv_id)>*:has(#responsabile){grid-column:span 3}
  main form .row.g-3:has(#pdv_id)>*:has([name=visibile_pdv]),main form .row.g-3:has(#pdv_id)>*:has([name=esempio]){grid-column:span 6}
  main form .row.g-3:has(#pdv_id) textarea{height:74px}
  main form .row.g-3:has(#pdv_id){gap:.55rem .9rem}
}
@media(min-width:992px){
  main form .row.g-3:has(#pdv_id)>*:has(#pdv_id){order:1}
  main form .row.g-3:has(#pdv_id)>*:has(#titolo){order:2}
  main form .row.g-3:has(#pdv_id)>*:has(#motivazione){order:3}
  main form .row.g-3:has(#pdv_id)>*:has(#vincoli){order:4}
  main form .row.g-3:has(#pdv_id)>*:has(#tipologia){order:5}
  main form .row.g-3:has(#pdv_id)>*:has(#priorita){order:6}
  main form .row.g-3:has(#pdv_id)>*:has(#periodo_dal){order:7}
  main form .row.g-3:has(#pdv_id)>*:has(#periodo_al){order:8}
  main form .row.g-3:has(#pdv_id)>*:has(#responsabile){order:9}
  main form .row.g-3:has(#pdv_id)>*:has([name=visibile_pdv]){order:10}
  main form .row.g-3:has(#pdv_id)>*:has([name=esempio]){order:11}
  main form .row.g-3:has(#pdv_id) .form-control,main form .row.g-3:has(#pdv_id) .form-select{max-width:none;width:100%}
}

/* nome dell'azienda utilizzatrice sotto il logo del gestore (menu laterale) */
.sidebar .nome-azienda{flex:none;text-align:center;font-weight:700;letter-spacing:.03em;color:#dbe6f3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* le etichette dei campi non vanno mai a capo (si accorciano con i puntini se manca lo spazio) */
main .form-label,main label.form-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

/* logo dell'azienda e nome nel menu: compatti */
.sidebar .logo-gestore{width:124px!important;height:40px!important;margin:6px auto 2px!important;padding:0 4px!important}
.sidebar .nome-azienda{font-size:.74rem;padding:0 10px 4px;line-height:1.1}
.sidebar .logo-blocco ~ .menu-modulo{padding-top:5px!important;padding-bottom:5px!important}

/* menu laterale: stessa larghezza in tutti i moduli (quella del più largo, Help Desk) */
@media(min-width:992px){.sidebar:not(.menu-largo):not(.menu-chiuso),.sidebar.offcanvas-lg:not(.menu-largo):not(.menu-chiuso){width:246px;min-width:246px;max-width:246px;flex:0 0 246px}
  .sidebar.menu-largo,.sidebar.menu-largo.offcanvas-lg{flex:0 0 auto}      /* trascinando il bordo si allarga e si stringe; il tondino lo chiude e lo riapre */
  .sidebar.menu-chiuso,.sidebar.menu-chiuso.offcanvas-lg{flex:0 0 0;width:0!important;min-width:0!important;max-width:0!important}}

/* contatori URGENTI del menu laterale: solo numero rosso, con un lampeggio leggero */
@keyframes cnt-lampeggio-lieve{0%,100%{opacity:1}50%{opacity:.45}}
html .sidebar .nav-cnt.c-rosso,html .sidebar .nav-link.active .nav-cnt.c-rosso{animation:cnt-lampeggio-lieve 1.6s ease-in-out infinite!important}
@media (prefers-reduced-motion:reduce){html .sidebar .nav-cnt.c-rosso{animation:none!important}}

/* ==== STILE UNICO DEI TASTI: come le targhe della Home di Gestione tecnica (pillola chiara, bordo sottile, luce in alto e ombra leggera sotto). Il colore indica solo il tipo di azione (bordo, tinta leggera e icona) ==== */
html body :where(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn{--tc:#475569}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):not(.btn-esci):not(.btn-menu):not(.btn-sistema){
  background:color-mix(in srgb,var(--tc) 7%,#fff)!important;background-image:none!important;
  border:1px solid color-mix(in srgb,var(--tc) 78%,#fff)!important;color:#1f2a40!important;font-weight:600;text-shadow:none!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.7),inset 0 -3px 0 rgba(0,0,0,.12),0 3px 5px rgba(11,22,32,.22)!important;
  transition:transform .12s,box-shadow .12s,filter .12s,background-color .12s}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):not(.btn-esci):not(.btn-menu):not(.btn-sistema)::before{display:none!important}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-primary,html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-outline-primary{--tc:#1d4ed8}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-success,html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-outline-success{--tc:#15803d}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-danger,html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-outline-danger{--tc:#c81e2b}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-warning,html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-outline-warning{--tc:#b45309}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-info,html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-outline-info{--tc:#0284c7}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-filtra{--tc:#7c3aed}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn[class*="fn-"]{--tc:var(--fc,#475569)}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.fn-salva{--tc:#d97706;background:color-mix(in srgb,var(--tc) 20%,#fff)!important}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn i,html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn .bi{color:var(--tc)}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn:not(:disabled):not(.disabled):hover,html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn:not(:disabled):not(.disabled):focus{
  background:color-mix(in srgb,var(--tc) 16%,#fff)!important;color:#111827!important;filter:none!important;transform:translateY(-1px);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.7),inset 0 -3px 0 rgba(0,0,0,.12),0 4px 7px rgba(11,22,32,.26)!important}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn:not(:disabled):not(.disabled):active{transform:translateY(1px);box-shadow:inset 0 2px 4px rgba(0,0,0,.25)!important}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn:disabled,html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.disabled{opacity:.55;filter:none;box-shadow:none!important;transform:none}
html body main .targa-file{padding-left:8px}
html body main .targa-file .btn{padding-left:10px!important;padding-right:10px!important}
/* schede e interruttori: stessa pillola chiara; quella attiva ha tinta azzurra e bordo marcato (niente più fondi pieni scuri) */
html body main :is(.com-tab,.anag-tipo,.nav-tabs.tab-forti .nav-link):not(.on):not(.active){background:#fff!important;background-image:none!important;border:1px solid #b9c3d6!important;color:#1f2a40!important;text-shadow:none!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.7),inset 0 -3px 0 rgba(0,0,0,.12),0 3px 5px rgba(11,22,32,.22)!important}
html body main :is(.com-tab.on,.anag-tipo.on,.ctl-compatta .anag-tipo.on,.ctl-testata .anag-tipo.on,.nav-tabs.tab-forti .nav-link.active){background:#dbe7ff!important;background-image:none!important;border:1px solid #1d4ed8!important;color:#0b1f55!important;font-weight:700;text-shadow:none!important;box-shadow:0 0 0 1px #1d4ed8,inset 0 2px 0 rgba(255,255,255,.7),inset 0 -3px 0 rgba(29,78,216,.18),0 3px 5px rgba(11,22,32,.22)!important}
html body main :is(.com-tab.on,.anag-tipo.on) :is(b,span,small,.badge){color:#0b1f55!important}
html body main :is(.com-tab.on,.anag-tipo.on) i{color:#1d4ed8!important}
html body main :is(.com-tab,.anag-tipo)::before{display:none!important}
html body main :is(.imp-vista,.com-vista) button.on{background:#dbe7ff!important;color:#0b1f55!important;box-shadow:none!important}
html body main :is(.imp-vista,.com-vista) button.on i{color:#1d4ed8}
/* tasti-icona della colonna Azioni: colori tenui per funzione (apri blu, modifica arancio, duplica verde acqua, elimina rosso, entra come rosso scuro) */
html body :is(main,.modal,.barra-pagina-pubblica) .btn.btn-ic.fn-apri,html body :is(main,.modal,.barra-pagina-pubblica) .btn.btn-ic.btn-outline-primary{--tc:#0284c7}
html body :is(main,.modal,.barra-pagina-pubblica) .btn.btn-ic.az-modifica,html body :is(main,.modal,.barra-pagina-pubblica) .btn.btn-ic.fn-modifica{--tc:#b45309}
html body :is(main,.modal,.barra-pagina-pubblica) .btn.btn-ic.az-duplica{--tc:#0f766e}
html body :is(main,.modal,.barra-pagina-pubblica) .btn.btn-ic.az-entra{--tc:#1d4ed8}
html body :is(main,.modal,.barra-pagina-pubblica) .btn.btn-ic.btn-outline-danger,html body :is(main,.modal,.barra-pagina-pubblica) .btn.btn-ic.fn-elimina{--tc:#c81e2b}
html body :is(main,.modal,.barra-pagina-pubblica) .btn.btn-ic.btn-outline-success,html body :is(main,.modal,.barra-pagina-pubblica) .btn.btn-ic.fn-completa{--tc:#15803d}
html body :is(main,.modal,.barra-pagina-pubblica) .btn.btn-ic{background:color-mix(in srgb,var(--tc) 11%,#fff)!important;border-color:var(--tc)!important}

/* barra in alto: niente sovrapposizioni tra i tasti dei moduli e la ricerca, e a schermo stretto tutto resta raggiungibile («Esci» compreso) */
@media(min-width:992px){html body .marchio-barra{padding-left:20px!important;padding-right:18px!important;gap:12px}}
@media(max-width:991px){
  html body .marchio-destra{gap:6px}
  html body .marchio-barra .cerca-campo{max-width:150px}
  html body .marchio-barra .barra-targa .utente{display:none!important}
}
@media(max-width:820px){
  html body .marchio-barra{gap:6px}
  html body .marchio-barra .marchio-sotto{display:none}
  html body .marchio-barra .marchio-data{display:none}
  html body .marchio-destra{gap:4px}
  html body .marchio-barra .collegati-box .collegati-testo,html body .marchio-barra .collegati-box .bi-chevron-down{display:none}
}
@media(max-width:820px){html body .marchio-destra .guida-btn,html body .marchio-destra .cerca-lente,html body .marchio-destra .campana-box>button,html body .marchio-destra .tavolozza-box>button{width:32px!important;height:32px!important;min-width:32px!important;padding:0!important}}
@media(max-width:520px){html body .marchio-barra .marchio-nome{display:none}html body .marchio-barra .marchio-riga{display:none}}
/* «Usa TECARO come app»: il nome con i colori del marchio (TECA bianco, RO verde) e l'icona piccola a fianco */
.sidebar .menu-sistema .app-nome{display:inline-flex;align-items:center;gap:4px;font-style:italic;font-weight:800;color:#fff;letter-spacing:.01em;vertical-align:middle}
.sidebar .menu-sistema .app-nome-ico{height:16px;width:auto;flex:none}
.sidebar .menu-sistema .app-nome .nome-verde{background:linear-gradient(180deg,#a3ec3f,#3fae12);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-style:italic}
/* Utenti: quattro posti fissi per i tasti della colonna Azioni (così le righe senza alcuni tasti restano allineate) e titolo a sinistra */
html body .az-griglia:has(form[data-elimina]),html body td .az-griglia{display:inline-grid;grid-template-columns:repeat(4,30px);gap:6px;justify-content:start}
html body .az-griglia .btn.btn-ic{width:30px;min-width:30px!important;height:30px}
html body th .az-tit{width:auto}
html body th:has(.az-tit){text-align:left!important}
html body th .az-tit{display:inline-block;text-align:left!important}
html body .az-griglia>span:empty{display:inline-block;flex:none;width:30px;height:30px}
/* tabelle larghe che scorrono con la pagina: intestazione in cima alla tabella e barra orizzontale copia sempre visibile in basso */
.ctl-scroll.ctl-orizz,.dpi-scroll.dpi-orizz{scrollbar-width:none}
.ctl-scroll.ctl-orizz::-webkit-scrollbar,.dpi-scroll.dpi-orizz::-webkit-scrollbar{display:none}
:root main.content .ctl-scroll.ctl-orizz .ctl-tab thead th,:root main.content .dpi-scroll.dpi-orizz .dpi-tab thead th{top:0!important}
.tc-hbar{position:sticky;bottom:var(--tc-pie,0px);z-index:40;overflow-x:auto;overflow-y:hidden;height:17px;background:#eef1f6;border:1px solid #cdd5e1;border-radius:0 0 8px 8px;display:none}
.tc-hbar>div{height:1px}

.tc-fh{border:0!important;background:#e6ebf4;border-radius:0}
:root main.content .tc-fh thead th{top:0!important;position:relative!important}

/* ZOOM PREDEFINITO 80%: le pagine si vedono come con lo zoom del browser all'80% (su computer; telefono e tablet restano com'erano).
   Per tornare alla misura normale: nel browser, console, localStorage.setItem('tecaro_zoom','100') e ricarica. */
:root{--zm:1}
@media (min-width:992px) and (pointer:fine){html:not([data-zoom="100"]){zoom:.9;--zm:.9}}
/* righe delle tabelle: al passaggio del mouse si evidenzia tutta la riga (colonna fissa compresa), senza cancellare i colori propri delle celle */
html body main.content table tbody tr:hover>td,html body main.content table tbody tr:hover>th,html body .modal table tbody tr:hover>td{background-image:linear-gradient(#fff3b8,#fff3b8)!important}
html body main.content table tbody tr:hover>td{cursor:inherit}
@media print{html body main.content table tbody tr:hover>td{background-image:none!important}}
/* stessa evidenziazione al passaggio del mouse per le righe che non sono tabelle: aree, elenchi della Home, elenchi a righe */
html body main.content .riga-area>summary:hover,html body main.content li[class^="pri-"]>a:hover,html body main.content .list-group-item-action:hover{background-image:linear-gradient(#fff3b8,#fff3b8)!important}
/* zoom 80%: le classi di Bootstrap in unità dello schermo vanno compensate come le altre */
html body .modal-fullscreen{width:calc(100vw / var(--zm,1))!important;max-width:none}
html body .vw-100{width:calc(100vw / var(--zm,1))!important}
html body .vh-100{height:calc(100vh / var(--zm,1))!important}
html body .min-vh-100{min-height:calc(100vh / var(--zm,1))!important}
/* senza logo caricato: riquadro tratteggiato con la scritta «Logo azienda utilizzatrice» al posto dell'immagine */
.sidebar .logo-gestore.logo-vuoto{border:1.5px dashed rgba(201,214,230,.55)!important;border-radius:8px!important;background:rgba(255,255,255,.05)!important;color:#c9d6e6;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-align:center;line-height:1.15;padding:4px 8px!important;width:calc(100% - 28px)!important;max-width:200px;height:40px!important;margin:8px auto 4px!important}
/* menu rapido: «Salva questa pagina nell'elenco» ben distinguibile dalle voci (azione, non destinazione) */
.mr-salva-pag{padding:4px 6px}
.mr-salva-pag .dropdown-item{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;font-weight:800;color:#1a1405!important;background:linear-gradient(135deg,#f0b429,#fb923c)!important;border:0;box-shadow:0 2px 8px rgba(240,180,41,.35)}
.mr-salva-pag .dropdown-item i{color:#1a1405!important;font-size:1.1rem;margin:0!important}
.mr-salva-pag .dropdown-item:hover{filter:brightness(1.08);transform:translateY(-1px)}
.mr-salva-pag input[value=togli_pagina]~button.dropdown-item,.mr-salva-pag:has(input[value=togli_pagina]) .dropdown-item{background:linear-gradient(135deg,#475569,#334155)!important;color:#fff!important;box-shadow:none}
.mr-salva-pag:has(input[value=togli_pagina]) .dropdown-item i{color:#fff!important}
.mr-salva-pag .dropdown-item i.bi{font-family:"bootstrap-icons"!important;display:inline-block!important;line-height:1;font-style:normal}
/* zoom 80%: lo sfondo scuro delle finestre deve coprire tutto lo schermo (100vw/100vh vanno compensati come il resto) */
html body .modal-backdrop{width:calc(100vw / var(--zm,1))!important;height:calc(100vh / var(--zm,1))!important}
html body .offcanvas-backdrop{width:calc(100vw / var(--zm,1))!important;height:calc(100vh / var(--zm,1))!important}
/* zoom 80%: il contenitore delle finestre copre tutto lo schermo, così «modal-dialog-centered» le centra davvero */
html body .modal{width:calc(100vw / var(--zm,1))!important;height:calc(100vh / var(--zm,1))!important}
html body .modal.show:has(.modal-dialog-centered:not(.modal-fullscreen)){display:flex!important;align-items:center;justify-content:center}
html body .modal.show .modal-dialog-centered:not(.modal-fullscreen){margin:0 auto;width:100%}

/* CASELLA «CERCA» CON UN FILTRO ATTIVO: se dentro c'è del testo (la ricerca sta restringendo l'elenco) si colora di rosso tenue con il bordo rosso ben visibile */
html .gruppo-cerca input.form-control:not(:placeholder-shown),html input[type=search].form-control:not(:placeholder-shown):not(.cerca-barra){
  border:2px solid #dc3545!important;background-color:#fff1f1!important;color:#7f1d1d;box-shadow:0 0 0 .18rem rgba(220,53,69,.18)!important}
html .gruppo-cerca input.form-control:not(:placeholder-shown):focus{box-shadow:0 0 0 .22rem rgba(220,53,69,.32)!important}

/* TABELLE COMPATTE (computer): righe più basse possibile, poco spazio sopra e sotto il testo, pulsanti-icona da 24 px. Su telefono le righe restano schede (regole a parte). */
@media(min-width:992px){
  html body table.table:not(.dpi-tab):not(.ctl-tab)>tbody>tr>td{padding-top:.1rem;padding-bottom:.1rem;padding-left:.45rem;padding-right:.45rem;line-height:1.2;font-size:.86rem}
  html body table.table:not(.dpi-tab):not(.ctl-tab)>thead>tr>th{padding-top:.2rem;padding-bottom:.2rem;padding-left:.45rem;padding-right:.45rem}
  html body table.table .btn.btn-ic{width:24px;min-width:24px!important;height:24px;font-size:.78rem}
  html body table.table .btn.btn-ic .ico-lucchetto,html body table.table .btn.btn-ic .lk-card{transform:scale(.8)}
  html body table.table .azioni{gap:4px}
  html body table.table .badge,html body table.table .stato-t,html body table.table .chip-sem{line-height:1.1;font-size:.75rem}
  html body table.table select.form-select-sm,html body table.table .form-control-sm{height:24px;min-height:0;padding-top:0;padding-bottom:0;font-size:.8rem}
  html body table.table .btn:not(.btn-ic):not(.btn-link){height:24px;min-height:0;padding-top:0;padding-bottom:0;font-size:.78rem;line-height:1}
}

/* TARGA DI CARICAMENTO FILE: riquadro verde tratteggiato di dimensione media, uguale in tutte le finestre che caricano file (documenti, importazioni, foto, rapporti) */
.dz{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:124px;width:100%;padding:12px 16px;background:#e9f7ee;border:2px dashed #1e8e3e;border-radius:14px;text-align:center;transition:.15s;margin-bottom:.5rem}
.dz:hover,.dz.sopra{background:#d3f0dc;border-color:#14532d}.dz.scelto{border-style:solid;background:#f1fbf4}
.dz-r1{display:flex;align-items:center;gap:8px;pointer-events:none}.dz-ico{font-size:1.9rem;line-height:1;color:#1e8e3e}.dz-t{font-weight:800;color:#166534;font-size:1.05rem}
.dz-r2{display:flex;align-items:center;gap:10px;pointer-events:none}.dz-o{font-size:.82rem;color:#2f4f3a}
.dz-btn{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#1e8e3e;color:#fff;font-weight:700;padding:5px 20px;font-size:.9rem;box-shadow:0 2px 6px rgba(30,142,62,.35)}.dz:hover .dz-btn{background:#166534}
.dz-nome{font-size:.8rem;font-weight:600;color:#14532d;word-break:break-all;pointer-events:none;max-width:100%}
html body .dz>input.dz-input{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important;max-width:none!important;margin:0!important;padding:0!important;opacity:0;cursor:pointer;border:0!important}
.modal .dz{min-height:112px}
/* le importazioni dei dati: stessa targa, solo un po' più grande perché è l'azione principale della pagina */
.imp-carica .imp-drop{min-height:170px!important;padding:16px 20px;border-width:2px;border-radius:16px}
.imp-carica .imp-ico{font-size:2.4rem}.imp-carica .imp-drop-t{font-size:1.2rem}.imp-carica .imp-btn{padding:7px 26px;font-size:1rem}.imp-carica .imp-nome{font-size:.85rem}


/* ID di accesso e IP sotto il nome dell'utente, nella barra in alto */
.barra-targa .utente .ut-id{display:block;font-size:.68rem;color:#c8d3e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:330px}.barra-targa .utente .ut-id b{color:#e6edf6;font-weight:600}.barra-targa .utente .ut-id .ut-rosso{color:#ff8a8a}
.barra-targa .utente{max-width:340px!important}

/* Icona del Menu rapido: orologio con freccia di velocità (non ruota quando il menu è aperto) */
.btn-sistema .ico-rapido{display:block;flex:none;transition:transform .2s}.btn-sistema.btn-sistema-ico:hover .ico-rapido{transform:scale(1.1)}.btn-sistema.btn-sistema-ico.show .ico-rapido{transform:none;color:#f0b429}
.btn-sistema.btn-sistema-ico.show .ico-rapido{color:inherit}.btn-sistema .ico-rapido{filter:drop-shadow(0 0 3px rgba(255,255,255,.18))}

/* «Disattiva utente»: rosso pieno (stesse :not del stile unico per vincere sulla specificità) */
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .acc-voce .btn.btn-danger:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):not(.btn-esci):not(.btn-menu):not(.btn-sistema),html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .acc-voce .btn.btn-danger:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):not(.btn-esci):not(.btn-menu):not(.btn-sistema):not(:disabled):not(.disabled):hover,html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .acc-voce .btn.btn-danger:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):not(.btn-esci):not(.btn-menu):not(.btn-sistema):not(:disabled):not(.disabled):focus{background:#c81e2b!important;border-color:#c81e2b!important;color:#fff!important;font-weight:700}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .acc-voce .btn.btn-danger:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):not(.btn-esci):not(.btn-menu):not(.btn-sistema):not(:disabled):not(.disabled):hover{background:#a51822!important;border-color:#a51822!important}html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .acc-voce .btn.btn-danger i{color:#fff!important}

/* icona Google Maps accanto agli indirizzi */
.maps-ico{display:inline-flex;vertical-align:middle;margin-left:4px;line-height:1;border-radius:50%;padding:1px}.maps-ico:hover{background:#fde8e6;transform:none}.maps-ico svg{display:block}

/* Tasti «Apri un Ticket»: arancione pieno come quello della Home Help Desk */
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-ticket:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):not(.btn-esci):not(.btn-menu):not(.btn-sistema),html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-ticket:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):not(.btn-esci):not(.btn-menu):not(.btn-sistema):not(:disabled):not(.disabled):hover,html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-ticket:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):not(.btn-esci):not(.btn-menu):not(.btn-sistema):not(:disabled):not(.disabled):focus{background:linear-gradient(180deg,#fb8a2e,#ea6a0a)!important;border-color:#ea6a0a!important;color:#fff!important;font-weight:700;text-shadow:0 1px 0 rgba(0,0,0,.18)!important}
html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-ticket:not(.btn-close):not(.btn-link):not(.pw-eye):not(.accordion-button):not(.btn-esci):not(.btn-menu):not(.btn-sistema):not(:disabled):not(.disabled):hover{filter:brightness(1.06)!important}html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-ticket i,html body :is(main,.modal,.offcanvas,.barra-pagina-pubblica) .btn.btn-ticket .bi{color:#fff!important}

/* menu laterale: una sola riga di separazione prima di «Sistema» (prima c'erano la riga del separatore e quella del titolo del gruppo) */
.sidebar .nav-sep + .nav-gruppo{border-top:0!important;margin-top:0!important;padding-top:2px!important}
.sidebar #menuVoci>li{flex-shrink:0}

.legenda-btn{text-decoration:none}.legenda-btn:hover i{color:#fff!important}

/* TUTTI GLI ELENCHI: righe a colori alternati (una sì e una no). Si usa un velo sopra il colore della cella, così non cancella i colori propri (stati, gruppi, righe in rilievo);
   il passaggio del mouse (regola più forte, più sopra) continua a evidenziare la riga. Per escludere una tabella: classe «no-zebra». */
html body main.content table:not(.no-zebra) tbody tr:nth-child(even):not(:hover)>td,html body main.content table:not(.no-zebra) tbody tr:nth-child(even):not(:hover)>th,
html body .modal table:not(.no-zebra) tbody tr:nth-child(even):not(:hover)>td{background-image:linear-gradient(rgba(37,99,235,.085),rgba(37,99,235,.085))}
html body main.content .list-group-item:nth-child(even):not(:hover),html body main.content .riga-area:nth-child(even)>summary:not(:hover){background-image:linear-gradient(rgba(37,99,235,.085),rgba(37,99,235,.085))}
@media print{html body main.content table tbody tr:nth-child(even)>td{background-image:none!important}}

/* =====================================================================================================
   LEGGIBILITÀ E AIUTI (16/10/2026) · semplificazione
   Il carattere reale è il valore CSS × lo zoom di pagina (0,9 su computer). Soglie: testo corrente almeno 13,4 px CSS
   (= 12 px reali), contatori e badge almeno 14,5 px CSS (= 13 px reali) con numero bianco su fondo pieno.
   Testi secondari: grigio non più chiaro di #595959 su fondo bianco, non più scuro di #C8D3E0 su fondo scuro.
   ===================================================================================================== */
:root{--t-min:13.4px;--t-badge:14.5px}
/* --- testo corrente --- */
html body small,html body .small,html body .text-muted,html body .form-text,html body .badge,html body .stato-t,html body th,
html body .marchio-info,html body .marchio-kr,html body .marchio-ess,html body .marchio-tit,
html body .nome-azienda,html body .app-testo b,html body .app-testo small,html body .btn-app,
html body .barra-targa .utente .ut-id,html body .barra-targa .utente .ut-pdv,html body .marchio-destra .utente,html body .ut-id,html body .ut-n,
html body .bs-data,html body .bs-sg,html body .bs-utente,html body .bs-lbl,html body .bs-data b,html body .bs-sg b,
html body .piede-sub,html body .pr-prodotto,html body .titolo-sez,html body .nt-letto,html body .nt-suono-et,html body .nt-suono-msg,html body .cp-msg,
html body .fl-cod,html body .fl-st,html body .form-label,html body .cb-titolo,html body .stat-kpi small,html body .stat-ciambella small,html body .stat-colonne .col small,html body .stat-colonne .col b,
html body .seg-ult,html body .seg-ult-t,html body .seg-ult-dir,html body .seg-ult-nuova,html body .seg-ult-firma,
html body .com-tipo,html body .com-dir,html body .com-data,html body .com-ruolo,html body .com-chip,html body .com-chip b,
html body .passo,html body .passo i,html body .ec-titolo small,html body .elenco-collegati small,html body .elenco-notifiche small,
html body .cerca-tasto,html body .conta-riga,html body .cg-n,html body .riga-int-sub,html body .urg-opt small,html body .aiuto{font-size:max(var(--t-min),.875em)!important}

html body .stato-t,html body .badge,html body table.table .badge,html body table.table .stato-t{font-size:var(--t-min)!important;line-height:1.2}
html body th,html body table.table>thead>tr>th{font-size:var(--t-min)!important}
html body small small{font-size:1em!important}
html body .nav-gruppo,html body .sidebar .nav-gruppo{font-size:var(--t-min)!important;letter-spacing:.06em}
html body .sidebar .nav-link,html body .sidebar .nav-lab,html body .sidebar .nav-sub-toggle{font-size:14.4px!important}
html body .sidebar .nav-link .badge,html body .sidebar .nav-link em,html body .sidebar .nav-num{font-size:var(--t-badge)!important}
html body .mt-nome,html body .modulo-tasto{font-size:var(--t-min)!important}
html body .marchio-barra .marchio-r1 .marchio-data,html body .marchio-data{font-size:var(--t-min)!important;padding:2px 6px}
html body sup.ver-cerchio{font-size:var(--t-min)!important}
html body main.content .form-label{text-transform:none;letter-spacing:0}
/* grigi: più scuri su bianco, più chiari su fondi scuri */
html body .text-muted,html body .form-label,html body small.text-muted,html body .text-body-secondary,html body .text-secondary{color:#4b5563!important}
html body .sidebar .text-muted,html body .marchio-barra .text-muted,html body .barra-stato .text-muted,html body .guida-testa .text-muted{color:#c8d3e0!important}
/* --- badge e contatori: numero bianco su fondo pieno, almeno 13 px reali --- */
html body .modulo-tasto em,html body .campana em{
  font-size:var(--t-badge)!important;min-width:22px!important;height:22px!important;line-height:18px!important;padding:0 6px!important;top:-9px!important;right:-9px!important;color:#fff!important;background:#c01c2c!important;border-radius:11px}
html body .menu-sezioni a em{font-size:var(--t-badge)!important;color:#fff!important;background:#c01c2c!important;min-width:22px;height:22px;line-height:22px;padding:0 6px;border-radius:11px;font-style:normal;text-align:center}
html body .collegati b,html body .collegati #nCollegati{font-size:var(--t-badge)!important}
html body .chip-sem,html body .riga-contatori .chip-sem,html body .stat-chip,html body .conta-riga .chip{font-size:var(--t-badge)!important;height:32px!important;min-height:32px;padding:0 12px!important}
html body .chip-sem b,html body .riga-contatori .chip-sem b{font-size:var(--t-badge)!important}
html body .riga-contatori .cb-tot,html body .riga-contatori .cb-tot b,html body .riga-contatori .cb-bt,html body .cs-altre{font-size:var(--t-min)!important}
html body .cs-altre{height:32px;min-height:32px}
html body .riga-contatori,html body .chip-filtri{min-height:42px}
html body .riga-contatori.espandibile:not(.aperta){max-height:42px}
html body .chip-filtri a{min-height:32px;font-size:14px!important;padding:3px 12px}
html body .chip-filtri a i{font-size:.8rem}
/* --- bersagli da toccare: link dei codici (tabelle) con area verticale fino a 28 px, senza allargare le righe --- */
html body main.content table td>a:not(.btn):not(.dropdown-item){display:inline-block;padding:5px 0;margin:-5px 0}
@media(max-width:767px){
  html body .chip-sem,html body .riga-contatori .chip-sem,html body .stat-chip,html body .cs-altre{height:44px!important;min-height:44px}
  html body .chip-filtri a{min-height:44px;padding:3px 14px}
  html body .riga-contatori,html body .chip-filtri{min-height:52px}
  html body .riga-contatori.espandibile:not(.aperta){max-height:52px}
  html body main.content table td>a:not(.btn):not(.dropdown-item){padding:11px 0;margin:-11px 0}
}
/* --- focus sempre visibile (3 px) --- */
html body :focus-visible{outline:3px solid #0b5fd0!important;outline-offset:2px}
html body .sidebar :focus-visible,html body .marchio-barra :focus-visible,html body .barra-stato :focus-visible,html body .guida-testa :focus-visible,html body .modal-header :focus-visible{outline-color:#8cc4ff!important}
/* --- «Vai al contenuto»: primo elemento raggiungibile con Tab --- */
.salta-contenuto{position:fixed;left:8px;top:-80px;z-index:5000;background:#fff;color:#0b3d91;font-weight:700;font-size:15px;padding:10px 18px;border-radius:10px;border:3px solid #0b5fd0;box-shadow:0 6px 20px rgba(0,0,0,.4);text-decoration:none;transition:none!important;transform:none!important}
.salta-contenuto:focus{top:8px;outline:none}
@media print{.salta-contenuto{display:none!important}}
/* --- barra in alto: menu «Strumenti» e nomi scritti accanto alle icone --- */
.marchio-destra .strumenti-box{position:relative;display:inline-block}
html body .marchio-destra .strumenti-btn{height:36px;min-width:38px;padding:0 10px;border-radius:999px;border:1px solid rgba(201,214,230,.45);background:rgba(201,214,230,.1);color:#e8eef7;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:var(--t-min);font-weight:700;cursor:pointer;white-space:nowrap}
html body .marchio-destra .strumenti-btn:hover,html body .marchio-destra .strumenti-btn[aria-expanded="true"]{border-color:#6db3ff;background:rgba(109,179,255,.18);color:#fff}
html body .marchio-destra .strumenti-btn i{font-size:1.05rem;line-height:1}
html body .marchio-destra .strumenti-btn .st-freccia{font-size:.7rem}
.marchio-destra .strumenti-menu{min-width:250px;padding:6px;background:#13202f;border:2px solid #6db3ff;border-radius:12px;margin-top:8px!important;box-shadow:0 12px 28px rgba(0,0,0,.5)}
html body .marchio-destra .strumenti-menu .st-item{display:flex!important;align-items:center;justify-content:flex-start!important;gap:12px;width:100%!important;height:auto!important;min-height:42px;margin:0 0 2px!important;padding:6px 10px!important;border-radius:9px!important;border:0!important;background:transparent!important;color:#e8eef7!important;text-decoration:none;font-size:14.4px;font-weight:600;text-align:left}
html body .marchio-destra .strumenti-menu .st-item:hover,html body .marchio-destra .strumenti-menu .st-item:focus-visible{background:rgba(109,179,255,.2)!important;color:#fff!important}
html body .marchio-destra .strumenti-menu .st-item svg{width:24px;height:24px;flex:none}
html body .marchio-destra .strumenti-menu .st-item i{font-size:1.15rem;color:#e8eef7!important;flex:none}
html body .marchio-destra .strumenti-menu .st-voce{white-space:nowrap}
html body .marchio-destra .tavolozza-box:empty{display:none!important}
@media(min-width:1200px){
  html body .marchio-destra #guidaApri,html body .marchio-destra .campana{width:auto!important;min-width:38px;padding:0 12px 0 8px!important;gap:6px;font-size:var(--t-min);font-weight:700;white-space:nowrap}
  html body .marchio-destra #guidaApri{margin-right:0;color:#e8eef7}
  html body .marchio-destra #guidaApri::after{content:"Aiuto"}
  html body .marchio-destra .campana::after{content:"Avvisi"}
  html body .marchio-destra .campana{color:#f0b429}
  html body .marchio-destra .campana.ha-novita{color:#b3121f!important}
}
@media(max-width:1199px){html body .marchio-destra .strumenti-btn .st-testo,html body .marchio-destra .strumenti-btn .st-freccia{display:none}html body .marchio-destra .strumenti-btn{width:36px;padding:0}}
@media(max-width:820px){html body .marchio-destra .strumenti-btn{width:32px!important;height:32px!important;min-width:32px!important}}
/* --- Info «?» a due livelli --- */
.guida-fin h6{font-size:var(--t-min)!important;letter-spacing:.06em;color:#7a4d00}
.guida-fin .guida-serve{font-size:1.05rem}
.guida-fin .guida-passi li,.guida-fin p,.guida-fin dd,.guida-fin dt{font-size:max(var(--t-min),.95rem)}
.guida-fin .guida-campi small,.guida-fin .gc-req,.guida-fin .gc-fac{font-size:var(--t-min)!important}
.guida-fin .guida-att{font-size:max(var(--t-min),.9rem)}
.guida-compl-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;margin:.4rem 0 .8rem;padding:6px 14px;border-radius:999px;border:1.5px solid #0b5fd0;background:#eaf2ff;color:#0a3d91;font-weight:700;font-size:15px;cursor:pointer}
.guida-compl-btn:hover{background:#d7e7ff}
.guida-compl-btn i{transition:transform .15s}
.guida-compl-btn.aperta i{transform:rotate(180deg)}
.guida-compl{border-top:2px dashed #b9cdea;padding-top:.8rem}
.guida-compl[hidden]{display:none}
html body .barra-stato,html body .barra-stato *{font-size:max(var(--t-min),1em)!important}
html body .anag-badge,html body .sottotitolo-pagina,html body .targa-file-t,html body .com-a,html body .collegati span,html body .home-nastro a,html body .alveare-filtri button,html body .alveare-filtri button em,html body .piede-home,html body .piede-home a,html body .piede-home span,html body .piede-home i,html body .home-sottotitolo,html body .azione-principale,html body .allarme{font-size:max(var(--t-min),.875em)!important}
html body .alveare-filtri button em{font-size:var(--t-min)!important}
html body main.content{outline:none}
/* regole scritte dentro alcune pagine (es. Impostazioni): il minimo di leggibilità vale anche lì */
html body #impElenco.imp-lista .funzione-imp p{font-size:var(--t-min)!important}
html body #impElenco.imp-lista .funzione-imp h6{font-size:var(--t-min)!important;flex:0 0 290px;width:290px;letter-spacing:.03em!important}
html body main.content table td .badge,html body main.content table td .stato-t{white-space:nowrap}
/* altre scritte piccole trovate nelle pagine (Comitato, Legenda, Statistiche, Controlli, caricamento file) */
html body .az-tit,html body .com-n,html body .sg-sigla,html body .arg,html body code,html body kbd,html body .spiega-sez h6,html body .spiega-sez,html body .dz-o,html body .dz-nome,html body .ctl-pill,html body .ctl-et,html body .ctl-quante,html body .anag-tipo b,html body .statistiche em,html body .stat-card em,html body #stat em{font-size:max(var(--t-min),.875em)!important}
html body .btn:not(.btn-ic):not(.btn-close):not(.btn-lg):not(.pw-eye),html body table.table .btn:not(.btn-ic):not(.btn-link){font-size:max(var(--t-min),.84rem)!important}
html body .btn-esci,html body .marchio-destra .btn-esci{font-size:var(--t-min)!important}
/* telefono: i contatori (alti 44 px per il dito) stanno su UNA riga che scorre di lato, così la testata bloccata non mangia lo schermo */
@media(max-width:767px){
  html body .riga-contatori:not(.aperta),html body .chip-filtri{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px!important}
  html body .riga-contatori:not(.aperta)::-webkit-scrollbar,html body .chip-filtri::-webkit-scrollbar{display:none}
  html body .riga-contatori:not(.aperta)>*,html body .chip-filtri>*{flex:none}
  html body .riga-contatori.espandibile:not(.aperta){max-height:none}
  html body main.content:focus{outline:none}
}
/* contrasto: numeri dei contatori in scuro (il colore resta nel pallino), stati «ok» in verde più scuro */
html body .chip-sem b,html body .riga-contatori .chip-sem b{color:#172033!important}
html body .stato-t.st-success,html body .badge.st-success{color:#0b6b3a!important}

/* targhette di stato nelle tabelle (Controlli): niente margine negativo né riempimento extra dei link, altrimenti si sovrappongono tra le righe */
html body table .ctl-pill,html body .ctl-scroll .ctl-tab .ctl-pill{margin:0!important;padding-top:3px!important;padding-bottom:3px!important;line-height:1.2!important;display:inline-flex!important;align-items:center}
html body .ctl-scroll .ctl-tab tbody td{padding-top:3px!important;padding-bottom:3px!important;vertical-align:middle}

/* pallini di stato nelle tabelle: il simbolo (✓ ! ✕ …) sta esattamente al centro del cerchio, senza margini né riempimenti che lo spostano */
html body table .ctl-dot,html body .ctl-scroll .ctl-dot,html body .ctl-leg .ctl-dot{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;line-height:1!important;text-align:center}
html body .ctl-dot .bi,html body .ctl-dot i{display:block!important;line-height:1!important;margin:0!important;padding:0!important;width:auto;height:auto;text-align:center;vertical-align:middle}
html body .ctl-scroll .ctl-tab td:first-child,html body .ctl-scroll .ctl-tab th:first-child{text-align:left!important}

/* marchio «TECARO» in scatola scura (piede della Home, accesso): il cerchietto della versione sta DENTRO la scatola, allineato in alto a destra del nome, senza uscire dal bordo né toccare altri testi */
html body .nome-marchio.nm-scatola{display:inline-flex!important;align-items:center;gap:.4em;padding:3px 12px 3px 10px!important;line-height:1.2;vertical-align:middle}
html body .nome-marchio.nm-scatola .ver-cerchio{position:static!important;top:auto!important;align-self:flex-start;margin:0 0 0 .1em!important;font-size:.5em!important;min-width:1.9em;height:1.9em;transform:translateY(-.15em)}

/* TARGHE DI CARICAMENTO FILE COMPATTE (decisione dell'utente: «non voglio sezioni import così enormi»): una sola riga bassa con icona, «Trascina qui i file», «oppure», tasto «Scegli i file» e nome del file scelto; vale per tutte le finestre e pagine che caricano file (documenti, foto, rapporti, importazioni) */
html body .dz,html body .modal .dz{flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 14px!important;min-height:96px!important;padding:14px 18px!important;border-radius:12px;margin-bottom:.4rem}
html body .dz .dz-r1,html body .dz .dz-r2{display:inline-flex;align-items:center;gap:8px}
html body .dz .dz-ico{font-size:1.4rem}
html body .dz .dz-t{font-size:.95rem}
html body .dz .dz-btn{padding:3px 14px!important;font-size:.88rem}
html body .dz .dz-nome{flex:0 1 auto;font-size:.85rem}
html body .imp-carica .imp-drop{min-height:128px!important;padding:16px 20px!important;flex-direction:row!important;flex-wrap:wrap;gap:6px 14px!important;border-radius:10px}
html body .imp-carica .imp-ico{font-size:1.5rem!important}.imp-carica .imp-drop-t{font-size:.98rem!important}.imp-carica .imp-btn{padding:3px 16px!important;font-size:.9rem!important}

/* pulsante del modulo «Help Desk» in alto: stesso arancione pieno del tasto «Segnala un guasto» (il modulo aperto ha in più un anello bianco) */
html body .menu-sezioni a.sez-hd{background:linear-gradient(180deg,#fb8a2e,#ea6a0a)!important;border-color:#ea6a0a!important;color:#fff!important;text-shadow:0 1px 0 rgba(0,0,0,.18)}
html body .menu-sezioni a.sez-hd:hover{filter:brightness(1.07);color:#fff!important}
html body .menu-sezioni a.sez-hd.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #ea6a0a}
html body .menu-sezioni a.sez-hd i,html body .menu-sezioni a.sez-hd .bi{color:#fff!important}

/* contatori dentro le linguette (es. «Richieste alle imprese 1»): pallino piccolo, mai una barra lunga */
html body .nav-tabs .nav-link .badge,html body .nav-link .badge.rounded-pill,html body .rist-tab .badge{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-width:22px;height:22px;padding:0 7px!important;margin-left:6px;flex:none;font-size:13.4px;line-height:1}

/* targhette «Tipo» (Luogo, Persona, Fornitore, Cespite, Bene…): tutte della stessa larghezza, decide la parola più lunga */
html body td>.anag-badge[class*="tp-"]{display:flex!important;width:100%;justify-content:center;white-space:nowrap;box-sizing:border-box}
html body td>.anag-badge[class*="tp-"]{padding:1px 6px!important;gap:3px!important;font-size:13.4px!important;line-height:1.35!important;width:100%;min-width:0}
html body td:has(>.anag-badge[class*="tp-"]){width:1%;white-space:nowrap}


/* «In costruzione» accanto a una voce del menu laterale: giallo */
.nav-cost{color:#ffd400!important;font-weight:700}

/* titolo della prima pagina di un modulo (Ristrutturazioni): come gli altri moduli, grande, spaziato, a colori e con l'ombra */
html body .barra-pagina h3.mod-tit{display:block!important;border:0!important;border-radius:0!important;background:none!important;padding:0!important;font-size:clamp(1.15rem,1.7vw,1.55rem)!important;font-weight:900;letter-spacing:.14em;text-transform:uppercase;line-height:1;text-shadow:1px 1px 0 rgba(255,255,255,.7),2px 3px 4px rgba(11,22,32,.22)!important}
html body .barra-pagina h3.mod-tit i{font-size:.9em;margin-right:6px;filter:drop-shadow(rgba(11,22,32,.25) 1px 2px 2px)}
body:has(.sidebar.sez-rist) .barra-pagina h3.mod-tit,body:has(.sidebar.sez-rist) .barra-pagina h3.mod-tit i{color:#be185d!important;-webkit-text-fill-color:#be185d}
/* i titoli dei 4 moduli (Help Desk, Gestione tecnica, Ristrutturazioni, Controlli) stanno nello stesso punto della pagina */
html body .barra-pagina h3.mod-tit{margin-left:-8px;position:relative;top:-2px}
body:has(.sidebar.sez-ctl) .barra-pagina:not(:has(.btn-indietro)){padding-top:7px!important}
body:has(.sidebar.sez-ctl) .barra-pagina:not(:has(.btn-indietro)) h3:not(.rist-tit){margin-left:-8px}
body:has(.sidebar.sez-ctl) .barra-pagina:not(:has(.btn-indietro)) h3:not(.rist-tit){margin-left:-8px!important}
/* menu chiuso: il tondino «apri menu» sta a sinistra (da 6 a 32 px): in TUTTE le pagine il primo elemento della testata parte a 52 px dal bordo (Home, barre del titolo, barre dei moduli) */
@media(min-width:992px){
  html.menu-chiuso-g main.content .home-fissa{padding-left:52px!important}
  html.menu-chiuso-g .area-fissa{padding-left:68px!important}
  html.menu-chiuso-g .barra-pagina h3,html.menu-chiuso-g .barra-pagina h3.mod-tit{margin-left:0!important}
}
@media(min-width:992px){html.menu-chiuso-g body:has(.sidebar.sez-ctl) .barra-pagina:not(:has(.btn-indietro)) h3:not(.rist-tit){margin-left:0!important}}
/* «1» accanto al marchio nella barra in alto: più piccolo e un po' più in basso */
html body .marchio-nome .ver-cerchio{font-size:10px!important;min-width:16px!important;height:16px!important;padding:0!important;line-height:1!important;margin-left:3px!important;top:.02em!important;border-width:1px!important}
/* targhe del tipo di azione nel registro delle firme: una sola riga, tutte della stessa misura (comanda l'etichetta più lunga) */
html body .sto-testa .badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:15.5rem;max-width:100%;height:24px;padding:0 10px;border-radius:999px;font-size:.8rem;font-weight:700;line-height:1;white-space:nowrap;vertical-align:middle}
/* riga sotto il mouse: giallo tenue con un segno ambra a sinistra (il blu delle righe alternate non si confonde più con l'evidenziazione) */
html body main.content table tbody tr:hover>td:first-child,html body .modal table tbody tr:hover>td:first-child{box-shadow:inset 3px 0 0 #d97706}

/* ZONE VERDI DI CARICAMENTO FILE: una sola misura per tutto il gestionale (420 x 104 px), tre righe centrate, centrate nella card */
html body .dz,html body .azd-dz,html body .imp-drop,html body .imp-carica .imp-drop,html body .car-drop{box-sizing:border-box;position:relative;display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;gap:3px;width:100%!important;max-width:420px!important;height:104px!important;min-height:104px!important;overflow:hidden;margin:0 0 .5rem 0!important;padding:6px 16px!important;background:#e9f7ee!important;border:2px dashed #1e8e3e!important;border-radius:14px!important;text-align:center;font-size:1rem}
html body .dz:hover,html body .dz.sopra,html body .azd-dz:hover,html body .azd-dz.sopra,html body .imp-drop:hover,html body .imp-drop.sopra,html body .car-drop:hover{background:#d3f0dc!important;border-color:#14532d!important}
html body .dz.scelto,html body .azd-dz.scelto,html body .imp-drop.scelto,html body .car-drop.ok{border-style:solid!important;background:#f1fbf4!important}
html body .car-drop.su{background:rgba(37,99,235,.1)!important;border-color:#2563eb!important}
/* le due righe interne (icona e titolo; «oppure» e tasto) e il nome del file, uguali in tutte le zone */
html body .azd-dz-r1,html body .azd-dz-r2,html body .imp-r1,html body .imp-r2,html body .car-r1,html body .car-r2{display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:none}
html body .azd-dz-ico,html body .imp-carica .imp-ico,html body .car-drop i{font-size:1.9rem!important;line-height:1;color:#1e8e3e}
html body .azd-dz-t,html body .imp-carica .imp-drop-t,html body .car-r1 b{position:static!important;font-weight:800;color:#166534;font-size:1.05rem!important}
html body .azd-dz-o,html body .imp-carica .imp-drop-o,html body .car-r2 .car-o{font-size:.82rem!important;color:#2f4f3a}
html body .azd-dz-btn,html body .imp-carica .imp-btn,html body .car-btn{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#1e8e3e;color:#fff;font-weight:700;padding:5px 20px!important;font-size:.9rem!important;box-shadow:0 2px 6px rgba(30,142,62,.35)}
html body .azd-dz-nome,html body .imp-carica .imp-nome,html body .car-nome{font-size:.8rem!important;font-weight:600;color:#14532d;word-break:break-all;pointer-events:none;margin:0!important;max-width:100%}
html body .car-drop .car-in{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
html body .imp-carica .imp-pronto,html body .imp-pronto{max-width:420px;margin:.5rem auto 0}
html body .dz *,html body .azd-dz *,html body .imp-drop *,html body .car-drop *{line-height:1.15}
html body .azd-dz-ico,html body .imp-carica .imp-ico,html body .car-drop i,html body .dz-ico{font-size:1.7rem!important;line-height:1!important}
/* elenco dei ticket: la tabella sta sempre nella larghezza della pagina (i tasti a destra si vedono): menu di ditta e tecnico più stretti, «Tempi» può andare a capo */
html body main.content .tab-lista td .form-select{min-width:118px!important;width:100%!important;max-width:150px!important}
html body main.content .tab-lista td:has(.fa-clock,.tempi,.badge-tempo){min-width:0}
html body main.content .tab-lista td{white-space:normal}

/* ---- correzioni dalla revisione grafica (16/10/2026) ---- */
/* niente spazio vuoto in fondo alle pagine: il menu in basso è già compensato dal riempimento del corpo pagina */
html body main.content{padding-bottom:20px!important}
/* gruppo FILE (Esporta · Importa · Modello): stessa altezza degli altri tasti (34 px) */
html body .targa-file .btn,html body .targa-file a.btn{height:34px!important;min-height:34px!important}
/* Controlli, sotto-pagine: «Torna indietro» e titolo sulla stessa riga, testata con lo stesso riempimento in alto delle altre */
body:has(.sidebar.sez-ctl) .barra-pagina{padding-top:7px!important}
body:has(.sidebar.sez-ctl) .barra-pagina .d-flex:has(>.btn-indietro) h3:not(.rist-tit){flex:0 1 auto!important;margin-left:0!important}
/* targhe «Utente» e «Comitato» della stessa misura */
html body .b-utente,html body .b-comitato{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:78px;height:22px;padding:0 8px}
/* casella di ricerca più larga: il testo non si taglia */
html body .barra-pagina .riga-cerca .imp-cerca-campo,html body .barra-pagina .riga-cerca .gruppo-cerca{min-width:440px}
/* testi piccoli: mai sotto 12 px reali */
html body :is(.nrep,.com-conta-nuove,.com-nuovo-b,.l-apri,.stato-sotto,.conta-filtri,.cp-ver,.cp-st,.cp-att,.ctl-dot){font-size:13.4px!important}
html body .cp-tp{font-size:.8rem;height:20px}
body:has(.sidebar.sez-ctl) .barra-pagina .riga-titolo{flex-wrap:wrap}
body:has(.sidebar.sez-ctl) .barra-pagina .riga-titolo>.d-flex:has(>.btn-indietro){flex:0 0 auto!important;flex-wrap:nowrap!important}

/* CASELLE DA COMPILARE in rilievo (effetto incavato): testo, numero, data, ricerca, area di testo, menu a tendina. Non tocca caselle di spunta, pallini, file, intervalli. */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]):not([type=color]):not([type=submit]):not([type=button]),textarea,select).form-control,
html body :is(textarea,select).form-select,html body select.form-select,html body input.form-select,html body textarea.form-control{
  background-color:#fbfcfe;border:1px solid #9fb0c8;border-top-color:#8497b3;border-radius:10px;
  box-shadow:inset 0 2px 4px rgba(15,35,70,.16),inset 0 -1px 0 rgba(255,255,255,.9),0 1px 0 rgba(255,255,255,.95)}
html body :is(input,textarea,select).form-control:hover,html body select.form-select:hover{border-color:#6f86a8}
html body :is(input,textarea,select).form-control:focus,html body select.form-select:focus{background-color:#fff;border-color:#2563eb;box-shadow:inset 0 2px 4px rgba(15,35,70,.14),0 0 0 .2rem rgba(37,99,235,.22)}
html body :is(input,textarea,select).form-control:disabled,html body select.form-select:disabled,html body :is(input,textarea).form-control[readonly]{background-color:#eef1f6;box-shadow:inset 0 1px 2px rgba(15,35,70,.1)}
/* caselle da compilare: azzurro chiarissimo e scavate (ombra interna più marcata in alto e a sinistra, luce sul bordo basso) */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]):not([type=color]):not([type=submit]):not([type=button]),textarea,select).form-control,
html body :is(textarea,select).form-select,html body select.form-select,html body input.form-select,html body textarea.form-control{
  background-color:#eaf3fd;background-image:linear-gradient(180deg,rgba(15,35,70,.07) 0,rgba(15,35,70,0) 45%);border:1px solid #8fa6c6;border-top-color:#6f87ab;border-left-color:#7a92b4;border-bottom-color:#c4d3e8;
  box-shadow:inset 0 3px 6px rgba(15,35,70,.28),inset 2px 0 4px rgba(15,35,70,.12),0 1px 0 #fff}
html body :is(input,textarea,select).form-control:focus,html body select.form-select:focus{background-color:#f4f9ff;box-shadow:inset 0 3px 6px rgba(15,35,70,.24),0 0 0 .2rem rgba(37,99,235,.22)}
html body :is(input,textarea,select).form-control:disabled,html body select.form-select:disabled,html body :is(input,textarea).form-control[readonly]{background-color:#e4e9f0;background-image:none;box-shadow:inset 0 1px 3px rgba(15,35,70,.14)}
/* colore delle caselle da compilare: azzurro #E8FCFE */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]):not([type=color]):not([type=submit]):not([type=button]),textarea,select).form-control,
html body :is(textarea,select).form-select,html body select.form-select,html body input.form-select,html body textarea.form-control{background-color:#E8FCFE}
html body :is(input,textarea,select).form-control:focus,html body select.form-select:focus{background-color:#F3FEFF}
/* caselle da compilare: azzurro ancora più chiaro #F2FDFE (a riposo), #FAFFFF (in scrittura) */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]):not([type=color]):not([type=submit]):not([type=button]),textarea,select).form-control,
html body :is(textarea,select).form-select,html body select.form-select,html body input.form-select,html body textarea.form-control{background-color:#F2FDFE}
html body :is(input,textarea,select).form-control:focus,html body select.form-select:focus{background-color:#FAFFFF}
/* caselle da compilare: azzurro quasi bianco #F8FEFF (in scrittura bianco), ombra sfumata più leggera */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]):not([type=color]):not([type=submit]):not([type=button]),textarea,select).form-control,
html body :is(textarea,select).form-select,html body select.form-select,html body input.form-select,html body textarea.form-control{background-color:#F8FEFF;background-image:linear-gradient(180deg,rgba(15,35,70,.03) 0,rgba(15,35,70,0) 40%)}
html body :is(input,textarea,select).form-control:focus,html body select.form-select:focus{background-color:#FFFFFF}

/* ---- difetti della revisione grafica (seconda tranche) ---- */
/* M1: il titolo sta sempre subito dopo «Torna indietro», mai spinto a destra */
html body .barra-pagina .riga-titolo>.d-flex:first-child,html body .barra-pagina>.d-flex>.d-flex:first-child{flex:0 1 auto;margin-right:auto}
/* M3: «Torna indietro» di larghezza fissa, così il titolo parte sempre dallo stesso punto */
html body .btn-indietro{min-width:136px;justify-content:center}
/* M5: pillole di navigazione e tasti della stessa riga a 34 px */
html body .barra-pagina .btn,html body .barra-pagina .anag-tipo,html body .barra-pagina .nav-link{min-height:34px}
html body main.content .nav-tabs .nav-link{min-height:34px}
/* M6: targhe del tipo di persona e delle settimane di Controlli di misura unica */
html body .anag-badge[class*="b-"]{min-width:78px;justify-content:center}
html body .ctl-pill{min-width:158px;justify-content:center}
/* M7: ricerca e menu delle liste non tagliano il testo */
html body .barra-pagina .riga-cerca input[type=search],html body .barra-pagina .riga-cerca input[type=text]{min-width:0;text-overflow:ellipsis}
html body .tab-lista td .form-select{min-width:140px!important}
/* M9: finestre con la stessa intestazione */
html body .modal .modal-header:not(.conferma-testa):not(#_){background:#f4f6f9;border-bottom:1px solid #dbe1ea}
html body .modal :not(.guida-box) > .modal-header:not(.conferma-testa) .modal-title{color:#172033}
/* intestazioni colorate di proposito: «Conferma operazione» rossa, Info blu */
html body .modal .modal-header.conferma-testa:not(#_){background:linear-gradient(135deg,#c81e2b,#e5484d)!important;color:#fff;border:0}
html body .modal .guida-box .modal-header:not(#_){background:linear-gradient(135deg,#0b5fd0,#2f8cf0)!important;border:0}
/* M11: testi piccoli, mai sotto 12 px reali (13,4 px nel CSS con zoom 0,9) */
html body :is(.com-conta-nuove,.com-nuovo-b,.nrep,.stato-sotto,.conta-filtri,.sf-sez,.num,.nm,.ctl-dot,small,.small,.text-muted.small){font-size:max(1em,13.4px)}
html body .hex .cod,html body .alveare .hex span{font-size:13.4px}
/* A4: Home a schermi stretti: niente sovrapposizioni nelle barre e tabelle che non escono */
@media(max-width:1250px){
  html body .hp-blocco{min-width:0;overflow-x:auto}
  html body .hp-blocco .hp-barra,html body .hp-blocco .hp-bar{display:none}
  html body .hp-blocco .hp-tab{min-width:0;width:100%}
}
/* la riga dei contatori sotto la testata segue lo stesso riempimento del corpo pagina (16 px): non sborda a destra */
html body main.content>.riga-contatori:not(.utenti-fissi .riga-contatori){margin-left:-16px!important;margin-right:-16px!important;padding-left:16px!important;padding-right:16px!important}
/* testata a schermi stretti: il titolo resta a sinistra accanto a «Torna indietro»; i tasti vanno a capo dopo di lui, allineati a destra */
html body .barra-pagina .riga-titolo,html body .barra-pagina>.d-flex.justify-content-between{justify-content:flex-start!important}
html body .barra-pagina .riga-titolo>.titolo-blocco{margin-right:auto}
html body .barra-pagina .riga-titolo>:last-child:not(:first-child),html body .barra-pagina>.d-flex.justify-content-between>:last-child:not(:first-child){margin-left:auto}
/* TITOLO DELLE PAGINE: uno stile solo in tutto il gestionale (come la prima pagina dei moduli): grande, spaziato, maiuscolo, a colori, con l'ombra, senza targhetta */
html body main.content .barra-pagina h3:not(.rist-tit),html body main.content .area-fissa .barra-pagina h3:not(.rist-tit){display:inline-flex!important;align-items:center;gap:9px;flex-wrap:wrap;border:0!important;border-radius:0!important;background:none!important;padding:0!important;box-shadow:none!important;font-size:clamp(1.15rem,1.7vw,1.55rem)!important;font-weight:900!important;letter-spacing:.14em;text-transform:uppercase;line-height:1.1;text-shadow:1px 1px 0 rgba(255,255,255,.7),2px 3px 4px rgba(11,22,32,.22)!important;color:#1d4ed8;-webkit-text-fill-color:currentColor}
html body main.content .barra-pagina h3 i{font-size:.9em;margin:0;filter:drop-shadow(rgba(11,22,32,.25) 1px 2px 2px)}
html body main.content .barra-pagina h3 .stato-t,html body main.content .barra-pagina h3 small{font-size:.5em;letter-spacing:.04em;text-shadow:none}
body:has(.sidebar.sez-hd) main.content .barra-pagina h3:not(.rist-tit){color:#ea580c}
body:has(.sidebar.sez-tec) main.content .barra-pagina h3:not(.rist-tit){color:#2563eb}
body:has(.sidebar.sez-rist) main.content .barra-pagina h3:not(.rist-tit){color:#be185d}
body:has(.sidebar.sez-ctl) main.content .barra-pagina h3:not(.rist-tit){color:#0f766e}
html body main.content .barra-pagina>.d-flex>.d-flex:first-child{flex:1 1 auto!important;max-width:none!important}
body:has(.sidebar.sez-ctl) main.content .barra-pagina h3.dpi-h3{font-size:clamp(1.15rem,1.7vw,1.55rem)!important;letter-spacing:.14em!important;height:auto!important;line-height:1.1!important}
/* titolo di tutte le pagine nello stesso punto: stesso riempimento in alto, «Torna indietro» di larghezza e altezza fisse */
html body main.content .barra-pagina{padding-top:8px!important}
html body .btn-indietro{box-sizing:border-box;width:138px;min-width:138px;max-width:138px;height:34px;padding-left:0;padding-right:0}
html body main.content .barra-pagina .riga-titolo,html body main.content .barra-pagina>.d-flex{align-items:center}
html body main.content .barra-pagina .riga-titolo,html body main.content .barra-pagina>.d-flex{min-height:42px}
html body main.content .barra-pagina h3:not(.rist-tit){height:34px;margin:0!important}
html body main.content .barra-pagina .titolo-blocco{padding:0!important;margin-left:0!important}
body:has(.sidebar.sez-ctl) .barra-pagina .riga-titolo>.blocco-azioni{margin-left:auto!important}
/* IL CERCHIETTO «1» accanto a TECARO si disegna sempre allo stesso modo (come nella barra in alto): cerchio sottile, cifra al centro, poco più alto della riga, grande in proporzione al nome */
html body sup.ver-cerchio,html body .nome-marchio .ver-cerchio,html body .hm-nome .ver-cerchio,html body .nome-marchio.nm-scatola .ver-cerchio{
  display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;position:relative!important;top:-.5em!important;align-self:auto!important;transform:none!important;
  font-size:.42em!important;min-width:1.6em!important;width:1.6em;height:1.6em!important;padding:0!important;margin:0 0 0 .3em!important;line-height:1!important;border-width:1px!important;border-style:solid;border-radius:50%;font-weight:700;letter-spacing:0}
html body .marchio-nome .ver-cerchio{font-size:10px!important;min-width:16px!important;width:16px;height:16px!important;top:.02em!important;margin-left:3px!important}
/* pagina App: colonne invertite (testi a sinistra, logo e codice QR a destra) e tutto più compatto */
@media(min-width:701px){
  .app-installa{grid-template-columns:minmax(0,1fr) auto!important;column-gap:18px!important;row-gap:0!important;padding:14px 18px!important;margin:.5rem 0 .8rem!important}
  .app-cella-logo{grid-column:2!important;grid-row:1!important}
  .app-top{grid-column:1!important;grid-row:1!important}
  .app-cella-qr{grid-column:2!important;grid-row:2!important;margin-top:8px!important}
  .app-resto{grid-column:1!important;grid-row:2!important}
  .app-installa .app-icona-grande{width:84px;height:84px}
  .app-installa .app-qr{padding:12px!important;border-radius:14px}
  .app-installa h2{margin:0 0 4px}.app-installa p{margin:0 0 4px}
}
@media(min-width:701px){
  .app-cella-logo{grid-row:1/3!important;align-self:start!important}
  .app-cella-qr{grid-row:1/3!important;align-self:center!important;margin-top:0!important}
}
/* il titolo non va mai a capo né resta tagliato: altezza libera, riga unica (se manca spazio sono i tasti a spostarsi) */
html body main.content .barra-pagina h3:not(.rist-tit){height:auto!important;min-height:34px;flex-wrap:nowrap!important;white-space:nowrap;flex:0 0 auto}
@media(max-width:700px){html body main.content .barra-pagina h3:not(.rist-tit){white-space:normal;flex-wrap:wrap!important}}
html body main.content .barra-pagina .d-flex>h3:not(.rist-tit),html body main.content .barra-pagina h3:not(.rist-tit){white-space:nowrap!important;max-width:none!important}
@media(max-width:700px){html body main.content .barra-pagina h3:not(.rist-tit){white-space:normal!important}}

/* sola lettura: i campi bloccati lasciano passare il clic alla zona, che mostra l'avviso */
[data-sola-lettura] :disabled{pointer-events:none}
[data-sola-lettura] td.cella,[data-sola-lettura] .dz{cursor:not-allowed}

/* TITOLI DEI 4 MODULI: stessa identica posizione di «Ristrutturazioni» (misurata: icona a 294 px, testo a 110,7 px dall'alto, a 1920 px) */
@media(min-width:992px){
  body:has(.sidebar.sez-ctl) .barra-pagina:not(:has(.btn-indietro)) h3:not(.rist-tit){margin-left:24px!important;position:relative;top:6.7px}
  body:has(.sidebar.sez-ctl) .barra-pagina:not(:has(.btn-indietro)) h3:not(.rist-tit) i{margin-right:6px}
}
body:has(.sidebar.sez-ctl) .barra-pagina:not(:has(.btn-indietro)) h3:not(.rist-tit) i{margin-right:9px!important}
@media(min-width:992px){
  html.menu-chiuso-g body:has(.sidebar.sez-ctl) .barra-pagina:not(:has(.btn-indietro)) h3:not(.rist-tit){margin-left:16px!important}
}

/* tab della pagina Controlli (Settimane · Storico dei verbali · DPI per reparto): compatte, sotto la riga del titolo */
html body .nav-tabs.ctl-tabs{margin:8px 0 0;gap:4px}
html body .nav-tabs.ctl-tabs .nav-link{font-size:14px;padding:0 16px;height:34px;display:inline-flex;align-items:center;gap:6px;border-radius:10px 10px 0 0;margin-bottom:-1px}
html body .nav-tabs.ctl-tabs .nav-link i{margin:0}

/* TUTTE le caselle «Cerca» di pagina stanno all'estrema destra della loro riga */
html body main.content .riga-cerca>.gruppo-cerca,html body main.content .riga-cerca>.imp-cerca-campo,html body main.content .riga-cerca>input[type=search],html body main.content .filtri-riga>.gruppo-cerca,html body main.content form.riga-cerca>.gruppo-cerca,html body main.content .ar-barra>.gruppo-cerca{order:99;margin-left:auto!important}
html body main.content .ctl-riga>.riga-cerca,html body main.content .ar-barra .ar-cerca{margin-left:auto!important}
html body main.content .riga-cerca>.campo-x,html body main.content .ar-barra>.campo-x{order:99;margin-left:auto!important}
html body main.content .gruppo-cerca>.campo-x{flex:1 1 auto;width:100%;max-width:none!important}
html body main.content .gruppo-cerca .campo-x input{width:100%}
html body main.content .ar-barra>.campo-x{flex:0 0 280px;width:280px}
html body main.content .ar-barra>.campo-x input{width:100%;max-width:none}
html body main.content .gruppo-cerca .campo-x input.form-control,html body main.content .gruppo-cerca>input.form-control{width:100%!important;max-width:none!important}

/* TUTTE le caselle «Cerca» di pagina: una sola lunghezza (280 px) */
@media(min-width:992px){
  html body main.content .gruppo-cerca,html body main.content .imp-cerca-campo,html body main.content .riga-cerca>.campo-x,html body main.content .ar-barra>.campo-x,html body main.content .hp-cerca,html body .barra-pagina .riga-cerca .gruppo-cerca,html body .barra-pagina .riga-cerca .imp-cerca-campo,html body .barra-pagina .riga-cerca.ctl-alv-barra .gruppo-cerca,html body main.content .riga-unica>.gruppo-cerca{box-sizing:border-box;width:280px!important;min-width:280px!important;max-width:280px!important;flex:0 0 280px!important}
  html body main.content .ctl-riga>.riga-cerca{flex:0 0 280px!important;width:280px!important;max-width:280px!important}
  html body main.content .riga-cerca>input[type=search],html body main.content .riga-cerca>input.form-control{width:280px!important;max-width:280px!important;flex:0 0 280px!important}
  html body main.content :is(.gruppo-cerca,.imp-cerca-campo,.hp-cerca,.ar-barra,.riga-cerca) .campo-x{width:100%!important;max-width:none!important}
  html body main.content .ar-barra>.campo-x{flex:0 0 280px!important;width:280px!important}
}
@media(min-width:992px){html body main.content .hp-des .hp-cerca{flex:none!important}}
/* tab dei moduli: il colore è quello del modulo (Controlli verde acqua, Help Desk arancione, Gestione tecnica blu, Ristrutturazioni rosa), diverso da targhette e filtri */
body{--mt-fondo:#e3f4f1;--mt-bordo:#7cc7bb;--mt-testo:#0b5c54;--mt-hover:#cdeae5;--mt-forte:#0f766e;--mt-luce:#14b8a6}
body:has(.sidebar.sez-hd){--mt-fondo:#fdeadb;--mt-bordo:#f2a971;--mt-testo:#9a3d06;--mt-hover:#fbd9bd;--mt-forte:#c2410c;--mt-luce:#fb923c}
body:has(.sidebar.sez-tec){--mt-fondo:#e3ecfd;--mt-bordo:#8fb0f2;--mt-testo:#1e40af;--mt-hover:#cddcfa;--mt-forte:#1d4ed8;--mt-luce:#60a5fa}
body:has(.sidebar.sez-rist){--mt-fondo:#fbe4ef;--mt-bordo:#e79bbf;--mt-testo:#9d174d;--mt-hover:#f6cddf;--mt-forte:#be185d;--mt-luce:#f472b6}
html body main .nav-tabs.ctl-tabs .nav-link,html body main .com-nav .com-tab{background:var(--mt-fondo)!important;background-image:none!important;border:1px solid var(--mt-bordo)!important;border-bottom:0!important;color:var(--mt-testo)!important}
html body main .nav-tabs.ctl-tabs .nav-link:hover,html body main .com-nav .com-tab:hover{background:var(--mt-hover)!important}
html body main .nav-tabs.ctl-tabs .nav-link.active,html body main .com-nav .com-tab.on{background:var(--mt-forte)!important;border-color:var(--mt-forte)!important;color:#fff!important;font-weight:800;box-shadow:0 -2px 0 var(--mt-luce) inset!important}
html body main .nav-tabs.ctl-tabs .nav-link.active i,html body main .com-nav .com-tab.on i{color:#fff!important}
html body main .nav-tabs.ctl-tabs{border-bottom:1px solid var(--mt-forte)!important}
/* Ristrutturazioni: la barra a schede diventa una riga di tab, come negli altri moduli */
html body main .com-nav{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 0!important;padding:0!important;border-bottom:1px solid var(--mt-forte)}
html body main .com-nav .com-tab{height:34px;padding:0 16px!important;display:inline-flex;align-items:center;gap:6px;border-radius:10px 10px 0 0!important;margin-bottom:-1px;font-size:14px;box-shadow:none}
html body main .com-nav .com-tab i{margin:0}
html body main .nav-tabs.mod-tabs .nav-link .nav-cost{color:inherit!important}
@media(max-width:991px){html body main .nav-tabs.ctl-tabs,html body main .com-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}html body main .nav-tabs.ctl-tabs .nav-link,html body main .com-nav .com-tab{flex:none;white-space:nowrap}}

/* una linea sottile separa il titolo dalle tab */
html body main .nav-tabs.ctl-tabs,html body main .com-nav{border-top:1px solid #9fb0c8;padding-top:8px!important;margin-top:10px!important}
html body main.content nav.com-nav a.com-tab{background:var(--mt-fondo)!important;border:1px solid var(--mt-bordo)!important;border-bottom:0!important;color:var(--mt-testo)!important}
html body main.content nav.com-nav a.com-tab:hover{background:var(--mt-hover)!important}
html body main.content nav.com-nav a.com-tab.on{background:var(--mt-forte)!important;border-color:var(--mt-forte)!important;color:#fff!important}
html body main.content nav.com-nav a.com-tab i{color:var(--mt-testo)!important}
html body main.content nav.com-nav a.com-tab.on i{color:#fff!important}

/* i menu a tendina mostrano sempre la freccia (anche con il fondo azzurro scavato delle caselle) */
html body select.form-select:not([multiple]):not([size]){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23334155' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),linear-gradient(rgba(15,35,70,.03),rgba(15,35,70,0) 40%)!important;background-repeat:no-repeat,no-repeat!important;background-position:right .7rem center,0 0!important;background-size:14px 14px,100% 100%!important;padding-right:2.2rem!important;cursor:pointer}

/* TAB DI TUTTI I MODULI: un solo disegno (stesso carattere, altezza, colori del modulo e rilievo 3D), anche in Ristrutturazioni */
html body main.content :is(ul.nav-tabs.ctl-tabs a.nav-link,nav.com-nav a.com-tab):not(#_){box-sizing:border-box;height:34px;padding:0 16px!important;display:inline-flex;align-items:center;gap:6px;font-size:14px!important;font-weight:700;line-height:1;border-radius:10px 10px 0 0!important;border:1px solid var(--mt-bordo)!important;border-bottom:0!important;margin-bottom:-1px;background:var(--mt-fondo)!important;background-image:none!important;color:var(--mt-testo)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.7),inset 0 -3px 0 rgba(0,0,0,.12),0 2px 3px rgba(0,0,0,.18)!important;transform:none!important;filter:none!important}
html body main.content :is(ul.nav-tabs.ctl-tabs a.nav-link,nav.com-nav a.com-tab):not(#_) i{margin:0!important;color:inherit!important}
html body main.content :is(ul.nav-tabs.ctl-tabs a.nav-link,nav.com-nav a.com-tab):not(#_):hover{background:var(--mt-hover)!important}
html body main.content :is(ul.nav-tabs.ctl-tabs a.nav-link.active,nav.com-nav a.com-tab.on):not(#_){background:var(--mt-forte)!important;border-color:var(--mt-forte)!important;color:#fff!important;font-weight:800;box-shadow:inset 0 2px 0 rgba(255,255,255,.28),inset 0 -3px 0 rgba(0,0,0,.22),0 2px 3px rgba(0,0,0,.25)!important}
html body main.content :is(ul.nav-tabs.ctl-tabs,nav.com-nav):not(#_){display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--mt-forte)!important}
html body main.content .area-fissa .barra-pagina nav.com-nav:not(#_){margin-left:-24px!important;margin-right:-24px!important;padding-left:0!important}
/* in Ristrutturazioni la lucentezza 3D delle tab (strato sopra lo sfondo) era spenta: come negli altri moduli */
html body main.content nav.com-nav a.com-tab:not(#_)::before{display:block!important;content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,.08) 46%,rgba(0,0,0,.05) 54%,rgba(0,0,0,.18) 100%)}
html body main.content nav.com-nav a.com-tab:not(#_){position:relative;isolation:isolate}

/* la casella «Cerca» nella riga delle tab: a destra, 280 px, appoggiata alla linea */
html body main.content :is(ul.nav-tabs.ctl-tabs,nav.com-nav):not(#_){align-items:flex-end}
html body main.content .mod-tab-cerca{margin:0 0 4px auto!important;list-style:none;flex:0 0 280px;width:280px}
html body main.content .mod-tab-cerca>*{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;flex:none!important}
html body main.content .mod-tab-cerca .campo-x{width:100%!important}
html body main.content .mod-tab-cerca :is(.campo-x,.home-cerca){display:block;width:100%!important;max-width:none!important}
html body main.content .mod-tab-cerca input{box-sizing:border-box;width:100%!important;max-width:none!important;height:36px!important}
html body main.content .mod-tab-cerca input{border-radius:999px!important;padding-left:40px!important}
/* Controlli: i tre tasti dei controlli stanno a destra, accanto a «Stampa» */
html body .barra-pagina .ctl-riga.ctl-in-titolo{flex:1 1 auto;justify-content:flex-end;margin-left:auto}
html body .barra-pagina .ctl-riga.ctl-in-titolo .anag-tipi{justify-content:flex-end}

/* «Filtri» sempre a fianco della casella «Cerca» */
html body main.content .mod-tab-cerca{display:flex;align-items:center;gap:10px;flex:0 0 auto;width:auto}
html body main.content .mod-tab-cerca>.fn-filtri{flex:none!important;width:auto!important;margin:0!important}
html body main.content .mod-tab-cerca>.gruppo-cerca,html body main.content .mod-tab-cerca>.campo-x,html body main.content .mod-tab-cerca>.hp-cerca,html body main.content .mod-tab-cerca>input{flex:0 0 280px!important;width:280px!important}
html body main.content .riga-cerca>.fn-filtri{order:98;margin-left:auto!important}
html body main.content .riga-cerca:has(>.fn-filtri)>:is(.gruppo-cerca,.campo-x,input[type=search]){margin-left:0!important}

/* Help Desk: tasto «Segnala un guasto» nella riga delle tab, a sinistra della ricerca */
html body main.content .mod-tab-cerca>.hp-azioni{flex:none!important;width:auto!important;margin:0!important;display:block}
html body main.content .mod-tab-cerca .btn.btn-ticket.hp-guasto{width:auto!important;min-width:230px;min-height:44px;padding:3px 16px;white-space:nowrap}
html body main.content .mod-tab-cerca .hp-guasto b{font-size:17px}

/* Controlli: i filtri hanno lo stesso disegno di quelli dell'Help Desk (pillole blu scuro, attiva gialla, cerchi colorati con il simbolo) */
html body .ctl-alv-barra .ctl-etich{order:0;font-size:13.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
html body .ctl-alv-barra .ctl-alv-filtri{gap:6px}
html body .ctl-alv-barra :is(.ctl-alv-filtri button.anag-tipo,.ctl-vai.btn.btn-primary,button.ctl-vai):not(#_){height:32px!important;min-height:32px!important;padding:0 12px!important;font-size:14px!important;font-weight:600;display:inline-flex;align-items:center;gap:6px;border-radius:999px!important;background:#2a4766!important;background-image:none!important;border:1px solid #3f6590!important;color:#fff!important;box-shadow:none!important}
html body .ctl-alv-barra :is(.ctl-alv-filtri button.anag-tipo:not(.on),.ctl-vai.btn.btn-primary,button.ctl-vai):not(#_):hover{background:#355a82!important;border-color:#5b93e0!important}
html body .ctl-alv-barra .ctl-alv-filtri button.anag-tipo.on:not(#_){background:#f0b429!important;border-color:#f0b429!important;color:#1a1405!important}
html body .ctl-alv-barra .ctl-alv-filtri button.anag-tipo b{color:inherit!important;font-weight:800;font-size:14px!important}
html body .ctl-alv-barra .ctl-vai b{background:#fff;color:#b91c1c!important;border-radius:999px;padding:0 7px;font-size:13px!important;line-height:18px}
html body .ctl-alv-barra .ctl-vai i.bi-eye{color:#fff}
html body .ctl-alv-barra .ctl-alv-filtri .ctl-fp{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:none}
html body .ctl-alv-barra .ctl-alv-filtri .ctl-fp .bi{font-size:10px;line-height:1;color:#fff}

/* Ristrutturazioni: i filtri della mappa come quelli dell'Help Desk e di Controlli */
html body .ar-barra .ar-filtri button:not(#_){height:32px;padding:0 12px;font-size:14px!important;font-weight:600;background:#2a4766!important;border:1px solid #3f6590!important;color:#fff!important;box-shadow:none!important;background-image:none!important}
html body .ar-barra .ar-filtri button:not(.on):not(#_):hover{background:#355a82!important;border-color:#5b93e0!important}
html body .ar-barra .ar-filtri button.on:not(#_){background:#f0b429!important;border-color:#f0b429!important;color:#1a1405!important}
html body .ar-barra .ar-filtri button em{color:inherit!important;font-weight:800;font-size:14px!important}
html body .ar-barra .ar-tit{font-size:13.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
html body .ctl-alv-barra :is(.ctl-vai.btn.btn-primary,button.ctl-vai).on:not(#_){background:#f0b429!important;border-color:#f0b429!important;color:#1a1405!important}
html body .ctl-alv-barra button.ctl-vai.on i.bi-eye{color:#1a1405}

/* PILLOLE DEI FILTRI (Help Desk, Gestione tecnica, Controlli, Ristrutturazioni): colore chiaro e uguale per tutti, attiva gialla */
html body :is(.hp-blocco .alveare-filtri button,.hp-fissa .alveare-filtri button,.ctl-alv-barra .ctl-alv-filtri button.anag-tipo,.ctl-alv-barra .ctl-vai.btn.btn-primary,.ctl-alv-barra button.ctl-vai,.ar-barra .ar-filtri button):not(#_){background:#e6edfb!important;background-image:none!important;border:1px solid #a9bde6!important;color:#1e3a6e!important;box-shadow:none!important}
html body :is(.hp-blocco .alveare-filtri button,.hp-fissa .alveare-filtri button,.ctl-alv-barra .ctl-alv-filtri button.anag-tipo,.ctl-alv-barra .ctl-vai.btn.btn-primary,.ctl-alv-barra button.ctl-vai,.ar-barra .ar-filtri button):not(.on):not(#_):hover{background:#d3e0fa!important;border-color:#6f93d8!important;color:#10285a!important}
html body :is(.hp-blocco .alveare-filtri button,.hp-fissa .alveare-filtri button,.ctl-alv-barra .ctl-alv-filtri button.anag-tipo,.ctl-alv-barra .ctl-vai.btn.btn-primary,.ctl-alv-barra button.ctl-vai,.ar-barra .ar-filtri button).on:not(#_){background:#f0b429!important;border-color:#d99a0b!important;color:#1a1405!important}
html body :is(.hp-blocco .alveare-filtri button em,.hp-fissa .alveare-filtri button em,.ctl-alv-barra .ctl-alv-filtri button.anag-tipo b,.ar-barra .ar-filtri button em):not(#_){color:inherit!important}
html body .ctl-alv-barra .ctl-vai b:not(#_){background:#b91c1c;color:#fff!important}
html body .ctl-alv-barra .ctl-vai i.bi-eye:not(#_){color:#1e3a6e}
html body .ctl-alv-barra .ctl-vai.on i.bi-eye:not(#_){color:#1a1405}

/* titoli dei gruppi nei menu a tendina (es. Luoghi, Persone, Fornitori): grassetto e colore del modulo */
html body .dropdown-menu .dropdown-header:not(#_){font-size:14px;font-weight:800;color:var(--mt-forte,#1d4ed8);letter-spacing:.02em;padding-top:.55rem;padding-bottom:.25rem}

/* «?» del gruppo File e finestra Info */
.io-info-btn{width:22px;height:22px;border-radius:50%;border:1px solid #6b7fb0;background:#fff;color:#1d4ed8;font-weight:800;font-size:13px;line-height:1;padding:0;cursor:pointer;margin:0 4px 0 -2px;flex:none}
.io-info-btn:hover{background:#1d4ed8;color:#fff}
.dropdown-item.io-info-voce{font-weight:800;color:#1d4ed8}
.io-modale .io-info .io-punti{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
.io-modale .io-info .io-punto:first-child{background:inherit;border-color:var(--bs-border-color,#dde3ee)}
.io-modale .io-passi{padding-left:1.3rem;display:flex;flex-direction:column;gap:6px;margin:6px 0 0}
.io-modale .io-nota{color:#5a6678;margin:8px 0 0}
.io-modale .io-colonne{border:1px solid var(--bs-border-color,#dde3ee);border-radius:12px;margin:6px 0;padding:0 12px}
.io-modale .io-colonne>summary{cursor:pointer;font-weight:800;color:#1d4ed8;padding:9px 0}
.io-modale .io-colonne table{font-size:14px}
.io-modale .io-colonne th{white-space:nowrap}

/* INFO (finestra «?» di ogni pagina e finestra Info del gruppo File): caratteri più grandi */
html body .guida-fin{width:540px;height:580px}
html body .guida-fin .guida-corpo{font-size:1.12rem;line-height:1.55}
html body .guida-fin .guida-passi li,html body .guida-fin p,html body .guida-fin dd,html body .guida-fin dt,html body .guida-fin li{font-size:1.12rem!important}
html body .guida-fin .guida-serve{font-size:1.3rem!important}
html body .guida-fin h6{font-size:1rem!important;letter-spacing:.07em}
html body .guida-fin .guida-campi small,html body .guida-fin .gc-req,html body .guida-fin .gc-fac,html body .guida-fin .guida-campi dd small{font-size:.98rem!important}
html body .guida-fin .guida-att{font-size:1.08rem!important}
html body .guida-fin td,html body .guida-fin th{font-size:1.05rem!important}
html body .guida-fin .guida-tit{font-size:1.12rem}
html body .guida-fin.massima .guida-corpo{font-size:1.25rem}
html body .guida-fin.massima .guida-passi li,html body .guida-fin.massima p,html body .guida-fin.massima dd,html body .guida-fin.massima dt{font-size:1.25rem!important}
html body .guida-fin.massima .guida-serve{font-size:1.5rem!important}
html body .io-modale .io-info{font-size:1.12rem;line-height:1.55}
html body .io-modale .io-info .io-punto b{font-size:1.12rem}
html body .io-modale .io-info .io-punto span,html body .io-modale .io-info li,html body .io-modale .io-info p{font-size:1.08rem}
html body .io-modale .io-info .io-titolo{font-size:1rem}
html body .io-modale .io-colonne table,html body .io-modale .io-colonne th,html body .io-modale .io-colonne td{font-size:1.02rem}
html body .io-modale .io-colonne>summary{font-size:1.15rem}
html body .io-modale .io-info .io-passi{list-style:decimal;padding-left:1.6rem}
html body .io-modale .io-info .io-passi>li:not(#_){display:list-item!important;border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;padding:0 0 0 .3rem!important;min-height:0!important;height:auto!important;text-align:left}
html body .io-modale .io-info .io-passi>li b{display:inline!important}
html body .io-modale .io-info :is(p,.io-nota){text-align:left}
html body .io-modale .io-info .io-passi li b:not(#_){display:inline!important;font-size:inherit!important;background:none!important;padding:0!important;border:0!important;box-shadow:none!important;text-shadow:none!important;border-radius:0!important;height:auto!important;min-height:0!important;color:inherit!important;font-weight:800!important}
html body .io-modale .io-colonne :is(table,th,td,b,td *):not(#_){font-size:1.02rem!important}
html body .io-modale .io-colonne thead th:not(#_){position:static!important;top:auto!important;background:#e6ebf4!important}
html body .io-modale .io-colonne .table-responsive{overflow:visible}

/* «Come funziona (Info)» nei menu File: sfondo evidenziato */
html body .dropdown-item.io-info-voce:not(#_){background:#fff1bf;border-left:4px solid #f0b429;color:#1d4ed8;font-weight:800;padding-top:.5rem;padding-bottom:.5rem}
html body .dropdown-item.io-info-voce:not(#_):hover{background:#ffe48a}

/* finestre Esporta e Modello (e Info): caratteri più grandi */
html body .io-modale .modal-body{font-size:1.1rem;line-height:1.5}
html body .io-modale .io-testa h5{font-size:1.3rem}
html body .io-modale .io-testa p{font-size:1.05rem}
html body .io-modale .io-stessa,html body .io-modale .io-stessa *{font-size:1.08rem!important}
html body .io-modale .io-titolo{font-size:1rem!important}
html body .io-modale .io-punto b{font-size:1.12rem!important}
html body .io-modale .io-punto span,html body .io-modale .io-punto small{font-size:1.05rem!important}
html body .io-modale .io-vista,html body .io-modale .io-vista *{font-size:1.05rem!important}
html body .io-modale .io-fmt b{font-size:1.25rem!important}
html body .io-modale .io-fmt small{font-size:1.02rem!important}
html body .io-modale .io-scarica{font-size:.98rem!important}
html body .io-modale .io-nota,html body .io-modale .modal-body p{font-size:1.05rem!important}
html body .io-modale .modal-footer .btn{font-size:1rem}
html body .io-modale label,html body .io-modale .form-label,html body .io-modale .form-check-label{font-size:1.05rem!important}
html body .io-modale code{font-size:1rem}
html body .io-modale .io-chips span,html body .io-modale .io-chips *,html body .io-modale .io-titolo small{font-size:1rem!important}
html body .io-modale .io-chips{gap:7px}
html body .io-modale .modal-footer .btn,html body .io-modale .modal-footer a{font-size:1rem!important}

/* finestra Esporta: schede dei formati e «Scarica» in 3D (stesso rilievo degli altri tasti) */
html body .io-modale .io-fmt:not(#_){position:relative;isolation:isolate;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -2px 0 rgba(0,0,0,.10),0 3px 0 rgba(0,0,0,.20),0 7px 10px rgba(0,0,0,.16);transition:transform .08s ease,box-shadow .08s ease,filter .12s ease}
html body .io-modale .io-fmt::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.12) 46%,rgba(0,0,0,.03) 54%,rgba(0,0,0,.10) 100%)}
html body .io-modale .io-fmt:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -2px 0 rgba(0,0,0,.10),0 4px 0 rgba(0,0,0,.20),0 9px 13px rgba(0,0,0,.18)}
html body .io-modale .io-fmt:active{transform:translateY(3px);box-shadow:inset 0 3px 6px rgba(0,0,0,.30),0 0 0 rgba(0,0,0,0)}
html body .io-modale .io-scarica:not(#_){position:relative;isolation:isolate;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.25),0 2px 0 #0a3a85,0 5px 7px rgba(0,0,0,.28);text-shadow:0 1px 0 rgba(0,0,0,.25)}
html body .io-modale .io-scarica::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,.08) 46%,rgba(0,0,0,.05) 54%,rgba(0,0,0,.18) 100%)}
html body .io-modale .io-fmt:active .io-scarica{transform:translateY(1px)}

/* Controlli, vista della struttura: riquadro «Da fare questa settimana» */
.ctl-qs-ic{font-size:1.6rem;color:#0f766e;width:34px;text-align:center}
.ctl-qs-riga{padding:.7rem 1rem}
.ctl-qs-riga b{font-size:1.05rem}
.ctl-qs .ctl-pill{min-width:200px;justify-content:center}

/* ESAGONI PIÙ 3D (Home, Controlli, Ristrutturazioni): bordo che sfuma da chiaro a scuro come uno smusso, lucentezza sopra, ombra sotto */
html body :is(.alveare,.ctl-alveare,.ar-alv){filter:drop-shadow(0 3px 2px rgba(11,22,32,.38)) drop-shadow(0 1px 0 rgba(255,255,255,.5))}
html body :is(.alveare .hex,.ctl-alveare .hex,.ar-alv .hex):not(#_){background:linear-gradient(150deg,color-mix(in srgb,var(--c) 45%,#fff) 0%,var(--c) 38%,color-mix(in srgb,var(--c) 62%,#000) 100%)!important}
html body :is(.alveare .hex-in,.ctl-alveare .hex-in,.ar-alv .hex-in):not(#_){inset:3.5px;background:linear-gradient(180deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,.16) 40%,rgba(255,255,255,0) 52%,rgba(0,0,0,.22) 100%),linear-gradient(160deg,var(--f1),var(--f2))!important}
html body :is(.alveare .hex:hover,.ctl-alveare .hex:hover,.ar-alv .hex:hover):not(#_){filter:brightness(1.06) saturate(1.1)}

/* DPI: titoli dei reparti centrati in verticale (e in orizzontale) nella loro cella */
html body .dpi-tab thead th:not(.prima):not(#_){vertical-align:middle!important;text-align:center}
html body .dpi-tab thead th:not(.prima) .rep-nm{display:flex;align-items:center;justify-content:center;text-align:center}

/* ricerca che sta filtrando (c'è del testo): casella gialla con bordo ambra e X rossa, ben diversa da quella vuota */
html body input[type=search].form-control:not(:placeholder-shown):not(#_),html body .mod-tab-cerca input:not(:placeholder-shown):not(#_),html body .gruppo-cerca input.form-control:not(:placeholder-shown):not(#_){background:#fff3b8!important;border:2px solid #e0a100!important;color:#4a3500!important;font-weight:700;box-shadow:inset 0 2px 3px rgba(0,0,0,.12),0 0 0 3px rgba(240,180,41,.35)!important}
html body .campo-x.pieno .campo-x-btn:not(#_){background:#c81e2b;color:#fff}

/* targhette dell'Anagrafica raggruppate in menu a tendina */
.chip-menu{display:inline-block;position:relative}
html body .chip-menu-btn:not(#_){display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;border:1px solid #a9bde6;background:#e6edfb;color:#1e3a6e;font-size:14px;font-weight:700;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 2px 0 rgba(0,0,0,.14),0 4px 6px rgba(0,0,0,.12)}
html body .chip-menu-btn:not(#_):hover{background:#d3e0fa}
html body .chip-menu.attivo .chip-menu-btn:not(#_){background:#f0b429;border-color:#d99a0b;color:#1a1405}
html body .chip-menu-lista{max-height:60vh;overflow:auto;min-width:240px;padding:6px}
html body .chip-menu-lista .dropdown-item.chip-sem:not(#_){display:flex;width:100%;height:auto;min-height:34px;border-radius:8px;box-shadow:none;border:0;background:transparent;font-size:14px;padding:4px 10px;justify-content:flex-start}
html body .chip-menu-lista .dropdown-item.chip-sem b{margin-left:auto;padding-left:14px}
html body .chip-menu-lista .dropdown-item.chip-sem.on:not(#_){background:#fff3b8;font-weight:800}

/* TUTTE LE CASELLE «CERCA» DI PAGINA: un solo disegno (come quella delle Home: bordo scuro sottile, carattere 15 px) con lo sfondo azzurro chiarissimo */
html body main.content :is(.mod-tab-cerca,.gruppo-cerca,.hp-cerca,.riga-cerca,.imp-cerca-campo,.ar-barra,.campo-x) input:is([type=search],[type=text],.ar-cerca,.form-control,[name=s],[name=q]):placeholder-shown:not(:focus):not(#_){background-color:#f8feff!important;border:1.11px solid #767676!important;font-size:15px!important;font-weight:400;box-shadow:none!important;border-radius:999px!important;height:36px!important;color:#172033}
html body main.content :is(.mod-tab-cerca,.gruppo-cerca,.hp-cerca,.riga-cerca,.imp-cerca-campo,.ar-barra,.campo-x) input:is([type=search],[type=text],.ar-cerca,.form-control,[name=s],[name=q]):placeholder-shown:focus:not(#_){background-color:#fff!important;border:2px solid #1d4ed8!important;font-size:15px!important;box-shadow:0 0 0 3px rgba(29,78,216,.18)!important;border-radius:999px!important;height:36px!important}
html body main.content :is(.mod-tab-cerca,.gruppo-cerca,.hp-cerca,.riga-cerca,.campo-x) input:is([type=search],[type=text],.form-control):placeholder-shown:not(#_){padding-left:38.4px!important}
/* la lente c'è in tutte le caselle «Cerca» (stessa icona, stessa posizione) */
html body main.content :is(.mod-tab-cerca,.gruppo-cerca,.hp-cerca,.riga-cerca,.campo-x) input:is([type=search],[type=text],.form-control):placeholder-shown:not(#_){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='%236b7686'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:12px 50%!important;background-size:16px auto!important}

/* CASELLA «CERCA»: bordo scuro, più spesso sui lati (come la casella delle Home), sfondo azzurro chiarissimo, mai con il cursore all'apertura della pagina */
html body main.content :is(.mod-tab-cerca,.gruppo-cerca,.hp-cerca,.riga-cerca,.imp-cerca-campo,.ar-barra,.campo-x) input:is([type=search],[type=text],.ar-cerca,.form-control,[name=s],[name=q]):placeholder-shown:not(:focus):not(#_){border-style:solid!important;border-color:#1f2937!important;border-width:2px 4px!important;box-shadow:inset 0 2px 3px rgba(15,35,70,.22)!important}
html body main.content :is(.mod-tab-cerca,.gruppo-cerca,.hp-cerca,.riga-cerca,.imp-cerca-campo,.ar-barra,.campo-x) input:is([type=search],[type=text],.ar-cerca,.form-control,[name=s],[name=q]):placeholder-shown:focus:not(#_){border-style:solid!important;border-color:#1d4ed8!important;border-width:2px 4px!important;background-color:#fff!important;box-shadow:0 0 0 3px rgba(29,78,216,.2)!important}
/* CASELLA «CERCA» IN 3D COME LA FOTO: bordo sottile e, dentro, uno smusso scuro spesso in alto che scende sui lati e svanisce in basso (effetto scavato) */
html body main.content :is(.mod-tab-cerca,.gruppo-cerca,.hp-cerca,.riga-cerca,.imp-cerca-campo,.ar-barra,.campo-x) input:is([type=search],[type=text],.ar-cerca,.form-control,[name=s],[name=q]):placeholder-shown:not(:focus):not(#_){border:1px solid #98a2b3!important;border-width:1px!important;box-shadow:inset 0 3px 1px -1px #1f2937,inset 3px 2px 2px -2px #1f2937,0 1px 0 #fff!important}
html body main.content :is(.mod-tab-cerca,.gruppo-cerca,.hp-cerca,.riga-cerca,.imp-cerca-campo,.ar-barra,.campo-x) input:is([type=search],[type=text],.ar-cerca,.form-control,[name=s],[name=q]):placeholder-shown:focus:not(#_){border:1px solid #1d4ed8!important;border-width:1px!important;background-color:#fff!important;box-shadow:inset 0 3px 1px -1px #1f2937,inset 3px 2px 2px -2px #1f2937,0 0 0 3px rgba(29,78,216,.22)!important}

/* riga dei tab: la linea di base corre per tutta la larghezza, anche quando «Filtri» e «Cerca» vanno a capo su una seconda riga */
@media(min-width:992px){
  html body main.content :is(ul.nav-tabs.ctl-tabs,nav.com-nav):not(#_){background-image:linear-gradient(var(--mt-forte),var(--mt-forte));background-repeat:no-repeat;background-size:100% 1px;background-position:0 42px}
}
/* la casella «Cerca» nella riga dei tab non allarga la riga: la linea di base resta una sola, sotto i tab */
@media(min-width:992px){
  html body main.content .mod-tab-cerca:not(#_){height:34px;margin:0 0 -1px auto!important;align-self:flex-end;display:flex;align-items:flex-end;overflow:visible}
  html body main.content .mod-tab-cerca>*:not(#_){margin-bottom:-2px!important}
  html body main.content :is(ul.nav-tabs.ctl-tabs,nav.com-nav):not(#_){background-position:0 42px}
}
@media(min-width:992px){html body main.content :is(ul.nav-tabs.ctl-tabs,nav.com-nav):not(#_){border-bottom:0!important}}
/* con le tab, la linea di base è quella sotto i tab: niente seconda linea sotto la testata */
@media(min-width:992px){
  html body main.content :is(.barra-pagina,.area-fissa):has(ul.nav-tabs.ctl-tabs,nav.com-nav):not(#_){border-bottom:0!important;box-shadow:none!important}
  html body main.content .area-fissa:has(nav.com-nav) .barra-pagina:not(#_){border-bottom:0!important}
}

.ctl-tab-n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;background:#dc2626;color:#fff;font-size:12px;font-weight:800;padding:0 6px;margin-left:4px}

/* Controlli, struttura: ogni verbale è un modulo separato a video (una scheda per verbale) */
.ctl-qs-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin:0 0 18px}
.ctl-qs-mod{display:flex;flex-direction:column;gap:12px;align-items:flex-start;background:#fff;border:1px solid #cfd8e6;border-top:5px solid #94a3b8;border-radius:14px;padding:16px 18px;box-shadow:0 3px 0 rgba(0,0,0,.10),0 8px 14px rgba(0,0,0,.08)}
.ctl-qs-mod.ctl-qs-success{border-top-color:#16a34a}.ctl-qs-mod.ctl-qs-warning{border-top-color:#ea580c}.ctl-qs-mod.ctl-qs-danger{border-top-color:#dc2626}.ctl-qs-mod.ctl-qs-info{border-top-color:#0284c7}
.ctl-qs-mod header{display:flex;gap:12px;align-items:center}
.ctl-qs-mod .ctl-qs-ic{font-size:2rem;width:44px}
.ctl-qs-mod b{font-size:1.15rem}
.ctl-qs-mod .btn{margin-top:auto;width:100%}
.ctl-qs-mod .ctl-pill{min-width:0;align-self:stretch}
/* verbali da compilare: schede compatte */
.ctl-qs-griglia{gap:10px;margin:0 0 8px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.ctl-qs-mod{gap:6px;padding:8px 12px 10px;border-top-width:4px;border-radius:12px;box-shadow:0 2px 0 rgba(0,0,0,.10),0 5px 9px rgba(0,0,0,.07)}
.ctl-qs-mod header{gap:8px}
.ctl-qs-mod .ctl-qs-ic{font-size:1.4rem;width:30px}
.ctl-qs-mod b{font-size:1.02rem}
.ctl-qs-mod header small{font-size:.8rem;line-height:1.15}
.ctl-qs-mod .btn{height:30px;padding:0 12px;font-size:.85rem;margin-top:0}
.ctl-qs h6{margin:0 0 2px!important}.ctl-qs>p{margin:0 0 6px!important;font-size:.88rem}

/* struttura: la testata resta essenziale (titolo e schede); i verbali sono nelle schede qui sotto */
.ctl-mia .ctl-alv-barra,.ctl-mia .ctl-ultima{display:none!important}

.ctl-qs-carta{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;width:100%}.ctl-qs-carta .btn{height:28px;padding:0 10px;font-size:.8rem}

/* schede dei verbali: tre tasti uguali, in colonna, della stessa misura in tutte le schede */
.ctl-qs-mod header{min-height:42px;align-items:flex-start}
.ctl-qs-tasti{display:grid;grid-template-columns:1fr;gap:6px;width:100%;margin-top:auto}
.ctl-qs-tasti .btn{width:100%!important;height:32px!important;padding:0 12px;font-size:.88rem;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0}
.ctl-qs-mod .ctl-pill{height:30px;display:flex;align-items:center;justify-content:center}
/* tasti delle schede dei verbali: meno lunghi (orizzontale) e più alti (verticale), tutti uguali */
.ctl-qs-tasti{justify-items:start;gap:8px}
.ctl-qs-tasti .btn{width:250px!important;max-width:100%;height:42px!important;font-size:.92rem}
/* tasti delle schede dei verbali: colore pieno per ogni funzione (Fai/Apri blu, Modulo vuoto grigio scuro, Importa viola), stessa misura ovunque */
html body .ctl-qs-tasti .btn:not(#_){width:250px!important;min-width:250px!important;max-width:250px!important;flex:none!important;color:#fff!important;border:0!important}
html body .ctl-qs-tasti .btn:nth-child(1):not(#_){background:#1d4ed8!important}
html body .ctl-qs-tasti .btn:nth-child(2):not(#_){background:#475569!important}
html body .ctl-qs-tasti .btn:nth-child(3):not(#_){background:#7c3aed!important}
html body .ctl-qs-tasti .btn:nth-child(1):not(#_):hover{background:#1e40af!important}html body .ctl-qs-tasti .btn:nth-child(2):not(#_):hover{background:#334155!important}html body .ctl-qs-tasti .btn:nth-child(3):not(#_):hover{background:#6d28d9!important}
html body .ctl-qs-tasti .btn.disabled:not(#_),html body .ctl-qs-tasti .btn:disabled:not(#_){opacity:.45}
html body .ctl-qs-tasti .btn i{color:#fff!important}
/* stessi colori nella pagina dei fogli DPI */
html body table .btn[href*="stampa="]:not(#_){background:#475569!important;color:#fff!important;border:0!important}
html body table .btn[data-carica]:not(#_){background:#7c3aed!important;color:#fff!important;border:0!important}
html body table .btn[href*="stampa="] i,html body table .btn[data-carica] i{color:#fff!important}
/* tasti delle schede «tipo app»: grandi, angoli arrotondati, icona e testo, colore pieno, ben distanziati */
html body .ctl-qs-tasti{gap:10px}
html body .ctl-qs-tasti .btn:not(#_){width:100%!important;min-width:0!important;max-width:320px!important;height:48px!important;border-radius:14px!important;font-size:1rem!important;font-weight:700;justify-content:flex-start!important;padding:0 18px!important;gap:12px!important;box-shadow:0 3px 0 rgba(0,0,0,.28),0 6px 10px rgba(0,0,0,.14)!important}
html body .ctl-qs-tasti .btn i{font-size:1.25rem!important}
html body .ctl-qs-tasti .btn:active:not(#_){transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.28)!important}
/* schede dei verbali compatte */
html body .ctl-qs-tasti{gap:5px}
html body .ctl-qs-tasti .btn:not(#_){height:34px!important;border-radius:11px!important;font-size:.9rem!important;padding:0 14px!important;gap:10px!important;max-width:none!important;box-shadow:0 2px 0 rgba(0,0,0,.28)!important}
html body .ctl-qs-tasti .btn i{font-size:1.05rem!important}
html body .ctl-qs-mod{gap:5px;padding:7px 10px 9px}
html body .ctl-qs-mod header{min-height:0!important;align-items:center}
html body .ctl-qs-mod .ctl-pill{height:24px;font-size:.82rem}
html body .ctl-qs-griglia{gap:8px}
/* tasti delle schede: centrati nella scheda, con icona e testo al centro */
html body .ctl-qs-tasti{justify-items:center}
html body .ctl-qs-tasti .btn:not(#_){width:280px!important;max-width:100%!important;justify-content:center!important;margin-left:auto!important;margin-right:auto!important}
/* tasti delle schede: più alti, più corti, colori morbidi (verde acqua del modulo, sabbia, azzurro) */
html body .ctl-qs-tasti .btn:not(#_){width:210px!important;min-width:210px!important;max-width:210px!important;height:46px!important;border-radius:12px!important;font-size:.9rem!important;gap:8px!important;padding:0 10px!important}
html body .ctl-qs-tasti .btn:nth-child(1):not(#_){background:#0f766e!important;color:#fff!important;border:1px solid #0b5c54!important}
html body .ctl-qs-tasti .btn:nth-child(2):not(#_){background:#fff1cc!important;color:#6b4a00!important;border:1px solid #e0a100!important}
html body .ctl-qs-tasti .btn:nth-child(3):not(#_){background:#dbeafe!important;color:#1e3a8a!important;border:1px solid #60a5fa!important}
html body .ctl-qs-tasti .btn:nth-child(1):not(#_):hover{background:#0b5c54!important}html body .ctl-qs-tasti .btn:nth-child(2):not(#_):hover{background:#ffe7a3!important}html body .ctl-qs-tasti .btn:nth-child(3):not(#_):hover{background:#c7defc!important}
html body .ctl-qs-tasti .btn:nth-child(1) i{color:#fff!important}html body .ctl-qs-tasti .btn:nth-child(2) i{color:#6b4a00!important}html body .ctl-qs-tasti .btn:nth-child(3) i{color:#1e3a8a!important}
html body table .btn[href*="stampa="]:not(#_){background:#fff1cc!important;color:#6b4a00!important;border:1px solid #e0a100!important}
html body table .btn[data-carica]:not(#_){background:#dbeafe!important;color:#1e3a8a!important;border:1px solid #60a5fa!important}
html body table .btn[href*="stampa="] i{color:#6b4a00!important}html body table .btn[data-carica] i{color:#1e3a8a!important}
html body .ctl-qs-tasti:not(#_){gap:12px!important}
/* APP (telefono e tablet): la struttura vede solo titolo, schede e verbali, in poco spazio */
@media(max-width:991px){
  html body .ctl-mia .ctl-in-titolo,html body .ctl-mia .blocco-azioni{display:none!important}
  html body .ctl-mia .riga-titolo{min-height:0}
  html body main .nav-tabs.ctl-tabs:not(#_){display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:4px;margin-top:6px!important;scrollbar-width:none}
  html body main .nav-tabs.ctl-tabs .nav-item{flex:none}
  html body main .nav-tabs.ctl-tabs .nav-link{white-space:nowrap;padding:0 12px!important}
  html body .ctl-qs h6{font-size:.85rem;letter-spacing:.04em;line-height:1.25}
  html body .ctl-qs h6 .text-muted{display:block}
  html body .ctl-qs>p{display:none}
  html body .ctl-qs-griglia{grid-template-columns:1fr!important}
  html body .ctl-qs-mod{padding:10px 12px 12px}
  html body .ctl-qs-tasti{display:grid;grid-template-columns:repeat(3,1fr);gap:8px!important}
  html body .ctl-qs-tasti .btn:not(#_){width:100%!important;min-width:0!important;max-width:none!important;height:52px!important;flex-direction:column;gap:2px!important;font-size:.78rem!important;line-height:1.1;padding:4px 4px!important;white-space:normal;text-align:center}
}
.ctl-qs-mod .dpi-rep{width:210px;max-width:100%;align-self:center;height:40px}
@media(max-width:991px){html body .ctl-qs-mod .dpi-rep{width:100%;height:44px}}
.ctl-qs-mod .att-rep{width:210px;max-width:100%;align-self:center;height:40px}
@media(max-width:991px){html body .ctl-qs-mod .att-rep{width:100%;height:44px}}
/* tasti delle schede disegnati come nell'app anche sul computer: tre in fila, icona sopra e testo sotto */
html body .ctl-qs-tasti:not(#_){display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;width:100%}
html body .ctl-qs-tasti .btn:not(#_){width:100%!important;min-width:0!important;max-width:none!important;height:56px!important;flex-direction:column!important;justify-content:center!important;gap:3px!important;font-size:.8rem!important;line-height:1.1!important;padding:4px 4px!important;white-space:normal!important;text-align:center!important;margin:0!important;border-radius:12px!important}
html body .ctl-qs-tasti .btn i{font-size:1.15rem!important}
/* stato nelle schede dei verbali: testo più grande e sfondo del colore dello stato (anche nella pagina «Verbale in ispezione») */
html body .ctl-qs-mod .ctl-pill:not(#_){height:34px!important;display:flex!important;align-items:center;justify-content:center;font-size:1.05rem!important;font-weight:800!important;border-radius:999px;color:#fff!important;border:0!important;width:100%;min-width:0!important}
html body .ctl-qs-mod .ctl-pill.success:not(#_){background:#16a34a!important}
html body .ctl-qs-mod .ctl-pill.warning:not(#_){background:#d97706!important}
html body .ctl-qs-mod .ctl-pill.danger:not(#_){background:#dc2626!important}
html body .ctl-qs-mod .ctl-pill.info:not(#_){background:#0284c7!important}
html body .ctl-qs-mod .ctl-pill.secondary:not(#_),html body .ctl-qs-mod .ctl-pill.light:not(#_){background:#64748b!important}
html body table .btn.btn-primary[href*="dpi_verbale"]:not(#_){background:#0f766e!important;color:#fff!important;border:1px solid #0b5c54!important}html body table .btn[href*="dpi_verbale"] i{color:#fff!important}
/* TESTI MINIMI (12 px reali = 13,4 px nel CSS con lo zoom 0,9): correzioni dei difetti misurati */
html body .ctl-qs-tasti .btn:not(#_){font-size:max(.88rem,13.4px)!important}
html body .io-info-btn:not(#_){font-size:13.4px!important}
html body .ctl-tab-n:not(#_){font-size:13.4px!important}
html body .stat-testata p:not(#_),html body .stat-testata span:not(#_){font-size:13.4px!important}
html body .hp-num span:not(#_),html body a.hp-num>span:not(#_){font-size:13.4px!important}
html body .dpi-tab thead th .rep-nm:not(#_),html body .dpi-tab thead th .nrep:not(#_){font-size:13.4px!important}
html body .btn.btn-primary>b:not(#_){font-size:13.4px!important}
.dpi-ic{color:#0f766e;font-size:1.1em;margin-right:6px;vertical-align:-1px}
.dpi-tab .rep-nm .dpi-ic{display:block;margin:0 0 2px}
html body .dpi-tab .dpi-ic,html body table .dpi-ic{font-size:1.2em}
html body .dpi-ic:not(#_){font-size:1.15em;margin-right:6px;font-style:normal;color:inherit;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}html body .dpi-tab .rep-nm .dpi-ic{display:block;margin:0 0 2px;font-size:1.4em}
html body .dpi-ic:not(#_){font-size:1.6em;line-height:1;vertical-align:-3px;margin-right:8px}
html body .dpi-tab thead th .rep-nm .dpi-ic:not(#_){display:block!important;font-size:1.9em;margin:0 0 3px}
html body .dpi-tab thead th .rep-nm:not(#_){flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;gap:2px}
html body .hex-in b:not(#_){font-size:13.4px}
/* Personalizza il menu rapido: intestazione scura leggibile e tutta la testata bloccata (titolo, «Come si usa» e intestazioni delle colonne) */
html body #mdMenuRapido .modal-header:not(#_){background:linear-gradient(135deg,#0b1620,#15395f)!important;color:#fff!important;border:0!important}
html body #mdMenuRapido .modal-header .modal-title,html body #mdMenuRapido .modal-header .modal-title i{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body #mdMenuRapido .mr-az .btn:not(#_){background:#fff!important;color:#172033!important;border:1px solid #b9c6da!important}
html body #mdMenuRapido .mr-az .btn[type=submit]:not([value=reset]):not(#_){background:#f0b429!important;color:#1a1405!important;border-color:#d99a0b!important}
html body #mdMenuRapido .btn-close:not(#_){filter:invert(1) grayscale(1) brightness(2);opacity:.9}
html body #mdMenuRapido .modal-body{overflow:auto}
html body #mdMenuRapido .mr-come:not(#_){position:sticky;top:0;z-index:8;background:#fff}
html body #mdMenuRapido .mr-tab thead th:not(#_){position:sticky;top:var(--mrh,150px);z-index:7}
html body #mdMenuRapido .mr-card.pf .mr-tit:not(#_){position:sticky;top:var(--mrh,150px);z-index:7}
html body #mdMenuRapido .mr-destra:not(#_),html body #mdMenuRapido .mr-tab:not(#_){overflow:visible!important}
html body #mdMenuRapido .mr-tab{border-collapse:separate;border-spacing:0}
html body #mdMenuRapido .mr-tab thead th:not(#_){background-clip:padding-box;box-shadow:0 2px 0 rgba(0,0,0,.18)}
html body #mdMenuRapido .modal-body:not(#_){padding-top:0!important}
html body #mdMenuRapido .mr-come:not(#_){margin-top:0;padding-top:12px;box-shadow:0 6px 0 #f4f6f9}
/* PERMESSI PER RUOLO: caselle tonde come nei DPI (verde con la spunta bianca se attiva, grigio chiaro se spenta) */
html body .cella-perm input[type=checkbox]:not(#_){appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:50%;border:1.5px solid #cdd5e1;background:#eef1f6;cursor:pointer;position:relative;margin:0;vertical-align:middle;flex:none}
html body .cella-perm input[type=checkbox]:checked:not(#_){background:#16a34a;border-color:#16a34a}
html body .cella-perm input[type=checkbox]:checked:not(#_)::after{content:"";position:absolute;left:6.5px;top:2.5px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
html body .cella-perm input[type=checkbox]:disabled:not(#_){opacity:.55;cursor:not-allowed}
html body .cella-perm input[type=checkbox]:focus-visible:not(#_){outline:3px solid #1d4ed8;outline-offset:2px}
html body #mdMenuRapido .mr-az .btn:not(#_){min-width:84px}
/* menu rapido: l'anteprima «I miei preferiti» resta ferma a sinistra (sotto la testata) e scorre da sola se è lunga; il titolo non galleggia sulle voci */
html body #mdMenuRapido .mr-card.pf .mr-tit:not(#_){position:static!important}
html body #mdMenuRapido .mr-card.pf:not(#_){position:sticky;top:var(--mrh,150px);align-self:start;max-height:calc(100vh / var(--zm,1) - var(--mrh,150px) - 100px);overflow:auto;z-index:6}
html body #mdMenuRapido .mr-pfcorpo:not(#_){overflow:visible}
html body #mdMenuRapido .mr-az:not(#_){margin-right:32px!important}
/* MENU RAPIDO: elenchi per modulo in colonne-scheda, voci in ordine alfabetico, righe semplici */
html body #mdMenuRapido .mr-cols:not(#_){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;align-items:start;overflow:visible!important}
html body #mdMenuRapido .mr-col{background:#fff;border:1px solid #d5deec;border-radius:14px;box-shadow:0 3px 0 rgba(0,0,0,.08),0 6px 12px rgba(0,0,0,.06);overflow:hidden}
html body #mdMenuRapido .mr-col-t{margin:0;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:.9rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;position:sticky;top:var(--mrh,150px);z-index:6}
html body #mdMenuRapido .mr-col-t small{background:rgba(255,255,255,.28);border-radius:999px;padding:1px 9px;font-size:.8rem;letter-spacing:0}
html body #mdMenuRapido .mr-col.hd .mr-col-t{background:linear-gradient(135deg,#ea580c,#c2410c)}
html body #mdMenuRapido .mr-col.tec .mr-col-t{background:linear-gradient(135deg,#2563eb,#1d4ed8)}
html body #mdMenuRapido .mr-col.rist .mr-col-t{background:linear-gradient(135deg,#c026d3,#9d174d)}
html body #mdMenuRapido .mr-col.ctl .mr-col-t{background:linear-gradient(135deg,#0d9488,#0f766e)}
html body #mdMenuRapido .mr-col.sis .mr-col-t{background:#475569}
html body #mdMenuRapido .mr-col.mie .mr-col-t{background:#b45309}
html body #mdMenuRapido .mr-col-l{list-style:none;margin:0;padding:6px 8px 8px}
html body #mdMenuRapido .mr-col-l li{margin:0}
html body #mdMenuRapido .mr-col-l .voce-mr:not(#_){display:flex;width:100%;margin:0;padding:7px 10px;border:0;border-radius:9px;background:transparent;font-size:1rem}
html body #mdMenuRapido .mr-col-l li:nth-child(even) .voce-mr:not(#_){background:#f1f5fb}
html body #mdMenuRapido .mr-col-l .voce-mr:hover:not(#_){background:#fff3b8}
html body #mdMenuRapido .mr-col-l .voce-mr:has(input:checked):not(#_){background:#dbe7ff;font-weight:800}
html body #mdMenuRapido .mr-col:not(#_){overflow:visible}
html body #mdMenuRapido .mr-col-t:not(#_){border-radius:14px 14px 0 0}
html body #mdMenuRapido .mr-col-l .form-check-input:not(#_){appearance:none;-webkit-appearance:none;width:1.2em;height:1.2em;border:1.5px solid #8aa0c0;border-radius:5px;background:#fff;margin:0;flex:none;position:relative;float:none}
html body #mdMenuRapido .mr-col-l .form-check-input:checked:not(#_){background:#1d4ed8;border-color:#1d4ed8}
html body #mdMenuRapido .mr-col-l .form-check-input:checked:not(#_)::after{content:"";position:absolute;left:.34em;top:.1em;width:.32em;height:.62em;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
html body #mdMenuRapido .mr-col-l .form-check-input:disabled:not(#_){opacity:.6}
/* menu rapido: le targhe dei moduli (Help Desk, Gestione tecnica…) hanno la lunghezza del loro testo, non tutta la scheda */
html body #mdMenuRapido .mr-col-t:not(#_){display:inline-flex;width:auto;gap:12px;margin:10px 0 0 10px;border-radius:999px;padding:6px 16px;position:static}
html body #mdMenuRapido .mr-col-t::after{display:none}
html body .cella-perm label.pm i:not(#_),html body .cella-perm label.pm .bi:not(#_){color:#1d4ed8!important;-webkit-text-fill-color:#1d4ed8}

/* TESTI PIÙ GRANDI IN TUTTO IL GESTIONALE: nessun testo di lettura sotto 15 px (≈13,5 px reali con lo zoom 0,9). Esclusi esagoni, icone, numeretti e cerchietti, che hanno misure proprie. */
@media(min-width:992px){
  html body :is(main.content,.sidebar,.barra-stato,.guida-fin) :is(td,th,p,li,label,small,.small,.text-muted,.form-text,.form-label,.card-body,dd,dt,em,b,strong,a,span,.badge,.btn):not(.hex):not(.hex *):not(.bi):not(.ver-cerchio):not(.ctl-dot):not(.ctl-tab-n):not(.nav-cnt):not(.chip-n):not(sup):not(#_){font-size:max(1em,15px)}
  html body main.content :is(td,th,.small,small,.text-muted){font-size:max(1em,15px)!important}
  html body .sidebar .nav-lab,html body .sidebar .nav-link{font-size:max(1em,15.4px)!important}
}
/* Utenti e permessi: «File» e «Cerca» stanno nella riga dei tab senza andare a capo */
html body main.content .mod-tab-cerca:has(.targa-file):not(#_){flex-wrap:nowrap;white-space:nowrap}
/* il gruppo «File» nella riga dei tab è compatto (larghezza del contenuto) e non spinge «Filtri» e «Cerca» fuori dallo schermo */
html body main.content .mod-tab-cerca>.targa-file:not(#_){width:auto!important;min-width:0!important;max-width:none!important;flex:none!important;margin:0 4px 0 0!important;padding:3px 10px 3px 10px!important;gap:6px}
html body main.content .mod-tab-cerca>.targa-file .btn:not(#_){height:30px;padding:0 12px}
/* STAMPA dei permessi: compaiono solo le icone di ciò che il ruolo può fare (occhio = vede, matita = modifica); dove manca il permesso la cella resta vuota */
@media print{
  html body .cella-perm label:not(:has(input:checked)):not(#_){visibility:hidden!important}
  html body .cella-perm input[type=checkbox]:not(#_){display:none!important}
  html body .cella-perm label.pv i,html body .cella-perm label.pm i{color:#000!important;-webkit-text-fill-color:#000;font-size:14px}
  html body .cella-perm label:has(input:checked) i{opacity:1!important}
}

/* ===== MAPPA COMPATTA (targhette al posto degli esagoni) — attiva solo con html.mappa-chip (public/assets/mappa_compatta.js) ===== */
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv){display:flex!important;flex-wrap:wrap;gap:6px;height:auto!important;min-height:0!important;position:relative;filter:none!important;align-items:center;padding:4px 0}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex{position:static!important;width:auto!important;height:32px!important;left:auto!important;top:auto!important;clip-path:none!important;display:inline-flex!important;align-items:center;border-radius:999px;border:2px solid var(--c,#8a93a6)!important;background:#fff!important;padding:0 12px 0 8px;animation:none!important;transform:none!important;filter:none!important;box-shadow:0 2px 0 rgba(0,0,0,.14)}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex:hover{transform:translateY(-1px)!important;background:#fff3b8!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in{position:static!important;inset:auto!important;clip-path:none!important;background:none!important;display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;padding:0!important;box-shadow:none!important;color:#172033}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in b{font-size:14px!important;font-weight:800;color:#172033!important;line-height:1;margin:0}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in small{font-size:13.4px!important;color:#475569!important;margin:0;line-height:1}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in .sim,html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-sim{display:inline-flex!important;margin:0!important;height:auto!important;font-size:13px!important;align-items:center}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-sim>i.bi,html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in .sim{font-size:13px!important;color:var(--c,#475569)!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-sim .pallini{display:none!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sr{--c:#dc2638}html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sa{--c:#ea580c}html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sb{--c:#0284c7}html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sg,html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sn{--c:#8a93a6}html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sv{--c:#16a34a}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sr{background:#fdecee!important}html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sa{background:#fff1e4!important}
/* regolari e chiuse nascoste finché non si chiede di vederle; le strutture escluse da filtro o ricerca spariscono */
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.spenta{display:none!important}
html.mappa-chip .chip-reg{height:32px;border-radius:999px;border:1.5px dashed #64748b;background:#f8fafc;color:#334155;font-size:14px;font-weight:700;padding:0 14px;cursor:pointer}
html.mappa-chip .chip-reg:hover{background:#fff3b8}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in .sim{position:static!important;transform:none!important;margin:0 2px 0 0!important;display:inline-block!important;line-height:1}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in b{position:static!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex::before,html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex::after,html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in::before,html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in::after{display:none!important;content:none!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex *{text-shadow:none!important;filter:none!important;-webkit-text-fill-color:currentColor}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in b,html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in small{color:#172033!important;-webkit-text-fill-color:#172033!important;opacity:1!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in small{display:inline!important;font-weight:600}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex,html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex *{text-decoration:none!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex:not(#_),html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex-in:not(#_){background-image:none!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sr:not(#_){background-color:#fdecee!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sa:not(#_){background-color:#fff1e4!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sb:not(#_){background-color:#e6f4fc!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sv:not(#_){background-color:#e8f7ee!important}
html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sg:not(#_),html.mappa-chip :is(#alveare,#ctlAlveare,#arAlv) .hex.sn:not(#_){background-color:#eef1f6!important}

/* HOME DA TELEFONO (ruoli sul campo): pochi tasti grandi */
.ht{max-width:560px;margin:0 auto;padding:6px 4px 20px}
.ht-saluto{font-size:1.7rem;font-weight:800;margin:6px 0 0}.ht-sotto{color:#64748b;margin:0 0 14px;font-size:1rem}
.ht-tasti{display:grid;grid-template-columns:1fr;gap:12px}
.ht-t{position:relative;display:flex;align-items:center;gap:16px;min-height:88px;padding:14px 18px;border-radius:18px;text-decoration:none;color:#fff;box-shadow:0 4px 0 rgba(0,0,0,.25),0 8px 14px rgba(0,0,0,.14)}
.ht-t:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(0,0,0,.25)}
.ht-t i{font-size:2.2rem;flex:none;width:44px;text-align:center}
.ht-t span{display:flex;flex-direction:column;min-width:0}.ht-t b{font-size:1.25rem;line-height:1.15}.ht-t small{font-size:1rem;opacity:.95}
.ht-ctl{background:linear-gradient(135deg,#0f766e,#0d9488)}.ht-hd{background:linear-gradient(135deg,#c2410c,#ea580c)}.ht-tec{background:linear-gradient(135deg,#1d4ed8,#2563eb)}
.ht-t em{position:absolute;top:10px;right:12px;min-width:30px;height:30px;border-radius:999px;background:#dc2626;color:#fff;font-style:normal;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 8px;font-size:1.05rem}
.ht-vista{text-align:center;margin-top:18px}.ht-vista a{color:#475569;font-size:1rem}
@media(min-width:700px){.ht-tasti{grid-template-columns:1fr 1fr}}

/* striscia con il nome dell'utente e la scelta della vista (telefono e tablet) */
@media(max-width:767px){
  html body .marchio-barra{flex-wrap:wrap!important}
  html body .st-utente{flex:0 0 100%;order:99;display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:5px 12px 6px;margin:4px -12px -6px;background:rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.18);font-size:14px;color:#e8eef7}
  html body .st-nome{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  html body .st-nome b{color:#fff}.st-pdv{opacity:.85}
  html body .st-vista{flex:none;color:#ffd24d;font-weight:700;text-decoration:none;white-space:nowrap}
}
@media(min-width:768px){.st-utente{display:none!important}}
html body .st-utente .st-nome,html body .st-utente .st-nome i,html body .st-utente .st-nome b{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}html body .st-utente .st-pdv{color:#dbe4f0!important;-webkit-text-fill-color:#dbe4f0!important}
@media(max-width:767px){html body .marchio-barra:has(.st-utente){height:auto!important;min-height:calc(62px + 34px + env(safe-area-inset-top));padding-bottom:0!important;row-gap:0}html body .marchio-barra .st-utente{margin:4px -8px 0!important;background:#0e1d38!important;align-self:stretch;padding:6px 12px 7px}html body .marchio-barra{align-items:center}}
.ht-hd2{background:linear-gradient(135deg,#b45309,#d97706)}
/* TELEFONO: titoli, tab, cerca e striscia utente non escono dallo schermo (a capo invece di tagliare) */
@media(max-width:575px){
  html body .st-utente{flex-wrap:wrap!important;row-gap:2px}
  html body .st-utente .st-nome{flex:1 1 auto!important}
  html body .barra-pagina .riga-titolo,html body .barra-pagina .riga-titolo>div,html body .barra-pagina>.d-flex{flex-wrap:wrap!important;min-width:0}
  html body .barra-pagina h3,html body .riga-titolo h3,html body h3.dpi-h3{white-space:normal!important;overflow-wrap:anywhere;letter-spacing:.05em!important;font-size:1.15rem!important;min-width:0;max-width:100%}
  html body .mod-tabs,html body .ctl-tabs{flex-wrap:wrap!important;overflow-x:visible!important;row-gap:4px}
  html body .mod-tab-cerca,html body .gruppo-cerca,html body .campo-x,html body .gruppo-cerca input{max-width:100%!important;min-width:0!important;width:100%!important}
  html body .ctl-alv-filtri{flex-wrap:wrap!important;max-width:100%}
  html body table.cp-tab{display:block;max-width:100%;overflow-x:auto}
}
@media(max-width:575px){html body ul.nav.nav-tabs:not(#_):not(#__){flex-wrap:wrap!important;overflow-x:visible!important;row-gap:4px}html body ul.nav.nav-tabs:not(#_):not(#__) .nav-item{flex:0 1 auto;min-width:0}html body ul.nav.nav-tabs:not(#_):not(#__) .nav-link{white-space:normal}}
@media(max-width:575px){html body .barra-pagina .riga-titolo>div:not(#_):not(#__),html body .barra-pagina .riga-titolo .d-flex:not(#_):not(#__){flex-wrap:wrap!important;min-width:0;max-width:100%}html body .barra-pagina h3:not(#_):not(#__){white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal;max-width:100%;min-width:0;flex:1 1 150px}html body .gruppo-cerca:not(#_):not(#__),html body .gruppo-cerca .campo-x:not(#_):not(#__){max-width:100%!important;width:100%!important}html body .ctl-alv-filtri:not(#_):not(#__){flex-wrap:wrap!important;width:100%}}
@media(max-width:575px){html body .ctl-alv-barra:not(#_):not(#__){flex-wrap:wrap!important;row-gap:6px}html body .ctl-alv-barra:not(#_):not(#__)>*{max-width:100%}html body .ctl-alv-barra .ctl-alv-filtri:not(#_):not(#__){flex:1 1 100%;display:flex;flex-wrap:wrap;gap:6px}html body .ctl-alv-barra .gruppo-cerca:not(#_):not(#__){flex:1 1 100%}}

/* barra in basso: spazio occupato (solo Ufficio Tecnico e Amministratore) */
html body .barra-stato .bs-spazio{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#e8eef7;white-space:nowrap}
html body .barra-stato .bs-spazio.bs-sp-v i{color:#4ade80}html body .barra-stato .bs-spazio.bs-sp-a i{color:#fbbf24}html body .barra-stato .bs-spazio.bs-sp-r i,html body .barra-stato .bs-spazio.bs-sp-r b{color:#f87171}
@media(max-width:767px){html body .barra-stato .bs-spazio .bs-lbl{display:none}}
html body .barra-stato .bs-spazio{order:98;margin-left:auto}html body .barra-stato:has(.bs-spazio) .bs-data{margin-left:0}
@media(max-width:1280px){html body .barra-stato .bs-spazio .bs-lbl{display:none}}
@media(max-width:1300px){html body .barra-stato .bs-spazio.bs-hapc .bs-mb{display:none}html body .barra-stato .bs-spazio.bs-hapc .bs-pc{margin-left:-4px}}
html body .barra-stato .bs-spazio .bs-ic{font-size:1.15rem;line-height:1;background:linear-gradient(to top,var(--c) var(--p),rgba(255,255,255,.22) var(--p));-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
html body .barra-stato .bs-spazio.bs-sp-v{--c:#4ade80}html body .barra-stato .bs-spazio.bs-sp-a{--c:#fbbf24}html body .barra-stato .bs-spazio.bs-sp-r{--c:#f87171}
html body .barra-stato .bs-spazio.bs-sp-v i,html body .barra-stato .bs-spazio.bs-sp-a i,html body .barra-stato .bs-spazio.bs-sp-r i{color:transparent!important}
html body .barra-stato .bs-spazio.bs-sp-r b{color:#f87171}
/* spazio quasi pieno: lampeggia nella barra in basso (arancio dal 70%, piano; rosso dal 90%, veloce) */
@keyframes bsSpLamp{0%,100%{opacity:1}50%{opacity:.25}}
html body .barra-stato .bs-spazio.bs-sp-a{animation:bsSpLamp 2.4s ease-in-out infinite}
html body .barra-stato .bs-spazio.bs-sp-r{animation:bsSpLamp .9s ease-in-out infinite;font-weight:800}
@media(prefers-reduced-motion:reduce){html body .barra-stato .bs-spazio.bs-sp-a,html body .barra-stato .bs-spazio.bs-sp-r{animation:none}}
/* verbali da compilare: sfondi delle card alternati (azzurrino / crema) */
html body .ctl-qs-griglia>.ctl-qs-mod:nth-child(odd):not(#_):not(#__){background:#eaf3fb!important}
html body .ctl-qs-griglia>.ctl-qs-mod:nth-child(even):not(#_):not(#__){background:#fdf3df!important}
/* «Modulo vuoto» / «Moduli vuoti»: viola chiaro (non più giallo) */
html body .ctl-qs-tasti .btn:nth-child(2):not(#_):not(#__){background:#ede9fe!important;color:#5b21b6!important;border:1px solid #a78bfa!important}
html body .ctl-qs-tasti .btn:nth-child(2):not(#_):not(#__):hover{background:#ddd6fe!important}
html body .ctl-qs-tasti .btn:nth-child(2) i{color:#5b21b6!important}
/* verbali: tasti a colore pieno, mai dello stesso colore dello sfondo della card */
html body .ctl-qs-tasti .btn:nth-child(2):not(#_):not(#__){background:#7c3aed!important;color:#fff!important;border:1px solid #5b21b6!important}
html body .ctl-qs-tasti .btn:nth-child(2):not(#_):not(#__):hover{background:#6d28d9!important}
html body .ctl-qs-tasti .btn:nth-child(2) i{color:#fff!important}
html body .ctl-qs-tasti .btn:nth-child(3):not(#_):not(#__){background:#2563eb!important;color:#fff!important;border:1px solid #1e40af!important}
html body .ctl-qs-tasti .btn:nth-child(3):not(#_):not(#__):hover{background:#1d4ed8!important}
html body .ctl-qs-tasti .btn:nth-child(3) i{color:#fff!important}
html body .ctl-qs-tasti .btn.disabled,html body .ctl-qs-tasti .btn:disabled{opacity:.55}
/* titoli delle card dei verbali in maiuscolo */
html body .ctl-qs-mod>header b:not(#_):not(#__){text-transform:uppercase;letter-spacing:.04em}
/* pagina Bozze */
html body .bz-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
html body .bz-card{background:#fff;border:1px solid #d6dde8;border-top:4px solid #e0a100;border-radius:14px;padding:12px 14px;box-shadow:0 2px 8px rgba(15,23,42,.08)}
html body .bz-card:nth-child(even){background:#fdf3df}html body .bz-card:nth-child(odd){background:#eaf3fb}
html body .bz-card header{display:flex;gap:10px;align-items:flex-start;margin-bottom:6px}html body .bz-card header>i{font-size:1.4rem;color:#b45309}
html body .bz-card header b{text-transform:uppercase;letter-spacing:.03em;display:block}html body .bz-card header small{color:#475569}
html body .bz-card dl{margin:0 0 10px}html body .bz-card dl>div{display:flex;gap:8px;padding:2px 0}html body .bz-card dt{flex:0 0 105px;font-weight:600;color:#475569}html body .bz-card dd{margin:0;min-width:0}
html body .bz-tasti{display:flex;gap:8px;flex-wrap:wrap}
/* pagina Visite al sito */
html body .vs-filtri{display:flex;flex-wrap:wrap;gap:6px;align-items:center}html body .vs-et{font-weight:700;color:#475569;margin-right:2px}
html body .vs-avviso{max-width:900px}
html body .vs-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
html body .vs-k{background:#eaf3fb;border:1px solid #c9dcee;border-radius:12px;padding:10px 14px;text-align:center}html body .vs-k:nth-child(even){background:#fdf3df;border-color:#ecd9ad}
html body .vs-k b{display:block;font-size:1.9rem;line-height:1.1}html body .vs-k span{color:#475569}
html body .vs-k.vs-ok b{color:#15803d}html body .vs-k.vs-ko b{color:#b91c1c}html body .vs-k.vs-bot b{color:#64748b}
html body .vs-tit{font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#92400e}
html body .vs-paese{display:grid;grid-template-columns:minmax(120px,1.2fr) 1.4fr auto;gap:10px;align-items:center;padding:4px 6px;border-radius:8px;text-decoration:none;color:inherit}
html body .vs-paese:hover{background:#eef4fb}html body .vs-barra{display:block;height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden}html body .vs-barra i{display:block;height:100%;background:linear-gradient(90deg,#0f766e,#38bdf8)}
html body .vs-n{white-space:nowrap}html body .vs-n small{color:#64748b}
html body .vs-giorni{display:flex;align-items:flex-end;gap:6px;height:170px;overflow-x:auto;padding-bottom:4px}
html body .vs-g{flex:0 0 38px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px}
html body .vs-g i{display:block;width:100%;background:#2563eb;border-radius:5px 5px 0 0;min-height:4px}html body .vs-g small{font-size:.72rem;color:#64748b}html body .vs-g b{font-size:.8rem}
html body .vs-tab tr.vs-robot{opacity:.6}
/* barra in basso: visite al sito (solo Amministratore), a destra accanto allo spazio */
html body .barra-stato .bs-visite{order:97;margin-left:auto;display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#e8eef7;white-space:nowrap}
html body .barra-stato .bs-visite i{color:#38bdf8}html body .barra-stato .bs-visite.bs-vis-ko .bs-vko{color:#f87171;font-weight:700}
html body .barra-stato:has(.bs-visite) .bs-spazio{margin-left:0}
@media(max-width:1280px){html body .barra-stato .bs-visite .bs-lbl,html body .barra-stato .bs-visite .bs-vko{display:none}}
@media(min-width:821px) and (max-width:1300px){html body .barra-stato .marchio-tit:not(#_):not(#__){display:none!important}}
html body .barra-stato .bs-visite,html body .barra-stato .bs-spazio{cursor:pointer;pointer-events:auto;position:relative;z-index:2}
html body .barra-stato .bs-visite:hover,html body .barra-stato .bs-spazio:hover{text-decoration:underline}
/* menu laterale: logo e nome dell'azienda centrati (stessa aria sopra e sotto) */
html body .sidebar .logo-blocco:not(#_){display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 0 8px;text-align:center}
html body .sidebar .logo-blocco .logo-gestore:not(#_){margin:0 auto 4px!important}
html body .sidebar .logo-blocco .nome-azienda:not(#_){margin:0;padding:0 10px;text-align:center;width:100%}
html body .sidebar .logo-blocco:not(#_):not(#__){padding:0 0 10px}
html body .sidebar .logo-blocco .logo-gestore:not(#_):not(#__){margin:-6px auto 4px!important}
html body .sidebar .logo-blocco:not(#_):not(#__):not(#___){padding:10px 0 10px}
html body .sidebar .logo-blocco .logo-gestore:not(#_):not(#__):not(#___){margin:0 auto 5px!important}
html body .prov-wrap .prov-btn{height:38px;white-space:nowrap;flex:none}html body .prov-wrap select,html body .prov-wrap input[type=text]{min-width:0;flex:1 1 auto}
html body .prov-wrap{flex-wrap:wrap}html body .prov-wrap [hidden]{display:none!important}
html body .prov-wrap select,html body .prov-wrap input[type=text]{flex:1 1 100%;width:100%}
html body .prov-wrap .prov-btn{height:30px;padding:0 12px;margin-top:2px}
/* utente non attivo: sfondo rosso chiaro e scritta NON ATTIVO */
html body .campo-spunta:has(input[name=attivo]:not(:checked)):not(#_),html body .form-check:has(input[name=attivo]:not(:checked)):not(#_){background:#fde2e2!important;border:1px solid #f1a3a3}
html body .campo-spunta:has(input[name=attivo]:not(:checked)) label,html body .form-check:has(input[name=attivo]:not(:checked)) label{color:#b91c1c!important;font-weight:800;letter-spacing:.04em}
html body .nota-attivo{margin-top:6px;font-size:.88rem;line-height:1.35;font-weight:600}
html body .nota-attivo.nota-si{color:#15803d}html body .nota-attivo.nota-no{color:#b91c1c}
html body .nota-attivo .nota-serve{display:block;color:#475569;font-weight:500;margin-bottom:3px}html body .nota-attivo .nota-stato{display:block}
/* stato dell'utente (solo indicazione: si cambia col pulsante in «Accesso e sicurezza») */
html body .stato-attivo{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;font-size:1rem;margin-top:2px}
html body .stato-attivo.sa-si{background:#dcfce7;border:1px solid #86efac;color:#15803d}html body .stato-attivo.sa-no{background:#fde2e2;border:1px solid #f1a3a3;color:#b91c1c}
html body .stato-attivo i{font-size:1.2rem}html body .stato-attivo b{letter-spacing:.06em}
html body .nota-attivo .nota-azione{display:block;margin-top:3px;font-weight:600;color:#1e3a8a}
/* pulsante attivo/disattivo dell'utente: colore pieno dello stato (verde scuro = attivo, rosso = disattivato) */
html body .acc-voce .btn.btn-stato-si:not(#_):not(#__){background:#166534!important;border:1px solid #0f4a26!important;color:#fff!important}
html body .acc-voce .btn.btn-stato-si:not(#_):not(#__):hover{background:#14532d!important}
html body .acc-voce .btn.btn-stato-no:not(#_):not(#__){background:#dc2626!important;border:1px solid #991b1b!important;color:#fff!important}
html body .acc-voce .btn.btn-stato-no:not(#_):not(#__):hover{background:#b91c1c!important}
html body .acc-voce .btn.btn-stato-si i,html body .acc-voce .btn.btn-stato-no i{color:#fff!important}
/* TASTI GRIGI più scuri e riconoscibili (Stampa, Excel, CSV, Annulla, Chiudi…): sfondo grigio medio, bordo e testo scuri */
html body .btn.btn-outline-secondary:not(.btn-ic):not(.btn-sm-chiaro):not(#_),html body .btn.btn-secondary:not(.btn-ic):not(#_),html body .btn.btn-light:not(.btn-ic):not(#_){background:#cdd5e0!important;border:1px solid #4b5a73!important;color:#111827!important;box-shadow:0 1px 0 rgba(15,23,42,.18)}
html body .btn.btn-outline-secondary:not(.btn-ic):not(#_):hover,html body .btn.btn-outline-secondary:not(.btn-ic):not(#_):focus,html body .btn.btn-secondary:not(.btn-ic):not(#_):hover,html body .btn.btn-light:not(.btn-ic):not(#_):hover{background:#b9c4d4!important;border-color:#334155!important;color:#0b1220!important}
html body .btn.btn-outline-secondary:not(.btn-ic):not(#_) i,html body .btn.btn-secondary:not(.btn-ic):not(#_) i,html body .btn.btn-light:not(.btn-ic):not(#_) i{color:#1f2937!important}
html body .btn.btn-outline-secondary:not(.btn-ic):not(#_):disabled,html body .btn.btn-outline-secondary:not(.btn-ic):not(#_).disabled{background:#e4e9f0!important;border-color:#94a3b8!important;color:#64748b!important;opacity:.85}
/* verbali (schede Controlli): tre tasti a colore pieno e icone bianche, anche se il tasto è «grigio» (outline-secondary) */
html body .ctl-qs-tasti .btn:nth-child(1):not(#_):not(#__):not(#___){background:#0f766e!important;border:1px solid #0b5c54!important;color:#fff!important}
html body .ctl-qs-tasti .btn:nth-child(1):not(#_):not(#__):not(#___):hover{background:#0b5c54!important}
html body .ctl-qs-tasti .btn:nth-child(2):not(#_):not(#__):not(#___){background:#7c3aed!important;border:1px solid #5b21b6!important;color:#fff!important}
html body .ctl-qs-tasti .btn:nth-child(2):not(#_):not(#__):not(#___):hover{background:#6d28d9!important}
html body .ctl-qs-tasti .btn:nth-child(3):not(#_):not(#__):not(#___){background:#2563eb!important;border:1px solid #1e40af!important;color:#fff!important}
html body .ctl-qs-tasti .btn:nth-child(3):not(#_):not(#__):not(#___):hover{background:#1d4ed8!important}
html body .ctl-qs-tasti .btn:not(#_):not(#__):not(#___) i,html body .ctl-qs-tasti .btn:not(#_):not(#__):not(#___) .bi{color:#fff!important}
/* barra in basso su telefono e tablet stretto: il nome TECARO (TECA bianco, RO verde) davanti al titolo */
html body .barra-stato .marchio-tit .mt-marchio{display:none;font-style:italic;font-weight:800;letter-spacing:.06em;margin-right:6px}
html body .barra-stato .marchio-tit .mt-marchio span{color:#7fd32b}
@media(max-width:820px){html body .barra-stato .marchio-tit .mt-marchio{display:inline;color:#fff}}
html body .barra-stato .marchio-tit .mt-marchio .nome-verde{color:#7fd32b;-webkit-text-fill-color:#7fd32b}
html body .barra-stato .marchio-tit .mt-marchio .ver-cerchio{color:#fff;-webkit-text-fill-color:#fff;border-color:#fff;font-style:normal;margin-left:3px;margin-right:4px}
/* piedino del menu su telefono e tablet: «Menu rapido» sopra, «Usa TECARO come app» sotto, senza sovrapposizioni */
@media(max-width:991px){html body .sidebar .menu-sistema:not(#_){flex-direction:column;align-items:stretch;gap:8px}
 html body .sidebar .menu-sistema .menu-sistema-tendina:not(#_){flex:none;width:100%}
 html body .sidebar .menu-sistema .menu-sistema-tendina .btn-sistema:not(#_){width:100%}
 html body .sidebar .menu-sistema .app-riga:not(#_){width:100%;padding:4px 2px}}
/* telefono e tablet: il pulsante del menu (le tre lineette) è più lungo, a pillola */
@media(max-width:991px){html body .marchio-barra .btn-menu:not(#_):not(#__){width:56px!important;min-width:56px!important;border-radius:999px!important}}
/* scheda utente compatta: titolo con il nome evidenziato, stato nel titolo, nota in fondo */
html body .ut-titolo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #d6dde8}
html body .ut-titolo>i{font-size:1.5rem;color:#0f766e}
html body .ut-nome{font-weight:800;font-size:1.2rem;letter-spacing:.02em;color:#1e2a52;background:linear-gradient(transparent 12%,#ffe27a 12%,#ffd24d 88%,transparent 88%);padding:1px 10px;border-radius:6px}
html body .ut-stato{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:999px;font-size:.85rem}
html body .ut-stato.sa-si{background:#dcfce7;border:1px solid #86efac;color:#15803d}html body .ut-stato.sa-no{background:#fde2e2;border:1px solid #f1a3a3;color:#b91c1c}
html body .ut-stato b{letter-spacing:.06em}
html body .nota-utente{font-size:.82rem;line-height:1.35;padding:6px 10px;border-radius:8px;background:#f1f5f9;border-left:4px solid #94a3b8;color:#475569}
html body .nota-utente.nota-si b:nth-of-type(2){color:#15803d}html body .nota-utente.nota-no{border-left-color:#dc2626;background:#fef2f2}html body .nota-utente.nota-no b:nth-of-type(2){color:#b91c1c}
html body #frmE .form-label{margin-bottom:2px}
html body .prov-wrap{flex-wrap:nowrap}html body .prov-wrap select,html body .prov-wrap input[type=text]{flex:1 1 auto;width:auto;min-width:0}html body .prov-wrap .prov-btn{margin-top:0;height:38px;padding:0 10px;font-size:.82rem}
/* titolo della scheda utente: più grande */
html body .ut-titolo{gap:14px;padding-bottom:8px}
html body .ut-titolo>i{font-size:2.3rem}
html body .ut-nome{font-size:1.9rem;line-height:1.25;padding:2px 14px;border-radius:8px;letter-spacing:.03em}
html body .ut-stato{font-size:1rem;padding:5px 16px}
html body .ut-stato i{font-size:1.2rem}
html body main.content .ut-titolo .ut-nome:not(#_){font-size:1.9rem!important;line-height:1.25}
html body main.content .ut-titolo .ut-stato,html body main.content .ut-titolo .ut-stato b:not(#_){font-size:1rem!important}
/* foto dell'utente nella scheda */
html body .ut-foto{position:relative;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#e2e8f0;border:2px solid #0f766e;flex:none;box-shadow:0 2px 6px rgba(15,23,42,.25)}
html body .ut-foto>img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
html body .ut-foto>i.bi-person-circle{font-size:3.2rem;color:#0f766e;line-height:1}
html body .ut-foto .ut-foto-cambia,html body .ut-foto .ut-foto-togli{position:absolute;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:2px solid #fff;color:#fff;padding:0;cursor:pointer;font-size:.8rem;box-shadow:0 1px 3px rgba(0,0,0,.4)}
html body .ut-foto .ut-foto-cambia{right:-6px;bottom:-6px;background:#2563eb}html body .ut-foto .ut-foto-togli{left:-6px;bottom:-6px;background:#dc2626}
html body .ut-foto .ut-foto-cambia i,html body .ut-foto .ut-foto-togli i{color:#fff!important;font-size:.8rem}
html body .ut-foto.ut-foto-attesa{opacity:.55}
html body .ut-titolo>.ut-foto{margin-right:2px}
html body .ut-azioni{display:flex;gap:8px;justify-content:flex-end;padding-top:6px;border-top:1px solid #d6dde8;margin-top:4px}
/* CARD con bordo in 3D: luce in alto a sinistra, spessore e ombra in basso a destra */
html body main.content .card:not(#_):not(.card-nessun-3d),html body main.content .bz-card:not(#_),html body main.content .vs-k:not(#_){
  border:1px solid #b8c6da!important;border-top-color:#e6edf7!important;border-left-color:#d3deec!important;border-bottom:3px solid #8fa3c0!important;border-right:2px solid #a3b4cd!important;
  border-radius:14px!important;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.95),0 2px 0 rgba(15,23,42,.10),3px 5px 10px rgba(15,23,42,.16)!important}
/* nome dell'utente nel titolo: evidenziato in grigio */
html body .ut-nome:not(#_){background:#d3d9e3!important;color:#1e2a52}
/* permessi: livello «Tutte» e scelta di più sezioni insieme */
html body .cella-perm .pt{margin-left:4px;color:#a16207}html body .cella-perm .pt input:checked+i{color:#d97706}
html body .pm-multi{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 8px;padding:8px 10px;border:1px solid #c9d4e4;border-radius:10px;background:#eef3fa;font-size:.88rem}
html body .pm-multi select{width:auto;min-width:150px}
html body .pm-r .pm-sel{display:inline-flex;align-items:center;margin-right:6px;flex:none}html body .pm-r .pm-sel input{width:18px;height:18px;accent-color:#2563eb}
/* nome e ruolo nel titolo della scheda utente */
html body .ut-nome-blocco{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
html body .ut-ruolo{font-size:1rem;font-weight:700;color:#0f766e;letter-spacing:.06em;text-transform:uppercase;padding-left:4px}
html body main.content .ut-titolo .ut-ruolo:not(#_){font-size:1rem!important}
html body #frmE button:disabled,html body .acc-permessi button:disabled{opacity:.5;cursor:not-allowed}
html body button:disabled[title='Nessuna modifica da salvare'],html body input[type=submit]:disabled[title='Nessuna modifica da salvare']{opacity:.5;cursor:not-allowed}
/* tabella dei permessi per ruolo: linea verticale tra un ruolo e l'altro */
html body table.tab-permessi th:not(:first-child),html body table.tab-permessi td:not(:first-child){border-left:1px solid #9fb0c8!important}
html body table.tab-permessi th:first-child,html body table.tab-permessi td:first-child{border-right:2px solid #6f84a6!important}
html body table.tab-permessi tr.table-light td[colspan]{border-left:0!important}
/* scheda utente: nome e ruolo anche a destra nella barra del titolo della pagina */
html body .ut-barra{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;padding:2px 12px;border-right:4px solid #0f766e}
html body .ut-barra-nome{font-weight:800;font-size:1.05rem;color:#1e2a52;background:#d3d9e3;padding:1px 10px;border-radius:6px}
html body .ut-barra-ruolo{font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#0f766e;margin-top:2px}
/* permessi dell'utente: linee verticali e legenda in basso */
html body .acc-permessi .pm-g{gap:0 0!important}
html body .acc-permessi .pm-g>.pm-r:nth-child(even){border-left:2px solid #8fa3c0;margin-left:10px;padding-left:12px}
html body .acc-permessi .pm-r .pm-ic{border-left:1px solid #9fb0c8;padding-left:8px}
html body .acc-permessi .pm-ic label+label{border-left:1px solid #c9d4e4;padding-left:6px}
html body .pm-legenda{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin:10px 0 6px;padding:8px 12px;border:1px solid #c9d4e4;border-radius:10px;background:#f1f5f9;font-size:.82rem;color:#334155}
html body .pm-legenda .pm-pallino{display:inline-block;width:16px;height:16px;border-radius:50%;border:1.5px solid #8fa3c0;background:#eef1f6;vertical-align:middle}
html body .pm-legenda .pm-pallino.pm-on{background:#16a34a;border-color:#16a34a}
html body .pm-legenda .pm-gialla{display:inline-block;width:18px;height:12px;background:#fff3cd;border-left:4px solid #f0b429;vertical-align:middle}
html body .acc-permessi .pm-g{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body .acc-permessi .pm-r .pm-ic{gap:4px}
@media(max-width:760px){html body .acc-permessi .pm-g{grid-template-columns:minmax(0,1fr)!important}html body .acc-permessi .pm-g>.pm-r:nth-child(even){border-left:4px solid transparent;margin-left:0;padding-left:6px}}
/* righe di tab e comandi (FILE, Filtri, Cerca) quando vanno a capo: non si toccano */
html body ul.nav.nav-tabs:not(#_):not(#__):not(#___){row-gap:10px!important}
html body ul.nav.nav-tabs:not(#_):not(#__):not(#___):not(#____){row-gap:20px!important}
/* FILE, Filtri e Cerca: stessa linea, stessa altezza, centrati */
html body .mod-tab-cerca:not(#_){display:flex!important;align-items:center!important;gap:10px}
html body .mod-tab-cerca>.targa-file:not(#_){height:40px!important;min-height:40px;margin:0!important;display:inline-flex;align-items:center}
html body .mod-tab-cerca>.btn.fn-filtri:not(#_){height:40px!important;margin:0!important;display:inline-flex;align-items:center}
html body .mod-tab-cerca>.campo-x:not(#_){height:40px!important;margin:0!important;display:flex;align-items:center}
html body .mod-tab-cerca>.campo-x:not(#_) input{height:40px!important;margin:0!important}
html body .mod-tab-cerca>*:not(#_){margin-top:0!important;margin-bottom:0!important}
/* scheda Utenti e permessi (e altre con tab + FILE/Filtri/Cerca): più compatta in verticale */
html body ul.nav.nav-tabs:not(#_):not(#__):not(#___):not(#____):not(#_____){row-gap:12px!important;margin-top:4px!important}
html body .mod-tab-cerca>.campo-x:not(#_):not(#__){top:-1px!important}
html body .barra-pagina:not(#_){padding-bottom:2px!important}
html body #tabAut:not(#_){margin:0!important}
html body #targhetteUtenti.riga-contatori:not(#_){margin:4px 0 2px!important;padding:0!important;gap:6px!important;row-gap:4px!important;min-height:0!important}
html body #targhetteUtenti .chip-sem:not(#_){padding-top:3px!important;padding-bottom:3px!important}
html body .tab-content>.tab-pane>.d-flex.mb-2.small:not(#_){margin-bottom:2px!important}
/* scheda utente: struttura e indirizzo accanto al nominativo */
html body .ut-contesto{display:flex;flex-direction:column;gap:2px;min-width:0;padding-left:14px;border-left:3px solid #94a3b8;line-height:1.25}
html body .ut-contesto[hidden]{display:none}
html body .ut-contesto>b{font-size:1.05rem;color:#1e2a52}
html body .ut-ctx-ind{font-size:.92rem;color:#475569}
html body .ut-ctx-ind a{margin-left:4px}
html body main.content .ut-contesto>b:not(#_){font-size:1.05rem!important}
html body main.content .ut-contesto .ut-ctx-ind:not(#_){font-size:.92rem!important}
/* DPI per reparto: da telefono e tablet i nomi dei reparti stanno in verticale, uno per colonna, senza sovrapporsi */
@media(max-width:991px){
  html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_){writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;display:block;margin:0 auto 6px;text-align:left;max-height:150px;overflow:hidden;text-overflow:ellipsis}
  html body .dpi-tab thead th:not(.prima):not(#_){vertical-align:bottom;padding-left:2px;padding-right:2px}
  html body .dpi-tab thead th .nrep:not(#_){display:block;text-align:center;white-space:nowrap;font-size:.7rem!important}
}
/* screensaver: nel piede c'è il logo di KRessèntia al posto della scritta */
.sv-kr-logo{display:inline-flex;align-items:center}
.sv-kr-logo img{height:min(5.6vmin,4.2vw);width:auto;filter:drop-shadow(0 0 1.2vmin rgba(240,180,41,.35))}
.sv-prev .sv-kr-logo img{height:min(6.4cqmin,4.8cqw)}
html body .sv-kr-logo{gap:.7vmin}
html body .sv-kr-logo img{height:min(9vmin,6.6vw)}
.sv-prev .sv-kr-logo img{height:min(10cqmin,7.2cqw)}
html body .sv-kr-logo img{height:min(5.4vmin,4vw)}
.sv-prev .sv-kr-logo img{height:min(6.2cqmin,4.6cqw)}
/* DPI per reparto (computer): intestazioni allineate in alto; i conteggi e i tasti stanno tutti alla stessa altezza */
@media(min-width:992px){
  html body .dpi-tab thead th:not(.prima):not(#_){vertical-align:top!important}
  html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_){display:flex;align-items:flex-start;justify-content:center;min-height:3.7em;line-height:1.2;text-align:center}
}
/* DPI per reparto (computer): i nomi sono centrati in una casella di altezza fissa (tre righe): stessa linea centrale per tutte le colonne, conteggi e tasti sempre alla stessa quota */
@media(min-width:992px){
  html body .dpi-tab thead th:not(.prima):not(#_):not(#__){vertical-align:middle!important;padding-top:8px;padding-bottom:6px}
  html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_):not(#__){display:flex;align-items:center;justify-content:center;height:3.7em;min-height:3.7em;line-height:1.2;text-align:center;margin-bottom:4px}
  html body .dpi-tab thead th:not(.prima) .nrep:not(#_){display:block;text-align:center}
}
/* DPI per reparto (computer): nomi appoggiati in alto in una casella di tre righe; sotto, sempre alla stessa quota, il conteggio e poi le icone */
@media(min-width:992px){
  html body .dpi-tab thead th:not(.prima):not(#_):not(#__):not(#___){vertical-align:top!important;padding-top:8px}
  html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_):not(#__):not(#___){display:flex;align-items:flex-start;justify-content:center;height:3.9em;min-height:3.9em;margin-bottom:6px}
  html body .dpi-tab thead th:not(.prima) .nrep:not(#_):not(#__){margin-bottom:6px}
}
@media(min-width:992px){html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_):not(#__):not(#___):not(#____){align-items:flex-start!important;justify-content:center!important}}
@media(min-width:992px){html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_):not(#__):not(#___):not(#____):not(#_____){display:block!important;text-align:center!important;height:4.9em!important;min-height:4.9em!important;margin-bottom:6px;overflow:visible}}
@media(min-width:1500px){html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_):not(#__):not(#___):not(#____):not(#_____){height:3.9em!important;min-height:3.9em!important}}
@media(min-width:992px){html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_):not(#__):not(#___):not(#____):not(#_____):not(#______){overflow-wrap:normal!important;word-break:normal!important;hyphens:none}}
@media(min-width:1500px) and (max-width:1699px){html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_):not(#__):not(#___):not(#____):not(#_____):not(#______){height:4.9em!important;min-height:4.9em!important}}
@media(min-width:992px) and (max-width:1499px){html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_):not(#__):not(#___):not(#____):not(#_____):not(#______){letter-spacing:-.03em;padding:0 1px}}
/* DPI per reparto: icone matita e cestino colorate + legenda in alto */
html body .dpi-tab [data-ren-rep] i,html body .dpi-tab [data-ren-dpi] i,html body .dpi-tab .bi-pencil{color:#2563eb!important}
html body .dpi-tab [data-del-rep] i,html body .dpi-tab [data-del-dpi] i,html body .dpi-tab .bi-trash,html body .dpi-tab .bi-trash3{color:#dc2626!important}
html body .dpi-legenda{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin:0 0 8px;padding:6px 12px;border:1px solid #c9d4e4;border-radius:10px;background:#f1f5f9;font-size:.85rem;color:#334155}
html body .dpi-legenda .dpi-ic-mod{color:#2563eb;font-size:1.05rem}html body .dpi-legenda .dpi-ic-del{color:#dc2626;font-size:1.05rem}
html body .dpi-legenda .dpi-pallino{display:inline-block;width:16px;height:16px;border-radius:50%;border:1.5px solid #8fa3c0;background:#eef1f6;vertical-align:middle}
html body .dpi-legenda .dpi-pallino.dpi-on{background:#16a34a;border-color:#16a34a}
/* DPI per reparto (computer): una riga separa il nome del reparto dal conteggio e dalle icone */
@media(min-width:992px){html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_):not(#__):not(#___):not(#____):not(#_____):not(#______):not(#_______){border-bottom:1.5px solid #8fa3c0;box-sizing:border-box;margin-bottom:6px}}
/* DPI per reparto (computer): intestazione compatta in verticale */
@media(min-width:1700px){
  html body .dpi-tab thead th:not(.prima) .rep-nm:not(#_):not(#__):not(#___):not(#____):not(#_____):not(#______):not(#_______){height:3.7em!important;min-height:3.7em!important;margin-bottom:3px}
}
@media(min-width:992px){
  html body .dpi-tab thead th:not(.prima):not(#_):not(#__):not(#___):not(#____){padding-top:5px!important;padding-bottom:3px!important}
  html body .dpi-tab thead th:not(.prima) .nrep:not(#_):not(#__):not(#___){margin-bottom:0!important;line-height:1.15}
  html body .dpi-tab thead th:not(.prima) .d-block:not(#_){line-height:1}
  html body .dpi-tab thead th:not(.prima) .d-block .btn:not(#_){padding:0 3px!important;line-height:1}
}
html body .dpi-legenda:not(#_){justify-content:flex-end}
/* DPI per reparto: le icone matita e cestino di ogni DPI stanno incolonnate a destra, a fianco del bordo della colonna */
html body .dpi-tab td.prima{position:relative;padding-right:64px!important}
html body .dpi-tab td.prima .dpi-azioni{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
html body .nome-marchio.nm-scatola{gap:0!important}
html body .nome-marchio.nm-scatola .ver-cerchio{margin-left:.4em!important}
/* DPI per reparto: targhetta delle voci aggiunte da una struttura */
html body .dpi-prop{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:#fff3cd;border:1px solid #f0b429;color:#7a4b00;font-size:12px;font-weight:700;line-height:16px;letter-spacing:0;vertical-align:middle;white-space:nowrap;text-transform:none}
html body .dpi-tab thead th .dpi-prop{display:table;margin:2px auto 0}
html body .dpi-tab td.prima .dpi-prop{margin-left:8px}
/* verbali da compilare: in tutte le schede titolo, stato e tasti stanno esattamente sulle stesse righe (righe condivise con la griglia, anche se il sottotitolo va a capo) */
html body .ctl-qs-griglia:not(#_){grid-auto-rows:auto;align-items:stretch}
html body .ctl-qs-griglia>.ctl-qs-mod:not(#_){display:grid!important;grid-row:span 3;grid-template-rows:subgrid;row-gap:6px;align-items:start;justify-items:stretch}
html body .ctl-qs-griglia>.ctl-qs-mod>header:not(#_){min-height:0;align-self:start}
html body .ctl-qs-griglia>.ctl-qs-mod>.ctl-pill:not(#_){align-self:start;width:100%;box-sizing:border-box}
html body .ctl-qs-griglia>.ctl-qs-mod>.ctl-qs-tasti:not(#_){align-self:start;margin-top:0}
/* catalogo delle dotazioni: icone delle azioni a colori */
html body .cat-tab td.cat-az .btn i{font-size:1.15rem!important}
html body .cat-tab td.cat-az [data-conf] i{color:#16a34a!important}
html body .cat-tab td.cat-az [data-mod] i{color:#2563eb!important}
html body .cat-tab td.cat-az [data-del] i{color:#dc2626!important}
html body .cat-tab td.cat-az .btn:hover i{filter:brightness(.8)}
html body #mdVoce .form-control:not(#_){width:100%!important;max-width:none!important}
/* catalogo delle dotazioni: riga del titolo di zona ancora più evidente (colore pieno della zona, testo bianco grande) */
html body main .cat-tab tr.cat-zona>td:not(#_):not(#__){background:var(--zc,#1e3a8a)!important;background-image:linear-gradient(180deg,rgba(255,255,255,.18),rgba(0,0,0,.18))!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:1.1rem!important;font-weight:900!important;letter-spacing:.1em!important;padding:9px 10px!important;border-top:4px solid rgba(0,0,0,.45)!important;border-bottom:3px solid rgba(0,0,0,.35)!important}
html body main .cat-tab tr.cat-zona .cat-n:not(#_){color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:.9}
/* catalogo delle dotazioni: finestra delle informazioni */
html body .cat-info h6{margin:14px 0 4px;font-weight:800;color:#1e3a8a}html body .cat-info h6:first-child{margin-top:0}html body .cat-info ul{margin:0 0 4px;padding-left:1.2rem}html body .cat-info li{margin:2px 0}
/* finestre di eliminazione del catalogo e delle bozze: titolo con icona, voce evidente, avviso, campo a tutta larghezza, tasti della stessa misura */
html body .dlg-elimina .modal-dialog{max-width:520px}
html body .dlg-elimina .modal-content{border:0;border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(15,23,42,.45)}
html body .dlg-elimina .dlg-testa{display:flex;align-items:center;gap:14px;padding:16px 20px;background:linear-gradient(180deg,#dc2626,#b91c1c);color:#fff}
html body .dlg-elimina .dlg-ic{display:inline-flex;align-items:center;justify-content:center;flex:none;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.65)}
html body .dlg-elimina .dlg-ic i{font-size:1.45rem;color:#fff!important}
html body .dlg-elimina .dlg-testa h5{margin:0;font-size:1.2rem;font-weight:800;letter-spacing:.02em;color:#fff!important;text-transform:none}
html body .dlg-elimina .dlg-testa p{margin:2px 0 0;font-size:.85rem;opacity:.9;color:#fff!important}
html body .dlg-elimina .modal-body{padding:18px 20px 20px;background:#fff}
html body .dlg-elimina .dlg-voce{background:#fef2f2;border:1px solid #fecaca;border-left:5px solid #dc2626;border-radius:10px;padding:10px 14px;margin-bottom:12px}
html body .dlg-elimina .dlg-voce small{display:block;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#991b1b;font-weight:700}
html body .dlg-elimina .dlg-voce b{display:block;font-size:1.1rem;color:#0f172a;overflow-wrap:anywhere}
html body .dlg-elimina .dlg-avviso{display:flex;gap:10px;align-items:flex-start;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:9px 12px;margin-bottom:14px;font-size:.9rem;color:#78350f}
html body .dlg-elimina .dlg-avviso i{color:#d97706!important;font-size:1.1rem;margin-top:1px}
html body .dlg-elimina .dlg-et{display:block;margin:0 0 5px;font-weight:700;font-size:.9rem;color:#334155}
html body .dlg-elimina .dlg-et i{color:#475569!important}
html body .dlg-elimina .form-control:not(#_){width:100%!important;max-width:none!important;height:38px}
html body .dlg-elimina .dlg-tasti{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
html body .dlg-elimina .dlg-tasti .btn{height:34px;min-width:120px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border-radius:999px;font-weight:700}
html body .dlg-elimina .dlg-tasti .btn-danger{background:#dc2626!important;border-color:#b91c1c!important;color:#fff!important}
html body .dlg-elimina .dlg-tasti .btn-danger i{color:#fff!important}
html body .dlg-elimina .dlg-tasti .btn.btn-danger:not(#_):not(#__){background:linear-gradient(180deg,#ef4444,#b91c1c)!important;background-color:#dc2626!important;border:1px solid #991b1b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 0 rgba(0,0,0,.35)!important;box-shadow:0 2px 0 rgba(0,0,0,.18)!important}
html body .dlg-elimina .dlg-tasti .btn.btn-danger:not(#_):not(#__):hover{background:linear-gradient(180deg,#f87171,#dc2626)!important}
html body .dlg-elimina .dlg-tasti .btn.btn-danger i:not(#_){color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .area-fissa form.cat-filtri:not(#_){margin-top:14px!important;margin-bottom:10px!important}
/* finestra «Salva nelle bozze»: stessa struttura della finestra di eliminazione, testata blu */
html body .dlg-elimina.dlg-blu .dlg-testa{background:linear-gradient(120deg,#0f3d63,#1565c0 60%,#1e88e5)}
html body .dlg-elimina.dlg-blu .dlg-voce{background:#eff6ff;border-color:#bfdbfe;border-left-color:#1d4ed8}
html body .dlg-elimina.dlg-blu .dlg-voce small{color:#1e3a8a}
html body .dlg-elimina.dlg-blu .dlg-avviso{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}html body .dlg-elimina.dlg-blu .dlg-avviso i{color:#1d4ed8!important}
/* righe di intestazione (titolo della bozza, titolo della zona): non cambiano colore al passaggio del mouse */
html body .bz-tab tr.bz-lista:hover>td:not(#_):not(#__){background:#1e3a8a!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .bz-tab tr.bz-lista:hover .bz-ln:not(#_),html body .bz-tab tr.bz-lista:hover .bz-lm:not(#_){color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .bz-tab tr.bz-lista:hover .btn-link:not(#_),html body .bz-tab tr.bz-lista:hover .btn-link i:not(#_){color:#fecaca!important}
html body main .cat-tab tr.cat-zona:hover>td:not(#_):not(#__){background-color:var(--zc,#1e3a8a)!important;background-image:linear-gradient(180deg,rgba(255,255,255,.18),rgba(0,0,0,.18))!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
/* bozze: caselle aggiunte dall'utente con «+ Aggiungi» */
html body .ex-x{border:0;background:#fee2e2;color:#b91c1c;border-radius:50%;width:18px;height:18px;line-height:16px;padding:0;font-weight:800;cursor:pointer;margin-left:4px}
html body .ex-nuovo{background:#eef4fb;border-left:4px solid #3b82f6;border-radius:8px;padding:8px 12px;margin-top:6px}
html body .bz-tab .bz-x i{font-style:normal;font-weight:700;color:#334155}
html body #mdVoce #vExLabel{flex:1 1 auto}
/* bozze: riga-titolo di ogni bozza con i colori standard delle intestazioni di tabella (come la riga con VOCE, MARCA…), senza cambiare al passaggio del mouse */
html body .bz-tab tr.bz-lista>td:not(#_):not(#__),html body .bz-tab tr.bz-lista:hover>td:not(#_):not(#__){background:#e1e7f1!important;background-image:none!important;color:#6b4300!important;-webkit-text-fill-color:#6b4300!important;border-top:2px solid #b4c0d3!important;border-bottom:1px solid #b4c0d3!important}
html body .bz-tab tr.bz-lista .bz-ln:not(#_),html body .bz-tab tr.bz-lista:hover .bz-ln:not(#_){color:#6b4300!important;-webkit-text-fill-color:#6b4300!important;letter-spacing:.06em}
html body .bz-tab tr.bz-lista .bz-lm:not(#_),html body .bz-tab tr.bz-lista:hover .bz-lm:not(#_){color:#334155!important;-webkit-text-fill-color:#334155!important}
html body .bz-tab tr.bz-lista i:not(#_){color:#6b4300!important}
html body .bz-tab tr.bz-lista .btn-link:not(#_),html body .bz-tab tr.bz-lista .btn-link i:not(#_),html body .bz-tab tr.bz-lista:hover .btn-link:not(#_),html body .bz-tab tr.bz-lista:hover .btn-link i:not(#_){color:#dc2626!important;-webkit-text-fill-color:#dc2626!important}
/* bozze: righe-titolo compatte (una riga sola, tutto allineato) e testi neri; il titolo resta com'è */
html body .bz-tab tr.bz-lista>td:not(#_):not(#__){padding:3px 12px!important;height:auto!important}
html body .bz-tab .bz-lw{display:flex;align-items:center;gap:10px;min-height:24px;line-height:1.2}
html body .bz-tab .bz-lw .ms-auto{margin-left:auto!important;float:none!important;display:inline-flex;align-items:center;gap:5px}
html body .bz-tab tr.bz-lista .bz-lm:not(#_),html body .bz-tab tr.bz-lista:hover .bz-lm:not(#_){color:#000!important;-webkit-text-fill-color:#000!important;font-weight:500}
html body .bz-tab tr.bz-lista .bz-chev:not(#_),html body .bz-tab tr.bz-lista .bz-ln i:not(#_){color:#000!important}
html body .bz-tab tr.bz-lista .bz-ln:not(#_),html body .bz-tab tr.bz-lista:hover .bz-ln:not(#_){margin-right:0!important}
html body .bz-tab tr.bz-lista>td:not(#_):not(#__){padding:1px 12px!important}html body .bz-tab .bz-lw{min-height:20px!important}html body .bz-tab .bz-lw .ms-auto{line-height:1}
html body #mdBozza .bz-tab-m thead th:not(#_):not(#__){position:static!important;top:auto!important}html body #mdBozza .bz-tab-m tr.bz-r{cursor:pointer}html body #mdBozza .bz-tab-m tr.bz-r:hover>td{background:#fff7d6!important}
/* bozze: targhetta «Usata in RIS-…» */
html body .bz-tab .bz-usata{display:inline-flex;align-items:center;gap:4px;padding:0 9px;border-radius:999px;background:#dcfce7;border:1px solid #86efac;color:#15803d!important;-webkit-text-fill-color:#15803d!important;font-size:12px;font-weight:700;line-height:18px;margin-right:10px}
html body .bz-tab .bz-usata i{color:#15803d!important}
html body .cat-filtri .bz-riga-t{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#000;margin-right:6px}html body .cat-filtri .bz-riga-t i{color:#6b4300!important}html body .cat-filtri .bz-riga-t b{font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#6b4300}
/* caselle da compilare: niente azzurro, sfondo bianco; resta l'effetto 3D (ombra interna e bordo) */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]):not([type=color]):not([type=submit]):not([type=button]),textarea,select).form-control:not(#_),
html body :is(textarea,select).form-select:not(#_),html body select.form-select:not(#_),html body input.form-select:not(#_),html body textarea.form-control:not(#_){background-color:#FFFFFF}
html body main.content :is(.mod-tab-cerca,.gruppo-cerca,.hp-cerca,.riga-cerca,.imp-cerca-campo,.ar-barra,.campo-x) input:is([type=search],[type=text],.ar-cerca,.form-control,[name=s],[name=q]):placeholder-shown:not(:focus):not(#_):not(#__){background-color:#ffffff!important}
html body .cc-cerca:not(#_):not(#__):not(:focus){background-color:#ffffff}
html body .bz-rett .form-control:not(#_),html body .bz-rett .form-select:not(#_){min-width:0}html body .bz-rett td.v{min-width:200px}html body .bz-rett td.q{min-width:70px}html body .bz-pagina{overflow:visible}
/* bozza: la parola «Bozza» in una targa a colore pieno (colore del modulo Ristrutturazioni), con rilievo 3D */
html body .cat-filtri .bz-riga-t{gap:10px}
html body .cat-filtri .bz-targa:not(#_){display:inline-flex;align-items:center;gap:6px;padding:3px 14px;border-radius:9px;background:linear-gradient(180deg,#e11d6a,#9f1245);border:1px solid #7f0e37;color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;text-shadow:0 1px 0 rgba(0,0,0,.35);box-shadow:0 2px 0 rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.35)}
html body .cat-filtri .bz-targa i:not(#_){color:#fff!important}
/* targa «Bozza» più evidente: più grande, doppio bordo da targa, ombra marcata */
html body .cat-filtri .bz-targa:not(#_):not(#__){padding:0 20px;height:36px;font-size:1.05rem;letter-spacing:.14em;border-radius:10px;gap:9px;border:2px solid #ffffff;outline:2px solid #9f1245;background:linear-gradient(180deg,#f0307d 0,#c0175a 52%,#8f1040 100%);box-shadow:0 3px 0 rgba(0,0,0,.35),0 6px 12px rgba(159,18,69,.35),inset 0 2px 0 rgba(255,255,255,.45)}
html body .cat-filtri .bz-targa i:not(#_):not(#__){font-size:1.2rem}
html body .cat-filtri .bz-riga-t:not(#_){margin-right:14px}
html body .cat-filtri .bz-riga-t b:not(#_){font-size:1.05rem}
html body.bz-unica>.d-flex:not(#_){height:auto!important;min-height:calc(calc(100vh / var(--zm,1)) - var(--barra,54px))}@media(min-width:992px){html body.bz-unica .sidebar:not(#_){position:sticky!important;top:var(--barra,54px)!important}}
/* permessi divisi per modulo: riga-titolo con i colori standard delle intestazioni di tabella */
html body .acc-permessi .pm-g .pm-gt:not(#_){grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e1e7f1;color:#6b4300;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;padding:5px 10px;margin-top:8px;border-top:2px solid #b4c0d3;border-bottom:1px solid #b4c0d3;border-radius:4px}
html body .acc-permessi .pm-g .pm-gt:first-child:not(#_){margin-top:0}
html body .acc-permessi .pm-gt i:not(#_){color:#6b4300!important}
html body .acc-permessi .pm-gt .pm-gsel:not(#_){display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:600;letter-spacing:0;text-transform:none;color:#000;font-size:.85rem;cursor:pointer}
html body .tab-permessi tr.pm-gt-r>td:not(#_){background:#e1e7f1!important;color:#6b4300!important;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-top:2px solid #b4c0d3}
html body .tab-permessi tr.pm-gt-r i:not(#_){color:#6b4300!important}

/* ===== Visite Capo Area (visita_ca.php): rapporto di visita giornaliera, identico al modulo cartaceo — classi vca- ===== */
.vca-pagina{padding-bottom:12px}
.vca-card{margin-bottom:12px}
.vca-card .card-body{padding:12px 16px}
.vca-titolo{margin:0 0 8px;font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:#0b1620}
.vca-card .form-label{font-size:12.5px;font-weight:600;margin-bottom:2px}
.vca-conta{color:#475569;font-size:13px}.vca-conta b{color:#0b1620}
.vca-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 12px;border-radius:999px;background:#eef4fb;border:1px solid #bfdbfe;color:#1e3a8a;font-weight:700;font-size:13px}.vca-chip i{color:#1d4ed8}
.vca-stato{font-size:12.5px;padding:.4em .8em}
.vca-tab{width:100%;border-collapse:separate;border-spacing:0}
.vca-tab th{background:#eef2f8;border-top:1px solid #cfd8e6;border-bottom:1px solid #cfd8e6;padding:5px 10px;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#334155;text-align:left}
.vca-tab td{padding:4px 10px;border-bottom:1px solid #e3e9f2;vertical-align:middle}
.vca-tab tbody tr:hover>td{background:#fff7d6}
.vca-tab tr.vca-on>td{background:rgba(22,163,74,.10)}.vca-tab tr.vca-on:hover>td{background:rgba(22,163,74,.18)}
.vca-tab tr.vca-sez>td{background:#dbe7ff;color:#0b1f55;font-weight:800;font-size:13px;letter-spacing:.03em;text-transform:uppercase;padding:5px 10px}
.vca-cx{width:64px;text-align:center!important}
.vca-et{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.01em}
.vca-sugg{font-size:12px;font-weight:400;text-transform:none;letter-spacing:0;color:#64748b}
.vca-inline{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-left:12px;vertical-align:middle;text-transform:none;font-weight:400;letter-spacing:0}
.vca-lab{font-size:12.5px;font-weight:600;color:#334155;margin:0;text-transform:none}
.vca-chk{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;margin:0 6px 0 0;cursor:pointer;text-transform:none}
.vca-corta{width:150px!important;height:30px;font-size:13px;padding:2px 8px}.vca-media{width:210px!important;height:30px;font-size:13px;padding:2px 8px}
.vca-nota{height:30px;font-size:13px;padding:2px 8px}
.vca-x{width:21px;height:21px;accent-color:#0b5fd0;cursor:pointer;vertical-align:middle}.vca-x:disabled{cursor:default;opacity:.85}
.vca-matrice .vca-cx{width:74px}
.vca-firma{border:1px solid #cfd8e6;border-radius:12px;padding:10px 12px;background:#fff;min-height:92px}
.vca-firma-t{font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#334155;margin-bottom:6px}
.vca-firma-img{max-height:110px;max-width:100%;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:4px}
.vca-firma-testo{font-size:13px;line-height:1.5}
#vcaSig{width:100%;max-width:460px;height:130px;border:1px dashed #94a3b8;border-radius:10px;background:#fff;touch-action:none;display:block}
.vca-lista th{font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:#334155;white-space:nowrap}
.vca-lista td{font-size:13.5px}
.vca-lista tr.vca-riga{cursor:pointer}.vca-lista tr.vca-riga:hover>td{background:#fff7d6!important}
.vca-lista td .btn i{font-size:1.15rem!important;color:#2563eb!important}
.vca-stampa{display:none}
@media (max-width:767px){.vca-inline{margin-left:0;display:flex}.vca-corta,.vca-media{width:100%!important}.vca-cx{width:44px}.vca-matrice .vca-cx{width:40px}.vca-tab td{padding:4px 5px}.vca-et{font-size:12px}.vca-lista{font-size:12px}}
@media print{
  html:has(.vca-stampa) body main.content>*:not(.vca-stampa):not(script):not(style){display:none!important}
  html:has(.vca-stampa) body main.content .vca-stampa{display:block!important;color:#000!important;background:#fff!important;font:8.6pt/1.25 "Segoe UI",Arial,sans-serif}
  html body main.content{padding:0!important;margin:0!important}
  html body .lab-banner{display:none!important}
  .vca-stampa *{color:#000!important;box-shadow:none!important;text-shadow:none!important}
  .vca-stampa h1{font-size:12pt;margin:0 0 4px;text-align:center;letter-spacing:.04em}
  .vca-stampa table{width:100%;border-collapse:collapse;margin:0 0 4px}
  .vca-stampa th,.vca-stampa td{border:.6pt solid #000;padding:1.5px 5px;vertical-align:middle;text-align:left}
  .vca-stampa th{font-size:8pt;background:#e6e6e6!important}
  .vca-stampa td.c,.vca-stampa th.c{width:34px;text-align:center;font-size:10pt}
  .vca-stampa .vs-mat td.c,.vca-stampa .vs-mat th.c{width:44px}
  .vca-stampa tr.gr td{font-weight:700;background:#eee!important}
  .vca-stampa .vs-firme td{height:56px;vertical-align:top}.vca-stampa .vs-firme img{max-height:52px;max-width:250px}
  .vca-stampa .vs-mitt{font-size:7.5pt;margin:2px 0}
}
/* bozze: schede «Bozze» / «Storico» a pillola, come gli altri tasti */
html body .bz-viste{display:flex;align-items:center;gap:10px;margin:10px 0 2px}
html body .bz-viste .bz-viste-t{font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6b4300}
html body .bz-viste nav{display:flex;gap:8px}
html body .bz-viste .anag-tipo:not(#_){display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid #98a2b3;color:#172033!important;font-weight:600;text-decoration:none!important;box-shadow:0 2px 0 rgba(0,0,0,.14)}
html body .bz-viste .anag-tipo.on:not(#_){background:#fff1f5;border-color:#be123c;color:#9f1245!important;box-shadow:0 2px 0 rgba(190,18,60,.3)}
html body .bz-viste .anag-tipo i:not(#_){color:inherit!important}
/* bozze: «Bozze» e «Storico» come vere schede (stesso stile delle schede di Utenti e permessi), non come tasti */
html body .bz-tabs{margin:10px 0 0}
html body .bz-tabs .nav-link i:not(#_){color:inherit!important}
/* bozze: le due righe di schede ben staccate; la seconda (Bozze/Storico) attaccata all'elenco */
html body .area-fissa .bz-tabs:not(#_){margin:18px 0 0!important;border-bottom:0}
html body.bz-unica .area-fissa:not(#_){margin-bottom:0!important;border-bottom:0!important;padding-bottom:0}
html body.bz-unica .bz-pagina>.card:not(#_){margin-top:0;border-top-left-radius:0}
html body .area-fissa ul.nav.nav-tabs.bz-tabs:not(#_):not(#__):not(#___){margin-top:16px!important;margin-bottom:0!important}
html body.bz-unica .bz-pagina:not(#_):not(#__){margin-top:-12px}
html body.bz-unica .area-fissa .com-nav:not(#_):not(#__):not(#___){margin-bottom:12px!important}
html body.bz-unica .area-fissa .com-nav:not(#_):not(#__):not(#___){margin-bottom:26px!important}
/* scheda Protezioni: righe-titolo dei moduli come nei permessi */
html body .tab-prot tr.pm-gt-r>td:not(#_){background:#e1e7f1!important;color:#6b4300!important;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-top:2px solid #b4c0d3}
html body .tab-prot tr.pm-gt-r i:not(#_){color:#6b4300!important}
html body .tab-prot td{vertical-align:middle}
/* permessi e protezioni: la riga-titolo di ogni modulo è un'intera fascia a colore pieno (il colore del modulo) con testo bianco */
html body .acc-permessi .pm-g .pm-gt:not(#_):not(#__){background:var(--zc,#334155);background-image:linear-gradient(180deg,rgba(255,255,255,.16),rgba(0,0,0,.16));color:#fff;border-top:3px solid rgba(0,0,0,.35);border-bottom:2px solid rgba(0,0,0,.25);text-shadow:0 1px 0 rgba(0,0,0,.35);font-size:.95rem;padding:7px 12px;border-radius:6px}
html body .acc-permessi .pm-gt i:not(#_):not(#__),html body .acc-permessi .pm-gt .pm-gsel:not(#_):not(#__){color:#fff!important;text-shadow:none}
html body .tab-permessi tr.pm-gt-r>td:not(#_):not(#__),html body .tab-prot tr.pm-gt-r>td:not(#_):not(#__){background:var(--zc,#334155)!important;background-image:linear-gradient(180deg,rgba(255,255,255,.16),rgba(0,0,0,.16))!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-top:3px solid rgba(0,0,0,.35)!important;border-bottom:2px solid rgba(0,0,0,.25)!important;font-size:.95rem;padding-top:7px;padding-bottom:7px;text-shadow:0 1px 0 rgba(0,0,0,.35)}
html body .tab-permessi tr.pm-gt-r i:not(#_):not(#__),html body .tab-prot tr.pm-gt-r i:not(#_):not(#__){color:#fff!important}
/* Protezioni: la barra della parola predefinita è una sola riga compatta */
html body .prot-bar>.card-body:not(#_):not(#__){display:flex!important;flex-direction:row!important;flex-wrap:nowrap;align-items:center;gap:12px;padding:6px 12px!important}
html body .prot-bar input.form-control:not(#_):not(#__){width:190px;max-width:190px;margin:0;height:34px}
html body .prot-bar .text-muted:not(#_):not(#__){margin:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .prot-bar .btn:not(#_):not(#__){margin:0 0 0 auto;flex:none;white-space:nowrap}
html body .prot-bar b:not(#_):not(#__){white-space:nowrap;flex:none}
html body .prot-bar .card-body>span:not(#_):not(#__){display:block!important;min-width:0;flex:1 1 0;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .prot-bar>.card-body:not(#_):not(#__){width:100%!important;max-width:none!important}
/* Protezioni: scelte «tutte» in testata e nelle righe dei moduli */
html body .tab-prot .prot-tutti:not(#_):not(#__){height:28px;font-size:.78rem;padding:2px 24px 2px 8px;font-weight:600;margin:0;display:inline-block;width:auto;max-width:100%}
html body .tab-prot th .prot-tutti:not(#_):not(#__){display:block;width:100%;margin-top:3px;text-transform:none;letter-spacing:0}
html body .tab-prot tr.pm-gt-r .prot-tutti:not(#_):not(#__){color:#1e293b!important;-webkit-text-fill-color:#1e293b!important;text-shadow:none;min-width:200px}
/* Protezioni: spiegazione e parola predefinita restano fisse sotto le schede; l'intestazione della tabella si ferma sotto di loro */
html body .prot-fisso:not(#_):not(#__){position:sticky;top:calc(var(--barra,54px) + var(--pagina,0px));z-index:1020;background:#f4f6f9;margin:0 -1rem .5rem;padding:.35rem 1rem 0;border-bottom:1px solid #c9d3e0}
html body .prot-fisso p:not(#_):not(#__){margin:0 0 .35rem!important;font-size:.82rem;line-height:1.3}
:root main.content .tab-prot thead th:not(#_):not(#__){top:calc(var(--barra,54px) + var(--pagina,0px) + var(--protfisso,0px))!important}
html body .prot-fisso:not(#_):not(#__){margin-bottom:0;padding-bottom:.45rem;border-bottom:0;box-shadow:0 2px 0 #c9d3e0}
html body .prot-fisso+.card:not(#_):not(#__){margin-top:0}
/* Tabelle: fasce dei moduli e schede */
html body .tb-gt:not(#_){background:var(--zc,#334155);background-image:linear-gradient(180deg,rgba(255,255,255,.16),rgba(0,0,0,.16));color:#fff;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:6px;margin:6px 0}
html body .tb-card:not(#_){border:1px solid #c9d3e0;color:#1e293b}
html body .tb-card:hover:not(#_){border-color:#1d4ed8;box-shadow:0 2px 8px rgba(29,78,216,.18)}
html body .tb-card .bi:not(#_){color:#1d4ed8}
/* Tabelle · Capo Area */
html body .tca-tab td:not(#_){padding:3px 4px}
html body .tca-tab thead th:not(#_){font-size:.74rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;position:static!important;box-shadow:none}
html body .tca-off:not(#_) input{text-decoration:line-through;color:#94a3b8;background:#f1f5f9}
html body .tca-ic:not(#_){width:28px;height:28px;padding:0;margin-right:2px}
html body .tca-nuova:not(#_){margin-top:8px}
/* Impostazioni · vista Elenco: righe più larghe (più alte e con più aria tra una e l'altra) */
html body #impElenco.imp-lista a.funzione-imp>.card-body:not(#_):not(#__){padding-top:8px!important;padding-bottom:8px!important;align-items:center!important;min-height:40px}
html body #impElenco.imp-lista .imp-voce:not(#_):not(#__){margin-bottom:3px}
html body .tca-tab input.form-control:not(#_):not(#__){width:100%;height:34px}
html body .tca-tab td:not(#_):not(#__){padding:5px 6px}
html body .tca-tab td:nth-child(2):not(#_):not(#__){width:44%}
html body .tca-nuova input:not(#_):not(#__){height:34px}
/* stampa di «Tabelle · Visite Capo Area»: solo l'elenco, senza tasti e senza moduli di aggiunta */
@media print{
  html body .tca-nuova,html body .tca-ic,html body .tca-togli,html body .area-fissa .btn,html body .area-fissa .gruppo-cerca,html body .area-fissa form{display:none!important}
  html body .tca-tab input.form-control{border:0!important;box-shadow:none!important;background:none!important;padding:0!important;height:auto!important;color:#000!important}
  html body .tb-gt{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* Tabelle: targa di stato sulle schede */
html body .tb-badge:not(#_):not(#__){display:inline-block;width:auto!important;max-width:none!important;overflow:visible!important;white-space:nowrap;margin-left:8px;padding:2px 11px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;line-height:1.4;border:1px solid transparent;text-indent:0}
html body .tb-ok:not(#_):not(#__){background:#e4f6ea;color:#15803d;border-color:#15803d}
html body .tb-arrivo:not(#_):not(#__){background:#eef1f5;color:#64748b;border-color:#b6c0cf}
html body .tca-togli:not(#_):not(#__){width:34px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}
html body .tca-tab .tca-togli.btn:not(#_):not(#__){width:34px!important;min-width:34px!important;height:34px!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:999px}
/* Protezioni: tasto «vai alla pagina» davanti a ogni funzione */
html body .tab-prot td.tp-fn:not(#_):not(#__){display:flex;align-items:center;gap:10px}
html body .tab-prot .tp-vai.btn:not(#_):not(#__){flex:none;width:30px;min-width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}
html body .tab-prot td.tp-fn .tp-vai.btn:not(#_):not(#__){width:34px!important;min-width:34px!important;height:30px!important;padding:0!important;border-radius:999px;display:inline-flex!important;align-items:center;justify-content:center}
/* Check list (controlli e videosorveglianza): il testo di ogni voce è in grassetto e blu, subito evidente, soprattutto su telefono */
html body .ctl-tit:not(#_):not(#__),html body .vs-tit:not(#_):not(#__){font-weight:800;color:#0b4fb3;font-size:1.02rem;line-height:1.3}
html body .ctl-tit .text-muted:not(#_):not(#__){color:#0b4fb3!important}
html body .ctl-tit .ctl-prec:not(#_):not(#__){font-weight:400;font-size:.8rem}
@media(max-width:767px){html body .ctl-tit:not(#_):not(#__),html body .vs-tit:not(#_):not(#__){font-size:1.12rem}}
html body .modal .vs-tit:not(#_):not(#__):not(#___){text-transform:none!important;letter-spacing:0!important;font-size:1.02rem!important;font-weight:800!important;color:#0b4fb3!important;line-height:1.3}
@media(max-width:767px){html body .modal .vs-tit:not(#_):not(#__):not(#___){font-size:1.08rem!important}}
