/* ======================================================
   TradeVision PRO
   Estilo base da aplicação
====================================================== */


* {

    margin: 0;
    padding: 0;
    box-sizing: border-box;

    font-family: Arial, Helvetica, sans-serif;

}



body {

    background: #0b0f19;

    color: #ffffff;

    min-height: 100vh;

}





/* ======================================================
   Estrutura principal
====================================================== */


#app {

    display: flex;

    min-height: 100vh;

}






/* ======================================================
   Menu lateral
====================================================== */


/*
==========================================================
 SIDEBAR PREMIUM
==========================================================
*/


#sidebar{

    width:260px;

    min-height:100vh;

    background:var(--bg-secondary);

    border-right:1px solid var(--border);

    padding:25px 18px;

    display:flex;

    flex-direction:column;

    box-sizing:border-box;

}





.brand{

    display:flex;

    align-items:center;

    gap:8px;

    margin-bottom:35px;

}





.brand h2{

    margin:0;

    color:var(--text-primary);

    font-size:22px;

    font-weight:700;

}





.brand span{

    background:var(--primary);

    color:white;

    padding:4px 8px;

    border-radius:8px;

    font-size:12px;

    font-weight:bold;

}





#sidebar nav{

    display:flex;

    flex-direction:column;

    gap:8px;

    flex:1;

}





#sidebar nav button{


    width:100%;


    display:flex;


    align-items:center;


    gap:12px;



    background:transparent;


    border:none;


    color:var(--text-secondary);



    padding:13px 15px;



    border-radius:12px;



    font-size:15px;



    text-align:left;



    cursor:pointer;



    transition:.25s;



}





#sidebar nav button span{


    font-size:18px;


}





#sidebar nav button:hover{


    background:rgba(255,255,255,.05);


    color:white;


}





#sidebar nav button.active{


    background:var(--primary);


    color:white;


}





.sidebar-premium{


    margin-top:auto;


    background:var(--bg-card);


    border:1px solid var(--border);


    border-radius:14px;


    padding:16px;



}





.sidebar-premium strong{


    color:white;


    display:block;


    margin-bottom:6px;


}





.sidebar-premium p{


    margin:0;


    color:var(--text-secondary);


    font-size:13px;


}






/* ======================================================
   Área principal
====================================================== */


#content {

    flex: 1;

    padding: 35px;

}





#content h1 {

    font-size: 32px;

    margin-bottom: 15px;

}





#content p {

    color: #94a3b8;

    font-size: 16px;

}








/* ======================================================
   Responsivo
====================================================== */


@media(max-width:800px){



    #sidebar {

        width: 80px;

        padding: 20px 10px;

    }



    #sidebar h2 {

        font-size: 12px;

    }



    #sidebar button {

        font-size: 12px;

        padding: 10px;

    }


#sidebar nav button svg{

    width:20px;

    height:20px;

    fill:currentColor;

    flex-shrink:0;

    }	


#sidebar nav button{

    position:relative;

}


#sidebar nav button.active{


    background:var(--primary);


    color:white;


    box-shadow:0 8px 20px rgba(0,0,0,.25);


}

}


/* ======================================================
   Cards Dashboard
====================================================== */


.cards-grid {

    display: grid;

    grid-template-columns: repeat(
        auto-fit,
        minmax(220px,1fr)
    );

    gap:20px;

    margin-top:30px;

}





.card {

    background:#111827;

    border:1px solid #1f2937;

    border-radius:16px;

    padding:22px;

}





.card-title {

    color:#94a3b8;

    font-size:14px;

    margin-bottom:15px;

}





.card-value {

    font-size:28px;

    font-weight:bold;

    margin-bottom:15px;

}





.card-edit {

    background:#2563eb;

    color:white;

    border:none;

    padding:8px 15px;

    border-radius:8px;

    cursor:pointer;

}


/* ======================================================
   Tabela de Operações
====================================================== */


.operations-table {

    width:100%;

    margin-top:30px;

    background:#111827;

    border:1px solid #1f2937;

    border-radius:16px;

    overflow:hidden;

}





.operations-table table {

    width:100%;

    border-collapse:collapse;

}





.operations-table th {


    background:#1e293b;

    color:#94a3b8;

    text-align:left;

    font-size:14px;

    padding:18px;

}





.operations-table td {


    padding:18px;

    border-top:1px solid #1f2937;

    color:#e5e7eb;

    font-size:14px;

}





.operations-table tr:hover {


    background:#162033;


}





.operations-table .card-edit {


    padding:7px 12px;

    font-size:12px;

}


.operations-header {

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;

}


/* =====================================
   CALENDÁRIO
===================================== */


.calendar-box{

    width:100%;

}



.calendar-box h2{

    text-align:center;

    text-transform:capitalize;

    margin-bottom:20px;

}





.calendar-grid{

    display:grid;

    grid-template-columns:

    repeat(7,1fr);

    gap:10px;

}





.calendar-grid > div{

    min-height:70px;

    border-radius:12px;

    padding:10px;

    background:#151515;

    border:1px solid #2a2a2a;

}





.calendar-day{

    cursor:pointer;

    transition:0.2s;

}





.calendar-day:hover{

    transform:translateY(-3px);

}





.calendar-day strong{

    font-size:18px;

}





.calendar-day.positive{

    border:1px solid #2ecc71;

    background:#10251a;

}





.calendar-day.negative{

    border:1px solid #e74c3c;

    background:#291313;

}


/*
==========================================================
 DASHBOARD PREMIUM
==========================================================
*/


.dashboard-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;

}



.dashboard-header h1{

    margin:0;

    font-size:32px;

    color:var(--text-primary);

}



.dashboard-header p{

    margin-top:8px;

    color:var(--text-secondary);

    font-size:15px;

}





.primary-button{


    background:var(--primary);


    color:white;


    border:none;


    padding:13px 22px;


    border-radius:12px;


    font-size:15px;


    cursor:pointer;


    transition:.25s;


}



.primary-button:hover{


    transform:translateY(-2px);


    opacity:.9;


}







/*
==========================================================
 CARDS PREMIUM
==========================================================
*/


.cards-grid{


    display:grid;


    grid-template-columns:

    repeat(4,1fr);


    gap:20px;


}





.metric-card{


    background:var(--bg-card);


    border:1px solid var(--border);


    border-radius:18px;


    padding:22px;


    min-height:140px;


    transition:.25s;


}





.metric-card:hover{


    transform:translateY(-4px);


}







.metric-header{


    display:flex;


    align-items:center;


    gap:10px;


    margin-bottom:20px;


}





.metric-icon{


    width:34px;


    height:34px;


    display:flex;


    align-items:center;


    justify-content:center;


    border-radius:10px;


    background:var(--primary);


    color:white;


    font-weight:bold;


}





.metric-title{


    color:var(--text-secondary);


    font-size:14px;


}







.metric-value{


    font-size:28px;


    font-weight:700;


    color:var(--text-primary);


}







.card-edit{


    margin-top:15px;


    padding:8px 14px;


    border-radius:10px;


    border:1px solid var(--border);


    background:transparent;


    color:var(--text-secondary);


    cursor:pointer;


}



.card-edit:hover{


    background:rgba(255,255,255,.05);


}








/*
==========================================================
 ÁREAS DO DASHBOARD
==========================================================
*/



.dashboard-placeholder{


    margin-top:25px;


    background:var(--bg-card);


    border:1px solid var(--border);


    border-radius:18px;


    padding:25px;


}





.dashboard-placeholder h2{


    margin-top:0;


    color:var(--text-primary);


}





.dashboard-placeholder p{


    color:var(--text-secondary);


}





/*
==========================================================
 RESPONSIVO
==========================================================
*/


@media(max-width:1100px){


    .cards-grid{


        grid-template-columns:

        repeat(2,1fr);


    }


}



@media(max-width:600px){


    .cards-grid{


        grid-template-columns:

        1fr;


    }



    .dashboard-header{


        flex-direction:column;


        align-items:flex-start;


        gap:20px;


    }


}


/*
==========================================================
 DASHBOARD SECTIONS
==========================================================
*/


.dashboard-section{


    margin-top:25px;


    background:var(--bg-card);


    border:1px solid var(--border);


    border-radius:18px;


    padding:25px;


}



.dashboard-section h2{


    margin-top:0;


    margin-bottom:20px;


    font-size:20px;


    color:var(--text-primary);


}





/*
==========================================================
 INSIGHTS
==========================================================
*/


.insights-grid{


    display:grid;


    grid-template-columns:

    repeat(3,1fr);


    gap:20px;


}





.insight-card{


    background:rgba(255,255,255,0.03);


    border:1px solid var(--border);


    border-radius:16px;


    padding:20px;


    transition:.25s;


}





.insight-card:hover{


    transform:translateY(-3px);


}







.insight-card h3{


    margin:0 0 15px;


    font-size:14px;


    color:var(--text-secondary);


}





.insight-card strong{


    display:block;


    font-size:24px;


    color:var(--text-primary);


    margin-bottom:10px;


}





.insight-card p{


    margin:0;


    color:var(--text-secondary);


}









/*
==========================================================
 OPERAÇÕES RECENTES
==========================================================
*/



.operation-item{


    display:flex;


    justify-content:space-between;


    align-items:center;


    padding:15px;


    border-bottom:1px solid var(--border);


}





.operation-item:last-child{


    border-bottom:none;


}





.operation-item div{


    display:flex;


    flex-direction:column;


    gap:5px;


}





.operation-item strong{


    color:var(--text-primary);


}





.operation-item span{


    color:var(--text-secondary);


    font-size:14px;


}









/*
==========================================================
 CHART
==========================================================
*/



#balance-chart{


    width:100%!important;


    max-height:350px;


}









/*
==========================================================
 RESPONSIVO
==========================================================
*/


@media(max-width:900px){



    .insights-grid{


        grid-template-columns:

        1fr;


    }


}


/*
==========================================================
 OPERATIONS PREMIUM
==========================================================
*/


.operations-header{


    display:flex;


    justify-content:space-between;


    align-items:center;


    margin-bottom:30px;


}





.operations-header h1{


    margin:0;


    font-size:32px;


    color:var(--text-primary);


}





.operations-header p{


    margin-top:8px;


    color:var(--text-secondary);


}







.operations-actions{


    display:flex;


    gap:12px;


}





.secondary-button{


    background:transparent;


    color:var(--text-primary);


    border:1px solid var(--border);


    padding:12px 20px;


    border-radius:12px;


    cursor:pointer;


}





.secondary-button:hover{


    background:rgba(255,255,255,.05);


}









/*
==========================================================
 FILTERS
==========================================================
*/


.filter-grid{


    display:grid;


    grid-template-columns:

    repeat(4,1fr);


    gap:20px;


}





.filter-grid label{


    display:block;


    margin-bottom:8px;


    color:var(--text-secondary);


    font-size:14px;


}





.filter-grid input,


.filter-grid select{


    width:100%;


    padding:12px;


    border-radius:10px;


    border:1px solid var(--border);


    background:var(--bg-main);


    color:var(--text-primary);


}









/*
==========================================================
 TABLE
==========================================================
*/


.operations-table{


    overflow-x:auto;


}





.operations-table table{


    width:100%;


    border-collapse:collapse;


}





.operations-table th{


    text-align:left;


    padding:15px;


    color:var(--text-secondary);


    font-size:13px;


    border-bottom:1px solid var(--border);


}





.operations-table td{


    padding:15px;


    border-bottom:1px solid var(--border);


    color:var(--text-primary);


}





.operations-table tr:hover{


    background:rgba(255,255,255,.03);


}









/*
==========================================================
 RESULT BADGES
==========================================================
*/


.result-win,


.result-loss,


.result-neutral{


    padding:6px 12px;


    border-radius:20px;


    font-size:12px;


    font-weight:700;


}





.result-win{


    background:rgba(0,200,100,.15);


    color:#00c864;


}





.result-loss{


    background:rgba(255,70,70,.15);


    color:#ff4646;


}





.result-neutral{


    background:rgba(255,255,255,.1);


    color:var(--text-secondary);


}









/*
==========================================================
 PROFIT
==========================================================
*/


.profit-positive{


    color:#00c864;


    font-weight:700;


}





.profit-negative{


    color:#ff4646;


    font-weight:700;


}









/*
==========================================================
 OPERATION ITEM
==========================================================
*/


@media(max-width:900px){



    .filter-grid{


        grid-template-columns:

        repeat(2,1fr);


    }



    .operations-header{


        flex-direction:column;


        align-items:flex-start;


        gap:20px;


    }


}





@media(max-width:600px){



    .filter-grid{


        grid-template-columns:

        1fr;


    }


}


/*
==========================================================
 SELECT PREMIUM FIX
==========================================================
*/


.filter-grid select option{


    background:#111827;


    color:#ffffff;


}



.filter-grid select{


    appearance:none;


    -webkit-appearance:none;


    -moz-appearance:none;


    cursor:pointer;


}


/*
==========================================================
 ANALYTICS PREMIUM
==========================================================
*/


.dashboard-chart-card{


    background:var(--bg-card);


    border:1px solid var(--border);


    border-radius:18px;


    padding:25px;


}



.dashboard-chart-card h3{


    margin-top:0;


    color:var(--text-primary);


}







.metric-card p{


    color:var(--text-secondary);


    line-height:1.5;


}







.metric-card strong{


    color:var(--text-primary);


}







.health-score{


    font-size:38px;


    font-weight:800;


}





.performance-positive{


    color:#00c864;


}





.performance-negative{


    color:#ff4646;


}







.rank-item{


    display:flex;


    justify-content:space-between;


    align-items:center;


    padding:14px;


    border-bottom:1px solid var(--border);


}





.rank-item:last-child{


    border-bottom:none;


}







.rank-name{


    font-weight:700;


    color:var(--text-primary);


}





.rank-value{


    font-weight:700;


}


/* ==========================================================
   TRADER VITA — VISUAL SYSTEM
   CAMADA PREMIUM
   ========================================================== */

:root {

    /* FUNDO */
    --bg-main: #050b14;
    --bg-secondary: #08111f;
    --bg-card: #0c1727;
    --bg-card-hover: #101e31;

    /* CORES */
    --primary: #1677ff;
    --primary-hover: #2b86ff;
    --primary-soft: rgba(22,119,255,.14);

    --success: #00d6a3;
    --success-soft: rgba(0,214,163,.12);

    --danger: #ff5364;
    --danger-soft: rgba(255,83,100,.12);

    --warning: #f5b84b;
    --warning-soft: rgba(245,184,75,.12);

    /* TEXTOS */
    --text-primary: #f5f8ff;
    --text-secondary: #91a3ba;
    --text-muted: #62758d;

    /* BORDAS */
    --border: rgba(130,160,195,.14);
    --border-light: rgba(130,160,195,.22);

    /* SOMBRAS */
    --shadow-card:
        0 10px 35px rgba(0,0,0,.24);

    --shadow-primary:
        0 8px 28px rgba(22,119,255,.22);

    /* RAIO */
    --radius-sm: 10px;
    --radius-md: 14px;
    --radius-lg: 18px;
}


/* ==========================================================
   BASE
   ========================================================== */

html {
    background: var(--bg-main);
}

body {

    background:
        radial-gradient(
            circle at 80% -10%,
            rgba(22,119,255,.08),
            transparent 35%
        ),
        radial-gradient(
            circle at 10% 100%,
            rgba(0,214,163,.035),
            transparent 30%
        ),
        var(--bg-main);

    color: var(--text-primary);

    font-family:
        Inter,
        "Segoe UI",
        Arial,
        Helvetica,
        sans-serif;

    min-height: 100vh;
}


/* ==========================================================
   APP
   ========================================================== */

#app {

    min-height: 100vh;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.01),
            transparent 25%
        );
}


/* ==========================================================
   SIDEBAR
   ========================================================== */

#sidebar {

    width: 250px;

    background:
        linear-gradient(
            180deg,
            #081321 0%,
            #07101d 100%
        );

    border-right:
        1px solid
        rgba(120,160,200,.13);

    box-shadow:
        12px 0 40px rgba(0,0,0,.16);

    padding: 22px 16px;
}


/* LOGO */

.brand {

    margin-bottom: 38px;

    padding:
        4px 8px;

}

.brand h2 {

    font-size: 21px;

    letter-spacing: -.4px;

    color: #ffffff;
}

.brand span {

    background:
        linear-gradient(
            135deg,
            #1677ff,
            #4b91ff
        );

    box-shadow:
        0 5px 15px rgba(22,119,255,.25);

    border-radius: 7px;

    padding:
        3px 7px;

    font-size: 10px;
}


/* ==========================================================
   SIDEBAR NAV
   ========================================================== */

#sidebar nav {

    gap: 6px;
}

#sidebar nav button {

    min-height: 46px;

    border:
        1px solid transparent;

    color:
        var(--text-secondary);

    border-radius:
        12px;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease,
        border .2s ease;
}

#sidebar nav button:hover {

    background:
        rgba(255,255,255,.035);

    border-color:
        rgba(255,255,255,.05);

    color:
        #ffffff;

    transform:
        translateX(2px);
}

#sidebar nav button.active {

    background:
        linear-gradient(
            135deg,
            #1768e8,
            #2563eb
        );

    color:
        #ffffff;

    border-color:
        rgba(255,255,255,.08);

    box-shadow:
        0 8px 24px
        rgba(22,99,235,.25);
}


/* ==========================================================
   SIDEBAR PREMIUM CARD
   ========================================================== */

.sidebar-premium {

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.015)
        );

    border:
        1px solid
        rgba(130,160,195,.13);

    box-shadow:
        0 10px 30px rgba(0,0,0,.18);

    border-radius:
        15px;
}


/* ==========================================================
   CONTEÚDO
   ========================================================== */

#content {

    padding:
        32px;

    min-width: 0;

    background:
        transparent;
}


/* ==========================================================
   TÍTULOS
   ========================================================== */

#content h1 {

    color:
        var(--text-primary);

    font-size:
        32px;

    font-weight:
        750;

    letter-spacing:
        -.7px;
}

#content p {

    color:
        var(--text-secondary);
}


/* ==========================================================
   BOTÕES
   ========================================================== */

.primary-button {

    background:
        linear-gradient(
            135deg,
            #1677ff,
            #2563eb
        );

    color:
        #ffffff;

    border:
        1px solid
        rgba(255,255,255,.08);

    box-shadow:
        var(--shadow-primary);

    font-weight:
        600;
}

.primary-button:hover {

    background:
        linear-gradient(
            135deg,
            #2784ff,
            #3172ed
        );

    transform:
        translateY(-2px);

    box-shadow:
        0 12px 30px
        rgba(22,119,255,.30);
}

.secondary-button {

    background:
        rgba(255,255,255,.025);

    color:
        var(--text-primary);

    border:
        1px solid
        var(--border);
}

.secondary-button:hover {

    background:
        rgba(255,255,255,.055);

    border-color:
        var(--border-light);
}


/* ==========================================================
   CARDS
   ========================================================== */

.card,
.metric-card,
.dashboard-section,
.dashboard-placeholder,
.dashboard-chart-card,
.insight-card,
.operations-table {

    background:
        linear-gradient(
            145deg,
            rgba(15,28,46,.98),
            rgba(9,19,32,.98)
        );

    border:
        1px solid
        var(--border);

    box-shadow:
        var(--shadow-card);

    border-radius:
        18px;
}

.card:hover,
.metric-card:hover,
.insight-card:hover {

    border-color:
        rgba(22,119,255,.20);

    box-shadow:
        0 15px 40px
        rgba(0,0,0,.28);
}


/* ==========================================================
   MÉTRICAS
   ========================================================== */

.metric-card {

    min-height:
        145px;

    position:
        relative;

    overflow:
        hidden;
}

.metric-card::after {

    content:
        "";

    position:
        absolute;

    width:
        110px;

    height:
        110px;

    right:
        -45px;

    bottom:
        -55px;

    background:
        rgba(22,119,255,.08);

    border-radius:
        50%;

    filter:
        blur(10px);

    pointer-events:
        none;
}

.metric-header {

    color:
        var(--text-secondary);
}

.metric-icon {

    background:
        linear-gradient(
            135deg,
            #1677ff,
            #2563eb
        );

    box-shadow:
        0 6px 18px
        rgba(22,119,255,.22);
}

.metric-title {

    color:
        var(--text-secondary);
}

.metric-value {

    color:
        #ffffff;

    letter-spacing:
        -.5px;
}


/* ==========================================================
   RESULTADOS
   ========================================================== */

.result-win {

    background:
        var(--success-soft);

    color:
        var(--success);

    border:
        1px solid
        rgba(0,214,163,.16);
}

.result-loss {

    background:
        var(--danger-soft);

    color:
        var(--danger);

    border:
        1px solid
        rgba(255,83,100,.16);
}

.result-neutral {

    background:
        rgba(255,255,255,.06);

    color:
        var(--text-secondary);

    border:
        1px solid
        rgba(255,255,255,.08);
}

.profit-positive,
.performance-positive {

    color:
        var(--success);
}

.profit-negative,
.performance-negative {

    color:
        var(--danger);
}


/* ==========================================================
   TABELAS
   ========================================================== */

.operations-table {

    overflow:
        hidden;
}

.operations-table table {

    background:
        transparent;
}

.operations-table th {

    background:
        rgba(255,255,255,.025);

    color:
        var(--text-secondary);

    font-weight:
        600;

    text-transform:
        uppercase;

    letter-spacing:
        .4px;
}

.operations-table td {

    color:
        var(--text-primary);

    border-color:
        var(--border);
}

.operations-table tr:hover {

    background:
        rgba(22,119,255,.035);
}


/* ==========================================================
   INPUTS / SELECTS
   ========================================================== */

input,
select,
textarea {

    background:
        #081321;

    color:
        var(--text-primary);

    border:
        1px solid
        var(--border);

    border-radius:
        11px;

    outline:
        none;

    transition:
        border .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

input:focus,
select:focus,
textarea:focus {

    border-color:
        rgba(22,119,255,.65);

    box-shadow:
        0 0 0 3px
        rgba(22,119,255,.10);

    background:
        #0a1728;
}

input::placeholder,
textarea::placeholder {

    color:
        var(--text-muted);
}

select option {

    background:
        #0b1625;

    color:
        #ffffff;
}


/* ==========================================================
   GESTÃO DE RISCO
   ========================================================== */

.dashboard-grid {

    display:
        grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        18px;

    margin-top:
        20px;
}

.glass-card {

    background:
        linear-gradient(
            145deg,
            rgba(14,27,45,.98),
            rgba(8,18,31,.98)
        );

    border:
        1px solid
        var(--border);

    border-radius:
        18px;

    padding:
        22px;

    box-shadow:
        var(--shadow-card);

    transition:
        transform .2s ease,
        border .2s ease;
}

.glass-card:hover {

    transform:
        translateY(-2px);

    border-color:
        rgba(22,119,255,.20);
}

.glass-card h3 {

    color:
        var(--text-secondary);

    font-size:
        13px;

    text-transform:
        uppercase;

    letter-spacing:
        .5px;

    margin-bottom:
        10px;
}

.risk-value {

    color:
        #ffffff;

    font-size:
        30px;

    font-weight:
        750;
}


/* ==========================================================
   STATUS
   ========================================================== */

#session-status {

    color:
        var(--success);

    font-weight:
        700;
}

#next-entry {

    color:
        #ffffff;

    font-weight:
        750;
}


/* ==========================================================
   MODAL — CORREÇÃO PRINCIPAL
   ========================================================== */

.modal-overlay,
.modal-backdrop,
.overlay {

    position:
        fixed !important;

    inset:
        0 !important;

    width:
        100vw !important;

    height:
        100vh !important;

    display:
        flex;

    align-items:
        center !important;

    justify-content:
        center !important;

    background:
        rgba(2,7,14,.78) !important;

    backdrop-filter:
        blur(7px);

    -webkit-backdrop-filter:
        blur(7px);

    z-index:
        99999 !important;

    padding:
        20px;

}


/* Modal interno */

.modal,
.modal-content,
.modal-dialog {

    position:
        relative;

    width:
        min(520px, calc(100vw - 40px));

    max-width:
        520px;

    max-height:
        calc(100vh - 40px);

    overflow-y:
        auto;

    background:
        linear-gradient(
            145deg,
            #0d1a2b,
            #081321
        );

    border:
        1px solid
        rgba(130,160,195,.18);

    border-radius:
        20px;

    box-shadow:
        0 30px 90px
        rgba(0,0,0,.55),
        0 0 50px
        rgba(22,119,255,.08);

    color:
        var(--text-primary);

    padding:
        25px;

}


/* ==========================================================
   MODAL HEADER
   ========================================================== */

.modal-header {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    margin-bottom:
        22px;

    padding-bottom:
        16px;

    border-bottom:
        1px solid
        var(--border);
}

.modal-header h2,
.modal h2 {

    color:
        #ffffff;

    font-size:
        22px;

    margin:
        0;
}

.modal-close,
.modal-header button {

    background:
        rgba(255,255,255,.05);

    color:
        var(--text-secondary);

    border:
        1px solid
        var(--border);

    width:
        34px;

    height:
        34px;

    border-radius:
        10px;

    cursor:
        pointer;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;
}

.modal-close:hover,
.modal-header button:hover {

    color:
        #ffffff;

    background:
        rgba(255,255,255,.09);
}


/* ==========================================================
   MODAL CAMPOS
   ========================================================== */

.modal label {

    display:
        block;

    color:
        var(--text-secondary);

    font-size:
        13px;

    font-weight:
        600;

    margin-bottom:
        7px;
}

.modal input,
.modal select,
.modal textarea {

    width:
        100%;

    padding:
        12px 13px;

    margin-bottom:
        16px;
}


/* ==========================================================
   MODAL BOTÃO
   ========================================================== */

.modal .primary-button,
.modal button[type="submit"] {

    width:
        100%;

    margin-top:
        8px;

    padding:
        13px 18px;
}


/* ==========================================================
   ESTRATÉGIAS
   ========================================================== */

.strategy-list,
.strategies-list {

    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap:
        16px;

    margin-top:
        20px;
}

.strategy-card,
.strategy-item {

    background:
        linear-gradient(
            145deg,
            rgba(14,27,45,.98),
            rgba(8,18,31,.98)
        );

    border:
        1px solid
        var(--border);

    border-radius:
        16px;

    padding:
        20px;

    min-height:
        110px;

    transition:
        border .2s ease,
        transform .2s ease;
}

.strategy-card:hover,
.strategy-item:hover {

    transform:
        translateY(-2px);

    border-color:
        rgba(22,119,255,.25);
}


/* ==========================================================
   RESPONSIVIDADE
   ========================================================== */

@media(max-width:1200px){

    .dashboard-grid {

        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

}

@media(max-width:900px){

    #content {

        padding:
            24px;
    }

    .cards-grid {

        grid-template-columns:
            repeat(2,1fr);
    }

    .strategy-list,
    .strategies-list {

        grid-template-columns:
            1fr;
    }

}

@media(max-width:600px){

    #content {

        padding:
            18px;
    }

    .dashboard-grid {

        grid-template-columns:
            1fr;
    }

    .cards-grid {

        grid-template-columns:
            1fr;
    }

    .dashboard-header {

        flex-direction:
            column;

        align-items:
            flex-start;
    }

    .modal,
    .modal-content,
    .modal-dialog {

        width:
            calc(100vw - 24px);

        max-height:
            calc(100vh - 24px);

        padding:
            20px;
    }

}


/* ==========================================================
   TRADER VITA
   GESTÃO DE RISCO
   ========================================================== */

.risk-page {

    width: 100%;

    max-width: 1500px;

    margin: 0 auto;

}


/* ==========================================================
   HEADER
   ========================================================== */

.risk-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 24px;

    margin-bottom: 26px;

}


.risk-title-area {

    display: flex;

    align-items: center;

    gap: 15px;

}


.risk-title-icon {

    width: 46px;

    height: 46px;

    border-radius: 13px;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #1677ff,
            #2563eb
        );

    color: #fff;

    font-size: 22px;

    box-shadow:
        0 8px 25px
        rgba(22,119,255,.24);

}


.risk-header h1 {

    margin: 0;

    font-size: 30px;

    letter-spacing: -.7px;

}


.risk-header p {

    margin: 5px 0 0;

    color:
        var(--text-secondary);

}


.risk-header-actions {

    display: flex;

    align-items: center;

    gap: 10px;

}


/* ==========================================================
   GRID DE MÉTRICAS
   ========================================================== */

.risk-grid {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 16px;

    margin-bottom: 18px;

}


.risk-metric-card {

    position: relative;

    overflow: hidden;

    min-height: 145px;

    padding: 20px;

    border-radius: 17px;

    border:
        1px solid
        rgba(130,160,195,.14);

    background:
        linear-gradient(
            145deg,
            rgba(13,27,45,.98),
            rgba(7,17,29,.98)
        );

    box-shadow:
        0 12px 35px
        rgba(0,0,0,.20);

    transition:
        transform .2s ease,
        border-color .2s ease;

}


.risk-metric-card:hover {

    transform:
        translateY(-2px);

    border-color:
        rgba(22,119,255,.25);

}


.risk-metric-card::after {

    content: "";

    position: absolute;

    width: 120px;

    height: 120px;

    right: -65px;

    bottom: -70px;

    border-radius: 50%;

    background:
        rgba(22,119,255,.08);

    filter:
        blur(18px);

    pointer-events: none;

}


.risk-metric-top {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 18px;

}


.risk-metric-top span {

    color:
        var(--text-secondary);

    font-size: 12px;

    font-weight: 650;

    letter-spacing: .35px;

}


.risk-metric-icon {

    width: 32px;

    height: 32px;

    flex-shrink: 0;

    border-radius: 9px;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #1677ff,
            #2563eb
        );

    color: white;

    font-weight: 700;

    box-shadow:
        0 6px 18px
        rgba(22,119,255,.20);

}


.risk-metric-value {

    font-size: 25px;

    line-height: 1.1;

    font-weight: 750;

    letter-spacing: -.5px;

    color:
        #ffffff;

}


.risk-metric-sub {

    margin-top: 7px;

    font-size: 13px;

    font-weight: 650;

}


.success-text {

    color:
        var(--success);

}


.risk-metric-info {

    margin: 7px 0 0;

    color:
        var(--text-secondary);

    font-size: 12px;

}


.risk-status-value {

    font-size: 22px;

    font-weight: 750;

    color:
        var(--success);

}


/* ==========================================================
   ÁREA PRINCIPAL
   ========================================================== */

.risk-main-grid {

    display: grid;

    grid-template-columns:
        minmax(0, 1.65fr)
        minmax(330px, .9fr);

    gap: 18px;

    margin-bottom: 18px;

}


/* ==========================================================
   PAINÉIS
   ========================================================== */

.risk-panel {

    background:
        linear-gradient(
            145deg,
            rgba(13,27,45,.98),
            rgba(7,17,29,.98)
        );

    border:
        1px solid
        rgba(130,160,195,.14);

    border-radius:
        18px;

    box-shadow:
        0 12px 35px
        rgba(0,0,0,.20);

}


.risk-panel-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding: 22px 22px 16px;

}


.risk-panel-label {

    display: block;

    color:
        #6e91b8;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1px;

    margin-bottom: 5px;

}


.risk-panel h2 {

    margin: 0;

    font-size: 20px;

    color: #ffffff;

}


.risk-panel-header p {

    margin: 5px 0 0;

    color:
        var(--text-secondary);

    font-size: 12px;

}


.cycle-progress-badge {

    padding:
        8px 12px;

    border-radius:
        10px;

    background:
        rgba(0,214,163,.09);

    border:
        1px solid
        rgba(0,214,163,.16);

    color:
        var(--success);

    font-size:
        12px;

    font-weight:
        750;

}


