/* Rilievi: SOLO quello che Depy non ha (marchio, disegno del foro, schedario degli
   oggetti, allegati, schizzo, foglio di stampa). Tutto il resto viene dai fogli di
   Depy in css/depy/ con le loro classi (cd-*, el-*, hb-*, hbt, dp-mod, mnav-*...).
   Regole di depy/docs/STILE.md: solo token var(--...), niente hex, niente regole
   del tema scuro per i colori. Prefisso ril-. */

/* Quello che è nascosto resta nascosto anche quando ha una classe di Bootstrap (d-flex...) */
[hidden] { display: none !important; }

/* ===== MARCHIO: il segno di Depy + «rilievi», alto come il logo di Depy (30px) ===== */
.ril-logo { display: inline-flex; align-items: center; gap: 6px; height: 30px; text-decoration: none; color: var(--primario); }
.ril-logo img { height: 30px; width: auto; }
.ril-logo span { font-size: 1.7rem; font-weight: 800; letter-spacing: -.045em; line-height: 1; transform: translateY(-2px); }
.ril-logo:hover { color: var(--primario); }
[data-bs-theme="dark"] .ril-logo { color: var(--testo); }
.topbar-logo-tel .ril-logo { color: var(--menu-testo-forte); height: 30px; }
.topbar-logo-tel .ril-logo img { height: 28px; }
.topbar-logo-tel .ril-logo span { font-size: 1.45rem; }
.ril-logo-accesso { height: 52px; justify-content: center; margin-bottom: .5rem; }
.ril-logo-accesso img { height: 52px; }
.ril-logo-accesso span { font-size: 3rem; }

/* ===== ELENCO E SCHEDA ===== */
.ril-attesa, .el-titolo.ril-attesa { color: var(--ambra-800); }
.ril-appuntamento { color: var(--ambra-800); font-weight: 600; }
.ril-salvato { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--testo-2); margin-right: .5rem; }
.ril-salvato .bi { color: var(--ok); }
/* le linguette Testata / Fori / Piede stanno da sole nel loro riquadro */
.ril-schede .cd-schede { border-bottom: 0; }

/* fori: anteprima del disegno e maniglia per riordinare dentro la tabella cd-tab */
.ril-fori tbody tr { cursor: pointer; }
.ril-fori tbody tr:hover { background: var(--velo); }
.ril-maniglia-col { width: 34px; }
.ril-maniglia { cursor: grab; color: var(--testo-debole); font-size: 1.2rem; touch-action: none; user-select: none; }
.ril-foro-testa { display: flex; align-items: center; gap: 12px; }
.ril-anteprima { width: 64px; height: 54px; flex: none; }
.ril-anteprima svg { width: 100%; height: 100%; }
.sortable-ghost { opacity: .4; }
@media (max-width: 767.98px) {
  .ril-fori thead { display: none; }
  .ril-fori, .ril-fori tbody { display: block; }
  .ril-fori tbody tr { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; grid-template-areas: "man foro az" "man forma forma" "man ogg ogg"; gap: 4px 8px; padding: 12px 14px; border-bottom: 1px solid var(--bordo); }
  .ril-fori tbody td { display: block; padding: 0 !important; border: 0; }
  .ril-fori td:nth-child(1) { grid-area: man; align-self: center; }
  .ril-fori td:nth-child(2) { grid-area: foro; }
  .ril-fori td:nth-child(3) { grid-area: forma; }
  .ril-fori td:nth-child(4) { grid-area: ogg; }
  .ril-fori td:nth-child(5) { grid-area: az; }
}

/* servizi del piede: la nota sotto l'interruttore */
.ril-nota-servizio { margin: 2px 0 14px 3.2em; max-width: 520px; }
.ril-opzioni { display: block; }

/* ===== EDITOR DEL FORO ===== */
.ril-foro-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; }
.ril-foro-layout > * { min-width: 0; }
.ril-colonna-disegno { position: sticky; top: 76px; }
.ril-disegno svg { width: 100%; height: auto; display: block; }
.ril-disegno-mini { display: none; }
@media (max-width: 991.98px) {
  .ril-foro-layout { grid-template-columns: minmax(0, 1fr); }
  .ril-colonna-disegno { position: static; }
  .ril-colonna-disegno .cd-riq:first-child { display: none; }
  .ril-disegno-mini {
    display: flex; align-items: center; gap: 12px; width: 100%; margin-bottom: 16px; padding: 8px 14px;
    background: var(--superficie); border: 1px solid var(--bordo); border-radius: var(--r-lg); box-shadow: var(--ombra-2);
    font-size: var(--fs-sm); color: var(--testo-2); cursor: zoom-in; text-align: left;
  }
  .ril-disegno-mini svg { height: 140px; width: auto; max-width: 60%; flex: none; }
  /* le linguette degli oggetti restano agganciate sotto la barra mentre si scorre */
  .ril-linguette { position: sticky; top: 60px; z-index: var(--z-sticky); background: var(--superficie); }
}

