.painel-numeros-section { padding: 8px 0 64px; }

.painel-acoes {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    flex-wrap: wrap;
    margin: 0 0 26px;
}
.painel-acoes a { color: var(--blue); font-weight: 700; }
.painel-acoes .btn.btn-yellow { color: inherit; }

/* Blocos do painel (Meus dados / Comprovantes / Números) */
.painel-bloco { margin: 0 0 40px; }
.painel-bloco-titulo {
    font-size: 20px;
    font-weight: 900;
    color: var(--blue);
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #eee;
}

/* Alertas informativos / de sucesso reaproveitados no painel */
.alerta-info {
    background: #eef4fb;
    color: #234;
    border: 1px solid #cfe0f3;
    font-weight: 600;
}
.alerta-info a { color: var(--blue); font-weight: 700; }
.alerta-ok {
    background: #eaf7ec;
    color: #1c7a34;
    border: 1px solid #bfe6c8;
    font-weight: 600;
}

/* Cartão "Meus dados" */
.dados-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 8px 22px;
    box-shadow: 0 4px 18px rgba(0,0,0,.06);
}
.dado-linha {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}
.dado-linha:last-child { border-bottom: none; }
.dado-rotulo { color: #888; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .3px; }
.dado-valor { color: #222; font-weight: 600; text-align: right; word-break: break-word; }
.dados-ajuda { font-size: 13px; color: #777; margin: 12px 2px 0; }
.dados-ajuda a { color: var(--blue); font-weight: 700; }

/* Lista de comprovantes enviados, com status */
.comprovantes-grid {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.comprovante-card {
    position: relative;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-left: 8px solid #bbb;
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: 0 4px 18px rgba(0,0,0,.06);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.comprovante-produtos { font-weight: 800; color: #222; padding-right: 120px; }
.comprovante-data { font-size: 13px; color: #777; }
.comprovante-obs { font-size: 14px; color: #555; margin-top: 6px; }
.comprovante-obs-ok { color: #1c7a34; font-weight: 700; }
.comprovante-obs-erro { color: var(--red); font-weight: 700; }
.comprovante-obs a { color: var(--blue); font-weight: 700; }

.status-badge {
    position: absolute;
    top: 16px;
    right: 18px;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .3px;
    white-space: nowrap;
}
.status-analise  { background: #fff6e5; color: #9a6b00; border: 1px solid #f2d99a; }
.status-aprovado { background: #eaf7ec; color: #1c7a34; border: 1px solid #bfe6c8; }
.status-rejeitado{ background: #fdecea; color: var(--red); border: 1px solid #f5c2c0; }
.status-reenvio  { background: #fdf0e6; color: #b4520a; border: 1px solid #f3cca8; }

/* Cor da borda esquerda do cartão conforme o status */
.comprovante-card:has(.status-aprovado)  { border-left-color: #1c7a34; }
.comprovante-card:has(.status-rejeitado) { border-left-color: var(--red); }
.comprovante-card:has(.status-reenvio)   { border-left-color: #b4520a; }
.comprovante-card:has(.status-analise)   { border-left-color: #e6b800; }

@media (max-width: 480px) {
    .comprovante-produtos { padding-right: 0; }
    .status-badge { position: static; display: inline-block; align-self: flex-start; margin-bottom: 8px; }
}

.numeros-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 560px;
    margin: 0 auto;
}

.numero-card {
    position: relative;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-left: 8px solid var(--blue);
    border-radius: 12px;
    padding: 20px 22px;
    box-shadow: 0 4px 18px rgba(0,0,0,.08);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.numero-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #888;
}

.numero-valor {
    font-size: 32px;
    font-weight: 900;
    color: var(--blue);
    letter-spacing: 1px;
    font-variant-numeric: tabular-nums;
}

.numero-cupom {
    font-size: 14px;
    color: #444;
    margin-top: 6px;
}

.numero-data {
    font-size: 13px;
    color: #777;
}

.numero-badge {
    position: absolute;
    top: 16px;
    right: 18px;
    background: #eaf7ec;
    color: #1c7a34;
    border: 1px solid #bfe6c8;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.numero-tag-extra {
    align-self: flex-start;
    margin-top: 8px;
    background: #eef2ff;
    color: #3045a3;
    border: 1px solid #c7d0f5;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 800;
}

.numero-card-ganhador {
    border-left-color: #1c7a34;
    background: #f4fbf5;
}

.numero-card-ganhador .numero-valor { color: #1c7a34; }

.numero-premio {
    margin-top: 8px;
    font-size: 14px;
    font-weight: 800;
    color: #1c7a34;
}

@media (max-width: 480px) {
    .numero-valor { font-size: 26px; }
    .numero-badge { position: static; display: inline-block; margin-bottom: 10px; }
}