/* ==========================================================
   CICLO SOROS
   ========================================================== */

.soros-cycle {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 8px;

    padding:
        0 22px 22px;

}


.soros-entry {

    position: relative;

    display: grid;

    grid-template-columns:
        42px 1fr auto;

    align-items: center;

    gap: 12px;

    min-height: 58px;

    padding:
        10px 13px;

    border-radius:
        12px;

    border:
        1px solid
        rgba(130,160,195,.10);

    background:
        rgba(255,255,255,.025);

}


.soros-entry-number {

    width: 32px;

    height: 32px;

    border-radius: 9px;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        rgba(255,255,255,.055);

    color:
        var(--text-secondary);

    font-size: 12px;

    font-weight: 700;

}


.soros-entry-value {

    color:
        #ffffff;

    font-weight:
        700;

}


.soros-entry-status {

    color:
        var(--text-secondary);

    font-size:
        11px;

    font-weight:
        650;

}


.soros-entry.current,
.soros-entry.active {

    border-color:
        rgba(22,119,255,.45);

    background:
        linear-gradient(
            90deg,
            rgba(22,119,255,.13),
            rgba(22,119,255,.035)
        );

    box-shadow:
        inset 3px 0 0
        #1677ff;

}


.soros-entry.current
.soros-entry-number,
.soros-entry.active
.soros-entry-number {

    background:
        #1677ff;

    color:
        white;

}


.soros-entry.completed {

    border-color:
        rgba(0,214,163,.15);

}


.soros-entry.completed
.soros-entry-status {

    color:
        var(--success);

}


/* ==========================================================
   CONFIGURAÇÕES DE RISCO
   ========================================================== */

.risk-config-list {

    padding:
        0 22px 22px;

}


.risk-config-row {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    padding:
        13px 0;

    border-bottom:
        1px solid
        rgba(130,160,195,.09);

}


.risk-config-row:last-child {

    border-bottom:
        0;

}


.risk-config-row div {

    display:
        flex;

    flex-direction:
        column;

    gap:
        3px;

}


.risk-config-row strong {

    color:
        #ffffff;

    font-size:
        13px;

}


.risk-config-row span {

    color:
        var(--text-secondary);

    font-size:
        11px;

}


.risk-config-row b {

    color:
        var(--success);

    font-size:
        14px;

}


/* ==========================================================
   RESUMO
   ========================================================== */

.session-details {

    margin-bottom:
        20px;

}


.session-grid {

    display:
        grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap:
        0;

    padding:
        0 22px 22px;

}


.session-stat {

    display:
        flex;

    flex-direction:
        column;

    gap:
        7px;

    padding:
        14px 18px;

    border-right:
        1px solid
        rgba(130,160,195,.09);

}


.session-stat:first-child {

    padding-left:
        0;

}


.session-stat:last-child {

    border-right:
        0;

}


.session-stat span {

    color:
        var(--text-secondary);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        .6px;

}


.session-stat strong {

    color:
        #ffffff;

    font-size:
        24px;

}


.session-win strong {

    color:
        var(--success);

}


.session-loss strong {

    color:
        var(--danger);

}


.session-rate strong {

    color:
        #4b91ff;

}


/* ==========================================================
   BOTÕES
   ========================================================== */

.risk-action-primary,
.risk-action-secondary {

    min-height:
        42px;

    padding:
        0 17px;

    border-radius:
        11px;

}


/* ==========================================================
   RESPONSIVO
   ========================================================== */

@media(max-width:1200px){

    .risk-grid {

        grid-template-columns:
            repeat(2, minmax(0,1fr));

    }

    .risk-main-grid {

        grid-template-columns:
            1fr;

    }

}


@media(max-width:700px){

    .risk-header {

        align-items:
            flex-start;

        flex-direction:
            column;

    }

    .risk-header-actions {

        width:
            100%;

    }

    .risk-header-actions button {

        flex:
            1;

    }

    .risk-grid {

        grid-template-columns:
            1fr;

    }

    .soros-cycle {

        grid-template-columns:
            1fr;

    }

    .session-grid {

        grid-template-columns:
            repeat(2,1fr);

    }

    .session-stat {

        border-right:
            0;

        border-bottom:
            1px solid
            rgba(130,160,195,.09);

    }

}


/* ==========================================================
   CICLO SOROS — ESTRUTURA INTERNA
   ========================================================== */

.soros-entry {

    display: grid;

    grid-template-columns:
        42px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 12px;

    min-height: 56px;

    padding: 9px 12px;

    box-sizing: border-box;

}


.soros-entry-number {

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    background:
        rgba(255,255,255,.055);

    color:
        #8fa5bd;

    font-size: 11px;

    font-weight: 750;

}


.soros-entry-main {

    min-width: 0;

    display: flex;

    align-items: center;

    gap: 12px;

}


.soros-entry-label {

    color:
        #8196ad;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .4px;

    white-space: nowrap;

}


.soros-entry-value {

    color:
        #ffffff;

    font-size: 14px;

    font-weight: 750;

    white-space: nowrap;

}


.soros-entry-status {

    min-width: 75px;

    text-align: right;

    color:
        #8196ad;

    font-size: 10px;

    font-weight: 700;

    white-space: nowrap;

}


/* ==========================================================
   ENTRADA ATUAL
   ========================================================== */

.soros-entry.current {

    border-color:
        rgba(22,119,255,.55);

    background:
        linear-gradient(
            90deg,
            rgba(22,119,255,.14),
            rgba(22,119,255,.035)
        );

    box-shadow:
        inset 3px 0 0 #1677ff,
        0 5px 18px rgba(22,119,255,.07);

}


.soros-entry.current
.soros-entry-number {

    background:
        linear-gradient(
            135deg,
            #1677ff,
            #2563eb
        );

    color:
        #ffffff;

    box-shadow:
        0 5px 14px
        rgba(22,119,255,.25);

}


.soros-entry.current
.soros-entry-status {

    color:
        #4b91ff;

}


/* ==========================================================
   CONCLUÍDA
   ========================================================== */

.soros-entry.completed {

    border-color:
        rgba(0,214,163,.14);

}


.soros-entry.completed
.soros-entry-number {

    background:
        rgba(0,214,163,.10);

    color:
        var(--success);

}


.soros-entry.completed
.soros-entry-status {

    color:
        var(--success);

}


/* ==========================================================
   LOSS
   ========================================================== */

.soros-entry.loss {

    border-color:
        rgba(255,83,100,.16);

}


.soros-entry.loss
.soros-entry-status {

    color:
        var(--danger);

}


/* ==========================================================
   WIN
   ========================================================== */

.soros-entry.win {

    border-color:
        rgba(0,214,163,.18);

}


.soros-entry.win
.soros-entry-status {

    color:
        var(--success);

}


/* ==========================================================
   DRAW
   ========================================================== */

.soros-entry.draw
.soros-entry-status {

    color:
        var(--text-secondary);

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:700px){

    .soros-entry {

        grid-template-columns:
            38px
            minmax(0,1fr)
            auto;

    }

    .soros-entry-main {

        flex-direction:
            column;

        align-items:
            flex-start;

        gap: 2px;

    }

}


/* ======================================================
   SETTINGS PREMIUM - TRADER VITA
====================================================== */


.settings-page{
    width:100%;
    color:#ffffff;
}



.settings-section{

    margin-top:24px;

    padding:22px;

    background:
    linear-gradient(
        145deg,
        #101c30,
        #091322
    );

    border:1px solid rgba(255,255,255,.08);

    border-radius:18px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.35);

}



.section-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:22px;

}



.section-header h2{

    margin:0;

    font-size:22px;

    font-weight:700;

}



.section-header p{

    margin-top:6px;

    color:#7f93b5;

    font-size:14px;

}





.settings-list{

    display:flex;

    flex-direction:column;

    gap:12px;

}




.settings-item{


    display:flex;

    justify-content:space-between;

    align-items:center;


    padding:18px 20px;


    background:#0d192b;


    border:1px solid rgba(255,255,255,.06);


    border-radius:14px;


    transition:.25s;


}



.settings-item:hover{

    border-color:#1677ff;

    transform:translateY(-2px);

}





.settings-item strong{

    font-size:16px;

    color:#ffffff;

}



.settings-item p{

    margin:5px 0 0;

    color:#7186a8;

    font-size:13px;

}





.danger-button{


    background:rgba(255,70,70,.12);


    border:1px solid rgba(255,70,70,.25);


    color:#ff5c68;


    padding:8px 18px;


    border-radius:10px;


    cursor:pointer;


    transition:.2s;


}



.danger-button:hover{


    background:#ff4655;

    color:white;

}





.settings-page .risk-grid{


    margin-top:24px;

}



.settings-page .risk-metric-card{


    min-height:150px;

}



/* ==============================
 SETTINGS TRADER VITA PRO
============================== */


.settings-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

margin-top:25px;

}



.settings-card{


background:
linear-gradient(
145deg,
#101d31,
#091322
);


border:1px solid rgba(255,255,255,.08);


border-radius:18px;


padding:22px;


min-height:170px;


}





.settings-card-header{

display:flex;

gap:14px;

align-items:center;


}



.settings-icon{


width:42px;

height:42px;


display:flex;

align-items:center;

justify-content:center;


background:#1769ff;


border-radius:12px;


font-size:20px;


}





.settings-card h3{


margin:0;

font-size:16px;


}



.settings-card p{


margin:4px 0;

color:#7e91b3;

font-size:13px;


}





.settings-value{


font-size:30px;

font-weight:800;


margin:25px 0;


}





.settings-columns{


display:grid;


grid-template-columns:1fr 1fr;


gap:20px;


margin-top:22px;


}




.settings-panel{


background:
linear-gradient(
145deg,
#101d31,
#091322
);


border-radius:18px;


border:1px solid rgba(255,255,255,.08);


padding:22px;


}





.panel-header{


display:flex;

justify-content:space-between;

align-items:center;


margin-bottom:18px;


}



.panel-header h2{

margin:0;

font-size:20px;

}



.primary-button.small{

padding:8px 14px;

font-size:13px;

}




.settings-list{


display:flex;

flex-direction:column;

gap:12px;


}



.settings-list .card{


background:#0c182a;


border:1px solid rgba(255,255,255,.07);


border-radius:14px;


padding:18px;


}


/* ==========================================================
   GESTÃO DE RISCO V2 — 6 SOROS / TICKET LATERAL
   ========================================================== */

.rv-risk-page{
    width:100%;
    min-width:0;
    color:#f8fbff;
}

.rv-risk-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:22px;
}

.rv-title-wrap{
    display:flex;
    align-items:flex-start;
    gap:14px;
}

.rv-title-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:linear-gradient(145deg,#2e7cff,#1762e9);
    box-shadow:0 8px 26px rgba(37,99,235,.25);
    font-size:20px;
    font-weight:800;
}

.rv-risk-header h1{
    margin:0 0 7px;
    font-size:29px;
    line-height:1;
    letter-spacing:-.7px;
    color:#fff;
}

.rv-risk-header p{
    margin:0;
    color:#7fa3ca;
    font-size:13px;
}

.rv-metrics-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:14px;
}

.rv-metric-card,
.rv-panel{
    background:linear-gradient(145deg,#0b1a2b 0%,#091625 100%);
    border:1px solid #18304a;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.015);
}

.rv-metric-card{
    min-height:126px;
    border-radius:14px;
    padding:17px 18px 15px;
}

.rv-metric-top{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}

.rv-metric-top>span{
    color:#8fb2d8;
    font-size:10px;
    font-weight:800;
    letter-spacing:.35px;
}

.rv-metric-icon{
    width:29px;
    height:29px;
    border-radius:8px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    background:linear-gradient(145deg,#2d7cff,#1761e8);
    color:#fff;
    font-size:13px;
    font-weight:900;
    box-shadow:0 5px 16px rgba(37,99,235,.22);
}

.rv-metric-value{
    color:#fff;
    font-size:23px;
    line-height:1.05;
    font-weight:850;
    letter-spacing:-.5px;
}

.rv-metric-info{
    margin-top:8px;
    color:#78a0ca;
    font-size:12px;
    line-height:1.3;
}

.rv-status-value{
    color:#11e7b0;
    font-size:19px;
}

.rv-status-value.complete{
    color:#f4b64a;
}

.rv-main-grid{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(330px,.9fr);
    gap:14px;
    align-items:stretch;
}

.rv-panel{
    border-radius:14px;
    overflow:hidden;
}

.rv-cycle-panel{
    padding:18px 18px 17px;
}

.rv-panel-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:15px;
}

.rv-panel-label{
    display:block;
    margin-bottom:5px;
    color:#638cb6;
    font-size:9px;
    font-weight:850;
    letter-spacing:1.15px;
}

.rv-panel h2,
.rv-ticket-heading h2{
    margin:0;
    color:#fff;
    font-size:16px;
    line-height:1.1;
    letter-spacing:-.15px;
}

.rv-panel-header p{
    margin:5px 0 0 !important;
    color:#75a1cc !important;
    font-size:12px !important;
}

.rv-progress-badge{
    padding:7px 10px;
    border:1px solid rgba(0,225,177,.25);
    border-radius:8px;
    background:rgba(0,225,177,.08);
    color:#00e1b1;
    font-size:10px;
    font-weight:850;
}

.rv-soros-list{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.rv-soros-row{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
    padding-left:22px;
}

.rv-soros-tag{
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:17px;
    color:#52789e;
    font-size:8px;
    font-weight:900;
    letter-spacing:.2px;
    text-align:center;
}

.rv-soros-row.current .rv-soros-tag{
    color:#3e8dff;
}

.rv-soros-row.completed .rv-soros-tag{
    color:#00d7a5;
}

.rv-entry-card{
    min-width:0;
    min-height:51px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    padding:8px 10px;
    border:1px solid #1b334b;
    border-radius:9px;
    background:#0d1d2e;
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}

.rv-entry-card.current{
    border-color:#1e78ff;
    background:linear-gradient(90deg,rgba(28,104,224,.12),#0d1d2e 38%);
    box-shadow:inset 0 0 0 1px rgba(35,125,255,.06);
}

.rv-entry-card.win{
    border-color:rgba(0,209,159,.22);
}

.rv-entry-card.loss{
    border-color:rgba(255,74,86,.22);
}

.rv-entry-number{
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#17283b;
    color:#8eafd0;
    font-size:9px;
    font-weight:850;
}

.rv-entry-card.current .rv-entry-number{
    background:#246fe9;
    color:#fff;
    box-shadow:0 5px 14px rgba(36,111,233,.3);
}

.rv-entry-card.win .rv-entry-number{
    background:rgba(0,209,159,.13);
    color:#00e0ab;
}

.rv-entry-card.loss .rv-entry-number{
    background:rgba(255,74,86,.12);
    color:#ff6570;
}

.rv-entry-main{
    min-width:0;
    display:flex;
    align-items:baseline;
    gap:8px;
}

.rv-entry-main span{
    color:#6f94bb;
    font-size:8px;
    font-weight:800;
    white-space:nowrap;
}

.rv-entry-main strong{
    color:#fff;
    font-size:12px;
    font-weight:850;
    white-space:nowrap;
}

.rv-entry-status{
    color:#6f94bb;
    font-size:8px;
    font-weight:850;
    white-space:nowrap;
}

.rv-entry-card.current .rv-entry-status{
    color:#3c8cff;
}

.rv-entry-card.win .rv-entry-status{
    color:#00e1aa;
}

.rv-entry-card.loss .rv-entry-status{
    color:#ff5c68;
}

/* Ticket lateral */
.rv-ticket-panel{
    min-width:0;
    background:linear-gradient(160deg,#07111d 0%,#050b13 100%);
    padding:0 18px 17px;
}

.rv-ticket-topbar{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:9px;
    padding:11px 0 15px;
    border-bottom:1px solid #13263a;
}

.rv-button{
    min-height:43px;
    border-radius:10px;
    border:1px solid transparent;
    padding:0 13px;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
    transition:transform .15s ease,filter .15s ease,border-color .15s ease,background .15s ease;
}

.rv-button:not(:disabled):hover{
    filter:brightness(1.08);
    transform:translateY(-1px);
}

.rv-button:disabled{
    cursor:not-allowed;
    opacity:.42;
}

.rv-button-primary{
    background:linear-gradient(145deg,#2b7cff,#1764e8);
    color:#fff;
    box-shadow:0 7px 18px rgba(33,108,238,.18);
}

.rv-button-secondary{
    background:#0a1624;
    border-color:#152b42;
    color:#7087a1;
}

.rv-button-cancel{
    background:#142235;
    border-color:#2a405a;
    box-shadow:none;
}

.rv-ticket-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-top:17px;
}

.rv-ticket-state{
    padding:6px 8px;
    border-radius:7px;
    background:#101d2c;
    color:#718da9;
    border:1px solid #1b3045;
    font-size:8px;
    font-weight:900;
    letter-spacing:.55px;
    white-space:nowrap;
}

.rv-ticket-state.active{
    background:rgba(0,218,167,.09);
    border-color:rgba(0,218,167,.25);
    color:#00dda9;
}

.rv-ticket-entry-summary{
    display:grid;
    grid-template-columns:.8fr 1fr 1.35fr;
    margin-top:14px;
    border:1px solid #14283c;
    border-radius:9px;
    background:#091522;
    overflow:hidden;
}

.rv-ticket-entry-summary>div{
    padding:10px 11px;
    border-right:1px solid #14283c;
}

.rv-ticket-entry-summary>div:last-child{
    border-right:none;
}

.rv-ticket-entry-summary span{
    display:block;
    margin-bottom:4px;
    color:#597ea5;
    font-size:8px;
    font-weight:850;
}

.rv-ticket-entry-summary strong{
    color:#fff;
    font-size:12px;
}

.rv-ticket-fields{
    display:grid;
    grid-template-columns:1fr .7fr;
    gap:10px;
    margin-top:14px;
}

.rv-ticket-field{
    display:block;
    margin:0;
}

.rv-ticket-field-full{
    grid-column:1 / -1;
}

.rv-ticket-field>span{
    display:block;
    margin-bottom:6px;
    color:#7da0c4;
    font-size:9px;
    font-weight:850;
    letter-spacing:.35px;
}

.rv-ticket-field select,
.rv-ticket-field input{
    width:100%;
    height:42px;
    border:1px solid #20364e;
    border-radius:8px;
    outline:none;
    background:#0e1b2a;
    color:#fff;
    padding:0 11px;
    font-size:12px;
    font-weight:750;
    transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease;
}

.rv-ticket-field select:focus,
.rv-ticket-field input:focus{
    border-color:#287df4;
    box-shadow:0 0 0 3px rgba(40,125,244,.1);
}

.rv-ticket-field select:disabled,
.rv-ticket-field input:disabled{
    opacity:.58;
    cursor:not-allowed;
}

.rv-payout-input{
    position:relative;
}

.rv-payout-input input{
    padding-right:31px;
}

.rv-payout-input b{
    position:absolute;
    top:50%;
    right:11px;
    transform:translateY(-50%);
    color:#6b91b8;
    font-size:11px;
}

.rv-result-caption{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:10px;
    margin:16px 0 8px;
}

.rv-result-caption span{
    color:#7ca1c6;
    font-size:9px;
    font-weight:850;
}

.rv-result-caption small{
    color:#516f8e;
    font-size:8px;
    text-align:right;
}

.rv-result-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
}

.rv-result{
    min-height:43px;
    border:none;
    border-radius:8px;
    font-size:13px;
    font-weight:950;
    letter-spacing:.25px;
    cursor:pointer;
    transition:filter .15s ease,transform .15s ease,opacity .15s ease;
}

.rv-result:not(:disabled):hover{
    filter:brightness(1.08);
    transform:translateY(-1px);
}

.rv-result:disabled{
    opacity:.3;
    cursor:not-allowed;
}

.rv-result-win{
    background:#00bd72;
    color:#02150d;
}

.rv-result-loss{
    background:#ff4148;
    color:#230305;
}

.rv-result-draw{
    grid-column:1 / -1;
    width:52%;
    justify-self:center;
    background:#d9dde3;
    color:#10151b;
}

.rv-ticket-feedback{
    min-height:0;
    max-height:0;
    opacity:0;
    overflow:hidden;
    margin-top:0;
    padding:0 10px;
    border-radius:8px;
    border:1px solid transparent;
    font-size:10px;
    font-weight:750;
    transition:all .18s ease;
}

.rv-ticket-feedback.show{
    min-height:36px;
    max-height:70px;
    opacity:1;
    margin-top:11px;
    padding:10px;
}

.rv-ticket-feedback.success{
    background:rgba(0,204,148,.08);
    border-color:rgba(0,204,148,.2);
    color:#00dda7;
}

.rv-ticket-feedback.danger{
    background:rgba(255,72,83,.08);
    border-color:rgba(255,72,83,.22);
    color:#ff6872;
}

.rv-ticket-feedback.warning{
    background:rgba(245,177,66,.08);
    border-color:rgba(245,177,66,.22);
    color:#f2b54c;
}

.rv-ticket-feedback.neutral{
    background:rgba(139,160,183,.08);
    border-color:rgba(139,160,183,.2);
    color:#a9bdd1;
}

.rv-ticket-rule{
    margin-top:13px;
    padding:10px 11px;
    border:1px solid #14283c;
    border-radius:8px;
    background:#091522;
}

.rv-ticket-rule span{
    display:block;
    margin-bottom:4px;
    color:#557a9f;
    font-size:8px;
    font-weight:850;
}

.rv-ticket-rule strong{
    color:#9ab5d0;
    font-size:9px;
    line-height:1.35;
    font-weight:700;
}

/* Resumo */
.rv-summary-panel{
    margin-top:14px;
    padding:15px 18px 10px;
}

.rv-summary-header{
    margin-bottom:9px;
}

.rv-summary-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
}

.rv-summary-item{
    padding:9px 0 10px;
    border-right:1px solid #152a40;
}

.rv-summary-item:not(:first-child){
    padding-left:18px;
}

.rv-summary-item:last-child{
    border-right:none;
}

.rv-summary-item span{
    display:block;
    margin-bottom:6px;
    color:#617f9f;
    font-size:8px;
    font-weight:850;
    letter-spacing:.35px;
}

.rv-summary-item strong{
    color:#fff;
    font-size:14px;
}

.rv-success-text{color:#00dba5 !important;}
.rv-danger-text{color:#ff5360 !important;}
.rv-primary-text{color:#3d8cff !important;}

@media(max-width:1280px){
    .rv-main-grid{
        grid-template-columns:minmax(0,1.45fr) minmax(310px,.9fr);
    }

    .rv-entry-main span{
        display:none;
    }

    .rv-entry-card{
        grid-template-columns:34px minmax(0,1fr) auto;
    }
}

@media(max-width:1120px){
    .rv-metrics-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .rv-main-grid{
        grid-template-columns:1fr;
    }

    .rv-entry-main span{
        display:inline;
    }
}

@media(max-width:720px){
    #content{
        padding:18px;
    }

    .rv-risk-header h1{
        font-size:24px;
    }

    .rv-metrics-grid{
        grid-template-columns:1fr;
    }

    .rv-soros-row{
        grid-template-columns:1fr;
        padding-left:0;
        padding-top:15px;
    }

    .rv-soros-tag{
        top:0;
        left:3px;
        transform:none;
        width:auto;
    }

    .rv-ticket-fields{
        grid-template-columns:1fr;
    }

    .rv-ticket-field-full{
        grid-column:auto;
    }

    .rv-summary-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .rv-summary-item{
        border-right:none;
        border-bottom:1px solid #152a40;
        padding-left:0 !important;
    }

    .rv-ticket-entry-summary{
        grid-template-columns:1fr;
    }

    .rv-ticket-entry-summary>div{
        border-right:none;
        border-bottom:1px solid #14283c;
    }

    .rv-ticket-entry-summary>div:last-child{
        border-bottom:none;
    }
}

.rv-risk-page,
.rv-risk-page button,
.rv-risk-page input,
.rv-risk-page select{
    font-family:"Inter","Segoe UI",Arial,Helvetica,sans-serif;
}

/* ==========================================================
   TRADER VITA — VISUAL GLOBAL V1
   Shell inspirado na referência visual fornecida pelo usuário.
   Mantém a lógica existente e substitui apenas a camada global.
========================================================== */

html,
body{
    width:100%;
    min-width:0;
    min-height:100%;
    background:var(--tv-bg);
}

body{
    overflow:hidden;
    color:var(--tv-text);
    font-family:"Inter","Segoe UI",Roboto,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

button,
input,
select,
textarea{
    font:inherit;
}

#app{
    width:100%;
    height:100vh;
    min-height:0;
    display:grid;
    grid-template-columns:var(--tv-sidebar-width) minmax(0,1fr);
    overflow:hidden;
    background:
        radial-gradient(circle at 72% -20%, rgba(0,111,174,.08), transparent 34%),
        var(--tv-bg);
}

/* ---------- Sidebar ---------- */
#sidebar{
    position:relative;
    width:var(--tv-sidebar-width);
    min-width:var(--tv-sidebar-width);
    height:100vh;
    min-height:0;
    padding:0 13px 14px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:
        linear-gradient(180deg, rgba(7,27,42,.96) 0%, rgba(4,19,31,.99) 100%);
    border-right:1px solid #123047;
    box-shadow:10px 0 40px rgba(0,0,0,.07);
}

#sidebar::after{
    content:"";
    position:absolute;
    inset:0 0 auto auto;
    width:1px;
    height:100%;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(0,218,166,.12), rgba(14,89,135,.12) 35%, transparent 86%);
}

.sidebar-brand{
    height:64px;
    min-height:64px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 8px;
    margin:0;
    border-bottom:1px solid rgba(96,143,178,.08);
}

.sidebar-brand-mark{
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:grid;
    place-items:center;
    color:var(--tv-accent);
    filter:drop-shadow(0 0 10px rgba(0,215,162,.2));
}

.sidebar-brand-mark svg{
    width:29px;
    height:29px;
}

.sidebar-brand-copy{
    min-width:0;
    display:flex;
    align-items:center;
}

.sidebar-brand-copy strong{
    color:#eef7fd;
    font-size:16px;
    line-height:1;
    font-weight:760;
    letter-spacing:.15px;
    white-space:nowrap;
}

#sidebar nav,
.sidebar-nav{
    flex:1;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:16px 0 10px;
    scrollbar-width:none;
}

#sidebar nav::-webkit-scrollbar{
    display:none;
}

#sidebar nav button{
    position:relative;
    width:100%;
    min-height:40px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:0 11px;
    border:1px solid transparent;
    border-radius:7px;
    background:transparent;
    color:#8da5b9;
    font-size:12px;
    font-weight:600;
    text-align:left;
    cursor:pointer;
    transition:
        color .16s ease,
        background .16s ease,
        border-color .16s ease,
        transform .16s ease;
}

#sidebar nav button::after{
    content:"";
    position:absolute;
    right:-1px;
    top:8px;
    bottom:8px;
    width:2px;
    border-radius:3px 0 0 3px;
    background:transparent;
    box-shadow:none;
    transition:.16s ease;
}

#sidebar nav button:hover{
    color:#d9e8f4;
    background:rgba(28,67,94,.23);
    border-color:rgba(87,139,175,.08);
    transform:translateX(1px);
}

#sidebar nav button.active{
    color:#effffd;
    background:linear-gradient(90deg, rgba(0,154,127,.22), rgba(9,66,83,.28));
    border-color:rgba(0,215,162,.18);
    box-shadow:
        inset 0 0 22px rgba(0,215,162,.025),
        0 0 20px rgba(0,215,162,.025);
}

#sidebar nav button.active::after{
    background:var(--tv-accent);
    box-shadow:0 0 12px rgba(0,215,162,.65);
}

.nav-icon{
    width:20px;
    height:20px;
    flex:0 0 20px;
    display:grid;
    place-items:center;
    color:#7f9ab2;
    transition:.16s ease;
}

.nav-icon svg{
    width:18px;
    height:18px;
}

#sidebar nav button.active .nav-icon{
    color:var(--tv-accent);
    filter:drop-shadow(0 0 5px rgba(0,215,162,.22));
}

#sidebar nav button:hover .nav-icon{
    color:#b8cee0;
}

.nav-label{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.sidebar-plan-card{
    position:relative;
    flex:0 0 auto;
    margin-top:8px;
    padding:12px;
    border:1px solid rgba(0,215,162,.19);
    border-radius:10px;
    overflow:hidden;
    background:
        radial-gradient(circle at 0 0, rgba(0,215,162,.11), transparent 42%),
        linear-gradient(145deg, rgba(9,34,48,.96), rgba(7,25,38,.98));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.02),
        0 13px 32px rgba(0,0,0,.13);
}

.sidebar-plan-card::before{
    content:"";
    position:absolute;
    inset:auto -28px -36px auto;
    width:100px;
    height:100px;
    border-radius:50%;
    background:rgba(0,215,162,.05);
    filter:blur(10px);
}

.plan-heading{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:9px;
}

.plan-gem{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    color:var(--tv-accent);
    border-radius:7px;
    background:rgba(0,215,162,.1);
    box-shadow:0 0 18px rgba(0,215,162,.09);
}

.plan-gem svg{
    width:18px;
    height:18px;
}

.plan-heading>div{
    min-width:0;
    display:flex;
    align-items:center;
    gap:5px;
}

.plan-heading strong{
    color:#d9e9f5;
    font-size:10px;
    font-weight:700;
    white-space:nowrap;
}

.plan-badge,
.profile-pro{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:15px;
    padding:0 4px;
    border-radius:3px;
    border:1px solid rgba(66,193,255,.35);
    background:rgba(20,137,207,.2);
    color:#67d5ff;
    font-size:7px;
    font-weight:850;
    letter-spacing:.25px;
}

.sidebar-plan-card p{
    position:relative;
    z-index:1;
    margin:8px 0 10px;
    color:#7996ab;
    font-size:8.5px;
    line-height:1.5;
}

.plan-action{
    position:relative;
    z-index:1;
    width:100%;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 9px;
    border:1px solid rgba(84,137,174,.08);
    border-radius:6px;
    background:rgba(15,43,61,.75);
    color:#b4c9d9;
    font-size:8.5px;
    font-weight:650;
    cursor:pointer;
    transition:.16s ease;
}

.plan-action:hover{
    color:#e7f6ff;
    background:rgba(18,53,73,.9);
    border-color:rgba(0,215,162,.13);
}

.plan-action span{
    color:#2c9fff;
    font-size:14px;
}

/* ---------- Conteúdo / Topbar ---------- */
#content{
    width:100%;
    min-width:0;
    min-height:0;
    height:100vh;
    padding:0;
    overflow-y:auto;
    overflow-x:hidden;
    background:
        radial-gradient(circle at 38% -10%, rgba(6,69,102,.09), transparent 28%),
        linear-gradient(180deg, #06121d 0%, #06111b 100%);
    scrollbar-color:#17334a transparent;
    scrollbar-width:thin;
}

#topbar{
    position:sticky;
    top:0;
    z-index:500;
    width:100%;
    height:var(--tv-topbar-height);
    min-height:var(--tv-topbar-height);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:0 22px;
    background:rgba(5,17,28,.94);
    border-bottom:1px solid rgba(72,126,165,.11);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

.topbar-welcome{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}

.topbar-welcome strong{
    color:#f4f8fc;
    font-size:15px;
    line-height:1.15;
    font-weight:700;
    letter-spacing:-.1px;
}

.topbar-welcome span{
    color:#708ba2;
    font-size:9px;
    line-height:1.2;
    font-weight:500;
}

