:root{--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#6366f11a;--secondary:#06b6d4;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--background:#f8fafc;--surface:#fff;--surface-hover:#f1f5f9;--border:#e2e8f0;--border-focus:#6366f1;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 3px 0 #00000014, 0 1px 2px -1px #0000000f;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 25px -3px #0000001a, 0 4px 10px -4px #00000012;--shadow-xl:0 20px 40px -5px #0000001f, 0 8px 16px -6px #00000014;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--navbar-height:68px;--transition:.18s cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme:dark){:root{--background:#0b0f19;--surface:#141927;--surface-hover:#1c2336;--border:#1e2d45;--text-main:#f1f5f9;--text-muted:#8b9fbb;--text-light:#4a5a74;--shadow-sm:0 1px 3px 0 #0000004d;--shadow-md:0 4px 6px -1px #0000004d;--shadow-lg:0 10px 25px -3px #0006;--shadow-xl:0 20px 40px -5px #00000080}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--background);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}input,textarea,select{font-family:inherit}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #4f46e5 100%);color:#fff;border-radius:var(--radius-md);letter-spacing:.01em;transition:all var(--transition);justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.9rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #6366f14d}.btn-primary:after{content:"";transition:background var(--transition);background:#fff0;position:absolute;inset:0}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f173}.btn-primary:hover:after{background:#ffffff14}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #6366f14d}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{background:var(--surface);color:var(--text-main);border-radius:var(--radius-md);border:1.5px solid var(--border);transition:all var(--transition);justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.btn-ghost{color:var(--text-muted);border-radius:var(--radius-md);transition:all var(--transition);background:0 0;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;display:inline-flex}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-main)}.badge{border-radius:var(--radius-full);letter-spacing:.5px;text-transform:uppercase;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-success{color:var(--success);background:#10b9811a}.badge-warning{color:var(--warning);background:#f59e0b1a}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition), border-color var(--transition);padding:1.75rem}.card:hover{box-shadow:var(--shadow-md);border-color:#6366f133;transform:translateY(-2px)}.main-content{min-height:calc(100vh - var(--navbar-height));max-width:1280px;margin:0 auto;padding:2rem 1.5rem}@media (max-width:640px){.main-content{padding:1rem}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.75rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:all;align-items:center;gap:.75rem;max-width:360px;padding:1rem 1.25rem;font-size:.9rem;font-weight:500;animation:.3s cubic-bezier(.34,1.56,.64,1) toastIn;display:flex}.toast.toast-success{border-left:4px solid var(--success)}.toast.toast-error{border-left:4px solid var(--danger)}.toast.toast-info{border-left:4px solid var(--primary)}@keyframes toastIn{0%{opacity:0;transform:translateY(1rem)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg, var(--border) 25%, var(--surface-hover) 50%, var(--border) 75%);border-radius:var(--radius-md);background-size:1200px 100%;animation:1.5s infinite shimmer}.section-title{letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.5rem;font-weight:800}.section-subtitle{color:var(--text-muted);font-size:.95rem}
.Navbar-module___rHu7W__navbar{z-index:100;height:var(--navbar-height);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--border);background:#ffffffd9;position:sticky;top:0;box-shadow:0 1px #0000000a}@media (prefers-color-scheme:dark){.Navbar-module___rHu7W__navbar{border-bottom-color:var(--border);background:#0b0f19e0}}.Navbar-module___rHu7W__container{justify-content:space-between;align-items:center;gap:1.5rem;max-width:1280px;height:100%;margin:0 auto;padding:0 1.5rem;display:flex}.Navbar-module___rHu7W__logo{color:var(--text-main);flex-shrink:0;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:flex}.Navbar-module___rHu7W__logo:hover{opacity:.8}.Navbar-module___rHu7W__logo strong{color:var(--primary);font-weight:800}.Navbar-module___rHu7W__logoIcon{background:linear-gradient(135deg, var(--primary), #4f46e5);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;font-weight:800;display:flex;box-shadow:0 2px 8px #6366f159}.Navbar-module___rHu7W__nav{flex:1;justify-content:center;align-items:center;gap:.25rem;display:flex}.Navbar-module___rHu7W__navLink{border-radius:var(--radius-md);color:var(--text-muted);transition:all var(--transition);padding:.45rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none}.Navbar-module___rHu7W__navLink:hover{color:var(--text-main);background:var(--surface-hover)}.Navbar-module___rHu7W__navLinkActive{color:var(--primary);background:var(--primary-light);font-weight:600}.Navbar-module___rHu7W__actions{align-items:center;display:flex}.Navbar-module___rHu7W__userMenu{align-items:center;gap:.5rem;display:flex}.Navbar-module___rHu7W__userInfo{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);transition:all var(--transition);align-items:center;gap:.6rem;padding:.35rem .75rem .35rem .35rem;display:flex}.Navbar-module___rHu7W__userInfo:hover{border-color:var(--border-focus);box-shadow:var(--shadow-sm)}.Navbar-module___rHu7W__avatar{object-fit:cover;border-radius:50%;width:32px;height:32px}.Navbar-module___rHu7W__avatarFallback{background:linear-gradient(135deg, var(--primary), #4f46e5);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:700;display:flex}.Navbar-module___rHu7W__userDetails{flex-direction:column;line-height:1.2;display:flex}.Navbar-module___rHu7W__userName{color:var(--text-main);font-size:.875rem;font-weight:600}.Navbar-module___rHu7W__roleBadge{letter-spacing:.5px;text-transform:uppercase;font-size:.7rem;font-weight:700}.Navbar-module___rHu7W__roleTeacher{color:var(--primary)}.Navbar-module___rHu7W__roleStudent{color:var(--success)}.Navbar-module___rHu7W__logoutBtn{width:36px;height:36px;color:var(--text-muted);transition:all var(--transition);background:var(--surface);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;display:flex}.Navbar-module___rHu7W__logoutBtn:hover{color:var(--danger);border-color:var(--danger);background:#ef44440f}.Navbar-module___rHu7W__signInBtn{padding:.6rem 1.25rem;font-size:.875rem}@media (max-width:640px){.Navbar-module___rHu7W__nav,.Navbar-module___rHu7W__userDetails{display:none}.Navbar-module___rHu7W__userInfo{padding:.35rem}}
