#tab-payments { color:#23364d; }
#tab-payments h2 {font-size:1.35rem;font-weight:700;margin:0 0 .25rem;}
#tab-payments h3 {font-size:1.1rem;font-weight:700;}
#tab-payments h4 {font-weight:700;margin:1rem 0 .4rem;}
#tab-payments p {margin:.5rem 0;line-height:1.55;}
#tab-payments small {display:block;font-size:.78rem;line-height:1.5;color:#526176;margin-top:.25rem;}
#tab-payments a {color:#174e99;text-decoration:underline;}
#tab-payments button {border:1px solid #bdc9d6;border-radius:6px;padding:.45rem .8rem;background:white;color:#1a365d;font-weight:600;white-space:nowrap;}
#tab-payments button:hover {background:#edf3fa;}
#tab-payments button:disabled {opacity:.55;cursor:wait;}
.pay-heading,.pay-buttons {display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;}
.pay-buttons {justify-content:flex-start;}
.pay-notice {background:#eff5fc;border:1px solid #cadaec;padding:.8rem;border-radius:6px;}
.pay-error {background:#fff1f0;border:1px solid #f2b4ad;padding:.8rem;color:#90261b;border-radius:6px;margin:.6rem 0;}
.pay-filters,.pay-form-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1.1rem 0;}
#tab-payments label {display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;font-weight:600;}
#tab-payments input,#tab-payments select,#tab-payments textarea {border:1px solid #b9c5d2;border-radius:5px;padding:.5rem;background:white;color:#23364d;width:100%;font-weight:400;font-size:.875rem;}
#tab-payments input:focus,#tab-payments select:focus,#tab-payments textarea:focus,#tab-payments button:focus-visible {outline:3px solid #c5a358;outline-offset:2px;}
#tab-payments .pay-check {flex-direction:row;align-items:center;gap:.5rem;}
#tab-payments .pay-check input {width:auto;}
.pay-summary {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0;}
.pay-card {background:white;border:1px solid #dae2eb;border-top:3px solid #1a365d;border-radius:7px;padding:1rem;}
.pay-card div {font-size:.85rem;color:#526176;}
.pay-card strong {display:block;font-size:1.6rem;margin-top:.3rem;color:#1a365d;font-variant-numeric:tabular-nums;}
.pay-count,.pay-footer {font-size:.8rem;color:#526176;}
.pay-table-scroll {overflow-x:auto;background:white;border:1px solid #dce3eb;border-radius:6px;}
#tab-payments table {border-collapse:collapse;width:100%;font-size:.85rem;}
#tab-payments th {text-align:left;background:#eaf0f7;color:#18365c;font-size:.78rem;white-space:nowrap;}
#tab-payments th,#tab-payments td {padding:.8rem;border-bottom:1px solid #e1e7ee;vertical-align:top;}
#tab-payments tr:last-child td {border-bottom:0;}
.pay-number {white-space:nowrap;font-variant-numeric:tabular-nums;}
.pay-badge {display:inline-block;background:#edf2f7;padding:.2rem .4rem;border-radius:4px;font-size:.75rem;white-space:nowrap;}
#tab-payments .pay-review {color:#8e5700;font-weight:700;}
.pay-editor {padding:1.25rem;background:white;border:2px solid #b8cbe0;border-radius:8px;margin:1rem 0;scroll-margin-top:1rem;}
.pay-form-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.pay-wide {grid-column:1 / -1;}
.pay-history {border-bottom:1px solid #dce3eb;padding:.6rem 0;}
.pay-section {border:1px solid #dce3eb;padding:1rem;background:white;border-radius:7px;margin:1rem 0;}
#tab-payments summary {cursor:pointer;font-weight:600;padding:.25rem 0;}
#tab-payments ul {list-style:disc;padding-left:1.2rem;margin:.5rem 0 1rem;}
.pay-empty {padding:2rem;text-align:center;background:white;}
@media(max-width:900px){.pay-filters,.pay-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.pay-card strong{font-size:1.25rem;}}
@media(max-width:520px){.pay-filters,.pay-form-grid{grid-template-columns:1fr;}.pay-wide{grid-column:auto;}}