.topbar-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.topbar-icon-button{
    position:relative;
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid transparent;
    border-radius:8px;
    background:transparent;
    color:#7891a8;
    cursor:pointer;
    transition:.15s ease;
}

.topbar-icon-button:hover{
    color:#dceaf5;
    background:rgba(23,54,76,.48);
    border-color:rgba(78,127,162,.1);
}

.topbar-icon-button svg{
    width:17px;
    height:17px;
}

.topbar-icon-button.has-dot::after{
    content:"";
    position:absolute;
    top:5px;
    right:5px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--tv-accent);
    box-shadow:0 0 7px rgba(0,215,162,.6);
}

.topbar-profile{
    height:40px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 5px 0 8px;
    margin-left:3px;
    border-left:1px solid rgba(80,130,165,.12);
}

.profile-avatar{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1px solid #214259;
    background:
        radial-gradient(circle at 35% 30%, rgba(49,142,213,.22), transparent 45%),
        #10283a;
    color:#dff5ff;
    font-size:8px;
    font-weight:850;
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.015);
}

.profile-copy{
    display:flex;
    align-items:center;
    gap:5px;
}

.profile-copy strong{
    color:#cfe0ec;
    font-size:9px;
    font-weight:650;
    white-space:nowrap;
}

.profile-chevron{
    width:13px;
    height:13px;
    color:#5f7b91;
}

#page-container{
    width:100%;
    min-width:0;
    min-height:calc(100vh - var(--tv-topbar-height));
    padding:18px 22px 28px;
}

/* ---------- Unificação visual de componentes existentes ---------- */
.dashboard-header,
.operations-header,
.risk-header,
.rv-risk-header{
    margin-bottom:16px;
}

.dashboard-header h1,
.operations-header h1,
.risk-header h1,
.rv-risk-header h1,
.settings-page h1{
    color:var(--tv-text);
    letter-spacing:-.45px;
}

.dashboard-header p,
.operations-header p,
.risk-header p,
.rv-risk-header p{
    color:#7291aa;
}

.card,
.metric-card,
.glass-card,
.dashboard-section,
.dashboard-placeholder,
.dashboard-chart-card,
.operations-table,
.settings-card,
.settings-panel,
.risk-panel,
.risk-metric-card,
.rv-panel,
.rv-metric-card{
    background:linear-gradient(180deg, rgba(11,28,43,.97), rgba(9,24,38,.98));
    border-color:#173147;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.012);
}

.card:hover,
.metric-card:hover,
.glass-card:hover,
.settings-card:hover,
.risk-metric-card:hover,
.rv-metric-card:hover{
    border-color:#1c3d57;
    background:linear-gradient(180deg, rgba(13,32,49,.99), rgba(10,27,42,.99));
}

.primary-button{
    border-radius:8px;
    background:linear-gradient(180deg,#2088ff,#1274ec);
    box-shadow:0 8px 22px rgba(16,115,231,.16), inset 0 1px 0 rgba(255,255,255,.12);
}

.primary-button:hover{
    background:linear-gradient(180deg,#2f94ff,#1680f7);
}

input,
select,
textarea{
    accent-color:var(--tv-accent);
}

/* ---------- Responsivo ---------- */
@media(max-width:1100px){
    :root{
        --tv-sidebar-width:188px;
    }

    #sidebar{
        padding-left:10px;
        padding-right:10px;
    }

    #sidebar nav button{
        padding-left:9px;
        padding-right:8px;
        font-size:11px;
    }

    #page-container{
        padding-left:18px;
        padding-right:18px;
    }
}

@media(max-width:820px){
    :root{
        --tv-sidebar-width:68px;
    }

    #sidebar{
        padding-left:8px;
        padding-right:8px;
    }

    .sidebar-brand{
        justify-content:center;
        padding:0;
    }

    .sidebar-brand-copy,
    .nav-label,
    .sidebar-plan-card{
        display:none;
    }

    #sidebar nav button{
        justify-content:center;
        padding:0;
    }

    #sidebar nav button::after{
        right:-8px;
    }

    #topbar{
        padding:0 15px;
    }

    #page-container{
        padding:15px;
    }
}

@media(max-width:560px){
    .topbar-welcome span,
    .profile-copy,
    .topbar-icon-button:nth-child(2){
        display:none;
    }

    .topbar-profile{
        padding-left:5px;
    }
}

/* ==========================================================
   TRADER VITA — DASHBOARD V2
   Referência: dashboard dark premium fornecido pelo usuário
========================================================== */

.tv-dashboard-v2{
    width:100%;
    min-width:0;
    color:var(--tv-text);
}

.tv-dashboard-v2 *{
    box-sizing:border-box;
}

.tv-dash-metrics{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:9px;
    margin-bottom:10px;
}

