.member-invoice-form, .invoice-special-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.member-invoice-form { max-width: 880px; }
.member-invoice-form label { display: grid; gap: 8px; color: #344054; font-size: 14px; min-width: 0; }
.member-invoice-form input, .member-invoice-form select { width: 100%; min-width: 0; height: 42px; border: 1px solid #d7deea; border-radius: 4px; padding: 0 12px; background: #fff; color: #101828; font: inherit; }
.member-invoice-form input:focus, .member-invoice-form select:focus { outline: 2px solid var(--blue); outline-offset: 1px; }
.member-invoice-form .invoice-full { grid-column: 1 / -1; }
.member-invoice-form fieldset { margin: 0; padding: 16px; border: 1px solid #e1e7f0; border-radius: 4px; min-width: 0; }
.member-invoice-form fieldset[hidden] { display: none; }
.member-invoice-form legend { padding: 0 8px; color: #344054; }
.member-invoice-form button:disabled { opacity: .55; cursor: not-allowed; }
.invoice-records-heading { margin-top: 32px; }
.invoice-records { max-width: 100%; overflow-x: auto; }
.invoice-records table { min-width: 720px; }
.invoice-records small, .invoice-records details { display: block; margin-top: 6px; overflow-wrap: anywhere; }
.invoice-records td { max-width: 280px; overflow-wrap: anywhere; }
.invoice-records summary { cursor: pointer; color: var(--blue); }
.invoice-records details p { margin: 6px 0; }
@media(max-width: 640px) { .member-invoice-form, .invoice-special-grid { grid-template-columns: minmax(0, 1fr); } }
