/* Vista PC / telefono - Ufficio: agenda, rileva tempi, finestre (prefisso u2-).
   Solo le regole proprie di queste pagine: quelle comuni stanno in app.css (ed-*, vt-*, mg-pagina--tel). */

/* ── AGENDA (u2-ag--tel): pagina senza margini, intestazione su una riga, calendario alto quanto lo schermo ── */
.ag-page.u2-ag--tel { padding: .5rem; gap: .5rem; min-height: 0; }
.u2-ag--tel .ag-header { flex-direction: row; align-items: center; padding: .6rem .8rem; gap: .5rem; }
.u2-ag--tel .ag-header-icon-wrap { width: 36px; height: 36px; font-size: 1.1rem; }
.u2-ag--tel .ag-header .me-3 { margin-right: 0 !important; }
.u2-ag--tel .ag-header .pr-btn--icona { min-width: 40px; min-height: 40px; }
/* Sul telefono il DxScheduler resta montato solo per la sua maschera di inserimento/modifica: fuori schermo,
   ma non display:none, così la finestra (position:fixed) si apre normalmente. */
.u2-ag--tel .ag-scheduler-card.ag-scheduler-card--nascosta {
    position: fixed; left: -10000px; top: 0; width: 360px; height: 400px;
    overflow: hidden; border: 0; box-shadow: none; pointer-events: none; flex: none;
}

/* La maschera del DxScheduler sta nel dxbl-popup-root, fuori dalla pagina, ed è larga 440px fissi:
   sul telefono a tutto schermo, testo a 16px (sotto l'iPhone ingrandisce la pagina). */
body:has(.u2-ag--tel) .dxbl-apt-edit-dialog.dxbl-apt-edit-dialog {
    width: 100vw !important; max-width: 100vw !important; min-width: 0 !important; margin: 0 !important;
    height: 100dvh !important; max-height: 100dvh !important; border-radius: 0 !important;
}
body:has(.u2-ag--tel) .dxbl-apt-edit-dialog input,
body:has(.u2-ag--tel) .dxbl-apt-edit-dialog textarea { font-size: 16px; }

