.invoice-priority {
  border: 1px solid #d8d0fa;
  box-shadow: 0 8px 24px #44368c0d;
}
.invoice-priority .card-title small {
  color: var(--primary);
  font-weight: 800;
  letter-spacing: .04em;
}
.invoice-priority .card-title h2 { margin-top: 6px; }
.invoice-period-form {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.invoice-period-form label { margin: 0; font-weight: 700; }
.invoice-period-form select { width: auto; min-width: 180px; }
.invoice-month-summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 10px;
  background: #f5f2ff;
  color: #45358f;
}
.invoice-priority .invoice {
  grid-template-columns: 42px minmax(0, 1fr) 160px minmax(220px, auto);
}
.invoice-priority .invoice > .invoice-action {
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.invoice-pay-button { min-height: 42px; font-weight: 800; }
@media (max-width: 1100px) {
  .invoice-priority .invoice { grid-template-columns: 42px 1fr 150px; }
  .invoice-priority .invoice > .invoice-action { grid-column: 2 / -1; align-items: flex-start; }
}
@media (max-width: 650px) {
  .invoice-period-form { align-items: stretch; flex-direction: column; }
  .invoice-period-form select { width: 100%; }
  .invoice-month-summary { flex-direction: column; }
  .invoice-priority .invoice { grid-template-columns: 38px minmax(0, 1fr); }
  .invoice-priority .invoice-value { grid-column: 2; }
  .invoice-pay-button { width: 100%; }
}


.card-forms { align-items: start; }
.form-disclosure { min-width: 0; }
.form-disclosure > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  list-style: none;
  min-height: 46px;
}
.form-disclosure > summary::-webkit-details-marker { display: none; }
.form-disclosure > summary::after { content: "+"; font-size: 1.3rem; }
.form-disclosure[open] > summary::after { content: "−"; }
.form-disclosure > summary:focus-visible { outline: 3px solid #b7aaff; outline-offset: 3px; }
.form-disclosure > form { margin-top: 12px; }
