/* /Components/TabelaCcmB3.razor.rz.scp.css */
/* ── TabelaCcmB3 — scoped styles ─────────────────────────────────── */

.ccm-wrapper[b-fk81lf78pg] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem;
    margin-bottom: 1rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
}

/* Header */
.ccm-header[b-fk81lf78pg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: .75rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #f1f5f9;
}

.ccm-titulo[b-fk81lf78pg] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-weight: 700;
    font-size: .95rem;
    color: #1e293b;
}

.ccm-titulo small[b-fk81lf78pg] {
    font-weight: 400;
    color: #64748b;
    font-size: .75rem;
}

.ccm-meta[b-fk81lf78pg] {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

/* Badge LIVE / CACHE */
.fonte-badge[b-fk81lf78pg] {
    padding: 2px 8px;
    border-radius: 10px;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .3px;
}

.fonte-badge.live[b-fk81lf78pg] {
    background: #dcfce7;
    color: #166534;
}

.fonte-badge.cache[b-fk81lf78pg] {
    background: #dbeafe;
    color: #1e40af;
}

.horario[b-fk81lf78pg] {
    font-size: .72rem;
    color: #64748b;
}

/* Botão refresh */
.btn-refresh[b-fk81lf78pg] {
    background: none;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 2px 8px;
    font-size: 1rem;
    cursor: pointer;
    transition: transform .3s;
    color: #475569;
}

.btn-refresh:hover[b-fk81lf78pg] {
    background: #f1f5f9;
}

.btn-refresh.girando[b-fk81lf78pg] {
    animation: gira-b-fk81lf78pg 1s linear infinite;
}

@keyframes gira-b-fk81lf78pg {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Toggle liquidez */
.toggle-liq[b-fk81lf78pg] {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-size: .72rem;
    color: #475569;
    cursor: pointer;
}

.toggle-liq input[type="checkbox"][b-fk81lf78pg] {
    accent-color: #16a34a;
}

/* Basis control */
.basis-control[b-fk81lf78pg] {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-size: .72rem;
    color: #475569;
}

.input-basis[b-fk81lf78pg] {
    width: 52px;
    padding: 2px 4px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    font-size: .75rem;
    text-align: center;
}

/* Loading */
.ccm-loading[b-fk81lf78pg] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: 2rem;
    justify-content: center;
    color: #64748b;
    font-size: .85rem;
}

.spinner-b3[b-fk81lf78pg] {
    width: 20px;
    height: 20px;
    border: 3px solid #e2e8f0;
    border-top-color: #16a34a;
    border-radius: 50%;
    animation: gira-b-fk81lf78pg .8s linear infinite;
}

/* Erro */
.ccm-erro[b-fk81lf78pg] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: 1rem;
    background: #fef2f2;
    border-radius: 8px;
    color: #991b1b;
    font-size: .82rem;
}

.ccm-erro button[b-fk81lf78pg] {
    background: #dc2626;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 4px 12px;
    font-size: .75rem;
    cursor: pointer;
}

/* Grupo header (ano) */
.ccm-grupo-header[b-fk81lf78pg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .35rem .5rem;
    margin-top: .5rem;
    background: #f8fafc;
    border-radius: 6px;
    font-size: .78rem;
    font-weight: 600;
    color: #334155;
}

.ccm-grupo-count[b-fk81lf78pg] {
    font-weight: 400;
    color: #94a3b8;
    font-size: .7rem;
}

/* Tabela */
.ccm-table-wrap[b-fk81lf78pg] {
    overflow-x: auto;
    margin-top: .3rem;
}

.ccm-table[b-fk81lf78pg] {
    width: 100%;
    border-collapse: collapse;
    font-size: .78rem;
}

.ccm-table thead th[b-fk81lf78pg] {
    background: #f1f5f9;
    color: #475569;
    font-weight: 600;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .4px;
    padding: 6px 8px;
    text-align: left;
    border-bottom: 2px solid #e2e8f0;
    white-space: nowrap;
}

.ccm-table tbody td[b-fk81lf78pg] {
    padding: 6px 8px;
    border-bottom: 1px solid #f1f5f9;
    white-space: nowrap;
}

.ccm-table tbody tr:hover[b-fk81lf78pg] {
    background: #f8fafc;
}

/* Colunas especiais */
.col-ticker[b-fk81lf78pg] {
    font-weight: 700;
    color: #1e293b;
}

.col-mes[b-fk81lf78pg] {
    color: #64748b;
}

.col-preco[b-fk81lf78pg] {
    font-weight: 700;
    color: #1e293b;
}

.col-basis[b-fk81lf78pg] {
    font-weight: 700;
    color: #92400e;
}

.col-sec[b-fk81lf78pg] {
    color: #64748b;
    font-size: .72rem;
}

.col-vol[b-fk81lf78pg] {
    color: #64748b;
    font-size: .72rem;
}

/* Variação */
.var-up[b-fk81lf78pg] {
    color: #16a34a;
    font-weight: 600;
}

.var-dn[b-fk81lf78pg] {
    color: #dc2626;
    font-weight: 600;
}

.var-zero[b-fk81lf78pg] {
    color: #64748b;
}

/* Status badge */
.badge-status[b-fk81lf78pg] {
    padding: 1px 6px;
    border-radius: 8px;
    font-size: .65rem;
    font-weight: 600;
}

.badge-status.ok[b-fk81lf78pg] {
    background: #dcfce7;
    color: #166534;
}

.badge-status.nok[b-fk81lf78pg] {
    background: #fee2e2;
    color: #991b1b;
}

/* Destaque CCM1! */
.ccm-destaque[b-fk81lf78pg] {
    background: #fffbeb !important;
}

.ccm-destaque .col-ticker[b-fk81lf78pg] {
    color: #92400e;
}

/* Inativo */
.ccm-inativo[b-fk81lf78pg] {
    opacity: .55;
}

/* Cards top 3 */
.ccm-cards[b-fk81lf78pg] {
    display: flex;
    gap: .6rem;
    margin-top: .75rem;
    flex-wrap: wrap;
}

.ccm-card[b-fk81lf78pg] {
    flex: 1;
    min-width: 140px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: .6rem .75rem;
    text-align: center;
}

.card-label[b-fk81lf78pg] {
    font-weight: 700;
    font-size: .82rem;
    color: #1e293b;
}

.card-mes[b-fk81lf78pg] {
    font-size: .68rem;
    color: #94a3b8;
    margin-bottom: .25rem;
}

.card-preco[b-fk81lf78pg] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
}

.card-var[b-fk81lf78pg] {
    font-size: .75rem;
    font-weight: 600;
}

.card-vol[b-fk81lf78pg] {
    font-size: .65rem;
    color: #94a3b8;
    margin-top: .15rem;
}

/* Footer */
.ccm-footer[b-fk81lf78pg] {
    margin-top: .75rem;
    padding-top: .5rem;
    border-top: 1px solid #f1f5f9;
    font-size: .68rem;
    color: #94a3b8;
    text-align: center;
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* Global styles in wwwroot/css/app.css */
/* /Layout/NavMenu.razor.rz.scp.css */
/* Global styles in wwwroot/css/app.css */