/* schedario: pallino grigio = non previsto, ambra = tipologia da definire, verde = indicata */
.ril-linguette a { display: inline-flex; align-items: center; gap: 7px; }
.ril-pallino { width: 9px; height: 9px; border-radius: 50%; background: var(--bordo-forte); flex: none; }
.ril-linguette a.ril-ogg-parziale, .ril-linguette a.ril-ogg-completo { color: var(--testo); font-weight: 600; }
.ril-ogg-parziale .ril-pallino { background: var(--attenzione); }
.ril-ogg-completo .ril-pallino { background: var(--accento); }

/* allegati: miniature quadrate */
.ril-allegati { display: flex; flex-wrap: wrap; gap: 10px; }
.ril-allegato { position: relative; width: 96px; height: 96px; border: 1px solid var(--bordo); border-radius: var(--r-md); overflow: hidden; background: var(--superficie-2); }
.ril-allegato img { width: 100%; height: 100%; object-fit: cover; cursor: pointer; }
.ril-allegato-tipo { position: absolute; left: 4px; bottom: 4px; }
.ril-allegato-x.el-ico { position: absolute; top: 4px; right: 4px; width: 28px; height: 28px; font-size: var(--fs-sm); }
.ril-in-arrivo { display: grid; place-items: center; height: 100%; font-size: var(--fs-xs); color: var(--testo-2); }
.ril-foto-grande { width: 100%; max-height: 70vh; object-fit: contain; }

