/* ===== Portale IDEA — stile =====
   Colori dal logo: lilla, verde, grigio. Tutto parte dai "token" qui sotto. */
:root {
  --sfondo: #F6F5F8;
  --carta: #FFFFFF;
  --inchiostro: #24222A;
  --tenue: #6B6872;
  --linea: #E7E4EC;
  --pri: #6E3F70;          /* lilla scuro: pulsanti e menu attivo */
  --pri-chiaro: #F1E9F2;
  --lilla: #A77BA5;
  --verde: #4E9A2A;
  --verde-chiaro: #EAF5E2;
  --rosso: #C0392B;
  --rosso-chiaro: #FBEAE8;
  --arancio: #B9650B;
  --arancio-chiaro: #FCF0E1;
  --blu: #2F6690;
  --blu-chiaro: #E6EFF6;
  --grigio: #6B6872;
  --grigio-chiaro: #EFEEF2;
  --ombra: 0 1px 2px rgba(36, 34, 42, .06), 0 4px 16px rgba(36, 34, 42, .05);
  --raggio: 14px;
  --carattere: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --sfondo: #16151A; --carta: #1F1E25; --inchiostro: #ECEAF0; --tenue: #A29FAA; --linea: #2F2D36;
    --pri: #C79BC6; --pri-chiaro: #33283A; --verde: #8CCB63; --verde-chiaro: #22301B;
    --rosso: #F07A6C; --rosso-chiaro: #3A2221; --arancio: #F0A75A; --arancio-chiaro: #3A2C1B;
    --blu: #7FB2DA; --blu-chiaro: #1E2B37; --grigio: #A29FAA; --grigio-chiaro: #2A2930;
    --ombra: 0 1px 2px rgba(0, 0, 0, .4); color-scheme: dark;
  }
  .acc-logo, .lat-logo img { background: #fff; border-radius: 10px; padding: 6px; }
  .btn.pri { color: #1F1E25; }
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body { font-family: var(--carattere); font-size: 15px; line-height: 1.45; color: var(--inchiostro); background: var(--sfondo); -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }
h1, h2, h3 { line-height: 1.2; margin: 0; }
a { color: var(--pri); }
.tenue { color: var(--tenue); }
.piccolo { font-size: 13px; }

/* ---- pulsanti e campi ---- */
.btn { font: inherit; font-weight: 600; border: 1px solid var(--linea); background: var(--carta); color: var(--inchiostro); border-radius: 10px; padding: 10px 16px; cursor: pointer; }
.btn:hover { border-color: var(--lilla); }
.btn.pri { background: var(--pri); border-color: var(--pri); color: #fff; }
.btn.pri:hover { filter: brightness(1.08); }
.btn.largo { width: 100%; }
.btn:disabled { opacity: .6; cursor: wait; }
.link { font: inherit; background: none; border: 0; color: var(--pri); cursor: pointer; padding: 8px 0; }
.campo { display: grid; gap: 6px; font-weight: 600; font-size: 14px; }
.campo input { font: inherit; font-weight: 400; padding: 11px 12px; border: 1px solid var(--linea); border-radius: 10px; background: var(--carta); color: var(--inchiostro); }
.campo input:focus { outline: 2px solid var(--lilla); outline-offset: 1px; border-color: transparent; }
.codice { letter-spacing: .4em; font-size: 22px !important; text-align: center; }
.modulo { display: grid; gap: 14px; margin-top: 18px; }
.icona-btn { background: none; border: 0; color: var(--tenue); cursor: pointer; padding: 6px; border-radius: 8px; }
.icona-btn:hover { background: var(--grigio-chiaro); color: var(--inchiostro); }
.icona-btn svg, .menu svg, .barra svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ---- accesso ---- */
.accesso { min-height: 100vh; display: grid; place-items: center; padding: 16px; }
.acc-scheda { width: 100%; max-width: 400px; background: var(--carta); border-radius: 20px; box-shadow: var(--ombra); padding: 32px 28px; }
.acc-logo { width: 170px; display: block; margin: 0 auto 22px; }
.acc-scheda h1 { font-size: 22px; margin-bottom: 6px; }
.avviso { min-height: 1.4em; margin: 14px 0 0; color: var(--rosso); font-size: 14px; }
.avviso.ok { color: var(--verde); }

/* ---- struttura del portale ---- */
.portale { display: grid; grid-template-columns: 240px 1fr; min-height: 100vh; }
.laterale { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 8px; padding: 20px 14px; background: var(--carta); border-right: 1px solid var(--linea); }
.lat-logo img { width: 150px; display: block; margin: 0 auto 18px; }
.menu { display: grid; gap: 2px; }
.menu a, .barra a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; color: var(--tenue); text-decoration: none; font-weight: 600; }
.menu a:hover { background: var(--grigio-chiaro); color: var(--inchiostro); }
.menu a[aria-current="page"] { background: var(--pri-chiaro); color: var(--pri); }
.lat-utente { margin-top: auto; display: flex; align-items: center; gap: 10px; padding: 12px 6px 0; border-top: 1px solid var(--linea); }
.lat-chi { display: grid; min-width: 0; flex: 1; }
.lat-chi b { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lat-chi span { font-size: 12px; color: var(--tenue); }
.avatar { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--pri); color: #fff; font-weight: 700; font-size: 13px; flex: none; }
.contenuto { padding: 32px clamp(16px, 4vw, 48px) 48px; max-width: 1180px; width: 100%; outline: none; }
.barra { display: none; }

/* ---- testata di pagina ---- */
.testata { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 24px; }
.testata h1 { font-size: 28px; letter-spacing: -.01em; }
.testata .data { color: var(--tenue); margin-top: 4px; }
.chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; font-weight: 600; font-size: 14px; text-decoration: none; background: var(--grigio-chiaro); color: var(--grigio); }
.chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }

/* ---- numeri ---- */
.numeri { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 20px; }
.numero { background: var(--carta); border-radius: var(--raggio); box-shadow: var(--ombra); padding: 16px 18px; }
.numero .et { font-size: 13px; color: var(--tenue); font-weight: 600; }
.numero .val { font-size: clamp(19px, 2.2vw, 24px); white-space: nowrap; font-weight: 700; margin-top: 4px; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.numero .nota { font-size: 12px; color: var(--tenue); margin-top: 2px; }
.numero.rosso .val { color: var(--rosso); }

/* ---- riquadri ---- */
.griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; align-items: start; }
.riquadro { background: var(--carta); border-radius: var(--raggio); box-shadow: var(--ombra); overflow: hidden; }
.riq-testa { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 18px; border-bottom: 1px solid var(--linea); }
.riq-testa h2 { font-size: 15px; }
.riq-testa .conta { font-size: 12px; font-weight: 700; color: var(--tenue); background: var(--grigio-chiaro); border-radius: 999px; padding: 2px 9px; }
.riq-testa a { font-size: 13px; font-weight: 600; text-decoration: none; }
.righe { list-style: none; margin: 0; padding: 0; }
.riga { display: flex; gap: 12px; align-items: flex-start; padding: 12px 18px; border-top: 1px solid var(--linea); }
.riga:first-child { border-top: 0; }
.riga.cliccabile { cursor: pointer; }
.riga.cliccabile:hover { background: var(--sfondo); }
.riga .testo { min-width: 0; flex: 1; }
.riga .titolo { font-weight: 600; }
.riga .sotto { font-size: 13px; color: var(--tenue); margin-top: 2px; }
.riq-vuoto { padding: 18px; color: var(--tenue); font-size: 14px; }
.altre { display: block; width: 100%; padding: 10px; border: 0; border-top: 1px solid var(--linea); background: none; color: var(--pri); font: inherit; font-weight: 600; font-size: 13px; cursor: pointer; }

/* bollo colorato a sinistra delle righe */
.bollo { flex: none; min-width: 44px; text-align: center; padding: 4px 8px; border-radius: 8px; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.t-rosso { background: var(--rosso-chiaro); color: var(--rosso); }
.t-arancio { background: var(--arancio-chiaro); color: var(--arancio); }
.t-blu { background: var(--blu-chiaro); color: var(--blu); }
.t-verde { background: var(--verde-chiaro); color: var(--verde); }
.t-grigio { background: var(--grigio-chiaro); color: var(--grigio); }
.pallino { flex: none; width: 10px; height: 10px; border-radius: 50%; margin-top: 6px; background: currentColor; }

/* "Da fare" della direzione: gruppi richiudibili */
.dafare { margin-bottom: 20px; }
.dafare > h2 { font-size: 18px; margin: 0 0 12px; display: flex; align-items: center; gap: 10px; }
.gruppi { display: grid; gap: 10px; }
details.gruppo { background: var(--carta); border-radius: var(--raggio); box-shadow: var(--ombra); overflow: hidden; }
details.gruppo > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 14px 18px; font-weight: 600; }
details.gruppo > summary::-webkit-details-marker { display: none; }
details.gruppo > summary::after { content: "›"; margin-left: auto; color: var(--tenue); font-size: 20px; transition: transform .15s; }
details.gruppo[open] > summary::after { transform: rotate(90deg); }
details.gruppo[open] > summary { border-bottom: 1px solid var(--linea); }

/* ---- pagine non ancora pronte ---- */
.presto { background: var(--carta); border-radius: var(--raggio); box-shadow: var(--ombra); padding: 40px 28px; text-align: center; color: var(--tenue); }
.presto h2 { color: var(--inchiostro); margin-bottom: 8px; }

/* ---- avvisi ---- */
.toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); background: var(--inchiostro); color: var(--carta); padding: 12px 18px; border-radius: 12px; box-shadow: var(--ombra); font-weight: 600; z-index: 10; max-width: calc(100% - 32px); }
.caricamento { color: var(--tenue); padding: 24px 0; }
.errore-box { background: var(--rosso-chiaro); color: var(--rosso); border-radius: var(--raggio); padding: 16px 18px; font-weight: 600; }

