/* ===========================
   MT5 Trade Data – Unified Stylesheet
   =========================== */

/* ---------- CSS Variables ---------- */
:root {
    --mt5-profit-color: #4CAF50;            /* Green for profits */
    --mt5-loss-color: #E01B28;              /* Red for losses */
    --mt5-profit-positive-color: #267B32;   /* Example positive color */
    --mt5-profit-negative-color: #A33523;   /* Example negative color */    
    --mt5-neutral-color: #FFFFFF;           /* White for neutral text */
    --mt5-background-dark: #16181D;         /* Dark background for circles and charts */
    --mt5-label-bg: #5A6B7F;                /* Background for value labels */
    --mt5-text-gray: #DDD;                  /* Light gray for controls and secondary text */
    --mt5-bar-mask: #2D2D2D;                /* Mask color for bars */
    --mt5-balance-color: #2196F3;           /* Blue for balance */
    --mt5-equity-color: #4CAF50;            /* Green for equity */
    --mt5-small-font-size: 12px;
    --mt5-medium-font-size: 14px;
    --mt5-large-font-size: 18px;
    --mt5-xlarge-font-size: 20px;

    /* Trade type colors */
    --mt5-long-color: #004bfa;              /* Blue for Long Trades */
    --mt5-short-color: #E67E17;             /* Orange for Short Trades */
    --mt5-ai-color: #6200ea;                /* Purple for AI Trades */
    --mt5-manual-color: #E67E17;            /* Orange for Manual Trades */

    /* Header dims */
    --mt5-header-height: 28px;
    --mt5-header-gap: 8px;
}

/* ---------- Simple color helpers ---------- */
.mt5-long-trade   { color: var(--mt5-long-color); }
.mt5-short-trade  { color: var(--mt5-short-color); }
.mt5-ai-trade     { color: var(--mt5-ai-color); }
.mt5-manual-trade { color: var(--mt5-manual-color); }

.mt5-profit-positive { color: var(--mt5-profit-color); }
.mt5-profit-negative { color: var(--mt5-loss-color);   }
.mt5-neutral         { color: var(--mt5-neutral-color); }

/* ---------- Generic content ---------- */
.mt5-trade-data{
    color: var(--mt5-neutral-color);
    word-wrap: break-word;
}

/* ---------- Unified 3-column layout for all metric views ---------- */
.mt5-metrics-3col{
    display:flex;
    align-items:stretch;
    justify-content:center;
    gap:60px;
    font-size:var(--mt5-medium-font-size);
    flex-wrap:nowrap;
}
/* Distribute rows in view */
.mt5-metrics-view.summary .mt5-side,
.mt5-metrics-view.long-short .mt5-side,
.mt5-metrics-view.winning-losing .mt5-side,
.mt5-metrics-view.ai-manual .mt5-side {
    justify-content: space-between;
}
.mt5-metrics-3col .mt5-center{
    width:40vw;
    max-width:250px;
    min-width:150px;
    aspect-ratio:1;
    flex-shrink:0;
}
.mt5-side{
    flex:1 1 clamp(180px, 25vw, 260px);
    max-width:260px;
    text-align:left;
    display:flex;
    flex-direction:column;
    gap:14px;
    color:var(--mt5-text-gray);
}
.mt5-side-left  { justify-content:flex-start; }
.mt5-side-right { justify-content:flex-start; }

/* Two-line stat block (label then value) */
.mt5-stat-label{
    display:block;
    font-weight:300;
    line-height:1.15;
    color: var(--mt5-neutral-color);
}
.mt5-stat .mt5-value{
    display:block;
    margin-top:2px;
    line-height:1.2;
    font-size:var(--mt5-large-font-size);
}

/* Make old "-stats" wrappers behave like sides */
.mt5-profit-summary-stats,
.mt5-long-short-stats,
.mt5-winning-losing-stats,
.mt5-ai-manual-stats{
    flex:1 1 clamp(180px, 25vw, 260px);
    max-width:260px;
    text-align:left;
    display:flex;
    flex-direction:column;
    gap:14px;
    height:auto;
}

