/* ===================================================
   ServisCore Pro Theme v1.0
   =================================================== */

:root{

    --bg:#020617;
    --panel:#0F172A;
    --panel2:#111827;

    --border:#1E293B;

    --text:#F8FAFC;
    --muted:#94A3B8;

    --primary:#2563EB;
    --primary-hover:#1D4ED8;

    --success:#22C55E;
    --warning:#F59E0B;
    --danger:#EF4444;

    --radius:18px;

    --shadow:0 18px 45px rgba(0,0,0,.30);

    --transition:.25s;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,body{
    background:var(--bg);
    color:var(--text);
    font-family:
    Inter,
    Segoe UI,
    Arial,
    sans-serif;
}

/* Layout */

.layout{
    display:flex;
    min-height:100vh;
}

.sidebar{

    width:260px;

    background:linear-gradient(
        180deg,
        #020617,
        #0F172A
    );

    border-right:1px solid var(--border);

    padding:28px;
}

.main{

    flex:1;

    padding:30px;

    overflow:auto;
}

/* Logo */

.logo{

    font-size:30px;

    font-weight:900;

    line-height:1;

    margin-bottom:8px;
}

.company{

    color:var(--muted);

    font-size:13px;

    margin-bottom:30px;
}

/* Menu */

.menu a{

    display:block;

    padding:14px;

    margin-bottom:8px;

    border-radius:14px;

    text-decoration:none;

    color:#E5E7EB;

    font-weight:700;

    transition:var(--transition);
}

.menu a:hover{

    background:var(--primary);

    color:white;
}

.menu a.active{

    background:var(--primary);

    color:white;
}

/* Header */

.page-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:24px;
}

.page-title{

    font-size:32px;

    font-weight:900;
}

.page-subtitle{

    color:var(--muted);

    margin-top:6px;
}

/* Grid */

.grid2{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;
}

.grid3{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;
}

.grid4{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;
}

/* Cards */

.card{

    background:var(--panel);

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:22px;

    box-shadow:var(--shadow);
}

.card:hover{

    transform:translateY(-2px);

    transition:var(--transition);
}

/* KPI */

.kpi-title{

    font-size:13px;

    color:var(--muted);

    font-weight:800;

    margin-bottom:10px;
}

.kpi-value{

    font-size:30px;

    font-weight:900;
}

.kpi-sub{

    margin-top:8px;

    color:var(--muted);

    font-size:12px;
}

/* Buttons */

.btn{

    display:inline-block;

    padding:11px 18px;

    border:none;

    border-radius:12px;

    cursor:pointer;

    text-decoration:none;

    font-weight:700;

    transition:var(--transition);
}

.btn-primary{

    background:var(--primary);

    color:white;
}

.btn-primary:hover{

    background:var(--primary-hover);
}

.btn-success{

    background:var(--success);

    color:white;
}

.btn-danger{

    background:var(--danger);

    color:white;
}

.btn-warning{

    background:var(--warning);

    color:black;
}

/* Tables */

.table{

    width:100%;

    border-collapse:collapse;
}

.table th{

    color:var(--muted);

    font-size:12px;

    text-transform:uppercase;

    border-bottom:1px solid var(--border);

    padding:12px;
}

.table td{

    padding:13px;

    border-bottom:1px solid var(--border);
}

.table tr:hover{

    background:#111827;
}

/* Forms */

.input,
select,
textarea{

    width:100%;

    background:#111827;

    color:white;

    border:1px solid var(--border);

    border-radius:12px;

    padding:11px;
}

.input:focus,
textarea:focus,
select:focus{

    outline:none;

    border-color:var(--primary);
}

/* Alerts */

.success{

    color:var(--success);

    font-weight:800;

    margin-bottom:14px;
}

.error{

    color:var(--danger);

    font-weight:800;

    margin-bottom:14px;
}

/* Badges */

.badge{

    display:inline-block;

    padding:5px 10px;

    border-radius:999px;

    background:var(--primary);

    color:white;

    font-size:12px;

    font-weight:800;
}

/* Responsive */

@media(max-width:1200px){

.grid4{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:800px){

.layout{

flex-direction:column;

}

.sidebar{

width:100%;

}

.grid2,
.grid3,
.grid4{

grid-template-columns:1fr;

}

.page-header{

flex-direction:column;

align-items:flex-start;

gap:12px;

}

}