.wrapper{width:100%;height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#1e1e2f,#2b2b45);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-box{width:420px;padding:40px 35px;background:#ffffff1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 25px #00000040;display:flex;flex-direction:column}.title{text-align:center;color:#fff;font-size:2.1rem;font-weight:600;margin-bottom:28px}form label{color:#dcdcdc;font-size:.95rem;margin-bottom:6px;display:block}form input{width:100%;padding:12px 14px;margin-bottom:20px;background:#fff3;border:1px solid rgba(255,255,255,.25);border-radius:10px;color:#fff;font-size:1rem;outline:none;transition:.2s}form input:focus{background:#ffffff47;border-color:#9ecaff}button{width:100%;padding:12px;margin-top:5px;font-size:1.1rem;background:#4aa3ff;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:background .2s}button:hover{background:#288eff}.error{width:100%;background:#ff505040;border:1px solid rgba(255,120,120,.5);color:#fdd;padding:10px 14px;border-radius:8px;margin-bottom:15px;text-align:center;font-size:.95rem}.dashboard-wrapper{padding:40px 20px;max-width:900px;margin:0 auto}.dashboard-title{font-size:36px;font-weight:700;margin-bottom:30px;text-align:center}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px}.dash-card{background:#fff;border-radius:30px;padding:25px 20px;text-decoration:none;color:#000;text-align:center;box-shadow:0 10px 25px #00000014;transition:transform .15s ease,box-shadow .15s ease}@media(prefers-color-scheme:dark){.dash-card{background:#222;color:#fff;box-shadow:0 10px 25px #0006}}.dash-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #00000029}.dash-icon{font-size:42px;margin-bottom:10px}.dash-label{font-size:18px;font-weight:600}.dash-green{background:linear-gradient(135deg,#4cd964,#3ecb56)}.dash-blue{background:linear-gradient(135deg,#5ac8fa,#4ab8ea)}.dash-orange{background:linear-gradient(135deg,#ff9500,#e68600)}.dash-purple{background:linear-gradient(135deg,#af52de,#9b41ca)}.dash-card .dash-label,.dash-card .dash-icon{color:#fff}@media(prefers-color-scheme:dark){.dash-card .dash-label,.dash-card .dash-icon{color:#fff}}.sidebar{width:220px;background:var(--bg-card);border-right:1px solid var(--border);padding:1rem;display:flex;flex-direction:column}.sidebar-title{margin-bottom:1rem;color:var(--text-muted)}.sidebar nav{display:flex;flex-direction:column;gap:.5rem}.sidebar a{color:var(--text);padding:.4rem .6rem;border-radius:6px}.sidebar a.active{background:var(--primary);color:#fff}.logout-btn{margin-top:auto;background:transparent;border:1px solid var(--border);color:var(--text)}.logout-btn:hover{background:#ffffff0d}.course-page{padding:20px}.participants-page{padding:30px}.title{font-size:2rem;margin-bottom:20px}.participants-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.participants-table th{background:#f0f0f0;text-align:left;padding:12px;font-weight:700}.participants-table td{padding:12px;border-top:1px solid #ddd}tr:nth-child(2n){background:#fafafa}.loader{padding:40px;font-size:1.3rem}:root{--bg: #0f172a;--bg-card: #1e293b;--text: #e5e7eb;--text-muted: #94a3b8;--primary: #6366f1;--border: #334155;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f8fafc;--bg-card: #ffffff;--text: #0f172a;--text-muted: #475569;--primary: #4f46e5;--border: #e2e8f0;color-scheme:light}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif}h1,h2,h3{margin-top:0;color:var(--text)}p{color:var(--text)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--primary);color:#fff;border:none;padding:.6rem 1rem;border-radius:6px;cursor:pointer}button:hover{opacity:.9}button:disabled{opacity:.6;cursor:not-allowed}input,select{width:100%;padding:.6rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text)}input::placeholder{color:var(--text-muted)}.card,.login-box{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:2rem;max-width:420px;margin:auto}table{width:100%;border-collapse:collapse}th,td{padding:.5rem;border-bottom:1px solid var(--border)}th{text-align:left;color:var(--text-muted)}
