/* ==========================================
   CTRA ERP Dashboard
========================================== */

:root{

    --primary:#2F80ED;
    --primary-light:#4D9BFF;

    --success:#27AE60;
    --warning:#F2C94C;
    --danger:#EB5757;

    --background:#08111F;
    --background2:#101C2F;
    --background3:#17263D;

    --card:rgba(20,30,48,.82);

    --border:rgba(255,255,255,.08);

    --text:#F5F7FA;
    --text-light:#A7B4C7;

    --radius:22px;

    --transition:.3s ease;

}

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

body{

    font-family:'Inter',sans-serif;

    background:
    radial-gradient(circle at top right,#1A4D91 0%,transparent 30%),
    radial-gradient(circle at bottom left,#10203D 0%,transparent 40%),
    var(--background);

    color:var(--text);

}

/* ===========================
   Layout
=========================== */

.dashboard{

    display:flex;

    min-height:100vh;

}

/* ===========================
   Sidebar
=========================== */

.sidebar{

    width:260px;

    margin:20px;

    border-radius:30px;

    background:rgba(20,30,48,.88);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.07);

    display:flex;

    flex-direction:column;

    padding:25px;

}

.logo{

    text-align:center;

    margin-bottom:45px;

}

.logo img{

    height:65px;

    margin-bottom:15px;

}

.logo h2{

    font-size:24px;

    font-weight:800;

}

/* ===========================
   Navigation
=========================== */

.sidebar nav{

    display:flex;

    flex-direction:column;

    gap:10px;

}

.sidebar nav a{

    text-decoration:none;

    color:var(--text-light);

    display:flex;

    align-items:center;

    gap:14px;

    padding:15px 18px;

    border-radius:15px;

    transition:var(--transition);

    font-weight:600;

}

.sidebar nav a:hover{

    background:rgba(47,128,237,.18);

    color:white;

}

.sidebar nav a.active{

    background:var(--primary);

    color:white;

    box-shadow:0 10px 25px rgba(47,128,237,.30);

}

.sidebar nav i{

    width:22px;

    text-align:center;

}

.logout-btn{

    margin-top:auto;

    border:none;

    padding:16px;

    border-radius:15px;

    background:#E74C3C;

    color:white;

    font-weight:700;

    cursor:pointer;

    transition:var(--transition);

}

.logout-btn:hover{

    transform:translateY(-2px);

    background:#D63031;

}

/* ===========================
   Main
=========================== */

.content{

    flex:1;

    padding:30px;

}

/* ===========================
   Topbar
=========================== */

.topbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:35px;

}

.topbar h1{

    font-size:34px;

    font-weight:800;

}

.topbar p{

    color:var(--text-light);

    margin-top:8px;

}

.top-actions{

    display:flex;

    gap:15px;

}

.top-actions button{

    width:52px;

    height:52px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    background:var(--background3);

    color:white;

    font-size:18px;

    transition:var(--transition);

}

.top-actions button:hover{

    background:var(--primary);

    transform:translateY(-3px);

}

/* ===========================
   KPI Cards
=========================== */

.cards{

    display:grid;

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

    gap:25px;

    margin-bottom:35px;

}

.card{

    background:var(--card);

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

    backdrop-filter:blur(15px);

    border-radius:25px;

    padding:30px;

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-6px);

    border-color:rgba(47,128,237,.5);

}

.card h3{

    color:var(--text-light);

    font-size:15px;

    margin-bottom:15px;

}

.card h2{

    font-size:36px;

    font-weight:800;

}

/* ===========================
   Charts
=========================== */

.charts{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:25px;

}

.chart-card{

    background:var(--card);

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

    border-radius:25px;

    backdrop-filter:blur(20px);

    padding:30px;

}

.chart-card h3{

    margin-bottom:25px;

}

.chart-card canvas{

    width:100% !important;

    height:350px !important;

}

/* ===========================
   Responsive
=========================== */

@media(max-width:1300px){

.cards{

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

}

.charts{

    grid-template-columns:1fr;

}

}

@media(max-width:900px){

.dashboard{

    flex-direction:column;

}

.sidebar{

    width:calc(100% - 40px);

}

}

@media(max-width:700px){

.cards{

    grid-template-columns:1fr;

}

.topbar{

    flex-direction:column;

    align-items:flex-start;

    gap:20px;

}

}




/* ===================================
   Sidebar V2
===================================*/

.sidebar-header{

    text-align:center;

    padding-bottom:30px;

    border-bottom:1px solid rgba(255,255,255,.08);

    margin-bottom:30px;

}

.logo-img{

    width:75px;

    margin-bottom:15px;

}

.sidebar-header h2{

    font-size:24px;

    font-weight:800;

}

.sidebar-header span{

    color:var(--text-light);

    font-size:14px;

}

