<style>
:root {
    --primary:#2563eb;
    --primary-dark:#1e40af;
    --bg:#f4f6fb;
    --text:#1f2937;
    --muted:#6b7280;
    --white:#ffffff;
}

* {
    box-sizing:border-box;
}

body {
    margin:0;
    font-family:'Inter', system-ui, sans-serif;
    background:var(--bg);
    color:var(--text);
}

/* SIDEBAR */
.sidebar {
    position:fixed;
    top:0;
    left:0;
    width:260px;
    height:100vh;
    background:var(--white);
    border-right:1px solid #e5e7eb;
    padding:20px 0;
}

.sidebar h2 {
    text-align:center;
    margin:0 0 30px;
    color:var(--primary);
}

.sidebar a {
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 24px;
    color:var(--text);
    text-decoration:none;
    font-weight:500;
}

.sidebar a:hover,
.sidebar a.active {
    background:#eef2ff;
    color:var(--primary);
}

/* TOPBAR */
.topbar {
    position:fixed;
    left:260px;
    right:0;
    top:0;
    height:60px;
    background:var(--white);
    border-bottom:1px solid #e5e7eb;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 25px;
    z-index:10;
}

.topbar span {
    font-weight:600;
}

/* MAIN */
.main {
    margin-left:260px;
    padding:90px 25px 25px;
}

/* CARDS */
.card {
    background:var(--white);
    border-radius:12px;
    padding:20px;
    box-shadow:0 8px 20px rgba(0,0,0,0.05);
    margin-bottom:25px;
}

.card h3 {
    margin-top:0;
    color:var(--primary);
}

/* STATS */
.stats {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
}

.stat {
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:white;
    padding:20px;
    border-radius:12px;
}

.stat small {
    opacity:0.85;
}

/* TABLE */
table {
    width:100%;
    border-collapse:collapse;
}

table th {
    text-align:left;
    padding:12px;
    font-size:13px;
    color:var(--muted);
    border-bottom:1px solid #e5e7eb;
}

table td {
    padding:12px;
    border-bottom:1px solid #f1f5f9;
}

table tr:hover {
    background:#f9fafb;
}

/* BUTTONS */
.btn {
    padding:8px 14px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    font-size:13px;
    font-weight:500;
}

.btn-primary {
    background:var(--primary);
    color:white;
}

.btn-danger {
    background:#dc2626;
    color:white;
}

.btn:hover {
    opacity:0.9;
}

.badge {
    background:#eef2ff;
    color:var(--primary);
    padding:4px 10px;
    border-radius:999px;
    font-size:12px;
}

/* ALERT */
.success-msg {
    background:#ecfdf5;
    color:#065f46;
    padding:12px 16px;
    border-radius:8px;
    margin-bottom:20px;
}
</style>
