@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:100 900;src:url(/lms/static/media/Inter-VariableFont_opsz,wght.e05c5f3d1fa6a3893d84.ttf) format("truetype")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:100 900;src:url(/lms/static/media/Inter-Italic-VariableFont_opsz,wght.831252f8ba7e1b5b2432.ttf) format("truetype")}@font-face{font-display:swap;font-family:Nunito Sans;font-style:normal;font-weight:100 900;src:url(/lms/static/media/NunitoSans-VariableFont_YTLC,opsz,wdth,wght.0021e92cb2b12c3534a7.ttf) format("truetype")}@font-face{font-display:swap;font-family:Nunito Sans;font-style:italic;font-weight:100 900;src:url(/lms/static/media/NunitoSans-Italic-VariableFont_YTLC,opsz,wdth,wght.c5361162b4102e27f8ba.ttf) format("truetype")}@font-face{font-display:swap;font-family:Markazi Text;font-style:normal;font-weight:400 700;src:url(/lms/static/media/MarkaziText-VariableFont_wght.f80801a527bd8690ddc8.ttf) format("truetype")}@font-face{font-display:swap;font-family:Noto Naskh Arabic;font-style:normal;font-weight:400 700;src:url(/lms/static/media/NotoNaskhArabic-VariableFont_wght.558df201180fc27ec35b.ttf) format("truetype")}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#1e293b;font-family:Inter,Nunito Sans,Noto Naskh Arabic,Markazi Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,select,textarea{font-family:inherit}.container{margin:0 auto;max-width:1200px;padding:20px}button{border:none;border-radius:5px;cursor:pointer;font-size:16px;padding:10px 20px;transition:all .3s ease}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{border:1px solid #ddd;border-radius:5px;font-size:14px;margin:8px 0;padding:10px;width:100%}input:focus,select:focus,textarea:focus{border-color:#4caf50;outline:none}.navbar{background-color:#000;border-bottom:1px solid #fff;box-shadow:0 2px 4px #0000001a;color:#fff;left:0;padding:1rem 2rem;right:0;top:0;z-index:1000}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.nav-logo{color:#fff;font-size:24px;font-weight:700;text-decoration:none}.nav-menu{align-items:center;display:flex;gap:20px;list-style:none}.nav-menu li a{color:#fff;text-decoration:none;transition:color .3s}.nav-menu li a:hover{color:#4caf50}.user-info{color:#ddd;font-size:14px}.btn-logout{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;text-align:left;width:100%}.btn-logout:hover{background-color:#da190b}.nav-dropdown{position:relative}.dropdown-trigger{border-radius:4px;cursor:pointer;padding:8px 12px;transition:background .2s ease}.dropdown-trigger:hover{background:#ffffff1a}.dropdown-menu{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;list-style:none;min-width:150px;opacity:0;padding:8px 0;position:absolute;right:0;top:100%;transform:translateY(10px);transition:all .2s ease;visibility:hidden;z-index:1000}.nav-dropdown:hover .dropdown-menu{opacity:1;transform:translateY(0);visibility:visible}.dropdown-menu li{padding:0}.dropdown-menu li a,.dropdown-menu li button{color:#333;display:block;font-size:14px;padding:10px 16px;text-decoration:none;transition:background .2s ease}.dropdown-menu li a:hover{background:#f5f5f5;color:#4caf50}.dropdown-menu li button{background:none;border:none;color:#f44336;cursor:pointer;text-align:left;width:100%}.dropdown-menu li button:hover{background:#fee}@media (max-width:768px){.nav-menu{flex-wrap:wrap;gap:10px}.dropdown-menu{background:#ffffff1a;box-shadow:none;position:static}.dropdown-menu li a,.dropdown-menu li button{color:#fff}}.auth-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-page,.auth-page.admin-auth,.auth-page.instructor-auth,.auth-page.student-auth{background:#000}.auth-container{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0003;max-width:450px;padding:40px;width:100%}.auth-header{margin-bottom:30px;text-align:center}.auth-header h1{color:#333;margin:10px 0 5px}.auth-header p{color:#666;font-size:.9rem;margin:0}.role-icon{border-radius:50%;display:inline-block;font-size:3rem;margin-bottom:10px;padding:15px}.student-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.instructor-icon{background:linear-gradient(135deg,#11998e,#38ef7d)}.admin-icon{background:linear-gradient(135deg,#eb3349,#f45c43)}.auth-container h1{color:#333;margin-bottom:30px;text-align:center}.auth-container .btn-primary{margin-top:20px;width:100%}.btn-student{background:linear-gradient(135deg,#667eea,#764ba2);border:none}.btn-student:hover{background:linear-gradient(135deg,#5a6fd6,#6a4190)}.btn-instructor{background:linear-gradient(135deg,#11998e,#38ef7d);border:none}.btn-instructor:hover{background:linear-gradient(135deg,#0e8a7f,#2ed96e)}.btn-admin{background:linear-gradient(135deg,#eb3349,#f45c43);border:none}.btn-admin:hover{background:linear-gradient(135deg,#d62b40,#e04d38)}.auth-link{color:#666;margin-top:20px;text-align:center}.auth-link a{color:#667eea;font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.auth-links{border-top:1px solid #e0e0e0;display:flex;gap:20px;justify-content:center;margin-top:20px;padding-top:20px}.back-link{color:#666;font-size:.9rem;transition:color .2s ease}.back-link:hover{color:#333;text-decoration:underline}.google-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:5px;color:#333;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:10px;justify-content:center;padding:12px 20px;transition:all .3s ease;width:100%}.google-btn:hover{background:#f8f9fa;border-color:#ccc}.divider{margin:20px 0}.divider:after,.divider:before{background:#e0e0e0}.divider span{color:#999;font-size:14px;padding:0 15px}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:5px;box-sizing:border-box;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;outline:none}.form-group input::placeholder{color:#999}.error{background:#fee;border-radius:5px;color:#c00;font-size:.9rem;margin-bottom:15px;padding:12px;text-align:center}.success-message{border-radius:8px;color:#166534;padding:20px;text-align:center}.success-message p{margin:8px 0}.forgot-password-link{color:#667eea;display:block;font-size:.85rem;margin-top:8px;text-align:right;text-decoration:none}.forgot-password-link:hover{text-decoration:underline}@media (max-width:480px){.auth-container{padding:30px 20px}.auth-links{flex-direction:column;gap:10px}.role-icon{font-size:2.5rem}}.dashboard-page{background:linear-gradient(180deg,#f8fafc,#fff 65%);padding-bottom:40px}.dashboard-page .container{max-width:1120px}.dashboard-hero{background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:28px;box-shadow:0 35px 60px #0f172a59;color:#fff;display:flex;flex-wrap:wrap;gap:32px;margin-bottom:32px;padding:40px}.hero-content{flex:1 1 55%;min-width:260px}.dashboard-hero .eyebrow{color:#fffc;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}.hero-text{color:#ffffffd9;font-size:1rem;line-height:1.6;margin:12px 0 18px}.hero-actions{margin-bottom:20px}.hero-actions .btn-primary{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:999px;box-shadow:0 12px 28px #16a34a59;color:#fff;display:inline-flex;font-weight:600;gap:8px;padding:12px 22px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.hero-actions .btn-primary:hover{box-shadow:0 15px 32px #16a34a73;transform:translateY(-1px)}.btn-ghost{align-items:center;background:#0000;border:1px solid #ffffff59;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:6px;padding:10px 18px;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease}.btn-ghost:hover{background:#ffffff26;border-color:#fff9}.metric{background:#0f172a59;border:1px solid #fff3;border-radius:16px;flex:1 1 120px;min-width:140px;padding:14px 18px}.metric-label{color:#ffffffbf;display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.metric-value{font-size:1.4rem;font-weight:700}.hero-progress{flex:1 1 260px;min-width:260px}.hero-progress-card{background:#fff;border-radius:24px;box-shadow:0 25px 60px #0f172a33;color:#0f172a;display:flex;flex-direction:column;height:100%;padding:28px}.hero-progress-header{align-items:center;color:#475569;display:flex;font-size:.9rem;font-weight:600;justify-content:space-between;margin-bottom:6px}.hero-progress-value{color:#0f172a;font-size:1.5rem;font-weight:700}.hero-ring{margin:0 auto 12px}.hero-progress-meta{color:#334155;display:flex;font-size:.9rem;font-weight:500;gap:20px;justify-content:space-between;margin-top:auto}.hero-progress-meta strong{color:#0f172a;display:block;font-size:1.4rem}.stats-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:32px 0}.stat-card{align-items:flex-start;box-shadow:0 12px 30px #0f172a14;gap:16px}.stat-icon{align-items:center;background:#3b82f61f;border-radius:14px;display:flex;font-size:1.5rem;height:48px;justify-content:center;width:48px}.stat-label{color:#fff!important;font-size:.75rem;letter-spacing:.15em;margin:0}.stat-value{color:#0f172a;margin:4px 0 2px}.stat-subtext{color:#64748b;font-size:.85rem}.insights-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:32px}.insight-card{background:#fff;border-radius:22px;box-shadow:0 20px 40px #0f172a14;min-height:240px;padding:24px}.insight-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.insight-header h3{color:#0f172a;font-weight:700;margin:0}.insight-caption{color:#64748b;font-size:.85rem}.dashboard-section .label,.focus-list .label,.focus-next .label{color:#475569;font-size:.72rem;font-weight:600;letter-spacing:.12em;margin:0 0 4px;text-transform:uppercase}.focus-list .value,.focus-next h4{color:#0f172a;font-weight:600;margin:0}.focus-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.focus-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;justify-content:space-between;padding-bottom:12px}.focus-row:last-child{border-bottom:none;padding-bottom:0}.focus-detail{color:#64748b;font-size:.85rem}.focus-next{align-items:flex-end;border-top:1px solid #f1f5f9;display:flex;gap:12px;justify-content:space-between;padding-top:16px}.insights-grid .focus-next a{color:#fff}.category-bars{display:flex;flex-direction:column;gap:12px}.category-item{width:100%}.category-header{color:#111827;display:flex;justify-content:space-between}.category-bar{background:#eef2ff;border-radius:999px;height:10px;margin-top:6px;overflow:hidden}.category-fill{background:linear-gradient(90deg,#22d3ee,#6366f1);border-radius:999px;height:100%;transition:width .4s ease}.no-data{font-size:.9rem;padding:20px 0}.dashboard-section{box-shadow:0 20px 50px #0f172a14;margin-bottom:28px;padding:28px}.section-header h2{margin:4px 0 0}.view-all-link{color:#2563eb;font-weight:600}.badges-preview{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.badge-preview-item{align-items:center;background:#f8fafc;border:1px solid #eef2ff;border-radius:18px;display:flex;gap:12px;padding:16px}.badge-emoji{font-size:1.8rem}.badge-name{font-weight:600;margin:0}.badge-meta{color:#64748b;font-size:.85rem;margin:2px 0 0}.insight-placeholder{background:#f8fafc;border:1px dashed #cbd5f5;border-radius:16px;color:#475569;font-size:.95rem;padding:24px;text-align:center}.dashboard-section .empty-state{background:#f8fafc;border:1px dashed #cbd5f5;border-radius:18px;padding:40px}.queue-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.queue-card{background:#fdfdfd;border:1px solid #e2e8f0;border-radius:20px;display:flex;flex-direction:column;gap:12px;padding:20px}.queue-header{gap:12px;justify-content:space-between}.queue-avatar,.queue-header{align-items:center;display:flex}.queue-avatar{background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:12px;color:#fff;font-weight:700;height:44px;justify-content:center;width:44px}.queue-category{color:#475569;font-size:.75rem;font-weight:600;letter-spacing:.12em;margin:0;text-transform:uppercase}.queue-header h3{color:#0f172a;margin:2px 0 0}.queue-status{background:#dcfce7;border-radius:999px;color:#15803d;font-size:.75rem;font-weight:600;padding:4px 10px}.queue-instructor{color:#475569;font-size:.9rem;margin:0}.queue-progress{align-items:center;display:flex;gap:12px}.queue-progress-value{color:#1d4ed8;font-weight:700}.queue-meta{color:#64748b;font-size:.85rem;margin:0}.queue-actions{margin-top:auto}.dashboard-page .course-link{color:#fff;font-weight:600;text-decoration:none}.dashboard-page .course-link:hover{text-decoration:underline}.quick-actions{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.action-card{align-items:flex-start;background:#0f172a;border-radius:20px;color:#fff;display:flex;justify-content:space-between;padding:22px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.action-card:hover{box-shadow:0 18px 35px #0f172a66;transform:translateY(-3px)}.action-icon{font-size:1.8rem}@media (max-width:768px){.dashboard-hero{padding:32px}.hero-actions{flex-direction:column}.metric{min-width:100%}.section-header{flex-direction:column}}.unread-badge{background:#ef4444;border-radius:999px;color:#fff;display:inline-block;font-size:.72rem;font-weight:700;line-height:1.4;margin-left:8px;padding:2px 8px;vertical-align:middle}.announcements-widget{display:flex;flex-direction:column;gap:8px}.announcement-widget-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:12px 16px;text-decoration:none;transition:background .15s,border-color .15s}.announcement-widget-item:hover{background:#f8fafc;border-color:#cbd5e1}.announcement-widget-item.unread{background:#eff6ff;border-left:3px solid #3b82f6}.announcement-widget-item.urgent{border-left:3px solid #ef4444}.announcement-widget-item.warning{border-left:3px solid #f59e0b}.announcement-widget-item.success{border-left:3px solid #10b981}.awi-left{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.awi-dot{background:#3b82f6;border-radius:50%;height:8px;min-width:8px;width:8px}.awi-text{min-width:0}.awi-title{color:#1e293b;font-size:.9rem;font-weight:600;margin:0}.awi-course,.awi-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.awi-course{color:#64748b;font-size:.76rem;margin:2px 0 0}.awi-right{align-items:center;display:flex;flex-shrink:0;gap:10px}.awi-join-btn{background:#2563eb;border-radius:6px;color:#fff;font-size:.78rem;font-weight:600;padding:4px 12px;text-decoration:none;transition:background .15s;white-space:nowrap}.awi-join-btn:hover{background:#1d4ed8}.awi-date{color:#94a3b8;font-size:.76rem;white-space:nowrap}.page-courses{background:linear-gradient(180deg,#000,#000 65%)}.page-courses .courses-container{margin:0 auto;max-width:1120px}.courses-hero{background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:24px;box-shadow:0 30px 60px #0f172a4d;color:#fff;display:flex;flex-wrap:wrap;gap:32px;margin-bottom:32px;padding:40px}.courses-hero .hero-content{flex:1 1 60%;min-width:280px}.hero-content h1{font-size:2.75rem;margin:8px 0 16px}.hero-content .hero-subtitle{color:#ffffffd9;font-size:1.05rem;line-height:1.6}.eyebrow{color:#fffc;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase}.hero-search{display:flex;flex-direction:column;gap:12px;margin-top:24px}.search-input{align-items:center;box-shadow:0 8px 18px #0f172a26;color:#0f172a;display:flex;min-height:52px;padding:0 18px}.search-input input{background:#0000;border:none;color:#0f172a;flex:1 1;font-size:1rem;outline:none;padding:0 10px}.search-input .clear-search{background:#0000;border:none;color:#94a3b8;cursor:pointer;font-size:1.35rem;padding:0 6px}.search-input .search-icon{color:#1d4ed8}.results-meta{color:#fffc;font-size:.95rem}.hero-stats{grid-gap:16px;gap:16px;margin-top:28px}.stat-card{background:#0f172a59;border-radius:18px;color:#fff;padding:18px;text-align:left}.stat-value{display:block}.stat-label{color:#fffc;font-size:.9rem}.hero-sidecard{background:#fff;border-radius:20px;box-shadow:0 30px 60px #0f172a1f;color:#0f172a;display:flex;flex:1 1 260px;flex-direction:column;justify-content:space-between;min-width:260px;padding:28px}.hero-sidecard .side-label{color:#64748b;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.hero-sidecard h3{font-size:1.5rem;margin:8px 0 12px}.sidecard-description{color:#475467;margin-bottom:20px}.sidecard-points{list-style:none;margin:0 0 20px;padding:0}.sidecard-points li{color:#1f2933;font-weight:500;margin-bottom:8px;padding-left:22px;position:relative}.sidecard-points li:before{border-radius:50%;content:"";height:10px;left:0;position:absolute;top:8px;width:10px}.hero-cta,.sidecard-points li:before{background:linear-gradient(135deg,#22c55e,#16a34a)}.hero-cta{border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:12px 18px;transition:transform .2s ease,box-shadow .2s ease}.hero-cta.ghost{background:#2563eb1a;border:1px solid #2563eb33;color:#1d4ed8}.hero-cta:hover{box-shadow:0 10px 25px #16a34a4d;transform:translateY(-2px)}.courses-filters{background:#fff;border-radius:20px;box-shadow:0 20px 50px #0f172a14;margin-bottom:28px;padding:24px}.filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:18px}.filter-group{display:flex;flex-direction:column;gap:10px}.filter-group select{border:1px solid #e2e8f0;border-radius:12px;font-size:1rem;min-width:180px;padding:10px 14px}.level-group{flex:1 1}.pill-group{display:flex;flex-wrap:wrap;gap:8px}.pill{color:#0f172a;font-size:.95rem;transition:all .2s ease}.pill.active{background:#4f46e51a;border-color:#4f46e566;color:#1d4ed8}.link-button{background:#0000;border:none;color:#2563eb;cursor:pointer;font-weight:600}.category-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.pill-count{background:#2563eb1a;border-radius:999px;color:#1d4ed8;font-size:.8rem;font-weight:600;margin-left:8px;padding:2px 8px}.empty-state.elevated h3{font-size:1.5rem;margin-bottom:12px}.courses-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.page-courses .course-card{background:#fff;border-radius:22px;box-shadow:0 20px 45px #0f172a1a;display:flex;flex-direction:column;min-height:100%;overflow:hidden}.course-thumb{background-color:#f1f5f9;flex-shrink:0;height:220px;overflow:hidden;position:relative;width:100%}.course-thumb img{display:block;height:100%;max-width:none;min-height:100%;min-width:100%;object-fit:cover;width:100%}.thumb-placeholder{align-items:center;background:linear-gradient(135deg,#1d4ed8,#9333ea);color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:100%;justify-content:center;width:100%}.course-level{background:#000000a6;border-radius:999px;color:#fff;font-size:.85rem;left:16px;padding:6px 14px;position:absolute;top:16px}.course-body{display:flex;flex:1 1;flex-direction:column;padding:20px 22px 0}.course-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.course-category{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.course-badge{color:#16a34a;font-size:.75rem;font-weight:600}.course-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:1.15rem;line-height:1.3;margin-bottom:10px;overflow:hidden}.course-body h3 a{color:#0f172a;text-decoration:none}.course-body h3 a:hover{color:#1d4ed8}.course-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#475467;display:-webkit-box;line-height:1.5;margin-bottom:16px;overflow:hidden;word-break:break-word}.course-meta{color:#64748b;flex-wrap:wrap;font-size:.85rem;gap:8px;margin-top:auto}.course-meta,.course-meta span{align-items:center;display:flex}.course-meta span:not(:last-child):after{color:#cbd5e1;content:"•";margin-left:8px}.course-footer{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:18px 22px 22px}.course-price{display:flex;flex-direction:column}.price-current{color:#0f172a;font-size:1.25rem;font-weight:700}.price-original{color:#94a3b8;font-size:.9rem;text-decoration:line-through}.course-link{background:#2563eb;border-radius:8px;color:#fff;font-size:.9rem;font-weight:600;padding:8px 16px;text-decoration:none;transition:background .2s ease,transform .2s ease}.course-link:hover{background:#1d4ed8;transform:translateY(-1px)}@media (max-width:768px){.courses-hero{padding:32px}.hero-content h1{font-size:2.2rem}.filters-row{align-items:flex-start;flex-direction:column}.filter-group select{width:100%}.category-pills{overflow-x:auto;padding-bottom:8px}.courses-grid{grid-template-columns:1fr}}.video-player-container{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:20px}.video-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.video-header h2{color:#333;margin:0}.completed-badge{background:#4caf50;border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px}.video-description{color:#666;line-height:1.6;margin-bottom:20px}.video-wrapper{background:#000;border-radius:8px;margin-bottom:20px;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.youtube-player{height:100%;left:0;position:absolute;top:0;width:100%}.video-error{color:#fff;left:50%;padding:20px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.mark-complete-btn{font-size:16px;padding:15px;width:100%}.course-detail-container{animation:fadeInCourse .4s ease-out;margin:0 auto;max-width:1000px}@keyframes fadeInCourse{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.course-header{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 20px #0f172a0a;margin-bottom:30px;padding:40px}.course-header h1{color:#0f172a;font-size:2.5rem;letter-spacing:-.02em;margin-bottom:15px}.course-category{border-radius:20px;color:#475569;display:inline-block;font-size:.9rem;margin-bottom:12px;padding:6px 14px}.course-instructor{color:#64748b;font-size:1.1rem;margin-bottom:24px}.course-description{color:#475569;font-size:1.1rem;line-height:1.7;margin-bottom:30px}.enroll-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;box-shadow:0 4px 15px #3b82f64d;font-size:1.1rem;margin-top:10px;padding:16px 36px;transition:transform .2s,box-shadow .2s}.enroll-btn:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.enrolled-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;box-shadow:0 2px 10px #10b98133;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;padding:8px 16px}.video-player-section{border-radius:20px;box-shadow:0 10px 30px #0f172a1a;margin-bottom:40px;overflow:hidden}.materials-section,.videos-section{background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 20px #0f172a0a;padding:30px 40px}.materials-section h2{color:#0f172a;font-size:1.8rem;margin-bottom:20px}.material-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:16px;padding:16px 20px;transition:border-color .2s}.material-item:hover{border-color:#6366f1}.view-pdf-btn{flex-shrink:0;font-size:.9rem;padding:8px 18px}.modal-close{color:#6b7280;font-size:1.5rem;padding:0 4px}.modal-close:hover{color:#111827}.section-header h2,.videos-section h2{color:#0f172a;font-size:1.8rem;letter-spacing:-.01em;margin-bottom:24px}.video-list{display:flex;flex-direction:column;gap:15px}.video-item{align-items:center;border:2px solid #e0e0e0;border-radius:8px;display:flex;gap:15px;padding:15px;transition:all .3s ease}.video-item:hover{background:#f9f9f9;border-color:#4caf50}.video-item.active{background:#e8f5e9;border-color:#4caf50}.video-number{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:40px;justify-content:center;width:40px}.video-info{flex:1 1}.video-info h4{color:#333;margin-bottom:5px}.video-info p{color:#666;font-size:14px;margin-bottom:5px}.video-duration{background:#e0e0e0;border-radius:3px;color:#666;display:inline-block;font-size:12px;padding:2px 8px}.completed-checkmark{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:flex;font-size:18px;font-weight:700;height:30px;justify-content:center;width:30px}.locked-icon{font-size:24px;opacity:.5}.enrollment-status{margin-top:20px}.progress-container{margin-top:15px}.progress-bar{border-radius:5px;height:10px;width:100%}.progress-fill{background:linear-gradient(90deg,#4caf50,#81c784);border-radius:5px}.progress-text{color:#666;display:block;font-size:14px;margin-top:8px}.certificate-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;border-radius:10px;margin-top:25px;padding:20px}.course-completed-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;color:#fff;display:inline-block;font-size:14px;font-weight:600;margin-bottom:15px;padding:8px 16px}.certificate-info{margin-top:10px}.certificate-info p{color:#374151;font-size:14px;margin-bottom:10px}.download-cert-btn,.generate-cert-btn{background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;cursor:pointer;font-size:16px;padding:12px 24px;transition:transform .2s,box-shadow .2s}.download-cert-btn:hover,.generate-cert-btn:hover{box-shadow:0 4px 12px #0ea5e94d;transform:translateY(-2px)}.generate-cert-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.video-item.locked{background:#f5f5f5;opacity:.6}.video-item.locked:hover{background:#f5f5f5;border-color:#e0e0e0}.video-number.completed{background:#4caf50;color:#fff}.unlock-hint{color:#f59e0b;display:block;font-size:12px;font-style:italic;margin-top:5px}.admin-actions{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.admin-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;color:#fff;display:inline-block;font-size:14px;font-weight:600;padding:8px 16px}.edit-course-btn{background:linear-gradient(135deg,#0ea5e9,#0284c7);font-size:16px;padding:12px 24px}.assignments-section,.quizzes-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-top:30px;padding:30px}.assignments-section .section-header,.quizzes-section .section-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.assignments-section h2,.quizzes-section h2{color:#0f172a;margin:0}.add-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.add-btn:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.assessment-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.assessment-card{background:#fafafa;border:1px solid #e2e8f0;border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:20px;transition:box-shadow .2s,transform .2s}.assessment-card:hover{box-shadow:0 10px 30px #0f172a1a;transform:translateY(-2px)}.assessment-card.quiz-card{border-left:4px solid #3b82f6}.assessment-card.assignment-card{border-left:4px solid #8b5cf6}.assessment-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.assessment-icon.assignment-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.assessment-icon svg{height:24px;width:24px}.assessment-info{flex:1 1}.assessment-info h4{color:#0f172a;font-size:1.1rem;margin:0 0 8px}.assessment-desc{color:#64748b;font-size:.9rem;line-height:1.5;margin:0 0 12px}.assessment-meta{display:flex;flex-wrap:wrap;gap:12px}.meta-item{align-items:center;background:#e2e8f0;border-radius:6px;color:#475569;display:inline-flex;font-size:.8rem;font-weight:500;padding:4px 10px}.meta-item.due-date{background:#fef3c7;color:#92400e}.assessment-actions{display:flex;flex-wrap:wrap;gap:10px}.submit-btn,.take-btn,.view-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.submit-btn:hover,.take-btn:hover,.view-btn:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.submit-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.submit-btn:hover{box-shadow:0 4px 12px #8b5cf64d}.edit-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:background .2s}.edit-btn:hover{background:#e2e8f0}.empty-assessment{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;color:#64748b;padding:30px;text-align:center}.empty-assessment p{margin:0}@media (max-width:768px){.assignments-section .section-header,.quizzes-section .section-header{align-items:flex-start;flex-direction:column}.assessment-grid{grid-template-columns:1fr}.assessment-card{padding:16px}.assessment-actions{width:100%}.assessment-actions button{flex:1 1;text-align:center}}.community-section{border-top:1px solid #e2e8f0;margin-top:40px;padding-top:30px}.community-section .section-header{margin-bottom:20px}.community-section .section-header h2{color:#1e293b;font-size:1.25rem;font-weight:700}.community-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.community-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;color:inherit;display:flex;gap:16px;padding:20px;text-decoration:none;transition:all .2s ease}.community-card:hover{border-color:#cbd5e1;box-shadow:0 10px 30px #0f172a1a;transform:translateY(-2px)}.community-card.announcements-card{border-left:4px solid #f59e0b}.community-card.announcements-card .community-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.community-card.questions-card{border-left:4px solid #10b981}.community-card.questions-card .community-icon{background:linear-gradient(135deg,#10b981,#059669)}.community-card.manage-card{border-left:4px solid #6366f1}.community-card.manage-card .community-icon{background:linear-gradient(135deg,#6366f1,#4f46e5)}.community-icon{align-items:center;border-radius:12px;color:#fff;display:flex;height:50px;justify-content:center;min-width:50px;width:50px}.community-icon svg{height:24px;width:24px}.community-info{flex:1 1;min-width:0}.community-info h4{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:4px}.community-info p{color:#64748b;font-size:.85rem;line-height:1.4;margin:0}.community-arrow{color:#94a3b8;transition:transform .2s,color .2s}.community-arrow svg{height:20px;width:20px}.community-card:hover .community-arrow{color:#3b82f6;transform:translateX(4px)}.enrolled-students-section{animation:fadeInCourse .5s ease-out;background:#fff;border:1px solid #f1f5f9;border-radius:20px;box-shadow:0 4px 20px #0f172a0a;margin-top:40px;padding:30px 40px}.enrolled-students-section .section-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.student-count-badge{background:#e0f2fe;border-radius:20px;color:#0369a1;font-size:.9rem;font-weight:600;padding:6px 14px}.students-table-container{overflow-x:auto}.students-table{border-collapse:initial;border-spacing:0;width:100%}.students-table th{border-bottom:2px solid #e2e8f0;color:#64748b;font-size:.9rem;font-weight:600;padding:16px;text-align:left;white-space:nowrap}.students-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:16px;vertical-align:middle}.students-table tr:hover td{background-color:#f8fafc}.student-info-cell{align-items:center;display:flex;gap:12px}.student-avatar{background:#f1f5f9;border-radius:50%;flex-shrink:0;height:40px;overflow:hidden;width:40px}.student-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{background:linear-gradient(135deg,#3b82f6,#2563eb);font-size:1.2rem;font-weight:700}.student-details{display:flex;flex-direction:column}.student-details strong{color:#0f172a;font-size:.95rem}.student-email{color:#64748b;font-size:.85rem}.progress-cell{gap:10px}.progress-bar.small{background:#e2e8f0}.progress-text-small{color:#475569;font-size:.85rem;font-weight:600}.status-badge{align-items:center;border-radius:20px;display:inline-flex}.status-badge.completed{color:#166534}.status-badge.in-progress{background:#e0f2fe;color:#0369a1}@media (max-width:768px){.community-grid{grid-template-columns:1fr}.community-card{padding:16px}}.my-courses-page{background:linear-gradient(180deg,#f8fafc,#fff 65%);padding-bottom:40px}.my-courses-page .container{max-width:1120px}.my-courses-hero{background:linear-gradient(135deg,#1d4ed8,#7c3aed);border-radius:26px;box-shadow:0 30px 60px #1e40af59;color:#fff;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-bottom:28px;padding:32px}.my-courses-hero .eyebrow{color:#ffffffbf;font-size:.8rem;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.my-courses-hero p{color:#fffc;line-height:1.5}.my-courses-hero .hero-stats{display:flex;flex-wrap:wrap;gap:20px;min-width:220px}.hero-stats>div{background:#ffffff1f;border:1px solid #fff3;padding:12px 16px}.hero-stats strong{font-size:1.8rem}.empty-state.elevated{background:#fff;border-radius:20px;box-shadow:0 20px 50px #0f172a14;padding:40px;text-align:center}.my-courses-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.enrolled-card{background:#fff;border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 18px 35px #0f172a14;display:flex;flex-direction:column;gap:12px;padding:20px}.enrolled-card.completed{background:#f0fdf4;border-color:#bbf7d0}.card-top{display:flex;gap:12px;justify-content:space-between}.card-chip{background:#e0e7ff;border-radius:999px;color:#4338ca;font-size:.75rem;letter-spacing:.12em;padding:4px 10px;text-transform:uppercase}.status-pill{background:#22c55e;color:#fff;font-weight:600;padding:4px 10px}.enrolled-card h3{color:#0f172a;margin:4px 0 0}.card-instructor{color:#475569;margin:0}.card-progress{align-items:center;display:flex;gap:10px}.progress-track{background:#e2e8f0;border-radius:999px;flex:1 1;height:8px;overflow:hidden}.progress-value{color:#1d4ed8;font-weight:700}.progress-details{color:#64748b;font-size:.85rem;margin:0}.enrollment-date{color:#94a3b8;font-size:.85rem;margin:0}.card-actions{display:flex;flex-wrap:wrap;gap:12px}.card-actions .btn-ghost{border-radius:999px;padding:10px 18px;text-decoration:none}.enrolled-card .btn-primary{background:linear-gradient(135deg,#1d4ed8,#7c3aed);border-radius:999px;box-shadow:0 8px 20px #4f46e54d;color:#fff;font-weight:600;padding:10px 22px}.enrolled-card .btn-primary:hover{opacity:.9}.btn-ghost.danger{background:#0000;border:1px solid #f8717199;border-radius:999px;color:#b91c1c;padding:10px 18px}.created-courses-section{margin-bottom:40px}.section-header h2,.section-title{font-size:1.5rem}.section-title{color:#0f172a;margin:32px 0 20px}.instructor-card{border-left:4px solid #7c3aed}.instructor-card .status-pill{background:#dcfce7;color:#166534}.instructor-card .status-pill.draft{background:#fef3c7;color:#92400e}.btn-secondary{display:inline-block;padding:10px 22px;text-decoration:none}@media (max-width:768px){.my-courses-hero{flex-direction:column}}.manage-courses-page{background:linear-gradient(180deg,#f8fafc,#fff 70%);padding-bottom:60px}.manage-courses-page .container{max-width:1200px}.manage-hero{background:linear-gradient(135deg,#0f766e,#14b8a6);border-radius:26px;box-shadow:0 30px 60px #0f766e40;color:#fff;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:32px;overflow:hidden;padding:40px;position:relative}.manage-hero:before{background:#ffffff1a;border-radius:50%;content:"";height:300px;pointer-events:none;position:absolute;right:-10%;top:-50%;width:300px}.manage-hero .hero-content{flex:1 1 400px;position:relative;z-index:5}.manage-hero .eyebrow{color:#fffc;font-size:.75rem;font-weight:700;letter-spacing:.18em;margin-bottom:8px;text-transform:uppercase}.manage-hero h1{font-size:2.5rem;font-weight:800;margin:0 0 12px}.manage-hero .hero-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:24px;display:flex;flex:0 0 240px;flex-direction:column;justify-content:center;padding:24px;position:relative;z-index:5}.manage-hero .hero-card .label{color:#ffffffb3;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.manage-hero .hero-value{font-size:3rem;font-weight:800;line-height:1;margin:8px 0}.panel-header{align-items:center;border-bottom:2px solid #f8fafc;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.accordion-header:hover{background:#f8fafc}.instructor-badge:before{content:"👤";font-size:.75rem}.accordion-content{animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-danger,.btn-edit,.btn-edit-full,.btn-primary,.btn-secondary,.btn-success,.btn-warning{border:none;border-radius:999px;cursor:pointer;font-weight:600;transition:all .2s}.btn-danger,.btn-secondary{padding:10px 20px}.btn-edit{background:#dbeafe;color:#1d4ed8}.btn-edit-full{background:#eff6ff;border:1px solid #dbeafe;color:#2563eb}.btn-edit-full,.btn-success,.btn-warning{padding:10px 20px}.btn-hero-cta{background:#fff!important;box-shadow:0 10px 20px #0000001a;color:#0f766e!important;display:inline-block;font-size:1.1rem!important;margin-top:24px;padding:14px 32px!important;width:-webkit-fit-content;width:fit-content}.btn-hero-cta:hover{background:#f8fafc!important;box-shadow:0 12px 24px #00000026;transform:translateY(-2px)}.search-bar-container{flex:1 1}.search-input{box-shadow:0 2px 4px #00000005;font-size:.95rem;padding:12px 20px;transition:all .2s}.search-input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1a}.btn-small-cta{font-size:.9rem!important;height:-webkit-fit-content;height:fit-content;padding:10px 20px!important}.modal-large{max-width:800px!important;width:95%!important}.modal-body{padding:0 4px}.modal-actions{border-top:1px solid #e2e8f0;padding-top:16px}.modal-actions .btn-primary{width:-webkit-fit-content;width:fit-content}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto}.modal-content{animation:modalSlideIn .3s ease-out;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;max-width:500px}.modal-content.modal-large{max-width:800px}.modal-content.modal-confirm{max-width:450px;text-align:center}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{border-bottom:1px solid #f1f5f9;padding:24px 24px 16px}.modal-header h2{font-size:1.5rem}.modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.75rem;line-height:1;padding:0;transition:color .2s}.modal-close:hover{color:#475569}.modal-body{padding:24px}.modal-body .warning-icon{font-size:3rem;margin-bottom:16px}.modal-body .course-name-confirm{color:#1e293b;font-size:1.1rem;font-weight:700;margin:12px 0}.modal-body .warning-text{color:#64748b;font-size:.9rem;margin-top:16px}.form-section{margin-bottom:32px}.form-section h3{border-bottom:2px solid #f1f5f9;color:#1e293b;font-size:1.1rem;margin:0 0 20px;padding-bottom:12px}.form-group label{color:#475569}.form-group input,.form-group select,.form-group textarea{font-size:1rem;padding:12px 16px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.video-form-group{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:16px;padding:20px}.video-form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.video-form-header h4{color:#1e293b;font-size:1rem;margin:0}.btn-small{font-size:.8rem!important;padding:6px 12px!important}.error-message{color:#b91c1c;font-size:.9rem;margin-bottom:16px;padding:12px 16px}@media (max-width:768px){.section-header-row{align-items:flex-start;flex-direction:column;gap:16px}.form-row{grid-template-columns:1fr}.modal-content{margin:10px;max-height:95vh}}.edit-course-page{background:#f8fafc;min-height:100vh;padding-bottom:40px}.edit-course-container{margin:0 auto;max-width:900px}.edit-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.edit-header h1{color:#1e293b;margin:0}.back-btn{background:none;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:16px;padding:8px 12px;transition:background .2s}.back-btn:hover{background:#e2e8f0;color:#1e293b}.error-message{padding:16px}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;color:#16a34a;margin-bottom:20px;padding:16px}.form-section{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin-bottom:24px;padding:24px}.form-section h2{color:#1e293b;font-size:1.25rem;margin:0 0 20px}.form-section h2,.section-header{border-bottom:1px solid #e2e8f0;padding-bottom:12px}.section-header{margin-bottom:20px}.section-header h2{border:none;padding:0}.form-group input,.form-group select,.form-group textarea{border:2px solid #e2e8f0;border-radius:10px;box-sizing:border-box;font-size:16px;padding:12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6366f1}.form-row{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-row .form-group{margin-bottom:0}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:10px}.checkbox-group input[type=checkbox]{cursor:pointer;height:20px;width:20px}.no-videos{background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;color:#94a3b8;padding:40px;text-align:center}.videos-list{display:flex;flex-direction:column;gap:16px}.video-edit-card{background:#fafafa;border:2px solid #e2e8f0;border-radius:14px;overflow:hidden}.video-edit-header{align-items:center;background:#f1f5f9;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:12px 16px}.video-number{color:#4f46e5;font-weight:600}.video-actions{display:flex;gap:8px}.btn-icon{align-items:center;background:#fff;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-icon:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.btn-icon:disabled{cursor:not-allowed;opacity:.3}.btn-icon.btn-delete{color:#dc2626;font-size:24px}.btn-icon.btn-delete:hover{background:#fef2f2;color:#b91c1c}.video-edit-body{background:#fff;padding:16px}.video-edit-body .form-group{margin-bottom:16px}.video-edit-body .form-group:last-child,.video-edit-body .form-row{margin-bottom:0}.form-actions{gap:12px;padding-top:20px}.btn-primary{background:linear-gradient(135deg,#4f46e5,#6366f1);font-size:16px}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #4f46e54d}.btn-primary:disabled{opacity:.6}.btn-secondary{font-size:16px;padding:14px 28px}@media (max-width:768px){.edit-course-container{padding:0 16px}.form-section{padding:16px}.section-header{align-items:flex-start;gap:12px}.form-actions,.section-header{flex-direction:column}.form-actions button{width:100%}}.materials-section{margin-top:32px}.materials-note{color:#6b7280;font-size:.875rem;margin-bottom:20px}.material-upload-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:20px}.material-upload-form .form-row{align-items:flex-end}.materials-list{display:flex;flex-direction:column;gap:12px}.material-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:12px;justify-content:space-between;padding:14px 16px}.material-info,.material-item{align-items:center;display:flex}.material-info{flex:1 1;gap:14px;min-width:0}.material-icon{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#ef4444;display:inline-flex;flex-shrink:0;font-size:.6rem;font-weight:700;height:40px;justify-content:center;letter-spacing:.05em;width:40px}.material-title{color:#111827;font-size:.9rem;font-weight:600;margin:0 0 2px}.material-meta,.material-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-meta{color:#9ca3af;font-size:.75rem;margin:0}.material-actions{display:flex;flex-shrink:0;gap:8px}.pdf-viewer-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.pdf-viewer-modal{background:#fff;border-radius:12px;display:flex;flex-direction:column;height:90vh;max-width:900px;overflow:hidden;width:100%}.pdf-viewer-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.pdf-viewer-header h3{color:#111827;font-size:1rem;font-weight:600;margin:0}.pdf-viewer-body{flex:1 1;overflow:hidden}.pdf-iframe{border:none;display:block;height:100%;width:100%}.certificates-page{background:linear-gradient(180deg,#f8fafc,#fff 65%);padding-bottom:40px}.certificates-page .container{max-width:1120px}.certificates-hero{background:linear-gradient(135deg,#0f172a,#334155);border-radius:26px;box-shadow:0 30px 60px #0f172a59;color:#fff;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:28px;padding:32px}.certificates-hero .hero-content{flex:1 1 60%;min-width:260px}.certificates-hero .eyebrow{color:#ffffffb3;font-size:.8rem;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.certificates-hero p{color:#fffc;line-height:1.6}.certificates-hero .hero-card{background:#0f172a66;border:1px solid #ffffff26;border-radius:18px;flex:1 1 220px;min-width:220px;padding:20px}.hero-card .label{color:#ffffffb3}.hero-value{font-size:3rem;margin:6px 0}.hero-note{color:#fffc;margin:0}.certificates-hero.admin{background:linear-gradient(135deg,#0f172a,#1e3a8a)}.certificates-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.certificate-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 20px 40px #0f172a14;display:flex;flex-direction:column;gap:16px;padding:20px}.certificate-card header{align-items:center;display:flex;gap:16px}.certificate-icon{align-items:center;background:linear-gradient(135deg,#2563eb,#9333ea);border-radius:50%;color:#fff;display:flex;height:64px;justify-content:center;width:64px}.certificate-icon svg{height:32px;width:32px}.certificate-card h3{color:#0f172a;margin:0}.instructor{color:#475569;font-size:.9rem;margin:2px 0 0}.badge{background:#22d3ee;border-radius:999px;color:#0f172a;font-size:.85rem;font-weight:600;margin-left:auto;padding:4px 12px}.certificate-meta{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.meta-label{letter-spacing:.12em}.certificate-meta p{color:#0f172a;font-weight:600;margin:4px 0 0;word-break:break-all}.certificate-actions{display:flex;justify-content:flex-end}.admin-certificates-table{background:#fff;border-radius:24px;box-shadow:0 20px 40px #0f172a14;display:flex;flex-direction:column;gap:12px;padding:24px}.admin-certificates-table .table-header,.admin-certificates-table .table-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:220px 220px 160px 160px 1fr}.admin-certificates-table .table-header{border-bottom:1px solid #e2e8f0;color:#94a3b8;font-size:.75rem;letter-spacing:.1em;padding-bottom:8px;text-transform:uppercase}.admin-certificates-table .table-row{border-bottom:1px solid #f1f5f9;padding:12px 0}.admin-certificates-table .table-row:last-child{border-bottom:none}.course-cell,.student-cell{display:flex;flex-direction:column;gap:4px}.course-title,.student-cell strong{color:#0f172a}.certificate-cell,.course-cell span,.issued-cell,.student-cell span{color:#64748b;font-size:.9rem}.actions-cell{align-items:center;gap:12px}.verification-code{color:#475569;font-family:Courier New,monospace;font-size:.85rem}.empty-state{padding:40px}@media (max-width:768px){.certificates-hero{padding:24px}.certificate-card header{align-items:flex-start;flex-direction:column}.badge{margin-left:0}.admin-certificates-table .table-header,.admin-certificates-table .table-row{grid-template-columns:1fr}}.admin-dashboard{background:linear-gradient(180deg,#f8fafc,#fff 70%);min-height:100vh;padding-bottom:40px}.admin-dashboard .container{max-width:1280px}.admin-hero{background:linear-gradient(135deg,#0f172a,#1e3a8a);border-radius:28px;box-shadow:0 30px 60px #0f172a59;color:#fff;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px;padding:32px}.admin-hero .hero-content{flex:1 1 320px}.admin-hero .eyebrow{color:#ffffffa6;font-size:.8rem;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.hero-content p{color:#fffc;line-height:1.6}.hero-stats{flex:1 1 280px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.hero-stat-card{background:#ffffff1f;border-radius:16px;padding:14px 16px}.hero-stat-card .stat-label{color:#ffffffb3;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.hero-stat-card .stat-value{font-size:1.6rem;font-weight:700;margin:6px 0}.hero-stat-card .stat-hint{color:#ffffffbf;font-size:.85rem}.admin-tabs{background:#fff;border-radius:999px;box-shadow:0 15px 30px #0f172a1f;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:6px}.admin-tabs button{background:#0000;border:none;border-radius:999px;color:#475569;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 16px;transition:all .2s}.admin-tabs button:hover{background:#f1f5f9}.admin-tabs button.active{background:linear-gradient(135deg,#1d4ed8,#4f46e5);box-shadow:0 10px 20px #4f46e54d;color:#fff}.overview-panels{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.admin-section{background:#fff;border-radius:24px;box-shadow:0 20px 45px #0f172a14;padding:24px}.admin-section.full-width{grid-column:1/-1}.section-header{align-items:flex-start;gap:16px;margin-bottom:18px}.section-header h2,.section-header h3{margin:0}.header-actions{align-items:center;display:flex;gap:12px}.search-input{border:1px solid #e2e8f0;font-size:.9rem;min-width:200px;padding:10px 16px}.search-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.table-container td,.table-container th{padding:12px 10px}.table-container th{letter-spacing:.12em}.role-badge{border-radius:999px;font-size:.8rem;font-weight:600;padding:4px 10px;text-transform:capitalize}.role-badge.admin{background:#dbeafe;color:#1d4ed8}.role-badge.instructor{background:#fae8ff;color:#9333ea}.role-badge.student{background:#dcfce7;color:#166534}.role-badge.sub-admin{background:#fef3c7;color:#b45309}.status-badge{padding:4px 10px}.status-badge.active{background:#dcfce7;color:#15803d}.status-badge.inactive{background:#fee2e2;color:#b91c1c}select{border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.9rem;padding:6px 10px}select:focus{border-color:#4f46e5;outline:none}.btn-danger,.btn-primary,.btn-secondary,.btn-success,.btn-warning{border:none;border-radius:999px;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 14px;transition:all .2s}.btn-small{font-size:.8rem;padding:6px 12px}.btn-primary:hover{box-shadow:0 4px 12px #4f46e566}.btn-secondary{background:#eef2ff;color:#312e81}.btn-secondary:hover{background:#e0e7ff}.btn-danger{background:#fee2e2;color:#b91c1c}.btn-danger:hover{background:#fecaca}.btn-warning:hover{background:#fde68a}.btn-success:hover{background:#bbf7d0}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.pagination{align-items:center;border-top:1px solid #f1f5f9;display:flex;gap:16px;justify-content:center;margin-top:20px;padding-top:20px}.pagination button{background:#fff;border:1px solid #e2e8f0;border-radius:999px;cursor:pointer;font-weight:500;padding:8px 16px}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination button:not(:disabled):hover{background:#f1f5f9}.course-cell{align-items:center;display:flex;gap:12px}article.course-card a.course-link{background:#163589;color:#fff;padding:10px;text-align:center}.analytics-tab,.reports-tab{width:100%}.analytics-header{margin-bottom:24px}.analytics-header h2{margin:0}.analytics-grid,.reports-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.stats-row .stat-value{font-size:1.5rem;font-weight:700}.stats-row .stat-label{font-size:.8rem}.dropoff-chart{display:flex;flex-direction:column;gap:8px}.dropoff-bar{align-items:center;display:flex;gap:12px}.dropoff-bar .bucket-label{color:#64748b;font-size:.8rem;width:70px}.dropoff-bar .bar-container{background:#f1f5f9;border-radius:6px;flex:1 1;height:24px;overflow:hidden}.dropoff-bar .bar-fill{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:6px;height:100%;transition:width .3s}.dropoff-bar .bucket-count{color:#1e293b;font-weight:600;text-align:right;width:40px}.revenue-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.revenue-stat{background:#f8fafc;border-radius:12px;padding:16px;text-align:center}.revenue-stat .value{color:#1e293b;display:block;font-size:1.4rem;font-weight:700}.revenue-stat .label{color:#64748b;font-size:.8rem}.import-export-tab h2{margin:0 0 24px}.import-export-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px}.export-section h3,.import-section h3{color:#475569;margin:0 0 16px}.export-buttons,.import-buttons{display:flex;flex-wrap:wrap;gap:12px}.section-header .export-buttons{flex-direction:row;gap:8px}.export-reports-section{border-top:1px solid #e2e8f0;margin-top:32px;padding-top:32px}.export-reports-section h3{margin:0 0 8px}.export-reports-section .section-description{color:#64748b;margin-bottom:24px}.reports-export-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.report-export-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:20px;transition:all .2s}.report-export-card:hover{border-color:#4f46e5;box-shadow:0 4px 12px #4f46e51a}.report-export-card h4{color:#1e293b;margin:0 0 8px}.report-export-card p{color:#64748b;font-size:.9rem;line-height:1.5;margin:0 0 16px}.report-export-card .export-buttons{flex-direction:row;justify-content:flex-start}.engagement-summary,.quiz-summary{padding:20px;text-align:center}.engagement-summary p,.quiz-summary p{color:#64748b;margin-bottom:16px}.import-format-help{background:#f8fafc;border-radius:16px;margin-top:24px;padding:24px}.import-format-help h4{margin:0 0 16px}.format-examples{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.format-example h5{color:#475569;font-size:.9rem;margin:0 0 8px}.format-example pre{background:#1e293b;border-radius:8px;color:#e2e8f0;font-size:.85rem;margin:0;overflow-x:auto;padding:16px}.settings-section{background:#0000;box-shadow:none;padding:0}.settings-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.setting-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #0f172a0d;display:flex;flex-direction:column;justify-content:space-between;padding:24px;transition:transform .2s,box-shadow .2s}.setting-card:hover{border-color:#cbd5e1;box-shadow:0 10px 25px #0f172a14;transform:translateY(-2px)}.setting-header{display:flex;gap:16px;margin-bottom:24px}.setting-icon{align-items:center;background:#eef2ff;border-radius:12px;color:#4f46e5;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.setting-icon svg{height:24px;width:24px}.setting-info label{color:#1e293b;display:block;font-size:1.05rem;font-weight:700;margin-bottom:6px}.setting-info p{color:#64748b;font-size:.9rem;line-height:1.5}.setting-control{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;padding-top:16px}.setting-control input[type=text].setting-input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;padding:10px 14px;transition:all .2s;width:100%}.setting-control input[type=text].setting-input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.toggle{width:52px}.toggle .slider{background-color:#cbd5e1;border-radius:28px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle .slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:20px;left:4px;position:absolute;transition:.3s;width:20px}.toggle input:checked+.slider{background:linear-gradient(135deg,#1d4ed8,#4f46e5)}.toggle input:checked+.slider:before{transform:translateX(24px)}.modal-overlay{background:#0f172a99;padding:20px}.modal{background:#fff;border-radius:24px;box-shadow:0 25px 50px #0f172a40;max-width:480px;padding:32px;width:100%}.modal.large{max-width:640px}.modal h3{margin:0 0 8px}.modal>p{color:#64748b;margin-bottom:24px}.form-group label{margin-bottom:8px}.form-group input,.form-group textarea{border:1px solid #e2e8f0;border-radius:12px;font-size:.95rem;padding:12px}.form-group input:focus,.form-group textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.modal-actions{margin-top:24px}.import-results{background:#f8fafc;border-radius:12px;margin-top:16px;padding:16px}.import-results p{margin:4px 0}.import-errors{color:#b91c1c;margin-top:12px}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.empty-state.large{background:#fff;border:1px dashed #cbd5e1;border-radius:24px;margin:20px 0;padding:80px 20px}.empty-state svg{margin-bottom:16px}.empty-state.large svg{color:#cbd5e1;height:64px;margin-bottom:24px;width:64px}.empty-state h3{color:#1e293b;font-size:1.25rem;margin:0 0 12px}.empty-state p{line-height:1.6;margin:0;max-width:400px}.empty-state-cell{background:#f8fafc;padding:40px!important;text-align:center}.empty-state.inline{flex-direction:row;gap:12px;padding:0}.empty-state.inline svg{height:24px;margin-bottom:0;width:24px}.import-errors ul{margin:8px 0 0;padding-left:20px}.import-errors li{font-size:.9rem}@media (max-width:768px){.admin-hero{flex-direction:column}.admin-tabs{border-radius:16px;justify-content:center}.admin-tabs button{font-size:.8rem;padding:8px 12px}.section-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.search-input{min-width:auto;width:100%}.analytics-grid,.reports-grid{grid-template-columns:1fr}.modal{padding:24px}.revenue-summary{grid-template-columns:1fr}}.instructor-dashboard{background:linear-gradient(180deg,#f8fafc,#fff 70%);padding-bottom:60px}.instructor-dashboard .container{max-width:1200px}.instructor-hero{background:linear-gradient(135deg,#312e81,#7c3aed);border-radius:26px;box-shadow:0 30px 60px #312e8159;color:#fff;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:32px;padding:40px}.instructor-hero .hero-content{flex:1 1 400px}.instructor-hero .eyebrow{color:#fffc;font-size:.75rem;font-weight:700;letter-spacing:.18em;margin-bottom:8px;text-transform:uppercase}.instructor-hero h1{font-size:2.5rem;font-weight:800;margin:0 0 12px}.instructor-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.dashboard-section{background:#fff;border:1px solid #f1f5f9;border-radius:24px;box-shadow:0 20px 45px #0f172a14;padding:32px}.course-performance-list{display:flex;flex-direction:column;gap:16px}.course-performance-item{border:1px solid #e2e8f0;border-radius:16px;display:flex;gap:12px;justify-content:space-between;padding:20px;transition:all .2s}.course-performance-item:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000008}.course-performance-item h3{color:#1e293b;font-size:1.1rem;margin:0 0 8px}.course-metrics{color:#64748b;display:flex;flex-wrap:wrap;font-size:.9rem;gap:16px}.course-actions{align-items:flex-end;display:flex;flex-direction:column;gap:12px}.course-revenue{color:#16a34a;font-size:1.1rem;font-weight:800}.btn-primary,.btn-secondary{border:none;border-radius:999px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#1d4ed8,#4f46e5)}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-secondary{background:#eff6ff;color:#2563eb}.btn-secondary:hover{background:#dbeafe}.sidebar h2{color:#1e293b;font-size:1.25rem;margin:0 0 20px}.sidebar .recent-enrollments-list{display:flex;flex-direction:column;gap:12px}.enrollment-item{background:#fcfdfe;border:1px solid #f1f5f9;border-radius:14px;padding:12px}.student-info{color:#1e293b;display:flex;font-size:.95rem;font-weight:700;justify-content:space-between;margin-bottom:4px}.student-email{color:#94a3b8;font-size:.8rem;font-weight:500}.enrollment-info{border-top:1px dashed #e2e8f0;color:#64748b;display:flex;font-size:.85rem;justify-content:space-between;margin-top:8px;padding-top:8px}.instructor-tabs{background:#fff;border-radius:999px;box-shadow:0 15px 30px #0f172a1f;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:6px;width:-webkit-fit-content;width:fit-content}.instructor-tabs button{background:#0000;border:none;border-radius:999px;color:#475569;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .2s}.instructor-tabs button:hover{background:#f1f5f9}.instructor-tabs button.active{background:linear-gradient(135deg,#7c3aed,#9333ea);box-shadow:0 10px 20px #7c3aed4d;color:#fff}.analytics-section{width:100%}.analytics-controls{margin-bottom:24px}.analytics-controls select{border:1px solid #e2e8f0;border-radius:12px;font-size:1rem;min-width:250px;padding:12px 20px}.analytics-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.analytics-card{border-radius:20px;box-shadow:0 10px 30px #0f172a14;padding:24px}.analytics-card.full-width{grid-column:1/-1}.analytics-card h3{color:#1e293b;font-size:1.1rem;margin:0 0 16px}.stats-row{display:flex;flex-wrap:wrap;gap:24px}.stats-row .stat-item{flex:1 1;min-width:80px;text-align:center}.stats-row .stat-value{color:#1e293b;display:block;font-size:1.8rem;font-weight:800}.stats-row .stat-label{color:#64748b;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.lesson-stats-list{display:flex;flex-direction:column;gap:12px}.lesson-stat-item{align-items:center;display:flex;gap:16px}.lesson-stat-item .lesson-title{color:#475569;flex:1 1;font-size:.9rem}.lesson-stat-item .progress-bar{background:#f1f5f9;border-radius:4px;height:8px;overflow:hidden;width:200px}.lesson-stat-item .progress-fill{background:linear-gradient(135deg,#7c3aed,#9333ea);border-radius:4px;height:100%}.lesson-stat-item .completion-count{color:#64748b;font-size:.85rem;min-width:60px;text-align:right}.table-container{overflow-x:auto}.table-container table{border-collapse:collapse;width:100%}.table-container td,.table-container th{border-bottom:1px solid #f1f5f9;padding:12px;text-align:left}.table-container th{color:#94a3b8;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.table-container tr:hover td{background:#f8fafc}.students-section{width:100%}.progress-cell{align-items:center;display:flex;gap:8px}.progress-bar.small{background:#f1f5f9;border-radius:3px;height:6px;overflow:hidden;width:80px}.progress-bar.small .progress-fill{background:linear-gradient(135deg,#7c3aed,#9333ea);border-radius:3px;height:100%}.status-badge{font-size:.75rem;padding:4px 12px;text-transform:uppercase}.status-badge.completed{background:#dcfce7;color:#15803d}.status-badge.in-progress{background:#fef3c7;color:#b45309}.revenue-section{width:100%}.revenue-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.revenue-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0f172a14;padding:24px;text-align:center}.revenue-card.highlight{background:linear-gradient(135deg,#312e81,#7c3aed);color:#fff}.revenue-card h3{font-size:.9rem;font-weight:600;margin:0 0 12px;opacity:.8}.revenue-card.highlight h3{color:#fffc}.revenue-value{color:#1e293b;font-size:2rem;font-weight:800;margin:0}.revenue-card.highlight .revenue-value{color:#fff}.revenue-hint{color:#64748b;font-size:.85rem}.revenue-card.highlight .revenue-hint{color:#ffffffb3}.revenue-cell{color:#16a34a;font-weight:700}.btn-edit{background:linear-gradient(135deg,#7c3aed,#9333ea);border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.btn-edit:hover{box-shadow:0 4px 12px #7c3aed66;transform:translateY(-1px)}@media (max-width:768px){.section-header-row{align-items:flex-start;flex-direction:column;gap:16px}.content-grid{grid-template-columns:1fr}.instructor-hero{padding:32px}.instructor-hero h1{font-size:2rem}.instructor-grid{grid-template-columns:1fr}}.forums-page{background:#f5f6fa}.forums-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.forums-header h1{margin-bottom:5px}.forums-header p{color:#666;margin:0}.question-form-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:25px}.question-form-card h3{margin-bottom:20px;margin-top:0}.form-actions{gap:10px}.questions-list{gap:15px}.question-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;color:inherit;display:flex;padding:20px;text-decoration:none;transition:all .3s ease}.question-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.question-stats{border-right:1px solid #e0e0e0;display:flex;flex-direction:column;gap:10px;margin-right:20px;min-width:80px;padding-right:20px}.question-stats .stat{text-align:center}.question-stats .number{color:#333;display:block;font-size:20px;font-weight:700}.question-stats .label{color:#999;font-size:11px}.question-content{flex:1 1}.question-content h3{color:#1976d2;font-size:18px;margin:0 0 10px}.question-content p{color:#666;font-size:14px;line-height:1.5;margin:0 0 15px}.question-meta{display:flex;font-size:12px;gap:15px}.question-meta .author{color:#4caf50;font-weight:500}.question-meta .date{color:#999}.answered-badge{background:#4caf50;border-radius:10px;color:#fff;font-size:11px;padding:2px 8px}.question-detail-page{background:#f5f6fa}.question-detail-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:30px}.question-detail-card h1{color:#333;margin-bottom:20px;margin-top:0}.question-body{border-bottom:1px solid #e0e0e0;padding:20px 0}.question-body p{color:#444;line-height:1.7;white-space:pre-wrap}.question-footer{color:#666;display:flex;font-size:13px;gap:20px;padding-top:15px}.question-footer .author{color:#4caf50}.answers-section{margin-bottom:25px}.answers-section h2{margin-bottom:20px}.answer-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;display:flex;margin-bottom:15px;padding:20px}.answer-card.accepted{border-left:4px solid #4caf50}.answer-votes{align-items:center;display:flex;flex-direction:column;min-width:60px;padding-right:20px}.upvote-btn{background:none;border:none;color:#999;cursor:pointer;font-size:20px;padding:5px}.upvote-btn:hover{color:#4caf50}.vote-count{color:#333;font-size:18px;font-weight:700;margin:5px 0}.accepted-check{color:#4caf50;font-size:24px;font-weight:700}.answer-content{flex:1 1}.answer-content p{color:#444;line-height:1.6;margin:0 0 15px;white-space:pre-wrap}.answer-footer{align-items:center;display:flex;font-size:13px;gap:15px}.answer-footer .author{color:#4caf50}.instructor-badge{background:#e3f2fd;border-radius:10px;color:#1976d2;font-size:11px;margin-left:5px;padding:2px 8px}.accept-btn{background:#4caf50;color:#fff;font-size:12px;padding:5px 10px}.answer-form-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:25px}.answer-form-card h3{margin-top:0}.answer-form-card textarea{margin-bottom:15px}.login-prompt{background:#fff;border-radius:10px;color:#666;padding:30px;text-align:center}.checkout-page{background:#f5f6fa}.checkout-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 350px;margin:0 auto;max-width:1000px}.checkout-main{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:30px}.checkout-main h1{margin-bottom:30px;margin-top:0}.course-summary{border-bottom:1px solid #e0e0e0;display:flex;gap:20px;margin-bottom:25px;padding-bottom:25px}.course-summary img{background:#f0f0f0;border-radius:8px;height:100px;object-fit:cover;width:150px}.course-summary .course-info h2{font-size:18px;margin:0 0 10px}.course-summary .instructor{color:#666;font-size:14px;margin:0 0 5px}.course-summary .category{background:#e3f2fd;border-radius:15px;color:#1976d2;display:inline-block;font-size:12px;margin:0;padding:3px 10px}.discount-section h3{font-size:16px;margin-bottom:15px;margin-top:0}.discount-input{display:flex;gap:10px}.discount-input input{flex:1 1}.discount-applied{background:#e8f5e9;border-radius:5px;color:#2e7d32;font-size:14px;margin-top:10px;padding:10px}.checkout-sidebar{height:-webkit-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:100px}.order-summary{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:25px}.order-summary h3{border-bottom:1px solid #e0e0e0;margin-bottom:20px;margin-top:0;padding-bottom:15px}.price-row{display:flex;font-size:14px;justify-content:space-between;padding:10px 0}.price-row.discount,.price-row.sale{color:#2e7d32}.price-row.total{border-top:2px solid #e0e0e0;font-size:18px;font-weight:700;margin-top:10px;padding-top:15px}.checkout-btn{font-size:16px;margin-top:20px;padding:15px;width:100%}.secure-note{color:#999;font-size:12px;margin-bottom:0;margin-top:15px;text-align:center}@media (max-width:768px){.checkout-container{grid-template-columns:1fr}.checkout-sidebar{position:static}}.badges-page{background:linear-gradient(180deg,#f8fafc,#fff 65%);padding-bottom:40px}.badges-page .container{max-width:1120px}.badges-hero{background:linear-gradient(135deg,#1e1b4b,#4c1d95);border-radius:28px;box-shadow:0 30px 60px #1e1b4b66;color:#fff;display:flex;flex-wrap:wrap;gap:24px;margin-bottom:28px;padding:36px}.badges-hero .hero-content{flex:1 1 50%;min-width:260px}.badges-hero p{color:#fffc;line-height:1.6}.badges-hero .eyebrow{color:#ffffffbf;font-size:.8rem;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.hero-stats{flex-wrap:wrap;gap:20px;margin-top:20px}.hero-stats>div{background:#ffffff14;border:1px solid #ffffff26;border-radius:16px;min-width:140px;padding:12px 18px}.hero-stats .label{color:#ffffffb3;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.hero-stats strong{display:block;font-size:1.6rem}.hero-stats .meta{color:#fff9;display:block;font-size:.85rem}.hero-card{background:#111827a6;border:1px solid #ffffff14;border-radius:22px;display:flex;flex:1 1 260px;flex-direction:column;gap:16px;min-width:260px;padding:24px}.hero-progress-text{align-items:baseline;display:flex;justify-content:space-between}.hero-progress-text .label{color:#fff9;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.hero-progress-text .value{font-size:2rem;font-weight:700}.hero-caption{color:#ffffffb3;font-size:.95rem;margin:0}.hero-highlight{display:flex;flex-direction:column;gap:12px}.highlight-item{align-items:center;background:#ffffff14;border-radius:14px;display:flex;gap:12px;padding:12px}.highlight-item span{font-size:1.5rem}.highlight-item p{color:#fff;margin:0}.highlight-item small{color:#fff9}.empty-highlight{color:#ffffffa6;font-size:.9rem;margin:0}.badge-toolbar{align-items:center;background:#fff;border-radius:20px;box-shadow:0 20px 40px #0f172a14;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px;padding:20px}.filter-pills{display:flex;flex-wrap:wrap;gap:10px}.pill{background:#fff;border:1px solid #e2e8f0;border-radius:999px;cursor:pointer;font-weight:600;padding:8px 16px}.pill.active{background:#4f46e526;border-color:#4f46e599;color:#4338ca}.toolbar-meta{color:#64748b;font-size:.9rem;margin:0}.badges-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.badge-card{background:#fff;border:1px solid #eef2ff;border-radius:20px;box-shadow:0 20px 40px #0f172a14;display:flex;flex-direction:column;gap:12px;padding:20px}.badge-card.locked{opacity:.8}.badge-status-row{align-items:center;display:flex;font-size:.9rem;justify-content:space-between}.status{color:#94a3b8;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.status.unlocked{color:#16a34a}.points-tag{background:#eef2ff;border-radius:999px;color:#4338ca;font-size:.8rem;font-weight:600;padding:2px 10px}.badge-card h3{color:#0f172a;margin:0}.badge-description{color:#475569;line-height:1.5;margin:0}.earned-date{color:#16a34a;font-weight:600;margin:0}.badge-status{color:#94a3b8;font-size:.85rem;margin:0}.badge-card .badge-icon{font-size:3rem;line-height:1}@media (max-width:768px){.badges-hero{padding:28px}.badge-toolbar{align-items:flex-start;flex-direction:column}}.profile-page{padding:2rem 0}.profile-page h1,.profile-tabs{margin-bottom:2rem}.profile-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:1rem;padding-bottom:1rem}.tab-btn{background:none;border:none;border-radius:5px;color:#666;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.tab-btn:hover{background:#f0f0f0}.tab-btn.active{background:#4caf50;color:#fff}.profile-section,.security-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:2rem}.avatar-section{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:2rem;margin-bottom:2rem;padding-bottom:2rem}.avatar-preview{background:#e0e0e0;border-radius:50%;height:100px;overflow:hidden;width:100px}.avatar-preview img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:2rem;font-weight:600;height:100%;justify-content:center;width:100%}.avatar-info h3{color:#1a1a2e;margin:0 0 .5rem}.avatar-info .role-badge{background:#e3f2fd;border-radius:20px;color:#1976d2;display:inline-block;font-size:.85rem;margin:0 0 .5rem;padding:.25rem .75rem;text-transform:capitalize}.avatar-info .email{color:#666;font-size:.9rem;margin:0}.form-group{margin-bottom:1.5rem}.form-group label{color:#333}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:5px;box-sizing:border-box;padding:.75rem;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#4caf50}.form-group input.disabled{background:#f5f5f5;cursor:not-allowed}.form-group small{color:#999;display:block;font-size:.8rem;margin-top:.5rem}.form-group textarea{min-height:100px}.security-section h2{color:#1a1a2e;margin:0 0 1.5rem}.security-info{border-top:1px solid #e0e0e0;margin-top:2rem;padding-top:2rem}.security-info h3{color:#1a1a2e;font-size:1.1rem;margin:0 0 1rem}.security-info p{color:#666;font-size:.9rem;margin:.5rem 0}.security-info strong{color:#333}@media (max-width:768px){.form-row{grid-template-columns:1fr}.avatar-section{text-align:center}.avatar-section,.profile-tabs{flex-direction:column}}.settings-page{padding:2rem 0}.settings-page h1{margin-bottom:2rem}.message{border-radius:5px;margin-bottom:1.5rem;padding:1rem}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.settings-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem;padding:2rem}.settings-section h2{color:#1a1a2e;font-size:1.3rem;margin:0 0 .5rem}.section-description{color:#666;font-size:.9rem;margin:0 0 1.5rem}.setting-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1rem 0}.setting-item:last-child{border-bottom:none}.setting-info h3{color:#333;font-size:1rem;margin:0 0 .25rem}.setting-info p{color:#666;font-size:.85rem;margin:0}.toggle{display:inline-block;height:28px;position:relative;width:50px}.toggle input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:28px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:20px;left:4px;width:20px}.toggle input:checked+.slider{background-color:#4caf50}.toggle input:checked+.slider:before{transform:translateX(22px)}.select-item select{background:#fff;border:2px solid #e0e0e0;border-radius:5px;cursor:pointer;font-size:.9rem;min-width:180px;padding:.5rem 1rem}.select-item select:focus{border-color:#4caf50;outline:none}.privacy-options{display:flex;gap:1rem;margin-top:1rem}.btn-secondary{background:#f0f0f0;border-radius:5px;color:#333;font-size:.9rem;transition:background .2s ease}.btn-secondary:hover{background:#e0e0e0}.btn-danger{background:#dc3545;border:none;border-radius:5px;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:background .2s ease}.btn-danger:hover{background:#c82333}.settings-actions{margin-top:1rem}.settings-actions .btn-primary{padding:.75rem 2rem}@media (max-width:768px){.setting-item{align-items:flex-start;flex-direction:column;gap:1rem}.select-item select{width:100%}.privacy-options{flex-direction:column}.privacy-options button{width:100%}}.analytics-page{padding:2rem 0}.analytics-page.admin-view .container{max-width:1120px}.analytics-hero.admin{background:linear-gradient(135deg,#0f172a,#1e3a8a);border-radius:24px;box-shadow:0 25px 50px #0f172a59;color:#fff;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px;padding:28px}.analytics-hero .hero-content{flex:1 1 320px}.analytics-hero .eyebrow{color:#ffffffb3;font-size:.8rem;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.analytics-hero .hero-content p{color:#fffc;line-height:1.6}.hero-controls{display:flex;flex-direction:column;gap:8px;min-width:160px}.hero-controls label{color:#ffffffb3;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.hero-controls select{border:none;border-radius:999px;font-weight:600;padding:10px 16px}.admin-analytics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.analytics-card.admin{background:#fff;border:1px solid #eef2ff;border-radius:20px;box-shadow:0 25px 50px #0f172a14;padding:22px}.analytics-card.admin.full,.analytics-card.admin.key-stats{grid-column:span 2}.admin-stat-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat-badge{background:#f9fafb;border:1px solid #f1f5f9;border-radius:16px;display:flex;flex-direction:column;gap:4px;padding:14px 14px 14px 48px;position:relative}.stat-badge:before{background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:8px;content:"";height:24px;left:14px;opacity:.2;position:absolute;top:50%;transform:translateY(-50%);width:24px}.stat-badge span{color:#64748b;font-size:.8rem}.stat-badge strong{color:#0f172a;display:block;font-size:1.4rem}.stat-badge small{color:#94a3b8;font-size:.8rem}.daily-chart{gap:10px}.chart-row,.daily-chart{display:flex;flex-direction:column}.chart-row{gap:6px}.chart-date{color:#475569;font-size:.85rem}.chart-bars{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr}.bar-track{background:#f1f5f9;border-radius:999px;height:8px;overflow:hidden}.chart-bars .bar{border-radius:999px;height:100%}.chart-bars .bar.enrollments{background:linear-gradient(90deg,#22d3ee,#2563eb)}.chart-bars .bar.revenue{background:linear-gradient(90deg,#f97316,#ea580c)}.top-course-list{display:flex;flex-direction:column;gap:12px}.top-course-item{grid-gap:16px;background:#fdfdfd;border:1px solid #e2e8f0;border-radius:16px;display:grid;gap:16px;grid-template-columns:1fr auto auto;padding:14px}.top-course-item span{color:#475569;font-size:.9rem}.course-revenue{color:#047857;font-weight:700}.user-role-grid{display:flex;flex-wrap:wrap;gap:12px}.role-stat{background:#f8fafc;border-radius:14px;display:flex;flex:1 1 120px;flex-direction:column;gap:6px;padding:12px;text-align:center}.role-meter{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden;width:100%}.role-fill{background:linear-gradient(90deg,#22d3ee,#2563eb);height:100%}.role-stat strong{font-size:1.2rem}.role-stat span{color:#475569;display:block;font-size:.8rem}.role-stat strong{color:#111827;font-size:1.4rem}@media (max-width:768px){.analytics-hero.admin{flex-direction:column}.analytics-card.admin.full,.analytics-card.admin.key-stats{grid-column:span 1}}.analytics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.analytics-header h1{margin:0}.analytics-header p{color:#666;margin:.5rem 0 0}.time-select{background:#fff;border:2px solid #e0e0e0;border-radius:5px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.time-select:focus{border-color:#4caf50;outline:none}.analytics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:2rem}.analytics-card{background:#fff;box-shadow:0 2px 8px #0000001a;gap:1rem;padding:1.5rem}.analytics-card,.card-icon{border-radius:10px;display:flex}.card-icon{align-items:center;font-size:1.5rem;height:50px;justify-content:center;width:50px}.card-icon.study-time{background:#e3f2fd}.card-icon.courses{background:#f3e5f5}.card-icon.videos{background:#e8f5e9}.card-icon.completion{background:#fff3e0}.card-content h3{color:#666;font-size:.85rem;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.stat-value{color:#1a1a2e}.stat-sub{color:#999;font-size:.8rem;margin:.25rem 0 0}.analytics-section{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.analytics-section h2{color:#1a1a2e;font-size:1.2rem;margin:0 0 1.5rem}.course-analytics-list{display:flex;flex-direction:column;gap:1rem}.course-analytics-item{align-items:center;border:1px solid #f0f0f0;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.course-info{flex:1 1}.course-info h3{color:#333;font-size:1rem;margin:0 0 .25rem}.course-info p{color:#666;font-size:.85rem;margin:0}.course-progress{width:250px}.progress-info{color:#666;display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:.5rem}.progress-percent{color:#4caf50;font-weight:600}.progress-bar{background:#e0e0e0;border-radius:4px}.progress-fill{background:linear-gradient(90deg,#4caf50,#45a049);border-radius:4px}.no-data{color:#999;padding:2rem}.habits-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.habit-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;text-align:center}.habit-card h3{color:#666;font-size:.9rem;margin:0 0 1rem}.habit-value{color:#1a1a2e;font-size:2rem;font-weight:700;margin:0}.habit-value span{color:#666;font-size:.9rem;font-weight:400}.habit-sub{color:#999;font-size:.8rem;margin:.5rem 0 0}.activity-placeholder{background:#f8f9fa;border-radius:8px;color:#999;padding:2rem;text-align:center}@media (max-width:768px){.analytics-header{gap:1rem}.analytics-header,.course-analytics-item{align-items:flex-start;flex-direction:column}.course-progress{width:100%}}.leaderboard-page{background:linear-gradient(180deg,#f8fafc,#fff 65%);padding-bottom:40px}.leaderboard-page .container{max-width:1120px}.leaderboard-hero{background:linear-gradient(135deg,#0f172a,#1e3a8a);border-radius:28px;box-shadow:0 30px 60px #0f172a59;color:#fff;display:flex;flex-wrap:wrap;gap:24px;margin-bottom:28px;padding:32px}.leaderboard-hero .hero-text{flex:1 1 60%;min-width:260px}.leaderboard-hero .eyebrow{color:#ffffffb3;font-size:.8rem;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.leaderboard-hero p{color:#ffffffd9;line-height:1.6}.period-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.period-pills .pill{background:#0000;border:1px solid #ffffff40;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px}.period-pills .pill.active{background:#ffffff26;border-color:#ffffff73}.hero-rank-card{background:#0f172a66;border:1px solid #ffffff1f;border-radius:20px;flex:1 1 240px;min-width:220px;padding:20px}.hero-rank-card .label{color:#ffffffb3;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.rank-value{font-size:3rem;font-weight:700;margin:6px 0}.rank-note{color:#ffffffd9;margin:0}.podium{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:28px}.podium-item{background:#fff;border-radius:22px;box-shadow:0 20px 45px #0f172a1a;padding:18px;text-align:center}.podium-item .avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:50%;color:#fff;display:flex;font-weight:600;height:70px;justify-content:center;margin:0 auto 10px;width:70px}.podium-item.first{border:2px solid #fcd34d;transform:translateY(-10px)}.podium-item .medal{font-size:1.8rem}.podium-item h4{color:#111827;margin:6px 0}.podium-item .points{color:#22c55e;font-weight:600;margin:0}.leaderboard-table{background:#fff;border-radius:24px;box-shadow:0 20px 40px #0f172a14;overflow:hidden}.table-header{color:#475569;font-size:.8rem;letter-spacing:.12em;padding:18px 28px}.table-header,.table-row{grid-template-columns:120px 1fr 120px 160px}.table-row{border-top:1px solid #f1f5f9;padding:16px 28px}.table-row.current-user{background:#eef2ff}.rank{font-size:1.4rem;font-weight:700}.rank.gold{color:#fbbf24}.rank.silver{color:silver}.rank.bronze{color:#cd7f32}.member{gap:12px}.member,.user-avatar{align-items:center;display:flex}.user-avatar{background:#e0e7ff;border-radius:50%;font-weight:600;height:44px;justify-content:center;width:44px}.user-avatar img{border-radius:50%;height:100%;object-fit:cover;width:100%}.you-badge{background:#22c55e;border-radius:999px;color:#fff;font-size:.75rem;margin-left:8px;padding:2px 8px}.points-value{color:#0ea5e9;font-weight:700}.highlight-text{color:#475569;font-size:.9rem}@media (max-width:768px){.table-header,.table-row{grid-template-columns:80px 1fr 100px}.table-header span:last-child,.table-row span.highlight-text{display:none}.leaderboard-hero{padding:28px}}.achievements-page{background:linear-gradient(180deg,#f8fafc,#fff 65%);padding-bottom:40px}.achievements-page .container{max-width:1120px}.achievements-hero{background:linear-gradient(135deg,#312e81,#6d28d9);border-radius:26px;box-shadow:0 30px 60px #312e8159;color:#fff;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:28px;padding:32px}.achievements-hero .hero-content{flex:1 1 60%;min-width:260px}.achievements-hero .eyebrow{color:#ffffffb3;font-size:.8rem;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.achievements-hero p{color:#fffc;line-height:1.6}.achievements-hero .hero-card{grid-gap:16px;background:#1118278c;border:1px solid #ffffff1f;border-radius:18px;display:grid;flex:1 1 220px;gap:16px;min-width:220px;padding:20px}.hero-card .label{color:#ffffffbf;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.hero-value{color:#fff;font-size:1.4rem;font-weight:700;margin:4px 0 0}.achievement-stats{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:24px}.stat-card{align-items:center;border:1px solid #eef2ff;border-radius:20px;box-shadow:0 20px 40px #0f172a14;gap:12px;padding:20px}.stat-icon{font-size:2rem}.stat-value{color:#fff;font-size:1.5rem;font-weight:700;margin:0}.stat-label{color:#ececec;font-size:.85rem;margin:4px 0 0}.filter-tabs{flex-wrap:wrap;gap:10px;margin-bottom:24px}.filter-tabs button{background:#fff;border:1px solid #e2e8f0;border-radius:999px;cursor:pointer;font-weight:600;padding:8px 16px}.filter-tabs button.active{background:#6366f126;border-color:#6366f180;color:#4338ca}.achievements-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.achievement-card{background:#fff;border:1px solid #eef2ff;border-radius:22px;box-shadow:0 20px 40px #0f172a14;display:flex;gap:16px;padding:20px;position:relative}.achievement-card.locked{opacity:.85}.achievement-icon{flex-shrink:0;font-size:2.5rem}.achievement-content h3{color:#0f172a;margin:0 0 6px}.achievement-content .description{color:#475569;font-size:.95rem;margin:0 0 10px}.achievement-meta{align-items:center;display:flex;gap:12px;justify-content:space-between}.achievement-meta .points{background:#eef2ff;border-radius:999px;color:#4338ca;font-weight:600;padding:4px 12px}.progress-container{flex:1 1}.progress-bar{height:6px;margin-bottom:4px}.progress-fill{background:linear-gradient(90deg,#22d3ee,#6366f1)}.progress-text{color:#64748b;font-size:.8rem}.earned-badge{align-items:center;background:#22c55e;border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;position:absolute;right:16px;top:16px;width:28px}.earned-date{color:#22c55e;font-size:.85rem}.empty-state{border-radius:20px;margin-top:20px;padding:28px}@media (max-width:768px){.achievements-hero{padding:24px}.achievement-meta{align-items:flex-start;flex-direction:column}}.goals-page{background:linear-gradient(180deg,#f8fafc,#fff 65%);padding-bottom:40px}.goals-page .container{max-width:1120px}.goals-hero{background:linear-gradient(135deg,#0f766e,#2dd4bf);border-radius:26px;box-shadow:0 30px 60px #0f766e59;color:#fff;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-bottom:28px;padding:32px}.goals-hero .hero-content{flex:1 1;min-width:260px}.goals-hero .eyebrow{color:#ffffffbf;font-size:.8rem;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.goals-hero p{color:#ffffffd9;line-height:1.6}.hero-metrics{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px}.hero-metrics>div{background:#ffffff1f;border:1px solid #ffffff40;border-radius:14px;min-width:120px;padding:12px 16px}.hero-metrics .label{color:#ffffffb3;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.hero-metrics strong{display:block;font-size:1.4rem}.goals-hero .btn-primary{align-self:flex-start}.goal-form-card{background:#fff;border:1px solid #eef2ff;border-radius:22px;box-shadow:0 20px 40px #0f172a14;margin-bottom:28px;padding:24px}.goal-form-card h3{margin-top:0}.form-row{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group input,.form-group select,.form-group textarea{border-radius:12px;padding:.75rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0f766e}.section.card-section{background:#fff;border:1px solid #eef2ff;border-radius:24px;box-shadow:0 20px 40px #0f172a14;margin-bottom:24px;padding:24px}.section-header{margin-bottom:16px}.section-header .label{color:#94a3b8;font-size:.75rem;letter-spacing:.12em;margin:0;text-transform:uppercase}.challenges-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.challenge-card{background:#f8fafc;border:1px solid #eef2ff;border-radius:18px;padding:16px}.challenge-card.complete{background:#ecfdf5;border-color:#34d399}.challenge-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.challenge-title{color:#0f172a;font-weight:600;margin:0}.challenge-desc{color:#64748b;font-size:.85rem}.challenge-points{background:#dbeafe;border-radius:999px;color:#1d4ed8;font-weight:600;padding:4px 10px}.challenge-progress{align-items:center;display:flex;gap:10px;margin-top:12px}.challenge-count{color:#475569;font-size:.85rem}.progress-bar{background:#e2e8f0;flex:1 1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#34d399,#059669);border-radius:999px;height:100%;transition:width .3s ease}.complete-badge{background:#22c55e;border-radius:999px;color:#fff;display:inline-block;font-size:.8rem;margin-top:10px;padding:4px 10px}.goals-list{display:flex;flex-direction:column;gap:16px}.goal-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:18px}.goal-card.completed{background:#ecfdf5;border-color:#34d399}.goal-info,.goal-main{display:flex;gap:14px;justify-content:space-between}.goal-info h4{color:#0f172a;margin:0}.goal-meta{color:#475569;display:flex;flex-wrap:wrap;font-size:.85rem;gap:12px}.days-left{color:#0f766e;font-weight:600}.days-left.urgent{color:#f97316}.btn-complete{background:#0f766e;border:none;border-radius:999px;color:#fff;cursor:pointer;padding:8px 16px}.goal-progress{align-items:center;display:flex;gap:10px;margin-top:12px}.goal-progress .progress-bar{height:10px}.progress-text{color:#475569;font-size:.85rem}.completed-date{color:#059669}.points-earned{background:#d1fae5;border-radius:999px;color:#047857;padding:2px 8px}.complete-check{color:#059669;font-size:1.4rem}.empty-state{border:1px dashed #cbd5f5;border-radius:16px;color:#64748b;padding:30px}@media (max-width:768px){.goal-main,.goals-hero{flex-direction:column}.btn-complete{width:100%}}.search-bar-container{margin-bottom:24px;max-width:400px;width:100%}.search-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:999px;box-shadow:0 10px 25px #0f172a0d;font-size:1rem;padding:12px 24px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#1d4ed8;box-shadow:0 0 0 4px #1d4ed81a;outline:none}.students-page{background:linear-gradient(180deg,#f8fafc,#fff 70%);padding-bottom:60px}.students-page .container{max-width:1200px}.students-hero{background:linear-gradient(135deg,#0f172a,#1e3a8a);border-radius:26px;box-shadow:0 30px 60px #0f172a59;color:#fff;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:32px;padding:40px}.students-hero .hero-content{flex:1 1 400px}.students-hero .eyebrow{color:#fffc;font-size:.75rem;font-weight:700;letter-spacing:.18em;margin-bottom:8px;text-transform:uppercase}.students-hero h1{font-size:2.5rem;font-weight:800;margin:0 0 12px}.students-hero .hero-content p{color:#fffc;line-height:1.6}.hero-stats{grid-gap:12px;display:grid;flex:0 0 280px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.hero-stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;padding:20px}.stat-label{color:#ffffffb3;font-size:.7rem;font-weight:600;letter-spacing:.12em}.stat-value{font-size:1.8rem;margin:4px 0 0}.course-management-section{margin-bottom:40px}.section-header-row{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.panel-header-simple p{color:#94a3b8;font-size:.75rem;letter-spacing:.12em;margin:0;text-transform:uppercase}.panel-header-simple h2{color:#1e293b;margin:4px 0 0}.course-accordion-container{background:#fff;border:1px solid #f1f5f9;border-radius:24px;box-shadow:0 10px 30px #0f172a0d;padding:24px}.accordion-list{display:flex;flex-direction:column;gap:12px}.accordion-item{border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.accordion-item:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000008}.accordion-item.expanded{border-color:#2563eb;box-shadow:0 12px 24px #2563eb14;margin:8px 0}.accordion-header{align-items:center;background:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:background .2s}.header-info{flex:1 1;flex-direction:column;gap:8px}.title-group{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.course-title{color:#1e293b;font-size:1.1rem;font-weight:700}.course-category{background:#f1f5f9;border-radius:999px;color:#64748b;font-size:.75rem;font-weight:600;padding:2px 10px}.meta-group{flex-wrap:wrap;gap:16px}.instructor-badge,.meta-group{align-items:center;display:flex}.instructor-badge{color:#64748b;font-size:.85rem;gap:4px}.status-pill{border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.status-pill.active{background:#dcfce7;color:#166534}.status-pill.inactive{background:#f1f5f9;color:#64748b}.learner-count{color:#94a3b8;font-size:.85rem;font-weight:500}.btn-icon-toggle{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:1.25rem;height:36px;justify-content:center;transition:all .2s;width:36px}.accordion-item.expanded .btn-icon-toggle{background:#2563eb;border-color:#2563eb;color:#fff;transform:rotate(180deg)}.accordion-content{background:#fcfdfe;border-top:1px solid #f1f5f9;padding:24px}.content-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:2fr 1fr;margin-bottom:24px}.description-section h5,.stats-section h5{color:#94a3b8;font-size:.7rem;letter-spacing:.1em;margin:0 0 12px;text-transform:uppercase}.description-section p{color:#475569;line-height:1.6;margin:0}.stats-section{display:flex;flex-direction:column;gap:12px}.stat-item{border-bottom:1px dashed #e2e8f0;display:flex;justify-content:space-between;padding:8px 0}.stat-item .label{color:#64748b;font-size:.85rem}.content-actions{border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:12px;padding-top:20px}.btn-warning{background:#fef3c7;color:#b45309}.btn-success{background:#dcfce7;color:#15803d}.btn-success,.btn-warning{border:none;border-radius:999px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.btn-success:hover,.btn-warning:hover{filter:brightness(.95)}.no-data{color:#94a3b8;padding:40px 20px;text-align:center}@media (max-width:768px){.section-header-row{align-items:flex-start;flex-direction:column;gap:16px}.content-grid{grid-template-columns:1fr}.students-hero{padding:32px}.students-hero h1{font-size:2rem}}.take-quiz-page{background:linear-gradient(180deg,#f8fafc,#fff);min-height:100vh;padding:40px 0}.take-quiz-page .container{max-width:900px}.error-state,.loading-state{background:#fff;border-radius:24px;box-shadow:0 10px 40px #0f172a14;padding:80px 20px;text-align:center}.error-state h2{color:#ef4444;margin-bottom:16px}.quiz-start{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0f172a1a;padding:48px;text-align:center}.start-header h1{color:#1e293b;font-size:2rem;margin:0 0 16px}.quiz-description{color:#64748b;font-size:1.1rem;margin:0 auto 32px;max-width:600px}.quiz-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:32px}.info-card{align-items:center;background:#f8fafc;border-radius:16px;display:flex;flex-direction:column;gap:8px;padding:20px}.info-icon{font-size:1.5rem}.info-label{color:#64748b;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.info-value{color:#1e293b;font-size:1.25rem;font-weight:700}.already-passed{align-items:center;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:12px;color:#166534;display:flex;font-weight:600;gap:12px;justify-content:center;margin-bottom:24px;padding:16px 24px}.passed-icon{font-size:1.25rem}.btn-start{background:linear-gradient(135deg,#2563eb,#4f46e5);border:none;border-radius:999px;box-shadow:0 10px 30px #2563eb4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:16px 48px;transition:all .3s}.btn-start:hover{box-shadow:0 15px 40px #2563eb66;transform:translateY(-2px)}.no-attempts{background:#fef2f2;border-radius:16px;color:#b91c1c;padding:24px}.no-attempts p{margin:0 0 16px}.quiz-container{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0f172a1a;padding:32px}.quiz-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.quiz-header h2{color:#1e293b;font-size:1.25rem;margin:0}.header-info{gap:20px}.header-info,.timer{align-items:center;display:flex}.timer{background:#f1f5f9;border-radius:999px;color:#1e293b;font-weight:600;gap:8px;padding:8px 16px}.timer.warning{animation:pulse 1s infinite;background:#fef2f2;color:#b91c1c}.progress-info{color:#64748b;font-size:.9rem}.progress-bar-container{background:#e2e8f0;border-radius:999px;height:6px;margin-bottom:24px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#2563eb,#4f46e5);border-radius:999px;height:100%;transition:width .3s ease}.question-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:32px}.nav-dot{background:#fff;border:2px solid #e2e8f0;border-radius:50%;color:#64748b;cursor:pointer;font-size:.9rem;font-weight:600;height:36px;transition:all .2s;width:36px}.nav-dot:hover{border-color:#2563eb;color:#2563eb}.nav-dot.active{background:#2563eb;border-color:#2563eb;color:#fff}.nav-dot.answered{background:#dcfce7;border-color:#22c55e;color:#166534}.nav-dot.answered.active{background:#22c55e;color:#fff}.question-container{background:#f8fafc;border-radius:20px;margin-bottom:24px;padding:32px}.question-header{margin-bottom:16px}.question-number{color:#64748b;font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.question-points{background:#dbeafe;border-radius:999px;color:#1d4ed8;font-size:.8rem;font-weight:600;padding:4px 12px}.question-text{color:#1e293b;font-size:1.25rem;line-height:1.6;margin:0 0 24px}.options-container{display:flex;flex-direction:column;gap:12px}.option-label{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:16px 20px;transition:all .2s}.option-label.selected,.option-label:hover{background:#eff6ff;border-color:#2563eb}.option-label input{display:none}.option-letter{align-items:center;background:#f1f5f9;border-radius:50%;color:#64748b;display:flex;flex-shrink:0;font-weight:700;height:32px;justify-content:center;width:32px}.option-label.selected .option-letter{background:#2563eb;color:#fff}.option-text{color:#1e293b;flex:1 1;font-size:1rem}.quiz-actions{display:flex;gap:16px;justify-content:space-between}.btn-nav{background:#fff;border:2px solid #e2e8f0;border-radius:999px;color:#64748b;cursor:pointer;font-weight:600;padding:12px 32px;transition:all .2s}.btn-nav:hover:not(:disabled){border-color:#2563eb;color:#2563eb}.btn-nav:disabled{cursor:not-allowed;opacity:.5}.btn-nav.btn-next{background:#2563eb;border-color:#2563eb;color:#fff}.btn-nav.btn-next:hover{background:#1d4ed8}.btn-submit{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:999px;box-shadow:0 8px 20px #22c55e4d;color:#fff;cursor:pointer;font-weight:600;padding:12px 32px;transition:all .2s}.btn-submit:hover:not(:disabled){box-shadow:0 12px 30px #22c55e66;transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.7}.quiz-result{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0f172a1a;padding:48px}.result-header{border-radius:20px;margin-bottom:32px;padding:32px;text-align:center}.result-header.passed{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.result-header.failed{background:linear-gradient(135deg,#fef2f2,#fecaca)}.result-icon{font-size:4rem;margin-bottom:16px}.result-header h1{font-size:2rem;margin:0 0 8px}.result-header.passed h1{color:#166534}.result-header.failed h1{color:#b91c1c}.result-subtitle{font-size:1.1rem;margin:0}.result-header.passed .result-subtitle{color:#15803d}.result-header.failed .result-subtitle{color:#dc2626}.result-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:32px}.stat-card{background:#f8fafc;display:flex;flex-direction:column;gap:8px;padding:24px}.stat-label{color:#64748b;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.stat-value{color:#1e293b;font-size:1.75rem;font-weight:800}.certificate-earned{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:20px;margin-bottom:32px;padding:32px;text-align:center}.certificate-icon{font-size:3rem;margin-bottom:12px}.certificate-earned h3{color:#92400e;margin:0 0 8px}.certificate-earned p{color:#b45309;font-family:monospace;margin:0 0 20px}.result-feedback{margin-bottom:32px}.result-feedback h3{color:#1e293b;margin:0 0 20px}.feedback-item{background:#f8fafc;border-left:4px solid;border-radius:16px;margin-bottom:12px;padding:20px}.feedback-item.correct{border-left-color:#22c55e}.feedback-item.incorrect{border-left-color:#ef4444}.feedback-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.question-num{color:#64748b}.feedback-status,.question-num{font-size:.85rem;font-weight:600}.feedback-status{border-radius:999px;padding:4px 12px}.feedback-status.correct{background:#dcfce7;color:#166534}.feedback-status.incorrect{background:#fef2f2;color:#b91c1c}.feedback-question{color:#1e293b;font-weight:500;margin:0 0 16px}.feedback-answers{color:#475569;font-size:.95rem}.feedback-answers p{margin:4px 0}.feedback-explanation{background:#eff6ff;border-radius:8px;color:#1e40af;font-size:.9rem;margin-top:12px;padding:12px}.result-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.btn-primary{background:linear-gradient(135deg,#2563eb,#4f46e5);transition:all .2s}.btn-primary,.btn-secondary{border-radius:999px;padding:14px 32px}.btn-secondary{color:#475569}.instructor-preview-notice{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:16px;margin-top:24px;padding:32px;text-align:center}.instructor-preview-notice .preview-icon{font-size:2.5rem;margin-bottom:12px}.instructor-preview-notice h3{color:#92400e;font-size:1.25rem;margin:0 0 8px}.instructor-preview-notice p{color:#b45309;margin:0 0 20px}.preview-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.preview-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:10px;color:#92400e;font-size:.9rem;font-weight:600;margin-top:20px;padding:12px 20px;text-align:center}@media (max-width:768px){.quiz-container,.quiz-result,.quiz-start{padding:24px}.quiz-header{align-items:flex-start;flex-direction:column}.question-nav{gap:6px}.nav-dot{font-size:.8rem;height:32px;width:32px}.question-container{padding:20px}.quiz-actions{flex-direction:column}.result-stats{grid-template-columns:repeat(2,1fr)}}.quiz-manage-page{background:linear-gradient(180deg,#f8fafc,#fff 65%);padding-bottom:40px}.quiz-manage-page .container{max-width:900px}.quiz-manage-hero{align-items:center;background:linear-gradient(135deg,#0f172a,#334155);border-radius:26px;box-shadow:0 30px 60px #0f172a59;color:#fff;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:28px;padding:32px}.quiz-manage-hero .hero-content{flex:1 1 60%;min-width:260px}.quiz-manage-hero .eyebrow{color:#ffffffb3;font-size:.8rem;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.quiz-manage-hero h1{font-size:2rem;margin:0 0 8px}.quiz-manage-hero p{color:#fffc;line-height:1.6;margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-actions .btn-secondary{background:#ffffff26;border:1px solid #ffffff4d;color:#fff}.hero-actions .btn-secondary:hover{background:#ffffff40}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;font-weight:500;margin-bottom:20px;padding:16px 20px}.quiz-metadata-section{background:#fff;border-radius:24px;box-shadow:0 20px 40px #0f172a14;margin-bottom:24px;padding:28px}.quiz-metadata-section h2{color:#0f172a;font-size:1.4rem;margin:0 0 20px}.metadata-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.form-group{gap:6px}.form-group.full-width{grid-column:1/-1}.form-group label{color:#374151;font-size:.9rem}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:1rem;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;box-shadow:0 0 0 3px #3b82f626}.form-group textarea{min-height:80px}.field-hint{color:#64748b;font-size:.8rem;margin-top:4px}.toggles-section{border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px;padding-top:20px}.toggle-item{align-items:flex-start;cursor:pointer;display:flex;gap:12px}.toggle-item input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;height:20px;margin-top:2px;width:20px}.toggle-label{color:#1e293b;display:block;font-weight:600}.toggle-hint{color:#64748b;display:block;font-size:.85rem;margin-top:2px}.questions-section{background:#fff;border-radius:24px;box-shadow:0 20px 40px #0f172a14;padding:28px}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.section-header h2{color:#0f172a;font-size:1.4rem;margin:0}.add-question-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.add-question-btn:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.empty-questions{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:16px;color:#64748b;padding:40px;text-align:center}.empty-questions p{margin:8px 0}.questions-list{display:flex;flex-direction:column;gap:20px}.question-card{background:#fafafa;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.question-header{align-items:center;background:#f1f5f9;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 20px}.question-number{color:#0f172a;font-size:1rem;font-weight:700}.question-controls{align-items:center;display:flex;gap:12px}.type-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:.9rem;padding:8px 12px}.remove-btn{background:#fee2e2;border:none;border-radius:8px;color:#dc2626;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 14px;transition:background .2s}.remove-btn:hover{background:#fecaca}.question-body{background:#fff;padding:20px}.options-section{margin-top:16px}.options-section>label{color:#374151;display:block;font-size:.9rem;font-weight:600;margin-bottom:12px}.options-list{display:flex;flex-direction:column;gap:10px}.option-row{align-items:center;display:flex;gap:10px}.option-row input[type=radio]{accent-color:#10b981;cursor:pointer;height:18px;width:18px}.option-label{color:#64748b;font-weight:600;width:24px}.option-input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:.95rem;padding:10px 14px}.option-input:focus{background:#fff;border-color:#3b82f6;outline:none}.true-false-options{display:flex;gap:24px}.tf-option{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;gap:8px;padding:12px 20px;transition:border-color .2s,background .2s}.tf-option:hover{border-color:#94a3b8}.tf-option input[type=radio]{accent-color:#10b981;height:18px;width:18px}.tf-option span{color:#1e293b;font-weight:600}.question-extras{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr auto;margin-top:20px}.question-extras .form-group textarea{min-height:60px}.points-group{width:100px}.points-group input{text-align:center}.questions-footer{align-items:center;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:24px;padding-top:20px}.total-points{color:#0f172a;font-size:1rem;font-weight:600;margin:0}@media (max-width:768px){.quiz-manage-hero{flex-direction:column;padding:24px;text-align:center}.hero-actions{justify-content:center;width:100%}.questions-section,.quiz-metadata-section{padding:20px}.metadata-grid{grid-template-columns:1fr}.question-header{align-items:flex-start;flex-direction:column}.question-controls{justify-content:space-between;width:100%}.question-extras{grid-template-columns:1fr}.points-group{width:100%}.true-false-options{flex-direction:column;gap:12px}.questions-footer{flex-direction:column;text-align:center}}.assignments-page{background:linear-gradient(180deg,#f8fafc,#fff 65%);min-height:100vh;padding-bottom:40px}.assignments-page .container{max-width:1120px}.assignments-hero{background:linear-gradient(135deg,#0f172a,#1e3a8a);border-radius:26px;box-shadow:0 30px 60px #0f172a59;color:#fff;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:28px;padding:32px}.assignments-hero .hero-content{flex:1 1 60%;min-width:260px}.assignments-hero .eyebrow{color:#ffffffb3;font-size:.8rem;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.assignments-hero h1{font-size:2rem;margin:0 0 12px}.assignments-hero p{color:#fffc;line-height:1.6;margin:0}.assignments-hero .hero-card{background:#0f172a66;border:1px solid #ffffff26;border-radius:18px;flex:1 1 220px;min-width:220px;padding:20px}.assignments-hero .hero-card .label{color:#ffffffb3;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.assignments-hero .hero-value{font-size:3rem;font-weight:700;margin:6px 0}.assignments-hero .hero-note{color:#fffc;margin:0}.assignments-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.assignment-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 20px 40px #0f172a14;display:flex;flex-direction:column;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s}.assignment-card:hover{box-shadow:0 25px 50px #0f172a1f;transform:translateY(-4px)}.assignment-card header{align-items:flex-start;display:flex;gap:16px}.assignment-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:14px;color:#fff;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.assignment-icon svg{height:28px;width:28px}.assignment-info{flex:1 1;min-width:0}.assignment-info .module-label{color:#64748b;font-size:.75rem;letter-spacing:.08em;margin:0 0 4px;text-transform:uppercase}.assignment-card h3{color:#0f172a;font-size:1.1rem;line-height:1.4;margin:0}.status-badge{white-space:nowrap}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.submitted{background:#dbeafe;color:#1e40af}.assignment-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#475569;display:-webkit-box;font-size:.95rem;line-height:1.6;margin:0;overflow:hidden}.assignment-meta{border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:16px;padding-top:12px}.meta-item{min-width:100px}.meta-label{color:#94a3b8;display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.meta-item p{color:#0f172a;font-size:.95rem;font-weight:600;margin:4px 0 0}.score-display{align-items:baseline;background:#f8fafc;border-radius:12px;display:flex;gap:4px;padding:12px 16px}.score-value{color:#0f172a;font-size:1.5rem;font-weight:700}.score-max{color:#64748b;font-size:1rem}.score-percentage{font-size:.9rem;font-weight:600;margin-left:8px}.score-percentage.passing{color:#059669}.score-percentage.failing{color:#dc2626}.assignment-actions{display:flex;justify-content:flex-end;margin-top:auto}.empty-state p{font-size:1.1rem;margin:0 0 20px}.back-link-container{margin-top:32px;text-align:center}.back-link{align-items:center;color:#64748b;display:inline-flex;font-weight:500;gap:8px;text-decoration:none;transition:color .2s}.back-link:hover{color:#0f172a}.back-link svg{height:20px;width:20px}.btn-primary{text-decoration:none}.btn-primary:hover{box-shadow:0 8px 20px #2563eb4d;transform:translateY(-2px)}@media (max-width:768px){.assignments-hero{padding:24px}.assignments-hero h1{font-size:1.5rem}.assignments-grid{grid-template-columns:1fr}.assignment-card header{flex-direction:column}.status-badge{align-self:flex-start}.assignment-meta{flex-direction:column;gap:12px}}.assignment-submit-page{background:linear-gradient(180deg,#f8fafc,#fff 65%);min-height:100vh;padding-bottom:60px}.assignment-submit-page .container{max-width:900px}.assignment-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:32px}.header-content{flex:1 1;min-width:280px}.header-content .back-link{align-items:center;color:#64748b;display:inline-flex;font-size:.9rem;gap:6px;margin-bottom:16px;text-decoration:none;transition:color .2s}.header-content .back-link:hover{color:#0f172a}.header-content .back-link svg{height:18px;width:18px}.header-content .course-title{color:#3b82f6;font-size:.85rem;letter-spacing:.1em;margin:0 0 8px;text-transform:uppercase}.header-content h1{color:#0f172a;font-size:2rem;line-height:1.3;margin:0}.header-meta{display:flex;gap:12px}.meta-card,.status-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #0f172a0d;padding:16px 24px;text-align:center}.meta-card .label,.status-card .label{color:#94a3b8;display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.meta-card .value{color:#0f172a;font-size:1.75rem;font-weight:700;margin-top:4px}.status-card .value{font-size:1rem;font-weight:600;margin-top:4px;text-transform:capitalize}.status-card.submitted{background:linear-gradient(135deg,#dbeafe,#e0e7ff);border-color:#93c5fd}.status-card.submitted .value{color:#1e40af}.status-card.graded{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#6ee7b7}.status-card.graded .value{color:#065f46}.assignment-content{display:flex;flex-direction:column;gap:24px}.assignment-content section{background:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 20px 40px #0f172a14;padding:28px}.assignment-content h2{align-items:center;color:#0f172a;display:flex;font-size:1.25rem;gap:10px;margin:0 0 20px}.instructions-content{color:#334155;font-size:1rem;line-height:1.8;white-space:pre-wrap}.assignment-details{border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;padding-top:20px}.detail-item{align-items:center;background:#f8fafc;border-radius:10px;color:#475569;display:flex;font-size:.9rem;gap:8px;padding:10px 16px}.detail-item svg{color:#64748b;height:18px;width:18px}.detail-item.success{background:#f0fdf4;color:#166534}.detail-item.success svg{color:#22c55e}.grade-section .grade-card{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:16px;padding:24px}.grade-score{align-items:baseline;display:flex;gap:8px;margin-bottom:20px}.grade-score .score{color:#166534;font-size:3rem;font-weight:700}.grade-score .max-score{color:#4ade80;font-size:1.5rem}.grade-score .percentage{font-size:1.25rem;font-weight:600;margin-left:12px}.grade-score .percentage.passing{color:#059669}.grade-score .percentage.failing{color:#dc2626}.feedback{background:#ffffffb3;border-radius:12px;margin-bottom:16px;padding:16px}.feedback h4{color:#166534;font-size:.9rem;margin:0 0 8px}.feedback p{color:#334155;line-height:1.6;margin:0}.grade-meta{color:#4ade80;display:flex;font-size:.85rem;gap:20px}.submission-card{background:#f8fafc;border-radius:16px;padding:20px}.submission-meta{color:#64748b;font-size:.85rem}.submission-comments,.submission-file,.submission-meta,.submission-text{margin-bottom:16px}.submission-comments h4,.submission-file h4,.submission-text h4{color:#334155;font-size:.9rem;margin:0 0 8px}.submission-comments p,.submission-text p{color:#475569;line-height:1.6;margin:0;white-space:pre-wrap}.file-info{align-items:center;color:#334155;display:flex;gap:8px}.file-info svg{color:#3b82f6;height:20px;width:20px}.file-info .file-size{color:#94a3b8;font-size:.9rem}.submit-section{border:2px solid #e2e8f0!important}.submit-form{display:flex;flex-direction:column;gap:20px}.form-group textarea{border:2px solid #e2e8f0;border-radius:12px;font-family:inherit;font-size:1rem;padding:14px 16px;transition:border-color .2s,box-shadow .2s}.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group textarea::placeholder{color:#94a3b8}.file-upload-area{border:2px dashed #cbd5e1;border-radius:16px;cursor:pointer;padding:32px;text-align:center;transition:border-color .2s,background .2s}.file-upload-area:hover{background:#f8fafc;border-color:#3b82f6}.file-upload-area input[type=file]{display:none}.upload-placeholder{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:12px}.upload-placeholder svg{color:#94a3b8;height:40px;width:40px}.upload-placeholder .file-types{color:#94a3b8;font-size:.85rem}.selected-file{align-items:center;color:#0f172a;display:flex;font-weight:500;gap:10px;justify-content:center}.selected-file svg{color:#3b82f6;height:24px;width:24px}.selected-file .file-size{color:#64748b;font-weight:400}.divider{align-items:center;display:flex;gap:16px;margin:24px 0}.divider:after,.divider:before{background:#e2e8f0;content:"";flex:1 1;height:1px}.divider span{color:#94a3b8;font-size:.85rem;font-weight:500}.btn-primary{align-items:center;align-self:flex-start;border-radius:12px;display:inline-flex;font-size:1rem;gap:8px;justify-content:center;padding:14px 28px}@media (max-width:768px){.assignment-header{flex-direction:column}.header-content h1{font-size:1.5rem}.header-meta{justify-content:center;width:100%}.assignment-content section{padding:20px}.assignment-details{flex-direction:column}.grade-score .score{font-size:2.5rem}.grade-meta{flex-direction:column;gap:8px}}.grade-submissions-page{background:linear-gradient(180deg,#f8fafc,#fff 65%);min-height:100vh;padding-bottom:60px}.grade-submissions-page .container{max-width:1200px}.submissions-hero{align-items:flex-start;background:linear-gradient(135deg,#0f172a,#1e3a8a);border-radius:26px;box-shadow:0 30px 60px #0f172a59;color:#fff;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:28px;padding:32px}.submissions-hero .hero-content{flex:1 1;min-width:280px}.submissions-hero .back-link{align-items:center;color:#ffffffb3;display:inline-flex;font-size:.9rem;gap:6px;margin-bottom:16px;text-decoration:none;transition:color .2s}.submissions-hero .back-link:hover{color:#fff}.submissions-hero .back-link svg{height:18px;width:18px}.submissions-hero .eyebrow{color:#ffffffb3;font-size:.8rem;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.submissions-hero h1{font-size:2rem;margin:0 0 8px}.submissions-hero p{color:#fffc;margin:0}.hero-stats{display:flex;gap:12px}.stat-card{background:#0f172a66;border:1px solid #ffffff26;border-radius:16px;min-width:100px;padding:16px 24px}.stat-card .label{color:#ffffffb3;display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.stat-card .value{font-size:2rem;font-weight:700;margin-top:4px}.stat-card.pending{background:#fbbf2433;border-color:#fbbf244d}.stat-card.graded{background:#22c55e33;border-color:#22c55e4d}.alert{align-items:center;border-radius:12px;display:flex;font-weight:500;gap:12px;margin-bottom:20px;padding:16px 20px}.alert svg{flex-shrink:0;height:22px;width:22px}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.submissions-table{background:#fff;border-radius:24px;box-shadow:0 20px 40px #0f172a14;padding:24px}.table-header{letter-spacing:.08em;padding-bottom:16px}.table-header,.table-row{grid-gap:16px;gap:16px;grid-template-columns:2fr 1.5fr 1fr 1fr 120px}.table-row{border-bottom:1px solid #f1f5f9;padding:20px 0}.student-cell{gap:12px}.avatar,.student-cell{align-items:center;display:flex}.avatar{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;color:#fff;flex-shrink:0;font-size:1.1rem;font-weight:600;height:44px;justify-content:center;overflow:hidden;width:44px}.avatar img{height:100%;object-fit:cover;width:100%}.student-details .name{color:#0f172a;font-weight:600;margin:0}.student-details .email{color:#64748b;font-size:.85rem;margin:4px 0 0}.status-badge{border-radius:999px;display:inline-block;font-size:.8rem;font-weight:600;padding:6px 12px}.status-badge.submitted{background:#fef3c7;color:#92400e}.status-badge.graded{background:#d1fae5;color:#065f46}.score{color:#0f172a;font-weight:600}.no-score{color:#94a3b8}.btn-grade{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:transform .2s,box-shadow .2s}.btn-grade:hover{box-shadow:0 6px 16px #2563eb4d;transform:translateY(-2px)}.empty-state{border:2px dashed #e2e8f0;border-radius:24px;color:#475569;padding:60px 40px}.empty-icon{align-items:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.empty-icon svg{color:#94a3b8;height:40px;width:40px}.grading-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.grading-modal{background:#fff;border-radius:24px;box-shadow:0 30px 60px #0f172a4d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{padding:24px 28px}.modal-header h2{color:#0f172a;margin:0}.close-btn{background:#f1f5f9;border-radius:50%;transition:background .2s}.close-btn:hover{background:#e2e8f0}.close-btn svg{color:#64748b}.modal-content{padding:28px}.modal-content .student-info{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:16px;margin-bottom:20px;padding-bottom:20px}.modal-content .student-info .avatar{font-size:1.25rem;height:56px;width:56px}.modal-content .student-name{color:#0f172a;font-size:1.1rem;font-weight:600;margin:0}.modal-content .student-email{color:#64748b;font-size:.9rem;margin:4px 0 0}.submission-content{margin-bottom:24px}.submission-content h4{color:#334155;font-size:1rem;margin:0 0 8px}.submission-date{color:#64748b;font-size:.85rem;margin:0 0 16px}.text-submission{background:#f8fafc;border-radius:12px;margin-bottom:16px;padding:16px}.text-submission pre{color:#334155;font-family:inherit;line-height:1.6;margin:0;white-space:pre-wrap}.file-submission{align-items:center;background:#f8fafc;border-radius:10px;display:flex;gap:10px;margin-bottom:16px;padding:12px 16px}.file-submission svg{color:#3b82f6;height:22px;width:22px}.file-submission .file-size{color:#94a3b8;font-size:.9rem}.download-link{color:#3b82f6;font-size:.9rem;font-weight:600;margin-left:auto;text-decoration:none}.download-link:hover{text-decoration:underline}.student-comments{background:#fffbeb;border-radius:12px;padding:16px}.student-comments h5{color:#92400e;font-size:.9rem;margin:0 0 8px}.student-comments p{color:#78350f;line-height:1.6;margin:0}.grade-form{gap:20px}.form-group,.grade-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#334155;font-size:.95rem}.form-group input,.form-group textarea{border:2px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:1rem;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input[type=number]{max-width:150px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.btn-secondary{background:#f1f5f9;border:none;border-radius:10px;color:#334155;font-size:.95rem;font-weight:600;padding:12px 24px;transition:background .2s}.btn-secondary:hover{background:#e2e8f0}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){box-shadow:0 8px 20px #2563eb4d;transform:translateY(-2px)}.btn-primary:disabled{background:#94a3b8;cursor:not-allowed}.loading{align-items:center;color:#64748b;display:flex;font-size:1.1rem;justify-content:center;min-height:60vh}.error-state{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#b91c1c;margin:40px auto;max-width:500px;padding:20px;text-align:center}@media (max-width:900px){.table-header,.table-row{gap:12px;grid-template-columns:1fr}.table-header{display:none}.table-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:12px;padding:20px}.table-row>div:before{color:#64748b;content:attr(data-label);display:block;font-size:.7rem;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.col-actions{text-align:center}}@media (max-width:768px){.submissions-hero{padding:24px}.submissions-hero h1{font-size:1.5rem}.hero-stats{justify-content:space-between;width:100%}.stat-card{flex:1 1;min-width:auto;padding:12px 16px}.stat-card .value{font-size:1.5rem}.grading-modal{margin:10px;max-height:calc(100vh - 20px)}.modal-content{padding:20px}}.announcements-page{background:#f8fafc;background:var(--bg-secondary,#f8fafc);min-height:calc(100vh - 70px);padding:2rem 0}.announcements-page .container{margin:0 auto;max-width:900px;padding:0 1.5rem}.announcements-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:2rem}.announcements-header .header-content h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.announcements-header .header-content p{color:#64748b;color:var(--text-secondary,#64748b);font-size:.95rem}.announcements-header span{color:#000!important}.header-stats{display:flex;gap:1rem}.stat-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;box-shadow:0 1px 3px #00000014;padding:1rem 1.5rem;text-align:center}.stat-card .stat-value{color:#3b82f6;color:var(--primary-color,#3b82f6);display:block;font-size:1.5rem;font-weight:700}.stat-card.unread .stat-value{color:#f59e0b}.stat-card .stat-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.announcements-controls{margin-bottom:1.5rem}.filter-tabs{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000000d;display:flex;gap:.5rem;padding:.25rem;width:-webkit-fit-content;width:fit-content}.filter-tab{background:#0000;border:none;border-radius:8px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1.25rem;transition:all .2s}.filter-tab:hover{color:#1e293b;color:var(--text-primary,#1e293b)}.filter-tab.active{background:#3b82f6;background:var(--primary-color,#3b82f6);color:#fff}.course-announcements h2,.global-announcements h2{align-items:center;color:#1e293b;color:var(--text-primary,#1e293b);display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.global-announcements{margin-bottom:2rem}.announcements-list{display:flex;flex-direction:column;gap:1rem}.announcement-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;box-shadow:0 1px 3px #0000000d;cursor:pointer;display:flex;gap:1rem;padding:1.25rem;transition:all .2s}.announcement-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.announcement-card.unread{background:linear-gradient(90deg,#3b82f608,#fff);border-left:4px solid #3b82f6;border-left:4px solid var(--primary-color,#3b82f6)}.announcement-card.pinned{border-top:3px solid #f59e0b}.announcement-card.global{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd}.announcement-card.info .announcement-icon{background:#3b82f61a;color:#3b82f6}.announcement-card.warning .announcement-icon{background:#f59e0b1a;color:#f59e0b}.announcement-card.success .announcement-icon{background:#10b9811a;color:#10b981}.announcement-card.urgent .announcement-icon{background:#ef44441a;color:#ef4444}.announcement-icon{align-items:center;background:#3b82f61a;border-radius:10px;color:#3b82f6;color:var(--primary-color,#3b82f6);display:flex;height:44px;justify-content:center;min-width:44px;width:44px}.announcement-icon svg{height:22px;width:22px}.announcement-content{flex:1 1;min-width:0}.announcement-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.announcement-header h3{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1rem;font-weight:600;margin:0}.unread-dot{animation:pulse 2s infinite;background:#3b82f6;background:var(--primary-color,#3b82f6);border-radius:50%;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pin-badge{background:#f59e0b1a;color:#f59e0b;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.pin-badge,.type-badge{border-radius:4px;font-size:.7rem;padding:.2rem .5rem}.type-badge{font-weight:500;text-transform:capitalize}.type-badge.info{background:#3b82f61a;color:#3b82f6}.type-badge.warning{background:#f59e0b1a;color:#f59e0b}.type-badge.success{background:#10b9811a;color:#10b981}.type-badge.urgent{background:#ef44441a;color:#ef4444}.announcement-text{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem;line-height:1.6;margin-bottom:.75rem}.announcement-card.expanded .announcement-text{color:#1e293b;color:var(--text-primary,#1e293b)}.announcement-meta{align-items:center;color:#94a3b8;color:var(--text-muted,#94a3b8);display:flex;flex-wrap:wrap;font-size:.8rem;gap:1rem}.announcement-meta .course-link{color:#3b82f6;color:var(--primary-color,#3b82f6);font-weight:500;text-decoration:none}.announcement-meta .course-link:hover{text-decoration:underline}.expand-indicator{align-items:center;display:flex;padding-left:.5rem}.expand-indicator svg{color:#94a3b8;color:var(--text-muted,#94a3b8);height:20px;transition:transform .2s;width:20px}.announcement-card.expanded .expand-indicator svg{transform:rotate(180deg)}.empty-state{background:#fff;border:1px dashed #e2e8f0;border:1px dashed var(--border-color,#e2e8f0);border-radius:12px;padding:4rem 2rem;text-align:center}.empty-state svg{color:#94a3b8;color:var(--text-muted,#94a3b8);height:48px;margin-bottom:1rem;width:48px}.empty-state p{color:#64748b;color:var(--text-secondary,#64748b);margin-bottom:1rem}.announcement-join-btn{align-items:center;background:#2563eb;border-radius:6px;color:#fff;display:inline-flex;font-size:.82rem;font-weight:600;gap:6px;margin:.5rem 0 .25rem;padding:.4rem .9rem;text-decoration:none;transition:background .15s}.announcement-join-btn:hover{background:#1d4ed8;color:#fff}@media (max-width:640px){.announcements-header{flex-direction:column}.header-stats{justify-content:center;width:100%}.announcement-card{flex-direction:column}.announcement-icon{height:40px;min-width:40px;width:40px}.expand-indicator{display:none}}.manage-announcements-page{background:#f8fafc;background:var(--bg-secondary,#f8fafc);min-height:calc(100vh - 70px);padding:2rem 0}.manage-announcements-page .container{margin:0 auto;max-width:1100px;padding:0 1.5rem}.manage-announcements-page .page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.manage-announcements-page .page-header h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.manage-announcements-page .page-header p{color:#64748b;color:var(--text-secondary,#64748b);font-size:.9rem}.manage-announcements-page .btn-primary{align-items:center;background:#3b82f6;background:var(--primary-color,#3b82f6);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.manage-announcements-page .btn-primary:hover{background:#2563eb;background:var(--primary-hover,#2563eb);transform:translateY(-1px)}.manage-announcements-page .btn-primary svg{height:18px;width:18px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 50px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#1e293b;color:var(--text-primary,#1e293b);font-size:1.25rem;font-weight:600}.close-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.close-btn:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#1e293b;color:var(--text-primary,#1e293b)}.close-btn svg{height:20px;width:20px}.modal-content form{padding:1.5rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group{margin-bottom:1.25rem}.form-group label{color:#1e293b;color:var(--text-primary,#1e293b);font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;color:#1e293b;color:var(--text-primary,#1e293b);font-size:.9rem;padding:.75rem 1rem;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group textarea{min-height:120px;resize:vertical}.checkbox-group{margin-top:.5rem}.checkbox-label{align-items:center;color:#1e293b;color:var(--text-primary,#1e293b);cursor:pointer;display:flex;font-size:.9rem;gap:.75rem}.checkbox-label input[type=checkbox]{accent-color:#3b82f6;accent-color:var(--primary-color,#3b82f6);height:18px;width:18px}.notification-options{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-radius:10px;margin-bottom:1.5rem;padding:1.25rem}.notification-options h4{color:#1e293b;color:var(--text-primary,#1e293b);font-size:.95rem;font-weight:600;margin-bottom:.25rem}.notification-options .helper-text{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;margin-bottom:1rem}.checkbox-row{display:flex;flex-wrap:wrap;gap:1.5rem}.form-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color,#e2e8f0);display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.btn-secondary{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;color:#1e293b;color:var(--text-primary,#1e293b);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-secondary:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.announcements-table{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.table-header{grid-gap:1rem;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);color:#64748b;color:var(--text-secondary,#64748b);display:grid;font-size:.75rem;font-weight:600;gap:1rem;grid-template-columns:2fr 1fr 100px 100px 100px;letter-spacing:.05em;padding:1rem 1.5rem;text-transform:uppercase}.table-header.with-status{grid-template-columns:2fr 1fr 100px 110px 100px 100px}.table-row{grid-gap:1rem;align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color,#e2e8f0);display:grid;gap:1rem;grid-template-columns:2fr 1fr 100px 100px 100px;padding:1rem 1.5rem;transition:background .2s}.table-row.with-status{grid-template-columns:2fr 1fr 100px 110px 100px 100px}.table-row.inactive{background:#fafafa;opacity:.6}.table-row:last-child{border-bottom:none}.table-row:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.announcement-cell{min-width:0}.announcement-info{align-items:flex-start;display:flex;gap:.75rem}.pin-icon{color:#f59e0b;flex-shrink:0}.pin-icon svg{height:16px;width:16px}.announcement-info h4{color:#1e293b;color:var(--text-primary,#1e293b);font-size:.95rem;font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-info p{color:#64748b;color:var(--text-secondary,#64748b);font-size:.8rem;line-height:1.4}.course-cell{color:#1e293b;color:var(--text-primary,#1e293b);font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-badge{background:#3b82f61a;border-radius:4px;color:#3b82f6;padding:.2rem .5rem}.global-badge,.type-cell .type-badge{display:inline-block;font-size:.75rem;font-weight:500}.type-cell .type-badge{border-radius:6px;padding:.25rem .6rem;text-transform:capitalize}.date-cell{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem}.actions-cell{display:flex;gap:.5rem}.icon-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.icon-btn:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:#3b82f6;color:var(--primary-color,#3b82f6)}.icon-btn.danger:hover{background:#ef44441a;color:#ef4444}.icon-btn svg{height:16px;width:16px}.announcements-table .empty-state{padding:4rem 2rem;text-align:center}.announcements-table .empty-state svg{color:#94a3b8;color:var(--text-muted,#94a3b8);height:48px;margin-bottom:1rem;width:48px}.announcements-table .empty-state p{color:#64748b;color:var(--text-secondary,#64748b);margin-bottom:1.5rem}@media (max-width:768px){.form-row{grid-template-columns:1fr}.table-header{display:none}.table-row{gap:.75rem;grid-template-columns:1fr;padding:1.25rem}.course-cell:before{content:"Course: "}.course-cell:before,.type-cell:before{color:#64748b;color:var(--text-secondary,#64748b);font-weight:500}.type-cell:before{content:"Type: "}.date-cell:before{color:#64748b;color:var(--text-secondary,#64748b);content:"Published: ";font-weight:500}.actions-cell{justify-content:flex-end}}.status-cell,.status-toggle{align-items:center;display:flex}.status-toggle{background:#0000;border:none;cursor:pointer;font-size:.75rem;font-weight:500;gap:.5rem;padding:.25rem}.toggle-track{background:#cbd5e1;border-radius:10px;height:20px;position:relative;transition:background .2s;width:36px}.status-toggle.active .toggle-track{background:#10b981}.toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:16px;left:2px;position:absolute;top:2px;transition:transform .2s;width:16px}.status-toggle.active .toggle-thumb{transform:translateX(16px)}.toggle-label{color:#64748b}.status-toggle.active .toggle-label{color:#10b981}.status-toggle.inactive .toggle-label{color:#94a3b8}.status-toggle:hover .toggle-track{opacity:.9}.App{min-height:100vh}.page{min-height:calc(100vh - 60px);padding:80px 20px 20px}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.card,.grid{margin:20px 0}.grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.btn-primary{background-color:#4caf50;color:#fff}.btn-primary:hover{background-color:#45a049}.btn-secondary{background-color:#008cba;color:#fff}.btn-secondary:hover{background-color:#007399}.btn-danger{background-color:#f44336;color:#fff}.btn-danger:hover{background-color:#da190b}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:5px}.error{color:#f44336}.error,.success{font-size:14px;margin-top:5px}.success{color:#4caf50}.loading{color:#666;font-size:18px;padding:40px;text-align:center}
/*# sourceMappingURL=main.b7072c30.css.map*/