#adminTab .lesson-debt, #adminTab .finance-debt-link, .finance-unpaid-amount { color: #b31224; font-weight: 800; }
#adminTab button.finance-debt-link { display: inline; border: 0; border-radius: 3px; padding: 2px 0; margin: 0; background: transparent; color: #b31224; font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; text-align: left; }
#adminTab button.finance-debt-link:hover { color: #810b18; background: #fff0f1; }
.finance-debt-link:focus-visible, .finance-unpaid-dialog a:focus-visible, .finance-unpaid-dialog button:focus-visible, .finance-unpaid-dialog select:focus-visible { outline: 3px solid #175bd8; outline-offset: 3px; }
.finance-unpaid-dialog { width: min(780px, calc(100vw - 32px)); max-height: 85dvh; padding: 24px; border: 1px solid #d6deea; border-radius: 18px; background: #fff; color: #10233f; box-shadow: 0 24px 80px #10233f44; overflow-y: auto; box-sizing: border-box; }
.finance-unpaid-dialog::backdrop { background: #10233f99; }
.finance-unpaid-dialog header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.finance-unpaid-dialog h2 { margin: 0 0 8px; font-size: 1.3rem; }
.finance-unpaid-dialog p { line-height: 1.5; }
.finance-unpaid-dialog header p { margin: 0; color: #52627a; }
.finance-unpaid-dialog button { cursor: pointer; }
.finance-unpaid-dialog [data-unpaid-close] { font-size: 26px; padding: 0 10px; flex-shrink: 0; }
.finance-unpaid-controls { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 20px; }
.finance-unpaid-controls label { display: flex; align-items: center; gap: 8px; }
.finance-unpaid-controls select { width: auto; }
.finance-unpaid-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.finance-unpaid-lesson { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px; color: #10233f; text-decoration: none; border: 1px solid #d6deea; border-radius: 10px; }
.finance-unpaid-lesson:hover { background: #fff5f5; border-color: #b31224; }
.finance-unpaid-lesson > span { display: grid; gap: 5px; }
.finance-unpaid-lesson span span { font-size: .88rem; color: #52627a; }
@media (max-width: 550px) { .finance-unpaid-dialog { padding: 16px; } .finance-unpaid-lesson { align-items: flex-start; flex-direction: column; gap: 10px; } }
@media (prefers-reduced-motion: reduce) { .slot-pulse { animation: none !important; } }
