.payment-calendar{min-width:0;--pay-line:var(--line,#e3e5ee)}
.pay-toolbar,.pay-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.pay-toolbar h2,.pay-detail-head h3{margin:0}
.pay-detail-head h3,.pay-period strong{text-transform:capitalize}
.pay-period{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.pay-period strong{min-width:128px;text-align:center;color:var(--blue)}
.pay-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:9px;margin:0 0 9px}
.pay-filters label{display:grid;gap:3px;font-weight:630;font-size:12px;color:#50586b}
.pay-filters input,.pay-filters select{width:100%;font-size:13px;font-weight:400;color:var(--ink)}
.pay-legend{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 8px;font-size:12px;color:var(--muted)}
.pay-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;vertical-align:middle}
.pay-receive{background:#dbf3e6;color:#206347}
.pay-pay{background:#f9e2e6;color:#892d41}
.pay-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 17px}
.pay-weekday{text-align:center;font-size:12px;font-weight:650;color:var(--muted);padding:3px 0}
.pay-blank{border-radius:5px;background:#f8f8fb}
.pay-day{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-width:0;min-height:51px;border:1px solid var(--pay-line);border-radius:5px;padding:5px 7px;background:#fff;color:var(--ink);font-variant-numeric:tabular-nums}
.pay-day:hover{border-color:#a9a9c7;background:#fbfaff}
.pay-day[aria-current="date"]>strong{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.pay-day[aria-pressed="true"]{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--blue);color:var(--blue)}
.pay-counts{display:flex;flex-wrap:wrap;align-items:center;gap:3px;font-variant-numeric:tabular-nums}
.pay-counts small{display:inline-block;border-radius:3px;padding:0 4px;font-size:11px;font-weight:650}
.pay-table{min-width:710px}
.pay-table td:first-child,.pay-table td:nth-last-child(-n+3){white-space:nowrap}
.pay-table td:nth-child(2){overflow-wrap:anywhere}
.pay-table td small{display:block;color:var(--muted)}
.pay-table .tag.pay-cancelled{color:#555d70;background:#eeeef3}
.pay-case{display:block;border:0;background:none;padding:0;color:var(--blue);text-align:left;font-size:12px;text-decoration:underline;overflow-wrap:anywhere}
.payment-calendar .empty{margin:0;padding:16px 8px}
@media(max-width:600px){.pay-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.pay-filters label:first-child{grid-column:1/-1}.pay-day{padding:3px 4px;min-height:47px}.pay-counts{gap:2px}.pay-counts small{font-size:10px;padding:0 2px}.pay-month-grid{gap:3px}}
