/* ===== PAGAMENTOS ONLINE (/configuracoes/pagamentos) =====
   Usa o cabeçalho, a navegação por seção, as linhas, as opções em cartão, o estado vazio e a barra de salvar de
   settings.css; aqui fica só o que é desta tela: o aviso de ambiente, o seletor Pix/boleto, os dois sentidos das
   credenciais e as checagens do diagnóstico. */

.payments-glyph {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 64px;
    height: 64px;
    border-radius: 22%;
    background: rgba(var(--mud-palette-primary-rgb), 0.1);
    color: var(--mud-palette-primary);
}

    .payments-glyph .mud-icon-root {
        width: 30px;
        height: 30px;
    }

.payments-header__summary {
    color: var(--mud-palette-text-secondary);
    font-size: 0.88rem;
}

/* Selos da navegação além dos de settings.css. */
.settings-nav__badge.is-warning {
    background: rgba(var(--mud-palette-warning-rgb), 0.16);
    color: var(--mud-palette-warning-darken);
}

.settings-nav__badge.is-error {
    background: rgba(var(--mud-palette-error-rgb), 0.12);
    color: var(--mud-palette-error);
}

/* ===== AVISO DE AMBIENTE / CREDENCIAL ===== */

.payments-banner {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.85rem 1rem 0.85rem 1.25rem;
    border: 1px solid;
    border-radius: var(--settings-radius-sm);
}

    .payments-banner > .mud-icon-root {
        flex: 0 0 auto;
    }

    .payments-banner p {
        flex: 1 1 auto;
        margin: 0;
        color: var(--mud-palette-text-primary);
        font-size: 0.88rem;
        line-height: 1.5;
    }

    .payments-banner .mud-button-root {
        flex: 0 0 auto;
    }

    .payments-banner.is-warning {
        border-color: rgba(var(--mud-palette-warning-rgb), 0.45);
        background: rgba(var(--mud-palette-warning-rgb), 0.08);
    }

        .payments-banner.is-warning > .mud-icon-root {
            color: var(--mud-palette-warning);
        }

    .payments-banner.is-error {
        border-color: rgba(var(--mud-palette-error-rgb), 0.4);
        background: rgba(var(--mud-palette-error-rgb), 0.06);
    }

        .payments-banner.is-error > .mud-icon-root {
            color: var(--mud-palette-error);
        }

.payments-note {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.84rem;
    line-height: 1.5;
}

    .payments-note .mud-icon-root {
        flex: 0 0 auto;
        margin-top: 1px;
        color: var(--mud-palette-info);
    }

    .payments-note.is-spaced {
        margin-top: 1.35rem;
    }

/* ===== PIX / BOLETO / PAGADOR ESCOLHE ===== */

.payments-segmented {
    display: inline-flex;
    padding: 3px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    background: rgba(var(--mud-palette-primary-rgb), 0.03);
}

.payments-segmented__item {
    padding: 0.45rem 0.9rem;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

    .payments-segmented__item:hover {
        color: var(--mud-palette-text-primary);
    }

    .payments-segmented__item.is-selected {
        background: var(--mud-palette-surface);
        color: var(--mud-palette-primary);
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.14), 0 0 0 1px rgba(var(--mud-palette-primary-rgb), 0.3);
    }

    .payments-segmented__item:focus-visible {
        outline: 2px solid var(--mud-palette-primary);
        outline-offset: 1px;
    }

/* ===== CREDENCIAIS EM DOIS SENTIDOS ===== */

.payments-steps {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 0;
    padding: 1.5rem 0 1.35rem;
    list-style: none;
}

.payments-step {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    padding: 1.15rem 1.25rem 1.25rem;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--settings-radius-sm);
}

.payments-step__head {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

    .payments-step__head h3 {
        margin: 0.1rem 0 0;
        color: var(--mud-palette-text-primary);
        font-size: 0.97rem;
        font-weight: 600;
    }

.payments-step__number {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(var(--mud-palette-primary-rgb), 0.1);
    color: var(--mud-palette-primary);
    font-size: 0.9rem;
    font-weight: 700;
}

.payments-step__direction {
    color: var(--mud-palette-primary);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* Campos alinhados sob o título do passo, não sob o número. */
.payments-field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding-left: calc(32px + 0.85rem);
}

/* Pré-requisitos no painel do gateway, antes dos campos. */
.payments-setup {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin: 0;
    padding-left: calc(32px + 0.85rem);
    color: var(--mud-palette-text-secondary);
    font-size: 0.86rem;
    line-height: 1.55;
}

    .payments-setup li::marker {
        color: var(--mud-palette-primary);
        font-weight: 700;
    }

.payments-field__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem 0.75rem;
}

.payments-field__label {
    color: var(--mud-palette-text-primary);
    font-size: 0.88rem;
    font-weight: 600;
}

.payments-field__input.mud-input-control {
    margin-top: 0;
}

.payments-field__help {
    margin: 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.82rem;
    line-height: 1.5;
}

    .payments-field__help.is-warning {
        color: var(--mud-palette-warning-darken);
    }

.payments-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.12rem 0.55rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

    .payments-chip.is-ok {
        background: rgba(var(--mud-palette-success-rgb), 0.12);
        color: var(--mud-palette-success-darken);
    }

    .payments-chip.is-warning {
        background: rgba(var(--mud-palette-warning-rgb), 0.16);
        color: var(--mud-palette-warning-darken);
    }

/* Valor para copiar: parece um campo, mas não é editável — só copiar. */
.payments-copy {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 40px;
    padding: 0.2rem 0.3rem 0.2rem 0.85rem;
    border: 1px dashed var(--mud-palette-lines-inputs);
    border-radius: 8px;
    background: rgba(var(--mud-palette-primary-rgb), 0.03);
}