/* ---------- Profit Summary / Long/Short / Winning/Losing / AI/Manual Circles ---------- */
.mt5-profit-summary-circle,
.mt5-long-short-circle,
.mt5-winning-losing-circle,
.mt5-ai-manual-circle{
    width:100%;
    height:100%;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.mt5-profit-summary-circle-inner,
.mt5-long-short-circle-inner,
.mt5-winning-losing-circle-inner,
.mt5-ai-manual-circle-inner {
    width: 91%;
    height: 91%;
    background-color: var(--mt5-background-dark);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--mt5-neutral-color);
    font-size: var(--mt5-medium-font-size);
    gap: 10px; /* Consistent spacing */
}

/* MT5 Performance Metrics */
.mt5-performance-metrics {
    color: var(--mt5-neutral-color);
    font-size: var(--mt5-medium-font-size);
}

.mt5-performance-metrics .metric {
    margin-bottom: 50px;
}

.mt5-performance-metrics .metric-row {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.mt5-performance-metrics .metric.trades-per-week,
.mt5-performance-metrics .metric.average-hold-time {
    flex: 1;
}

.mt5-performance-metrics .metric-label {
    margin-bottom: 5px;
    font-weight: bold;
}

.mt5-performance-metrics .bar-container {
    position: relative;
    height: 12px;
    background: linear-gradient(to right, #305d30 0%, #78e678 18%, #c88064 22%, var(--mt5-loss-color) 100%);
}

.mt5-performance-metrics .bar-mask {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: var(--mt5-bar-mask);
}

.mt5-performance-metrics .value-label,
.mt5-advanced-metrics .value-label {
    position: absolute;
    top: 15px;
    transform: translateX(-50%);
    background-color: var(--mt5-label-bg);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: var(--mt5-small-font-size);
    color: var(--mt5-neutral-color);
    white-space: nowrap;
}

.mt5-performance-metrics .range-labels {
    display: flex;
    justify-content: space-between;
    font-size: var(--mt5-small-font-size);
    margin-top: 2px;
}

.mt5-performance-metrics .static-value-label {
    background-color: var(--mt5-label-bg);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: var(--mt5-small-font-size);
    color: var(--mt5-neutral-color);
    white-space: nowrap;
    display: inline-block;
    margin-top: 1px;
}

.mt5-performance-metrics .static-metrics {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.mt5-performance-metrics .left-metric {
    text-align: left;
}

.mt5-performance-metrics .right-metric {
    text-align: right;
}
/* ---------- Advanced Metrics ---------- */
.mt5-advanced-metrics {
    color: var(--mt5-neutral-color);
    font-size: var(--mt5-medium-font-size);
}

.mt5-advanced-metrics .metric {
    margin-bottom: 50px;
}

.mt5-advanced-metrics .metric-label {
    margin-bottom: 5px;
    font-weight: bold;
}

.mt5-advanced-metrics .bar-container {
    position: relative;
    height: 12px;
}

.mt5-advanced-metrics .bar-mask {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: var(--mt5-bar-mask);
}

.mt5-advanced-metrics .range-labels {
    display: flex;
    justify-content: space-between;
    font-size: var(--mt5-small-font-size);
    margin-top: 2px;
}

/* Add transitions for performance and advanced metrics */
.mt5-performance-metrics .bar-mask,
.mt5-advanced-metrics .bar-mask {
    transition: width 0.5s ease;
}

.mt5-performance-metrics .value-label,
.mt5-advanced-metrics .value-label {
    transition: left 0.5s ease;
}

.mt5-advanced-metrics .bar-container {
    transition: background 0.5s ease;
}
/* ---------- Growth Chart ---------- */
.mt5-growth-chart{
    font-family:Arial, sans-serif;
    position:relative;
    width:100%;
    max-width:1200px;
    margin:0 auto;
    display:grid;
    grid-template-rows:40px 400px;
}
.mt5-growth-chart .controls{
    grid-row:1;
    padding:0 10px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:var(--mt5-text-gray);
    font-size:var(--mt5-small-font-size);
}
.mt5-growth-chart .switches{
    display:flex;
    align-items:center;
    white-space:nowrap;
}
.mt5-growth-chart .switches label{ cursor:pointer; }
.mt5-growth-chart .switches input[type="radio"]{ margin-right:5px; }

.mt5-growth-chart .balance-container{ margin-right:20px; }
.mt5-growth-chart .balance-dot  { color:var(--mt5-balance-color); }
.mt5-growth-chart .equity-dot   { color:var(--mt5-equity-color); }

.mt5-growth-chart .toggle-switch{
    position:relative;
    width:140px;
    height:26px;
    background:var(--mt5-background-dark); 
    border-radius:11px;
    display:inline-block;
    font-size:var(--mt5-small-font-size);
}
.mt5-growth-chart .toggle-switch input[type="radio"]{
    position:absolute;
    opacity:0;
    width:0;
    height:0;
}
.mt5-growth-chart .toggle-label{
    position:absolute;
    top:0;
    width:50%;
    height:100%;
    line-height:26px;
    text-align:center;
    cursor:pointer;
    user-select:none;
    z-index:2;
    color:var(--mt5-text-gray);
}
.mt5-growth-chart .toggle-label-money{ left:0; }
.mt5-growth-chart .toggle-label-growth{ right:0; }
.mt5-growth-chart .toggle-slider{
    position:absolute;
    top:2px;
    left:2px;
    width:calc(50% - 3px);
    height:calc(100% - 4px);
    background:var(--mt5-ai-color);
    border-radius:11px;
    transition:left .25s ease;
    z-index:1;
}
.mt5-growth-chart .toggle-switch input[value="growth"]:checked ~ .toggle-slider{
    left:calc(50% + 2px);
}
.mt5-growth-chart .toggle-switch input[value="money"]:checked ~ .toggle-label-money,
.mt5-growth-chart .toggle-switch input[value="growth"]:checked ~ .toggle-label-growth{
    color:var(--mt5-text-gray);
    font-weight:600;
}

/*
.mt5-growth-chart .switch-group{
    margin-left:20px;
}
.mt5-growth-chart .switch-group label{ margin-right:10px; }
.mt5-growth-chart .switch-group input[type="radio"]{
    accent-color:var(--mt5-profit-color);
    transform:scale(.8);
    margin-right:2px;
}
*/

/* ---------- Period buttons ---------- */
.mt5-growth-chart .switch-group {
    display: flex;
    gap: 1px;
    margin-left: 30px;
}

/* Inputs stay hidden */
.mt5-growth-chart .switch-group input[type="radio"] {
    display: none;
}

/* Every label looks like an inactive button by default */
.mt5-growth-chart .switch-group label {
    display: block;
    width: 70px;
    height: 22px;
    line-height: 22px;
    text-align: center;
    background-color: var(--mt5-background-dark);
    border-radius: 1px;
    cursor: pointer;
    color: var(--mt5-text-gray);
    transition: background-color 0.3s;
}

/* When its preceding radio is checked, highlight the label */
.mt5-growth-chart .switch-group input[type="radio"]:checked + label {
    background-color: var(--mt5-ai-color);
    color: var(--mt5-neutral-color);
    font-weight: 600;
}


.mt5-growth-chart #growth-chart-container{
    grid-row:2;
    width:100%;
    height:100%;
    background:var(--mt5-background-dark);
}

/* ---------- Metrics Selector Header/Body ---------- */
.mt5-metrics-container{
    margin-bottom:40px;
    padding:0;
    background:none;
    position:relative;
}
.mt5-metrics-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:0;
    padding:0;
    position:relative;
}
.mt5-metrics-title{
    margin:0;
    font-size:var(--mt5-medium-font-size);
    font-weight:400;
    line-height:1;
    height:var(--mt5-header-height);
    display:flex;
    align-items:center;
    color:var(--mt5-text-gray);
}

.mt5-metrics-selector,
.mt5-metrics-selector:hover,
.mt5-metrics-selector:focus,
.mt5-metrics-selector:active{
    background-color:#2b2f36 !important;
    color:var(--mt5-neutral-color) !important;
}
.mt5-metrics-selector{
    height:var(--mt5-header-height);
    min-width:240px;
    padding:5px 24px 8px 14px;
    border:1px solid #3a3d45;
    border-radius:8px;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23FFFFFF' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-size:12px 8px;
    background-position:right 12px center;
    transition:border-color .15s, box-shadow .15s;
}
.mt5-metrics-selector:hover{
    border-color:var(--mt5-profit-color);
}
.mt5-metrics-selector:focus{
    outline:none;
    border-color:var(--mt5-profit-color);
    box-shadow:0 0 0 2px rgba(76,175,80,.25);
}
.mt5-metrics-header::after{
    content:"";
    display:block;
    width:100%;
    height:var(--mt5-header-gap);
    background:transparent;
}
.mt5-metrics-body{
    background:#1f2228;
    border:1px solid #2c2f36;
    border-radius:14px;
    box-shadow:0 10px 30px rgba(0,0,0,.35);
    padding:24px;
}
.mt5-metrics-view{
    display:none;
    opacity:0;
    transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease;
}
.mt5-metrics-view.is-active{
    display:block;
    opacity:1;
    transform:translateY(0);
}

/* ---------- Responsive tweaks ---------- */
@media (max-width: 768px){
    .mt5-performance-metrics .metric-row{
        flex-direction:column;
        gap:20px;
    }
    .mt5-performance-metrics .metric{ margin-bottom:30px; }

    .mt5-metrics-3col{
        flex-direction:column;
        gap:18px;
    }
    .mt5-side{
        max-width:100%;
        flex:1 1 auto;
        gap:10px;
    }
    .mt5-metrics-3col .mt5-center{
        width:200px;
        aspect-ratio:1;
    }

    .mt5-performance-metrics .value-label,
    .mt5-advanced-metrics .value-label{
        font-size:10px;
        padding:1px 3px;
    }

    .mt5-profit-summary-circle-inner,
    .mt5-long-short-circle-inner,
    .mt5-winning-losing-circle-inner,
    .mt5-ai-manual-circle-inner{
        font-size:12px;
    }
}

@media (max-width: 480px){
    :root{
        --mt5-header-height: 38px;
        --mt5-header-gap: 10px;
    }
    .mt5-metrics-title{ font-size:16px; }
    .mt5-metrics-selector{
        min-width:180px;
        font-size:13px;
        padding:7px 32px 7px 12px;
    }

    .mt5-growth-chart .controls{
        flex-direction:column;
        align-items:flex-start;
    }
    .mt5-growth-chart .switches{
        margin-top:10px;
    }
    .mt5-growth-chart .toggle-switch{ width:100px; }
}

/* Lock body to widest measured width. Height flows.  */
.mt5-metrics-body--locked{
    width: var(--mt5-fixed-width);
    max-width: 100%;
}

/* Views must stretch, not shrink */
.mt5-metrics-view,
.mt5-metrics-view > .mt5-metrics-3col{
    width:100%;
}

/* Hidden measuring state */
.mt5-measuring{
    position:absolute !important;
    visibility:hidden !important;
    pointer-events:none !important;
    left:-9999px !important;
    top:auto !important;
}

.mt5-metrics-container,
.mt5-metrics-body{
    display:block !important;
}

/* Unify font sizes to match mt5_long_short_metrics_shortcode circle */
.mt5-metrics-3col .mt5-value,
.mt5-metrics-3col .mt5-stat-label {
    font-size: var(--mt5-medium-font-size);
}


/* Ensure values use medium font size for consistency */
.mt5-stat .mt5-value {
    font-size: var(--mt5-medium-font-size);
}

.mt5-metrics-3col .mt5-side-left,
.mt5-metrics-3col .mt5-side-right {
    min-width: var(--mt5-max-side-width);
}

/* Margins for columns */
.mt5-side-left {
    margin-left: 25px;
}

.mt5-side-right {
    margin-right: 25px;
}

/* Right-align content in right column */
.mt5-side-right > div {
    text-align: right;
}
