/* Vista PC / telefono - Pratiche (prefisso pt-).
   Solo le regole proprie di queste pagine: quelle comuni stanno in app.css (ed-*, vt-*, mg-pagina--tel). */

/* ===================================================================
   Comuni della vista telefono delle pratiche (pt-tel sul contenitore)
   =================================================================== */
.pt-tel { padding: .5rem !important; }
.pt-tel .pr-header { padding: .6rem .8rem; gap: .5rem; }
.pt-tel .pr-header-right { width: 100%; }
.pt-tel .pr-header-right .pr-btn { min-height: 40px; }
.pt-tel .form-control,
.pt-tel .form-select { min-height: 40px; font-size: 16px; }
.pt-tel .dxbl-text-edit { min-height: 40px; }
.pt-tel .dxbl-text-edit input { font-size: 16px; }
.pt-tel .pr-btn { min-height: 40px; }
.pt-tel .pr-btn--icona { min-width: 40px; }
/* Finestre a tutto schermo: footer con i pulsanti alti, corpo che scorre. */
.modal-fullscreen.pt-tel { padding: 0 !important; }
.modal-fullscreen.pt-tel .modal-content { border-radius: 0; }
.modal-fullscreen.pt-tel .modal-body { overflow-y: auto; }
.modal-fullscreen.pt-tel .modal-footer { flex-wrap: wrap; }
.modal-fullscreen.pt-tel .modal-footer .pr-btn { min-height: 44px; flex: 1 1 auto; justify-content: center; }
.modal-fullscreen.pt-tel textarea { font-size: 16px; }

/* ===================================================================
   StatoPratiche
   =================================================================== */
/* La pagina su PC è alta quanto la finestra (adattaAltezza scrive l'altezza inline):
   su telefono scorre tutta la pagina. */
.sp-pagina.pt-tel { height: auto !important; display: block; }
.pt-tel .sp-comandi.sp-comandi,
.pt-tel .sp-selezione.sp-selezione { flex-direction: column; align-items: stretch; padding: .5rem; }
.pt-tel .sp-comandi .pr-btn.pr-btn { font-size: .9rem; padding: .35rem .75rem; min-height: 40px; justify-content: center; }
.pt-tel .sp-comandi-dx.sp-comandi-dx { margin-left: 0; font-size: .85rem; min-height: 32px; }
.pt-tel .sp-fascia.sp-fascia { flex-direction: column; }
.pt-tel .sp-gb.sp-gb { min-width: 0; width: 100%; padding: .2rem .6rem .5rem; }
.pt-tel .sp-gb.sp-gb > legend { font-size: .75rem; }
.pt-tel .sp-ro.sp-ro { font-size: .9rem; min-height: 28px; padding: .2rem .45rem; }
.pt-tel .sp-link.sp-link { font-size: .95rem; min-height: 40px; }
.pt-tel .sp-legenda-hint.sp-legenda-hint { font-size: .8rem; align-items: flex-start; }
.pt-tel .sp-selezione-conta.sp-selezione-conta { font-size: .9rem; margin-right: 0; }
.pt-tel .sp-selezione .pr-btn { justify-content: center; }
.pt-tel .sp-chip.sp-chip,
.pt-tel .sp-legenda-extra.sp-legenda-extra { font-size: .78rem; }

