/* Componenti modali condivisi inclusi da footer-links.php. */
    #infoModal .document-info-modal-dialog { width: min(1400px, calc(100% - 32px)); max-width: 1400px; }
    #infoModal.document-info-modal { z-index: var(--ui-z-modal-nested); }
    body > .modal-backdrop.document-info-modal-backdrop { z-index: var(--ui-z-modal-nested-backdrop); }
    #infoModal .document-info-modal-content { background: var(--search-area-bg); color: var(--Font); border: 1px solid #b9b9b938; border-radius: 22px; overflow: hidden; box-shadow: 0 24px 70px rgba(0,0,0,.28); }
    #infoModal .document-info-modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 24px; border-bottom:1px solid #b9b9b938; background:radial-gradient(circle at top left, rgba(245,158,11,.18), transparent 38%), rgba(255,255,255,.035); }
    #infoModal .document-info-modal-title-wrap { display:flex; align-items:center; gap:14px; min-width:0; }
    #infoModal .document-info-modal-icon { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; border-radius:16px; background:rgba(245,158,11,.14); color:#f59e0b; font-size:18px; }
    #infoModal .document-info-modal-title { margin:0; color:var(--Font); font-size:21px; font-weight:900; }
    #infoModal .document-info-modal-subtitle { margin-top:4px; color:#94a3b8; font-size:13px; }
    #infoModal .document-info-modal-close { width:36px; height:36px; border:0; border-radius:12px; background:rgba(239,68,68,.12); color:#ef4444; font-size:20px; }
    #infoModal .document-info-modal-body { max-height:72vh; padding:20px 24px; overflow:auto; }
    #infoModal .document-info-modal-footer { display:flex; justify-content:flex-end; gap:10px; padding:16px 24px; border-top:1px solid #b9b9b938; background:rgba(255,255,255,.025); }
    #infoModal .document-info-modal-footer .btn { background:rgba(148,163,184,.14); border-color:rgba(148,163,184,.28); color:var(--Font); }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) { width:100%; min-width:0; color:var(--ui-text, var(--Font)); }
    #infoModalContent .fattura-header-container { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
    #infoModalContent .fattura-header { min-width:0; padding:14px; border:1px solid var(--ui-border, #b9b9b938); border-radius:var(--ui-radius-sm, 8px); background:var(--ui-surface-2, rgba(255,255,255,.035)); overflow-wrap:anywhere; }
    #infoModalContent .fattura-header h4 { margin:0 0 8px; color:var(--ui-text, var(--Font)); font-size:14px; }
    #infoModalContent .fattura-header p { margin:0 0 5px; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .container,
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .container-fluid { width:100%; max-width:none; padding-right:0; padding-left:0; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .row { margin-right:0; margin-left:0; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) table { width:100%!important; margin:0!important; border-collapse:collapse; color:var(--ui-text, var(--Font))!important; background:transparent!important; font-size:12px!important; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) table th,
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) table td { padding:8px 9px; border-bottom:1px solid var(--ui-border, #b9b9b938); vertical-align:middle; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) table th { background:var(--ui-surface-2, rgba(255,255,255,.035)); color:var(--ui-muted, #94a3b8); font-size:10px; text-transform:uppercase; white-space:nowrap; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) table td { overflow-wrap:anywhere; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) img { max-width:100%; height:auto; }
    #infoModal .fatture-acquisto-info { min-width:0; color:var(--ui-text, var(--Font)); }
    #infoModal .fatture-acquisto-info__header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; padding-bottom:14px; border-bottom:1px solid var(--ui-border); }
    #infoModal .fatture-acquisto-info .finfo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    #infoModal .fatture-acquisto-info .finfo-card { min-width:0; margin-top:12px; padding:14px; border:1px solid var(--ui-border); border-radius:14px; background:var(--ui-surface-2); }
    #infoModal .fatture-acquisto-info .finfo-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; }
    #infoModal .fatture-acquisto-info .finfo-mini { min-width:0; padding:6px 0; line-height:1.45; }
    #infoModal .fatture-acquisto-info .finfo-k { color:var(--ui-muted); font-size:11px; font-weight:800; text-transform:uppercase; }
    #infoModal .fatture-acquisto-info .finfo-v { color:var(--ui-text); font-weight:700; }
    #infoModal .fatture-acquisto-info .finfo-sep { height:1px; margin:12px 0; background:var(--ui-border); }
    #infoModal .fatture-acquisto-info .finfo-badge,
    #infoModal .fatture-acquisto-info .fx-pill { display:inline-flex; padding:4px 9px; border:1px solid var(--ui-border); border-radius:999px; color:var(--ui-text); font-size:12px; font-weight:800; }
    #infoModal .fatture-acquisto-info .fx-card { min-width:0; margin-top:12px; overflow:hidden; border:1px solid var(--ui-border); border-radius:14px; background:var(--ui-surface-2); }
    #infoModal .fatture-acquisto-info .fx-card-h { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:12px 14px; border-bottom:1px solid var(--ui-border); }
    #infoModal .fatture-acquisto-info .fx-title { margin:0; color:var(--ui-text); font-size:13px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
    #infoModal .fatture-acquisto-info .fx-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    #infoModal .fatture-acquisto-info .fx-kv { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 14px; padding:12px 14px; }
    #infoModal .fatture-acquisto-info .fx-kv > div { padding:7px 0; border-bottom:1px dashed var(--ui-border); }
    #infoModal .fatture-acquisto-info .fx-kv > div:nth-last-child(-n+2) { border-bottom:0; }
    #infoModal .fatture-acquisto-info__table-scroll { max-width:100%; overflow:auto; border:1px solid var(--ui-border); border-radius:10px; }
    #infoModal .fatture-acquisto-info__lines-table { min-width:980px; }
    #infoModal .fatture-acquisto-info__payment-table { min-width:720px; }
    #infoModal .fatture-acquisto-info__table th,
    #infoModal .fatture-acquisto-info__table td { padding:9px 10px; border-color:var(--ui-border); vertical-align:top; }
    #infoModal .fatture-acquisto-info__table thead th { position:sticky; top:0; z-index:1; background:var(--ui-surface-2); color:var(--ui-muted); font-size:11px; font-weight:900; text-transform:uppercase; }
    #infoModal .fatture-acquisto-info .fx-code { font-weight:900; }
    #infoModal .fatture-acquisto-info .fx-desc { min-width:280px; line-height:1.35; overflow-wrap:anywhere; }
    #infoModal .fatture-acquisto-info .fx-num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
    #infoModal .fatture-acquisto-info .fx-um { text-align:center; font-weight:800; }
    #infoModal .fatture-acquisto-info__total-row td { color:var(--ui-accent); font-weight:800; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-grid { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:12px; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-card { min-width:0; padding:14px; overflow-wrap:anywhere; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-card__title { margin:0 0 8px; color:var(--ui-text); font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-card__row { margin:0 0 5px; color:var(--ui-muted); font-size:12px; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-card__row:last-child { margin-bottom:0; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-card__value { color:var(--ui-text); font-weight:700; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-lines-card { margin-top:12px; padding:0; overflow:hidden; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-lines-card__header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border-bottom:1px solid var(--ui-border); }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-lines-card__title { margin:0; font-size:13px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-table-scroll { width:100%; overflow:auto; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-table { min-width:980px; margin:0!important; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-table th { white-space:nowrap; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-table .text-end { white-space:nowrap; font-variant-numeric:tabular-nums; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-table .ddt-info-code { font-weight:800; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-table .ddt-info-description { min-width:280px; white-space:normal; overflow-wrap:anywhere; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-table .ddt-info-note { display:block; margin-top:4px; color:var(--ui-warning); font-size:11px; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-distributed-discount { color:var(--ui-warning); font-size:10px; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-tax-warning { color:var(--ui-warning); }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-table .ddt-info-numeric { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-table .ddt-info-unit { text-align:center; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-table .ddt-info-note-row { color:var(--ui-accent-hover); font-weight:700; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-composite { display:inline-flex; align-items:center; gap:4px; margin-bottom:4px; color:var(--ui-accent-hover); font-size:10px; cursor:help; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-totals-row { margin-top:12px; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-totals-column { float:right; margin-left:auto; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-totals-card { height:100%; padding:0; overflow:hidden; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-totals-card__header { padding:10px 12px; border-bottom:1px solid var(--ui-border); }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-totals-card__title { margin:0; font-size:13px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-totals-card__subtitle { margin-top:2px; color:var(--ui-muted); font-size:12px; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-totals-card__list { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:0 12px; padding:10px 12px; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-totals-card__list > div { padding:6px 0; border-bottom:1px dashed var(--ui-border); }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-totals-card__list > div:nth-last-child(-n+2) { border-bottom:0; }
    :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-totals-card__value { font-weight:800; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
    @media (max-width:768px) {
        #infoModal .document-info-modal-dialog { width:calc(100% - 20px); }
        #infoModal .document-info-modal-header, #infoModal .document-info-modal-body, #infoModal .document-info-modal-footer { padding-left:14px; padding-right:14px; }
        #infoModal .document-info-modal-subtitle { display:none; }
        #infoModalContent .fattura-header-container { grid-template-columns:minmax(0,1fr); }
        :is(#infoModalContent, #globalSearchDocumentDrawerBody) .ddt-info-grid { grid-template-columns:minmax(0,1fr); }
        #infoModal .fatture-acquisto-info__header { align-items:flex-start; flex-direction:column; }
        #infoModal .fatture-acquisto-info .finfo-grid,
        #infoModal .fatture-acquisto-info .fx-grid { grid-template-columns:minmax(0,1fr); }
        :is(#infoModalContent, #globalSearchDocumentDrawerBody) table { min-width:720px; }
    }
/* Informazioni cliente */
    #modalClienteInfo .client-info-modal-body { min-width: 0; max-height: min(70vh, 760px); overflow: auto; overscroll-behavior: contain; }
/* Certificato utente */
    #popmodalenuovocertificato .cert-modal-dialog { width: 75%; max-width: 75%; height: calc(100vh - 32px); margin: 16px auto; display: flex; }
    #popmodalenuovocertificato .cert-modal-content { width: 100%; max-height: 100%; display: flex; flex-direction: column; background: var(--search-area-bg); color: var(--Font); border: 1px solid rgba(185,185,185,.22); border-radius: 22px; overflow: hidden; box-shadow: 0 24px 70px rgba(0,0,0,.28); }
    #popmodalenuovocertificato .cert-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 24px; border-bottom: 1px solid rgba(185,185,185,.22); background: radial-gradient(circle at top left, rgba(56,189,248,.16), transparent 40%), rgba(255,255,255,.035); }
    #popmodalenuovocertificato .cert-modal-title-wrap { display: flex; align-items: center; gap: 14px; min-width: 0; }
    #popmodalenuovocertificato .cert-modal-icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border-radius: 16px; background: rgba(56,189,248,.14); color: #38bdf8; font-size: 18px; }
    #popmodalenuovocertificato .cert-modal-kicker { color: #38bdf8; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
    #popmodalenuovocertificato .cert-modal-title { margin: 2px 0 0; color: var(--Font); font-size: 21px; font-weight: 900; line-height: 1.2; }
    #popmodalenuovocertificato .cert-modal-subtitle { margin-top: 4px; color: #94a3b8; font-size: 13px; }
    #popmodalenuovocertificato .cert-modal-close { width: 36px; height: 36px; border: 0; border-radius: 12px; background: rgba(239,68,68,.12); color: #ef4444; font-size: 20px; }
    #popmodalenuovocertificato .cert-modal-body { flex: 1 1 auto; min-height: 0; padding: 20px 24px; overflow-y: auto; }
    #popmodalenuovocertificato .cert-modal-footer { display: flex; flex: 0 0 auto; justify-content: flex-end; gap: 10px; padding: 16px 24px; border-top: 1px solid rgba(185,185,185,.22); background: rgba(255,255,255,.025); }
    @media (max-width: 768px) { #popmodalenuovocertificato .cert-modal-dialog { width: calc(100% - 20px); max-width: calc(100% - 20px); } #popmodalenuovocertificato .cert-modal-header, #popmodalenuovocertificato .cert-modal-body, #popmodalenuovocertificato .cert-modal-footer { padding-left: 16px; padding-right: 16px; } }