/* ── AGENDA TELEFONO (AgendaMobile.razor, prefisso am-): stile Google Calendar ── */
.am-agenda { display: flex; flex-direction: column; background: var(--ab-s-ffffff, #fff); border: 1px solid var(--ab-b-e2e8f5, #e2e8f5); border-radius: 12px; overflow: hidden; position: relative; }
.am-barra { padding: .5rem .6rem .4rem; border-bottom: 1px solid var(--ab-b-e2e8f5, #e2e8f5); background: var(--ab-s-ffffff, #fff); position: relative; }
.am-titolo i { transition: transform .15s; }
.am-titolo--aperto i { transform: rotate(180deg); }

/* Calendarietto del titolo: si apre sotto la barra, sopra il calendario */
.am-mini-velo { position: fixed; inset: 0; z-index: 19; background: rgba(15,23,42,.12); }
.am-mini { position: absolute; left: .4rem; right: .4rem; top: 3.4rem; z-index: 20; background: var(--ab-s-ffffff, #fff); border: 1px solid var(--ab-b-e2e8f5, #e2e8f5);
    border-radius: 14px; box-shadow: 0 10px 30px rgba(15,23,42,.18); padding: .4rem .5rem .6rem; animation: am-mini-apre .15s ease-out; }
@keyframes am-mini-apre { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.am-mini-testa { display: flex; align-items: center; justify-content: space-between; }
.am-mini-mese { font-weight: 600; color: var(--ab-t-1e2d5a, #1e2d5a); font-size: 1rem; border: 0; background: none; border-radius: 8px; padding: .4rem .6rem; min-height: 40px; }
button.am-mini-mese:active { background: var(--ab-s-eff4ff, #eff4ff); }
.am-mini-mese i { font-size: .65rem; color: var(--ab-t-6b7cad, #6b7cad); margin-left: .2rem; }
.am-mini-scelte { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; padding: .5rem .2rem .2rem; }
.am-mini-scelta { border: 0; background: none; min-height: 48px; border-radius: 24px; font-size: .95rem; color: var(--ab-t-1e2d5a, #1e2d5a); }
.am-mini-scelta:active { background: var(--ab-s-eff4ff, #eff4ff); }
.am-mini-griglia { display: grid; grid-template-columns: repeat(7, 1fr); row-gap: 2px; text-align: center; }
.am-mini-gs { font-size: .72rem; font-weight: 600; color: var(--ab-t-6b7cad, #6b7cad); padding: .2rem 0; }
.am-mini-giorno { border: 0; background: none; height: 40px; width: 40px; margin: 0 auto; border-radius: 50%; font-size: .95rem; color: var(--ab-t-1e2d5a, #1e2d5a); }
.am-mini-giorno--fuori { color: var(--ab-t-b8c1dc, #b8c1dc); }
.am-mini-giorno--oggi { color: var(--ab-t-1a56db, #1a56db); font-weight: 700; box-shadow: inset 0 0 0 1.5px var(--ab-b-1a56db, #1a56db); }
.am-mini-giorno--sel { background: var(--ab-s-1a56db, #1a56db); color: var(--ab-t-ffffff, #fff); font-weight: 600; box-shadow: none; }
.am-mini-giorno:active { background: var(--ab-s-eff4ff, #eff4ff); }
.am-barra-riga { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.am-titolo { border: 0; background: none; font-size: 1.25rem; font-weight: 600; color: var(--ab-t-1e2d5a, #1e2d5a); padding: .25rem .2rem; display: flex; align-items: center; gap: .35rem; min-height: 44px; }
.am-titolo i { font-size: .7rem; color: var(--ab-t-6b7cad, #6b7cad); }
.am-barra-comandi { display: flex; gap: .25rem; }
.am-icona { width: 44px; height: 44px; border: 0; border-radius: 50%; background: none; color: var(--ab-t-1e2d5a, #1e2d5a); font-size: 1.25rem; position: relative; display: flex; align-items: center; justify-content: center; }
.am-icona:active { background: var(--ab-s-eff4ff, #eff4ff); }
.am-oggi span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -32%); font-size: .62rem; font-weight: 700; }
.am-viste { display: flex; gap: .25rem; background: var(--ab-s-f1f4fa, #f1f4fa); border-radius: 10px; padding: 3px; margin-top: .35rem; }
.am-vista { flex: 1; border: 0; background: none; border-radius: 8px; min-height: 36px; font-size: .9rem; color: var(--ab-t-6b7cad, #6b7cad); font-weight: 500; }
.am-vista--attiva { background: var(--ab-s-ffffff, #fff); color: var(--ab-t-1a56db, #1a56db); font-weight: 600; box-shadow: 0 1px 4px rgba(26,86,219,.15); }

.am-corpo { overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; height: calc(100dvh - 210px); position: relative; }
.am-vuoto { padding: 2rem 1rem; text-align: center; color: var(--ab-t-6b7cad, #6b7cad); }
.am-link { border: 0; background: none; color: var(--ab-t-1a56db, #1a56db); font-weight: 600; font-size: .9rem; padding: .25rem 0; }

/* Animazione del cambio periodo col dito */
.am-anim-sx { animation: am-entra-dx .22s ease-out; }
.am-anim-dx { animation: am-entra-sx .22s ease-out; }
@keyframes am-entra-dx { from { transform: translateX(40px); opacity: .3; } to { transform: none; opacity: 1; } }
@keyframes am-entra-sx { from { transform: translateX(-40px); opacity: .3; } to { transform: none; opacity: 1; } }

/* Schede degli eventi (Programma e Mese) */
.am-scheda { display: flex; flex-direction: column; align-items: flex-start; width: 100%; border: 0; border-radius: 8px; padding: .5rem .7rem; margin-bottom: .35rem; text-align: left; min-height: 44px; }
.am-scheda-tit { font-weight: 600; font-size: .95rem; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.am-scheda-sotto { font-size: .82rem; opacity: .92; margin-top: .1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.am-pallino { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }
.am-pallino--grande { width: 14px; height: 14px; flex: none; }

/* Programma */
.am-prog { padding: .25rem .6rem 6rem; }
.am-prog-prec { display: block; width: 100%; border: 0; background: none; color: var(--ab-t-6b7cad, #6b7cad); font-size: .85rem; padding: .6rem; min-height: 44px; }
.am-prog-mese { font-size: 1.05rem; font-weight: 700; color: var(--ab-t-1e2d5a, #1e2d5a); padding: 1rem .2rem .4rem; }
.am-prog-giorno { display: flex; gap: .5rem; padding: .3rem 0; }
.am-prog-data { flex: none; width: 46px; border: 0; background: none; display: flex; flex-direction: column; align-items: center; padding: .1rem 0; color: var(--ab-t-6b7cad, #6b7cad); align-self: flex-start; }
.am-prog-gs { font-size: .72rem; text-transform: uppercase; font-weight: 600; letter-spacing: .02em; }
.am-prog-num { font-size: 1.2rem; font-weight: 500; width: 36px; height: 36px; line-height: 36px; border-radius: 50%; text-align: center; color: var(--ab-t-1e2d5a, #1e2d5a); }
.am-prog-giorno--oggi .am-prog-gs { color: var(--ab-t-1a56db, #1a56db); }
.am-prog-giorno--oggi .am-prog-num { background: var(--ab-s-1a56db, #1a56db); color: var(--ab-t-ffffff, #fff); }
.am-prog-eventi { flex: 1; min-width: 0; padding-top: .15rem; }
.am-prog-vuoto { width: 100%; border: 1px dashed var(--ab-b-d4dcef, #d4dcef); background: none; border-radius: 8px; color: var(--ab-t-6b7cad, #6b7cad); font-size: .85rem; min-height: 44px; text-align: left; padding: .5rem .7rem; }

/* Giorno e 3 giorni */
.am-ore { padding-bottom: 5rem; }
.am-ore-testa { display: flex; position: sticky; top: 0; z-index: 4; background: var(--ab-s-ffffff, #fff); border-bottom: 1px solid var(--ab-b-e2e8f5, #e2e8f5); padding: .3rem 0; }
.am-ore-gutter { flex: none; width: 46px; position: relative; }
.am-ore-col-testa { flex: 1; min-width: 0; padding: 0 2px; display: flex; flex-direction: column; align-items: stretch; }
.am-ore-data { border: 0; background: none; display: flex; flex-direction: column; align-items: center; color: var(--ab-t-6b7cad, #6b7cad); padding: 0; }
.am-ore-data--oggi .am-prog-gs { color: var(--ab-t-1a56db, #1a56db); }
.am-ore-data--oggi .am-prog-num { background: var(--ab-s-1a56db, #1a56db); color: var(--ab-t-ffffff, #fff); }
.am-ore-intero { border: 0; border-radius: 6px; font-size: .78rem; font-weight: 600; padding: .2rem .4rem; margin-top: 2px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-height: 26px; }
.am-ore-griglia { display: flex; position: relative; }
.am-ore-etichetta { position: absolute; right: 6px; transform: translateY(-50%); font-size: .7rem; color: var(--ab-t-8a97c0, #8a97c0); }
.am-ore-col { flex: 1; min-width: 0; position: relative; border-left: 1px solid var(--ab-b-eef1f8, #eef1f8);
    background-image: repeating-linear-gradient(to bottom, var(--ab-s-eef1f8, #eef1f8) 0, var(--ab-s-eef1f8, #eef1f8) 1px, transparent 1px, transparent 48px); }
.am-ore-evento { position: absolute; border-radius: 6px; padding: 2px 5px; overflow: hidden; font-size: .78rem; line-height: 1.2; border: 1px solid var(--ab-b-ffffff, #fff); cursor: pointer; display: flex; flex-direction: column; z-index: 1; }
.am-ore-evento--basso { flex-direction: row; gap: .3rem; align-items: center; }
.am-ore-evento-tit { font-weight: 600; overflow: hidden; overflow-wrap: anywhere; }
/* Nome della risorsa davanti all'oggetto dell'appuntamento */
.am-risorsa-nome { font-weight: 700; margin-right: .3em; }
.am-ore-evento--basso .am-ore-evento-tit { white-space: nowrap; text-overflow: ellipsis; }
.am-ore-evento-ora { font-size: .72rem; opacity: .9; white-space: nowrap; }
.am-ore-adesso { position: absolute; left: -1px; right: 0; height: 2px; background: var(--ab-s-d50000, #d50000); z-index: 3; pointer-events: none; }
.am-ore-adesso::before { content: ""; position: absolute; left: -5px; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: var(--ab-s-d50000, #d50000); }

/* Mese */
.am-mese { padding: 0 .3rem 6rem; }
.am-mese-intest { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; font-size: .72rem; font-weight: 600; color: var(--ab-t-6b7cad, #6b7cad); padding: .4rem 0 .2rem; }
.am-mese-griglia { display: grid; grid-template-columns: repeat(7, 1fr); border-top: 1px solid var(--ab-b-eef1f8, #eef1f8); }
.am-mese-cella { border: 0; border-bottom: 1px solid var(--ab-b-eef1f8, #eef1f8); background: none; min-height: 54px; display: flex; flex-direction: column; align-items: center; padding: .25rem 0; gap: .2rem; color: var(--ab-t-1e2d5a, #1e2d5a); }
.am-mese-cella--fuori { color: var(--ab-t-b8c1dc, #b8c1dc); }
.am-mese-num { width: 30px; height: 30px; line-height: 30px; border-radius: 50%; font-size: .95rem; text-align: center; }
.am-mese-cella--oggi .am-mese-num { color: var(--ab-t-1a56db, #1a56db); font-weight: 700; }
.am-mese-cella--sel .am-mese-num { background: var(--ab-s-1a56db, #1a56db); color: var(--ab-t-ffffff, #fff); font-weight: 600; }
.am-mese-pallini { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px; max-width: 40px; align-items: center; min-height: 7px; }
.am-mese-piu { font-size: .62rem; color: var(--ab-t-6b7cad, #6b7cad); line-height: 1; }
.am-mese-elenco { padding: .6rem .3rem 0; }
.am-mese-elenco-titolo { display: flex; justify-content: space-between; align-items: center; font-weight: 600; color: var(--ab-t-1e2d5a, #1e2d5a); margin-bottom: .4rem; }

/* Bottone + */
.am-fab { position: fixed; right: 18px; bottom: calc(22px + env(safe-area-inset-bottom)); width: 58px; height: 58px; border-radius: 18px; border: 0;
    background: linear-gradient(135deg, var(--ab-s-1a56db, #1a56db) 0%, var(--ab-s-0e3fa8, #0e3fa8) 100%); color: var(--ab-t-ffffff, #fff); font-size: 1.6rem; box-shadow: 0 6px 18px rgba(14,63,168,.35); z-index: 1040; display: flex; align-items: center; justify-content: center; }
.am-fab:active { transform: scale(.96); }

/* Pannelli dal basso */
.am-velo { position: fixed; inset: 0; background: rgba(15,23,42,.35); z-index: 1050; animation: am-velo .2s ease-out; }
.am-foglio { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1051; background: var(--ab-s-ffffff, #fff); border-radius: 18px 18px 0 0; padding: .5rem 1rem calc(1rem + env(safe-area-inset-bottom));
    max-height: 80dvh; overflow-y: auto; box-shadow: 0 -8px 30px rgba(15,23,42,.18); animation: am-sale .22s ease-out; }
@keyframes am-sale { from { transform: translateY(100%); } to { transform: none; } }
@keyframes am-velo { from { opacity: 0; } to { opacity: 1; } }
.am-foglio-maniglia { width: 40px; height: 4px; border-radius: 2px; background: var(--ab-s-d4dcef, #d4dcef); margin: .2rem auto .8rem; }
.am-foglio-testa { display: flex; align-items: flex-start; gap: .75rem; margin-bottom: .6rem; }
.am-foglio-chiudi { margin: -.6rem -.5rem 0 auto; flex: none; font-size: 1.05rem; color: var(--ab-t-6b7cad, #6b7cad); }
.am-foglio-colore { width: 16px; height: 16px; border-radius: 4px; flex: none; margin-top: .3rem; }
.am-foglio-titolo { font-size: 1.2rem; font-weight: 600; color: var(--ab-t-1e2d5a, #1e2d5a); line-height: 1.3; word-break: break-word; }
.am-foglio-riga { display: flex; gap: .75rem; padding: .4rem 0; color: var(--ab-t-1e2d5a, #1e2d5a); font-size: .95rem; }
.am-foglio-riga > i { color: var(--ab-t-6b7cad, #6b7cad); width: 16px; flex: none; margin-top: .1rem; }
.am-foglio-descr span { white-space: pre-wrap; word-break: break-word; max-height: 30dvh; overflow-y: auto; }
.am-foglio-bottoni { display: flex; gap: .5rem; justify-content: flex-end; align-items: center; margin-top: 1rem; }
.am-foglio-bottoni .pr-btn { min-height: 44px; flex: 1; justify-content: center; }
.am-foglio-nota { flex: 1; color: var(--ab-t-6b7cad, #6b7cad); font-size: .9rem; text-align: center; }
.am-filtro-elenco { display: flex; flex-direction: column; }
.am-filtro-voce { display: flex; align-items: center; gap: .75rem; min-height: 48px; font-size: 1rem; color: var(--ab-t-1e2d5a, #1e2d5a); border-bottom: 1px solid var(--ab-b-eef1f8, #eef1f8); margin: 0; }
.am-filtro-voce input { width: 20px; height: 20px; flex: none; }

/* ── RILEVA TEMPI (u2-rt--tel): etichette sopra i campi, controlli alti 40px, Salva a tutta larghezza ── */
.u2-rt--tel .rt-header { margin-bottom: .75rem; }
.u2-rt--tel .rt-section-body { padding: .8rem; }
.u2-rt--tel .rt-field-row { flex-direction: column; align-items: stretch; gap: .25rem; }
.u2-rt--tel .rt-label { flex: none; padding-top: 0; }
.u2-rt--tel .rt-control--short { max-width: none; }
.u2-rt--tel .form-control,
.u2-rt--tel .form-select { min-height: 40px; font-size: 16px; }
.u2-rt--tel .rt-btn-primary { width: 100%; justify-content: center; min-height: 44px; font-size: 1rem; }

/* ── RICERCA UFFICIO (u2-ru--tel): filtri in colonna, risultati a schede ── */
.u2-ru--tel .pr-header { flex-wrap: wrap; gap: .5rem; }
.u2-ru--tel .ru-ambito { min-height: 40px; }
.u2-ru--tel .ru-riga { flex-direction: column; align-items: stretch; }
.u2-ru--tel .ru-cerca { flex: 1 1 auto; }
.u2-ru--tel .ru-cerca .pr-btn--icona { min-width: 44px; min-height: 40px; }
.u2-ru--tel .ru-periodo { flex-wrap: wrap; }
.u2-ru--tel .ru-periodo input { width: auto; flex: 1 1 130px; }
.u2-ru--tel .ru-filtri-campi { flex-direction: column; gap: .6rem; }
.u2-ru--tel .ru-campo { flex-direction: column; align-items: stretch; gap: .25rem; }
.u2-ru--tel .ru-campo select,
.u2-ru--tel .ru-anagrafica { width: 100%; }
.u2-ru--tel .form-control,
.u2-ru--tel .form-select { min-height: 40px; font-size: 16px; }
.u2-ru--tel .ru-anagrafica .btn { min-width: 44px; }
.u2-ru-descr { white-space: pre-wrap; }

/* ── DATI FATTURAZIONE (u2-df--tel): finestra a tutto schermo, campi in una colonna ── */
.u2-df--tel .df-card { border-radius: 0; }
.u2-df--tel .df-body.df-body { max-height: none; padding: .75rem; }
.u2-df--tel .df-row { flex-direction: column; align-items: stretch; gap: .6rem; }
.u2-df--tel .df-field--grow { min-width: 0; }
.u2-df--tel .df-input,
.u2-df--tel .df-textarea { min-height: 40px; font-size: 16px; width: 100%; }
.u2-df--tel .df-input--sm,
.u2-df--tel .df-input--num { max-width: none; }
.u2-df--tel .df-check-row { min-height: 40px; margin-left: 0 !important; }
.u2-df--tel .df-check { width: 20px; height: 20px; }
.u2-df--tel .df-calc-grid { grid-template-columns: minmax(0, 1fr); }
.u2-df--tel .df-stamp-btn { min-height: 40px; }
.u2-df--tel .df-footer .df-btn { flex: 1 1 0; justify-content: center; min-height: 44px; }

/* ── NUOVA PRESTAZIONE (u2-np--tel): finestra a tutto schermo, una colonna ── */
.u2-np--tel .np-card { border-radius: 0; }
.u2-np--tel .np-body { padding: .75rem; }
.u2-np--tel .np-grid { grid-template-columns: minmax(0, 1fr); gap: .7rem; }
.u2-np--tel .np-totali { grid-template-columns: minmax(0, 1fr); }
.u2-np--tel .np-input { min-height: 40px; font-size: 16px; }
.u2-np--tel .np-footer { flex-wrap: wrap; }
.u2-np--tel .np-footer .np-btn { flex: 1 1 0; justify-content: center; min-height: 44px; }

/* ── CENTRO NOTIFICHE (u2-cn--tel): azioni sotto il testo, bottoni alti 40px ── */
.u2-cn--tel.cn-page { padding: .5rem; max-width: none; }
.u2-cn--tel .cn-item { flex-direction: column; align-items: stretch; gap: .6rem; padding: .7rem .8rem; }
.u2-cn--tel .cn-item-icon { display: none; }
.u2-cn--tel .cn-item-actions { width: 100%; }
.u2-cn--tel .cn-action-btn { flex: 1 1 0; justify-content: center; min-height: 40px; font-size: .9rem; }
.u2-cn--tel .pr-btn--icona { min-width: 40px; min-height: 40px; }
.u2-cn--tel.cn-modal-overlay { padding: .5rem; align-items: flex-start; }
.u2-cn--tel .cn-modal { max-height: calc(100dvh - 1rem); overflow-y: auto; }
.u2-cn--tel .cn-time-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.u2-cn--tel .cn-time-btn { min-height: 40px; font-size: .85rem; }
.u2-cn--tel .cn-modal .form-control { min-height: 40px; font-size: 16px; }
.u2-cn--tel .cn-modal-footer .cn-btn { flex: 1 1 0; justify-content: center; min-height: 44px; }

/* ── ELENCO 365 (u2-e365--tel): finestra a tutto schermo, righe più alte ── */
.u2-e365--tel .e365-card { border-radius: 0; }
.u2-e365--tel .e365-body.e365-body { max-height: none; }
.u2-e365--tel .e365-file-item { padding: .8rem .9rem; min-height: 56px; }
.u2-e365--tel .e365-footer { flex-wrap: wrap; gap: .5rem; }
.u2-e365--tel .e365-footer > .d-flex { width: 100%; }
.u2-e365--tel .e365-btn-cancel,
.u2-e365--tel .e365-btn-confirm { flex: 1 1 0; min-height: 44px; }

/* ── VISUALIZZAZIONE EMAIL (u2-ve--tel): finestra a tutto schermo, intestazioni in colonna, bottoni grandi ── */
.u2-ve--tel .ve-card { border-radius: 0; }
.u2-ve--tel .ve-header { padding: .7rem .9rem; }
.u2-ve--tel .ve-close-btn { width: 40px; height: 40px; }
.u2-ve--tel .ve-body.ve-body { max-height: none; padding: .6rem; }
.u2-ve--tel .ve-meta-grid { padding: .6rem .75rem; }
.u2-ve--tel .ve-meta-row.ve-meta-row { grid-template-columns: minmax(0, 1fr); gap: .1rem; }
.u2-ve--tel .ve-attachment-dl { width: 44px; height: 40px; }
.u2-ve--tel .ve-body-header { flex-wrap: wrap; }
.u2-ve--tel .ve-toggle-btn { min-height: 36px; padding: .3rem .8rem; font-size: .85rem; }
.u2-ve--tel .ve-body-text { max-height: none; font-size: 16px; padding: .75rem; }
.u2-ve--tel .ve-html-frame.ve-html-frame { height: 65dvh; }
.u2-ve--tel .ve-btn-close { width: 100%; min-height: 44px; font-size: 1rem; }

/* ── AVVISO NOTA (u2-avn--tel): finestra a tutto schermo, testo 16px, OK grande ── */
.u2-avn--tel .avn-card { border-radius: 0; }
.u2-avn--tel .avn-header .btn-close { width: 1.5rem; height: 1.5rem; }
.u2-avn--tel .avn-textarea { font-size: 16px; min-height: 40vh; }
.u2-avn--tel .avn-check-row { min-height: 40px; font-size: 1rem; }
.u2-avn--tel .avn-check { width: 22px; height: 22px; }
.u2-avn--tel .avn-btn { width: 100%; justify-content: center; min-height: 44px; font-size: 1rem; }
