/* ==========================================================
   PANORAMA DE MERCADO
   @oEvandroSoares

   FASE 8

   terminal.css

========================================================== */

/* ==========================================================
   RESET
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{

    width:100%;
    height:100%;

    background:#0E1117;

    color:#ECECEC;

    font-family:
    Inter,
    Segoe UI,
    Arial,
    sans-serif;

}

/* ==========================================================
   VARIÁVEIS
========================================================== */

:root{

    --bg:#0E1117;
    --panel:#161B22;
    --panel-light:#1F2630;

    --border:#2D3642;

    --green:#00C853;
    --red:#FF5252;
    --yellow:#FFC107;
    --blue:#2F80ED;

    --text:#ECECEC;
    --muted:#9CA3AF;

    --radius:10px;

}

/* ==========================================================
   TERMINAL
========================================================== */

.terminal{

    display:flex;
    flex-direction:column;

    width:100%;
    height:100vh;

    background:var(--bg);

}

/* ==========================================================
   HEADER
========================================================== */

.terminal-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:14px 24px;

    background:#121821;

    border-bottom:1px solid var(--border);

}

/* ==========================================================
   BRAND
========================================================== */

.brand-title{

    font-size:24px;

    font-weight:700;

}

.terminal-name{

    color:var(--muted);

    margin-top:4px;

    font-size:13px;

    letter-spacing:1px;

}

/* ==========================================================
   STATUS
========================================================== */

.header-status{

    display:flex;

    gap:28px;

}

.status-item{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:14px;

}

.status-dot{

    width:10px;
    height:10px;

    border-radius:50%;

}

.online{

    background:var(--green);

}

/* ==========================================================
   BOTÕES
========================================================== */

.header-actions{

    display:flex;

    gap:12px;

}

.header-actions button{

    background:#1E2632;

    color:white;

    border:1px solid var(--border);

    padding:10px 16px;

    border-radius:8px;

    cursor:pointer;

    transition:.2s;

}

.header-actions button:hover{

    background:#2A3442;

}

/* ==========================================================
   MARKET BAR
========================================================== */

.market-bar{

    display:grid;

    grid-template-columns:repeat(7,1fr);

    gap:12px;

    padding:16px;

}

.market-card{

    background:var(--panel);

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:14px;

    display:flex;

    flex-direction:column;

    gap:8px;

}

.asset-name{

    color:var(--muted);

    font-size:12px;

}

.market-card strong{

    font-size:20px;

}

/* ==========================================================
   GRID PRINCIPAL
========================================================== */

.main-grid{

    flex:1;

    display:grid;

    grid-template-columns:

        300px
        1fr
        360px;

    gap:18px;

    padding:18px;

}

/* ==========================================================
   CARDS
========================================================== */

.card{

    background:var(--panel);

    border:1px solid var(--border);

    border-radius:12px;

    padding:18px;

    margin-bottom:18px;

}

.card h3{

    margin-bottom:16px;

}

/* ==========================================================
   CHART
========================================================== */

.chart-card{

    height:100%;

    min-height:700px;

}

#chart-container{

    width:100%;
    height:100%;

}

/* ==========================================================
   RADAR
========================================================== */

.radar-table{

    margin-top:16px;

}

.radar-header{

    display:grid;

    grid-template-columns:

        1fr
        1fr
        1fr
        1fr;

    color:var(--muted);

    margin-bottom:10px;

    font-size:13px;

}

/* ==========================================================
   BADGES
========================================================== */

.badge{

    display:inline-block;

    padding:4px 10px;

    border-radius:20px;

    font-size:12px;

    font-weight:600;

}

.badge-green{

    background:rgba(0,200,83,.15);

    color:var(--green);

}

.badge-red{

    background:rgba(255,82,82,.15);

    color:var(--red);

}

.badge-yellow{

    background:rgba(255,193,7,.15);

    color:var(--yellow);

}

/* ==========================================================
   VARIAÇÃO
========================================================== */

.positive{

    color:var(--green);

}

.negative{

    color:var(--red);

}

.neutral{

    color:var(--yellow);

}

/* ==========================================================
   FOOTER
========================================================== */

footer{

    background:#121821;

    border-top:1px solid var(--border);

    padding:12px 24px;

    color:var(--muted);

    font-size:13px;

}

/* ==========================================================
   RESPONSIVIDADE
========================================================== */

@media(max-width:1600px){

.main-grid{

grid-template-columns:

260px
1fr
320px;

}

}

@media(max-width:1200px){

.market-bar{

grid-template-columns:

repeat(2,1fr);

}

.main-grid{

grid-template-columns:1fr;

}

}