/* ---- telefono ---- */
@media (max-width: 820px) {
  .portale { grid-template-columns: 1fr; }
  .laterale { position: static; height: auto; flex-direction: row; align-items: center; padding: 10px 16px; border-right: 0; border-bottom: 1px solid var(--linea); }
  .lat-logo img { width: 96px; margin: 0; }
  .laterale .menu { display: none; }
  .lat-utente { margin: 0 0 0 auto; border: 0; padding: 0; }
  .lat-chi { display: none; }
  .contenuto { padding: 20px 16px 96px; }
  .testata h1 { font-size: 24px; }
  .griglia { grid-template-columns: 1fr; }
  .barra { display: flex; position: fixed; left: 0; right: 0; bottom: 0; background: var(--carta); border-top: 1px solid var(--linea); padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); z-index: 5; }
  .barra a { flex: 1; flex-direction: column; gap: 3px; padding: 6px 2px; font-size: 11px; justify-content: center; }
  .barra a[aria-current="page"] { color: var(--pri); }
}
.c-rosso { color: var(--rosso); } .c-arancio { color: var(--arancio); } .c-blu { color: var(--blu); }
.c-verde { color: var(--verde); } .c-grigio { color: var(--grigio); }

/* ===== Lavori e parti comuni delle sezioni ===== */
:root { --lilla-chiaro: #F3ECF3; --lilla-testo: #7E4E7C; }
@media (prefers-color-scheme: dark) { :root { --lilla-chiaro: #33283A; --lilla-testo: #D2A9D0; } }
.t-lilla { background: var(--lilla-chiaro); color: var(--lilla-testo); }
.c-lilla { color: var(--lilla-testo); }
.btn { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.btn.verde { background: var(--verde); border-color: var(--verde); color: #fff; }
.btn.rosso { background: var(--rosso); border-color: var(--rosso); color: #fff; }
.btn.piccolo-btn { padding: 5px 10px; font-size: 13px; }
.indietro { display: inline-block; margin-bottom: 12px; font-weight: 600; text-decoration: none; font-size: 14px; }
.stato { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.testata .stato { margin-bottom: 8px; }
.etichette { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 2px; }
.etichetta { display: inline-block; padding: 1px 8px; border-radius: 6px; font-size: 12px; background: var(--grigio-chiaro); color: var(--tenue); }

/* schede (filtri a pulsante) */
.schede { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; margin-bottom: 12px; scrollbar-width: thin; }
.schede button { flex: none; font: inherit; font-size: 14px; font-weight: 600; border: 1px solid var(--linea); background: var(--carta); color: var(--tenue); border-radius: 999px; padding: 7px 14px; cursor: pointer; }
.schede button[aria-selected="true"] { background: var(--pri); border-color: var(--pri); color: #fff; }
@media (prefers-color-scheme: dark) { .schede button[aria-selected="true"] { color: #1F1E25; } }
.schede .conta { font-size: 12px; opacity: .75; margin-left: 2px; }
.filtri { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.filtri input, .filtri select, .azioni input, .azioni select, .modulo-pagina select, .modulo-pagina textarea, .voce-mod input, .voce-mod select {
  font: inherit; padding: 9px 12px; border: 1px solid var(--linea); border-radius: 10px; background: var(--carta); color: var(--inchiostro); }
.filtri input { flex: 1 1 260px; }

/* elenco lavori */
.elenco { display: grid; gap: 8px; }
.lav { display: flex; gap: 14px; align-items: stretch; background: var(--carta); border-radius: var(--raggio); box-shadow: var(--ombra); padding: 14px 16px 14px 0; color: inherit; text-decoration: none; }
.lav:hover { outline: 1px solid var(--lilla); }
.lav-barra { flex: none; width: 4px; border-radius: 0 4px 4px 0; background: currentColor; }
.lav-testo { flex: 1; min-width: 0; }
.lav .titolo { font-weight: 700; }
.lav .sotto { font-size: 13px; color: var(--tenue); margin-top: 2px; }
.lav-destra { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.avanz { width: 80px; height: 6px; border-radius: 3px; background: var(--grigio-chiaro); overflow: hidden; }
.avanz span { display: block; height: 100%; background: var(--verde); }
.avanz-0 { width: 0 } .avanz-1 { width: 10% } .avanz-2 { width: 20% } .avanz-3 { width: 30% } .avanz-4 { width: 40% } .avanz-5 { width: 50% }
.avanz-6 { width: 60% } .avanz-7 { width: 70% } .avanz-8 { width: 80% } .avanz-9 { width: 90% } .avanz-10 { width: 100% }

/* tabella */
.tabella-scorre { overflow-x: auto; }
.tabella { width: 100%; border-collapse: collapse; font-size: 14px; }
.tabella th { text-align: left; font-size: 12px; color: var(--tenue); font-weight: 600; padding: 8px 14px; border-bottom: 1px solid var(--linea); white-space: nowrap; }
.tabella td { padding: 10px 14px; border-top: 1px solid var(--linea); vertical-align: top; }
.tabella tr[data-vai] { cursor: pointer; }
.tabella tr[data-vai]:hover td { background: var(--sfondo); }
.tabella .num { text-align: right; font-variant-numeric: tabular-nums; }
.persona { margin-bottom: 16px; }

/* scheda del lavoro */
.blocco { margin-bottom: 16px; }
section.riquadro.blocco { padding-bottom: 4px; }
.titolo-blocco { font-size: 16px; margin: 0 0 10px; }
.val-piccolo { font-size: 18px !important; }
.percorso { list-style: none; margin: 0; padding: 18px 18px 6px; display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; counter-reset: p; }
.percorso li { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: 12px; color: var(--tenue); position: relative; }
.percorso li::before { content: ""; position: absolute; top: 14px; left: -50%; right: 50%; height: 2px; background: var(--linea); z-index: 0; }
.percorso li:first-child::before { display: none; }
.percorso li.fatto::before, .percorso li.ora::before { background: var(--verde); }
.percorso .passo { position: relative; z-index: 1; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; background: var(--grigio-chiaro); color: var(--tenue); }
.percorso li.fatto .passo { background: var(--verde); color: #fff; }
.percorso li.ora { color: var(--inchiostro); font-weight: 700; }
.percorso li.ora .passo { background: var(--pri); color: #fff; box-shadow: 0 0 0 4px var(--pri-chiaro); }
.azione, .nota-box, .piega { margin: 12px 18px; }
.azione { display: grid; gap: 10px; }
.azione input { font: inherit; padding: 9px 12px; border: 1px solid var(--linea); border-radius: 10px; background: var(--carta); color: var(--inchiostro); }
.azioni { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; }
.azioni input { flex: 1 1 220px; }
.nota-box { background: var(--grigio-chiaro); border-radius: 10px; padding: 12px 14px; font-size: 14px; }
.nota-box.t-verde { background: var(--verde-chiaro); color: var(--verde); }
details.piega > summary { cursor: pointer; color: var(--pri); font-weight: 600; font-size: 14px; padding: 4px 0; }
.riquadro-piega { background: var(--carta); border-radius: var(--raggio); box-shadow: var(--ombra); padding: 12px 18px; margin: 12px 0 0; }
section.riquadro details.piega { padding: 8px 0; }
.zona-rossa { background: var(--rosso-chiaro); border-radius: var(--raggio); padding: 12px 16px; margin: 0; }
.zona-rossa > summary { color: var(--rosso) !important; }
.dati { display: grid; grid-template-columns: max-content 1fr; gap: 10px 20px; margin: 0; padding: 14px 18px 16px; font-size: 14px; }
.dati dt { color: var(--tenue); font-weight: 600; }
.dati dd { margin: 0; }
.dati .note { white-space: pre-wrap; }
.attivita input[type=checkbox] { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--verde); flex: none; }
.attivita label { cursor: pointer; }
.attivita.fatta .titolo { text-decoration: line-through; color: var(--tenue); }

/* moduli */
.modulo-pagina { padding: 18px; display: grid; gap: 16px; }
.modulo-griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; padding: 0; }
.riquadro-piega .modulo-griglia { margin-top: 10px; }
.largo2 { grid-column: 1 / -1; }
.campo select, .campo textarea { font: inherit; font-weight: 400; }
fieldset.campo { border: 0; padding: 0; margin: 0; }
fieldset.campo legend { font-weight: 600; font-size: 14px; margin-bottom: 8px; }
.spunte { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.spunta { display: inline-flex; align-items: center; gap: 6px; font-weight: 400; font-size: 14px; border: 1px solid var(--linea); border-radius: 999px; padding: 5px 12px; cursor: pointer; }
.spunta:has(input:checked) { background: var(--pri-chiaro); border-color: var(--lilla); color: var(--pri); }
.voci-mod { list-style: none; margin: 8px 0; padding: 0; display: grid; gap: 6px; }
.voce-mod { display: grid; grid-template-columns: 1fr 180px 150px auto; gap: 6px; align-items: center; }

@media (max-width: 820px) {
  .percorso { grid-template-columns: repeat(7, minmax(38px, 1fr)); font-size: 10px; overflow-x: auto; padding: 14px 10px 4px; }
  .percorso li span:last-child { display: none; }
  .percorso li.ora span:last-child { display: block; }
  .lav-destra .avanz, .lav-destra .piccolo { display: none; }
  .voce-mod { grid-template-columns: 1fr 1fr; }
  .voce-mod .v-n { grid-column: 1 / -1; }
  .dati { grid-template-columns: 1fr; gap: 2px; }
  .dati dd { margin-bottom: 10px; }
}
.campo > input, .campo > select, .campo > textarea { width: 100%; min-width: 0; }
.modulo-griglia > * { min-width: 0; }

/* ===== Commesse e ADR ===== */
.importo { font-weight: 700; font-variant-numeric: tabular-nums; }
.percorso.quattro { grid-template-columns: repeat(4, 1fr); }
.spunta-riga { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; cursor: pointer; }
.spunta-riga input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--pri); flex: none; }
.azione .modulo-griglia { margin: 4px 0; }
.riq-nota { padding: 0 18px 14px; margin: 0; }
.tabella tr.totale td { border-top: 2px solid var(--linea); }
.note { white-space: pre-wrap; }
.nota-box + .nota-box { margin-top: 8px; }
li.mov { border: 1px solid var(--linea); border-radius: 12px; padding: 12px; }
li.mov .modulo-griglia { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.griglia + .blocco, .griglia { margin-bottom: 16px; }
@media (max-width: 820px) { .percorso.quattro { grid-template-columns: repeat(4, 1fr); } .percorso.quattro li span:last-child { display: block; } }
.tabella .num { white-space: nowrap; }

/* ===== Presenze ===== */
.timbri { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0; }
.btn.grande { padding: 14px 22px; font-size: 16px; border-radius: 12px; }
.riga-titolo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; }
.riga-titolo .titolo-blocco { margin: 0; }
.tabella tr[data-apri] { cursor: pointer; }
.tabella tr[data-apri]:hover td { background: var(--sfondo); }
.tabella tr.oggi td { background: var(--pri-chiaro); }
.tabella tr.correggi td { background: var(--sfondo); padding: 14px; }
.riq-testa h2 + .piccolo, .riq-testa > div + .stato { text-align: right; }
.campo select, .campo textarea { padding: 10px 12px; border: 1px solid var(--linea); border-radius: 10px; background: var(--carta); color: var(--inchiostro); }

/* ===== Provvigioni ===== */
.riq-bottone { width: 100%; background: none; border: 0; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.riq-bottone:hover { background: var(--sfondo); }
.riq-bottone .destra { display: flex; flex-direction: column; align-items: flex-end; }
.importo-campo { width: 120px; font: inherit; padding: 6px 8px; border: 1px solid var(--linea); border-radius: 8px; background: var(--carta); color: var(--inchiostro); text-align: right; }
.riga .b-si { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--pri); }

/* ===== Cruscotto ===== */
.riga.fattura .lav-destra { min-width: 150px; }
.riga.fattura .azioni { justify-content: flex-end; margin-top: 4px; }
.testata details.piega .azioni { align-items: flex-end; }
.contenuto { min-width: 0; } .numeri { min-width: 0; }

/* ===== Strumenti della direzione e amministrazione ===== */
.strumenti { display: grid; gap: 2px; margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--linea); }
.strumenti a { padding: 7px 12px; border-radius: 8px; color: var(--tenue); text-decoration: none; font-size: 13px; font-weight: 600; }
.strumenti a:hover { background: var(--grigio-chiaro); color: var(--inchiostro); }
.strumenti a[aria-current="page"] { color: var(--pri); background: var(--pri-chiaro); }
.strumenti-fondo { display: none; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.strumenti-fondo a { font-size: 14px; font-weight: 600; text-decoration: none; padding: 8px 14px; border: 1px solid var(--linea); border-radius: 999px; }
.piccolo-avatar { width: 32px; height: 32px; font-size: 12px; }
.riga.spenta { opacity: .6; }
.f-utente { margin-top: 12px; }
@media (max-width: 820px) { .strumenti { display: none; } .strumenti-fondo { display: flex; } }
.chiave-campo { width: 100%; margin-top: 8px; font-family: ui-monospace, Menlo, monospace; font-size: 13px; padding: 8px; border: 1px solid var(--linea); border-radius: 8px; background: var(--carta); color: var(--inchiostro); }
.avviso-proposte { display: block; text-decoration: none; font-weight: 600; background: var(--pri-chiaro); color: var(--pri); }
