:root{
  --background:#ffffff;
  --foreground:#09090b;
  --muted:#f4f4f5;
  --muted-foreground:#71717a;
  --border:#e4e4e7;
  --blue:#3452E1;
  --red:#B11F24;
  --radius:12px;
  --font-sans:'Inter', -apple-system, sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);}

.auth-body{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;}
.auth-card{max-width:380px;width:100%;padding:36px 32px;border:1px solid var(--border);border-radius:var(--radius);}
.auth-card h1{font-size:22px;margin:0 0 12px;}
.auth-card .sub{color:var(--muted-foreground);font-size:14px;margin:0 0 20px;}
.auth-card .error{color:var(--red);font-size:14px;}
.auth-card label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;}
.auth-card input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;
  font-size:15px;margin-bottom:16px;font-family:inherit;}
.auth-card button, .btn-solid{background:var(--blue);color:#fff;border:none;border-radius:8px;
  padding:11px 18px;font-size:14px;font-weight:600;cursor:pointer;width:100%;text-align:center;
  text-decoration:none;display:inline-block;}

.app-header{display:flex;align-items:center;justify-content:space-between;
  padding:16px 28px;border-bottom:1px solid var(--border);}
.app-header-title{font-weight:800;}
.app-header-right{display:flex;align-items:center;gap:16px;font-size:14px;}
.app-header-right a, .back-link{color:var(--muted-foreground);text-decoration:none;}
.app-main{max-width:760px;margin:0 auto;padding:36px 24px;}
.app-main h1{font-size:26px;margin:0 0 20px;}
.empty-state{color:var(--muted-foreground);}

.course-list, .lesson-list{list-style:none;padding:0;margin:0;}
.course-list li, .lesson-list li{border:1px solid var(--border);border-radius:var(--radius);
  margin-bottom:12px;}
.course-list a, .lesson-list a{display:flex;justify-content:space-between;align-items:center;
  gap:12px;padding:16px 18px;text-decoration:none;color:inherit;}
.course-title, .lesson-title{font-weight:600;}
.course-desc{color:var(--muted-foreground);font-size:13px;}
.lesson-type{font-size:11px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--muted-foreground);background:var(--muted);padding:4px 10px;border-radius:20px;flex-shrink:0;}

.video-embed{position:relative;padding-top:56.25%;border-radius:var(--radius);overflow:hidden;background:#000;}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}

.admin-stats{display:flex;gap:16px;margin-bottom:28px;}
.stat-card{flex:1;border:1px solid var(--border);border-radius:var(--radius);padding:18px;text-align:center;}
.stat-card strong{display:block;font-size:26px;}
.stat-card span{font-size:13px;color:var(--muted-foreground);}
.admin-nav{display:flex;flex-wrap:wrap;gap:12px;}
.admin-nav a{padding:10px 16px;border:1px solid var(--border);border-radius:8px;
  text-decoration:none;color:var(--foreground);font-size:14px;}

.data-table{width:100%;border-collapse:collapse;font-size:14px;}
.data-table th{text-align:left;padding:10px 12px;border-bottom:2px solid var(--border);
  font-size:12px;text-transform:uppercase;color:var(--muted-foreground);}
.data-table td{padding:10px 12px;border-bottom:1px solid var(--border);}
.role-badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;}
.role-admin{background:#FBEAEB;color:#8E191D;}
.role-learner{background:#E8ECFB;color:#2B3FBD;}

@media (max-width:600px){
  .app-header{padding:14px 18px;flex-wrap:wrap;gap:8px;}
  .app-main{padding:24px 18px;}
  .admin-stats{flex-wrap:wrap;}
}
