.pagamentos-page { background: #171e19; color: #f0f5ef; padding-bottom: 0 !important; }
.pagamentos-page *, .pagamentos-page *::before, .pagamentos-page *::after { box-sizing: border-box; }
.pagamentos-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.pagamentos-main { width: min(100%, 1600px); margin: 0 auto; padding: 26px clamp(18px, 2.5vw, 38px) 68px; }
.pagamentos-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.pagamentos-eyebrow { color: #91d78d; font-size: .72rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.pagamentos-heading h1 { margin: 8px 0; font-size: clamp(1.9rem, 3vw, 2.75rem); line-height: 1.15; letter-spacing: -.035em; }
.pagamentos-heading p { margin: 0; color: #aab9ac; line-height: 1.5; }
.pagamentos-count { display: flex; align-items: baseline; gap: 9px; flex: 0 0 auto; padding: 12px 16px; border: 1px solid #3d5041; border-radius: 12px; background: #223127; }
.pagamentos-count strong { color: #a8e1a1; font-size: 1.5rem; line-height: 1; }
.pagamentos-count span { color: #d2dfd1; font-size: .8rem; }
.pagamentos-panel, .pagamentos-actions { border: 1px solid #3b4b3f; border-radius: 16px; background: #222b25; box-shadow: 0 10px 30px rgba(0, 0, 0, .15); }
.pagamentos-panel { overflow: hidden; }
.pagamentos-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 19px 22px; }
.pagamentos-panel-heading h2 { margin: 5px 0 0; color: #f0f5ef; font-size: 1.28rem; }
.pagamentos-search { display: block; width: min(100%, 290px); }
.pagamentos-search input { width: 100%; height: 42px; padding: 0 14px; border: 1px solid #506455; border-radius: 9px; outline: 0; background: #17211a; color: #f0f5ef; font-size: .87rem; }
.pagamentos-search input::placeholder { color: #aab9ac; }
.pagamentos-search input:focus-visible { border-color: #91d78d; box-shadow: 0 0 0 3px rgba(145, 215, 141, .18); }
.pagamentos-table-wrap { width: 100%; max-height: min(57vh, 590px); overflow: auto; scrollbar-color: #5f8066 #1b251e; }
.pagamentos-table { width: 100%; min-width: 850px; border-collapse: separate; border-spacing: 0; font-size: .84rem; }
.resultados-table { min-width: 1150px; }
.pagamentos-table th { position: sticky; top: 0; z-index: 1; padding: 12px 11px; border-top: 1px solid #3d5041; border-bottom: 1px solid #3d5041; background: #304037; color: #e1efe0; font-size: .76rem; font-weight: 750; text-align: left; white-space: nowrap; }
.pagamentos-table td { padding: 11px; border-bottom: 1px solid #38483c; color: #e8eee6; vertical-align: middle; }
.pagamentos-table tbody tr:last-child td { border-bottom: 0; }
.pagamentos-table tbody tr:hover { background: #2b3a2f; }
.pagamentos-table tbody tr:has(.select-row:checked) { background: #2c4532; }
.pagamentos-table .cell-check { width: 44px; text-align: center; }
.pagamentos-table .cell-center { text-align: center; white-space: nowrap; }
.pagamentos-table .cell-money { text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pagamentos-table .cell-strong { color: #f6faf4; font-weight: 700; }
.pagamentos-table .cell-client { min-width: 190px; max-width: 310px; }
.pagamentos-table .cell-code { overflow-wrap: anywhere; max-width: 170px; }
.pagamentos-table input[type="checkbox"] { width: 17px; height: 17px; margin: 0; accent-color: #77c581; cursor: pointer; vertical-align: middle; }
.pagamentos-table input[type="checkbox"]:disabled { opacity: .4; cursor: not-allowed; }
.pagamentos-table .is-divergent { box-shadow: inset 3px 0 #e1a166; }
.pagamentos-table .value-warning { color: #f1bd8c; font-weight: 700; }
.pagamentos-status { display: inline-flex; align-items: center; justify-content: center; min-width: 76px; min-height: 28px; padding: 4px 9px; border: 1px solid #678459; border-radius: 7px; background: #314a31; color: #c8edbd; font-size: .76rem; font-weight: 750; white-space: nowrap; }
.pagamentos-status.is-paid { border-color: #458969; background: #244637; color: #b6edcc; }
.pagamentos-status.is-error { border-color: #955954; background: #4a3030; color: #f1aaa5; }
.pagamentos-page button.pagamentos-status { width: auto; min-height: 28px; cursor: pointer; }
.pagamentos-page button.pagamentos-status:hover { filter: brightness(1.15); transform: none; }
.pagamentos-hint { display: flex; align-items: center; gap: 9px; margin: 0; padding: 12px 22px; border-top: 1px solid #3b4b3f; color: #b8c9b8; font-size: .77rem; }
.hint-dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: #e1a166; }
.pagamentos-empty { padding: 30px 18px; margin: 0; color: #b8c9b8; text-align: center; }
.pagamentos-empty[hidden], .pagamentos-table tr[hidden] { display: none; }
.pagamentos-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 17px 20px; }
.pagamentos-selection { display: grid; gap: 3px; min-width: 0; }
.pagamentos-selection span { color: #95b29a; font-size: .7rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.pagamentos-selection strong { color: #eaf2e8; font-size: .91rem; font-weight: 600; }
.pagamentos-action-buttons, .dialog-actions { display: flex; align-items: center; gap: 10px; }
.pagamentos-page .pagamentos-button { display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 42px; padding: 9px 16px; border: 1px solid transparent; border-radius: 9px; color: #f4faf2; font-size: .85rem; font-weight: 700; line-height: 1.25; text-align: center; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background .16s ease, border-color .16s ease, box-shadow .16s ease; }
.pagamentos-page .pagamentos-button:hover { transform: none; }
.pagamentos-page .pagamentos-button-primary { border-color: #327547; background: #287341; }
.pagamentos-page .pagamentos-button-primary:hover:not(:disabled) { background: #35864e; }
.pagamentos-page .pagamentos-button-secondary { border-color: #536b57; background: #2d3c31; }
.pagamentos-page .pagamentos-button-secondary:hover { background: #3a4d3e; }
.pagamentos-page .pagamentos-button:disabled { border-color: #435248; background: #344239; color: #98aa99; cursor: not-allowed; }
.pagamentos-page :is(button, a, label[role="button"], input):focus-visible { outline: 3px solid #9de297; outline-offset: 2px; }
.pagamentos-results-actions { display: flex; justify-content: flex-end; margin-top: 18px; }
.pagamentos-dialog { width: min(100% - 32px, 540px); max-height: min(90dvh, 700px); padding: 26px; border: 1px solid #4b6350; border-radius: 17px; background: #26342a; color: #eef5ec; box-shadow: 0 25px 65px rgba(0, 0, 0, .42); }
.pagamentos-dialog::backdrop { background: rgba(4, 12, 7, .76); }
.dialog-heading { display: flex; justify-content: space-between; align-items: start; gap: 16px; }
.dialog-heading h2 { margin: 6px 0 0; font-size: 1.45rem; line-height: 1.2; }
.pagamentos-page .dialog-close { flex: 0 0 auto; display: grid; place-items: center; width: 34px; height: 34px; min-height: 34px; padding: 0; border: 0; border-radius: 8px; background: #384b3d; color: #edf5eb; font-size: 1.4rem; }
.pagamentos-dialog > p { margin: 17px 0; color: #c7d6c7; font-size: .9rem; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere; }
.pagamentos-confirm-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px; border: 1px solid #465d4a; border-radius: 11px; background: #1c2920; }
.pagamentos-confirm-summary div { display: grid; gap: 4px; }
.pagamentos-confirm-summary span { color: #a9bda9; font-size: .75rem; }
.pagamentos-confirm-summary strong { color: #f2f8f0; font-size: 1rem; }
.pagamentos-confirm-summary .warning strong { color: #f1bd8c; }
.pagamentos-data-opcoes { display: grid; gap: 8px; min-width: 0; margin: 14px 0 0; padding: 0; border: 0; }
.pagamentos-data-opcoes[hidden] { display: none; }
.pagamentos-data-opcoes legend { margin-bottom: 8px; padding: 0; color: #a9bda9; font-size: .72rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.pagamentos-data-opcao { display: flex; align-items: flex-start; gap: 11px; padding: 12px 14px; border: 1px solid #465d4a; border-radius: 11px; background: #1c2920; cursor: pointer; }
.pagamentos-data-opcao:has(input:checked) { border-color: #77c581; background: #24382a; }
.pagamentos-data-opcao input { flex: 0 0 auto; width: 17px; height: 17px; margin: 2px 0 0; accent-color: #77c581; cursor: pointer; }
.pagamentos-data-opcao span { display: grid; gap: 3px; min-width: 0; }
.pagamentos-data-opcao strong { color: #f2f8f0; font-size: .92rem; }
.pagamentos-data-opcao small { color: #a9bda9; font-size: .78rem; line-height: 1.4; }
.dialog-actions { justify-content: flex-end; flex-wrap: wrap; margin-top: 20px; }
@media (max-width: 760px) {
    .pagamentos-main { padding: 20px 14px 76px; }
    .pagamentos-heading { align-items: start; flex-direction: column; gap: 14px; }
    .pagamentos-count { padding: 9px 12px; }
    .pagamentos-panel-heading { align-items: stretch; flex-direction: column; padding: 16px; }
    .pagamentos-search { width: 100%; }
    .pagamentos-actions { align-items: stretch; flex-direction: column; padding: 16px; }
    .pagamentos-action-buttons { flex-wrap: wrap; }
    .pagamentos-action-buttons > * { flex: 1 1 185px; }
    .pagamentos-dialog { padding: 20px; }
}
@media (max-width: 440px) {
    .pagamentos-action-buttons { flex-direction: column; align-items: stretch; }
    .pagamentos-action-buttons > * { flex: 0 0 auto; }
    .dialog-actions { flex-direction: column-reverse; align-items: stretch; }
    .dialog-actions .pagamentos-button { flex: 0 0 auto; }
}