.sidebar-menu{

    display:flex;

    flex-direction:column;

    gap:8px;

}

.menu-item{

    display:flex;

    align-items:center;

    gap:16px;

    padding:16px 18px;

    border-radius:16px;

    text-decoration:none;

    color:var(--text-light);

    transition:.25s;

    font-weight:600;

}

.menu-item i{

    width:24px;

    text-align:center;

    font-size:18px;

}

.menu-item:hover{

    background:rgba(47,128,237,.15);

    color:white;

}

.menu-item.active{

    background:linear-gradient(135deg,#2F80ED,#58A6FF);

    color:white;

    box-shadow:0 10px 25px rgba(47,128,237,.35);

}

.sidebar-footer{

    margin-top:auto;

}

.user-card{

    display:flex;

    align-items:center;

    gap:15px;

    padding:18px;

    background:rgba(255,255,255,.05);

    border-radius:18px;

    margin-bottom:20px;

}

.avatar{

    width:50px;

    height:50px;

    border-radius:50%;

    background:linear-gradient(135deg,#2F80ED,#58A6FF);

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

    font-size:20px;

}

.user-card h4{

    font-size:16px;

}

.user-card p{

    font-size:13px;

    color:var(--text-light);

    margin-top:4px;

}






/* ===================================
   TOPBAR
=================================== */

.topbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:25px 35px;

    background:rgba(20,30,48,.75);

    backdrop-filter:blur(20px);

    border-radius:22px;

    margin-bottom:30px;

    border:1px solid rgba(255,255,255,.08);

}

.topbar-left{

    display:flex;

    align-items:center;

    gap:18px;

}

.menu-toggle{

    width:48px;

    height:48px;

    border:none;

    border-radius:14px;

    background:rgba(255,255,255,.06);

    color:white;

    cursor:pointer;

    transition:.25s;

}

.menu-toggle:hover{

    background:#2F80ED;

}

.topbar-left h1{

    font-size:28px;

    font-weight:800;

}

.topbar-left p{

    color:#A5B3C7;

    margin-top:5px;

}

.search-box{

    display:flex;

    align-items:center;

    background:#17263D;

    border-radius:14px;

    padding:0 18px;

    height:50px;

    width:380px;

}

.search-box i{

    color:#9AA7BC;

}

.search-box input{

    flex:1;

    border:none;

    background:none;

    color:white;

    margin-left:12px;

    outline:none;

    font-size:15px;

}

.topbar-right{

    display:flex;

    align-items:center;

    gap:15px;

}

.top-icon{

    position:relative;

    width:48px;

    height:48px;

    border:none;

    border-radius:14px;

    background:#17263D;

    color:white;

    cursor:pointer;

    transition:.25s;

}

.top-icon:hover{

    background:#2F80ED;

}

.badge{

    position:absolute;

    top:5px;

    right:5px;

    width:18px;

    height:18px;

    border-radius:50%;

    background:#EB5757;

    color:white;

    font-size:10px;

    display:flex;

    align-items:center;

    justify-content:center;

}

.top-user{

    display:flex;

    align-items:center;

    gap:12px;

    margin-left:10px;

}

.top-avatar{

    width:45px;

    height:45px;

    border-radius:50%;

    background:linear-gradient(135deg,#2F80ED,#58A6FF);

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

}

.top-user h4{

    font-size:15px;

}

.top-user span{

    color:#A5B3C7;

    font-size:13px;

}







.hero{

    display:flex;
    
    justify-content:space-between;
    
    align-items:center;
    
    margin-bottom:40px;
    
    }
    
    .hero h1{
    
    font-size:38px;
    
    font-weight:800;
    
    }
    
    .hero p{
    
    margin-top:8px;
    
    color:#9aa7bc;
    
    }
    
    .primary-btn{
    
    background:#2F80ED;
    
    color:white;
    
    border:none;
    
    padding:15px 25px;
    
    border-radius:15px;
    
    cursor:pointer;
    
    font-weight:700;
    
    }
    
    .kpi-grid{
    
    display:grid;
    
    grid-template-columns:repeat(4,1fr);
    
    gap:25px;
    
    margin-bottom:35px;
    
    }
    
    .kpi-card{
    
    background:#16243A;
    
    border-radius:20px;
    
    padding:30px;
    
    }
    
    .kpi-card span{
    
    font-size:35px;
    
    }
    
    .kpi-card h3{
    
    margin:20px 0 12px;
    
    font-size:15px;
    
    color:#9aa7bc;
    
    }
    
    .kpi-card h2{
    
    font-size:34px;
    
    }
    
    .chart-grid{
    
    display:grid;
    
    grid-template-columns:2fr 1fr;
    
    gap:25px;
    
    }
    
    .chart-card{
    
    background:#16243A;
    
    border-radius:20px;
    
    height:420px;
    
    padding:30px;
    
    }





    /* ==========================================
   HERO
========================================== */

.hero{

    display:flex;
    
    justify-content:space-between;
    
    align-items:center;
    
    margin-bottom:40px;
    
    gap:30px;
    
    }
    
    .hero-text{
    
    max-width:700px;
    
    }
    
    .hero h1{
    
    font-size:42px;
    
    font-weight:800;
    
    margin-bottom:12px;
    
    }
    
    .hero p{
    
    color:var(--text-light);
    
    line-height:1.8;
    
    font-size:16px;
    
    }
    
    .hero-buttons{
    
    display:flex;
    
    gap:15px;
    
    }
    
    .primary-btn{
    
    padding:15px 26px;
    
    border:none;
    
    border-radius:15px;
    
    background:var(--primary);
    
    color:white;
    
    font-weight:700;
    
    cursor:pointer;
    
    transition:.25s;
    
    }
    
    .primary-btn:hover{
    
    transform:translateY(-2px);
    
    }
    
    .secondary-btn{
    
    padding:15px 26px;
    
    border-radius:15px;
    
    border:1px solid rgba(255,255,255,.08);
    
    background:transparent;
    
    color:white;
    
    cursor:pointer;
    
    }
    
    /* ============================= */
    
    .kpis{

        display:grid;
        
        grid-template-columns:repeat(4,minmax(260px,1fr));
        
        gap:22px;
        
        margin-bottom:35px;
        
        align-items:stretch;
        
        }


    .kpi-card{

background:rgba(20,30,48,.92);

border:1px solid rgba(255,255,255,.05);

border-radius:22px;

padding:24px;

display:flex;

align-items:center;

gap:18px;

min-height:140px;

transition:.25s;

position:relative;

overflow:hidden;

}

.kpi-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:4px;

background:linear-gradient(90deg,#2F80ED,#58A6FF);

opacity:.9;

}

.kpi-card:hover{

transform:translateY(-6px);

border-color:rgba(47,128,237,.4);

box-shadow:0 15px 35px rgba(0,0,0,.25);

}
    
    .kpi-card:hover{
    
    transform:translateY(-6px);
    
    }
    
    .kpi-icon{

        width:70px;
        
        height:70px;
        
        min-width:70px;
        
        border-radius:20px;
        
        display:flex;
        
        justify-content:center;
        
        align-items:center;
        
        background:linear-gradient(135deg,#2F80ED,#58A6FF);
        
        font-size:28px;
        
        color:white;
        
        box-shadow:0 10px 25px rgba(47,128,237,.35);
        
    }
    
    .kpi-content{

        display:flex;
        
        flex-direction:column;
        
        justify-content:center;
        
        flex:1;
        
        }
        
        .kpi-content span{
        
        font-size:14px;
        
        color:#98A8BE;
        
        }
        
        .kpi-content h2{
        
        font-size:42px;
        
        margin:8px 0;
        
        font-weight:800;
        
        }
        
        .kpi-content small{
        
        color:#57D38C;
        
        font-weight:700;
        
        font-size:14px;
        
        }
    
    /* ============================= */
    
   
    
    .big-card,
    
    .small-card{
    
    background:rgba(20,30,48,.82);
    
    border-radius:22px;
    
    padding:25px;
    
    border:1px solid rgba(255,255,255,.05);
    
    }
    
    .big-card{

        height:430px;
        
        display:flex;
        
        flex-direction:column;
        
    }

    .big-card canvas{

        flex:1;
        
        margin-top:20px;
        
        }
    
    .small-card{
    
    height:430px;
    
    }




    /* ===============================
   Bottom Widgets
=============================== */


.dashboard-layout{

    display:grid;
    
    grid-template-columns:2fr 1fr;
    
    grid-template-areas:
    
    "sales donut"
    
    "orders alerts"
    
    "timeline timeline";
    
    gap:25px;
    
    margin-top:30px;
    
    }


    
    .orders-card,
    .alerts-card{
    
    background:rgba(20,30,48,.82);
    
    border:1px solid rgba(255,255,255,.05);
    
    border-radius:22px;
    
    padding:25px;
    
    }
    
    .dashboard-table{
    
    width:100%;
    
    border-collapse:collapse;
    
    margin-top:20px;
    
    }
    
    .dashboard-table th{
    
    text-align:left;
    
    padding:15px;
    
    color:#9AA7BC;
    
    border-bottom:1px solid rgba(255,255,255,.05);
    
    }
    
    .dashboard-table td{
    
    padding:18px 15px;
    
    border-bottom:1px solid rgba(255,255,255,.05);
    
    }
    
    .badge{
    
    padding:8px 14px;
    
    border-radius:50px;
    
    font-size:12px;
    
    font-weight:700;
    
    }
    
    .success{
    
    background:#1E5631;
    
    color:#8EF0B2;
    
    }
    
    .warning{
    
    background:#6A5516;
    
    color:#FFD666;
    
    }
    
    .danger{
    
    background:#5A2323;
    
    color:#FFB4B4;
    
    }
    
    .alert-item{
    
    display:flex;
    
    gap:15px;
    
    margin-top:20px;
    
    padding:18px;
    
    border-radius:15px;
    
    background:rgba(255,255,255,.03);
    
    }
    
    .alert-item i{
    
    font-size:22px;
    
    color:#2F80ED;
    
    margin-top:3px;
    
    }
    
    .alert-item p{
    
    margin-top:5px;
    
    color:#9AA7BC;
    
    font-size:14px;
    
    }



    .sales-card{

        grid-area:sales;
        
        }
        
        .donut-card{
        
        grid-area:donut;
        
        }
        
        .orders-card{
        
        grid-area:orders;
        
        }
        
        .alerts-card{
        
        grid-area:alerts;
        
        }
        
        .timeline-card{
        
        grid-area:timeline;
        
        }





        /* ==========================================
   QUICK ACTIONS
========================================== */

.quick-grid{

    display:grid;
    
    grid-template-columns:repeat(4,1fr);
    
    gap:25px;
    
    margin-top:25px;
    
    }
    
    .quick-card{
    
    background:rgba(20,30,48,.82);
    
    border:1px solid rgba(255,255,255,.05);
    
    border-radius:22px;
    
    padding:30px;
    
    transition:.25s;
    
    text-align:center;
    
    }
    
    .quick-card:hover{
    
    transform:translateY(-6px);
    
    border-color:rgba(47,128,237,.35);
    
    }
    
    .quick-card i{
    
    font-size:38px;
    
    margin-bottom:18px;
    
    color:#2F80ED;
    
    }
    
    .quick-card h3{
    
    margin-bottom:12px;
    
    font-size:20px;
    
    }
    
    .quick-card p{
    
    color:#9AA7BC;
    
    line-height:1.6;
    
    margin-bottom:25px;
    
    font-size:14px;
    
    }
    
    .quick-card button{
    
    width:100%;
    
    padding:14px;
    
    border:none;
    
    border-radius:14px;
    
    background:#2F80ED;
    
    color:white;
    
    font-weight:700;
    
    cursor:pointer;
    
    transition:.25s;
    
    }
    
    .quick-card button:hover{
    
    background:#58A6FF;
    
    }


/* ==========================================
   CEO Dashboard
========================================== */

.kpis-ceo{
    grid-template-columns:repeat(2, minmax(280px, 1fr));
}

.growth-down{
    color:#EB5757 !important;
}

.ceo-grid{
    display:grid;
    gap:25px;
    margin-bottom:25px;
}

.ceo-grid-full{
    grid-template-columns:1fr;
}

.ceo-grid-half{
    grid-template-columns:1.4fr 1fr;
}

.chart-card{
    background:rgba(20,30,48,.82);
    border:1px solid rgba(255,255,255,.05);
    border-radius:22px;
    padding:25px;
    height:430px;
    display:flex;
    flex-direction:column;
}

.chart-card-with-list{
    height:auto;
    min-height:430px;
}

.chart-card-header h2{
    font-size:18px;
    font-weight:700;
}

.chart-subtitle{
    color:#9AA7BC;
    font-size:13px;
    margin-top:6px;
}

.chart-wrap{
    flex:1;
    position:relative;
    min-height:280px;
    margin-top:15px;
}

.chart-list-layout{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:20px;
    flex:1;
    min-height:300px;
}

.commercial-ranking{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    padding-left:10px;
    border-left:1px solid rgba(255,255,255,.06);
}

.commercial-ranking-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.05);
}

.commercial-ranking-item:last-child{
    border-bottom:none;
}

.ranking-position{
    width:28px;
    height:28px;
    border-radius:8px;
    background:rgba(47,128,237,.2);
    color:#58A6FF;
    font-size:12px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.ranking-info{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.ranking-info strong{
    font-size:14px;
}

.ranking-info span{
    font-size:13px;
    color:#9AA7BC;
}

.ranking-part{
    font-size:14px;
    font-weight:700;
    color:#57D38C;
}

.dashboard-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:25px;
    margin-bottom:25px;
}

.bottom-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:25px;
    margin-bottom:25px;
}

@media (max-width:1200px){

    .ceo-grid-half,
    .chart-list-layout{
        grid-template-columns:1fr;
    }

    .commercial-ranking{
        border-left:none;
        padding-left:0;
        padding-top:10px;
        border-top:1px solid rgba(255,255,255,.06);
    }

    .kpis-ceo{
        grid-template-columns:1fr;
    }

}