@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root{
    --bg:#0b0f19;
    --sidebar:#0f1629;
    --surface:#131c31;
    --surface-light:#18233c;
    --border:rgba(255,255,255,.06);

    --primary:#00e5a0;
    --primary-glow:rgba(0,229,160,.35);

    --blue:#4d9fff;
    --purple:#c77dff;
    --danger:#ff4d6d;
    --warning:#ff9f1c;

    --text:#e6edf7;
    --muted:#7f8ca8;
}

/* RESET */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Inter',sans-serif;
    background:
        radial-gradient(circle at 20% 20%, rgba(0,229,160,.08), transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(77,159,255,.08), transparent 40%),
        var(--bg);
    color:var(--text);
    min-height:100vh;
    -webkit-font-smoothing:antialiased;
}

/* LAYOUT */
.app{
    display:flex;
    min-height:100vh;
}

/* SIDEBAR */
.sidebar{
    width:250px;
    background:var(--sidebar);
    border-right:1px solid var(--border);
    padding:30px 20px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.sidebar-logo{
    font-size:20px;
    font-weight:700;
    letter-spacing:1px;
    margin-bottom:40px;
    background:linear-gradient(90deg,var(--primary),var(--blue));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.nav{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.nav a{
    padding:12px 14px;
    border-radius:10px;
    text-decoration:none;
    color:var(--muted);
    font-size:14px;
    transition:.2s ease;
}

.nav a:hover{
    background:rgba(255,255,255,.04);
    color:var(--text);
}

.nav a.active{
    background:rgba(0,229,160,.15);
    color:var(--primary);
    box-shadow:0 0 12px var(--primary-glow);
}

/* MAIN */
.main{
    flex:1;
    padding:30px 40px;
}

/* TOPBAR */
.topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:30px;
}

.topbar-title{
    font-size:22px;
    font-weight:600;
}

.user-box{
    font-size:13px;
    color:var(--muted);
}

/* CARDS */
.card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:16px;
    padding:25px;
    box-shadow:0 15px 40px rgba(0,0,0,.35);
    transition:.25s ease;
}

.card:hover{
    transform:translateY(-4px);
}

/* GRID */
.grid{
    display:grid;
    gap:20px;
}

.grid-3{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}

/* STAT */
.stat-title{
    font-size:12px;
    color:var(--muted);
    margin-bottom:8px;
    text-transform:uppercase;
    letter-spacing:.8px;
}

.stat-value{
    font-size:34px;
    font-weight:700;
}

.stat-green .stat-value{ color:var(--primary); }
.stat-blue .stat-value{ color:var(--blue); }
.stat-purple .stat-value{ color:var(--purple); }
.stat-danger .stat-value{ color:var(--danger); }

/* BUTTON */
.btn{
    padding:10px 18px;
    border-radius:10px;
    border:none;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:.2s ease;
}

.btn-primary{
    background:linear-gradient(135deg,var(--primary),#00ffc3);
    color:#000;
}

.btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 25px var(--primary-glow);
}

.btn-danger{
    background:rgba(255,77,109,.15);
    color:var(--danger);
    border:1px solid rgba(255,77,109,.4);
}

/* TABLE */
.table{
    width:100%;
    border-collapse:collapse;
    margin-top:10px;
}

.table th{
    text-align:left;
    font-size:11px;
    text-transform:uppercase;
    color:var(--muted);
    padding:14px 10px;
    border-bottom:1px solid var(--border);
}

.table td{
    padding:14px 10px;
    border-bottom:1px solid var(--border);
    font-size:14px;
}

.table tr:hover{
    background:rgba(255,255,255,.03);
}

/* BADGE */
.badge{
    padding:4px 10px;
    border-radius:20px;
    font-size:11px;
    font-weight:600;
}

.badge-success{
    background:rgba(0,229,160,.15);
    color:var(--primary);
}

.badge-danger{
    background:rgba(255,77,109,.15);
    color:var(--danger);
}

/* LOGIN */
.login-container{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
}

.login-card{
    width:100%;
    max-width:420px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:20px;
    padding:40px;
    box-shadow:0 20px 60px rgba(0,0,0,.45);
}

.login-title{
    font-size:22px;
    font-weight:600;
    margin-bottom:5px;
}

.login-sub{
    font-size:13px;
    color:var(--muted);
    margin-bottom:25px;
}

.input{
    width:100%;
    padding:12px 14px;
    margin-bottom:15px;
    background:var(--surface-light);
    border:1px solid var(--border);
    border-radius:10px;
    color:var(--text);
    font-size:14px;
    transition:.2s ease;
}

.input:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(0,229,160,.15);
    outline:none;
}

/* RESPONSIVE */
@media(max-width:900px){
    .sidebar{
        width:200px;
    }
}

@media(max-width:700px){
    .sidebar{
        display:none;
    }
    .main{
        padding:20px;
    }
}