
.carteira-grid{
    display:flex;
    flex-direction:column;
    gap:14px;
    margin-top:15px;
}

/* CARD */

.card-carteira{
    background:var(--bg-container);
    border:1px solid var(--border-main);
    border-radius:var(--radius-large);
    padding:14px;
    box-shadow:0 2px 6px rgba(0,0,0,0.08);
}

.card-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    margin-bottom:8px;
    padding-bottom:6px;
    border-bottom:1px solid var(--border-main);
}

.card-monitor{
    display:inline-block;
    background:transparent;
    border:none;
    box-shadow:none;

    padding:0;
    margin:0 0 3px 0;

    font-size:11px;
    line-height:1;

    font-weight:600;
    letter-spacing:0.8px;
    text-transform:uppercase;

    color:var(--text-muted);
}

.card-ticker{
    font-size:20px;
    line-height:1.05;
    font-weight:700;
    color:var(--primary-color);
    line-height:1.1;
}

/* BADGES */

.badge-op{
    padding:5px 10px;
    border-radius:20px;
    font-size:12px;
    font-weight:bold;
    letter-spacing:0.4px;
    white-space:nowrap;
    border:1px solid transparent;
}

.badge-compra{
    background:var(--op-compra);
    color:var(--ajuda-seletor-s);
    border-color:rgba(255,255,255,0.15);
}

.badge-venda{
    background:var(--op-venda);
    color:var(--ajuda-seletor-s);
    border-color:rgba(255,255,255,0.15);
}

/* GRID INTERNA */

.card-body{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.info-box{
    background:var(--bg-highlight);
    border:1px solid var(--border-main);
    border-radius:10px;
    padding:10px;
    min-width:0;
}

.info-box label{
    display:block;
    font-size:12px;
    color:var(--text-muted);
    margin-bottom:4px;
    text-transform:uppercase;
    letter-spacing:0.3px;
}

.info-box strong{
    display:block;
    font-size:16px;
    line-height:1.2;
    color:var(--text-white);
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* RESULTADOS */

.profit{
    color:var(--op-profit) !important;
}

.loss{
    color:var(--accent-red-light) !important;
}

/* RODAPÉ CARD */

.card-footer{
    margin-top:12px;
    padding-top:10px;
    border-top:1px dashed var(--border-light);
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:12px;
    color:var(--text-gray);
}

/* RESUMO FINAL */

.summary-box{
    margin-top:18px;
    background:var(--bg-highlight);
    border:1px solid var(--border-main);
    border-left:4px solid var(--primary-color);
    border-radius:var(--radius-large);
    padding:16px;
}

.summary-line{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
    font-size:14px;
    color:var(--text-white);
}

.summary-line strong{
    white-space:nowrap;
}

.summary-total{
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid var(--border-light);
}

.summary-total .summary-line{
    margin-bottom:0;
    font-size:17px;
    font-weight:bold;
}

/* ESTADO VAZIO */

.empty-wallet{
    text-align:center;
    background:var(--bg-container);
    border:1px dashed var(--border-main);
    border-radius:var(--radius-large);
    padding:30px 15px;
    color:var(--text-muted);
    font-size:14px;
}

/* MOBILE */

@media (max-width: 480px){

    .card-body{
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .info-box{
        padding:9px;
    }

    .info-box strong{
        font-size:13px;
    }

    .card-ticker{
        font-size:18px;
    }

    .summary-line{
        font-size:13px;
    }

    .summary-total .summary-line{
        font-size:15px;
    }
}

.card-toggle{
    width:18px;
    height:18px;
    cursor:pointer;
    accent-color:var(--primary-color);
}