.payment-dashboard-card { margin-bottom: 16px; padding: 18px; }
.payment-followups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.payment-followup { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.payment-followup.red { border-left: 4px solid var(--red); background: var(--red-soft); }
.payment-followup.amber { border-left: 4px solid var(--amber); background: var(--amber-soft); }
.payment-followup strong, .payment-followup small { display: block; }
.payment-followup small { margin-top: 3px; color: var(--muted); }
.payment-type-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.payment-type-grid > label { display: flex; align-items: flex-start; gap: 8px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; cursor: pointer; }
.payment-type-grid input { width: 17px; margin-top: 2px; accent-color: var(--gold); }
.payment-type-grid strong, .payment-type-grid small { display: block; }
.payment-type-grid small { margin-top: 2px; color: var(--muted); font-weight: 400; }
.custom-payment-date { display: block; max-width: 320px; margin-top: 12px; }
.custom-payment-date input { margin-top: 6px; }
.payment-panel { padding: 18px; }
.payment-status-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 10px 0 14px; }
.payment-form { display: grid; gap: 10px; }
.payment-form label { font-weight: 750; }
.payment-form input, .payment-form select, .payment-form textarea { margin-top: 5px; font-weight: 400; }
.payment-form .form-actions { margin-top: 4px; }
.payment-confirmed-note { padding: 12px; border-radius: 9px; background: var(--green-soft); color: var(--green); }
.payment-badge { margin-left: 6px; vertical-align: middle; }
@media (max-width: 1120px) { .payment-followups { grid-template-columns: 1fr 1fr; } }
@media (max-width: 680px) { .payment-followups, .payment-type-grid { grid-template-columns: 1fr; } .payment-followup { align-items: flex-start; } }
