/* app.css — regole page-level residue */

a { text-decoration: none; }

/* clickable table rows */
tr[data-bs-toggle="modal"],
td[data-bs-toggle="modal"] { cursor: pointer; }

/* form non interagibile */
.disabled-input { pointer-events: none; }

/* empty-state message: visibile di default, nascosto quando la lista ha righe */
.respmsg { display: block; text-align: center; padding: 20px 0 0; margin: 0; }
table:has(tbody.list tr) + .respmsg { display: none; }

/* modal */
.modal-dialog { width: clamp(240px, 480px, calc(100% - 1rem)); }
.modal-body   { max-height: 50dvh; overflow-y: auto; }

/* disabled */
button:disabled { opacity: .4; }

/* utility */
.min-h-100dvh { min-height: 100dvh; }

/* icone: rotazione per spinner (Phosphor non include un'utility equivalente) */
.ph-spin { animation: ph-spin 1s linear infinite; }
@keyframes ph-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
