#invoiceModal .modal-dialog { height: calc(100% - 2rem); }
#invoiceModal .modal-content { max-height: 100%; }
#invoiceModal .modal-body { overflow-y: auto; }
#invoiceModal .modal-footer { flex-shrink: 0; background: #fff; border-top: 2px solid #e4eaf1; }
.invoice-sticky-total { font-size: 1.15rem; }
summary { cursor: pointer; }
summary:focus-visible { outline: 3px solid #0d6efd; }
@media (max-width: 767px) {
  .mobile-cards, .mobile-cards tbody, .mobile-cards tr, .mobile-cards td { display: block; width: 100%; min-width: 0 !important; }
  .mobile-cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .mobile-cards tr { margin-bottom: 1rem; border: 1px solid #dfe5ed; border-radius: .65rem; overflow: hidden; background: white; }
  .mobile-cards td { border: 0; padding: .55rem .75rem; white-space: normal !important; overflow-wrap: anywhere; }
  .mobile-cards td[data-label]::before { content: attr(data-label); display: block; font-size: .75rem; color: #687484; font-weight: 600; margin-bottom: .2rem; }
  .mobile-cards .btn-group { flex-wrap: wrap; gap: .3rem; }
  .mobile-cards .btn, .modal .btn, main .btn { min-height: 44px; }
  .mobile-cards .btn { min-width: 44px; }
  .modal input, .modal select, main input, main select { font-size: 16px !important; min-height: 44px; }
  input[type=checkbox], input[type=radio] { min-height: 0 !important; }
  #invoiceModal .modal-dialog { margin: .4rem; height: calc(100% - .8rem); }
  #invoiceModal .modal-footer { gap: .5rem; }
  .invoice-sticky-total { flex-basis: 100%; }
  #invoiceForm .d-flex { flex-wrap: wrap; }
  #invoiceForm .input-group { max-width: 100%; }
}

#categoriesHint, #conditionsHint { display: none !important; }