.tv-dash-metric{
    min-width:0;
    min-height:82px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 12px;
    border:1px solid #132c3e;
    border-radius:8px;
    background:
        radial-gradient(circle at 18% 30%,rgba(22,132,255,.055),transparent 40%),
        linear-gradient(180deg,#0a1a28 0%,#081722 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.012);
    overflow:hidden;
}

.tv-dash-metric-icon{
    flex:0 0 36px;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#0a2a42;
    color:#1f98ff;
    box-shadow:0 0 18px rgba(17,123,220,.11);
}

.tv-dash-metric-icon svg{
    width:19px;
    height:19px;
}

.tv-tone-green .tv-dash-metric-icon{
    color:#0fe0ad;
    background:#07392f;
    box-shadow:0 0 20px rgba(0,215,162,.12);
}

.tv-tone-cyan .tv-dash-metric-icon{
    color:#42d9ca;
    background:#0b363b;
}

.tv-tone-neutral .tv-dash-metric-icon{
    color:#d2dde5;
    background:#273540;
}

.tv-dash-metric-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.tv-dash-metric-label{
    margin-bottom:5px;
    color:#7f98ac;
    font-size:8px;
    line-height:1;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.2px;
    white-space:nowrap;
}

.tv-dash-metric-value{
    display:block;
    color:#f5f8fb;
    font-size:16px;
    line-height:1.05;
    font-weight:760;
    letter-spacing:-.3px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.tv-dash-metric-foot{
    min-height:11px;
    margin-top:5px;
    color:#63829a;
    font-size:8px;
    line-height:1.1;
    font-weight:600;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.tv-dashboard-v2 .is-positive{
    color:#08dba6 !important;
}

.tv-dashboard-v2 .is-negative{
    color:#ff5362 !important;
}

.tv-dashboard-v2 .is-neutral{
    color:#718da2 !important;
}

.tv-dash-main-grid{
    display:grid;
    grid-template-columns:minmax(0,1.9fr) minmax(315px,.98fr);
    grid-template-areas:
        "performance week"
        "strategy latest";
    gap:10px;
    align-items:stretch;
}

.tv-dash-panel{
    min-width:0;
    position:relative;
    border:1px solid #132c3e;
    border-radius:8px;
    background:linear-gradient(180deg,#091925 0%,#071620 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.012);
    overflow:hidden;
}

.tv-dash-performance-panel{
    grid-area:performance;
    min-height:264px;
    padding:13px 14px 8px;
}

.tv-week-panel{
    grid-area:week;
    min-height:264px;
    padding:13px 14px 11px;
}

.tv-strategy-panel{
    grid-area:strategy;
    min-height:226px;
    padding:13px 14px 12px;
}

.tv-latest-panel{
    grid-area:latest;
    min-height:226px;
    display:flex;
    flex-direction:column;
    padding:13px 0 0;
}

.tv-panel-heading{
    min-height:25px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}

.tv-panel-heading h2{
    margin:0;
    color:#dce7ef;
    font-size:10px;
    line-height:1.2;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.08px;
}

.tv-panel-title-line{
    display:flex;
    align-items:center;
    gap:5px;
}

.tv-info-dot{
    width:12px;
    height:12px;
    display:grid;
    place-items:center;
    border:1px solid #3f596c;
    border-radius:50%;
    color:#678398;
    font-size:7px;
    font-weight:800;
}

.tv-panel-heading-performance{
    align-items:flex-start;
}

.tv-range-tabs{
    display:flex;
    gap:4px;
    margin-top:9px;
}

.tv-range-tabs button{
    height:22px;
    min-width:32px;
    padding:0 8px;
    border:1px solid transparent;
    border-radius:5px;
    background:#0c202f;
    color:#607c91;
    font-size:8px;
    font-weight:700;
    text-transform:uppercase;
    cursor:pointer;
    transition:.15s ease;
}

.tv-range-tabs button:hover{
    color:#9eb6c8;
    background:#10283a;
}

.tv-range-tabs button.active{
    border-color:#1d4a68;
    background:#123653;
    color:#73b8ed;
}

.tv-chart-unit{
    height:23px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 8px;
    border:1px solid #142e40;
    border-radius:5px;
    background:#091824;
    color:#7890a4;
    font-size:8px;
    white-space:nowrap;
}

.tv-chart-unit span{
    color:#476679;
    font-size:10px;
}

.tv-balance-chart-wrap{
    position:relative;
    width:100%;
    height:195px;
}

.tv-week-heading{
    align-items:center;
    padding-bottom:8px;
    border-bottom:1px solid rgba(81,120,147,.1);
}

.tv-week-heading span{
    color:#6d879a;
    font-size:8px;
}

.tv-week-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin:10px 0 8px;
}

.tv-week-stats > div{
    min-width:0;
}

.tv-week-stats span{
    display:block;
    margin-bottom:5px;
    color:#698499;
    font-size:7px;
    line-height:1.1;
    font-weight:650;
    text-transform:uppercase;
}

.tv-week-stats strong{
    display:block;
    color:#e7eef3;
    font-size:11px;
    line-height:1.1;
    font-weight:750;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.tv-week-bars{
    height:142px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    align-items:end;
    gap:13px;
    padding:8px 4px 0;
    border-bottom:1px solid rgba(90,128,153,.11);
}

.tv-week-bar-item{
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
}

.tv-week-bar-track{
    width:100%;
    flex:1;
    display:flex;
    align-items:flex-end;
    justify-content:center;
}

.tv-week-bar{
    width:min(30px,72%);
    min-height:4px;
    border-radius:2px 2px 0 0;
    background:linear-gradient(180deg,#0bd5a0,#00a97e);
    box-shadow:0 0 13px rgba(0,211,159,.09);
}

.tv-week-bar.negative{
    background:linear-gradient(180deg,#ff6670,#e54853);
    box-shadow:0 0 11px rgba(255,77,90,.08);
}

.tv-week-bar.neutral{
    background:#1e3a4b;
    box-shadow:none;
}

.tv-week-bar-item > span{
    color:#6d8598;
    font-size:7px;
    font-weight:700;
}

.tv-strategy-content{
    height:177px;
    display:grid;
    grid-template-columns:210px minmax(0,1fr);
    gap:20px;
    align-items:center;
}

.tv-strategy-donut-wrap{
    position:relative;
    height:170px;
    display:grid;
    place-items:center;
}

.tv-strategy-donut-wrap canvas{
    width:152px !important;
    height:152px !important;
}

.tv-donut-center{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    pointer-events:none;
}

.tv-donut-center strong{
    color:#eef5f8;
    font-size:17px;
    font-weight:800;
    line-height:1;
}

.tv-donut-center span{
    margin-top:4px;
    color:#5f7c91;
    font-size:7px;
    text-transform:uppercase;
}

.tv-strategy-table-wrap{
    min-width:0;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.tv-strategy-table-head,
.tv-strategy-row,
.tv-strategy-total-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 120px;
    align-items:center;
    gap:10px;
}

.tv-strategy-table-head{
    padding:0 0 7px;
    color:#627e93;
    font-size:8px;
    font-weight:700;
    text-transform:uppercase;
}

.tv-strategy-table-head span:last-child{
    text-align:right;
}

.tv-strategy-row{
    min-height:25px;
    border-top:1px solid rgba(78,115,142,.08);
}

.tv-strategy-name{
    min-width:0;
    display:flex;
    align-items:center;
    gap:7px;
    color:#9cb0c0;
    font-size:10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.tv-strategy-name small{
    flex:0 0 auto;
    min-width:17px;
    height:15px;
    display:grid;
    place-items:center;
    padding:0 4px;
    border-radius:4px;
    background:#0f2737;
    color:#55768d;
    font-size:7px;
}

.tv-strategy-dot{
    flex:0 0 7px;
    width:7px;
    height:7px;
    border-radius:2px;
    background:#0f8de8;
    box-shadow:0 0 6px rgba(15,141,232,.23);
}

.tv-strategy-dot.c2{background:#236bc1;}
.tv-strategy-dot.c3{background:#13caa4;}
.tv-strategy-dot.c4{background:#36a8ba;}
.tv-strategy-dot.c5{background:#ef5a5a;}

.tv-strategy-row strong{
    color:#90a8b8;
    font-size:10px;
    text-align:right;
    white-space:nowrap;
}

.tv-strategy-total-row{
    min-height:29px;
    margin-top:2px;
    padding-top:5px;
    border-top:1px solid #173245;
}

.tv-strategy-total-row span{
    color:#859aac;
    font-size:10px;
    font-weight:750;
    text-transform:uppercase;
}

.tv-strategy-total-row strong{
    color:#08dba6;
    font-size:12px;
    text-align:right;
}

.tv-empty-state{
    padding:20px 0;
    color:#5c788d;
    font-size:9px;
}

.tv-latest-panel .tv-panel-heading{
    padding:0 14px;
    margin-bottom:5px;
}

.tv-latest-table-wrap{
    flex:1;
    min-height:0;
    overflow:hidden;
}

.tv-latest-table{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
}

.tv-latest-table th{
    height:25px;
    padding:0 8px;
    border-bottom:1px solid rgba(76,112,138,.12);
    color:#5d788e;
    font-size:6.5px;
    line-height:1;
    font-weight:700;
    text-align:left;
    text-transform:uppercase;
    white-space:nowrap;
}

.tv-latest-table td{
    height:27px;
    padding:0 8px;
    border-bottom:1px solid rgba(77,113,138,.075);
    color:#879faf;
    font-size:8px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.tv-latest-table td strong{
    color:#d6e1e8;
    font-weight:700;
}

.tv-latest-table th:nth-child(1),
.tv-latest-table td:nth-child(1){width:15%;}
.tv-latest-table th:nth-child(2),
.tv-latest-table td:nth-child(2){width:24%;}
.tv-latest-table th:nth-child(3),
.tv-latest-table td:nth-child(3){width:15%;}
.tv-latest-table th:nth-child(4),
.tv-latest-table td:nth-child(4){width:17%;}
.tv-latest-table th:nth-child(5),
.tv-latest-table td:nth-child(5){width:16%;}
.tv-latest-table th:nth-child(6),
.tv-latest-table td:nth-child(6){width:13%;}

.tv-result-badge{
    font-size:7px;
    font-weight:800;
    text-transform:uppercase;
}

.tv-result-badge.win{color:#08dba6;}
.tv-result-badge.loss{color:#ff5362;}
.tv-result-badge.draw{color:#d3a74a;}

.tv-latest-empty{
    height:112px !important;
    text-align:center;
    color:#587489 !important;
}

.tv-view-all-button{
    flex:0 0 30px;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    border:0;
    border-top:1px solid #143044;
    border-radius:0;
    background:#0d2231;
    color:#91a8b8;
    font-size:8px;
    font-weight:650;
    cursor:pointer;
    transition:.15s ease;
}

.tv-view-all-button:hover{
    background:#102a3c;
    color:#d0dde5;
}

@media(max-width:1280px){
    .tv-dash-metrics{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .tv-dash-main-grid{
        grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);
    }

    .tv-strategy-content{
        grid-template-columns:175px minmax(0,1fr);
        gap:12px;
    }
}

@media(max-width:980px){
    .tv-dash-main-grid{
        grid-template-columns:1fr;
        grid-template-areas:
            "performance"
            "week"
            "strategy"
            "latest";
    }

    .tv-dash-performance-panel,
    .tv-week-panel,
    .tv-strategy-panel,
    .tv-latest-panel{
        min-height:260px;
    }
}

@media(max-width:700px){
    .tv-dash-metrics{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .tv-strategy-content{
        height:auto;
        grid-template-columns:1fr;
    }

    .tv-strategy-donut-wrap{
        height:160px;
    }

    .tv-latest-table th:nth-child(2),
    .tv-latest-table td:nth-child(2),
    .tv-latest-table th:nth-child(4),
    .tv-latest-table td:nth-child(4){
        display:none;
    }
}

@media(max-width:470px){
    .tv-dash-metrics{
        grid-template-columns:1fr;
    }
}


/* ==========================================================
   TRADER VITA — DASHBOARD V3
   - Estratégias por WINRATE (não por quantidade)
   - Paleta neon fixa de 12 cores
   - Legibilidade ampliada
========================================================== */

/* Cards superiores: um pouco mais altos e tipografia mais legível */
.tv-dash-metrics{
    gap:10px;
    margin-bottom:12px;
}

.tv-dash-metric{
    min-height:96px;
    gap:11px;
    padding:14px 13px;
}

.tv-dash-metric-icon{
    flex-basis:39px;
    width:39px;
    height:39px;
}

.tv-dash-metric-icon svg{
    width:20px;
    height:20px;
}

.tv-dash-metric-label{
    margin-bottom:6px;
    font-size:9.5px;
    letter-spacing:.25px;
}

.tv-dash-metric-value{
    font-size:19px;
    line-height:1.08;
}

.tv-dash-metric-foot{
    min-height:13px;
    margin-top:6px;
    font-size:9.5px;
}

/* Painéis principais */
.tv-dash-main-grid{
    gap:12px;
}

.tv-dash-performance-panel,
.tv-week-panel{
    min-height:300px;
}

.tv-dash-performance-panel{
    padding:15px 16px 10px;
}

.tv-week-panel{
    padding:15px 16px 13px;
}

.tv-strategy-panel,
.tv-latest-panel{
    min-height:310px;
}

.tv-strategy-panel{
    padding:15px 16px 14px;
}

.tv-latest-panel{
    padding-top:15px;
}

.tv-panel-heading{
    min-height:29px;
    margin-bottom:10px;
}

.tv-panel-heading h2{
    font-size:12px;
    letter-spacing:.1px;
}

.tv-strategy-heading p{
    margin:5px 0 0;
    color:#718da2;
    font-size:9.5px;
    line-height:1.2;
}

.tv-info-dot{
    width:14px;
    height:14px;
    font-size:8px;
}

.tv-range-tabs{
    gap:5px;
    margin-top:10px;
}

.tv-range-tabs button{
    height:25px;
    min-width:36px;
    padding:0 9px;
    font-size:9px;
}

.tv-chart-unit{
    height:26px;
    padding:0 9px;
    font-size:9px;
}

.tv-balance-chart-wrap{
    height:220px;
}

.tv-week-heading span{
    font-size:9px;
}

.tv-week-stats{
    margin:12px 0 9px;
}

.tv-week-stats span{
    margin-bottom:6px;
    font-size:8.5px;
}

.tv-week-stats strong{
    font-size:13px;
}

.tv-week-bars{
    height:163px;
}

.tv-week-bar-item > span{
    font-size:8.5px;
}

/* Estratégias: ranking horizontal real de winrate */
.tv-strategy-winrate-content{
    height:244px;
    grid-template-columns:minmax(300px,.92fr) minmax(300px,1.08fr);
    gap:24px;
    align-items:stretch;
}

.tv-strategy-chart-wrap{
    position:relative;
    min-width:0;
    height:244px;
    padding:3px 0 0;
}

.tv-strategy-chart-wrap canvas{
    width:100% !important;
    height:100% !important;
}

.tv-strategy-table-wrap{
    justify-content:flex-start;
    padding-top:2px;
    overflow:hidden;
}

.tv-strategy-table-head,
.tv-strategy-row,
.tv-strategy-total-row{
    grid-template-columns:minmax(0,1fr) 150px;
    gap:12px;
}

.tv-strategy-table-head{
    padding-bottom:8px;
    font-size:9.5px;
}

.tv-strategy-row{
    min-height:27px;
}

.tv-strategy-name{
    gap:8px;
    font-size:11px;
}

.tv-strategy-name-text{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
}

.tv-strategy-name small{
    min-width:28px;
    height:17px;
    padding:0 5px;
    font-size:8px;
}

.tv-strategy-dot{
    flex:0 0 8px;
    width:8px;
    height:8px;
    border-radius:2px;
    background:var(--strategy-color,#9B5CFF);
    box-shadow:0 0 8px color-mix(in srgb,var(--strategy-color,#9B5CFF) 58%,transparent);
}

.tv-strategy-rate{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    color:#eaf2f7 !important;
    font-size:11px !important;
    text-align:right;
}

.tv-strategy-rate small{
    min-width:48px;
    color:#6f899d;
    font-size:8.5px;
    font-weight:650;
}

.tv-strategy-total-row{
    min-height:32px;
    padding-top:7px;
}

.tv-strategy-total-row span{
    font-size:10px;
}

.tv-strategy-total-row strong{
    color:#39FF88;
    font-size:13px;
}

.tv-empty-state{
    font-size:10.5px;
}

/* Últimas operações */
.tv-latest-panel .tv-panel-heading{
    padding:0 16px;
    margin-bottom:7px;
}

.tv-latest-table th{
    height:29px;
    padding:0 9px;
    font-size:7.8px;
}

.tv-latest-table td{
    height:31px;
    padding:0 9px;
    font-size:9.5px;
}

.tv-result-badge{
    font-size:8.5px;
}

.tv-view-all-button{
    flex-basis:35px;
    font-size:9px;
}

@media(max-width:1280px){
    .tv-strategy-winrate-content{
        grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr);
        gap:16px;
    }
}

@media(max-width:980px){
    .tv-strategy-winrate-content{
        height:auto;
        grid-template-columns:1fr;
    }

    .tv-strategy-chart-wrap{
        height:250px;
    }

    .tv-strategy-panel,
    .tv-latest-panel{
        min-height:330px;
    }
}

/* =========================================================
   TRADER VITA — ANÁLISES V2
   Painel compacto de inteligência operacional
   ========================================================= */

.tv-analytics-v2{
    --an-bg:#07131f;
    --an-card:#0b1b2b;
    --an-card-2:#0d2032;
    --an-border:#173550;
    --an-border-soft:rgba(80,146,193,.18);
    --an-text:#f7fbff;
    --an-muted:#83a9c6;
    --an-muted-2:#5f86a3;
    --an-green:#00f5a0;
    --an-red:#ff4655;
    --an-yellow:#ffe600;
    --an-blue:#27a8ff;
    --an-violet:#a855f7;
    --an-cyan:#00e5ff;

    width:100%;
    padding:18px 18px 30px;
    color:var(--an-text);
}

.tv-an-header{
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:14px;
}

.tv-an-kicker,
.tv-an-eyebrow,
.tv-an-section-title > div > span,
.tv-an-health-analysis > span{
    display:block;
    color:#58b9ef;
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.tv-an-header h1{
    margin:3px 0 4px;
    color:#fff;
    font-size:28px;
    line-height:1.08;
    letter-spacing:-.025em;
}

.tv-an-header p{
    margin:0;
    color:#8fb8d5;
    font-size:13px;
    line-height:1.4;
}

.tv-an-history-badge{
    flex:0 0 auto;
    min-width:178px;
    padding:10px 14px;
    border:1px solid rgba(0,245,160,.18);
    border-radius:12px;
    background:linear-gradient(135deg,rgba(0,245,160,.07),rgba(39,168,255,.04));
    text-align:right;
}

.tv-an-history-badge span{
    display:block;
    color:#6f98b6;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.tv-an-history-badge strong{
    display:block;
    margin-top:2px;
    color:#dfffee;
    font-size:15px;
}

.tv-an-metrics-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:12px;
}

.tv-an-metric,
.tv-an-best-card,
.tv-an-recommendation,
.tv-an-health-card,
.tv-an-result-card,
.tv-an-ranking-card{
    position:relative;
    overflow:hidden;
    border:1px solid var(--an-border-soft);
    border-radius:14px;
    background:linear-gradient(145deg,#0a1b2a 0%,#0a1927 100%);
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.tv-an-metric{
    min-height:108px;
    padding:16px;
    display:flex;
    align-items:center;
    gap:13px;
}

.tv-an-metric::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:2px;
    opacity:.85;
    background:var(--metric-accent,#27a8ff);
}

.tv-an-tone-blue{--metric-accent:#27a8ff}
.tv-an-tone-green{--metric-accent:#00f5a0}
.tv-an-tone-red{--metric-accent:#ff4655}
.tv-an-tone-yellow{--metric-accent:#ffe600}

.tv-an-metric-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--metric-accent) 35%,transparent);
    border-radius:11px;
    background:color-mix(in srgb,var(--metric-accent) 10%,transparent);
    color:var(--metric-accent);
    font-size:13px;
    font-weight:900;
    box-shadow:0 0 18px color-mix(in srgb,var(--metric-accent) 9%,transparent);
}

.tv-an-metric-copy{
    min-width:0;
}

.tv-an-metric-copy > span{
    display:block;
    color:#75a1bf;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.tv-an-metric-copy > strong{
    display:block;
    margin:2px 0 2px;
    color:#fff;
    font-size:22px;
    line-height:1.08;
    letter-spacing:-.025em;
}

.tv-an-tone-green .tv-an-metric-copy > strong{color:#00f5a0}
.tv-an-tone-red .tv-an-metric-copy > strong{color:#ff5d69}
.tv-an-tone-yellow .tv-an-metric-copy > strong{color:#ffeb46}

.tv-an-metric-copy > small{
    display:block;
    color:#7ea3be;
    font-size:10.5px;
    line-height:1.3;
}

.tv-an-intelligence-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1.25fr;
    gap:12px;
    margin-bottom:12px;
}

.tv-an-best-card,
.tv-an-recommendation{
    min-height:172px;
    padding:16px 17px;
}

.tv-an-card-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}

.tv-an-best-icon,
.tv-an-rec-icon{
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:rgba(39,168,255,.1);
    border:1px solid rgba(39,168,255,.16);
    color:#63c7ff;
    font-size:15px;
}

.tv-an-rec-icon{
    background:rgba(168,85,247,.12);
    border-color:rgba(168,85,247,.22);
    color:#c17aff;
}

.tv-an-best-card h2,
.tv-an-rec-empty h2{
    margin:0;
    color:#fff;
    font-size:20px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.tv-an-best-main{
    display:flex;
    align-items:flex-end;
    gap:8px;
    margin-top:10px;
}

.tv-an-best-main strong{
    color:#00f5a0;
    font-size:29px;
    line-height:1;
}

.tv-an-best-main span{
    margin-bottom:3px;
    color:#6d97b5;
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
}

.tv-an-best-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:13px;
}

.tv-an-best-meta span,
.tv-an-rec-meta span,
.tv-an-sample-label{
    padding:5px 8px;
    border:1px solid rgba(94,145,182,.15);
    border-radius:7px;
    background:rgba(255,255,255,.022);
    color:#85abc6;
    font-size:10px;
}

.tv-an-best-meta .positive,
.tv-an-rank-foot .positive{color:#00f5a0}
.tv-an-best-meta .negative,
.tv-an-rank-foot .negative{color:#ff5d69}

.tv-an-empty-copy,
.tv-an-rec-empty p{
    margin:10px 0 0;
    color:#779db9;
    font-size:12px;
    line-height:1.45;
}

.tv-an-rec-pair{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:9px;
    margin-top:3px;
}

.tv-an-rec-pair > div{
    min-width:0;
    padding:9px 10px;
    border:1px solid rgba(75,135,180,.16);
    border-radius:9px;
    background:rgba(255,255,255,.02);
}

.tv-an-rec-pair span{
    display:block;
    color:#638aa8;
    font-size:9px;
    text-transform:uppercase;
}

.tv-an-rec-pair strong{
    display:block;
    margin-top:2px;
    overflow:hidden;
    color:#fff;
    font-size:13px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tv-an-rec-arrow{
    color:#00f5a0 !important;
    font-size:17px !important;
}

.tv-an-rec-copy{
    margin:9px 0 8px;
    color:#90b1c8;
    font-size:11px;
    line-height:1.35;
}

.tv-an-rec-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.tv-an-rec-meta b{color:#fff}
.tv-an-sample-label{
    display:inline-block;
    margin-top:7px;
    border-color:rgba(0,245,160,.15);
    color:#79dcb8;
}

.tv-an-health-grid{
    display:grid;
    grid-template-columns:minmax(0,1.75fr) minmax(320px,.8fr);
    gap:12px;
    margin-bottom:12px;
}

.tv-an-health-card{
    min-height:225px;
    padding:17px;
    display:grid;
    grid-template-columns:310px minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:14px 18px;
    --health-accent:#27a8ff;
}

.tv-health-attention{--health-accent:#ff4655}
.tv-health-reasonable{--health-accent:#ffe600}
.tv-health-good{--health-accent:#00e5ff}
.tv-health-great{--health-accent:#00f5a0}
.tv-health-perfect{--health-accent:#a855f7}
.tv-health-neutral{--health-accent:#6f93ad}

.tv-an-health-card::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    background:var(--health-accent);
    box-shadow:0 0 14px color-mix(in srgb,var(--health-accent) 50%,transparent);
}

.tv-an-health-score-wrap{
    display:flex;
    align-items:center;
    gap:16px;
}

.tv-an-score-ring{
    flex:0 0 94px;
    width:94px;
    height:94px;
    padding:7px;
    border-radius:50%;
    background:conic-gradient(var(--health-accent) calc(var(--score) * 1%),rgba(90,134,165,.14) 0);
    box-shadow:0 0 22px color-mix(in srgb,var(--health-accent) 10%,transparent);
}

.tv-an-score-ring > div{
    width:100%;
    height:100%;
    display:flex;
    align-items:baseline;
    justify-content:center;
    padding-top:29px;
    border-radius:50%;
    background:#091826;
}

.tv-an-score-ring strong{
    color:#fff;
    font-size:25px;
    line-height:1;
}

.tv-an-score-ring span{
    color:#7196b1;
    font-size:10px;
}

.tv-an-health-heading span{
    display:block;
    color:#6b91ae;
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
}

.tv-an-health-heading h2{
    margin:2px 0 4px;
    color:var(--health-accent);
    font-size:24px;
}

.tv-an-health-heading p{
    margin:0;
    color:#759bb7;
    font-size:10.5px;
    line-height:1.35;
}

.tv-an-health-analysis{
    padding:13px 14px;
    border:1px solid rgba(92,145,183,.15);
    border-radius:10px;
    background:rgba(255,255,255,.018);
}

.tv-an-health-analysis p{
    margin:5px 0 0;
    color:#bad0df;
    font-size:12px;
    line-height:1.5;
}

.tv-an-health-stats{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid rgba(91,144,181,.13);
    padding-top:12px;
}

.tv-an-health-stats > div{
    padding:0 13px;
    border-right:1px solid rgba(91,144,181,.12);
}

.tv-an-health-stats > div:first-child{padding-left:0}
.tv-an-health-stats > div:last-child{border-right:0}

.tv-an-health-stats span{
    display:block;
    color:#668ca8;
    font-size:9px;
    text-transform:uppercase;
}

.tv-an-health-stats strong{
    display:block;
    margin-top:2px;
    color:#fff;
    font-size:16px;
}

.tv-an-result-card{
    padding:17px;
}

.tv-an-section-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:15px;
    margin-bottom:14px;
}

.tv-an-section-title h2{
    margin:2px 0 0;
    color:#fff;
    font-size:17px;
}

.tv-an-section-title p{
    margin:3px 0 0;
    color:#6f96b2;
    font-size:10.5px;
}

.tv-an-result-stack{
    display:grid;
    gap:11px;
}

.tv-an-result-row-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:4px;
}

.tv-an-result-row-head span{
    color:#8aadc5;
    font-size:10px;
    font-weight:800;
}

.tv-an-result-row-head strong{
    color:#fff;
    font-size:14px;
}

.tv-an-result-track{
    width:100%;
    height:6px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(89,137,171,.13);
}

.tv-an-result-track span{
    display:block;
    height:100%;
    border-radius:inherit;
}

.tv-result-win .tv-an-result-track span{background:#00f5a0;box-shadow:0 0 10px rgba(0,245,160,.3)}
.tv-result-loss .tv-an-result-track span{background:#ff4655;box-shadow:0 0 10px rgba(255,70,85,.25)}
.tv-result-draw .tv-an-result-track span{background:#a8bed0}

.tv-an-result-row small{
    display:block;
    margin-top:3px;
    color:#587e9a;
    font-size:9px;
}

.tv-an-result-footer{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:15px;
    padding-top:12px;
    border-top:1px solid rgba(91,144,181,.13);
}

.tv-an-result-footer span{
    display:block;
    color:#638aa6;
    font-size:9px;
    text-transform:uppercase;
}

.tv-an-result-footer strong{
    display:block;
    margin-top:2px;
    font-size:14px;
}

.tv-an-result-footer .positive{color:#00f5a0}
.tv-an-result-footer .negative{color:#ff5d69}

.tv-an-rankings-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.tv-an-ranking-card{
    padding:17px;
    min-height:310px;
}

.tv-an-ranking-list{
    display:grid;
    gap:7px;
}

.tv-an-ranking-row{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:9px;
    padding:8px 9px;
    border:1px solid rgba(73,128,169,.11);
    border-radius:9px;
    background:rgba(255,255,255,.015);
}

.tv-an-rank-position{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:7px;
    background:#10263a;
    color:#729bb8;
    font-size:9px;
    font-weight:900;
}

.tv-an-rank-head,
.tv-an-rank-head > div,
.tv-an-rank-foot{
    display:flex;
    align-items:center;
}

.tv-an-rank-head{
    justify-content:space-between;
    gap:12px;
}

.tv-an-rank-head > div:first-child{
    min-width:0;
    gap:7px;
}

.tv-an-rank-head > div:last-child{
    gap:8px;
    flex:0 0 auto;
}

.tv-an-rank-dot{
    flex:0 0 7px;
    width:7px;
    height:7px;
    border-radius:50%;
}

.tv-an-rank-head strong{
    overflow:hidden;
    color:#dceaf4;
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tv-an-rank-head b{
    color:#fff;
    font-size:11px;
}

.tv-an-rank-head > div:last-child span{
    color:#678eaa;
    font-size:9px;
}

.tv-an-rank-track{
    width:100%;
    height:4px;
    overflow:hidden;
    margin:5px 0 4px;
    border-radius:999px;
    background:rgba(78,129,164,.12);
}

.tv-an-rank-track span{
    display:block;
    height:100%;
    border-radius:inherit;
}

.tv-an-rank-foot{
    justify-content:space-between;
    gap:8px;
    color:#6287a2;
    font-size:8.5px;
}

.tv-an-ranking-empty{
    min-height:150px;
    display:grid;
    place-items:center;
    padding:20px;
    color:#638aa6;
    font-size:11px;
    text-align:center;
}

@media (max-width:1280px){
    .tv-an-metrics-grid{grid-template-columns:repeat(2,1fr)}
    .tv-an-intelligence-grid{grid-template-columns:1fr 1fr}
    .tv-an-recommendation{grid-column:1 / -1}
    .tv-an-health-grid{grid-template-columns:1fr}
}

@media (max-width:900px){
    .tv-analytics-v2{padding:14px 12px 24px}
    .tv-an-header{align-items:flex-start;flex-direction:column}
    .tv-an-history-badge{width:100%;text-align:left}
    .tv-an-intelligence-grid,
    .tv-an-rankings-grid{grid-template-columns:1fr}
    .tv-an-health-card{grid-template-columns:1fr}
    .tv-an-health-stats{grid-column:auto;grid-template-columns:1fr 1fr;gap:12px}
    .tv-an-health-stats > div{border-right:0;padding:0}
}

@media (max-width:620px){
    .tv-an-metrics-grid{grid-template-columns:1fr}
    .tv-an-metric{min-height:92px}
    .tv-an-health-score-wrap{align-items:flex-start}
    .tv-an-health-stats{grid-template-columns:1fr}
    .tv-an-rec-pair{grid-template-columns:1fr}
    .tv-an-rec-arrow{transform:rotate(90deg);justify-self:center}
}

/* =========================================================
   TRADER VITA — ANÁLISES V2.1
   Refinamento de legibilidade para monitores Full HD / 2K+
   Mantém o layout V2 e aumenta somente escala visual.
   ========================================================= */

/* Cabeçalho */
.tv-an-kicker,
.tv-an-eyebrow,
.tv-an-section-title > div > span,
.tv-an-health-analysis > span{
    font-size:11.5px;
    letter-spacing:.105em;
}

.tv-an-header h1{
    font-size:31px;
}

.tv-an-header p{
    font-size:14.5px;
}

.tv-an-history-badge{
    min-width:190px;
    padding:12px 16px;
}

.tv-an-history-badge span{
    font-size:11px;
}

.tv-an-history-badge strong{
    font-size:16.5px;
}

/* Indicadores principais */
.tv-an-metric{
    min-height:120px;
    padding:18px;
    gap:15px;
}

.tv-an-metric-icon{
    flex-basis:46px;
    width:46px;
    height:46px;
    font-size:15px;
}

.tv-an-metric-copy > span{
    font-size:11.5px;
}

.tv-an-metric-copy > strong{
    margin:4px 0 3px;
    font-size:25px;
}

.tv-an-metric-copy > small{
    font-size:12px;
    line-height:1.4;
}

/* Melhor estratégia / ativo / recomendação */
.tv-an-best-card,
.tv-an-recommendation{
    min-height:188px;
    padding:18px 19px;
}

.tv-an-best-card h2,
.tv-an-rec-empty h2{
    font-size:22px;
}

.tv-an-best-main strong{
    font-size:32px;
}

.tv-an-best-main span{
    font-size:10.5px;
}

.tv-an-best-meta span,
.tv-an-rec-meta span,
.tv-an-sample-label{
    font-size:11px;
    padding:6px 9px;
}

.tv-an-empty-copy,
.tv-an-rec-empty p{
    font-size:13px;
}

.tv-an-rec-pair > div{
    padding:11px 12px;
}

.tv-an-rec-pair span{
    font-size:10px;
}

.tv-an-rec-pair strong{
    font-size:15px;
}

.tv-an-rec-copy{
    font-size:12.5px;
    line-height:1.45;
}

/* Saúde operacional */
.tv-an-health-card{
    min-height:250px;
    padding:19px;
    grid-template-columns:330px minmax(0,1fr);
    gap:16px 20px;
}

.tv-an-score-ring{
    flex-basis:102px;
    width:102px;
    height:102px;
}

.tv-an-score-ring > div{
    padding-top:31px;
}

.tv-an-score-ring strong{
    font-size:28px;
}

.tv-an-score-ring span{
    font-size:11px;
}

.tv-an-health-heading span{
    font-size:10.5px;
}

.tv-an-health-heading h2{
    font-size:27px;
}

.tv-an-health-heading p{
    font-size:12px;
    line-height:1.45;
}

.tv-an-health-analysis{
    padding:15px 16px;
}

.tv-an-health-analysis p{
    font-size:13.5px;
    line-height:1.55;
}

.tv-an-health-stats{
    padding-top:14px;
}

.tv-an-health-stats span{
    font-size:10.5px;
}

.tv-an-health-stats strong{
    font-size:18px;
}

/* Distribuição / resultados */
.tv-an-result-card{
    padding:19px;
}

.tv-an-section-title h2{
    font-size:19px;
}

.tv-an-section-title p{
    font-size:12px;
    line-height:1.4;
}

.tv-an-result-row-head span{
    font-size:11px;
}

.tv-an-result-row-head strong{
    font-size:15.5px;
}

.tv-an-result-track{
    height:7px;
}

.tv-an-result-row small{
    font-size:10.5px;
}

.tv-an-result-footer span{
    font-size:10px;
}

.tv-an-result-footer strong{
    font-size:15.5px;
}

/* Rankings */
.tv-an-ranking-card{
    padding:19px;
    min-height:335px;
}

.tv-an-ranking-list{
    gap:9px;
}

.tv-an-ranking-row{
    grid-template-columns:34px minmax(0,1fr);
    gap:11px;
    padding:10px 11px;
}

.tv-an-rank-position{
    width:32px;
    height:32px;
    font-size:10.5px;
}

.tv-an-rank-dot{
    flex-basis:8px;
    width:8px;
    height:8px;
}

.tv-an-rank-head strong{
    font-size:12.5px;
}

.tv-an-rank-head b{
    font-size:12.5px;
}

.tv-an-rank-head > div:last-child span{
    font-size:10px;
}

.tv-an-rank-track{
    height:5px;
    margin:6px 0 5px;
}

.tv-an-rank-foot{
    font-size:10px;
}

.tv-an-ranking-empty{
    font-size:12.5px;
}

/* Um pouco mais de respiro entre blocos */
.tv-an-metrics-grid,
.tv-an-intelligence-grid,
.tv-an-health-grid{
    margin-bottom:14px;
}

@media (min-width:1600px){
    .tv-analytics-v2{
        padding:22px 22px 34px;
    }

    .tv-an-header{
        min-height:80px;
        margin-bottom:16px;
    }

    .tv-an-metrics-grid,
    .tv-an-intelligence-grid,
    .tv-an-health-grid,
    .tv-an-rankings-grid{
        gap:14px;
    }
}

/* =========================================================
   TRADER VITA — OPERAÇÕES V2
   Histórico + análise diária
   ========================================================= */

.tv-ops-v2{
    display:flex;
    flex-direction:column;
    gap:18px;
    width:100%;
    padding:2px 0 24px;
}

.tv-ops-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
}

.tv-ops-kicker{
    display:block;
    color:#58c8ff;
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin-bottom:4px;
}

.tv-ops-header h1{
    margin:0;
    color:#f7fbff;
    font-size:30px;
    line-height:1.05;
    letter-spacing:-.035em;
}

.tv-ops-header p{
    margin:8px 0 0;
    color:#8eb3d0;
    font-size:14px;
}

.tv-ops-header-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.tv-ops-reset-btn,
.tv-ops-analyze-btn,
.tv-ops-clear-btn{
    min-height:42px;
    padding:0 16px;
    border-radius:9px;
    font-size:13px;
    font-weight:750;
    cursor:pointer;
    transition:.18s ease;
}

.tv-ops-reset-btn{
    border:1px solid rgba(255,69,91,.35);
    color:#ff6477;
    background:rgba(255,45,72,.075);
}

.tv-ops-reset-btn:hover{
    background:rgba(255,45,72,.13);
    border-color:rgba(255,69,91,.55);
}

.tv-ops-analyze-btn{
    border:1px solid rgba(35,133,255,.45);
    color:#f5fbff;
    background:linear-gradient(180deg,#2385ff,#176de0);
    box-shadow:0 8px 24px rgba(20,111,232,.15);
}

.tv-ops-analyze-btn:hover{
    transform:translateY(-1px);
    filter:brightness(1.06);
}

.tv-ops-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.tv-ops-metric{
    position:relative;
    min-height:112px;
    display:flex;
    align-items:center;
    gap:15px;
    padding:18px 20px;
    background:linear-gradient(145deg,rgba(10,31,48,.96),rgba(8,25,40,.96));
    border:1px solid rgba(65,119,157,.26);
    border-radius:12px;
    overflow:hidden;
}

.tv-ops-metric::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    opacity:.9;
}

.tv-ops-tone-blue::after{background:#2ba6ff;}
.tv-ops-tone-green::after{background:#00e6aa;}
.tv-ops-tone-yellow::after{background:#f2e72f;}
.tv-ops-tone-red::after{background:#ff4158;}

.tv-ops-metric-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:0 0 42px;
    border-radius:10px;
    color:#7bd3ff;
    background:rgba(27,130,220,.13);
    border:1px solid rgba(53,161,241,.28);
    font-size:15px;
    font-weight:900;
}

.tv-ops-metric>div:last-child{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.tv-ops-metric span{
    color:#9dbbd2;
    font-size:12px;
    font-weight:650;
}

.tv-ops-metric strong{
    margin-top:2px;
    color:#f8fcff;
    font-size:26px;
    line-height:1.1;
    letter-spacing:-.025em;
}

.tv-ops-metric small{
    margin-top:5px;
    color:#6f97b5;
    font-size:11px;
}

.tv-ops-filter-card,
.tv-ops-history-card,
.tv-ops-day-analysis{
    background:linear-gradient(145deg,rgba(9,29,45,.97),rgba(7,24,38,.97));
    border:1px solid rgba(69,125,163,.27);
    border-radius:13px;
}

.tv-ops-filter-card,
.tv-ops-history-card{
    padding:18px 20px;
}

.tv-ops-section-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:18px;
    margin-bottom:14px;
}

.tv-ops-section-heading span{
    color:#58c8ff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.13em;
}

.tv-ops-section-heading h2{
    margin:2px 0 0;
    color:#f6fbff;
    font-size:18px;
}

.tv-ops-filter-summary{
    display:flex;
    align-items:baseline;
    gap:6px;
    color:#7199b7;
    font-size:11px;
}

.tv-ops-filter-summary strong{
    color:#fff;
    font-size:16px;
}

.tv-ops-filter-grid{
    display:grid;
    grid-template-columns:minmax(210px,1.25fr) minmax(155px,.7fr) minmax(150px,.8fr) minmax(170px,1fr) minmax(140px,.7fr) auto;
    gap:10px;
    align-items:end;
}

.tv-ops-field{
    display:flex;
    flex-direction:column;
    gap:6px;
    min-width:0;
}

.tv-ops-field>span{
    color:#91b3cc;
    font-size:11px;
    font-weight:650;
}

.tv-ops-field input,
.tv-ops-field select{
    width:100%;
    height:40px;
    padding:0 11px;
    border-radius:8px;
    border:1px solid rgba(63,113,151,.27);
    outline:none;
    background:#050f19;
    color:#edf8ff;
    font-size:12px;
}

.tv-ops-field input:focus,
.tv-ops-field select:focus{
    border-color:rgba(24,205,180,.55);
    box-shadow:0 0 0 3px rgba(0,214,180,.07);
}

.tv-ops-clear-btn{
    border:1px solid rgba(73,123,158,.3);
    background:rgba(14,40,58,.7);
    color:#9fc2dc;
    white-space:nowrap;
}

.tv-ops-clear-btn:hover{
    color:#fff;
    border-color:rgba(85,154,202,.55);
}

.tv-ops-table-wrap{
    overflow:auto;
    border:1px solid rgba(61,111,146,.22);
    border-radius:11px;
}

.tv-ops-table{
    width:100%;
    border-collapse:collapse;
    min-width:930px;
}

.tv-ops-table thead{
    background:rgba(19,47,67,.66);
}

.tv-ops-table th{
    padding:13px 14px;
    color:#8eb7d4;
    font-size:10px;
    font-weight:800;
    letter-spacing:.075em;
    text-transform:uppercase;
    text-align:left;
    border-bottom:1px solid rgba(64,116,152,.26);
}

.tv-ops-table td{
    padding:14px;
    color:#d8e9f5;
    font-size:12px;
    border-bottom:1px solid rgba(47,92,125,.18);
    white-space:nowrap;
}

.tv-ops-table tbody tr{
    transition:.15s ease;
}

.tv-ops-table tbody tr:hover{
    background:rgba(16,55,77,.24);
}

.tv-ops-table tbody tr:last-child td{
    border-bottom:0;
}

.tv-ops-result{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:54px;
    min-height:24px;
    padding:0 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
}

.tv-ops-result-win{
    color:#00f1b2;
    background:rgba(0,224,165,.105);
    border:1px solid rgba(0,224,165,.24);
}

.tv-ops-result-loss{
    color:#ff5b70;
    background:rgba(255,65,88,.09);
    border:1px solid rgba(255,65,88,.23);
}

.tv-ops-result-draw{
    color:#c5d9e8;
    background:rgba(148,178,199,.09);
    border:1px solid rgba(148,178,199,.2);
}

.tv-ops-delete-btn{
    height:28px;
    padding:0 10px;
    border-radius:7px;
    border:1px solid rgba(67,117,152,.28);
    color:#9ec4df;
    background:transparent;
    font-size:10px;
    cursor:pointer;
}

.tv-ops-delete-btn:hover{
    color:#ff6b7c;
    border-color:rgba(255,71,94,.35);
    background:rgba(255,54,78,.06);
}

.tv-ops-empty-row{
    padding:34px!important;
    text-align:center!important;
    color:#7298b5!important;
}

/* --- análise diária --- */
.tv-ops-day-analysis{
    position:relative;
    padding:19px 20px;
    overflow:hidden;
}

.tv-ops-day-analysis::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    background:#5c7890;
}

.tv-ops-day-great::before{background:#00f2b3; box-shadow:0 0 18px rgba(0,242,179,.5);}
.tv-ops-day-positive::before{background:#3fd6ff;}
.tv-ops-day-attention::before{background:#ff5367; box-shadow:0 0 16px rgba(255,83,103,.35);}
.tv-ops-day-neutral::before{background:#a7bccc;}

.tv-ops-day-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:18px;
    align-items:center;
    margin-bottom:15px;
}

.tv-ops-day-header h2{
    margin:1px 0 0;
    color:#f8fcff;
    font-size:23px;
    line-height:1.1;
}

.tv-ops-day-header p{
    margin:6px 0 0;
    max-width:720px;
    color:#8eb0c9;
    font-size:12px;
}

.tv-ops-day-result-pill{
    min-width:155px;
    padding:10px 13px;
    border-radius:9px;
    border:1px solid rgba(71,123,159,.25);
    background:rgba(6,20,31,.56);
    text-align:right;
}

.tv-ops-day-result-pill span{
    display:block;
    color:#7599b4;
    font-size:9px;
    font-weight:800;
    letter-spacing:.1em;
}

.tv-ops-day-result-pill strong{
    display:block;
    margin-top:2px;
    font-size:18px;
}

.tv-ops-day-close,
.tv-ops-day-empty>button{
    align-self:start;
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border:1px solid rgba(71,121,156,.28);
    border-radius:8px;
    color:#88abc3;
    background:rgba(7,21,32,.7);
    font-size:18px;
    cursor:pointer;
}

.tv-ops-day-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:9px;
}

.tv-ops-day-grid article{
    min-width:0;
    min-height:83px;
    padding:12px;
    border-radius:9px;
    border:1px solid rgba(63,111,146,.22);
    background:rgba(7,23,35,.52);
}

.tv-ops-day-grid span,
.tv-ops-day-grid small{
    display:block;
    color:#789db8;
    font-size:9px;
}

.tv-ops-day-grid strong{
    display:block;
    margin:4px 0 3px;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#f7fbff;
    font-size:16px;
    line-height:1.15;
}

.tv-ops-day-insight-grid{
    display:grid;
    grid-template-columns:1.45fr 1fr .8fr;
    gap:9px;
    margin-top:9px;
}

.tv-ops-day-message,
.tv-ops-day-discipline,
.tv-ops-day-streaks{
    border:1px solid rgba(65,114,149,.22);
    background:rgba(7,23,35,.52);
    border-radius:9px;
    padding:13px;
}

.tv-ops-day-message{
    display:flex;
    gap:11px;
}

.tv-ops-day-message-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    flex:0 0 34px;
    border-radius:9px;
    background:rgba(136,73,255,.11);
    border:1px solid rgba(166,102,255,.23);
    color:#c38aff;
}

.tv-ops-day-message span,
.tv-ops-day-discipline span,
.tv-ops-day-streaks span{
    color:#5fc9ff;
    font-size:9px;
    font-weight:800;
    letter-spacing:.09em;
}

.tv-ops-day-message p,
.tv-ops-day-discipline p{
    margin:5px 0 0;
    color:#a4bfd2;
    font-size:11px;
    line-height:1.55;
}

.tv-ops-day-discipline strong{
    display:block;
    margin-top:3px;
    color:#f7fbff;
    font-size:13px;
}

.tv-ops-day-streaks{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
}

.tv-ops-day-streaks>div{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:3px;
}

.tv-ops-day-streaks strong{
    color:#fff;
    font-size:17px;
}

.tv-ops-day-empty{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
}

.tv-ops-day-empty h2{
    margin:2px 0 4px;
    color:#fff;
    font-size:19px;
}

.tv-ops-day-empty p{
    margin:0;
    color:#89aac2;
    font-size:12px;
}

.tv-ops-v2 .positive{color:#00e8ad!important;}
.tv-ops-v2 .negative{color:#ff5367!important;}

@media (max-width:1280px){
    .tv-ops-filter-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .tv-ops-day-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .tv-ops-day-insight-grid{
        grid-template-columns:1fr 1fr;
    }

    .tv-ops-day-streaks{
        grid-column:1/-1;
    }
}

@media (max-width:820px){
    .tv-ops-header,
    .tv-ops-day-header{
        display:flex;
        flex-direction:column;
        align-items:stretch;
    }

    .tv-ops-header-actions{
        justify-content:stretch;
    }

    .tv-ops-header-actions button{
        flex:1;
    }

    .tv-ops-metrics,
    .tv-ops-filter-grid,
    .tv-ops-day-grid,
    .tv-ops-day-insight-grid{
        grid-template-columns:1fr;
    }

    .tv-ops-day-streaks{
        grid-column:auto;
        grid-template-columns:repeat(3,1fr);
    }

    .tv-ops-day-result-pill{
        text-align:left;
    }
}

/* =========================================================
   TRADER VITA — OPERAÇÕES V2.1
   Ajuste de escala tipográfica para desktop / monitores grandes
   Mantém toda a lógica e estrutura da V2.
   ========================================================= */

/* Cabeçalho */
.tv-ops-v2{
    gap:20px;
    padding-bottom:30px;
}

.tv-ops-kicker{
    font-size:12.5px;
    margin-bottom:5px;
}

.tv-ops-header h1{
    font-size:34px;
}

.tv-ops-header p{
    margin-top:9px;
    font-size:15.5px;
    line-height:1.45;
}

.tv-ops-reset-btn,
.tv-ops-analyze-btn,
.tv-ops-clear-btn{
    min-height:46px;
    padding-left:18px;
    padding-right:18px;
    font-size:14px;
}

/* Cards principais */
.tv-ops-metric{
    min-height:124px;
    gap:17px;
    padding:20px 22px;
}

.tv-ops-metric-icon{
    width:46px;
    height:46px;
    flex-basis:46px;
    font-size:17px;
}

.tv-ops-metric span{
    font-size:13.5px;
}

.tv-ops-metric strong{
    margin-top:4px;
    font-size:29px;
}

.tv-ops-metric small{
    margin-top:6px;
    font-size:12.5px;
    line-height:1.4;
}

/* Blocos gerais */
.tv-ops-filter-card,
.tv-ops-history-card{
    padding:21px 22px;
}

.tv-ops-section-heading{
    margin-bottom:16px;
}

.tv-ops-section-heading span{
    font-size:11.5px;
}

.tv-ops-section-heading h2{
    margin-top:3px;
    font-size:21px;
}

.tv-ops-filter-summary{
    font-size:12.5px;
}

.tv-ops-filter-summary strong{
    font-size:18px;
}

/* Filtros */
.tv-ops-filter-grid{
    gap:12px;
}

.tv-ops-field{
    gap:7px;
}

.tv-ops-field>span{
    font-size:13px;
}

.tv-ops-field input,
.tv-ops-field select{
    height:44px;
    padding:0 13px;
    font-size:14px;
}

/* Histórico / tabela */
.tv-ops-table th{
    padding:15px 15px;
    font-size:12px;
    letter-spacing:.065em;
}

.tv-ops-table td{
    padding:16px 15px;
    font-size:14px;
    line-height:1.4;
}

.tv-ops-result{
    min-width:62px;
    min-height:28px;
    padding:0 10px;
    font-size:11.5px;
}

.tv-ops-delete-btn{
    height:32px;
    padding:0 12px;
    font-size:11.5px;
}

.tv-ops-empty-row{
    font-size:14px!important;
}

/* Análise diária */
.tv-ops-day-analysis{
    padding:22px 22px;
}

.tv-ops-day-header{
    gap:20px;
    margin-bottom:18px;
}

.tv-ops-day-header h2{
    font-size:26px;
}

.tv-ops-day-header p{
    max-width:820px;
    font-size:14px;
    line-height:1.45;
}

.tv-ops-day-result-pill{
    min-width:172px;
    padding:12px 15px;
}

.tv-ops-day-result-pill span{
    font-size:10.5px;
}

.tv-ops-day-result-pill strong{
    margin-top:3px;
    font-size:21px;
}

.tv-ops-day-close,
.tv-ops-day-empty>button{
    width:35px;
    height:35px;
    font-size:20px;
}

.tv-ops-day-grid{
    gap:11px;
}

.tv-ops-day-grid article{
    min-height:96px;
    padding:14px;
}

.tv-ops-day-grid span,
.tv-ops-day-grid small{
    font-size:11px;
    line-height:1.35;
}

.tv-ops-day-grid strong{
    margin:5px 0 4px;
    font-size:18px;
}

.tv-ops-day-insight-grid{
    gap:11px;
    margin-top:11px;
}

.tv-ops-day-message,
.tv-ops-day-discipline,
.tv-ops-day-streaks{
    padding:15px;
}

.tv-ops-day-message{
    gap:13px;
}

.tv-ops-day-message-icon{
    width:38px;
    height:38px;
    flex-basis:38px;
    font-size:16px;
}

.tv-ops-day-message span,
.tv-ops-day-discipline span,
.tv-ops-day-streaks span{
    font-size:10.5px;
}

.tv-ops-day-message p,
.tv-ops-day-discipline p{
    margin-top:7px;
    font-size:14px;
    line-height:1.58;
}

.tv-ops-day-discipline strong{
    margin-top:4px;
    font-size:15px;
}

.tv-ops-day-streaks{
    gap:10px;
}

.tv-ops-day-streaks strong{
    font-size:20px;
}

.tv-ops-day-empty h2{
    font-size:22px;
}

.tv-ops-day-empty p{
    font-size:14px;
    line-height:1.5;
}

/* Mantém densidade em notebooks menores sem voltar ao microtexto */
@media (max-width:1450px){
    .tv-ops-header h1{font-size:31px;}
    .tv-ops-metric strong{font-size:27px;}
    .tv-ops-table td{font-size:13px;}
    .tv-ops-day-message p,
    .tv-ops-day-discipline p{font-size:13px;}
}


/* ==========================================================
   CALENDÁRIO OPERACIONAL V2
   ========================================================== */
.tv-cal-page{
    width:100%;
    padding:18px 18px 30px;
    color:#f7fbff;
}

.tv-cal-page-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:18px;
}

.tv-cal-eyebrow,
.tv-cal-side-heading>span,
.tv-cal-month-title>span{
    display:block;
    color:#48c8ff;
    font-size:11px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.12em;
}

.tv-cal-page-header h1{
    margin:5px 0 4px;
    font-size:31px;
    line-height:1.08;
    letter-spacing:-.03em;
    color:#fff;
}

.tv-cal-page-header p{
    margin:0;
    color:#8fb4d1;
    font-size:14px;
    line-height:1.5;
}

.tv-cal-header-legend{
    display:flex;
    align-items:center;
    gap:15px;
    padding:10px 13px;
    border:1px solid #173852;
    border-radius:12px;
    background:#071827;
    color:#9dbbd1;
    font-size:12px;
    white-space:nowrap;
}

.tv-cal-header-legend span{
    display:flex;
    align-items:center;
    gap:7px;
}

.tv-cal-header-legend i{
    width:8px;
    height:8px;
    border-radius:50%;
    box-shadow:0 0 12px currentColor;
}
.tv-cal-header-legend i.is-positive{background:#00f5b5;color:#00f5b5;}
.tv-cal-header-legend i.is-negative{background:#ff4f6d;color:#ff4f6d;}
.tv-cal-header-legend i.is-neutral{background:#ffc928;color:#ffc928;}

.tv-cal-metrics{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:11px;
    margin-bottom:13px;
}

.tv-cal-metric{
    position:relative;
    min-height:104px;
    display:flex;
    align-items:center;
    gap:13px;
    padding:15px 16px;
    border:1px solid #173852;
    border-radius:13px;
    background:linear-gradient(145deg,#0a1e2e 0%,#081827 100%);
    overflow:hidden;
}

.tv-cal-metric::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    opacity:.9;
}
.tv-cal-metric.tone-blue::after{background:#1da8ff;}
.tv-cal-metric.tone-green::after{background:#00e8ae;}
.tv-cal-metric.tone-yellow::after{background:#ffe100;}
.tv-cal-metric.tone-red::after{background:#ff4f6d;}

.tv-cal-metric-icon{
    width:36px;
    height:36px;
    flex:0 0 36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    border:1px solid #1d557a;
    background:#0a3855;
    color:#4ecbff;
    font-size:16px;
    font-weight:800;
}
.tv-cal-metric.tone-green .tv-cal-metric-icon{border-color:#006f59;background:#063d34;color:#00f5b5;}
.tv-cal-metric.tone-yellow .tv-cal-metric-icon{border-color:#726400;background:#373205;color:#fff000;}
.tv-cal-metric.tone-red .tv-cal-metric-icon{border-color:#71303c;background:#35151d;color:#ff7189;}

.tv-cal-metric-copy{
    min-width:0;
}
.tv-cal-metric-copy span{
    display:block;
    color:#9bb9cf;
    font-size:12px;
    line-height:1.2;
    margin-bottom:4px;
}
.tv-cal-metric-copy strong{
    display:block;
    color:#fff;
    font-size:23px;
    line-height:1.08;
    letter-spacing:-.02em;
}
.tv-cal-metric.tone-green .tv-cal-metric-copy strong{color:#00f5b5;}
.tv-cal-metric.tone-yellow .tv-cal-metric-copy strong{color:#fff000;}
.tv-cal-metric.tone-red .tv-cal-metric-copy strong{color:#ff617d;}
.tv-cal-metric-copy small{
    display:block;
    margin-top:5px;
    color:#6f96b1;
    font-size:11px;
    line-height:1.3;
}

.tv-cal-workspace{
    display:grid;
    grid-template-columns:minmax(0,1fr) 355px;
    gap:13px;
    align-items:stretch;
}

.tv-cal-calendar-panel,
.tv-cal-side-panel{
    border:1px solid #173852;
    border-radius:14px;
    background:linear-gradient(145deg,#091d2c 0%,#071725 100%);
}

.tv-cal-calendar-panel{
    padding:14px;
}

.tv-cal-toolbar{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:0 2px 13px;
}

.tv-cal-month-nav{
    display:flex;
    align-items:center;
    gap:12px;
}

.tv-cal-nav-btn,
.tv-cal-today-btn,
.tv-cal-close-day{
    border:1px solid #1b405b;
    background:#0a2132;
    color:#cce8fb;
    cursor:pointer;
    transition:.18s ease;
}

.tv-cal-nav-btn{
    width:39px;
    height:39px;
    border-radius:10px;
    display:grid;
    place-items:center;
    font-size:27px;
    line-height:1;
}

.tv-cal-nav-btn:hover,
.tv-cal-today-btn:hover{
    border-color:#00d9a8;
    background:#0a302e;
    color:#00f5b5;
}

.tv-cal-month-title strong{
    display:block;
    margin-top:3px;
    font-size:18px;
    color:#fff;
    line-height:1.2;
}

.tv-cal-today-btn{
    padding:9px 15px;
    border-radius:9px;
    font-size:12px;
    font-weight:700;
}

.tv-cal-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:7px;
}

.tv-cal-weekday{
    padding:7px 9px;
    color:#7fa5c0;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-align:left;
}

.tv-cal-day{
    min-height:94px;
    padding:10px;
    border:1px solid #17354b;
    border-radius:10px;
    background:#081927;
    color:#d9eefc;
    text-align:left;
    position:relative;
    overflow:hidden;
}

button.tv-cal-day{
    cursor:pointer;
    transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
button.tv-cal-day:hover{
    transform:translateY(-1px);
    border-color:#2b668c;
    background:#0b2233;
}

.tv-cal-day.is-outside{
    opacity:.28;
    background:#06121d;
}

.tv-cal-day.has-data::after{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
}
.tv-cal-day.is-positivo::after{background:#00e8ae;}
.tv-cal-day.is-negativo::after{background:#ff4f6d;}
.tv-cal-day.is-neutro::after{background:#ffc928;}

.tv-cal-day.is-positivo{
    background:linear-gradient(145deg,rgba(0,65,54,.45),#081927 72%);
    border-color:#145747;
}
.tv-cal-day.is-negativo{
    background:linear-gradient(145deg,rgba(86,25,38,.42),#081927 72%);
    border-color:#5e2b3a;
}
.tv-cal-day.is-neutro{
    background:linear-gradient(145deg,rgba(86,72,5,.35),#081927 72%);
    border-color:#584e19;
}

.tv-cal-day.is-selected{
    border-color:#00d9ff;
    box-shadow:0 0 0 1px rgba(0,217,255,.2),0 0 20px rgba(0,217,255,.08);
}

.tv-cal-day.is-today .tv-cal-day-number{
    background:#167dff;
    color:#fff;
}

.tv-cal-day-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:7px;
}

.tv-cal-day-number{
    min-width:26px;
    height:26px;
    padding:0 5px;
    display:inline-grid;
    place-items:center;
    border-radius:7px;
    color:#fff;
    font-size:13px;
    font-weight:800;
}

.tv-cal-day-count{
    color:#7fa8c3;
    font-size:10.5px;
    font-weight:700;
}

.tv-cal-day-profit{
    display:block;
    margin:12px 0 8px;
    font-size:17px;
    line-height:1.1;
    letter-spacing:-.01em;
}
.tv-cal-day-profit.positive{color:#00f5b5;}
.tv-cal-day-profit.negative{color:#ff617d;}

.tv-cal-day-bottom{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:4px 7px;
    color:#85a8bf;
    font-size:10.5px;
    line-height:1.25;
}

.tv-cal-day-empty-label{
    display:block;
    margin-top:22px;
    color:#43617a;
    font-size:10.5px;
}

.tv-cal-side-panel{
    min-height:592px;
    padding:17px;
    position:relative;
}

.tv-cal-side-heading{
    position:relative;
    padding-right:32px;
    margin-bottom:14px;
}
.tv-cal-side-heading h2{
    margin:5px 0 5px;
    color:#fff;
    font-size:21px;
    line-height:1.2;
}
.tv-cal-side-heading p{
    margin:0;
    color:#89abc2;
    font-size:12.5px;
    line-height:1.45;
}

.tv-cal-close-day{
    position:absolute;
    right:0;
    top:0;
    width:29px;
    height:29px;
    display:grid;
    place-items:center;
    border-radius:8px;
    font-size:19px;
}

.tv-cal-side-result,
.tv-cal-day-status{
    padding:14px;
    border:1px solid #1a3b52;
    border-radius:11px;
    background:#071520;
    margin-bottom:12px;
}
.tv-cal-side-result span,
.tv-cal-day-status span{
    display:block;
    color:#78a0bb;
    font-size:10.5px;
    font-weight:800;
    letter-spacing:.08em;
}
.tv-cal-side-result strong,
.tv-cal-day-status strong{
    display:block;
    margin-top:4px;
    font-size:27px;
    line-height:1.1;
}
.tv-cal-side-result.positive strong,
.tv-cal-day-status.is-positivo strong{color:#00f5b5;}
.tv-cal-side-result.negative strong,
.tv-cal-day-status.is-negativo strong{color:#ff617d;}
.tv-cal-day-status.is-neutro strong{color:#ffe100;}
.tv-cal-side-result small{
    display:block;
    margin-top:5px;
    color:#7195ad;
    font-size:11px;
}

.tv-cal-insight-list{
    border-top:1px solid #16344a;
}
.tv-cal-insight-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:13px;
    padding:11px 2px;
    border-bottom:1px solid #143147;
}
.tv-cal-insight-row>div{
    min-width:0;
}
.tv-cal-insight-row span{
    display:block;
    color:#a9c3d6;
    font-size:12px;
    line-height:1.25;
}
.tv-cal-insight-row small{
    display:block;
    margin-top:3px;
    color:#587b95;
    font-size:10.5px;
    line-height:1.25;
}
.tv-cal-insight-row strong{
    flex:0 0 auto;
    color:#fff;
    font-size:13.5px;
    text-align:right;
}

.tv-cal-month-balance{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
    margin-top:13px;
}
.tv-cal-month-balance>div{
    padding:10px 7px;
    border:1px solid #16364c;
    border-radius:9px;
    background:#06141f;
    text-align:center;
}
.tv-cal-month-balance span{
    display:block;
    color:#678da7;
    font-size:9.5px;
    font-weight:800;
}
.tv-cal-month-balance strong{
    display:block;
    margin-top:4px;
    color:#fff;
    font-size:18px;
}

.tv-cal-day-detail-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:8px;
    margin-bottom:12px;
}
.tv-cal-day-detail-grid>div{
    padding:11px;
    border:1px solid #17374d;
    border-radius:9px;
    background:#071722;
}
.tv-cal-day-detail-grid span{
    display:block;
    color:#7199b4;
    font-size:10.5px;
}
.tv-cal-day-detail-grid strong{
    display:block;
    margin-top:4px;
    color:#fff;
    font-size:18px;
}
.tv-cal-day-detail-grid strong.positive{color:#00f5b5;}
.tv-cal-day-detail-grid strong.negative{color:#ff617d;}

.tv-cal-day-message{
    margin-top:13px;
    padding:13px;
    border-radius:10px;
    border:1px solid #17405a;
    background:#071a28;
}
.tv-cal-day-message span{
    display:block;
    color:#47caff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.09em;
}
.tv-cal-day-message p{
    margin:7px 0 0;
    color:#a9c5d8;
    font-size:13px;
    line-height:1.55;
}
.tv-cal-day-message.positivo{border-color:#155848;background:rgba(0,62,50,.24);}
.tv-cal-day-message.negativo{border-color:#5a2b39;background:rgba(75,20,32,.22);}

.tv-cal-empty-day{
    min-height:300px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#7799b0;
}
.tv-cal-empty-day>div{font-size:32px;color:#285773;}
.tv-cal-empty-day strong{margin-top:8px;color:#c8e2f4;font-size:16px;}
.tv-cal-empty-day p{margin:5px 0 0;font-size:12.5px;}

@media (max-width:1500px){
    .tv-cal-page{padding:15px 15px 26px;}
    .tv-cal-page-header h1{font-size:28px;}
    .tv-cal-workspace{grid-template-columns:minmax(0,1fr) 325px;}
    .tv-cal-metric-copy strong{font-size:21px;}
    .tv-cal-day{min-height:88px;padding:8px;}
    .tv-cal-day-profit{font-size:15px;}
    .tv-cal-side-panel{padding:14px;}
}

@media (max-width:1180px){
    .tv-cal-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
    .tv-cal-workspace{grid-template-columns:1fr;}
    .tv-cal-side-panel{min-height:auto;}
}

/* ========================================================
   TRADER VITA — RELATÓRIOS V2
   ======================================================== */

.tv-rep-page{
    display:flex;
    flex-direction:column;
    gap:18px;
    padding-bottom:28px;
    color:#f7fbff;
}

.tv-rep-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:22px;
}

.tv-rep-kicker,
.tv-rep-section-heading > div > span,
.tv-rep-period-title > div > span{
    display:block;
    margin-bottom:6px;
    color:#4ac3ff;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
}

.tv-rep-header h1{
    margin:0;
    font-size:30px;
    line-height:1.05;
    letter-spacing:-.03em;
}

.tv-rep-header p{
    margin:8px 0 0;
    color:#8fb3cf;
    font-size:14px;
    line-height:1.5;
}

.tv-rep-header-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.tv-rep-primary-btn,
.tv-rep-secondary-btn,
.tv-rep-apply-btn,
.tv-rep-preset{
    border:1px solid #1f4561;
    border-radius:10px;
    min-height:42px;
    padding:0 15px;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    transition:.18s ease;
}

.tv-rep-primary-btn{
    color:#fff;
    border-color:#1f7cff;
    background:linear-gradient(180deg,#2687ff,#1269dd);
    box-shadow:0 8px 24px rgba(16,111,229,.18);
}

.tv-rep-secondary-btn,
.tv-rep-preset,
.tv-rep-apply-btn{
    color:#bcd4e7;
    background:#081723;
}

.tv-rep-primary-btn:hover,
.tv-rep-secondary-btn:hover,
.tv-rep-apply-btn:hover,
.tv-rep-preset:hover{
    transform:translateY(-1px);
    border-color:#2c88bf;
}

.tv-rep-period-card,
.tv-rep-card,
.tv-rep-days-card{
    border:1px solid #16364d;
    border-radius:14px;
    background:linear-gradient(180deg,#0a1d2b 0%,#081a27 100%);
    box-shadow:0 16px 40px rgba(0,0,0,.10);
}

.tv-rep-period-card{
    padding:16px 18px;
}

.tv-rep-period-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:14px;
}

.tv-rep-period-title h2,
.tv-rep-section-heading h2{
    margin:0;
    font-size:18px;
    line-height:1.2;
}

.tv-rep-operation-count{
    display:flex;
    align-items:baseline;
    gap:8px;
    color:#8fb3cf;
    font-size:12px;
}

.tv-rep-operation-count strong{
    color:#00f5c4;
    font-size:20px;
}

.tv-rep-period-controls{
    display:grid;
    grid-template-columns:repeat(4,max-content) minmax(150px,1fr) minmax(150px,1fr) max-content;
    gap:9px;
    align-items:end;
}

.tv-rep-preset{
    min-height:40px;
    padding:0 13px;
}

.tv-rep-preset.active{
    color:#eafffb;
    border-color:#00cfa5;
    background:rgba(0,245,196,.09);
    box-shadow:inset 0 -2px 0 #00f5c4;
}

.tv-rep-date-field{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.tv-rep-date-field span{
    color:#81a9c5;
    font-size:12px;
    font-weight:700;
}

.tv-rep-date-field input{
    width:100%;
    min-height:40px;
    border:1px solid #16364d;
    border-radius:9px;
    background:#06131e;
    color:#eaf7ff;
    padding:0 11px;
    font-size:13px;
    outline:none;
}

.tv-rep-date-field input:focus{
    border-color:#1d8dcf;
    box-shadow:0 0 0 3px rgba(29,141,207,.10);
}

.tv-rep-metrics{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
}

.tv-rep-metric{
    position:relative;
    display:flex;
    gap:12px;
    align-items:center;
    min-height:106px;
    padding:14px;
    overflow:hidden;
    border:1px solid #17384f;
    border-radius:13px;
    background:linear-gradient(180deg,#0b2030,#091b29);
}

.tv-rep-metric::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:#2b95d6;
}

.tv-rep-tone-green::after{background:#00f5c4}
.tv-rep-tone-red::after{background:#ff4e68}
.tv-rep-tone-yellow::after{background:#ffe600}
.tv-rep-tone-blue::after{background:#2aa8ff}

.tv-rep-metric-icon{
    display:grid;
    place-items:center;
    flex:0 0 36px;
    width:36px;
    height:36px;
    border-radius:10px;
    color:#6ad1ff;
    background:#0c314a;
    border:1px solid #17567d;
    font-size:13px;
    font-weight:900;
}

.tv-rep-tone-green .tv-rep-metric-icon{color:#00f5c4;border-color:#087e69;background:rgba(0,245,196,.07)}
.tv-rep-tone-red .tv-rep-metric-icon{color:#ff6078;border-color:#7a2638;background:rgba(255,78,104,.07)}
.tv-rep-tone-yellow .tv-rep-metric-icon{color:#ffe600;border-color:#6d6200;background:rgba(255,230,0,.06)}

.tv-rep-metric-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.tv-rep-metric-copy span{
    color:#8bb1cd;
    font-size:12px;
    font-weight:700;
}

.tv-rep-metric-copy strong{
    margin-top:3px;
    color:#fff;
    font-size:21px;
    line-height:1.1;
    letter-spacing:-.02em;
    white-space:nowrap;
}

.tv-rep-tone-green .tv-rep-metric-copy strong{color:#00f5c4}
.tv-rep-tone-red .tv-rep-metric-copy strong{color:#ff6078}
.tv-rep-tone-yellow .tv-rep-metric-copy strong{color:#ffe600}

.tv-rep-metric-copy small{
    margin-top:5px;
    color:#6f9ab8;
    font-size:11px;
    line-height:1.25;
}

.tv-rep-main-grid,
.tv-rep-details-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:12px;
}

.tv-rep-card,
.tv-rep-days-card{
    padding:17px;
}

.tv-rep-section-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
}

.tv-rep-section-heading p{
    margin:5px 0 0;
    color:#789fbb;
    font-size:13px;
    line-height:1.4;
}

.tv-rep-comparison-score,
.tv-rep-executive-badge{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:21px;
    font-weight:900;
    color:#9ec6de;
    border:1px solid #1b405a;
    background:#0b2232;
}

.tv-rep-comparison.positive{border-color:#0b6659}
.tv-rep-comparison.positive .tv-rep-comparison-score{color:#00f5c4;border-color:#087b68;background:rgba(0,245,196,.07)}
.tv-rep-comparison.negative{border-color:#62303d}
.tv-rep-comparison.negative .tv-rep-comparison-score{color:#ff6078;border-color:#7b2b3c;background:rgba(255,78,104,.07)}

.tv-rep-comparison-message{
    margin:13px 0;
    color:#a8c4d8;
    font-size:14px;
    line-height:1.55;
}

.tv-rep-comparison-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
}

.tv-rep-comparison-item{
    display:flex;
    flex-direction:column;
    padding:11px;
    border:1px solid #143248;
    border-radius:10px;
    background:#071824;
}

.tv-rep-comparison-item > span{
    color:#789fbb;
    font-size:11px;
    font-weight:700;
}

.tv-rep-comparison-item strong{
    margin-top:4px;
    font-size:17px;
    color:#fff;
}

.tv-rep-comparison-item small{
    margin-top:3px;
    color:#678ba5;
    font-size:10px;
}

.tv-rep-comparison-item b{
    margin-top:7px;
    font-size:11px;
}

.tv-rep-executive-positive{border-color:#0c554b}
.tv-rep-executive-warning{border-color:#5a5417}
.tv-rep-executive-negative{border-color:#5d2b39}

.tv-rep-executive-positive .tv-rep-executive-badge{color:#00f5c4;border-color:#087b68;background:rgba(0,245,196,.07)}
.tv-rep-executive-warning .tv-rep-executive-badge{color:#ffe600;border-color:#706600;background:rgba(255,230,0,.06)}
.tv-rep-executive-negative .tv-rep-executive-badge{color:#ff6078;border-color:#7b2b3c;background:rgba(255,78,104,.07)}

.tv-rep-executive-list{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:13px;
}

.tv-rep-executive-row{
    display:grid;
    grid-template-columns:32px 1fr;
    gap:10px;
    align-items:flex-start;
    padding:10px 11px;
    border:1px solid #143248;
    border-radius:10px;
    background:#071824;
}

.tv-rep-executive-row > span{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:8px;
    background:#0d2c40;
    color:#55c8ff;
    font-size:12px;
    font-weight:900;
}

.tv-rep-executive-row p{
    margin:1px 0 0;
    color:#a9c4d6;
    font-size:13px;
    line-height:1.45;
}

.tv-rep-financial-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-top:13px;
}

.tv-rep-data-tile{
    min-height:78px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:11px;
    border:1px solid #143248;
    border-radius:10px;
    background:#071824;
}

.tv-rep-data-tile span{
    color:#759ab4;
    font-size:11px;
    font-weight:700;
}

.tv-rep-data-tile strong{
    margin-top:4px;
    font-size:16px;
    color:#fff;
}

.tv-rep-highlights-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:13px;
}

.tv-rep-highlight-row{
    display:grid;
    grid-template-columns:35px 1fr;
    gap:9px;
    align-items:center;
    min-height:75px;
    padding:10px;
    border:1px solid #143248;
    border-radius:10px;
    background:#071824;
}

.tv-rep-highlight-icon{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:9px;
    color:#56caff;
    border:1px solid #1a5576;
    background:#0b2c40;
    font-weight:900;
}

.tv-rep-highlight-best .tv-rep-highlight-icon,
.tv-rep-highlight-win .tv-rep-highlight-icon{color:#00f5c4;border-color:#087b68;background:rgba(0,245,196,.07)}
.tv-rep-highlight-worst .tv-rep-highlight-icon,
.tv-rep-highlight-loss .tv-rep-highlight-icon{color:#ff6078;border-color:#7b2b3c;background:rgba(255,78,104,.07)}

.tv-rep-highlight-row > div:last-child{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.tv-rep-highlight-row span{
    color:#7499b3;
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.tv-rep-highlight-row strong{
    margin-top:2px;
    color:#fff;
    font-size:15px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tv-rep-highlight-row small{
    margin-top:3px;
    color:#7196af;
    font-size:10px;
}

.tv-rep-day-legend{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    color:#789fbb;
    font-size:11px;
}

.tv-rep-day-legend span{
    display:flex;
    align-items:center;
    gap:5px;
}

.tv-rep-day-legend i{
    display:block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#6f8291;
}

.tv-rep-day-legend i.positive{background:#00f5c4}
.tv-rep-day-legend i.negative{background:#ff4e68}

.tv-rep-daily-list{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-top:14px;
}

.tv-rep-day-row{
    display:grid;
    grid-template-columns:95px minmax(180px,1fr) 160px;
    gap:14px;
    align-items:center;
    min-height:48px;
    padding:7px 10px;
    border:1px solid #123148;
    border-radius:9px;
    background:#071824;
}

.tv-rep-day-date{
    display:flex;
    flex-direction:column;
}

.tv-rep-day-date strong{
    color:#eaf8ff;
    font-size:13px;
}

.tv-rep-day-date span{
    margin-top:1px;
    color:#6f93ac;
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
}

.tv-rep-day-bar-wrap{
    height:8px;
    overflow:hidden;
    border-radius:999px;
    background:#10293a;
}

.tv-rep-day-bar{
    height:100%;
    min-width:4px;
    border-radius:999px;
    background:#7f93a1;
}

.tv-rep-day-bar.positive{background:linear-gradient(90deg,#00b890,#00f5c4)}
.tv-rep-day-bar.negative{background:linear-gradient(90deg,#d52d48,#ff6078)}

.tv-rep-day-stats{
    text-align:right;
    display:flex;
    flex-direction:column;
}

.tv-rep-day-stats strong{
    font-size:14px;
}

.tv-rep-day-stats span{
    margin-top:2px;
    color:#789db7;
    font-size:10px;
}

.tv-rep-empty{
    margin-top:14px;
    padding:30px;
    text-align:center;
    border:1px dashed #1b4058;
    border-radius:10px;
    color:#8eb0c7;
}

.tv-rep-empty strong{
    display:block;
    color:#e8f7ff;
    font-size:15px;
}

.tv-rep-empty p{
    margin:5px 0 0;
    font-size:12px;
}

.tv-rep-page .positive{color:#00f5c4!important}
.tv-rep-page .negative{color:#ff6078!important}
.tv-rep-page .neutral{color:#94a8b6!important}

@media (max-width:1350px){
    .tv-rep-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
    .tv-rep-period-controls{grid-template-columns:repeat(4,max-content) 1fr 1fr}
    .tv-rep-apply-btn{grid-column:span 2}
}

@media (max-width:1050px){
    .tv-rep-main-grid,
    .tv-rep-details-grid{grid-template-columns:1fr}
    .tv-rep-financial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tv-rep-period-controls{grid-template-columns:repeat(2,1fr)}
    .tv-rep-preset{width:100%}
    .tv-rep-apply-btn{grid-column:auto}
}

@media (max-width:760px){
    .tv-rep-header{align-items:flex-start;flex-direction:column}
    .tv-rep-header-actions{width:100%}
    .tv-rep-header-actions button{flex:1}
    .tv-rep-metrics{grid-template-columns:1fr}
    .tv-rep-period-title{align-items:flex-start;flex-direction:column}
    .tv-rep-period-controls{grid-template-columns:1fr 1fr}
    .tv-rep-date-field{grid-column:span 2}
    .tv-rep-apply-btn{grid-column:span 2}
    .tv-rep-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tv-rep-highlights-list{grid-template-columns:1fr}
    .tv-rep-day-row{grid-template-columns:72px 1fr;gap:8px}
    .tv-rep-day-stats{grid-column:2;text-align:left}
}

@media print{
    #sidebar,
    #topbar,
    .tv-rep-header-actions,
    .tv-rep-period-controls{
        display:none!important;
    }

    #app,
    #main,
    #page-container{
        margin:0!important;
        padding:0!important;
        width:100%!important;
        max-width:none!important;
    }

    body{
        background:#fff!important;
    }

    .tv-rep-page{
        color:#111!important;
    }

    .tv-rep-period-card,
    .tv-rep-card,
    .tv-rep-days-card,
    .tv-rep-metric{
        break-inside:avoid;
        background:#fff!important;
        color:#111!important;
        box-shadow:none!important;
        border-color:#ccd5dc!important;
    }

    .tv-rep-page *{
        text-shadow:none!important;
    }
}

/* ==========================================================
   TRADER VITA — DIÁRIO OPERACIONAL V2
   ========================================================== */

.tv-diary-v2{
    display:flex;
    flex-direction:column;
    gap:18px;
    padding-bottom:28px;
}

.tv-diary-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
}

.tv-diary-kicker,
.tv-diary-section-heading > div > span,
.tv-diary-reading-top span{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.11em;
    color:#47baff;
}

.tv-diary-header h1{
    margin:0;
    font-size:30px;
    line-height:1.05;
    color:#fff;
}

.tv-diary-header p{
    margin:8px 0 0;
    font-size:15px;
    line-height:1.55;
    color:#8fb3d1;
}

.tv-diary-date-picker{
    min-width:220px;
    display:flex;
    flex-direction:column;
    gap:7px;
}

.tv-diary-date-picker span,
.tv-diary-field > span,
.tv-diary-choice-field > span,
.tv-diary-note-field > span{
    font-size:13px;
    font-weight:700;
    color:#9bbbd4;
}

.tv-diary-date-picker input,
.tv-diary-field select,
.tv-diary-note-field textarea{
    width:100%;
    border:1px solid #18364c;
    border-radius:9px;
    background:#050d17;
    color:#eaf6ff;
    outline:none;
    transition:.2s ease;
}

.tv-diary-date-picker input,
.tv-diary-field select{
    min-height:44px;
    padding:0 12px;
    font-size:14px;
}

.tv-diary-date-picker input:focus,
.tv-diary-field select:focus,
.tv-diary-note-field textarea:focus{
    border-color:#00d7bb;
    box-shadow:0 0 0 3px rgba(0,215,187,.09);
}

.tv-diary-context-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.tv-diary-context-card{
    position:relative;
    min-height:112px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px;
    border:1px solid #17344a;
    border-radius:12px;
    background:linear-gradient(145deg,#0a1d2c,#081827);
    overflow:hidden;
}

.tv-diary-context-card::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    opacity:.9;
}

.tv-diary-context-card.tone-blue::after{background:#2ea5ff}
.tv-diary-context-card.tone-green::after{background:#00e8b7}
.tv-diary-context-card.tone-yellow::after{background:#ffe100}
.tv-diary-context-card.tone-red::after{background:#ff4560}
.tv-diary-context-card.tone-violet::after{background:#b34cff}

.tv-diary-context-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#0c314d;
    color:#4cbcff;
    font-size:16px;
    font-weight:900;
}

.tv-diary-context-card > div:last-child{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}

.tv-diary-context-card span{
    font-size:12px;
    font-weight:700;
    color:#8fb3d1;
}

.tv-diary-context-card strong{
    font-size:21px;
    line-height:1.15;
    color:#fff;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.tv-diary-context-card small{
    font-size:12px;
    line-height:1.35;
    color:#6f9ab9;
}

.tv-diary-main-grid{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);
    gap:14px;
    align-items:start;
}

.tv-diary-editor-card,
.tv-diary-reading-card,
.tv-diary-recent-card{
    border:1px solid #17344a;
    border-radius:13px;
    background:linear-gradient(145deg,#091c2b,#071724);
}

.tv-diary-editor-card{
    padding:18px;
}

.tv-diary-side-column{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.tv-diary-section-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-bottom:14px;
    border-bottom:1px solid #143047;
}

.tv-diary-section-heading.compact{
    padding:16px 16px 12px;
}

.tv-diary-section-heading h2{
    margin:0;
    font-size:19px;
    line-height:1.3;
    color:#fff;
    text-transform:none;
}

.tv-diary-save-status{
    padding:7px 10px;
    border:1px solid rgba(0,232,183,.22);
    border-radius:8px;
    background:rgba(0,232,183,.06);
    color:#00e8b7;
    font-size:12px;
    font-weight:700;
}

.tv-diary-save-status.unsaved{
    color:#ffe100;
    border-color:rgba(255,225,0,.25);
    background:rgba(255,225,0,.05);
}

.tv-diary-block{
    padding:19px 0;
    border-bottom:1px solid #122c41;
}

.tv-diary-block:last-of-type{
    border-bottom:0;
}

.tv-diary-block-title{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:15px;
}

.tv-diary-step{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#0d304a;
    border:1px solid #184565;
    color:#48bfff;
    font-size:12px;
    font-weight:900;
}

.tv-diary-block-title h3{
    margin:0;
    font-size:16px;
    color:#fff;
}

.tv-diary-block-title p{
    margin:3px 0 0;
    font-size:13px;
    color:#7399b7;
}

.tv-diary-two-col,
.tv-diary-notes-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.tv-diary-execution-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.tv-diary-choice-field,
.tv-diary-field,
.tv-diary-note-field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.tv-diary-choice-row{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.tv-diary-choice{
    min-height:34px;
    padding:0 10px;
    border:1px solid #1a3a51;
    border-radius:8px;
    background:#07121d;
    color:#85a7c2;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    transition:.18s ease;
}

.tv-diary-choice:hover{
    border-color:#276385;
    color:#dff5ff;
}

.tv-diary-choice.active{
    border-color:#00d8b6;
    background:rgba(0,216,182,.1);
    color:#00e8bf;
    box-shadow:inset 0 0 0 1px rgba(0,232,191,.08);
}

.tv-diary-discipline{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:5px;
}

.tv-diary-score-btn{
    min-height:40px;
    border:1px solid #1a3a51;
    border-radius:8px;
    background:#07121d;
    color:#789cb8;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}

.tv-diary-score-btn.active{
    color:#04100e;
    background:#00dfb5;
    border-color:#00dfb5;
}

.tv-diary-field small{
    font-size:11px;
    color:#567f9f;
}

.tv-diary-note-field textarea{
    min-height:104px;
    resize:vertical;
    padding:12px;
    font-size:14px;
    line-height:1.5;
}

.tv-diary-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding-top:16px;
}

.tv-diary-primary-btn,
.tv-diary-secondary-btn{
    min-height:42px;
    padding:0 15px;
    border-radius:9px;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
}

.tv-diary-primary-btn{
    border:1px solid #1684ff;
    background:linear-gradient(180deg,#278aff,#1570e8);
    color:#fff;
}

.tv-diary-secondary-btn{
    border:1px solid #203e54;
    background:#0a1723;
    color:#a7c1d5;
}

.tv-diary-reading-card{
    position:relative;
    padding:17px;
    overflow:hidden;
}

.tv-diary-reading-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
}

.tv-diary-reading-card.excellent::before{background:#00e8b7}
.tv-diary-reading-card.good::before{background:#27a9ff}
.tv-diary-reading-card.warning::before{background:#ffe100}
.tv-diary-reading-card.danger::before{background:#ff4560}
.tv-diary-reading-card.neutral::before{background:#8a74ff}

.tv-diary-reading-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.tv-diary-reading-top h2{
    margin:0;
    font-size:21px;
    color:#fff;
}

.tv-diary-behavior-score{
    width:62px;
    height:62px;
    flex:0 0 62px;
    display:flex;
    align-items:baseline;
    justify-content:center;
    padding-top:17px;
    border-radius:50%;
    border:4px solid #1e8fff;
    background:#071522;
}

.tv-diary-behavior-score strong{
    font-size:20px;
    color:#fff;
}

.tv-diary-behavior-score small{
    font-size:10px;
    color:#6e95b2;
}

.tv-diary-reading-message{
    margin:15px 0;
    font-size:14px;
    line-height:1.6;
    color:#a7c5d9;
}

.tv-diary-reading-bars{
    display:flex;
    flex-direction:column;
    gap:11px;
}

.tv-diary-reading-bar > div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:5px;
}

.tv-diary-reading-bar span,
.tv-diary-reading-bar strong{
    font-size:12px;
}

.tv-diary-reading-bar span{color:#86a9c3}
.tv-diary-reading-bar strong{color:#e6f5ff}

.tv-diary-reading-bar i{
    display:block;
    height:5px;
    overflow:hidden;
    border-radius:999px;
    background:#102b3e;
}

.tv-diary-reading-bar b{
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#178cff,#00e0b6);
}

.tv-diary-reading-tip{
    margin-top:15px;
    padding:11px;
    border:1px solid #183b53;
    border-radius:9px;
    background:#071521;
}

.tv-diary-reading-tip span{
    display:block;
    margin-bottom:5px;
    color:#4ebeff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.09em;
}

.tv-diary-reading-tip strong{
    font-size:13px;
    line-height:1.45;
    color:#d7eaf7;
}

.tv-diary-recent-list{
    display:flex;
    flex-direction:column;
    gap:7px;
    padding:12px;
}

.tv-diary-recent-item{
    width:100%;
    display:grid;
    grid-template-columns:1fr auto;
    gap:6px 10px;
    padding:11px;
    text-align:left;
    border:1px solid #15354b;
    border-radius:9px;
    background:#071521;
    color:inherit;
    cursor:pointer;
}

.tv-diary-recent-item:hover{
    border-color:#236280;
    background:#0a1b29;
}

.tv-diary-recent-date{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.tv-diary-recent-date strong{
    font-size:13px;
    color:#fff;
}

.tv-diary-recent-date span{
    font-size:11px;
    color:#6f9ab8;
}

.tv-diary-recent-score{
    min-width:36px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#0c334d;
    color:#5ac4ff;
    font-size:13px;
    font-weight:900;
}

.tv-diary-recent-item p{
    grid-column:1 / -1;
    margin:0;
    font-size:12px;
    line-height:1.45;
    color:#88aac3;
}

.tv-diary-empty{
    padding:18px 12px;
    text-align:center;
}

.tv-diary-empty strong{
    display:block;
    margin-bottom:5px;
    font-size:14px;
    color:#dcecf7;
}

.tv-diary-empty span{
    font-size:12px;
    color:#7094af;
}

@media (max-width:1280px){
    .tv-diary-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tv-diary-main-grid{grid-template-columns:1fr}
    .tv-diary-side-column{display:grid;grid-template-columns:1fr 1fr}
    .tv-diary-execution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:760px){
    .tv-diary-header{align-items:stretch;flex-direction:column}
    .tv-diary-date-picker{min-width:0}
    .tv-diary-context-grid,
    .tv-diary-two-col,
    .tv-diary-notes-grid,
    .tv-diary-execution-grid,
    .tv-diary-side-column{grid-template-columns:1fr}
    .tv-diary-actions{flex-direction:column-reverse}
    .tv-diary-primary-btn,
    .tv-diary-secondary-btn{width:100%}
}

/* ==========================================================
   INTELIGÊNCIA OPERACIONAL V2
   ========================================================== */
.tv-ai-v2{
    padding: 22px 24px 40px;
    color: var(--text-primary, #f4f8fb);
}

.tv-ai-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
}

.tv-ai-kicker,
.tv-ai-section-kicker,
.tv-ai-card-heading span{
    display:block;
    color:#43c7ff;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.tv-ai-header h1{
    margin:4px 0 6px;
    font-size:30px;
    line-height:1.05;
}

.tv-ai-header p{
    margin:0;
    color:#8eafc9;
    font-size:15px;
}

.tv-ai-engine-badge{
    min-width:210px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 14px;
    border:1px solid rgba(0,229,183,.28);
    border-radius:12px;
    background:rgba(0,229,183,.05);
}

.tv-ai-engine-badge>span{color:#00e5b7;font-size:16px}
.tv-ai-engine-badge small{display:block;color:#6f9cb9;font-size:11px;font-weight:800;letter-spacing:.08em}
.tv-ai-engine-badge strong{display:block;margin-top:2px;font-size:13px}

.tv-ai-top-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:14px;
}

.tv-ai-metric{
    min-height:116px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:17px;
    border:1px solid #17354b;
    border-radius:14px;
    background:linear-gradient(145deg,#081927,#0a1d2d);
    position:relative;
    overflow:hidden;
}

.tv-ai-metric::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;height:2px;
    background:#2a78ff;
    opacity:.8;
}
.tv-ai-metric.green::after,.tv-ai-metric.good::after,.tv-ai-metric.excellent::after{background:#00e5b7}
.tv-ai-metric.yellow::after,.tv-ai-metric.warning::after{background:#ffe000}
.tv-ai-metric.red::after,.tv-ai-metric.danger::after{background:#ff4964}

.tv-ai-metric-icon{
    width:38px;height:38px;flex:0 0 38px;
    display:grid;place-items:center;
    border:1px solid #1d5d87;
    border-radius:10px;
    background:#0b2740;
    color:#46bfff;
    font-weight:900;
}
.tv-ai-metric.green .tv-ai-metric-icon{color:#00e5b7;border-color:rgba(0,229,183,.35);background:rgba(0,229,183,.08)}
.tv-ai-metric.yellow .tv-ai-metric-icon{color:#ffe000;border-color:rgba(255,224,0,.35);background:rgba(255,224,0,.07)}
.tv-ai-metric.red .tv-ai-metric-icon{color:#ff5770;border-color:rgba(255,73,100,.35);background:rgba(255,73,100,.07)}

.tv-ai-metric span{display:block;color:#8caec6;font-size:12px;margin-bottom:3px}
.tv-ai-metric strong{display:block;font-size:22px;line-height:1.05}
.tv-ai-metric small{display:block;color:#7396af;font-size:11.5px;margin-top:6px;line-height:1.3}

.tv-ai-decision-panel{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
    gap:18px;
    padding:20px;
    border:1px solid #173a52;
    border-left:3px solid #2a78ff;
    border-radius:15px;
    background:linear-gradient(135deg,#081927,#0a2031);
    margin-bottom:14px;
}
.tv-ai-decision-panel.good,.tv-ai-decision-panel.excellent{border-left-color:#00e5b7}
.tv-ai-decision-panel.warning{border-left-color:#ffe000}
.tv-ai-decision-panel.danger{border-left-color:#ff4964}

.tv-ai-mode-line{display:flex;align-items:center;gap:13px;margin:8px 0 10px}
.tv-ai-mode-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#0b2940;color:#45bfff;font-size:22px;font-weight:900}
.tv-ai-decision-panel.good .tv-ai-mode-icon,.tv-ai-decision-panel.excellent .tv-ai-mode-icon{color:#00e5b7;background:rgba(0,229,183,.08)}
.tv-ai-decision-panel.warning .tv-ai-mode-icon{color:#ffe000;background:rgba(255,224,0,.08)}
.tv-ai-decision-panel.danger .tv-ai-mode-icon{color:#ff4964;background:rgba(255,73,100,.08)}
.tv-ai-mode-line small{display:block;color:#789bb4;font-size:11px;font-weight:800}
.tv-ai-mode-line h2{margin:2px 0 0;font-size:24px}
.tv-ai-decision-main>p{margin:0;color:#9bb8cd;font-size:14.5px;line-height:1.55;max-width:880px}
.tv-ai-action-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tv-ai-action-tags span{padding:7px 10px;border:1px solid #1a405b;border-radius:999px;background:#0a2233;color:#b7cddd;font-size:12px;font-weight:700}

.tv-ai-recommended-combo{padding:15px;border:1px solid #173a52;border-radius:12px;background:rgba(3,13,21,.28)}
.tv-ai-combo-flow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:10px}
.tv-ai-combo-flow>div{padding:10px;border:1px solid #1b4058;border-radius:9px;background:#071725}
.tv-ai-combo-flow small{display:block;color:#6d93ad;font-size:10px;font-weight:800}
.tv-ai-combo-flow strong{display:block;margin-top:3px;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-ai-combo-flow>span{color:#00e5b7;font-size:20px}
.tv-ai-combo-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.tv-ai-combo-stats span{font-size:11.5px;color:#8eafc7;padding:6px 8px;background:#091b29;border-radius:8px}
.tv-ai-combo-stats b{color:#fff}
.tv-ai-sample-badge{display:inline-flex;margin-top:10px;padding:5px 8px;border-radius:7px;font-size:10.5px;font-weight:800}
.tv-ai-sample-badge.strong,.tv-ai-sample-inline.strong,.tv-ai-table-sample.strong{color:#00e5b7;background:rgba(0,229,183,.08)}
.tv-ai-sample-badge.useful,.tv-ai-sample-inline.useful,.tv-ai-table-sample.useful{color:#55c8ff;background:rgba(85,200,255,.08)}
.tv-ai-sample-badge.forming,.tv-ai-sample-inline.forming,.tv-ai-table-sample.forming{color:#ffe000;background:rgba(255,224,0,.08)}
.tv-ai-sample-badge.low,.tv-ai-sample-inline.low,.tv-ai-table-sample.low{color:#ff8a9c;background:rgba(255,73,100,.08)}
.tv-ai-no-combo strong{font-size:16px}.tv-ai-no-combo p{color:#7f9eb5;font-size:12.5px;line-height:1.45}

.tv-ai-main-grid,.tv-ai-rank-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:14px}
.tv-ai-rank-grid{grid-template-columns:1fr 1fr}

.tv-ai-card{
    border:1px solid #17384f;
    border-radius:15px;
    background:linear-gradient(145deg,#081927,#0a1d2c);
    padding:17px;
}

.tv-ai-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}
.tv-ai-card-heading h2{margin:3px 0 0;font-size:18px}
.tv-ai-card-heading>small{color:#6f92aa;font-size:11.5px;margin-top:3px}

.tv-ai-pattern-list{display:grid;gap:8px}
.tv-ai-pattern{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px;border:1px solid #14354b;border-radius:10px;background:#071725}
.tv-ai-pattern-number{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#0b2940;color:#63c9ff;font-size:10.5px;font-weight:900}
.tv-ai-pattern strong{display:block;font-size:13.5px;margin-bottom:3px}
.tv-ai-pattern p{margin:0;color:#86a7bf;font-size:12.3px;line-height:1.4}
.tv-ai-pattern.green{border-color:rgba(0,229,183,.18)}
.tv-ai-pattern.red{border-color:rgba(255,73,100,.2)}
.tv-ai-pattern.yellow{border-color:rgba(255,224,0,.18)}

.tv-ai-do-dont-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tv-ai-do-list,.tv-ai-dont-list{padding:12px;border-radius:10px;background:#071725;border:1px solid #14354b}
.tv-ai-do-list>strong{color:#00e5b7;font-size:11.5px;letter-spacing:.08em}
.tv-ai-dont-list>strong{color:#ff6077;font-size:11.5px;letter-spacing:.08em}
.tv-ai-do-list p,.tv-ai-dont-list p{display:grid;grid-template-columns:18px 1fr;gap:7px;margin:10px 0 0;color:#9bb6c9;font-size:12.3px;line-height:1.4}
.tv-ai-do-list i{color:#00e5b7;font-style:normal;font-weight:900}.tv-ai-dont-list i{color:#ff6077;font-style:normal;font-weight:900}

.tv-ai-ranking-list{display:grid;gap:8px}
.tv-ai-rank-row{padding:10px;border:1px solid #14354b;border-radius:10px;background:#071725;position:relative}
.tv-ai-rank-position{position:absolute;left:10px;top:12px;color:#4eaee8;font-size:10px;font-weight:900}
.tv-ai-rank-main{display:flex;justify-content:space-between;gap:12px;padding-left:30px}
.tv-ai-rank-main strong{font-size:13.5px}.tv-ai-rank-main small{display:block;color:#6f93ad;font-size:10.5px;margin-top:3px}
.tv-ai-rank-values{text-align:right}.tv-ai-rank-values strong{display:block}.tv-ai-rank-values span{font-size:11px;font-weight:800}
.tv-ai-rank-bar{height:3px;background:#102d41;border-radius:999px;margin:9px 0 5px 30px;overflow:hidden}
.tv-ai-rank-bar i{display:block;height:100%;background:linear-gradient(90deg,#7a4dff,#00e5b7);border-radius:999px}
.tv-ai-sample-inline{margin-left:30px;padding:2px 5px;border-radius:5px;font-size:9px;font-weight:800}

.tv-ai-combo-table-card{margin-bottom:14px}
.tv-ai-combo-table{overflow-x:auto}
.tv-ai-combo-table-head,.tv-ai-combo-row{min-width:900px;display:grid;grid-template-columns:42px 1.3fr 1fr .7fr .85fr .75fr .9fr .9fr;align-items:center;gap:9px;padding:10px 8px}
.tv-ai-combo-table-head{color:#6e94ad;font-size:10.5px;font-weight:900;letter-spacing:.04em;border-bottom:1px solid #18394f;text-transform:uppercase}
.tv-ai-combo-row{font-size:12.2px;color:#a5bdce;border-bottom:1px solid #102e42}
.tv-ai-combo-row:last-child{border-bottom:0}
.tv-ai-combo-row strong{color:#f4f8fb;font-size:12.5px}
.tv-ai-combo-row .positive,.tv-ai-rank-values .positive{color:#00e5b7}
.tv-ai-combo-row .negative,.tv-ai-rank-values .negative{color:#ff5570}
.tv-ai-table-sample{display:inline-block;margin-left:4px;padding:2px 4px;border-radius:4px;font-size:8.5px;font-weight:800}

.tv-ai-explain-card{display:flex;gap:12px;padding:14px 16px;border:1px solid #17384f;border-radius:12px;background:#071725}
.tv-ai-explain-icon{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:50%;background:#0a2940;color:#50beff;font-weight:900}
.tv-ai-explain-card strong{display:block;font-size:13px}.tv-ai-explain-card p{margin:3px 0 0;color:#7498b2;font-size:11.5px;line-height:1.45}
.tv-ai-empty{padding:18px;color:#6f93aa;text-align:center;font-size:12.5px;border:1px dashed #17384f;border-radius:10px}

@media (max-width:1200px){
    .tv-ai-top-grid{grid-template-columns:repeat(2,1fr)}
    .tv-ai-decision-panel,.tv-ai-main-grid{grid-template-columns:1fr}
}
@media (max-width:850px){
    .tv-ai-v2{padding:18px 14px 32px}
    .tv-ai-header{align-items:flex-start;flex-direction:column}
    .tv-ai-top-grid,.tv-ai-rank-grid{grid-template-columns:1fr}
    .tv-ai-do-dont-grid{grid-template-columns:1fr}
    .tv-ai-decision-panel{padding:15px}
}

/* ==========================================================
   CONFIGURAÇÕES V2
   ========================================================== */
.tv-settings-v2{
    padding:22px 24px 40px;
    color:var(--text-primary,#f4f8fb);
}

.tv-settings-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:22px;
    margin-bottom:20px;
}

.tv-settings-kicker,
.tv-settings-card-heading span{
    display:block;
    color:#43c7ff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.tv-settings-header h1{
    margin:4px 0 6px;
    font-size:30px;
    line-height:1.05;
}

.tv-settings-header p{
    margin:0;
    color:#8eafc9;
    font-size:15px;
}

.tv-settings-save-badge{
    min-width:210px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 14px;
    border:1px solid rgba(0,229,183,.28);
    border-radius:12px;
    background:rgba(0,229,183,.05);
}

.tv-settings-save-badge>span{
    color:#00e5b7;
    font-size:16px;
}

.tv-settings-save-badge small{
    display:block;
    color:#6f9cb9;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
}

.tv-settings-save-badge strong{
    display:block;
    margin-top:2px;
    font-size:13px;
}

.tv-settings-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:14px;
}

.tv-settings-metric{
    min-height:118px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:17px;
    border:1px solid #17354b;
    border-radius:14px;
    background:linear-gradient(145deg,#081927,#0a1d2d);
    position:relative;
    overflow:hidden;
}

.tv-settings-metric::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:#2a78ff;
}

.tv-settings-metric.green::after{background:#00e5b7}
.tv-settings-metric.red::after{background:#ff4964}
.tv-settings-metric.yellow::after{background:#ffe000}
.tv-settings-metric.violet::after{background:#a657ff}

.tv-settings-metric-icon{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:grid;
    place-items:center;
    border:1px solid #1d5d87;
    border-radius:10px;
    background:#0b2740;
    color:#46bfff;
    font-size:15px;
    font-weight:900;
}

.tv-settings-metric.green .tv-settings-metric-icon{color:#00e5b7;border-color:rgba(0,229,183,.35);background:rgba(0,229,183,.08)}
.tv-settings-metric.red .tv-settings-metric-icon{color:#ff5a73;border-color:rgba(255,73,100,.35);background:rgba(255,73,100,.08)}
.tv-settings-metric.yellow .tv-settings-metric-icon{color:#ffe000;border-color:rgba(255,224,0,.35);background:rgba(255,224,0,.08)}
.tv-settings-metric.violet .tv-settings-metric-icon{color:#c57aff;border-color:rgba(166,87,255,.35);background:rgba(166,87,255,.08)}

.tv-settings-metric span{
    display:block;
    color:#8caec6;
    font-size:12.5px;
    margin-bottom:4px;
}

.tv-settings-metric strong{
    display:block;
    font-size:22px;
    line-height:1.08;
}

.tv-settings-metric small{
    display:block;
    color:#7396af;
    font-size:11.5px;
    margin-top:6px;
    line-height:1.35;
}

.tv-settings-feedback{
    height:0;
    opacity:0;
    overflow:hidden;
    transform:translateY(-4px);
    transition:.2s ease;
    border-radius:10px;
    font-size:13px;
    font-weight:800;
}

.tv-settings-feedback.visible{
    height:auto;
    opacity:1;
    transform:none;
    margin:0 0 14px;
    padding:10px 13px;
    border:1px solid #1d5574;
    background:#0b2639;
    color:#b9d8ec;
}

.tv-settings-feedback.success{border-color:rgba(0,229,183,.35);background:rgba(0,229,183,.07);color:#42f0ca}
.tv-settings-feedback.error{border-color:rgba(255,73,100,.35);background:rgba(255,73,100,.07);color:#ff7b90}
.tv-settings-feedback.warning{border-color:rgba(255,224,0,.35);background:rgba(255,224,0,.07);color:#ffe84f}

.tv-settings-main-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
    gap:14px;
    margin-bottom:14px;
}

.tv-settings-lists-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:14px;
}

.tv-settings-card{
    border:1px solid #17384f;
    border-radius:15px;
    background:linear-gradient(145deg,#081927,#0a1d2c);
    padding:18px;
}

.tv-settings-card-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}

.tv-settings-card-heading h2{
    margin:4px 0 0;
    font-size:19px;
    line-height:1.15;
}

.tv-settings-heading-icon{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:1px solid #1d5d87;
    border-radius:10px;
    background:#0b2740;
    color:#46bfff;
    font-size:14px;
    font-weight:900;
}

.tv-settings-heading-icon.green{
    color:#00e5b7;
    border-color:rgba(0,229,183,.3);
    background:rgba(0,229,183,.07);
}

.tv-settings-card-description{
    margin:-3px 0 14px;
    color:#86a7bf;
    font-size:13px;
    line-height:1.45;
}

.tv-settings-financial-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.tv-settings-field-block{
    min-height:225px;
    display:flex;
    flex-direction:column;
    padding:15px;
    border:1px solid #16384f;
    border-radius:12px;
    background:#071725;
}

.tv-settings-field-block.locked{
    border-color:rgba(255,224,0,.2);
}

.tv-settings-field-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}

.tv-settings-field-title label{
    display:block;
    color:#f1f7fb;
    font-size:14px;
    font-weight:900;
}

.tv-settings-field-title small{
    display:block;
    max-width:330px;
    margin-top:4px;
    color:#7699b2;
    font-size:11.5px;
    line-height:1.4;
}

.tv-settings-edit-badge,
.tv-settings-lock-badge{
    flex:0 0 auto;
    padding:5px 7px;
    border-radius:6px;
    font-size:9.5px;
    font-weight:900;
    letter-spacing:.06em;
}

.tv-settings-edit-badge{
    color:#00e5b7;
    background:rgba(0,229,183,.08);
}

.tv-settings-lock-badge{
    color:#ffe43b;
    background:rgba(255,224,0,.08);
}

.tv-settings-money-input{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    overflow:hidden;
    border:1px solid #1a425d;
    border-radius:10px;
    background:#040e17;
    margin-bottom:11px;
}

.tv-settings-money-input>span{
    align-self:stretch;
    display:grid;
    place-items:center;
    padding:0 12px;
    border-right:1px solid #193b52;
    color:#67badf;
    font-size:13px;
    font-weight:900;
}

.tv-settings-money-input input{
    width:100%;
    min-height:45px;
    padding:9px 12px;
    border:0;
    outline:0;
    background:transparent;
    color:#f4f8fb;
    font-size:16px;
    font-weight:800;
    font-family:inherit;
}

.tv-settings-money-input input:disabled{
    color:#7695a9;
    cursor:not-allowed;
}

.tv-settings-warning-text{
    margin:0 0 11px;
    color:#c8b85d;
    font-size:12px;
    line-height:1.45;
}

.tv-settings-warning-text strong{color:#ffe347}

.tv-settings-primary-btn,
.tv-settings-secondary-btn,
.tv-settings-add-btn{
    min-height:40px;
    border-radius:9px;
    font-size:12.5px;
    font-weight:900;
    cursor:pointer;
    transition:.18s ease;
}

.tv-settings-primary-btn{
    margin-top:auto;
    border:1px solid #1879df;
    background:linear-gradient(180deg,#2388ff,#156ae1);
    color:#fff;
}

.tv-settings-primary-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}

.tv-settings-secondary-btn{
    margin-top:auto;
    border:1px solid #1b435d;
    background:#0a2233;
    color:#9dc7df;
}

.tv-settings-secondary-btn:hover{border-color:#286789;color:#fff}

.tv-settings-rule-list{
    display:grid;
    gap:8px;
}

.tv-settings-rule-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:12px 11px;
    border:1px solid #14354b;
    border-radius:10px;
    background:#071725;
}

.tv-settings-rule-row strong{
    display:block;
    color:#dceaf3;
    font-size:13px;
}

.tv-settings-rule-row small{
    display:block;
    margin-top:3px;
    color:#7697ae;
    font-size:10.8px;
    line-height:1.35;
}

.tv-settings-rule-row b{
    flex:0 0 auto;
    color:#00e5b7;
    font-size:14px;
}

.tv-settings-count{
    min-width:34px;
    height:29px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:rgba(0,174,255,.09);
    color:#4ec6ff;
    font-size:12px;
    font-weight:900;
}

.tv-settings-count.violet{
    background:rgba(166,87,255,.09);
    color:#c77dff;
}

.tv-settings-add-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:9px;
    margin-bottom:12px;
}

.tv-settings-add-row input{
    min-width:0;
    min-height:42px;
    padding:9px 12px;
    border:1px solid #173b53;
    border-radius:9px;
    outline:0;
    background:#040e17;
    color:#f1f7fb;
    font-size:13px;
}

.tv-settings-add-row input::placeholder{color:#53758e}
.tv-settings-add-row input:focus{border-color:#2488d9;box-shadow:0 0 0 2px rgba(36,136,217,.08)}

.tv-settings-add-btn{
    padding:0 14px;
    border:1px solid rgba(0,229,183,.36);
    background:rgba(0,229,183,.08);
    color:#21e8c0;
}

.tv-settings-add-btn.violet{
    border-color:rgba(166,87,255,.38);
    background:rgba(166,87,255,.09);
    color:#c783ff;
}

.tv-settings-add-btn:hover{filter:brightness(1.15)}

.tv-settings-item-list{
    display:grid;
    gap:7px;
    max-height:390px;
    overflow:auto;
    padding-right:3px;
}

.tv-settings-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 11px;
    border:1px solid #14354b;
    border-radius:10px;
    background:#071725;
}

.tv-settings-item-main{
    min-width:0;
    display:flex;
    align-items:center;
    gap:10px;
}

.tv-settings-item-dot{
    width:9px;
    height:9px;
    flex:0 0 9px;
    border-radius:50%;
    background:#00e5b7;
    box-shadow:0 0 10px rgba(0,229,183,.35);
}

.tv-settings-item-dot.violet{
    background:#a657ff;
    box-shadow:0 0 10px rgba(166,87,255,.35);
}

.tv-settings-item small{
    display:block;
    color:#688da7;
    font-size:9.5px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.tv-settings-item strong{
    display:block;
    max-width:380px;
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#e5f0f7;
    font-size:13px;
}

.tv-settings-delete-btn{
    flex:0 0 auto;
    min-height:30px;
    padding:5px 9px;
    border:1px solid rgba(255,73,100,.24);
    border-radius:7px;
    background:rgba(255,73,100,.05);
    color:#ff7185;
    font-size:10.5px;
    font-weight:800;
    cursor:pointer;
}

.tv-settings-delete-btn:hover:not(:disabled){background:rgba(255,73,100,.12);border-color:rgba(255,73,100,.45)}
.tv-settings-delete-btn:disabled{opacity:.35;cursor:not-allowed}

.tv-settings-info-strip{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:14px 16px;
    border:1px solid #17384f;
    border-radius:12px;
    background:#071725;
}

.tv-settings-info-icon{
    width:29px;
    height:29px;
    flex:0 0 29px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#0a2940;
    color:#50beff;
    font-weight:900;
}

.tv-settings-info-strip strong{
    display:block;
    color:#dceaf3;
    font-size:13px;
}

.tv-settings-info-strip p{
    margin:4px 0 0;
    color:#7799b1;
    font-size:12px;
    line-height:1.5;
}

@media (max-width:1250px){
    .tv-settings-metrics{grid-template-columns:repeat(2,1fr)}
    .tv-settings-main-grid{grid-template-columns:1fr}
}

@media (max-width:900px){
    .tv-settings-v2{padding:18px 14px 32px}
    .tv-settings-header{align-items:flex-start;flex-direction:column}
    .tv-settings-save-badge{width:100%}
    .tv-settings-lists-grid,.tv-settings-financial-grid{grid-template-columns:1fr}
}

@media (max-width:620px){
    .tv-settings-metrics{grid-template-columns:1fr}
    .tv-settings-add-row{grid-template-columns:1fr}
    .tv-settings-add-btn{min-height:42px}
    .tv-settings-field-title{flex-direction:column}
}


/* BACKUP E SEGURANÇA */

.tv-settings-backup-card{
    margin-top:20px;
}

.tv-settings-backup-summary{
    display:grid;
    gap:10px;
    margin:20px 0;
    padding:18px;
    background:rgba(255,255,255,.03);
    border:1px solid var(--border);
    border-radius:14px;
    color:var(--text-secondary);
}

.tv-settings-backup-summary strong{
    color:var(--text-primary);
}

.tv-settings-backup-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}


/* ==========================================================
   TRADER VITA - ANALYTICS SCORE PREMIUM FIX
   Adicionar ao final do style.css
   ========================================================== */

.analytics-score-card{
    background:linear-gradient(145deg,rgba(15,28,46,.98),rgba(9,19,32,.98));
    border:1px solid var(--border);
    border-radius:18px;
    padding:24px;
    box-shadow:var(--shadow-card);
    min-height:320px;
}

.analytics-score-header{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:22px;
}

.analytics-score-header h3{
    margin:0;
    color:var(--text-primary);
    font-size:18px;
}

.analytics-score-circle{
    width:105px;
    height:105px;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    margin:0 auto 22px;
    border:5px solid #a657ff;
    box-shadow:0 0 35px rgba(166,87,255,.25);
}

.analytics-score-circle strong{
    font-size:34px;
    line-height:1;
    color:#fff;
}

.analytics-score-circle span{
    color:var(--text-secondary);
    font-size:12px;
}

.analytics-score-label{
    text-align:center;
    color:#a657ff;
    font-weight:800;
    margin-bottom:20px;
}

.analytics-progress-item{
    margin-bottom:15px;
}

.analytics-progress-top{
    display:flex;
    justify-content:space-between;
    color:var(--text-secondary);
    font-size:12px;
    margin-bottom:7px;
}

.analytics-progress-top strong{
    color:#fff;
}

.analytics-progress-bar{
    height:8px;
    border-radius:20px;
    background:#071321;
    overflow:hidden;
}

.analytics-progress-fill{
    height:100%;
    border-radius:20px;
    background:linear-gradient(90deg,#1677ff,#00d6a3);
}

.analytics-message-card{
    margin-top:18px;
    padding:16px;
    border-radius:14px;
    background:rgba(166,87,255,.08);
    border:1px solid rgba(166,87,255,.22);
}

.analytics-message-card strong{
    color:#fff;
    display:block;
    margin-bottom:6px;
}

.analytics-message-card p{
    color:var(--text-secondary);
    line-height:1.5;
    font-size:13px;
}

.analytics-layout-fix{
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);
    gap:20px;
}

@media(max-width:1000px){
    .analytics-layout-fix{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   TRADER VITA — PROJEÇÃO V13
   VERSÃO CONSOLIDADA E LIMPA
========================================================== */


/* ==========================================================
   PÁGINA
========================================================== */

.tv-projection-page{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:16px;

    padding:
        14px
        14px
        28px;

    box-sizing:border-box;

    color:#eef7fb;
}


/* ==========================================================
   HEADER
========================================================== */

.tv-projection-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    gap:24px;

    padding:
        2px
        0
        4px;
}


.tv-projection-header > div:first-child{
    min-width:0;
}


.tv-projection-kicker{
    display:block;

    margin-bottom:7px;

    color:#10d9b3;

    font-size:10px;
    font-weight:800;

    letter-spacing:.18em;

    text-transform:uppercase;
}


.tv-projection-header h1{
    margin:0;

    color:#f4f9fb;

    font-size:30px;
    font-weight:800;

    line-height:1.05;

    letter-spacing:-.03em;
}


.tv-projection-header p{
    margin:
        9px
        0
        0;

    color:#8ea6b6;

    font-size:14px;

    line-height:1.45;
}


.tv-projection-badge{
    min-width:104px;

    padding:
        12px
        15px;

    border:
        1px
        solid
        rgba(16,217,179,.26);

    border-radius:13px;

    background:
        rgba(16,217,179,.035);

    text-align:center;
}


.tv-projection-badge span{
    display:block;

    color:#7895a6;

    font-size:9px;
    font-weight:800;

    letter-spacing:.12em;

    text-transform:uppercase;
}


.tv-projection-badge strong{
    display:block;

    margin-top:4px;

    color:#10e0bb;

    font-size:15px;

    line-height:1.1;
}


/* ==========================================================
   CARDS SUPERIORES
========================================================== */

.tv-projection-summary-grid{
    display:grid;

    grid-template-columns:
        repeat(
            6,
            minmax(0,1fr)
        );

    gap:12px;
}


.tv-projection-summary-card{
    min-width:0;

    min-height:92px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:
        15px
        16px;

    border:
        1px
        solid
        rgba(82,126,151,.18);

    border-radius:13px;

    background:
        linear-gradient(
            180deg,
            #10293a,
            #0b2130
        );

    box-sizing:border-box;
}


.tv-projection-summary-card > span{
    display:block;

    margin:
        0
        0
        7px;

    color:#7894a6;

    font-size:9px;
    font-weight:700;

    line-height:1.2;

    letter-spacing:.12em;

    text-transform:uppercase;
}


.tv-projection-summary-card > strong{
    display:block;

    margin:0;

    color:#f3f8fb;

    font-size:18px;
    font-weight:800;

    line-height:1.1;

    white-space:nowrap;

    letter-spacing:-.02em;
}


.tv-projection-summary-card > small{
    display:block;

    margin-top:7px;

    color:#6d8798;

    font-size:9px;

    line-height:1.25;

    white-space:normal;
}


/* ==========================================================
   TRAJETÓRIA + ETAPA ATUAL
========================================================== */

.tvp-growth-panel{
    width:100%;

    padding:
        18px
        20px;

    border:
        1px
        solid
        rgba(16,217,179,.20);

    border-radius:15px;

    background:
        linear-gradient(
            135deg,
            rgba(10,34,47,.97),
            rgba(7,25,37,.97)
        );

    box-sizing:border-box;
}


.tvp-growth-top{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:24px;
}


.tvp-growth-main{
    min-width:0;
}


.tvp-growth-kicker{
    display:block;

    margin-bottom:7px;

    color:#7ea2b5;

    font-size:9px;
    font-weight:800;

    letter-spacing:.16em;

    text-transform:uppercase;
}


.tvp-growth-values{
    display:flex;

    align-items:center;

    gap:14px;

    flex-wrap:wrap;
}


.tvp-growth-values strong{
    color:#f4f9fb;

    font-size:27px;
    font-weight:800;

    line-height:1.05;

    letter-spacing:-.02em;

    white-space:nowrap;
}


.tvp-growth-values span{
    color:#10d9b3;

    font-size:22px;

    line-height:1;
}


.tvp-growth-main p{
    margin:
        7px
        0
        0;

    color:#8ea6b5;

    font-size:12.5px;

    line-height:1.4;
}


/* ==========================================================
   HORIZONTE
========================================================== */

.tvp-growth-horizon{
    min-width:90px;

    padding:
        10px
        13px;

    border:
        1px
        solid
        rgba(16,217,179,.18);

    border-radius:11px;

    background:
        rgba(16,217,179,.035);

    text-align:center;
}


.tvp-growth-horizon span{
    display:block;

    color:#6f8b9c;

    font-size:8px;
    font-weight:800;

    letter-spacing:.12em;

    text-transform:uppercase;
}


.tvp-growth-horizon strong{
    display:block;

    margin-top:4px;

    color:#10e1bb;

    font-size:15px;

    line-height:1.1;
}


/* ==========================================================
   DIVISOR
========================================================== */

.tvp-growth-divider{
    height:1px;

    margin:
        14px
        0;

    background:
        rgba(90,135,158,.15);
}


/* ==========================================================
   ETAPA ATUAL
========================================================== */

.tvp-growth-stage-head{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:18px;

    margin-bottom:11px;
}


.tvp-growth-stage-head
> div:first-child
> span{
    display:block;

    color:#10d9b3;

    font-size:9px;
    font-weight:800;

    letter-spacing:.12em;

    text-transform:uppercase;
}


.tvp-growth-stage-head
> div:first-child
> strong{
    display:block;

    margin-top:3px;

    color:#f3f8fa;

    font-size:18px;

    line-height:1.1;
}


.tvp-growth-stage-count{
    display:flex;

    align-items:baseline;

    gap:6px;
}


.tvp-growth-stage-count strong{
    color:#10e1bb;

    font-size:18px;

    line-height:1;
}


.tvp-growth-stage-count span{
    color:#7791a1;

    font-size:9px;
}


/* ==========================================================
   GRID DA ETAPA
========================================================== */

.tvp-growth-stage-grid{
    display:grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap:10px;
}


/* ==========================================================
   CARDS DA ETAPA
========================================================== */

.tvp-stage-metric-card{
    position:relative;

    min-width:0;

    min-height:78px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:
        12px
        14px;

    border:
        1px
        solid
        rgba(63,110,138,.22);

    border-radius:11px;

    background:
        linear-gradient(
            180deg,
            rgba(15,39,56,.94),
            rgba(9,27,40,.96)
        );

    box-sizing:border-box;
}


.tvp-stage-metric-icon{
    width:38px;
    height:38px;

    min-width:38px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:11px;

    color:#ecfeff;

    font-size:15px;
    font-weight:800;

    background:
        linear-gradient(
            180deg,
            #2f82ff,
            #1957c8
        );

    box-shadow:
        0
        7px
        18px
        rgba(17,86,184,.18);
}


.tvp-stage-metric-card.is-profit
.tvp-stage-metric-icon{
    background:
        linear-gradient(
            180deg,
            #0ecb9a,
            #087d66
        );

    box-shadow:
        0
        7px
        18px
        rgba(8,125,102,.18);
}


.tvp-stage-metric-card.is-projection
.tvp-stage-metric-icon{
    background:
        linear-gradient(
            180deg,
            #5a8cff,
            #3854dc
        );
}


.tvp-stage-metric-body{
    min-width:0;

    display:flex;

    flex-direction:column;

    gap:4px;
}


.tvp-stage-metric-label{
    color:#89a4b5;

    font-size:9px;
    font-weight:800;

    line-height:1.2;

    letter-spacing:.12em;

    text-transform:uppercase;
}


.tvp-stage-metric-value{
    color:#f4f9fb;

    font-size:18px;
    font-weight:800;

    line-height:1.05;

    white-space:nowrap;

    letter-spacing:-.02em;
}


.tvp-stage-metric-card.is-profit
.tvp-stage-metric-value{
    color:#10e0bb;
}


.tvp-stage-metric-card.is-projection
.tvp-stage-metric-value{
    color:#8fc6ff;
}


.tvp-stage-metric-sub{
    color:#728d9e;

    font-size:9px;

    line-height:1.2;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;
}


/* ==========================================================
   PROGRESSO OPERACIONAL
========================================================== */

.tvp-growth-progress{
    margin-top:12px;
}


.tvp-growth-progress-head{
    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:6px;
}


.tvp-growth-progress-head span{
    color:#7390a1;

    font-size:8px;
    font-weight:800;

    letter-spacing:.10em;
}


.tvp-growth-progress-head strong{
    color:#dce7ec;

    font-size:10px;
}


.tvp-growth-progress-track{
    height:6px;

    overflow:hidden;

    border-radius:999px;

    background:#071820;

    border:
        1px
        solid
        rgba(59,103,127,.22);
}


.tvp-growth-progress-fill{
    height:100%;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            #2b8fff,
            #10d9b3
        );

    transition:
        width
        .25s
        ease;
}


/* ==========================================================
   PAINÉIS
========================================================== */

.tv-projection-panel{
    width:100%;

    min-width:0;

    padding:
        16px
        18px;

    border:
        1px
        solid
        rgba(72,113,138,.18);

    border-radius:15px;

    background:#081c2a;

    box-sizing:border-box;
}


.tv-projection-panel-head{
    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:18px;

    margin-bottom:10px;
}


.tv-projection-panel-head h2{
    margin:0;

    color:#f1f7fa;

    font-size:17px;

    line-height:1.2;
}


.tv-projection-panel-head p{
    margin:
        4px
        0
        0;

    color:#8198a8;

    font-size:11px;

    line-height:1.4;
}


/* ==========================================================
   BADGE DA TABELA
========================================================== */

.tv-projection-table-badge{
    flex:
        0
        0
        auto;

    padding:
        8px
        11px;

    border:
        1px
        solid
        rgba(77,120,145,.18);

    border-radius:999px;

    background:
        rgba(255,255,255,.015);
}


.tv-projection-table-badge span{
    color:#7c96a6;

    font-size:8px;

    letter-spacing:.04em;
}


/* ==========================================================
   GRÁFICO
========================================================== */

.tv-projection-chart-wrap{
    position:relative;

    width:100%;

    height:230px;

    min-height:230px;

    max-height:230px;
}


.tv-projection-chart-wrap canvas{
    width:100% !important;

    height:230px !important;

    max-height:230px !important;
}


/* ==========================================================
   TABELA
========================================================== */

.tv-projection-table-scroll{
    width:100%;

    max-width:100%;

    min-width:0;

    overflow-x:hidden;

    overflow-y:visible;

    border-radius:10px;

    scrollbar-width:none;
}


.tv-projection-table-scroll::-webkit-scrollbar{
    display:none;
}


.tv-projection-table{
    width:100%;

    max-width:100%;

    min-width:0;

    table-layout:fixed;

    border-collapse:collapse;

    margin:0;
}


.tv-projection-table th,
.tv-projection-table td{
    min-width:0;

    box-sizing:border-box;

    overflow:hidden;

    text-overflow:clip;
}


/* ==========================================================
   CABEÇALHO DA TABELA
========================================================== */

.tv-projection-table
thead
th{
    text-align:center;

    text-transform:uppercase;

    border-color:
        rgba(120,155,180,.08);
}


.tv-projection-table
thead
tr:first-child
th{
    padding:
        11px
        3px
        8px;

    background:
        linear-gradient(
            180deg,
            rgba(15,40,58,.96),
            rgba(12,32,46,.92)
        );

    color:#cfe5f0;

    font-size:9px;
    font-weight:700;

    letter-spacing:.12em;

    border-bottom:
        1px
        solid
        rgba(255,255,255,.05);
}


.tv-projection-table
thead
tr:first-child
th[colspan]{
    color:#edf7fb;

    font-size:11px;
    font-weight:800;

    letter-spacing:.18em;
}


.tv-projection-table
thead
tr:first-child
th[colspan]::after{
    content:"";

    display:block;

    width:28px;

    height:2px;

    margin:
        6px
        auto
        0;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            rgba(0,255,209,.18),
            rgba(0,255,209,.75),
            rgba(0,255,209,.18)
        );
}


.tv-projection-table
thead
tr:nth-child(2)
th{
    padding:
        8px
        2px
        10px;

    background:
        rgba(255,255,255,.012);

    color:#d6e7ef;

    font-size:10px;
    font-weight:700;

    letter-spacing:.05em;
}


/* ==========================================================
   LINHAS
========================================================== */

.tv-projection-table
tbody
td{
    padding:
        13px
        2px;

    text-align:center;

    vertical-align:middle;

    border-top:
        1px
        solid
        rgba(69,109,133,.06);
}


.tv-projection-table
tbody
tr:hover{
    background:
        rgba(255,255,255,.012);
}


/* ==========================================================
   DIA
========================================================== */

.tv-projection-day{
    text-align:center;
}


.tv-projection-day > span{
    display:block;

    color:#dce8ed;

    font-size:11px;
    font-weight:800;

    line-height:1.2;

    white-space:nowrap;
}


/* ==========================================================
   ENTRADAS
========================================================== */

.tv-projection-entry{
    white-space:nowrap;
}


.tv-projection-entry strong{
    display:block;

    color:#eef5f8;

    font-size:11px;
    font-weight:700;

    line-height:1.15;

    white-space:nowrap;
}


.tv-projection-entry small{
    display:block;

    margin-top:3px;

    color:#718a9b;

    font-size:8px;

    line-height:1.1;

    white-space:nowrap;
}


/* ==========================================================
   LUCRO DO DIA
========================================================== */

.tv-projection-day-profit strong{
    color:#10e0bb;

    font-size:11px;
    font-weight:800;

    white-space:nowrap;
}


/* ==========================================================
   TOTAL
========================================================== */

.tv-projection-total{
    text-align:right !important;

    padding-right:8px !important;
}


.tv-projection-total > strong{
    color:#f1f6f9;

    font-size:11px;
    font-weight:800;

    white-space:nowrap;
}


/* ==========================================================
   AGRUPAMENTO DOS SOROS
========================================================== */

.tv-projection-table
td:nth-child(3),

.tv-projection-table
td:nth-child(5),

.tv-projection-table
td:nth-child(7){
    background:
        rgba(255,255,255,.008);
}


.tv-projection-table
th:nth-child(8),

.tv-projection-table
td:nth-child(8){
    border-left:
        1px
        solid
        rgba(16,217,179,.08);
}


.tv-projection-table
th:nth-child(9),

.tv-projection-table
td:nth-child(9){
    border-left:
        1px
        solid
        rgba(89,120,142,.12);
}


/* ==========================================================
   DIA ATUAL
========================================================== */

.tvp-projection-current-row{
    background:
        linear-gradient(
            90deg,
            rgba(16,217,179,.07)
            0%,

            rgba(16,217,179,.025)
            45%,

            rgba(16,217,179,.01)
            100%
        )
        !important;
}


.tvp-projection-current-row
td:first-child{
    position:relative;
}


.tvp-projection-current-row
td:first-child::before{
    content:"";

    position:absolute;

    left:0;

    top:8px;

    bottom:8px;

    width:3px;

    border-radius:
        0
        4px
        4px
        0;

    background:#10d9b3;

    box-shadow:
        0
        0
        9px
        rgba(16,217,179,.24);
}


.tvp-projection-current-day{
    color:#10e0bb !important;
}


/* ==========================================================
   INFORMAÇÕES FINAIS
========================================================== */

.tv-projection-info{
    display:grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap:12px;
}


.tv-projection-info > div{
    padding:
        14px
        15px;

    border:
        1px
        solid
        rgba(72,113,138,.16);

    border-radius:12px;

    background:#081a27;
}


.tv-projection-info strong{
    display:block;

    margin-bottom:5px;

    color:#dfeaf0;

    font-size:11px;
}


.tv-projection-info p{
    margin:0;

    color:#7892a3;

    font-size:10px;

    line-height:1.45;
}


/* ==========================================================
   RESPONSIVO — 1400
========================================================== */

@media(max-width:1400px){

    .tv-projection-summary-grid{
        gap:10px;
    }


    .tv-projection-summary-card{
        padding:
            13px
            14px;
    }


    .tv-projection-summary-card
    > strong{
        font-size:16px;
    }


    .tvp-growth-values strong{
        font-size:24px;
    }


    .tvp-stage-metric-value{
        font-size:17px;
    }

}


/* ==========================================================
   RESPONSIVO — 1200
========================================================== */

@media(max-width:1200px){

    .tv-projection-summary-grid{
        grid-template-columns:
            repeat(
                3,
                minmax(0,1fr)
            );
    }


    .tvp-growth-stage-grid{
        grid-template-columns:1fr;
    }


    .tv-projection-info{
        grid-template-columns:1fr;
    }

}


/* ==========================================================
   RESPONSIVO — 900
========================================================== */

@media(max-width:900px){

    .tv-projection-header{
        flex-direction:column;
    }


    .tv-projection-badge{
        width:100%;

        box-sizing:border-box;
    }


    .tv-projection-summary-grid{
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }


    .tvp-growth-top{
        flex-direction:column;

        align-items:flex-start;
    }


    .tvp-growth-horizon{
        width:100%;

        box-sizing:border-box;
    }

}


/* ==========================================================
   RESPONSIVO — 620
========================================================== */

@media(max-width:620px){

    .tv-projection-page{
        padding-left:10px;

        padding-right:10px;
    }


    .tv-projection-summary-grid{
        grid-template-columns:1fr;
    }


    .tvp-growth-values{
        align-items:flex-start;
    }


    .tvp-growth-values strong{
        font-size:21px;
    }


    .tv-projection-chart-wrap,
    .tv-projection-chart-wrap canvas{
        height:210px !important;

        min-height:210px !important;

        max-height:210px !important;
    }

}

/* ==========================================================
   TRADER VITA — CORREÇÃO VISUAL DA TRAJETÓRIA PROJETADA
   Adicionar no FINAL do CSS principal
========================================================== */

.tv-projection-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    width:100%;
    box-sizing:border-box;
    margin:0 0 16px 0;
    padding:22px 24px;
    border-radius:15px;
    border:1px solid rgba(16,217,179,.16);
    background:
        radial-gradient(circle at 15% 20%, rgba(16,217,179,.075), transparent 38%),
        rgba(8,25,38,.94);
    box-shadow:0 10px 28px rgba(0,0,0,.08);
}

.tv-projection-hero-copy{
    flex:1;
    min-width:0;
}

.tv-projection-hero-copy > span{
    display:block;
    color:#7190a4;
    font-size:10px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.tv-projection-hero-copy h2{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin:8px 0 6px;
    color:#f5fafc;
    font-size:28px;
    font-weight:700;
    line-height:1.15;
}

.tv-projection-hero-copy h2 small{
    padding:0 4px;
    color:#10d9b3;
    font-size:20px;
    font-weight:600;
}

.tv-projection-hero-copy p{
    max-width:620px;
    margin:0;
    color:#7f96a7;
    font-size:12px;
    line-height:1.55;
}

.tv-projection-hero-stats{
    display:flex;
    align-items:stretch;
    justify-content:flex-end;
    gap:10px;
    flex-shrink:0;
}

.tv-projection-hero-stats > div{
    min-width:112px;
    box-sizing:border-box;
    padding:12px 14px;
    border-radius:11px;
    border:1px solid rgba(91,122,144,.14);
    background:rgba(3,18,28,.45);
}

.tv-projection-hero-stats span{
    display:block;
    color:#70899d;
    font-size:9px;
    line-height:1.25;
}

.tv-projection-hero-stats strong{
    display:block;
    margin-top:4px;
    color:#eef5f8;
    font-size:15px;
    font-weight:700;
    line-height:1.2;
}

@media (max-width:900px){
    .tv-projection-hero{
        flex-direction:column;
        align-items:stretch;
    }

    .tv-projection-hero-stats{
        justify-content:flex-start;
        flex-wrap:wrap;
    }
}

@media (max-width:600px){
    .tv-projection-hero{
        padding:18px;
    }

    .tv-projection-hero-copy h2{
        font-size:21px;
    }

    .tv-projection-hero-stats{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .tv-projection-hero-stats > div{
        min-width:0;
    }
}

/* ==========================================================
   TRADER VITA — CONFIGURAÇÕES COMPACTAS
   Cole no FINAL de css/style.css
========================================================== */

/* Ativos + Estratégias: dois cards compactos lado a lado */
.tv-settings-lists-grid-compact{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:start !important;
    margin-top:16px !important;
}

/* reduz altura visual dos cards */
.tv-settings-lists-grid-compact .tv-settings-list-card{
    min-height:0 !important;
    height:auto !important;
    padding:18px !important;
}

/* descrições mais enxutas */
.tv-settings-lists-grid-compact .tv-settings-card-description{
    margin:6px 0 12px !important;
    font-size:11px !important;
    line-height:1.45 !important;
}

/* linha de adicionar mais compacta */
.tv-settings-lists-grid-compact .tv-settings-add-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    margin-bottom:10px !important;
}

.tv-settings-lists-grid-compact .tv-settings-add-row input{
    min-width:0 !important;
    height:40px !important;
}

.tv-settings-lists-grid-compact .tv-settings-add-btn{
    min-width:108px !important;
    height:40px !important;
    padding:0 14px !important;
}

/* listas menores; só rolam se realmente necessário */
.tv-settings-lists-grid-compact .tv-settings-item-list{
    max-height:220px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding-right:4px !important;
}

/* itens mais baixos */
.tv-settings-lists-grid-compact .tv-settings-item{
    min-height:38px !important;
    padding:7px 9px !important;
    gap:8px !important;
}

.tv-settings-lists-grid-compact .tv-settings-item-main{
    min-width:0 !important;
}

.tv-settings-lists-grid-compact .tv-settings-item-main strong,
.tv-settings-lists-grid-compact .tv-settings-item-main span{
    font-size:12px !important;
}

/* botão de exclusão compacto */
.tv-settings-lists-grid-compact .tv-settings-remove-btn{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
}

/* preserva o card de integridade, mas sem ocupar muito */
.tv-settings-info-strip{
    margin-top:16px !important;
}

/* responsivo */
@media (max-width:900px){
    .tv-settings-lists-grid-compact{
        grid-template-columns:1fr !important;
    }
}

/* ==========================================================
   TRADER VITA — ANÁLISES PREMIUM COMPACTA
   Cole no FINAL de css/style.css
========================================================== */

.tv-analytics-v2{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
    padding:4px 0 28px !important;
}

/* Cabeçalho mais enxuto */
.tv-an-header{
    min-height:0 !important;
    margin-bottom:0 !important;
    align-items:flex-end !important;
}

.tv-an-header h1{
    margin:4px 0 4px !important;
    font-size:30px !important;
    line-height:1.05 !important;
}

.tv-an-header p{
    margin:0 !important;
    font-size:13px !important;
}

.tv-an-history-badge{
    min-width:165px !important;
    padding:10px 14px !important;
    border-radius:12px !important;
}

/* Métricas principais */
.tv-an-metrics-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
    margin:0 !important;
}

.tv-an-metric{
    min-height:96px !important;
    padding:14px 15px !important;
    gap:12px !important;
    border-radius:14px !important;
}

.tv-an-metric-icon{
    flex-basis:40px !important;
    width:40px !important;
    height:40px !important;
}

.tv-an-metric-copy > span{
    font-size:10px !important;
}

.tv-an-metric-copy > strong{
    margin:2px 0 !important;
    font-size:22px !important;
    line-height:1.05 !important;
}

.tv-an-metric-copy > small{
    font-size:10px !important;
    line-height:1.3 !important;
}

/* Melhor estratégia / ativo / recomendação */
.tv-an-intelligence-grid{
    display:grid !important;
    grid-template-columns:.9fr .9fr 1.2fr !important;
    gap:12px !important;
    margin:0 !important;
}

.tv-an-best-card,
.tv-an-recommendation{
    min-height:150px !important;
    height:auto !important;
    padding:15px 16px !important;
    border-radius:14px !important;
}

.tv-an-card-topline{
    margin-bottom:7px !important;
}

.tv-an-best-card h2,
.tv-an-rec-empty h2{
    font-size:18px !important;
}

.tv-an-best-main{
    margin-top:8px !important;
}

.tv-an-best-main strong{
    font-size:26px !important;
}

.tv-an-best-meta{
    margin-top:10px !important;
    gap:5px !important;
}

.tv-an-best-meta span,
.tv-an-rec-meta span,
.tv-an-sample-label{
    padding:4px 7px !important;
    font-size:9px !important;
}

.tv-an-rec-pair{
    gap:7px !important;
}

.tv-an-rec-pair > div{
    padding:8px 9px !important;
}

.tv-an-rec-copy{
    margin:7px 0 !important;
    font-size:10.5px !important;
}

/* ==========================================================
   BLOCO CENTRAL: 2x2 LIMPO
========================================================== */

.tv-an-health-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-areas:
        "score health"
        "discipline results" !important;
    gap:12px !important;
    margin:0 !important;
    align-items:stretch !important;
}

.tv-an-score-card{
    grid-area:score !important;
}

.tv-an-health-card{
    grid-area:health !important;
}

.tv-an-discipline-card{
    grid-area:discipline !important;
}

.tv-an-result-card{
    grid-area:results !important;
}

.tv-an-score-card,
.tv-an-health-card,
.tv-an-discipline-card,
.tv-an-result-card{
    min-height:0 !important;
    height:auto !important;
    padding:16px !important;
    border-radius:14px !important;
    box-sizing:border-box !important;
}

/* Score Trader Vita */
.tv-an-score-card{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
}

.tv-an-score-main{
    margin:6px 0 12px !important;
}

.tv-an-score-main strong{
    font-size:28px !important;
    line-height:1 !important;
}

.tv-an-score-main span{
    font-size:12px !important;
}

.tv-an-score-card .tv-an-health-stats{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:0 !important;
    margin-top:auto !important;
    padding-top:12px !important;
    border-top:1px solid rgba(102,148,178,.12) !important;
}

.tv-an-score-card .tv-an-health-stats > div{
    padding:0 10px !important;
    border-right:1px solid rgba(102,148,178,.12) !important;
}

.tv-an-score-card .tv-an-health-stats > div:first-child{
    padding-left:0 !important;
}

.tv-an-score-card .tv-an-health-stats > div:last-child{
    border-right:0 !important;
}

/* Saúde operacional */
.tv-an-health-card{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:12px 16px !important;
}

.tv-an-health-score-wrap{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
}

.tv-an-score-ring{
    flex:0 0 82px !important;
    width:82px !important;
    height:82px !important;
}

.tv-an-score-ring > div{
    padding-top:24px !important;
}

.tv-an-score-ring strong{
    font-size:23px !important;
}

.tv-an-health-heading h2{
    margin:3px 0 !important;
    font-size:22px !important;
}

.tv-an-health-heading p{
    margin:0 !important;
    font-size:10.5px !important;
    line-height:1.35 !important;
}

.tv-an-health-analysis{
    padding:11px 12px !important;
    border-radius:10px !important;
}

.tv-an-health-analysis p{
    margin:3px 0 0 !important;
    font-size:11px !important;
    line-height:1.4 !important;
}

.tv-an-health-card .tv-an-health-stats{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:0 !important;
    padding-top:11px !important;
}

.tv-an-health-card .tv-an-health-stats > div{
    padding:0 10px !important;
}

/* Disciplina */
.tv-an-discipline-card{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
}

.tv-an-discipline-card .tv-an-section-title{
    margin-bottom:10px !important;
}

.tv-an-discipline-card .tv-an-health-stats{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:0 !important;
    margin-top:12px !important;
    padding-top:11px !important;
}

.tv-an-discipline-card .tv-an-health-stats > div{
    padding:0 10px !important;
}

/* Distribuição */
.tv-an-result-card{
    display:flex !important;
    flex-direction:column !important;
}

.tv-an-result-stack{
    gap:9px !important;
}

.tv-an-result-row{
    margin:0 !important;
}

.tv-an-result-track{
    height:5px !important;
}

.tv-an-result-footer{
    margin-top:auto !important;
    padding-top:12px !important;
}

/* Rankings */
.tv-an-rankings-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    margin:0 !important;
}

.tv-an-ranking-card{
    min-height:0 !important;
    height:auto !important;
    padding:16px !important;
    border-radius:14px !important;
}

.tv-an-ranking-list{
    gap:7px !important;
}

.tv-an-ranking-row{
    grid-template-columns:30px minmax(0,1fr) !important;
    gap:9px !important;
    padding:8px 9px !important;
}

.tv-an-rank-position{
    width:28px !important;
    height:28px !important;
}

.tv-an-ranking-empty{
    min-height:90px !important;
}

/* aparência mais premium */
.tv-an-metric,
.tv-an-best-card,
.tv-an-recommendation,
.tv-an-score-card,
.tv-an-health-card,
.tv-an-discipline-card,
.tv-an-result-card,
.tv-an-ranking-card{
    box-shadow:0 8px 26px rgba(0,0,0,.08) !important;
}

/* Responsividade */
@media (max-width:1180px){
    .tv-an-metrics-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .tv-an-intelligence-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .tv-an-recommendation{
        grid-column:1 / -1 !important;
    }

    .tv-an-health-grid{
        grid-template-columns:1fr !important;
        grid-template-areas:
            "score"
            "health"
            "discipline"
            "results" !important;
    }
}

@media (max-width:760px){
    .tv-an-header{
        align-items:flex-start !important;
        flex-direction:column !important;
    }

    .tv-an-history-badge{
        width:100% !important;
    }

    .tv-an-metrics-grid,
    .tv-an-intelligence-grid,
    .tv-an-rankings-grid{
        grid-template-columns:1fr !important;
    }

    .tv-an-recommendation{
        grid-column:auto !important;
    }

    .tv-an-score-card .tv-an-health-stats,
    .tv-an-health-card .tv-an-health-stats,
    .tv-an-discipline-card .tv-an-health-stats{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }

    .tv-an-health-card{
        grid-template-columns:1fr !important;
    }

    .tv-an-health-card .tv-an-health-stats{
        grid-column:auto !important;
    }
}

/* ==========================================================
   TRADER VITA — CORREÇÃO FINAL DOS CARDS DE ANÁLISES
========================================================== */

/* SCORE TRADER VITA */
.tv-an-score-card{
    grid-area:score !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;

    min-height:0 !important;
    height:auto !important;

    padding:18px !important;
    box-sizing:border-box !important;

    border:1px solid rgba(74,124,158,.22) !important;
    border-radius:14px !important;

    background:
        linear-gradient(
            180deg,
            rgba(12,34,50,.97),
            rgba(8,25,38,.97)
        ) !important;

    box-shadow:0 10px 28px rgba(0,0,0,.10) !important;
}


/* DISCIPLINA OPERACIONAL */
.tv-an-discipline-card{
    grid-area:discipline !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;

    min-height:0 !important;
    height:auto !important;

    padding:18px !important;
    box-sizing:border-box !important;

    border:1px solid rgba(74,124,158,.22) !important;
    border-radius:14px !important;

    background:
        linear-gradient(
            180deg,
            rgba(12,34,50,.97),
            rgba(8,25,38,.97)
        ) !important;

    box-shadow:0 10px 28px rgba(0,0,0,.10) !important;
}


/* TÍTULOS */
.tv-an-score-card .tv-an-section-title,
.tv-an-discipline-card .tv-an-section-title{
    margin:0 0 12px !important;
}


/* SCORE PRINCIPAL */
.tv-an-score-main{
    display:flex !important;
    align-items:flex-end !important;
    gap:7px !important;

    margin:4px 0 16px !important;
}

.tv-an-score-main strong{
    font-size:29px !important;
    line-height:1 !important;
}

.tv-an-score-main span{
    margin-bottom:2px !important;
    font-size:11px !important;
}


/* ESTATÍSTICAS INTERNAS */
.tv-an-score-card .tv-an-health-stats,
.tv-an-discipline-card .tv-an-health-stats{
    width:100% !important;
    box-sizing:border-box !important;

    margin-top:auto !important;
    padding-top:14px !important;

    border-top:1px solid rgba(91,136,168,.14) !important;
}


/* SAÚDE E RESULTADOS COM MESMO ACABAMENTO */
.tv-an-health-card,
.tv-an-result-card{
    border:1px solid rgba(74,124,158,.22) !important;
    border-radius:14px !important;

    background:
        linear-gradient(
            180deg,
            rgba(12,34,50,.97),
            rgba(8,25,38,.97)
        ) !important;

    box-shadow:0 10px 28px rgba(0,0,0,.10) !important;
}


/* RANKINGS TAMBÉM PADRONIZADOS */
.tv-an-ranking-card{
    border:1px solid rgba(74,124,158,.22) !important;
    border-radius:14px !important;

    background:
        linear-gradient(
            180deg,
            rgba(12,34,50,.97),
            rgba(8,25,38,.97)
        ) !important;

    box-shadow:0 10px 28px rgba(0,0,0,.10) !important;
}


/* GRID CENTRAL */
.tv-an-health-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:12px !important;
    align-items:stretch !important;
}


/* RESPONSIVO */
@media (max-width:1180px){

    .tv-an-health-grid{
        grid-template-columns:1fr !important;

        grid-template-areas:
            "score"
            "health"
            "discipline"
            "results" !important;
    }
}

/* ==========================================================
   TRADER VITA — RESPONSIVIDADE CONSOLIDADA FINAL
   ÚNICA CAMADA MOBILE OFICIAL
   Desktop preservado acima.
========================================================== */

@media (max-width: 820px){

    :root{
        --tv-sidebar-width: 0px !important;
        --tv-topbar-height: 58px !important;
    }

    html,
    body{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow-x:hidden !important;
    }

    body{
        min-height:100dvh !important;
    }

    /* ======================================================
       ESTRUTURA PRINCIPAL MOBILE
    ====================================================== */

    #app{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        min-height:100dvh !important;
        height:auto !important;
        overflow:visible !important;
    }

    #content{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        min-height:100dvh !important;
        height:auto !important;
        margin:0 !important;
        padding:0 0 76px !important;
        overflow-x:hidden !important;
        overflow-y:visible !important;
    }

    #page-container{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        min-height:calc(100dvh - 58px) !important;
        margin:0 !important;
        padding:10px 10px 20px !important;
        overflow-x:hidden !important;
        box-sizing:border-box !important;
    }

    #page-container > *{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }

    /* ======================================================
       SIDEBAR -> BARRA INFERIOR MOBILE
    ====================================================== */

    #sidebar{
        position:fixed !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        top:auto !important;
        z-index:9999 !important;

        width:100% !important;
        min-width:100% !important;
        max-width:100% !important;

        height:64px !important;
        min-height:64px !important;

        margin:0 !important;
        padding:6px 7px max(6px, env(safe-area-inset-bottom)) !important;

        display:block !important;

        overflow:hidden !important;

        border-right:0 !important;
        border-top:1px solid rgba(45,92,122,.58) !important;

        background:
            linear-gradient(
                180deg,
                rgba(6,24,38,.985),
                rgba(4,18,29,.995)
            ) !important;

        box-shadow:0 -12px 34px rgba(0,0,0,.30) !important;
    }

    #sidebar::after{
        display:none !important;
    }

    .sidebar-brand,
    .sidebar-brand-copy,
    .sidebar-plan-card,
    .sidebar-premium{
        display:none !important;
    }

    #sidebar nav,
    #sidebar .sidebar-nav{
        width:100% !important;
        height:100% !important;

        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:flex-start !important;

        gap:5px !important;

        margin:0 !important;
        padding:0 !important;

        overflow-x:auto !important;
        overflow-y:hidden !important;

        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch !important;
        scroll-snap-type:x proximity !important;
    }

    #sidebar nav::-webkit-scrollbar,
    #sidebar .sidebar-nav::-webkit-scrollbar{
        display:none !important;
    }

    #sidebar nav button,
    #sidebar .sidebar-nav button{
        flex:0 0 48px !important;

        width:48px !important;
        min-width:48px !important;
        max-width:48px !important;

        height:48px !important;
        min-height:48px !important;

        margin:0 !important;
        padding:0 !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        gap:0 !important;

        border:1px solid transparent !important;
        border-radius:12px !important;

        background:transparent !important;

        transform:none !important;
        scroll-snap-align:center !important;
    }

    #sidebar nav button.active,
    #sidebar .sidebar-nav button.active{
        color:#00e5b7 !important;

        border-color:rgba(0,229,183,.30) !important;

        background:
            linear-gradient(
                180deg,
                rgba(0,229,183,.15),
                rgba(0,229,183,.065)
            ) !important;

        box-shadow:
            inset 0 0 18px rgba(0,229,183,.055) !important;
    }

    #sidebar nav button::after,
    #sidebar .sidebar-nav button::after{
        display:none !important;
    }

    .nav-label{
        display:none !important;
    }

    #sidebar .nav-icon{
        width:22px !important;
        height:22px !important;
        min-width:22px !important;
        margin:0 !important;
    }

    #sidebar .nav-icon svg{
        width:22px !important;
        height:22px !important;
    }

    /* ======================================================
       TOPBAR MOBILE
    ====================================================== */

    #topbar{
        position:sticky !important;
        top:0 !important;
        z-index:900 !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        height:58px !important;
        min-height:58px !important;

        margin:0 !important;
        padding:0 10px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;

        gap:6px !important;

        border-bottom:1px solid rgba(31,67,91,.50) !important;

        background:rgba(5,18,29,.965) !important;

        backdrop-filter:blur(10px) !important;
        -webkit-backdrop-filter:blur(10px) !important;
    }

    .topbar-welcome{
        display:none !important;
    }

    .topbar-actions{
        width:auto !important;
        max-width:100% !important;
        margin-left:auto !important;

        display:flex !important;
        align-items:center !important;
        gap:6px !important;
    }

    .profile-copy,
    .profile-chevron,
    .topbar-icon-button:nth-child(2){
        display:none !important;
    }

    .topbar-icon-button,
    .topbar-profile{
        width:38px !important;
        min-width:38px !important;
        max-width:38px !important;

        height:38px !important;
        min-height:38px !important;

        padding:0 !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .profile-avatar{
        width:34px !important;
        min-width:34px !important;
        max-width:34px !important;
        height:34px !important;
    }

    /* ======================================================
       TIPOGRAFIA E FORMULÁRIOS MOBILE
    ====================================================== */

    input,
    select,
    textarea{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
        font-size:16px !important;
    }

    button{
        box-sizing:border-box !important;
    }

    h1{
        overflow-wrap:anywhere;
    }

    /* ======================================================
       DASHBOARD
    ====================================================== */

    .tv-dashboard-v2{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .tv-dash-metrics{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
        margin-bottom:9px !important;
    }

    .tv-dash-metric{
        width:100% !important;
        min-width:0 !important;
        min-height:82px !important;
        padding:12px 13px !important;
        border-radius:13px !important;
    }

    .tv-dash-main-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        grid-template-areas:
            "performance"
            "week"
            "strategy"
            "latest" !important;
        gap:9px !important;
    }

    .tv-dash-performance-panel,
    .tv-week-panel,
    .tv-strategy-panel,
    .tv-latest-panel{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        height:auto !important;
        min-height:0 !important;

        padding:12px !important;
        border-radius:13px !important;
    }

    .tv-panel-heading{
        min-height:0 !important;
        flex-wrap:wrap !important;
        align-items:flex-start !important;
        gap:8px !important;
    }

    .tv-panel-heading > *{
        min-width:0 !important;
    }

    .tv-performance-chart-wrap,
    .tv-performance-chart,
    .tv-strategy-chart-wrap{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .tv-performance-chart-wrap{
        height:250px !important;
        min-height:250px !important;
    }

    .tv-week-panel{
        min-height:300px !important;
    }

    .tv-strategy-content{
        display:grid !important;
        grid-template-columns:1fr !important;
        height:auto !important;
        gap:10px !important;
    }

    .tv-strategy-donut-wrap{
        height:160px !important;
    }

    .tv-latest-table-wrap,
    .tv-table-wrap{
        width:100% !important;
        max-width:100% !important;
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch !important;
    }

    .tv-latest-table{
        min-width:430px !important;
    }

    /* ======================================================
       GESTÃO DE RISCO
    ====================================================== */

    .rv-risk-page{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .rv-risk-header{
        margin-bottom:10px !important;
    }

    .rv-risk-header h1{
        font-size:23px !important;
    }

    .rv-metrics-grid,
    .rv-main-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:9px !important;
    }

    .rv-metric-card,
    .rv-card,
    .rv-panel{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .rv-soros-row{
        grid-template-columns:1fr !important;
    }

    /* ======================================================
       OPERAÇÕES
    ====================================================== */

    .tv-ops-v2{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        gap:11px !important;
    }

    .tv-ops-header{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:10px !important;
    }

    .tv-ops-header-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
        width:100% !important;
        gap:7px !important;
    }

    .tv-ops-header-actions button{
        width:100% !important;
    }

    .tv-ops-metrics,
    .tv-ops-filter-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    .tv-ops-filter-card,
    .tv-ops-table-card,
    .tv-ops-day-analysis{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        padding:12px !important;
    }

    .tv-ops-table-wrap{
        width:100% !important;
        max-width:100% !important;
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch !important;
    }

    .tv-ops-table{
        min-width:620px !important;
    }

    /* ======================================================
       ANÁLISES
    ====================================================== */

    .tv-analytics-v2{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        padding:0 !important;
        gap:9px !important;
    }

    .tv-an-header{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:9px !important;
    }

    .tv-an-history-badge{
        width:100% !important;
        min-width:0 !important;
    }

    .tv-an-metrics-grid,
    .tv-an-intelligence-grid,
    .tv-an-health-grid,
    .tv-an-rankings-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        grid-template-areas:none !important;
        gap:8px !important;
    }

    .tv-an-recommendation{
        grid-column:auto !important;
    }

    .tv-an-score-card,
    .tv-an-health-card,
    .tv-an-discipline-card,
    .tv-an-result-card,
    .tv-an-ranking-card,
    .tv-an-best-card,
    .tv-an-recommendation{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        min-height:0 !important;
        height:auto !important;
    }

    .tv-an-health-card{
        grid-template-columns:1fr !important;
    }

    .tv-an-score-card .tv-an-health-stats,
    .tv-an-health-card .tv-an-health-stats,
    .tv-an-discipline-card .tv-an-health-stats{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
    }

    /* ======================================================
       CALENDÁRIO
    ====================================================== */

    .tv-cal-page{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .tv-cal-page-header{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:9px !important;
    }

    .tv-cal-header-legend{
        flex-wrap:wrap !important;
        gap:7px !important;
    }

    .tv-cal-metrics,
    .tv-cal-main-grid,
    .tv-cal-content-grid,
    .tv-cal-month-balance,
    .tv-cal-day-detail-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    .tv-cal-calendar-wrap,
    .tv-cal-calendar-card{
        width:100% !important;
        max-width:100% !important;
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch !important;
    }

    .tv-cal-calendar-grid,
    .tv-cal-month-grid{
        min-width:560px !important;
    }

    /* ======================================================
       RELATÓRIOS
    ====================================================== */

    .tv-rep-page{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .tv-rep-header{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:9px !important;
    }

    .tv-rep-header-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
        width:100% !important;
        gap:7px !important;
    }

    .tv-rep-header-actions button{
        width:100% !important;
    }

    .tv-rep-metrics,
    .tv-rep-main-grid,
    .tv-rep-details-grid,
    .tv-rep-financial-grid,
    .tv-rep-highlights-list,
    .tv-rep-period-controls,
    .tv-rep-comparison-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    .tv-rep-date-field,
    .tv-rep-apply-btn{
        grid-column:auto !important;
    }

    /* ======================================================
       DIÁRIO
    ====================================================== */

    .tv-diary-v2{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        gap:11px !important;
    }

    .tv-diary-header{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:9px !important;
    }

    .tv-diary-context-grid,
    .tv-diary-main-grid,
    .tv-diary-side-column,
    .tv-diary-two-col,
    .tv-diary-notes-grid,
    .tv-diary-execution-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    .tv-diary-actions{
        flex-direction:column-reverse !important;
    }

    .tv-diary-actions button{
        width:100% !important;
    }

    /* ======================================================
       INTELIGÊNCIA
    ====================================================== */

    .tv-ai-v2{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        padding:0 !important;
    }

    .tv-ai-header{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:9px !important;
    }

    .tv-ai-engine-badge{
        width:100% !important;
        min-width:0 !important;
    }

    .tv-ai-top-grid,
    .tv-ai-main-grid,
    .tv-ai-rank-grid,
    .tv-ai-do-dont-grid,
    .tv-ai-decision-panel{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    .tv-ai-combo-table{
        width:100% !important;
        max-width:100% !important;
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch !important;
    }

    /* ======================================================
       PROJEÇÃO
    ====================================================== */

    .tv-projection-header,
    .tv-projection-hero,
    .tv-projection-panel-head{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:9px !important;
    }

    .tv-projection-summary-grid,
    .tv-projection-info{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    .tv-projection-hero-stats{
        display:grid !important;
        grid-template-columns:1fr !important;
        width:100% !important;
        gap:7px !important;
    }

    .tv-projection-table-scroll{
        width:100% !important;
        max-width:100% !important;
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch !important;
    }

    .tv-projection-table{
        min-width:700px !important;
        table-layout:auto !important;
    }

    /* ======================================================
       CONFIGURAÇÕES
    ====================================================== */

    .tv-settings-v2{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        padding:0 !important;
    }

    .tv-settings-header{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:9px !important;
    }

    .tv-settings-save-badge{
        width:100% !important;
    }

    .tv-settings-metrics,
    .tv-settings-main-grid,
    .tv-settings-financial-grid,
    .tv-settings-lists-grid,
    .tv-settings-lists-grid-compact{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    .tv-settings-add-row{
        grid-template-columns:1fr !important;
    }

    .tv-settings-add-btn{
        width:100% !important;
    }

    .tv-settings-card{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }
}


/* ==========================================================
   CELULARES ESTREITOS
========================================================== */

@media (max-width: 420px){

    #page-container{
        padding-left:8px !important;
        padding-right:8px !important;
    }

    .tv-dash-metric-value,
    .tv-an-metric-copy > strong{
        font-size:20px !important;
    }

    .tv-an-score-card .tv-an-health-stats,
    .tv-an-health-card .tv-an-health-stats,
    .tv-an-discipline-card .tv-an-health-stats{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* ==========================================================
   TRADER VITA — MOBILE COMPACT PREMIUM V3
   Camada final de densidade visual para celulares
========================================================== */

@media (max-width: 600px){

    /* ------------------------------------------------------
       ESTRUTURA / ESPAÇAMENTO
    ------------------------------------------------------ */
    #page-container{
        padding:8px 8px 16px !important;
    }

    /* Barra inferior mais discreta */
    #sidebar{
        height:58px !important;
        min-height:58px !important;
        padding:5px 6px max(5px, env(safe-area-inset-bottom)) !important;
    }

    #content{
        padding-bottom:68px !important;
    }

    #sidebar nav button,
    #sidebar .sidebar-nav button{
        flex-basis:42px !important;
        width:42px !important;
        min-width:42px !important;
        max-width:42px !important;
        height:42px !important;
        min-height:42px !important;
        border-radius:10px !important;
    }

    #sidebar .nav-icon,
    #sidebar .nav-icon svg{
        width:19px !important;
        height:19px !important;
        min-width:19px !important;
    }

    /* ------------------------------------------------------
       DASHBOARD — MÉTRICAS EM 2 COLUNAS
    ------------------------------------------------------ */
    .tv-dash-metrics{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:7px !important;
        margin-bottom:8px !important;
    }

    .tv-dash-metric{
        min-height:88px !important;
        padding:10px !important;
        gap:8px !important;
        border-radius:11px !important;
    }

    .tv-dash-metric-icon{
        flex:0 0 33px !important;
        width:33px !important;
        height:33px !important;
    }

    .tv-dash-metric-icon svg{
        width:17px !important;
        height:17px !important;
    }

    .tv-dash-metric-label{
        margin-bottom:3px !important;
        font-size:8px !important;
        line-height:1.15 !important;
    }

    .tv-dash-metric-value{
        font-size:17px !important;
        line-height:1.05 !important;
        white-space:nowrap !important;
    }

    .tv-dash-metric-foot{
        min-height:0 !important;
        margin-top:4px !important;
        font-size:8.5px !important;
        line-height:1.15 !important;
    }

    /* ------------------------------------------------------
       DASHBOARD — PAINÉIS MAIS BAIXOS
    ------------------------------------------------------ */
    .tv-dash-performance-panel,
    .tv-week-panel,
    .tv-strategy-panel,
    .tv-latest-panel{
        padding:10px !important;
        border-radius:11px !important;
    }

    .tv-panel-heading{
        margin-bottom:6px !important;
    }

    .tv-panel-heading h2{
        font-size:11px !important;
    }

    .tv-panel-heading p,
    .tv-panel-heading span{
        font-size:9px !important;
    }

    .tv-performance-chart-wrap{
        height:205px !important;
        min-height:205px !important;
    }

    .tv-week-panel{
        min-height:225px !important;
    }

    .tv-week-summary{
        margin-bottom:8px !important;
    }

    .tv-week-summary strong{
        font-size:15px !important;
    }

    .tv-week-summary span{
        font-size:8.5px !important;
    }

    .tv-week-days{
        gap:5px !important;
    }

    .tv-week-day{
        min-height:54px !important;
        padding:6px 3px !important;
    }

    .tv-week-day span,
    .tv-week-day small{
        font-size:8px !important;
    }

    /* Ranking por estratégia */
    .tv-strategy-panel{
        min-height:0 !important;
    }

    .tv-strategy-content{
        gap:6px !important;
    }

    .tv-strategy-chart-wrap,
    .tv-strategy-chart{
        min-height:210px !important;
        height:210px !important;
    }

    .tv-strategy-panel .tv-panel-subtitle{
        font-size:10px !important;
        margin-bottom:4px !important;
    }

    /* Últimas operações */
    .tv-latest-panel{
        min-height:0 !important;
    }

    .tv-latest-table-wrap{
        max-height:none !important;
    }

    .tv-latest-table{
        min-width:0 !important;
        width:100% !important;
        table-layout:fixed !important;
    }

    .tv-latest-table th,
    .tv-latest-table td{
        padding:7px 4px !important;
        font-size:8.5px !important;
    }

    .tv-latest-table th:nth-child(2),
    .tv-latest-table td:nth-child(2),
    .tv-latest-table th:nth-child(4),
    .tv-latest-table td:nth-child(4){
        display:none !important;
    }

    .tv-view-all-button{
        min-height:38px !important;
        font-size:10px !important;
    }

    /* ------------------------------------------------------
       MÉTRICAS COMPACTAS — OUTRAS PÁGINAS
    ------------------------------------------------------ */
    .rv-metrics-grid,
    .tv-ops-metrics,
    .tv-an-metrics-grid,
    .tv-cal-metrics,
    .tv-rep-metrics,
    .tv-settings-metrics,
    .tv-projection-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:7px !important;
    }

    .rv-metric-card,
    .tv-ops-metric,
    .tv-an-metric,
    .tv-cal-metric,
    .tv-rep-metric,
    .tv-settings-metric,
    .tv-projection-summary-card{
        min-height:84px !important;
        padding:10px !important;
        border-radius:11px !important;
    }

    /* ------------------------------------------------------
       HEADERS — TEXTO LIMPO, SEM EXCESSO DE ALTURA
    ------------------------------------------------------ */
    .tv-ops-header,
    .tv-an-header,
    .tv-cal-page-header,
    .tv-rep-header,
    .tv-diary-header,
    .tv-ai-header,
    .tv-projection-header,
    .tv-settings-header,
    .rv-risk-header{
        margin-bottom:8px !important;
        gap:6px !important;
    }

    .tv-ops-header h1,
    .tv-an-header h1,
    .tv-cal-page-header h1,
    .tv-rep-header h1,
    .tv-diary-header h1,
    .tv-ai-header h1,
    .tv-projection-header h1,
    .tv-settings-header h1,
    .rv-risk-header h1{
        font-size:22px !important;
        margin-bottom:2px !important;
    }

    .tv-ops-header p,
    .tv-an-header p,
    .tv-cal-page-header p,
    .tv-rep-header p,
    .tv-diary-header p,
    .tv-ai-header p,
    .tv-projection-header p,
    .tv-settings-header p,
    .rv-risk-header p{
        font-size:10.5px !important;
        line-height:1.35 !important;
    }

    /* ------------------------------------------------------
       CARDS GRANDES — MENOS PADDING
    ------------------------------------------------------ */
    .tv-an-score-card,
    .tv-an-health-card,
    .tv-an-discipline-card,
    .tv-an-result-card,
    .tv-an-ranking-card,
    .tv-an-best-card,
    .tv-an-recommendation,
    .tv-ai-card,
    .tv-rep-card,
    .tv-diary-card,
    .tv-settings-card,
    .tv-projection-panel,
    .rv-card,
    .rv-panel{
        padding:11px !important;
        border-radius:11px !important;
    }

    /* ------------------------------------------------------
       PROJEÇÃO — 2 COLUNAS NO RESUMO
    ------------------------------------------------------ */
    .tv-projection-hero{
        padding:12px !important;
    }

    .tv-projection-hero-copy h2{
        font-size:20px !important;
    }

    .tv-projection-hero-stats{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:6px !important;
    }

    .tv-projection-hero-stats > div{
        min-width:0 !important;
        padding:8px !important;
    }

    /* ------------------------------------------------------
       CONFIGURAÇÕES — MAIS ENXUTA
    ------------------------------------------------------ */
    .tv-settings-lists-grid-compact{
        gap:8px !important;
    }

    .tv-settings-lists-grid-compact .tv-settings-list-card{
        padding:11px !important;
    }

    .tv-settings-lists-grid-compact .tv-settings-item-list{
        max-height:180px !important;
    }

    /* ------------------------------------------------------
       RELATÓRIOS / DIÁRIO / IA — MENOS ESPAÇO VAZIO
    ------------------------------------------------------ */
    .tv-rep-page,
    .tv-diary-v2,
    .tv-ai-v2,
    .tv-analytics-v2,
    .tv-ops-v2{
        gap:9px !important;
    }

    /* ------------------------------------------------------
       TÍTULOS SECUNDÁRIOS
    ------------------------------------------------------ */
    .tv-an-card-topline,
    .tv-ai-card-heading,
    .tv-diary-section-heading,
    .tv-ops-section-heading,
    .tv-rep-section-heading{
        margin-bottom:8px !important;
    }
}

/* Celulares muito estreitos: ainda mantém 2 colunas nas métricas,
   mas reduz um pouco mais a tipografia. */
@media (max-width: 360px){

    .tv-dash-metric-value{
        font-size:15.5px !important;
    }

    .tv-dash-metric-label{
        font-size:7.5px !important;
    }

    .tv-dash-metric-foot{
        font-size:7.8px !important;
    }
}

/* ==========================================================
   TRADER VITA — MOBILE PREMIUM V4
   Linguagem visual própria para celular
========================================================== */

@media (max-width:600px){

    /* Fundo e ritmo */
    #page-container{
        padding:10px 12px 18px !important;
    }

    /* ======================================================
       DASHBOARD — MÉTRICAS MAIS "APP", MENOS CARD
    ====================================================== */
    .tv-dash-metrics{
        gap:8px !important;
    }

    .tv-dash-metric{
        min-height:74px !important;
        padding:10px 11px !important;
        border-radius:12px !important;
        border:1px solid rgba(74,124,158,.14) !important;
        background:rgba(8,25,38,.78) !important;
        box-shadow:none !important;
    }

    .tv-dash-metric-icon{
        flex-basis:30px !important;
        width:30px !important;
        height:30px !important;
        border-radius:9px !important;
    }

    .tv-dash-metric-label{
        font-size:7.5px !important;
        letter-spacing:.06em !important;
        opacity:.82 !important;
    }

    .tv-dash-metric-value{
        font-size:16px !important;
        font-weight:750 !important;
    }

    .tv-dash-metric-foot{
        font-size:7.8px !important;
        opacity:.75 !important;
    }

    /* ======================================================
       PAINÉIS — MAIS PLANOS E ELEGANTES
    ====================================================== */
    .tv-dash-performance-panel,
    .tv-week-panel,
    .tv-strategy-panel,
    .tv-latest-panel,
    .tv-an-score-card,
    .tv-an-health-card,
    .tv-an-discipline-card,
    .tv-an-result-card,
    .tv-an-ranking-card,
    .tv-an-best-card,
    .tv-an-recommendation,
    .tv-ops-filter-card,
    .tv-ops-table-card,
    .tv-ops-day-analysis,
    .tv-ai-card,
    .tv-rep-card,
    .tv-diary-card,
    .tv-settings-card,
    .tv-projection-panel,
    .rv-card,
    .rv-panel{
        border-radius:12px !important;
        border:1px solid rgba(73,113,139,.15) !important;
        background:rgba(7,23,35,.72) !important;
        box-shadow:none !important;
    }

    /* Títulos internos mais discretos */
    .tv-panel-heading h2,
    .tv-an-card-topline h2,
    .tv-ai-card-heading h2,
    .tv-diary-section-heading h2,
    .tv-ops-section-heading h2,
    .tv-rep-section-heading h2{
        font-size:13px !important;
        font-weight:700 !important;
        letter-spacing:0 !important;
    }

    /* ======================================================
       DASHBOARD — GRÁFICO MENOS ALTO
    ====================================================== */
    .tv-performance-chart-wrap{
        height:180px !important;
        min-height:180px !important;
    }

    .tv-week-panel{
        min-height:190px !important;
    }

    .tv-strategy-chart-wrap,
    .tv-strategy-chart{
        height:180px !important;
        min-height:180px !important;
    }

    /* ======================================================
       OPERAÇÕES — MAIS PROFISSIONAL
    ====================================================== */
    .tv-ops-header{
        margin-bottom:4px !important;
    }

    .tv-ops-header-actions{
        grid-template-columns:1fr 1fr !important;
        gap:7px !important;
    }

    .tv-ops-header-actions button{
        min-height:42px !important;
        padding:0 10px !important;
        font-size:11px !important;
        border-radius:10px !important;
    }

    .tv-ops-reset-btn{
        background:rgba(255,73,100,.04) !important;
    }

    .tv-ops-analyze-btn{
        background:linear-gradient(180deg,#2587f5,#1674dc) !important;
    }

    .tv-ops-metrics{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:7px !important;
    }

    .tv-ops-metric{
        min-height:96px !important;
        padding:10px !important;
        display:block !important;
    }

    .tv-ops-metric-icon{
        width:28px !important;
        height:28px !important;
        min-width:28px !important;
        margin-bottom:8px !important;
        border-radius:8px !important;
    }

    .tv-ops-metric > div:last-child > span{
        font-size:8px !important;
    }

    .tv-ops-metric > div:last-child > strong{
        font-size:19px !important;
        line-height:1.05 !important;
    }

    .tv-ops-metric > div:last-child > small{
        font-size:8px !important;
        line-height:1.25 !important;
    }

    .tv-ops-filter-card{
        padding:11px !important;
    }

    .tv-ops-section-heading{
        align-items:flex-start !important;
        gap:6px !important;
    }

    .tv-ops-section-heading h2{
        font-size:17px !important;
    }

    .tv-ops-filter-summary{
        font-size:9px !important;
    }

    /* ======================================================
       ANALYTICS — MAIS LEVE
    ====================================================== */
    .tv-an-metrics-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .tv-an-metric{
        min-height:82px !important;
        padding:10px !important;
    }

    .tv-an-metric-icon{
        width:30px !important;
        height:30px !important;
        flex-basis:30px !important;
    }

    .tv-an-metric-copy > strong{
        font-size:17px !important;
    }

    /* ======================================================
       HEADERS — MENOS "PÁGINA DE DESKTOP"
    ====================================================== */
    .tv-ops-kicker,
    .tv-an-kicker,
    .tv-cal-eyebrow,
    .tv-rep-kicker,
    .tv-diary-kicker,
    .tv-ai-kicker{
        font-size:8px !important;
        letter-spacing:.14em !important;
        margin-bottom:3px !important;
    }

    .tv-ops-header h1,
    .tv-an-header h1,
    .tv-cal-page-header h1,
    .tv-rep-header h1,
    .tv-diary-header h1,
    .tv-ai-header h1,
    .tv-projection-header h1,
    .tv-settings-header h1,
    .rv-risk-header h1{
        font-size:21px !important;
        line-height:1.05 !important;
    }

    /* ======================================================
       BARRA INFERIOR — MAIS PREMIUM
    ====================================================== */
    #sidebar{
        height:56px !important;
        min-height:56px !important;
        border-top:1px solid rgba(69,117,146,.32) !important;
        background:rgba(5,21,33,.96) !important;
        backdrop-filter:blur(14px) !important;
        -webkit-backdrop-filter:blur(14px) !important;
    }

    #content{
        padding-bottom:66px !important;
    }

    #sidebar nav,
    #sidebar .sidebar-nav{
        justify-content:space-around !important;
        gap:2px !important;
    }

    #sidebar nav button,
    #sidebar .sidebar-nav button{
        flex:0 0 40px !important;
        width:40px !important;
        min-width:40px !important;
        max-width:40px !important;
        height:40px !important;
        min-height:40px !important;
        border-radius:10px !important;
    }

    #sidebar nav button.active,
    #sidebar .sidebar-nav button.active{
        background:rgba(0,229,183,.09) !important;
        border-color:rgba(0,229,183,.22) !important;
    }

    /* ======================================================
       MENOS "BOLHAS" EM BLOCOS SECUNDÁRIOS
    ====================================================== */
    .tv-settings-info-strip,
    .tv-ai-explain-card,
    .tv-projection-info > div,
    .tv-diary-reading-tip{
        border-radius:9px !important;
        background:rgba(7,23,35,.45) !important;
        border-color:rgba(73,113,139,.12) !important;
        box-shadow:none !important;
    }
}

/* 360px e menores */
@media (max-width:360px){
    .tv-ops-metrics{
        grid-template-columns:1fr 1fr !important;
    }

    .tv-dash-metric-value{
        font-size:15px !important;
    }
}


/* ==========================================================
   TRADER VITA — MOBILE NAV PREMIUM
   Navegação mobile oficial integrada
========================================================== */

#tv-mobile-nav,
#tv-mobile-sheet-backdrop{
    display:none;
}

@media (max-width:600px){

    /* Oculta completamente a navegação lateral antiga */
    #sidebar{
        display:none !important;
    }

    #content{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        padding-bottom:78px !important;
    }

    /* ======================================================
       BARRA PRINCIPAL
    ====================================================== */

    #tv-mobile-nav{
        position:fixed;
        left:10px;
        right:10px;
        bottom:max(8px, env(safe-area-inset-bottom));
        z-index:9990;

        height:62px;

        display:grid;
        grid-template-columns:repeat(5,1fr);
        align-items:center;
        gap:3px;

        padding:5px;

        border:1px solid rgba(84,130,158,.26);
        border-radius:18px;

        background:rgba(5,21,33,.94);

        box-shadow:
            0 14px 38px rgba(0,0,0,.34),
            inset 0 1px 0 rgba(255,255,255,.025);

        backdrop-filter:blur(18px);
        -webkit-backdrop-filter:blur(18px);
    }

    .tv-mobile-nav-btn{
        position:relative;

        min-width:0;
        height:50px;

        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:3px;

        padding:0;

        border:1px solid transparent;
        border-radius:13px;

        background:transparent;
        color:#718da1;

        cursor:pointer;

        transition:
            background .18s ease,
            color .18s ease,
            border-color .18s ease,
            transform .18s ease;
    }

    .tv-mobile-nav-btn:active{
        transform:scale(.96);
    }

    .tv-mobile-nav-btn.active{
        color:#00e5b7;

        border-color:rgba(0,229,183,.20);

        background:
            linear-gradient(
                180deg,
                rgba(0,229,183,.12),
                rgba(0,229,183,.045)
            );
    }

    .tv-mobile-nav-icon{
        width:21px;
        height:21px;

        display:grid;
        place-items:center;
    }

    .tv-mobile-nav-icon svg{
        width:21px;
        height:21px;
    }

    .tv-mobile-nav-label{
        max-width:100%;

        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;

        font-size:8px;
        line-height:1;
        font-weight:700;
        letter-spacing:.01em;
    }

    /* ======================================================
       BACKDROP / DRAWER
    ====================================================== */

    #tv-mobile-sheet-backdrop{
        position:fixed;
        inset:0;
        z-index:10000;

        display:flex;
        align-items:flex-end;

        padding:0;

        background:rgba(1,8,13,.58);

        opacity:0;
        visibility:hidden;
        pointer-events:none;

        transition:
            opacity .2s ease,
            visibility .2s ease;

        backdrop-filter:blur(5px);
        -webkit-backdrop-filter:blur(5px);
    }

    #tv-mobile-sheet-backdrop.is-open{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }

    #tv-mobile-sheet{
        width:100%;
        max-height:min(76dvh,620px);

        padding:
            8px
            14px
            max(18px, env(safe-area-inset-bottom));

        overflow-y:auto;

        border:1px solid rgba(80,126,155,.28);
        border-bottom:0;
        border-radius:22px 22px 0 0;

        background:
            linear-gradient(
                180deg,
                #091d2b 0%,
                #061520 100%
            );

        box-shadow:
            0 -22px 70px rgba(0,0,0,.42);

        transform:translateY(102%);

        transition:
            transform .26s cubic-bezier(.2,.8,.2,1);
    }

    #tv-mobile-sheet-backdrop.is-open
    #tv-mobile-sheet{
        transform:translateY(0);
    }

    .tv-mobile-sheet-handle{
        width:38px;
        height:4px;

        margin:2px auto 13px;

        border-radius:999px;

        background:#29475a;
    }

    .tv-mobile-sheet-header{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;

        margin-bottom:13px;
        padding:0 2px;
    }

    .tv-mobile-sheet-header span{
        display:block;

        margin-bottom:3px;

        color:#4bc5ff;

        font-size:8px;
        font-weight:800;
        letter-spacing:.16em;
    }

    .tv-mobile-sheet-header h2{
        margin:0;

        color:#f2f7fa;

        font-size:20px;
        line-height:1.05;
    }

    #tv-mobile-sheet-close{
        width:36px;
        min-width:36px;
        height:36px;

        display:grid;
        place-items:center;

        padding:0;

        border:1px solid rgba(92,130,154,.20);
        border-radius:10px;

        background:#0b2232;
        color:#8ca8bb;

        font-size:22px;
        font-weight:300;

        cursor:pointer;
    }

    /* ======================================================
       ITENS DO DRAWER
    ====================================================== */

    .tv-mobile-sheet-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .tv-mobile-sheet-item{
        min-width:0;
        min-height:76px;

        display:grid;
        grid-template-columns:36px minmax(0,1fr) auto;
        align-items:center;
        gap:9px;

        padding:11px;

        text-align:left;

        border:1px solid rgba(75,117,143,.16);
        border-radius:13px;

        background:rgba(5,20,31,.58);
        color:inherit;

        cursor:pointer;

        transition:
            border-color .18s ease,
            background .18s ease,
            transform .18s ease;
    }

    .tv-mobile-sheet-item:active{
        transform:scale(.98);
    }

    .tv-mobile-sheet-icon{
        width:36px;
        height:36px;

        display:grid;
        place-items:center;

        border-radius:10px;

        background:#0b293d;
        color:#61c9ff;
    }

    .tv-mobile-sheet-icon svg{
        width:19px;
        height:19px;
    }

    .tv-mobile-sheet-copy{
        min-width:0;
    }

    .tv-mobile-sheet-copy strong{
        display:block;

        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;

        color:#edf5f9;

        font-size:11px;
        line-height:1.15;
    }

    .tv-mobile-sheet-copy small{
        display:block;

        margin-top:3px;

        color:#6e8ba0;

        font-size:8px;
        line-height:1.25;
    }

    .tv-mobile-sheet-arrow{
        color:#41687f;

        font-size:20px;
        font-weight:300;
    }

    body.tv-mobile-sheet-open{
        overflow:hidden !important;
    }
}

@media (max-width:360px){

    .tv-mobile-sheet-grid{
        grid-template-columns:1fr;
    }

    #tv-mobile-nav{
        left:6px;
        right:6px;
    }
}
