.prepayment-panel { margin: 22px 0; padding: 20px; border: 1px solid var(--line, #dce5e1); border-radius: 12px; }
.prepayment-panel h3 { margin-top: 0; }
.prepayment-dialog { width: min(1060px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: 90vh; padding: 24px; border: 1px solid var(--line, #dce5e1); border-radius: 16px; overflow: auto; }
.prepayment-dialog::backdrop { background: rgba(15, 30, 26, .36); }
.prepayment-dialog .dialog-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.prepayment-dialog .dialog-header h2 { font-size: 20px; overflow-wrap: anywhere; }
.prepayment-dialog .dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.prepayment-dialog .data-table { min-width: 620px; }
.prepayment-dialog small, .prepayment-panel small { display: block; color: var(--muted, #66746e); margin-top: 4px; }
.prepayment-candidate { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid var(--line, #dce5e1); border-radius: 10px; }
.prepayment-candidate input { flex: 0 0 auto; margin-top: 4px; }
.prepayment-notes { display: grid; gap: 8px; margin-top: 16px; }
.prepayment-notes textarea { width: 100%; min-height: 78px; padding: 10px; border: 1px solid var(--line, #dce5e1); border-radius: 8px; font: inherit; resize: vertical; }
.prepayment-batch { border: 1px solid var(--line, #dce5e1); border-radius: 12px; padding: 16px; margin-top: 12px; }
.prepayment-batch h4 { margin: 0; }
.prepayment-return { color: #a63722; background: #fff2ef; padding: 12px; border-radius: 8px; }
.prepayment-invoice { margin: 12px 0; }
.prepayment-dialog a, .prepayment-dialog p { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .prepayment-panel { padding: 12px; }
  .prepayment-dialog { padding: 14px; width: calc(100vw - 20px); max-width: calc(100vw - 20px); }
  .prepayment-batch { padding: 10px; }
  .prepayment-dialog .dialog-actions button { min-height: 44px; flex: 1 1 140px; }
}
