/* ============================================================
   Fenice · pagine «di servizio» con il linguaggio della demo
   Incassi, Impostazioni, Candidati, Registro, Richieste, Feedback.
   Classi con il prefisso ad- (le viste in app.js: viewIncassi, viewSettings,
   paintUtenti, viewCandidates, viewActivity, viewTodo, viewFeedback).
   Solo token --fe-* e --st-*: chiaro e scuro arrivano da soli.
   ============================================================ */

/* ===== Pagina e testata ===== */
.ad-pag { max-width: 1160px; margin: 0 auto; }
.ad-testa { display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.ad-testa__titoli { flex: 1; min-width: 0; }
.ad-testa .st-kicker { margin-bottom: 10px; }
.ad-titolo { margin: 0; font-size: clamp(32px, 3.4vw, 40px); font-weight: 600; letter-spacing: -.045em; line-height: 1.06; text-wrap: balance; }
.ad-sotto { margin: 8px 0 0; max-width: 64ch; font-size: 17px; line-height: 1.45; color: var(--fe-secondary); text-wrap: pretty; }
.ad-sotto b { color: var(--fe-ink); font-weight: 600; }
.ad-sotto a { color: var(--fe-primary-text); text-decoration: none; font-weight: 500; }
.ad-sotto a:hover { text-decoration: underline; }

/* ===== Testata con i numeri (come la Pipeline della demo) ===== */
.ad-cifre { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); margin-bottom: 28px;
  background: var(--fe-surface); border-radius: var(--fe-r-card); box-shadow: var(--st-sh-card); overflow: hidden; }
