/* ========= EdenCampus ELMS Theme ========= */
:root{
  --bg:#f4f5f8; --panel:#ffffff; --line:#e5e7eb; --text:#111827; --muted:#6b7280;
  --brand:#6d28d9; --brand-100:#ede9fe; --sidebar:#0f172a; --sidebar-hover:#111827;
  --sidebar-text:#cbd5e1; --sidebar-line:#1e293b;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,Segoe UI,Arial,sans-serif}
.page{display:flex;min-height:100vh}
/* Sidebar */
.sidebar{width:240px;background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column}
.side-head{padding:18px 16px;border-bottom:1px solid var(--sidebar-line);font-weight:700;font-size:20px}
.who{padding:8px 16px;font-size:13px;color:var(--sidebar-text);border-bottom:1px solid var(--sidebar-line)}
.nav{padding:6px}
.nav a{display:flex;gap:10px;align-items:center;color:var(--sidebar-text);text-decoration:none;padding:10px 14px;border-left:3px solid transparent;border-radius:6px}
.nav a:hover{background:var(--sidebar-hover)}
.nav a.active{background:var(--sidebar-hover);border-left-color:var(--brand);color:#fff}
/* Topbar & content */
.content{flex:1;display:flex;flex-direction:column}
.topbar{height:56px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 16px}
.crumb{font-weight:800;font-size:28px}
.when{color:var(--muted);font-size:13px}
.wrap{padding:16px;max-width:1280px;margin:0 auto}
/* Cards & tables */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}
.k{font-size:36px;font-weight:700;margin:4px 0 10px}
.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:16px}
table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left}
th{background:#fafafa}
.muted{color:var(--muted)}
.btn{display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;text-decoration:none;cursor:pointer}
.btn.brand{border-color:var(--brand);background:var(--brand-100)}
.tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#eef2ff;border:1px solid #e0e7ff;font-size:12px}
h1,h2,h3{margin:0 0 8px}