.payments-copy__value {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--mud-palette-text-primary);
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 0.84rem;
    overflow-wrap: anywhere;
    user-select: all;
}

.payments-copy.is-stale .payments-copy__value {
    color: var(--mud-palette-text-disabled);
    text-decoration: line-through;
}

/* ===== DIAGNÓSTICO ===== */

.payments-checks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
    padding: 1.5rem 0 1.35rem;
}

.payments-check {
    --payments-check-color: var(--mud-palette-text-disabled);
    --payments-check-rgb: var(--mud-palette-primary-rgb);
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    padding: 1.15rem 1.25rem;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--settings-radius-sm);
}

    .payments-check.is-ok {
        --payments-check-color: var(--mud-palette-success);
        --payments-check-rgb: var(--mud-palette-success-rgb);
    }

    .payments-check.is-warning {
        --payments-check-color: var(--mud-palette-warning);
        --payments-check-rgb: var(--mud-palette-warning-rgb);
    }

    .payments-check.is-error {
        --payments-check-color: var(--mud-palette-error);
        --payments-check-rgb: var(--mud-palette-error-rgb);
    }

.payments-check__head h3 {
    margin: 0.3rem 0 0;
    color: var(--mud-palette-text-primary);
    font-size: 0.97rem;
    font-weight: 600;
}

.payments-check__direction {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--mud-palette-text-secondary);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

    .payments-check__direction .mud-icon-root {
        width: 14px;
        height: 14px;
    }

.payments-check__result {
    display: flex;
    flex: 1 1 auto;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.75rem 0.85rem;
    border-radius: 10px;
    background: rgba(var(--payments-check-rgb), 0.06);
}

.payments-check.is-idle .payments-check__result {
    background: rgba(var(--mud-palette-primary-rgb), 0.03);
}

    .payments-check__result p {
        margin: 0;
        color: var(--mud-palette-text-primary);
        font-size: 0.86rem;
        line-height: 1.5;
    }

.payments-check.is-idle .payments-check__result p {
    color: var(--mud-palette-text-secondary);
}

.payments-check__message {
    display: block;
}

.payments-check__dot {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    margin-top: 0.4rem;
    border-radius: 50%;
    background: var(--payments-check-color);
    box-shadow: 0 0 0 3px rgba(var(--payments-check-rgb), 0.18);
}

.payments-check.is-idle .payments-check__dot {
    box-shadow: none;
}

.payments-check__action {
    align-self: flex-start;
}

/* ===== DIÁLOGO DE TROCA DE PROVEDOR (AB#285) ===== */

.payments-dialog.mud-dialog {
    border-radius: var(--settings-radius);
    overflow: hidden;
}

.payments-dialog .mud-dialog-title {
    padding: 1.35rem 1.75rem 1.2rem;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.payments-dialog .mud-dialog-content {
    padding: 1.35rem 1.75rem 1.5rem;
}

.payments-dialog .mud-dialog-actions {
    padding: 0.85rem 1.75rem;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.payments-dialog__head {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    padding-right: 2rem;
}

.payments-dialog__head-text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.payments-dialog__title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    color: var(--mud-palette-text-primary);
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

    .payments-dialog__title .mud-icon-root {
        color: var(--mud-palette-text-secondary);
    }

.payments-dialog__glyph {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(var(--mud-palette-warning-rgb), 0.12);
    color: var(--mud-palette-warning);
}

.payments-dialog__footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    width: 100%;
}

.payments-effects {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    margin: 0;
    padding: 1rem 1.1rem;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--settings-radius-sm);
    background: rgba(var(--mud-palette-primary-rgb), 0.025);
    list-style: none;
}

.payments-effect {
    --effect-rgb: var(--mud-palette-primary-rgb);
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

    .payments-effect.is-warning {
        --effect-rgb: var(--mud-palette-warning-rgb);
    }

.payments-effect__icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: rgba(var(--effect-rgb), 0.12);
    color: rgb(var(--effect-rgb));
}

    .payments-effect__icon .mud-icon-root {
        font-size: 1.05rem;
    }

.payments-effect p {
    margin: 0;
    color: var(--mud-palette-text-secondary);
    font-size: 0.84rem;
    line-height: 1.5;
}

.payments-effect strong {
    display: block;
    color: var(--mud-palette-text-primary);
    font-size: 0.88rem;
    font-weight: 600;
}

/* ===== RESPONSIVO ===== */

@media (max-width: 719.98px) {
    .payments-banner {
        flex-wrap: wrap;
    }

    .payments-dialog .mud-dialog-title {
        padding: 1.1rem 1.1rem 1rem;
    }

    .payments-dialog .mud-dialog-content {
        padding: 1.1rem 1.1rem 1.25rem;
    }

    .payments-dialog .mud-dialog-actions {
        padding: 0.75rem 1.1rem;
    }

    .payments-dialog__head {
        gap: 0.75rem;
    }

    .payments-dialog__glyph {
        width: 42px;
        height: 42px;
    }

    .payments-dialog__title {
        font-size: 1.1rem;
    }

    .payments-effects {
        padding: 0.85rem;
    }

    .payments-step {
        padding: 1rem;
    }

    .payments-field {
        padding-left: 0;
    }

    .payments-setup {
        padding-left: 1.2rem;
    }

    .payments-segmented {
        display: flex;
        width: 100%;
    }

    .payments-segmented__item {
        flex: 1 1 0;
        padding-inline: 0.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .payments-segmented__item {
        transition: none;
    }
}