.ad-cifre--eroe { grid-template-columns: repeat(calc(var(--n, 3) - 1), minmax(0, 1fr)) minmax(0, 1.35fr); }
.ad-cifre__c { position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 20px 22px; }
.ad-cifre__c + .ad-cifre__c::before { content: ""; position: absolute; left: 0; top: 20px; bottom: 20px; width: var(--st-linea); background: var(--fe-separator); }
.ad-cifre__c.is-eroe { background: radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--fe-primary) 12%, var(--fe-surface)), var(--fe-surface) 65%); }
.ad-cifre__e { font-size: 13px; font-weight: 500; color: var(--fe-secondary); }
.ad-cifre__n { font-size: clamp(26px, 3vw, 38px); font-weight: 600; letter-spacing: -.04em; line-height: 1.05; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ad-cifre__n.is-eroe { font-size: clamp(34px, 4.4vw, 52px); color: var(--fe-primary-text); }
.ad-cifre__n.is-urg { color: var(--fe-error-text); } .ad-cifre__n.is-ok { color: var(--fe-success-text); }
.ad-cifre__n.is-att { color: var(--fe-warning-text); } .ad-cifre__n.is-tenue { color: var(--fe-tertiary); }
.ad-cifre__n small { font-size: 15px; font-weight: 500; letter-spacing: -.01em; color: var(--fe-secondary); }
.ad-cifre__s { font-size: 13px; line-height: 1.35; color: var(--fe-secondary); }

/* ===== Card e titoli piccoli ===== */
.ad-card { background: var(--fe-surface); border-radius: var(--fe-r-card); box-shadow: var(--st-sh-card); padding: 18px 20px 16px; min-width: 0; }
.ad-card__t { margin: 0 0 14px; font-size: 13px; color: var(--fe-secondary); line-height: 1.35; }
.ad-card__t b { color: var(--fe-ink); font-weight: 600; }
.ad-sez { margin-top: 32px; }
.ad-sez__testa { display: flex; align-items: baseline; gap: 10px; margin: 0 4px 10px 16px; }
.ad-sez__t { margin: 0; font-size: 19px; font-weight: 600; letter-spacing: -.02em; line-height: 1.25; }
.ad-sez__num { font: 500 11px/1 var(--fe-mono); letter-spacing: .04em; color: var(--fe-secondary); }
.ad-sez__coda { margin-left: auto; font-size: 15px; font-weight: 600; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.ad-sez.is-urg .ad-sez__t, .ad-sez.is-urg .ad-sez__coda { color: var(--fe-error-text); }
.ad-filtri { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 4px; }
.ad-filtri .st-segmenti { flex: none; }
.ad-dopo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 0; }
.ad-nota { margin: 8px 16px 0; font-size: 12.5px; line-height: 1.45; color: var(--fe-secondary); text-wrap: pretty; }
.ad-nota a { color: var(--fe-primary-text); text-decoration: none; }

/* ===== Grafico a barre (come demo/sito/grafici: barre verticali) ===== */
.ad-g { margin: 0; }
.ad-g__piano { position: relative; height: var(--h, 168px); display: flex; align-items: flex-end; padding-top: 22px;
  border-bottom: 1px solid var(--fe-separator); }
.ad-g__slot { position: relative; flex: 1 1 0; min-width: 0; height: 100%; display: flex; justify-content: center; align-items: flex-end; }
.ad-g__barra { position: relative; display: block; width: min(28px, 62%); background: var(--c, var(--fe-primary)); border-radius: 4px 4px 0 0;
  transform-origin: 50% 100%; animation: ad-cresce var(--st-t-grafico, 600ms) var(--st-uscita) both; animation-delay: calc(var(--i, 0) * 28ms);
  transition: filter var(--st-t-breve) var(--st-uscita); }
.ad-g__slot:hover .ad-g__barra { filter: brightness(1.08) saturate(1.05); }
.ad-g__val { position: absolute; left: 50%; translate: -50% 0; margin-bottom: 7px; font: 500 11.5px/1 var(--fe-font); color: var(--fe-graphite);
  white-space: nowrap; pointer-events: none; font-variant-numeric: tabular-nums; }
.ad-g__slot.is-ora .ad-g__val { color: var(--fe-ink); font-weight: 600; }
.ad-g__x { display: flex; padding-top: 9px; }
.ad-g__x > span { flex: 1 1 0; min-width: 0; text-align: center; font: 400 10.5px/1.2 var(--fe-mono); letter-spacing: .01em; color: var(--fe-secondary);
  white-space: nowrap; overflow: hidden; text-transform: lowercase; }
.ad-g__x > span.is-ora { color: var(--fe-ink); font-weight: 500; }
@keyframes ad-cresce { from { transform: scaleY(0); } }

/* Barre orizzontali (Da fare per cliente) */
.ad-hb { display: grid; gap: 16px; }
.ad-hb__riga { display: grid; gap: 8px; }
.ad-hb__testa { display: flex; align-items: baseline; gap: 10px; min-width: 0; font-size: 14px; line-height: 1.25; }
.ad-hb__nome { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.ad-hb__val { flex: none; margin-left: auto; font-weight: 600; font-variant-numeric: tabular-nums; }
.ad-hb__traccia { height: 8px; border-radius: 4px; background: var(--fe-group); overflow: hidden; }
.ad-hb__traccia i { display: block; height: 100%; min-width: 8px; border-radius: 4px; background: var(--c, var(--st-ai));
  transform-origin: 0 50%; animation: ad-allunga var(--st-t-grafico, 600ms) var(--st-uscita) both; animation-delay: calc(var(--i, 0) * 40ms); }
@keyframes ad-allunga { from { transform: scaleX(0); } }

/* ===== Righe dentro i gruppi (estensioni di st-riga) ===== */
.ad-riga__fine { flex: none; display: flex; align-items: center; gap: 2px; padding-right: 10px; }
.ad-ico { flex: none; width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 50%; background: none; color: var(--fe-secondary);
  cursor: pointer; transition: background var(--st-t-breve) var(--st-uscita), color var(--st-t-breve), transform var(--st-t-breve) var(--st-molla); }
.ad-ico svg { width: 17px; height: 17px; }
.ad-ico:hover { background: var(--fe-hover); color: var(--fe-ink); }
.ad-ico:active { transform: scale(.92); }
.ad-ico.is-pericolo:hover { background: var(--fe-error-soft); color: var(--fe-error-text); }
.ad-ico[disabled] { opacity: .4; pointer-events: none; }
.ad-coda-forte { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.ad-coda-forte b { font-size: 15px; font-weight: 600; color: var(--fe-ink); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.st-riga.is-spenta .st-riga__testi, .st-riga.is-spenta .st-riga__icona { opacity: .45; }
.st-riga .st-riga__titolo b { font-weight: 600; }
.ad-mini { font-size: 12.5px; color: var(--fe-secondary); }
.ad-chip-punto { display: inline-flex; align-items: center; gap: 6px; }

/* Data a blocco piccola dentro le righe */
.ad-riga .st-data { width: 40px; height: 44px; border-radius: 11px; }
.ad-riga .st-data b { font-size: 17px; }
.st-riga.is-urg .st-data b, .st-riga.is-urg .st-data small { color: var(--fe-error-text); }
.st-riga.is-fatta .st-data { opacity: .55; }

/* ===== Campi raggruppati (come la pagina di accesso) ===== */
.ad-campi { background: var(--fe-surface); border-radius: var(--fe-r-group); box-shadow: 0 0 0 .5px var(--fe-separator), var(--st-sh-flat); overflow: hidden;
  transition: box-shadow var(--st-t-breve) var(--st-uscita); }
.ad-campi:focus-within { box-shadow: 0 0 0 2px var(--fe-primary); }
.ad-campo { position: relative; display: block; padding: 10px 16px 9px; cursor: text; }
.ad-campo + .ad-campo::before { content: ""; position: absolute; top: 0; left: 16px; right: 0; height: var(--st-linea); background: var(--fe-separator); }
.ad-campo__e { display: block; font-size: 12px; line-height: 1.3; font-weight: 500; color: var(--fe-secondary); }
.ad-campo input, .ad-campo select, .ad-campo textarea { display: block; width: 100%; margin: 3px 0 0; padding: 0; border: 0; outline: 0; background: transparent; box-shadow: none;
  font: 400 16px/1.45 var(--fe-font); color: var(--fe-ink); -webkit-appearance: none; appearance: none; border-radius: 0; }
.ad-campo textarea { resize: vertical; min-height: 96px; }
.ad-campo select { cursor: pointer; padding-right: 22px;
  background: no-repeat right 0 center / 14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); }
.ad-campo input::placeholder, .ad-campo textarea::placeholder { color: var(--fe-tertiary); }
.ad-campo__aiuto { display: block; margin-top: 4px; font-size: 12px; color: var(--fe-tertiary); }
.ad-campi--due { display: grid; grid-template-columns: 1fr 1fr; }
.ad-campi--due > .ad-campo + .ad-campo::before { left: 0; top: 10px; bottom: 10px; right: auto; width: var(--st-linea); height: auto; }

/* Selettore a pillola (stato candidato) */
.ad-select { height: 36px; padding: 0 32px 0 14px; border: 0; border-radius: 999px; background: var(--fe-group); color: var(--fe-ink); font: 500 14px/1 var(--fe-font);
  box-shadow: inset 0 0 0 .5px var(--fe-separator); cursor: pointer; -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; background-size: 14px; }
.ad-select:focus-visible { outline: 2px solid var(--fe-primary); outline-offset: 2px; }
.ad-input { width: 100%; height: 38px; padding: 0 12px; border: 0; border-radius: var(--fe-r-field); background: var(--fe-group); color: var(--fe-ink);
  font: 400 14.5px/1 var(--fe-font); outline: 0; box-shadow: inset 0 0 0 .5px var(--fe-separator); transition: box-shadow var(--st-t-breve); }
.ad-input:focus { box-shadow: 0 0 0 2px var(--fe-primary); background: var(--fe-surface); }
.ad-input::placeholder { color: var(--fe-tertiary); }

/* Modale (dentro openModal): campi e azioni */
.modal .ad-modale__sotto { margin: -6px 0 18px; font-size: 14.5px; line-height: 1.5; color: var(--fe-secondary); }
.modal .ad-modale__az { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.modal .ad-link { width: 100%; height: 44px; padding: 0 14px; border: 0; border-radius: var(--fe-r-field); background: var(--fe-group); color: var(--fe-ink);
  font: 500 13px/1 var(--fe-mono); outline: 0; box-shadow: inset 0 0 0 .5px var(--fe-separator); }

/* ===== Vuoto «non disponibile» ===== */
.ad-vuoto { min-height: calc(100dvh - var(--st-alto) - 200px); display: grid; place-items: center; }

/* ===== Incassi ===== */
.ad-inc__g { margin-bottom: 28px; }
.ad-inc__g .ad-card__t { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.ad-inc__g .ad-card__t span:last-child { margin-left: auto; }
.ad-riga .st-mono { --s: 32px; }

/* ===== Impostazioni ===== */
.ad-imp { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 32px; align-items: start; }
.ad-imp--una { grid-template-columns: minmax(0, 640px); }
.ad-col { min-width: 0; display: flex; flex-direction: column; gap: 30px; }
.ad-blocco { min-width: 0; }
.ad-blocco > .st-gruppo__titolo { display: flex; align-items: center; gap: 8px; }
.ad-profilo { display: flex; align-items: center; gap: 14px; padding: 16px; }
.ad-profilo__nome { font-size: 19px; font-weight: 600; letter-spacing: -.02em; line-height: 1.2; }
.ad-profilo__sotto { margin-top: 2px; font-size: 13px; color: var(--fe-secondary); }
.ad-tema { padding: 14px 16px; }
.ad-tema .st-segmenti { display: flex; }
.ad-tema .st-segmenti button { flex: 1; justify-content: center; }
.ad-tema .st-segmenti svg { width: 14px; height: 14px; }
.ad-stato-sync { display: inline-flex; align-items: center; gap: 7px; }

/* ===== Candidati ===== */
.ad-cand { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; }
.ad-cand__lista { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.ad-cc { padding: 18px 20px; }
.ad-cc__testa { display: flex; align-items: center; gap: 12px; }
.ad-cc__chi { flex: 1; min-width: 0; }
.ad-cc__nome { font-size: 17px; font-weight: 600; letter-spacing: -.015em; line-height: 1.25; }
.ad-cc__sotto { margin-top: 2px; font-size: 13px; color: var(--fe-secondary); }
.ad-cc__contatti { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 12px 0 0 52px; font-size: 13.5px; color: var(--fe-graphite); }
.ad-cc__contatti a { color: var(--fe-primary-text); text-decoration: none; font-weight: 500; }
.ad-cc__contatti a:hover { text-decoration: underline; }
.ad-cc__az { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 0 52px; }
.ad-cc__az .ad-spinge { flex: 1; }
.ad-cc__nota { margin: 12px 0 0 52px; }
.ad-pos-nuova { display: flex; gap: 8px; padding: 12px 14px 12px 16px; border-top: var(--st-linea) solid var(--fe-separator); }
.ad-lato { position: sticky; top: calc(var(--st-alto) + 20px); display: flex; flex-direction: column; gap: 0; }

/* ===== Registro ===== */
.ad-reg .st-gruppo + .st-gruppo__titolo { margin-top: 26px; }
.ad-ev .st-riga__corpo { align-items: flex-start; }
.ad-ev .st-riga__titolo { font-weight: 400; white-space: normal; overflow-wrap: anywhere; color: var(--fe-graphite); }
.ad-ev .st-riga__titolo b { color: var(--fe-ink); }
.ad-ev .st-riga__titolo a { color: var(--fe-primary-text); font-weight: 500; cursor: pointer; text-decoration: none; }
.ad-ev .st-riga__titolo a:hover { text-decoration: underline; }
.ad-ev .st-riga__titolo q { color: var(--fe-secondary); quotes: "«" "»"; }
.ad-ev .st-riga__coda { font: 500 12px/1.6 var(--fe-mono); color: var(--fe-secondary); }
.ad-ev .st-riga__icona { padding-top: 1px; }
.ad-chip-av { width: 18px; height: 18px; margin-left: -5px; }

/* ===== Feedback ===== */
.ad-fb { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; align-items: start; }
.ad-fb__scrivi { padding: 20px; }
.ad-fb__scrivi .st-segmenti { margin-bottom: 14px; }
.ad-fb__scrivi .ad-campi { box-shadow: 0 0 0 .5px var(--fe-separator); }
.ad-fbr { position: relative; padding: 14px 16px 14px 16px; }
.ad-fbr + .ad-fbr::before { content: ""; position: absolute; top: 0; left: 52px; right: 0; height: var(--st-linea); background: var(--fe-separator); }
.ad-fbr__testa { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; }
.ad-fbr__chi { font-size: 13px; color: var(--fe-secondary); }
.ad-fbr__chi b { color: var(--fe-ink); font-weight: 600; }
.ad-fbr__testo { margin: 8px 0 0 36px; font-size: 15px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.ad-fbr__az { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0 36px; }
.ad-fbr.is-chiuso .ad-fbr__testo { color: var(--fe-secondary); }
.ad-come p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--fe-graphite); }
.ad-come p + p { margin-top: 10px; }

/* ===== Richieste: lista come Mail ===== */
.ad-rich .lista.ad-rl { background: var(--fe-paper); }
.ad-rl__testa { padding: 22px 20px 12px; display: flex; flex-direction: column; gap: 14px; }
.ad-rl__t { margin: 0; font-size: 30px; font-weight: 600; letter-spacing: -.045em; line-height: 1.08; }
.ad-rl__sotto { margin: -10px 0 0; font-size: 13px; line-height: 1.4; color: var(--fe-secondary); }
.ad-rl__righe { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 4px 12px 28px; scrollbar-width: thin; scrollbar-color: var(--fe-separator) transparent; }
.ad-r { position: relative; display: flex; align-items: center; border-radius: 14px; }
.ad-r::after { content: ""; position: absolute; left: 88px; right: 12px; bottom: 0; height: var(--st-linea); background: var(--fe-separator); pointer-events: none; }
.ad-r:last-child::after, .ad-r.is-attiva::after, .ad-r:has(+ .ad-r.is-attiva)::after { opacity: 0; }
.ad-r > .st-spunta { margin-left: 10px; }
.ad-r__corpo { flex: 1; min-width: 0; display: flex; align-items: flex-start; gap: 12px; padding: 11px 12px; border-radius: 14px; color: inherit; text-decoration: none;
  transition: background-color var(--st-t-breve) var(--st-uscita); }
.ad-r__corpo:hover { background: var(--fe-hover); }
.ad-r__corpo:active { background: var(--fe-sel); }
.ad-r.is-attiva .ad-r__corpo { background: color-mix(in srgb, var(--fe-primary) 11%, transparent); }
.ad-r__icona { flex: none; display: flex; align-self: center; }
.ad-r__testi { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ad-r__l1 { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.ad-r__tit { flex: 1; min-width: 0; font-size: 15px; font-weight: 500; letter-spacing: -.01em; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ad-r__quando { flex: none; font-size: 12.5px; color: var(--fe-secondary); white-space: nowrap; }
.ad-r__l2 { font-size: 13px; color: var(--fe-secondary); line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ad-r__l2 b { color: var(--fe-graphite); font-weight: 500; }
.ad-r__l3 { font-size: 13px; color: var(--fe-graphite); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ad-attende { color: var(--fe-warning-text); font-weight: 500; }
.ad-attende.is-urg { color: var(--fe-error-text); }
.ad-chi-mini { display: inline-flex; align-items: center; gap: 6px; color: var(--fe-secondary); }
.ad-chi-mini svg { width: 14px; height: 14px; color: var(--fe-success-text); }
.ad-r.is-fatta .ad-r__testi { opacity: .55; }
.ad-r.is-fatta .ad-r__tit { text-decoration: line-through; text-decoration-thickness: 1px; text-decoration-color: var(--fe-tertiary); }
.ad-r.is-spunta .ad-r__testi { opacity: .55; transition: opacity 240ms var(--st-uscita); }
.ad-r.is-spunta .st-spunta { animation: ad-pop 300ms var(--st-molla); }
@keyframes ad-pop { 0% { transform: scale(.7); } 60% { transform: scale(1.18); } 100% { transform: scale(1); } }
.ad-rl .st-vuoto { padding-top: 40px; }

/* Richieste: dettaglio */
.ad-rd { background: var(--fe-paper); }
.ad-rd .st-barra-scheda { background: var(--fe-glass-bg); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  border-bottom: var(--st-linea) solid var(--st-glass-border); }
.ad-rd .st-barra-scheda__titolo { opacity: 0; transition: opacity var(--st-t-breve); }
.ad-rd .vista-btns { display: inline-flex; gap: 2px; }
.ad-mail { max-width: 800px; margin: 0 auto; padding: 30px 40px 88px; }
.ad-mail__t { display: flex; align-items: center; gap: 14px; }
.ad-mail__chi { min-width: 0; }
.ad-mail__chi p { margin: 0; font-size: 15px; line-height: 1.35; }
.ad-mail__chi b { font-weight: 600; }
.ad-mail__a { font-size: 13px !important; color: var(--fe-secondary); overflow-wrap: anywhere; }
.ad-mail__ogg { margin: 22px 0 18px; font-size: clamp(26px, 3vw, 34px); font-weight: 600; letter-spacing: -.04em; line-height: 1.12; text-wrap: balance; overflow-wrap: anywhere; }
.ad-msg { padding: 16px 18px; border-radius: 20px 20px 20px 6px; background: var(--fe-surface); box-shadow: 0 0 0 .5px var(--fe-separator), var(--st-sh-flat); margin-bottom: 10px; }
.ad-msg__k { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; font-size: 12.5px; font-weight: 500; color: var(--fe-info-text); }
.ad-msg__k svg { width: 15px; height: 15px; }
.ad-msg__t { margin: 0; font-size: 16.5px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; text-wrap: pretty; }
.ad-msg__piu { margin-top: 12px; }
.ad-msg__piu summary { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--fe-secondary); cursor: pointer; list-style: none; }
.ad-msg__piu summary::-webkit-details-marker { display: none; }
.ad-msg__piu summary:hover { color: var(--fe-ink); }
.ad-msg__piu[open] summary { margin-bottom: 10px; }
.ad-msg__piu pre { margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--fe-group); white-space: pre-wrap; overflow-wrap: anywhere;
  font: 400 13.5px/1.55 var(--fe-font); color: var(--fe-graphite); }
.ad-mail__via { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; }
.ad-mail__az { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 24px; }
.ad-mail__az .ad-mini { flex-basis: 100%; }

/* Richieste: nessuna scelta (panoramica, come la demo) */
.ad-pano { display: flex; flex-direction: column; gap: 18px; max-width: 720px; margin: 0 auto; padding: 44px 40px 40px; }
.ad-pano .st-kicker { color: var(--fe-primary-text); }
.ad-pano .st-kicker svg { width: 16px; height: 16px; }
.ad-pano__t { margin: -6px 0 0; font-size: clamp(32px, 4vw, 44px); font-weight: 600; letter-spacing: -.045em; line-height: 1.05; text-wrap: balance; }
.ad-pano__s { margin: 0; font-size: 17px; line-height: 1.5; color: var(--fe-graphite); max-width: 56ch; text-wrap: pretty; }
.ad-pano__s b { color: var(--fe-ink); font-weight: 600; }
.ad-pano__s b.is-urg { color: var(--fe-error-text); }
.ad-pano__hint { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; color: var(--fe-secondary); }
.ad-pano__hint::before { content: ""; width: 18px; height: 1.5px; border-radius: 2px; background: var(--fe-tertiary); flex: none; }

/* ===== Tablet e telefono ===== */
@media (max-width: 1100px) {
  .ad-cand, .ad-fb { grid-template-columns: minmax(0, 1fr); }
  .ad-lato { position: static; }
}
@media (max-width: 1000px) {
  .ad-imp { grid-template-columns: minmax(0, 1fr); gap: 30px; }
}
@media (max-width: 900px) {
  .ad-cifre, .ad-cifre--eroe { grid-template-columns: 1fr 1fr; }
  .ad-cifre__c.is-eroe { grid-column: 1 / -1; order: -1; }
  .ad-cifre, .ad-cifre--eroe { gap: var(--st-linea); background: var(--fe-separator); }
  .ad-cifre__c { background: var(--fe-surface); }
  .ad-cifre__c.is-eroe { background: radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--fe-primary) 12%, var(--fe-surface)), var(--fe-surface) 65%); }
  .ad-cifre__c + .ad-cifre__c::before { display: none; }
  .ad-cifre:not(.ad-cifre--eroe) .ad-cifre__c:last-child:nth-child(odd),
  .ad-cifre--eroe .ad-cifre__c:nth-last-child(2):nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .ad-testa { margin-bottom: 20px; }
  .ad-titolo { font-size: 30px; }
  .ad-sotto { font-size: 15.5px; }
  .ad-cifre { margin-bottom: 20px; }
  .ad-cifre__c { padding: 16px; }
  .ad-cifre__n { font-size: 26px; }
  .ad-cifre__n.is-eroe { font-size: 38px; }
  .ad-g__val { display: none; }
  .ad-g__slot.is-ora .ad-g__val { display: block; }
  .ad-g__barra { width: min(18px, 64%); }
  .ad-g__x > span:nth-child(even) { visibility: hidden; }
  .ad-sez__testa { margin-left: 4px; }
  .ad-cc__contatti, .ad-cc__az, .ad-cc__nota { margin-left: 0; }
  .ad-fbr__testo, .ad-fbr__az { margin-left: 0; }
  .ad-fbr + .ad-fbr::before { left: 16px; }
  .ad-campi--due { grid-template-columns: 1fr; }
  .ad-campi--due > .ad-campo + .ad-campo::before { left: 16px; right: 0; top: 0; bottom: auto; width: auto; height: var(--st-linea); }
  .ad-riga .st-riga__coda .st-badge { display: none; }
  .ad-riga .st-riga__icona, .ad-riga .st-riga__chev, .ad-riga .st-riga__titolo .ad-mini { display: none; }
  .ad-riga .st-riga__corpo { gap: 10px; padding-right: 6px; }
  .ad-riga .st-riga__titolo { white-space: nowrap; }
  .ad-riga .st-riga__sotto { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .ad-riga__fine { padding-right: 4px; }
  .ad-riga__fine .ad-ico:empty { display: none; }
  .ad-rl__testa { padding: 14px 16px 10px; }
  .ad-rl__righe { overflow: visible; padding: 0 4px 24px; }
  .ad-mail { padding: 18px 16px 110px; }
  .ad-rd .vista-btns { display: none; }
  .ad-mail__ogg { font-size: 26px; }
  .ad-pano { padding: 20px 16px; }
  .ad-pano__t { font-size: 32px; }
  .ad-filtri .st-segmenti { max-width: 100%; overflow-x: auto; }
}

/* Registro: avatar dentro le chip delle persone */
.ad-reg .st-chip .st-avatar { margin-left: -6px; }
.ad-ev .st-riga__icona { padding-top: 0; margin-top: -3px; }
/* Incassi: «Sollecita» sulle scadenze in ritardo (il sollecito è già pronto) */
.ad-sollecita { margin-right: 6px; white-space: nowrap; }
.ad-sollecita svg { width: 14px; height: 14px; }

/* ===== La scheda di una scadenza (#/incasso/ID/DATA) ===== */
.inc-scheda__azioni { display: flex; flex-wrap: wrap; gap: 10px; margin: -6px 0 6px; }
.inc-scheda__azioni svg { width: 14px; height: 14px; }
.inc-scheda__dl { display: grid; grid-template-columns: minmax(150px, 200px) 1fr; margin: 0; background: var(--fe-surface);
  border-radius: var(--fe-r-card); box-shadow: var(--st-sh-card); overflow: hidden; }
.inc-scheda__dl dt, .inc-scheda__dl dd { margin: 0; padding: 13px 18px; font-size: 14px; line-height: 1.45; }
.inc-scheda__dl dt { color: var(--fe-secondary); font-weight: 500; }
.inc-scheda__dl dd { color: var(--fe-ink); overflow-wrap: anywhere; }
.inc-scheda__dl dt:not(:first-of-type), .inc-scheda__dl dt:not(:first-of-type) + dd { border-top: var(--st-linea) solid var(--fe-separator); }
.inc-scheda__urg { color: var(--fe-error-text); font-weight: 600; }
.inc-scheda__mini { color: var(--fe-tertiary); font-size: 12px; }
.inc-scheda__form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: end; }
.inc-scheda__form label { display: grid; gap: 6px; font-size: 13px; color: var(--fe-secondary); }
.inc-scheda__largo { grid-column: 1 / -1; }
.inc-scheda__form button { justify-self: start; }
@media (max-width: 640px) {
  .inc-scheda__dl { grid-template-columns: 1fr; }
  .inc-scheda__dl dt { padding-bottom: 0; } .inc-scheda__dl dd { padding-top: 4px; border-top: 0 !important; }
  .inc-scheda__form { grid-template-columns: 1fr; }
}
