.reservation-balances { min-width: 0; }
.financial-pending-group { min-width: 0; }
.financial-pending-group>summary { list-style: none; cursor: pointer; }
.financial-pending-group>summary::-webkit-details-marker { display: none; }
.financial-pending-group>summary:focus-visible { outline: 2px solid #163e63; outline-offset: 3px; }
.financial-pending-group[open]>summary { margin-bottom: 8px; }
.financial-pending-group-items { display: grid; gap: 8px; margin: 0 0 12px 12px; padding-left: 10px; border-left: 2px solid #e3eaf0; }
.overview-condo-ranking { padding: 18px 14px 14px; }
.overview-condo-podium { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; align-items: end; }
.overview-condo-winner { min-width: 0; display: flex; flex-direction: column; align-items: center; text-align: center; color: #617587; }
.overview-condo-winner.place-1 { grid-column: 2; grid-row: 1; color: #a57b30; }
.overview-condo-winner.place-2 { grid-column: 1; grid-row: 1; }
.overview-condo-winner.place-3 { grid-column: 3; grid-row: 1; color: #a67759; }
.overview-condo-medal { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font-size: 12px; font-weight: 900; background: #edf2f5; }
.place-1 .overview-condo-medal { background: #fbefd5; }
.place-3 .overview-condo-medal { background: #f5e9e1; }
.overview-condo-building { width: 34px; height: 38px; margin: 10px 0 8px; }
.place-1 .overview-condo-building { width: 42px; height: 47px; }
.overview-condo-building svg { width: 100%; height: 100%; }
.overview-condo-winner>strong { display: flex; align-items: center; justify-content: center; min-height: 36px; margin-bottom: 10px; color: #17364f; font-size: 12px; overflow-wrap: anywhere; }
.overview-condo-step { width: 100%; box-sizing: border-box; min-height: 80px; padding: 13px 5px; border-radius: 12px 12px 4px 4px; background: #edf2f6; }
.place-1 .overview-condo-step { min-height: 110px; background: #163e63; color: white; }
.place-3 .overview-condo-step { min-height: 66px; background: #f4ede8; }
.overview-condo-step b { display: block; font-size: 26px; font-weight: 900; }
.overview-condo-step em { font-size: 14px; font-style: normal; }
.overview-condo-step small { display: block; margin-top: 3px; font-size: 9px; }
.overview-condo-others { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 16px; max-height: 170px; overflow: auto; }
.overview-condo-mini { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 10px; border: 1px solid #e3eaf0; border-radius: 10px; background: #f7f9fb; }
.overview-condo-mini>span { color: #83939f; font-size: 10px; }
.overview-condo-mini>strong { color: #17364f; font-size: 10px; overflow-wrap: anywhere; }
.overview-condo-mini>b { color: #163e63; font-size: 16px; text-align: right; }
.overview-condo-mini small { display: block; color: #7d8d96; font-size: 8px; font-weight: 400; }
@media(max-width:600px) { .overview-condo-podium { gap: 7px; } .overview-condo-ranking { padding: 16px 10px 10px; } .overview-condo-winner>strong { font-size: 11px; } }
.reservation-balance-tools { display: flex; align-items: center; gap: 8px; padding: 12px 12px 0; }
.reservation-balance-tools input { min-width: 0; width: 100%; padding: 10px 12px; border: 1px solid #e3eaf0; border-radius: 10px; font: inherit; font-size: 12px; background: #fbfcfd; }
.reservation-balance-tools button { min-width: 36px; min-height: 36px; font-size: 20px; }
.reservation-balances ul { margin: 0; list-style: none; max-height: 350px; }
.reservation-balance-row { cursor: default; background: #f4f7f9; border-color: #e3eaf0; border-left-color: #9aa8b2; }
.reservation-balance-row:hover { transform: none; box-shadow: none; }
.reservation-balance-row>div { min-width: 0; }
.reservation-balance-row aside strong { color: #526a76; }
.reservation-balance-row.overdue { background: #fff5f4; border-color: #f0c8c5; border-left-color: #d25353; }
.reservation-balance-row.overdue aside strong, .reservation-balance-row.overdue aside small { color: #a74343; }
.reservation-balance-footer { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; padding: 10px 14px; border-top: 1px solid #edf1f3; font-size: 11px; }
.reservation-balance-pagination { display: flex; gap: 10px; align-items: center; }
.reservation-balance-pagination button { min-width: 32px; min-height: 32px; font-size: 20px; }
.reservation-balance-pagination button:disabled { opacity: .35; cursor: default; }
#reservationBalanceStatus { margin: 0; padding: 0 14px 12px; color: #7d8d96; font-size: 10px; }
.reservation-balance-empty { padding: 18px 4px; color: #71848f; font-size: 12px; }
.reservation-payment-summary { padding: 14px 16px; margin: 12px 0; border-radius: 10px; background: #edf3f7; font-weight: 700; }
.reservation-payment-summary.paid { color: #166534; background: #eaf8ef; }
.reservation-payment-summary.pending { color: #914409; background: #fff4db; }
.reservation-payment-summary[hidden] { display: none; }
@media(max-width:600px) { .reservation-balance-row { gap: 8px; padding: 11px; } }