/* schizzo */
.schizzo-strumenti { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 8px; }
.colore { width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--superficie); box-shadow: 0 0 0 1px var(--bordo); cursor: pointer; padding: 0; }
.colore.attivo { box-shadow: 0 0 0 3px var(--accento); }
.ril-strumenti { display: inline-flex; gap: 4px; }
.ril-strumenti .hbt.attivo { background: var(--blu-500); border-color: var(--blu-500); color: #fff; }
.ril-schizzo-aiuto { font-size: var(--fs-sm); color: var(--testo-2); margin-bottom: 6px; }
.schizzo-canvas { width: 100%; border: 1px solid var(--bordo); border-radius: var(--r-md); touch-action: none; background: var(--superficie); display: block; }

/* ===== FOGLIO DI STAMPA: stessi colori di depy/static/css/stampa.css (carta bianca, inchiostro grigio-900, barre blu-700) ===== */
.ril-foglio { background: var(--superficie); color: var(--grigio-900); padding: 24px; border: 1px solid var(--bordo); border-radius: var(--r-lg); box-shadow: var(--ombra-2); font-size: 10.5pt; }
[data-bs-theme="dark"] .ril-foglio { background: var(--grigio-50); }
.ril-foglio h1 { font-size: 16pt; font-weight: 700; color: var(--blu-700); margin: 0 0 4px; }
.ril-foglio h2 { font-size: 11pt; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--blu-700); border-bottom: 2px solid var(--blu-700); padding-bottom: 3px; margin: 18px 0 8px; }
.ril-foglio h3 { font-size: 11pt; font-weight: 700; margin: 0 0 4px; color: var(--grigio-900); }
.ril-foglio table { width: 100%; border-collapse: collapse; }
.ril-foglio td, .ril-foglio th { border: 1px solid var(--grigio-300); padding: 4px 6px; text-align: left; vertical-align: top; font-size: 9.5pt; color: var(--grigio-900); }
.ril-foglio th { background: var(--grigio-50); color: var(--grigio-600); width: 32%; font-weight: 600; }
.ril-foglio-testa { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 3px solid var(--blu-700); padding-bottom: 8px; margin-bottom: 8px; }
.ril-riga-stampa { display: grid; grid-template-columns: 220px 1fr; gap: 14px; border: 1px solid var(--grigio-300); padding: 10px; margin-bottom: 10px; break-inside: avoid; }
.ril-riga-stampa svg { width: 100%; height: auto; }
.ril-avviso-stampa { margin-bottom: 6px; font-weight: 700; }
.ril-foto-stampa { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ril-foto-stampa img { width: 120px; height: 90px; object-fit: cover; border: 1px solid var(--grigio-300); }
@media (max-width: 767.98px) {
  .ril-foglio { padding: 10px; }
  .ril-riga-stampa { grid-template-columns: 1fr; }
}

@media print {
  @page { size: A4; margin: 12mm; }
  body { background: #fff; }
  .no-print, #sidebar, .topbar-main, .mnav, .az-bar, .az-spacer, #toastContainer { display: none !important; }
  .contenuto { margin: 0 !important; padding: 0 !important; }
  .contenuto main { padding: 0 !important; }
  .ril-foglio { border: 0; padding: 0; box-shadow: none; background: #fff; }
  .ril-riga-stampa { grid-template-columns: 200px 1fr; }
}

/* da telefono la barra in fondo sta su una riga: per tornare indietro c'è la freccia nella barra in alto */
@media (max-width: 767.98px) { .ril-solo-pc { display: none !important; } }

/* il disegno quotato è un foglio tecnico: resta su fondo chiaro anche al buio, se no le quote spariscono */
.ril-disegno, .ril-anteprima, .ril-disegno-mini svg { background: var(--grigio-50); border-radius: var(--r-sm); }

/* testata e piede con «Salva»: avviso delle modifiche in sospeso */
.ril-salvato.ril-da-salvare { color: var(--attenzione); font-weight: 600; }
.ril-salvato.ril-da-salvare .bi { color: var(--attenzione); }
.ril-salvato:empty { display: none; }

/* più rilevatori assegnati: un interruttore per persona, su due colonne */
.ril-assegna .cfg-switch { border-top: 0; margin-top: 0; }
.ril-assegna { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 20px; margin-top: 4px; }
@media (max-width: 575.98px) { .ril-assegna { grid-template-columns: 1fr; } }

/* rilievo a voce: pannello fisso in basso, la pagina del foro resta visibile sopra */
.ril-voce {
  position: fixed; left: 50%; bottom: 12px; transform: translateX(-50%);
  box-sizing: border-box; width: min(720px, calc(100vw - 24px)); z-index: var(--z-pannello);
  background: var(--superficie); border: 1px solid var(--bordo); border-radius: var(--r-lg);
  box-shadow: var(--ombra-4); padding: 14px 16px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px;
}
body.ril-con-voce .az-bar { display: none; }
body.ril-con-voce #app { padding-bottom: 300px; }
.ril-voce-testa { display: flex; gap: 12px; align-items: flex-start; }
.ril-voce-testo { flex: 1; min-width: 0; }
.ril-voce-mic {
  flex: none; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
  font-size: 1.35rem; background: var(--superficie-2); color: var(--testo-2);
}
.ril-voce-mic.e-ascolta { background: var(--blu-500); color: #fff; animation: ril-voce-onda 1.4s ease-out infinite; }
.ril-voce-mic.e-parla { background: var(--hb-lavoro-ico); color: var(--blu-500); }
@keyframes ril-voce-onda {
  0% { box-shadow: 0 0 0 0 rgba(var(--blu-500-rgb), .45); }
  100% { box-shadow: 0 0 0 14px rgba(var(--blu-500-rgb), 0); }
}
@media (prefers-reduced-motion: reduce) { .ril-voce-mic.e-ascolta { animation: none; } }
.ril-voce-dove { font-size: var(--fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--testo-2); }
.ril-voce-domanda { font-size: var(--fs-xl); font-weight: 700; color: var(--primario); line-height: 1.25; }
.ril-voce-aiuto { font-size: var(--fs-sm); color: var(--testo-2); margin-top: 2px; }
.ril-voce-sentito {
  min-height: 2.4em; padding: 8px 12px; border-radius: var(--r-md); background: var(--superficie-2);
  font-size: var(--fs-md); color: var(--testo);
}
.ril-voce-sentito:empty::before { content: 'Quello che dici compare qui'; color: var(--testo-debole); }
.ril-voce-sentito.e-provvisorio { color: var(--testo-2); font-style: italic; }
.ril-voce-scrivi { display: flex; gap: 8px; }
.ril-voce-scrivi input { flex: 1; min-width: 0; width: 100%; height: 40px; padding: 0 12px; border: 1px solid var(--bordo-forte); border-radius: var(--r-md); background: var(--superficie); color: var(--testo); }
.ril-voce-scrivi .hbt { flex: none; }
.ril-voce-bt { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ril-voce-unita { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--testo-2); margin-left: auto; }
.ril-voce-unita + .ril-voce-unita { margin-left: 8px; }
.ril-voce-unita select { height: 32px; font-size: var(--fs-sm); }
@media (max-width: 575.98px) {
  .ril-voce { bottom: 0; left: 0; right: 0; transform: none; width: auto; border-radius: var(--r-lg) var(--r-lg) 0 0; padding: 12px; }
  .ril-voce-domanda { font-size: var(--fs-lg); }
  .ril-voce-unita { margin-left: 0; }
}
@media print { .ril-voce { display: none; } }