.pt-elenco { margin-top: .25rem; }
.pt-stati { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.pt-stato {
    display: inline-flex; align-items: center; gap: .3rem;
    min-height: 36px; min-width: 52px; padding: .2rem .6rem; justify-content: center;
    border: 2px solid transparent; border-radius: 8px; font-size: .85rem; cursor: pointer;
}
.pt-stato--vuota { background: var(--ab-s-f4f6fb, #f4f6fb); color: var(--ab-t-6b7cad, #6b7cad); border-color: var(--ab-b-e2e8f5, #e2e8f5); }
.pt-stato--sel { border-color: var(--ab-b-1a56db, #1a56db); box-shadow: 0 0 0 2px rgba(26,86,219,.25); background: var(--ab-s-9ca3af, #9ca3af); color: var(--ab-t-1f2937, #1f2937); }
.pt-stato-cod { font-weight: 700; }
.pt-stato-desc { font-weight: 500; font-size: .75rem; }
.pt-collegata { margin-left: .35rem; color: var(--ab-t-b0306a, #b0306a); font-size: .78rem; white-space: nowrap; }

/* Pannello Azioni a tutto schermo: una colonna di pulsanti alti. */
.pt-tel .sp-azioni.sp-azioni { grid-template-columns: minmax(0, 1fr); gap: .4rem; }
.pt-tel .sp-azione.sp-azione { min-height: 44px; font-size: .95rem; padding: .4rem .75rem; }
.pt-tel .sp-azione.sp-azione > i { font-size: 1.05rem; }
.pt-tel .sp-azioni-titolo.sp-azioni-titolo { font-size: .75rem; margin-top: .5rem; }
.pt-tel .sp-modal .modal-header .modal-title { font-size: 1rem; }
.pt-tel .sp-modal .sp-hint { font-size: .8rem; }
.pt-tel .sp-stamp-btn { min-height: 40px; font-size: .9rem; }

/* ===================================================================
   RilevaPrestazione (finestra usata in mobilità)
   =================================================================== */
.rp-dialog.rp-tel { max-width: none; }
.rp-tel .rp-modal { max-height: none; }
.rp-tel .rp-header .modal-title { font-size: 1.05rem; }
.rp-tel .rp-close { min-width: 44px; min-height: 44px; font-size: 1.1rem; }
.rp-tel .rp-voce { flex-wrap: wrap; font-size: .9rem; }
.rp-tel .rp-desc { white-space: normal; flex-basis: 100%; }
.rp-tel .rp-campi.rp-campi { grid-template-columns: minmax(0, 1fr); gap: .65rem; }
.rp-tel .rp-campo > span,
.rp-tel .rp-note-testa > span { font-size: .85rem; }
.rp-tel .rp-num.rp-num { max-width: 120px; flex: 1 1 0; }
.rp-tel .rp-inline .dxbl-text-edit { flex: 1 1 auto; }
.rp-tel .rp-stamp-btn { min-height: 40px; font-size: .9rem; padding: .25rem .7rem; }
.rp-tel .rp-totali { font-size: .9rem; gap: .5rem 1rem; }
.rp-tel .rp-hint { font-size: .85rem; }

/* Riquadri a fieldset (GestionePratiche gpr-, GestioneContratti gc-) su telefono: una colonna. */
.pt-tel .gpr-fascia.gpr-fascia { flex-direction: column; }
.pt-tel .gpr-gb.gpr-gb { min-width: 0; width: 100%; }
.pt-tel .gpr-gb.gpr-gb > legend { font-size: .8rem; }
.pt-tel .gpr-codice-input.gpr-codice-input,
.pt-tel .gpr-nuovo-codice.gpr-nuovo-codice { max-width: none; flex: 1 1 auto; }
.pt-tel .gpr-scadenze.gpr-scadenze { grid-template-columns: minmax(0, 1fr); }
.pt-tel .gpr-scadenza-num { font-size: .85rem; min-width: 22px; }
.pt-tel .gpr-prestazioni-toolbar.gpr-prestazioni-toolbar { flex-direction: column; align-items: stretch; gap: .5rem; }
.pt-tel .gpr-radio.gpr-radio { font-size: .95rem; min-height: 36px; }
.pt-tel .gpr-radio input { width: 20px; height: 20px; }
.pt-tel .gpr-prestazioni-toolbar .ms-auto { margin-left: 0 !important; justify-content: center; }

/* Scheda con spunta a sinistra e un campo numerico a destra (prestazioni, contratti). */
.pt-riga-spunta { display: flex; align-items: center; gap: .6rem; }
.pt-spunta { display: flex; align-items: flex-start; gap: .6rem; flex: 1 1 auto; min-width: 0; margin: 0; cursor: pointer; }
.pt-spunta > input[type=checkbox] { width: 22px; height: 22px; flex: none; margin-top: .1rem; }
.pt-ordine { display: flex; flex-direction: column; flex: 0 0 90px; margin: 0; }
.pt-ordine > span { font-size: .7rem; color: var(--ab-t-6b7cad, #6b7cad); }
.pt-ordine .form-control { text-align: right; }
.pt-check { width: 22px; height: 22px; flex: none; }
div.pt-spunta { cursor: pointer; }

/* GestioneContratti (gc-) su telefono */
.pt-tel .gc-fascia.gc-fascia { flex-direction: column; }
.pt-tel .gc-gb.gc-gb { min-width: 0; width: 100%; padding: .2rem .6rem .5rem; }
.pt-tel .gc-gb.gc-gb > legend { font-size: .8rem; }
.pt-tel .gc-codice.gc-codice { max-width: none; flex: 1 1 100px; }
.pt-tel .gc-descrizione.gc-descrizione { flex: 1 1 100%; }
.pt-tel .gc-ro.gc-ro { flex: 1 1 100%; font-size: .9rem; min-height: 32px; }
.pt-tel .gc-inline .dxbl-text-edit { flex: 1 1 140px; }
.pt-tel .gc-et.gc-et { font-size: .85rem; }
.pt-tel .gc-filtri.gc-filtri { flex-direction: column; gap: .4rem; }
.pt-tel .gc-radio.gc-radio,
.pt-tel .gc-check.gc-check { font-size: .95rem; min-height: 36px; }
.pt-tel .gc-radio input { width: 20px; height: 20px; }
.pt-tel .gc-hint { font-size: .85rem; }

/* ===================================================================
   ReportCentroPratiche (Scadenze pratiche, rc-)
   =================================================================== */
.pt-tel .rc-toolbar.rc-toolbar { flex-direction: column; align-items: stretch; gap: .5rem; }
.pt-tel .rc-field.rc-field { min-width: 0; font-size: .85rem; }
.pt-tel .rc-field--checkbox.rc-field--checkbox { min-height: 36px; }
/* Menu a comparsa: su telefono si aprono sotto il pulsante, a tutta larghezza. */
.pt-tel .rc-popup.rc-popup { display: block; width: 100%; }
.pt-tel .rc-popup > .pr-btn { width: 100%; justify-content: center; }
.pt-tel .rc-popup-menu.rc-popup-menu { position: relative; top: auto; right: auto; min-width: 0; margin-top: 4px; }
.pt-tel .rc-popup-voce.rc-popup-voce { white-space: normal; min-height: 44px; font-size: .95rem; }

/* ===================================================================
   GruppiLavoro (gl-): tre elenchi a spunta
   =================================================================== */
.pt-tel .gl-fascia.gl-fascia { flex-direction: column; }
.pt-tel .gl-gb.gl-gb { min-width: 0; width: 100%; padding: .2rem .6rem .5rem; }
.pt-tel .gl-gb.gl-gb > legend { font-size: .8rem; }
.pt-tel .gl-codice.gl-codice { max-width: none; flex: 1 1 auto; }
.pt-schede-brevi { gap: .4rem; }
.vt-scheda.pt-spunta { display: flex; align-items: center; padding: .5rem .7rem; margin: 0; }
.vt-scheda.pt-spunta > input[type=checkbox] { width: 22px; height: 22px; flex: none; margin: 0; }

/* ===================================================================
   ClientiFuoriContratto (cfc-) e DuplicaContrattiAnnoNuovo (dc-)
   =================================================================== */
.pt-tel .cfc-fascia.cfc-fascia,
.pt-tel .dc-fascia.dc-fascia { flex-direction: column; align-items: stretch; }
.pt-tel .cfc-gb.cfc-gb,
.pt-tel .dc-gb.dc-gb { min-width: 0; width: 100%; padding: .2rem .6rem .5rem; }
.pt-tel .cfc-gb.cfc-gb > legend,
.pt-tel .dc-gb.dc-gb > legend { font-size: .8rem; }
.pt-tel .cfc-anno.cfc-anno,
.pt-tel .cfc-codice.cfc-codice,
.pt-tel .dc-nuovo-codice.dc-nuovo-codice { max-width: none; flex: 1 1 auto; }
.pt-tel .cfc-azioni-ricerca .pr-btn,
.pt-tel .dc-azioni .pr-btn { flex: 1 1 auto; justify-content: center; min-height: 44px; }
.pt-tel .dc-inline .dxbl-text-edit { flex: 1 1 130px; }
.pt-tel .dc-inline > .pr-btn { flex: 1 1 100%; justify-content: center; }
.pt-tel .dc-et.dc-et { font-size: .85rem; }
.pt-tel .cfc-conta.cfc-conta,
.pt-tel .dc-conta.dc-conta { font-size: .85rem; }
.pt-tel .dc-albero.dc-albero { max-height: none; }
.pt-tel .dc-prestazione.dc-prestazione { font-size: .9rem; }

/* ===================================================================
   Finestre figlie delle pratiche su telefono (modal-fullscreen pt-tel)
   =================================================================== */
/* Pulsanti X delle intestazioni: area di tocco ampia. */
.pt-tel .cap-close, .pt-tel .icp-close, .pt-tel .rip-close, .pt-tel .rp2-close,
.pt-tel .gp-close, .pt-tel .ms-close, .pt-tel .ead-close, .pt-tel .epn-close { min-width: 44px; min-height: 44px; font-size: 1.1rem; }

/* CollegaAttivitaPratica (cap-) */
.pt-tel .cap-toolbar.cap-toolbar { flex-direction: column; align-items: stretch; }
.pt-tel .cap-gb.cap-gb { min-width: 0; width: 100%; }
.pt-tel .cap-giorni.cap-giorni { width: 120px; }
.pt-tel .cap-check.cap-check { font-size: .95rem; min-height: 36px; }
.pt-tel .cap-check input { width: 20px; height: 20px; }
.pt-tel .cap-ricerca.cap-ricerca { margin-left: 0; min-width: 0; }
.pt-tel .cap-conta.cap-conta { font-size: .85rem; }

/* InserisciClientiPratica (icp-) */
.pt-tel .icp-toolbar.icp-toolbar { flex-direction: column; align-items: stretch; }
.pt-tel .icp-ricerca.icp-ricerca { max-width: none; }
.pt-tel .icp-conta.icp-conta { margin-left: 0; font-size: .85rem; }

/* RipristinoColori (rip-) */
.pt-tel .rip-riga.rip-riga { flex-direction: column; align-items: stretch; }
.pt-tel .rip-gb.rip-gb { min-width: 0; width: 100%; }
.pt-tel .rip-gb.rip-gb > legend { font-size: .8rem; }
.pt-tel .rip-codice.rip-codice { max-width: none; flex: 1 1 auto; }
.pt-tel .rip-radio.rip-radio { font-size: .95rem; min-height: 40px; }
.pt-tel .rip-radio input { width: 20px; height: 20px; flex: none; }
.pt-tel .rip-hint.rip-hint { font-size: .85rem; }

/* RicercaPratiche (rp2-) */
.pt-tel .rp2-voce.rp2-voce { min-height: 48px; flex-wrap: wrap; align-items: center; }
.pt-tel .rp2-descrizione.rp2-descrizione { font-size: .95rem; }
.pt-tel .rp2-btn.rp2-btn { min-height: 44px; flex: 1 1 auto; font-size: 1rem; }

/* GestionePrestazioni (gp-) */
.pt-tel .gp-comandi .pr-btn { flex: 1 1 auto; justify-content: center; }
.pt-tel .gp-riga.gp-riga { flex-direction: column; align-items: stretch; }
.pt-tel .gp-gb.gp-gb { min-width: 0; width: 100%; }
.pt-tel .gp-check.gp-check { font-size: .95rem; min-height: 36px; }

/* ManutenzioneScadenze (ms-section, ms-riga, ...) */
.pt-tel .ms-section.ms-section { max-width: none; padding: .6rem; }
.pt-tel .ms-riga.ms-riga { flex-direction: column; align-items: stretch; }
.pt-tel .ms-gb.ms-gb { min-width: 0; width: 100%; }
.pt-tel .ms-gb.ms-gb > legend { font-size: .8rem; }
.pt-tel .ms-codice-input.ms-codice-input { max-width: none; flex: 1 1 auto; }
.pt-tel .ms-ro.ms-ro { font-size: .95rem; min-height: 40px; }
.pt-tel .ms-azioni .pr-btn { flex: 1 1 auto; justify-content: center; min-height: 44px; }

/* ElencoAnagraficheDuplica (ead-) */
.pt-tel .ead-comandi .pr-btn { flex: 1 1 auto; justify-content: center; }
