.invoice-page-actions{display:flex;flex-wrap:wrap;gap:8px}.invoice-filter-card,.invoice-records-card{border:1px solid var(--lp-border,#dfe6ed);border-radius:14px;box-shadow:0 4px 18px rgba(15,35,58,.04);overflow:visible}.invoice-filter-card .card-body{padding:13px 15px}.invoice-filter-header{align-items:center;border-bottom:1px solid #e2e9ef;display:flex;justify-content:space-between;margin-bottom:13px;padding-bottom:10px}.invoice-filter-heading{align-items:center;color:#40566b;display:flex;font-size:.8rem;font-weight:750;gap:7px}.invoice-filter-heading i{color:#168fc6}.invoice-filter-grid{align-items:end;display:grid;gap:11px;grid-template-columns:minmax(290px,1.25fr) minmax(155px,.65fr) minmax(135px,.52fr) minmax(135px,.52fr) minmax(250px,1.1fr)}.invoice-filter-field{min-width:0}.invoice-filter-field .form-label{color:#506176;font-size:.68rem;font-weight:750;margin-bottom:5px;text-transform:uppercase}.invoice-type-options{background:#f6f8fa;border:1px solid #d7e0e8;border-radius:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:35px;overflow:hidden}.invoice-type-options label{align-items:center;border-right:1px solid #d7e0e8;color:#53667a;cursor:pointer;display:flex;font-size:.78rem;font-weight:700;justify-content:center;margin:0;padding:0 9px;transition:.15s ease}.invoice-type-options label:last-child{border-right:0}.invoice-type-options input:checked+label{background:#147fc1;color:#fff}.invoice-type-options input:focus-visible+label{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #0d6efd}.invoice-custom-date:not(.is-active){display:none}.invoice-counterparty-field .counterparty-filter{position:relative}.invoice-records-card{overflow:hidden}.invoice-table{min-width:980px}.invoice-table thead th{background:#f8fafc!important;border-bottom:1px solid var(--lp-border,#dfe6ed)!important;color:#506176!important;font-size:.72rem!important;font-weight:700!important;letter-spacing:.025em!important;padding:.5rem!important;text-transform:uppercase;white-space:nowrap}.invoice-table tbody td{border-color:#e4eaf0;color:#52657a;font-size:.82rem;padding:.62rem .5rem}.invoice-table .amount{color:#31495f;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.invoice-type{border-radius:999px;display:inline-flex;font-size:.68rem;font-weight:750;margin-right:7px;padding:4px 7px}.invoice-type.sale{background:#e8f7ef;color:#17834b}.invoice-type.purchase{background:#eef2f6;color:#516579}.invoice-number{color:#30475c}.invoice-origin{align-items:center;color:#718399;display:flex;font-size:.67rem;gap:4px;margin-top:4px}.invoice-status{border-radius:999px;display:inline-flex;font-size:.67rem;font-weight:750;padding:5px 8px;white-space:nowrap}.invoice-status.saldata{background:#e8f7ef;color:#17834b}.invoice-status.scaduta{background:#ffe8e8;color:#cb3039}.invoice-status.parziale{background:#fff3cf;color:#8b6800}.invoice-status.aperta{background:#eef2f6;color:#516579}.invoice-actions{width:64px}.invoice-actions .icon-btn{align-items:center;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.invoice-empty{align-items:center;color:#7b8998;display:flex;flex-direction:column;padding:52px 18px;text-align:center}.invoice-empty>span{align-items:center;background:#eaf6fb;border-radius:50%;color:#168fc6;display:flex;font-size:1.15rem;height:45px;justify-content:center;width:45px}.invoice-empty h2{color:#30475c;font-size:.95rem;margin:13px 0 4px}.invoice-empty p{font-size:.77rem;margin:0}.invoice-mobile-list{padding:11px}.invoice-mobile-card{background:#fff;border:1px solid #dfe6ed;border-radius:12px;margin-bottom:10px;padding:13px}.invoice-mobile-heading{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.invoice-mobile-heading h2{color:#30475c;font-size:.94rem;margin:8px 0 0}.invoice-mobile-meta{display:flex;flex-direction:column;font-size:.76rem;margin:12px 0}.invoice-mobile-meta strong{color:#40566b}.invoice-mobile-meta span{color:#7b8998;margin-top:2px}.invoice-mobile-amounts{border-bottom:1px solid #e4eaf0;border-top:1px solid #e4eaf0;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:11px;padding:9px 0}.invoice-mobile-amounts span{color:#7b8998;font-size:.68rem}.invoice-mobile-amounts strong{color:#31495f;display:block;font-size:.84rem;margin-top:2px}
@media(max-width:1199.98px){.invoice-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.invoice-type-field{grid-column:span 2}.invoice-counterparty-field{grid-column:span 2}}
@media(max-width:767.98px){.invoice-page-header{align-items:stretch!important}.invoice-page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.invoice-page-actions .btn{align-items:center;display:flex;justify-content:center}.invoice-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-type-field,.invoice-counterparty-field{grid-column:1/-1}}
@media(max-width:575.98px){.invoice-filter-card .card-body{padding:11px}.invoice-filter-grid{grid-template-columns:1fr}.invoice-type-field,.invoice-counterparty-field{grid-column:auto}.invoice-filter-header{align-items:flex-start}.invoice-page-actions{grid-template-columns:1fr}.invoice-mobile-list{padding:9px}}
.invoice-table tfoot td{background:#fff;border-top:1px solid #dfe6ed;border-bottom:0;box-shadow:0 -3px 10px rgba(15,35,58,.04);font-size:.88rem;height:42px;padding:.62rem .5rem}.invoice-table-footer-count{color:#758598;font-weight:500}.invoice-table-footer-amount{color:#33495f;font-variant-numeric:tabular-nums;font-weight:750;white-space:nowrap}.invoice-records-footer{align-items:center;background:#fff;border-top:1px solid #dfe6ed;color:#758598;display:flex;font-size:.78rem;justify-content:space-between;min-height:40px;padding:8px 14px}.invoice-records-totals{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.invoice-records-totals strong{color:#33495f;font-size:.88rem;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.invoice-records-totals strong span{color:#758598;display:block;font-size:.68rem;font-weight:600;text-transform:uppercase}
@media(max-width:575.98px){.invoice-records-footer{align-items:flex-start;flex-direction:column;gap:3px}}
.invoice-filter-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.invoice-type-options.invoice-type-options-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.invoice-sort-link{align-items:center;color:inherit;display:flex;gap:5px;text-decoration:none;width:100%}.invoice-sort-link:hover{color:#1688be}.invoice-sort-link.active{color:#087dac}.invoice-sort-link>i{font-size:.62rem;opacity:.48}.invoice-sort-link.active>i{opacity:1}

/* Modulo di inserimento fattura */
.invoice-document-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.invoice-document-type-option{margin:0}.invoice-document-type-option input{height:1px;opacity:0;position:absolute;width:1px}.invoice-document-type-option span{align-items:center;background:#fff;border:1px solid #d7e0e8;border-radius:9px;color:#53667a;cursor:pointer;display:flex;font-weight:700;gap:8px;justify-content:center;min-height:38px;padding:7px 12px;transition:.15s ease}.invoice-document-type-option input:checked+span{background:#eaf6fb;border-color:#168fc6;color:#137eaf;box-shadow:0 0 0 2px rgba(22,143,198,.08)}.invoice-document-type-option input:focus-visible+span{box-shadow:0 0 0 .2rem rgba(13,110,253,.2)}.invoice-form-counterparty{position:relative}.invoice-installments-intro{align-items:center;border-bottom:1px solid #e2e9ef;display:flex;gap:16px;justify-content:space-between;padding-bottom:13px}.invoice-installments-intro strong,.invoice-installments-intro span{display:block}.invoice-installments-intro strong{color:#344b60;font-size:.83rem}.invoice-installments-intro span{color:#718194;font-size:.76rem;margin-top:2px}.invoice-installments-list{display:grid;gap:10px;margin-top:13px}.invoice-installment-row{align-items:end;background:#f8fafc;border:1px solid #dfe6ed;border-radius:10px;display:grid;gap:11px;grid-template-columns:minmax(180px,.75fr) minmax(240px,1fr) 32px;padding:11px}.invoice-installment-row>.icon-btn{height:32px;margin-bottom:1px;padding:0;width:32px}.invoice-installments-summary{align-items:center;border-top:1px solid #e2e9ef;display:flex;gap:24px;justify-content:flex-end;margin-top:13px;padding-top:11px}.invoice-installments-summary span{color:#718194;font-size:.74rem}.invoice-installments-summary strong{color:#31495f;font-size:.82rem;margin-left:5px}.invoice-installment-row[hidden]{display:none!important}
@media(max-width:767.98px){.invoice-form-page>.d-flex{align-items:stretch!important}.invoice-form-page>.d-flex>.btn{width:100%}.invoice-installments-intro{align-items:stretch;flex-direction:column}.invoice-installment-row{grid-template-columns:1fr 32px}.invoice-installment-row>div:nth-of-type(2){grid-column:1/-1}.invoice-installment-row>.icon-btn{grid-column:2;grid-row:1}.invoice-installments-summary{align-items:flex-end;flex-direction:column;gap:4px}}

/* Il filtro controparte usa anche lo spazio delle date quando il periodo non è personalizzato. */
@media(min-width:1200px){.invoice-filter-grid:not(.has-custom-dates) .invoice-counterparty-field{grid-column:3/-1}}

/* Importazione XML */
.invoice-import-note{align-items:flex-start;background:#eef8fc;border:1px solid #cdebf6;border-radius:12px;color:#36586a;display:flex;font-size:.82rem;gap:10px;line-height:1.45;padding:11px 14px}.invoice-import-note>i{color:#168fc6;font-size:1rem;margin-top:1px}.invoice-import-note p{margin:0}.invoice-import-card,.invoice-import-results{border:1px solid var(--lp-border,#dfe6ed);border-radius:14px;box-shadow:0 4px 18px rgba(15,35,58,.04);overflow:hidden}.invoice-import-card .card-header,.invoice-import-results .card-header{border-bottom:1px solid #e2e9ef;padding:13px 16px}.invoice-import-card .card-header h2,.invoice-import-results .card-header h2{color:#344b60;font-size:.92rem;font-weight:750;margin:0}.invoice-import-card .card-header p{color:#718194;font-size:.75rem;margin:2px 0 0}.invoice-import-card .card-body{padding:16px}.invoice-import-controls{align-items:end;display:grid;gap:16px;grid-template-columns:minmax(270px,.7fr) minmax(420px,1.55fr) auto}.invoice-import-controls fieldset,.invoice-import-file{min-width:0}.invoice-import-controls .form-label{color:#506176;font-size:.72rem;font-weight:750;margin-bottom:6px}.invoice-import-submit{align-items:center;display:inline-flex;height:38px;justify-content:center;white-space:nowrap}.invoice-import-results .list-group-item{font-size:.8rem;padding:12px 16px}
@media(max-width:991.98px){.invoice-import-controls{grid-template-columns:minmax(250px,.8fr) minmax(360px,1.4fr)}.invoice-import-submit{grid-column:1/-1;justify-self:start}}
@media(max-width:767.98px){.invoice-import-page .invoice-page-header{align-items:stretch!important}.invoice-import-page .invoice-page-header>.btn{width:100%}.invoice-import-controls{grid-template-columns:1fr}.invoice-import-submit{grid-column:auto;justify-self:stretch}.invoice-import-card .card-body{padding:14px}.invoice-import-note{font-size:.78rem}}

.invoice-vat-intro { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; color: var(--lp-muted); }
.invoice-vat-list { display: grid; gap: 10px; }
.invoice-vat-row { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(120px, .8fr) minmax(170px, 1.2fr) minmax(110px, .65fr) minmax(110px, .65fr) 36px; align-items: end; gap: 10px; padding: 12px; border: 1px solid #dce7ed; border-radius: 12px; background: #f8fbfc; }
.invoice-vat-row [data-vat-nature].is-disabled { opacity: .5; }
.invoice-vat-calculated { min-height: 42px; padding: 6px 10px; border: 1px solid #dce7ed; border-radius: 8px; background: #fff; }
.invoice-vat-calculated span { display: block; color: var(--lp-muted); font-size: .68rem; }
.invoice-vat-calculated strong { display: block; margin-top: 2px; color: #29445a; font-size: .86rem; }
.invoice-vat-calculate { align-items: center; display: inline-flex; flex: 0 0 42px; font-size: 1rem; height: 42px; justify-content: center; min-width: 42px; padding: 0; width: 42px; }
.invoice-vat-summary { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 20px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #dce7ed; color: var(--lp-muted); }
.invoice-vat-summary strong { margin-left: 5px; color: #29445a; }
@media (max-width: 991.98px) { .invoice-vat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }.invoice-vat-remove { justify-self: end; }.invoice-vat-intro { align-items: flex-start; } }
@media (max-width: 575.98px) { .invoice-vat-intro { flex-direction: column; }.invoice-vat-intro .btn { width: 100%; }.invoice-vat-row { grid-template-columns: 1fr; }.invoice-vat-summary { justify-content: flex-start; gap: 8px 16px; } }

/* Il filtro saldo condivide la stessa griglia e le stesse altezze degli altri filtri. */
@media (min-width: 1200px) {
  .invoice-filter-grid {
    grid-template-columns: minmax(290px, 1.25fr) minmax(155px, .65fr) minmax(135px, .52fr) minmax(135px, .52fr) minmax(170px, .68fr) minmax(250px, 1.1fr);
  }
  .invoice-filter-grid:not(.has-custom-dates) .invoice-counterparty-field {
    grid-column: 4 / -1;
  }
}

/* Azioni fattura: pulsanti da 32 px, uniformi alle altre griglie. */
.invoice-actions { width: 76px; }
.invoice-action-buttons { display: inline-flex; gap: 4px; white-space: nowrap; }
.invoice-mobile-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
@media (max-width: 575.98px) {
  .invoice-mobile-actions { grid-template-columns: 1fr; }
}

/* Tipo bloccato in modifica e dettaglio fattura coerente con gli altri moduli. */
.invoice-document-type-locked{align-items:center;background:#f6f8fa;border:1px solid #d7e0e8;border-radius:9px;color:#53667a;display:flex;gap:10px;min-height:38px;padding:6px 11px}.invoice-document-type-locked>span{align-items:center;background:#e8f1f7;border-radius:7px;display:flex;height:27px;justify-content:center;width:27px}.invoice-document-type-locked>div{display:flex;flex-direction:column}.invoice-document-type-locked small{font-size:.62rem;line-height:1;text-transform:uppercase}.invoice-document-type-locked strong{font-size:.8rem;line-height:1.15;margin-top:2px}.invoice-document-type-locked.sale>span{background:#e4f6ec;color:#17834b}.invoice-document-type-locked.purchase>span{background:#eef2f6;color:#516579}.invoice-document-type-locked>.bi-lock-fill{color:#8090a0;font-size:.76rem}
.invoice-detail-summary small{color:#c0d2df;display:block;font-size:.7rem;margin-top:4px}.invoice-detail-summary .invoice-type,.invoice-detail-summary .invoice-status{margin:0}.invoice-detail-section .card-header{display:block}.invoice-detail-section .card-header p{color:#718192;font-size:.72rem;margin:3px 0 0}.invoice-detail-table thead th{background:#f8fafc;color:#506176;font-size:.7rem;font-weight:750;letter-spacing:.025em;padding:.55rem .75rem;text-transform:uppercase;white-space:nowrap}.invoice-detail-table tbody td{border-color:#e4eaf0;color:#52657a;font-size:.8rem;padding:.65rem .75rem}.invoice-detail-table .amount{color:#31495f;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-detail-actions{display:inline-flex;gap:5px;white-space:nowrap}.invoice-detail-empty{color:#7b8998!important;padding:28px!important;text-align:center}.invoice-detail-empty i{color:#168fc6;margin-right:7px}.invoice-detail-add-deadline{background:#f8fafc;border-top:1px solid #e2e9ef;padding:13px 16px}.invoice-detail-add-deadline form{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(180px,.85fr) minmax(210px,1fr) auto}.invoice-detail-add-deadline .form-label{color:#506176;font-size:.7rem;font-weight:750;margin-bottom:5px}.invoice-detail-add-deadline .btn{height:38px;white-space:nowrap}
@media(max-width:767.98px){.invoice-detail-add-deadline form{grid-template-columns:1fr}.invoice-detail-add-deadline .btn{width:100%}}
