:root{
    --primary-color:#3f51b5;
    --primary-dark:#2c3a94;
    --danger:#dc3545;
    --success:#28a745;
    --bg:#f4f6fb;
}
*{box-sizing:border-box;}
body{
    font-family:'Kantumruy Pro', sans-serif;
    background:var(--bg);
    margin:0;
    color:#222;
}
.topbar{
    background:var(--primary-color);
    color:#fff;
    padding:14px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
}
.topbar .brand{font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:8px;}
.topbar nav a{color:#fff;text-decoration:none;margin-left:16px;font-size:.92rem;}
.topbar nav a:hover{text-decoration:underline;}
.wrap{max-width:1100px;margin:0 auto;padding:20px;}
.card{
    background:#fff;
    border-radius:14px;
    box-shadow:0 6px 18px rgba(0,0,0,.06);
    padding:20px;
    margin-bottom:20px;
}
.stat-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(180px,1fr));
    gap:16px;
    margin-bottom:20px;
}
.stat-card{
    background:#fff;
    border-radius:14px;
    padding:18px;
    box-shadow:0 6px 18px rgba(0,0,0,.06);
    text-align:center;
    border-bottom:4px solid var(--primary-color);
}
.stat-card .num{font-size:1.8rem;font-weight:700;color:var(--primary-color);}
.stat-card .label{font-size:.85rem;color:#666;margin-top:4px;}
table{width:100%;border-collapse:collapse;font-size:.92rem;}
th,td{padding:10px;border-bottom:1px solid #eee;text-align:left;}
th{background:#f0f2fa;color:#333;}
tr:hover{background:#fafbff;}
.btn{
    display:inline-block;
    padding:9px 16px;
    border-radius:8px;
    border:none;
    background:var(--primary-color);
    color:#fff;
    text-decoration:none;
    cursor:pointer;
    font-family:inherit;
    font-size:.92rem;
}
.btn:hover{background:var(--primary-dark);}
.btn.danger{background:var(--danger);}
.btn.outline{background:#fff;color:var(--primary-color);border:1px solid var(--primary-color);}
.form-group{margin-bottom:14px;}
.form-group label{display:block;margin-bottom:5px;font-size:.9rem;color:#444;}
.form-group input, .form-group select{
    width:100%;
    padding:10px;
    border:1px solid #ddd;
    border-radius:8px;
    font-family:inherit;
    font-size:.95rem;
}
.auth-box{max-width:420px;margin:60px auto;}
.msg{padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:.9rem;}
.msg.error{background:#fdecea;color:#b71c1c;}
.msg.success{background:#e8f5e9;color:#1b5e20;}
.badge{padding:3px 10px;border-radius:20px;font-size:.75rem;}
.badge.pass{background:#e8f5e9;color:#1b5e20;}
.badge.fail{background:#fdecea;color:#b71c1c;}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
.filters select, .filters input{padding:8px;border-radius:8px;border:1px solid #ddd;}
