:root{--primary-color: #2a8f9b;--primary-dark: #1f6b74;--primary-light: #3ca9b7;--primary-gradient: linear-gradient(135deg, #2a8f9b 0%, #3ca9b7 100%);--secondary-color: #f5f5f5;--accent-color: #00d4ff;--text-dark: #1a202c;--text-medium: #4a5568;--text-light: #718096;--text-lighter: #a0aec0;--background: #ffffff;--background-light: #f7fafc;--background-dark: #edf2f7;--border-color: #e2e8f0;--border-light: #f1f5f9;--success-color: #10b981;--success-light: #d1fae5;--warning-color: #f59e0b;--warning-light: #fef3c7;--error-color: #ef4444;--error-light: #fee2e2;--info-color: #3b82f6;--info-light: #dbeafe;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--card-shadow: var(--shadow-md);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color:var(--text-dark);background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-light)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-lighter)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(to bottom right,#f7fafc,#edf2f7)}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text-dark);font-weight:700;line-height:1.2;letter-spacing:-.02em}h1{font-size:2.5rem;font-weight:800}h2{font-size:2rem;font-weight:700}h3{font-size:1.5rem}h4{font-size:1.25rem}p{line-height:1.7;color:var(--text-medium)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}button{border-radius:var(--radius-md);border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;font-family:inherit;background:var(--primary-gradient);color:#fff;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-base)}button:hover:before{opacity:1}button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}button:disabled{background:var(--border-color);cursor:not-allowed;transform:none;box-shadow:none}button.secondary{background:#fff;color:var(--text-dark);border:1px solid var(--border-color)}button.secondary:hover{background:var(--background-light);border-color:var(--primary-color)}input,textarea,select{width:100%;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-family:inherit;font-size:1rem;transition:all var(--transition-fast);background:#fff;color:var(--text-dark)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a8f9b1a}input::placeholder,textarea::placeholder{color:var(--text-lighter)}.card{background:#fff;border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-md);border:1px solid var(--border-light);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-color)}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.page-header{margin-bottom:2.5rem}.page-header h1{text-align:start;margin-bottom:.5rem;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-header p{color:var(--text-light);font-size:1.125rem}.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.loading:after{content:"";width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:var(--error-light);color:var(--error-color);padding:1rem 1.25rem;border-radius:var(--radius-md);border-left:4px solid var(--error-color);font-weight:500}.success-message{background:var(--success-light);color:var(--success-color);padding:1rem 1.25rem;border-radius:var(--radius-md);border-left:4px solid var(--success-color);font-weight:500}.warning-message{background:var(--warning-light);color:var(--warning-color);padding:1rem 1.25rem;border-radius:var(--radius-md);border-left:4px solid var(--warning-color);font-weight:500}.info-message{background:var(--info-light);color:var(--info-color);padding:1rem 1.25rem;border-radius:var(--radius-md);border-left:4px solid var(--info-color);font-weight:500}.badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;background:var(--primary-light);color:#fff}.fade-in{animation:fadeIn .5s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:slideInRight .4s ease}.text-gradient{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-effect{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}@media(max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.container{padding:0 1rem}.card{padding:1.25rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);padding:2em}.auth-card{background:#fff;border-radius:12px;padding:3em;max-width:500px;width:100%;box-shadow:0 10px 40px #0003}.auth-header{text-align:center;margin-bottom:2em}.auth-header svg{margin-bottom:.5em}.auth-header h1{margin:.5em 0;color:var(--text-dark);font-size:2em}.auth-header p{color:var(--text-light);margin:0}.auth-form{display:flex;flex-direction:column;gap:1.5em}.form-group{display:flex;flex-direction:column;gap:.5em}.form-group label{font-weight:500;color:var(--text-dark);font-size:.95em}.auth-button{margin-top:1em;padding:1em;font-size:1.05em;font-weight:600}.auth-footer{text-align:center;margin-top:2em;padding-top:2em;border-top:1px solid var(--border-color)}.auth-footer p{color:var(--text-light)}.auth-footer a{color:var(--primary-color);font-weight:600}.demo-credentials{margin-top:2em;padding:1.5em;background-color:#f8f9fa;border-radius:8px;border-left:4px solid var(--primary-color)}.demo-credentials h4{margin:0 0 1em;color:var(--text-dark);font-size:.95em}.demo-credentials p{margin:.5em 0;font-size:.9em;color:var(--text-light)}.demo-credentials strong{color:var(--text-dark)}@media(max-width:600px){.auth-card{padding:2em}.auth-header h1{font-size:1.6em}}.dashboard-header{margin-bottom:3em;padding:2.5em;background:linear-gradient(135deg,#6366f114,#764ba214);border-radius:var(--radius-2xl);border:1px solid var(--border-light);position:relative;overflow:hidden}.dashboard-header:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 70%);animation:float 15s ease-in-out infinite}.dashboard-header h1{margin-bottom:.5em;color:var(--text-dark);font-size:2.75em;position:relative;z-index:1}.dashboard-header p{color:var(--text-light);font-size:1.15em;font-weight:500;position:relative;z-index:1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.75em;margin-bottom:3.5em}.stat-card{background:#fff;padding:2em;border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);display:flex;align-items:center;gap:1.25em;transition:all var(--transition-base);position:relative;overflow:hidden;cursor:pointer}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 0%,rgba(99,102,241,.03) 100%);opacity:0;transition:opacity var(--transition-base)}.stat-card:after{content:"";position:absolute;inset:-2px;background:var(--primary-gradient);border-radius:var(--radius-2xl);opacity:0;z-index:-1;transition:opacity var(--transition-base)}.stat-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--shadow-2xl)}.stat-card:hover:before{opacity:1}.stat-card:hover:after{opacity:.1}.stat-icon{width:72px;height:72px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:2em;box-shadow:var(--shadow-md);position:relative;z-index:1;transition:all var(--transition-base)}.stat-card:hover .stat-icon{transform:rotate(5deg) scale(1.1)}.stat-info h3{margin:0;font-size:2.5em;font-weight:800;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1;transition:all var(--transition-base)}.stat-card:hover .stat-info h3{transform:scale(1.05)}.stat-info p{margin:.5em 0 0;color:var(--text-medium);font-size:.95em;font-weight:600;letter-spacing:.01em;position:relative;z-index:1}.dashboard-section{margin-bottom:3em}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5em}.section-header h2{margin:0}.section-header a{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .3s ease}.section-header a:hover{color:var(--primary-dark);text-decoration:underline}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2.25em}.course-card{background:#fff;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);transition:all var(--transition-slow);position:relative;cursor:pointer}.course-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(99,102,241,.05) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-base);pointer-events:none}.course-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:var(--shadow-2xl);border-color:var(--primary-light)}.course-card:hover:after{opacity:1}.course-card img{width:100%;height:220px;object-fit:cover;transition:transform var(--transition-slow)}.course-card:hover img{transform:scale(1.08)}.course-content{padding:2em;position:relative;z-index:1}.course-content h3{margin:0 0 .75em;color:var(--text-dark);font-size:1.4em;font-weight:700;line-height:1.3;transition:color var(--transition-base)}.course-card:hover .course-content h3{color:var(--primary-color)}.course-description{color:var(--text-medium);margin-bottom:1.5em;line-height:1.7;font-size:.95em}.progress-bar{width:100%;height:12px;background:var(--background-tertiary);border-radius:var(--radius-2xl);overflow:hidden;margin-bottom:.75em;box-shadow:inset 0 2px 4px #00000014;position:relative}.progress-fill{height:100%;background:var(--primary-gradient);border-radius:var(--radius-2xl);position:relative;transition:width .6s cubic-bezier(.4,0,.2,1);overflow:hidden}.progress-fill:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer-progress 2s infinite}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%)}.progress-text{color:var(--text-medium);font-size:.9em;font-weight:600;margin-bottom:1.25em}.continue-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;width:100%;text-align:center;padding:1.1em;background:var(--primary-gradient);color:#fff;border-radius:var(--radius-xl);text-decoration:none;font-weight:700;font-size:.95em;transition:all var(--transition-base);box-shadow:var(--shadow-md);position:relative;overflow:hidden;z-index:1}.continue-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s;z-index:-1}.continue-btn:after{content:"→";margin-left:.5em;transition:transform var(--transition-base);font-size:1.2em}.continue-btn:hover:before{left:100%}.continue-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.continue-btn:hover:after{transform:translate(4px)}.empty-state{text-align:center;padding:4em 2em;background:#fff;border-radius:12px;box-shadow:var(--card-shadow)}.empty-state p{color:var(--text-light);margin-bottom:2em}.btn-primary{display:inline-block;padding:.75em 2em;background-color:var(--primary-color);color:#fff;border-radius:6px;text-decoration:none;font-weight:500;transition:all .3s ease}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px)}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:1em}.stat-card{flex-direction:column;text-align:center}.course-grid{grid-template-columns:1fr}}.page-header{text-align:center;margin-bottom:3em}.page-header h1{text-align:start;margin-bottom:.5em;color:var(--text-dark)}.page-header p{color:var(--text-light);font-size:1.1em}.filters-section{background:#fff;padding:1.5em;border-radius:12px;box-shadow:var(--card-shadow);margin-bottom:2em;display:flex;gap:1em;flex-wrap:wrap;align-items:center}.search-box{flex:1;min-width:250px;display:flex;align-items:center;gap:.75em;padding:.75em 1em;border:1px solid var(--border-color);border-radius:8px;background-color:#f9fafb}.search-box input{border:none;background:transparent;padding:0;width:100%}.filter-group{display:flex;align-items:center;gap:1em}.filter-group select{width:auto;min-width:150px}.results-info{margin-bottom:1.5em;color:var(--text-light)}.category-badge{background-color:#e3f2fd;color:#2196f3;padding:.35em .75em;border-radius:4px;font-size:.85em;font-weight:500}.level-badge{background-color:#f3e5f5;color:#9c27b0;padding:.35em .75em;border-radius:4px;font-size:.85em;font-weight:500}.course-meta{display:flex;gap:.5em;margin-bottom:.75em}.teacher-info{display:flex;align-items:center;gap:.5em;margin:1em 0;padding:.75em 0;border-top:1px solid var(--border-color)}.teacher-info img{width:32px;height:32px;border-radius:50%;object-fit:cover}.teacher-info span{font-size:.95em;color:var(--text-dark);font-weight:500}.course-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:1em;padding-bottom:1em;border-bottom:1px solid var(--border-color)}.course-stats>div{display:flex;gap:1em;align-items:center}.rating{color:#ff9800;font-weight:500;font-size:.95em}.students{color:var(--text-light);font-size:.9em}.price{font-size:1.5em;font-weight:700;color:var(--primary-color)}.enroll-btn{display:block;width:100%;text-align:center;padding:.75em;background-color:var(--primary-color);color:#fff;border-radius:6px;text-decoration:none;font-weight:500;transition:background-color .3s ease}.enroll-btn:hover{background-color:var(--primary-dark);color:#fff}@media(max-width:768px){.filters-section{flex-direction:column}.search-box{width:100%}.filter-group{width:100%;flex-wrap:wrap}.filter-group select{flex:1;min-width:120px}}.course-detail-page{padding-top:2em}.course-header-section{display:grid;grid-template-columns:1fr auto;gap:3em;align-items:start;margin-bottom:3em;padding:2em 0;border-bottom:2px solid var(--border-color)}.course-header-content{display:flex;flex-direction:column;gap:1em}.course-badges{display:flex;gap:.75em;flex-wrap:wrap}.badge{background-color:var(--primary-color);color:#fff;padding:.5em 1em;border-radius:6px;font-size:.85em;font-weight:500}.badge-status{background-color:#6b7280}.course-title{font-size:2.5em;margin:0;line-height:1.2;color:var(--text-dark)}.course-description-preview{font-size:1.1em;color:var(--text-light);line-height:1.6;margin:0}.course-meta-info{display:flex;gap:2em;flex-wrap:wrap;margin-top:.5em}.meta-item{display:flex;align-items:center;gap:.5em;color:var(--text-light);font-size:.95em}.course-thumbnail-container{width:300px;height:200px;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.course-thumbnail{width:100%;height:100%;object-fit:cover}.course-detail-content{display:grid;grid-template-columns:1fr 400px;gap:2em;margin-top:2em;margin-bottom:3em}.course-main{display:flex;flex-direction:column;gap:2em}.lectures-list{display:flex;flex-direction:column;gap:1em}.lecture-item{padding:1.5em;border:1px solid var(--border-color);border-radius:8px;transition:all .3s ease}.lecture-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #2a8f9b1a}.lecture-header{display:flex;gap:1em;margin-bottom:.75em}.lecture-header h4{margin:0;color:var(--text-dark)}.lecture-header p{margin:.25em 0 0;color:var(--text-light);font-size:.9em}.lecture-content-types{display:flex;gap:.5em;flex-wrap:wrap}.content-type-badge{background-color:#f5f5f5;padding:.35em .75em;border-radius:4px;font-size:.85em}.instructor-card{display:flex;gap:1.5em;align-items:start}.instructor-card img{width:80px;height:80px;border-radius:50%;object-fit:cover}.instructor-card h3{margin:0 0 .5em;color:var(--text-dark)}.instructor-card p{margin:0 0 1em;color:var(--text-light);line-height:1.6}.expertise-tags{display:flex;gap:.5em;flex-wrap:wrap}.expertise-tag{background-color:#e5e7eb;color:#6b7280;padding:.35em .75em;border-radius:4px;font-size:.85em}.course-sidebar{position:relative}.sticky-card{position:sticky;top:90px}.price-section{text-align:center;padding-bottom:1.5em;border-bottom:1px solid var(--border-color)}.price-section h2{margin:0;color:var(--primary-color);font-size:2.5em}.enroll-button{width:100%;padding:1em;font-size:1.1em;font-weight:600;margin:1.5em 0}.sidebar-info h3{margin:0 0 1em;font-size:1.1em}.sidebar-info ul{list-style:none;padding:0;margin:0}.sidebar-info li{padding:.75em 0;border-bottom:1px solid var(--border-color);color:var(--text-dark)}.sidebar-info li:last-child{border-bottom:none}@media(max-width:1024px){.course-detail-content{grid-template-columns:1fr}.sticky-card{position:static}}@media(max-width:768px){.course-header-section{grid-template-columns:1fr;gap:2em}.course-thumbnail-container{width:100%;max-width:400px;margin:0 auto}.course-title{font-size:1.8em}.course-description-preview{font-size:1em}.course-meta-info{gap:1em}.instructor-card{flex-direction:column;text-align:center}}.course-player-page{margin-top:-2em;margin-left:-2em;margin-right:-2em;background-color:#1a1a1a;min-height:100vh;padding:0}.player-container{display:grid;grid-template-columns:1fr 400px;min-height:100vh}.player-main{background-color:#000}.content-viewer{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center}.video-player{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.video-placeholder{text-align:center;color:#fff}.video-placeholder h3{color:#fff;margin:1em 0 .5em}.video-placeholder p{color:#ccc;margin:.5em 0}.video-info{font-size:.9em;margin-top:2em!important}.pdf-viewer,.quiz-container{width:100%;max-width:800px;background:#fff;border-radius:12px;padding:2em;max-height:80vh;overflow-y:auto}.pdf-header{text-align:center;margin-bottom:2em}.pdf-header h3{margin:1em 0;color:var(--text-dark)}.pdf-content{text-align:center;padding:3em 2em}.download-btn{display:inline-flex;align-items:center;gap:.5em;padding:1em 2em;background-color:var(--primary-color);color:#fff;border-radius:6px;text-decoration:none;font-weight:500;margin-top:2em}.download-btn:hover{background-color:var(--primary-dark);color:#fff}.quiz-header{text-align:center;margin-bottom:2em;padding-bottom:1em;border-bottom:2px solid var(--border-color)}.quiz-header h3{margin:0 0 .5em;color:var(--text-dark)}.quiz-header p{color:var(--text-light);margin:0}.quiz-questions{display:flex;flex-direction:column;gap:2em;margin-bottom:2em}.question-card{padding:1.5em;background-color:#f9fafb;border-radius:8px}.question-card h4{margin:0 0 1em;color:var(--text-dark);line-height:1.5}.options{display:flex;flex-direction:column;gap:.75em}.option-label{display:flex;align-items:center;gap:.75em;padding:1em;background:#fff;border:2px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .3s ease}.option-label:hover{border-color:var(--primary-color)}.option-label input[type=radio]{width:auto;cursor:pointer}.option-label input[type=radio]:checked+span{color:var(--primary-color);font-weight:600}.text-answer{width:100%;padding:1em;border:2px solid var(--border-color);border-radius:6px;font-size:1em;margin-top:.5em}.submit-quiz-btn,.retake-btn{width:100%;padding:1em;font-size:1.1em;font-weight:600}.quiz-results{text-align:center}.score-card{padding:3em;border-radius:12px;margin-bottom:2em}.score-card.pass{background-color:#e8f5e9;border:2px solid var(--success-color)}.score-card.fail{background-color:#ffebee;border:2px solid var(--error-color)}.score-card h2{margin:0 0 .5em;font-size:2.5em}.score-card.pass h2{color:var(--success-color)}.score-card.fail h2{color:var(--error-color)}.score-card p{color:var(--text-dark);font-size:1.1em}.player-sidebar{background-color:#fff;overflow-y:auto;height:100vh;position:sticky;top:0}.course-info{padding:2em;border-bottom:2px solid var(--border-color)}.course-info h2{margin:0 0 1em;color:var(--text-dark);font-size:1.3em}.course-progress{margin-top:1em}.course-progress span{display:block;margin-top:.5em;color:var(--text-light);font-size:.9em}.lectures-sidebar{padding:1.5em}.lectures-sidebar>h3{margin:0 0 1.5em;color:var(--text-dark);font-size:1.1em}.lecture-section{margin-bottom:1.5em}.lecture-title{display:flex;align-items:center;gap:.5em;padding:.75em 1em;background-color:#f5f5f5;border-radius:6px;font-weight:600;color:var(--text-dark);margin-bottom:.5em;font-size:.95em}.content-items{display:flex;flex-direction:column;gap:.35em;margin-left:1em}.content-item{display:flex;align-items:center;gap:.75em;padding:.85em 1em;background:#fff;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .3s ease;text-align:left;color:var(--text-dark);font-size:.9em}.content-item:hover{background-color:#f9fafb;border-color:var(--primary-color)}.content-item.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.content-item svg:last-child{margin-left:auto}@media(max-width:1024px){.player-container{grid-template-columns:1fr}.player-sidebar{position:static;height:auto}.content-viewer{position:static;height:60vh}}@media(max-width:768px){.pdf-viewer,.quiz-container{padding:1.5em}.question-card{padding:1em}.score-card{padding:2em 1em}.score-card h2{font-size:2em}}.teachers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:2em}.teacher-card{background:#fff;border-radius:12px;padding:2em;box-shadow:var(--card-shadow);transition:all .3s ease}.teacher-card:hover{transform:translateY(-6px);box-shadow:0 6px 20px #00000026}.teacher-header{display:flex;gap:1.5em;margin-bottom:1.5em;padding-bottom:1.5em;border-bottom:1px solid var(--border-color)}.teacher-header img{width:100px;height:100px;border-radius:50%;object-fit:cover;flex-shrink:0}.teacher-info h2{margin:0 0 .5em;color:var(--text-dark)}.teacher-bio{color:var(--text-light);margin:0 0 1em;line-height:1.6}.teacher-expertise{display:flex;gap:.5em;flex-wrap:wrap}.skill-tag{background-color:#e5e7eb;color:#6b7280;padding:.35em .75em;border-radius:4px;font-size:.85em;font-weight:500}.teacher-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1em;margin-bottom:1.5em}.stat{display:flex;align-items:center;gap:.75em;padding:1em;background-color:#f9fafb;border-radius:8px}.stat div{display:flex;flex-direction:column;gap:.25em}.stat strong{font-size:1.5em;color:var(--text-dark)}.stat span{font-size:.85em;color:var(--text-light)}.teacher-courses h4{margin:0 0 1em;color:var(--text-dark)}.courses-list{display:flex;flex-direction:column;gap:1em}.mini-course-card{display:flex;gap:1em;padding:1em;border:1px solid var(--border-color);border-radius:8px;transition:all .3s ease}.mini-course-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #2a8f9b1a}.mini-course-card img{width:80px;height:60px;border-radius:6px;object-fit:cover;flex-shrink:0}.mini-course-card h5{margin:0 0 .5em;color:var(--text-dark);font-size:.95em}.mini-course-meta{display:flex;gap:1em;font-size:.9em;color:var(--text-light)}@media(max-width:768px){.teachers-grid{grid-template-columns:1fr}.teacher-header{flex-direction:column;text-align:center}.teacher-stats{grid-template-columns:1fr}.mini-course-card{flex-direction:column}.mini-course-card img{width:100%;height:120px}}.file-upload-container{display:flex;flex-direction:column;gap:.75em}.file-upload-button{display:inline-flex;align-items:center;gap:.5em;padding:.75rem 1.5rem;background:var(--primary-gradient);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:600;font-family:inherit;transition:all var(--transition-base);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.file-upload-button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-base)}.file-upload-button:hover:before{opacity:1}.file-upload-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.file-upload-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.file-upload-button:disabled{background:var(--border-color);cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.upload-error{padding:.75em 1em;background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:6px;font-size:.85em}.uploaded-files-preview{display:flex;flex-direction:column;gap:.75em;margin-top:.5em}.uploaded-file-item{position:relative}.file-preview-image{position:relative;display:inline-block;border-radius:8px;overflow:hidden;border:2px solid var(--border-color)}.file-preview-image img{max-width:200px;max-height:200px;object-fit:cover;display:block}.file-preview-image .remove-file-btn{position:absolute;top:.5em;right:.5em;background-color:#dc2626f2;color:#fff;border:2px solid white;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0003;z-index:10}.file-preview-image .remove-file-btn:hover{background-color:#dc2626;transform:scale(1.1);box-shadow:0 4px 8px #0000004d}.file-preview-image .remove-file-btn svg{width:20px;height:20px}.file-preview-document{display:flex;align-items:center;gap:.75em;padding:.75em 1em;background-color:#f9fafb;border:1px solid var(--border-color);border-radius:8px}.file-preview-document .file-name{flex:1;font-size:.9em;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-document .remove-file-btn{background:transparent;border:none;color:var(--text-light);cursor:pointer;padding:.5em;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.file-preview-document .remove-file-btn:hover{background-color:#fee;color:#dc2626}.file-preview-document .remove-file-btn svg{width:20px;height:20px}.image-gallery-overlay{position:fixed;inset:0;background-color:#000000f2;z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.image-gallery-modal{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2em;max-width:1400px;margin:0 auto}.image-gallery-close{position:absolute;top:1em;right:1em;background-color:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10000;padding:0}.image-gallery-close:hover{background-color:#fff3;border-color:#ffffff80;transform:scale(1.1)}.image-gallery-close svg{width:24px;height:24px;stroke:#fff;stroke-width:2.5}.image-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background-color:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10000;padding:0}.image-gallery-nav:hover{background-color:#fff3;border-color:#ffffff80;transform:translateY(-50%) scale(1.1)}.image-gallery-prev{left:1em}.image-gallery-next{right:1em}.image-gallery-nav svg{width:32px;height:32px;stroke:#fff;stroke-width:2.5}.image-gallery-main{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-height:calc(100vh - 200px);margin-bottom:1em}.image-gallery-main img{max-width:100%;max-height:calc(100vh - 200px);object-fit:contain;border-radius:8px;box-shadow:0 10px 40px #00000080;animation:zoomIn .3s ease}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.image-gallery-counter{position:absolute;top:1em;left:50%;transform:translate(-50%);background-color:#0009;color:#fff;padding:.5em 1em;border-radius:20px;font-size:.9em;font-weight:600;z-index:10000}.image-gallery-thumbnails{display:flex;gap:.5em;padding:1em;overflow-x:auto;max-width:100%;justify-content:center;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.image-gallery-thumbnails::-webkit-scrollbar{height:6px}.image-gallery-thumbnails::-webkit-scrollbar-track{background:transparent}.image-gallery-thumbnails::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}.image-gallery-thumbnail{width:80px;height:80px;border-radius:8px;overflow:hidden;border:3px solid transparent;cursor:pointer;transition:all .3s ease;padding:0;background:transparent;flex-shrink:0}.image-gallery-thumbnail:hover{border-color:#ffffff80;transform:scale(1.05)}.image-gallery-thumbnail.active{border-color:var(--primary-color, #2a8f9b);box-shadow:0 0 10px #2a8f9b80}.image-gallery-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:768px){.image-gallery-modal{padding:1em}.image-gallery-nav{width:44px;height:44px}.image-gallery-nav svg{width:24px;height:24px}.image-gallery-prev{left:.5em}.image-gallery-next{right:.5em}.image-gallery-thumbnail{width:60px;height:60px}.image-gallery-main,.image-gallery-main img{max-height:calc(100vh - 150px)}}.report-post-overlay{position:fixed;inset:0;background-color:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1em;animation:fadeIn .15s ease-out;will-change:opacity}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.report-post-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .2s ease-out;overflow:hidden;will-change:transform,opacity;transform:translateZ(0)}@keyframes slideUp{0%{transform:translate3d(0,20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}.report-post-header{display:flex;align-items:center;gap:1em;padding:1.5em;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#fee2e2,#fef2f2)}.report-post-header-icon{width:48px;height:48px;border-radius:50%;background:var(--error-color);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.report-post-header h2{flex:1;margin:0;font-size:1.5em;color:var(--text-dark)}.report-post-close{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;flex-shrink:0}.report-post-close:hover:not(:disabled){background-color:#0000001a;color:var(--text-dark)}.report-post-close:disabled{opacity:.5;cursor:not-allowed}.report-post-form{display:flex;flex-direction:column;flex:1;overflow:hidden}.report-post-content{padding:1.5em;overflow-y:auto;flex:1}.report-post-description{color:var(--text-medium);margin-bottom:1.5em;line-height:1.6;font-size:.95em}.report-type-section{margin-bottom:1.5em}.report-label{display:block;font-weight:600;color:var(--text-dark);margin-bottom:.75em;font-size:.95em}.report-label .required{color:var(--error-color)}.report-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5em}.report-type-btn{padding:.75em 1em;border:2px solid var(--border-color);background:#fff;color:var(--text-dark);border-radius:8px;cursor:pointer;font-size:.9em;font-weight:500;transition:border-color .15s ease,background-color .15s ease,color .15s ease;text-align:left;font-family:inherit;will-change:border-color,background-color,color}.report-type-btn:hover:not(:disabled){border-color:var(--primary-color);background-color:var(--secondary-color);color:var(--primary-color)}.report-type-btn.selected{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff}.report-type-btn:disabled{opacity:.6;cursor:not-allowed}.report-reason-section{margin-bottom:1em}.report-reason-textarea{width:100%;padding:.75em 1em;border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:.95em;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease;background:#fff;color:var(--text-dark)}.report-reason-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a8f9b1a}.report-reason-textarea:disabled{background-color:var(--background-light);cursor:not-allowed}.report-reason-textarea::placeholder{color:var(--text-lighter)}.report-reason-counter{text-align:right;font-size:.85em;color:var(--text-light);margin-top:.5em}.report-error{display:flex;align-items:center;gap:.5em;padding:.75em 1em;background-color:#fef2f2;border:1px solid #fecaca;color:var(--error-color);border-radius:8px;font-size:.9em;margin-top:1em}.report-error svg{flex-shrink:0}.report-post-actions{display:flex;gap:1em;padding:1.5em;border-top:1px solid var(--border-color);background:var(--background-light)}.report-cancel-btn,.report-submit-btn{flex:1;padding:.75em 1.5em;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease;font-family:inherit;will-change:transform}.report-cancel-btn{background:#fff;color:var(--text-dark);border:2px solid var(--border-color)}.report-cancel-btn:hover:not(:disabled){background-color:var(--background-light);border-color:var(--text-light)}.report-submit-btn{background:var(--primary-gradient);color:#fff;border:none;box-shadow:var(--shadow-sm)}.report-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.report-submit-btn:disabled{background:var(--border-color);cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.report-cancel-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.report-post-modal{max-width:100%;max-height:95vh;border-radius:12px}.report-post-header{padding:1em}.report-post-header h2{font-size:1.25em}.report-post-content{padding:1em}.report-type-grid{grid-template-columns:1fr}.report-post-actions{padding:1em;flex-direction:column}.report-cancel-btn,.report-submit-btn{width:100%}}.community-page{max-width:1200px}.page-header-content{display:flex;width:100%;justify-content:space-between;align-items:flex-start;gap:1.5em}.saved-posts-icon-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--primary-gradient);color:#fff;border:none;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md);flex-shrink:0;padding:0}.saved-posts-icon-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-lg)}.saved-posts-icon-btn:active{transform:translateY(0) scale(1)}.saved-posts-icon-btn svg{color:#fff;stroke:currentColor;fill:none;stroke-width:2.5;display:block}.community-container{max-width:1200px;margin:0 auto;padding:2em}.community-header{margin-bottom:2em}.community-header h1{margin:0 0 .5em;color:var(--text-dark);font-size:2em}.community-header p{margin:0;color:var(--text-light);font-size:1.1em}.community-content{display:grid;grid-template-columns:1fr 350px;gap:2em}.posts-section{display:flex;flex-direction:column;gap:1.5em}.create-post{padding:1.5em}.create-post-header{display:flex;align-items:center;gap:1em;margin-bottom:1em}.create-post-header img{width:50px;height:50px;border-radius:50%;object-fit:cover}.create-post-header h3{margin:0;color:var(--text-dark);font-size:1em}.create-post form{display:flex;flex-direction:column;gap:1em}.image-input{margin-top:-.5em}.create-post-actions{display:flex;gap:1em;justify-content:flex-end}.create-post-actions button{display:flex;align-items:center;gap:.5em;flex:1;min-width:0;max-width:200px;justify-content:center}.create-post-actions .file-upload-container{flex:1;min-width:0;max-width:200px;display:flex;flex-direction:column}.create-post-actions .file-upload-container .file-upload-button{width:100%;justify-content:center}.create-post-actions .file-upload-container .upload-error{font-size:.75em;padding:.5em;margin-top:.25em}.post-images-preview{display:flex;flex-wrap:wrap;gap:.75em;margin-bottom:1em}.image-preview-item{position:relative;display:inline-block;border-radius:8px;overflow:hidden;border:2px solid var(--border-color)}.image-preview-item img{max-width:150px;max-height:150px;object-fit:cover;display:block}.remove-image-btn{position:absolute;top:.5em;right:.5em;background-color:#dc2626f2;color:#fff;border:2px solid white;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0003;z-index:10;padding:0}.remove-image-btn:hover{background-color:#dc2626;transform:scale(1.1);box-shadow:0 4px 8px #0000004d}.remove-image-btn svg{width:20px;height:20px}.posts-list{display:flex;flex-direction:column;gap:1.5em}.post-card{padding:1.5em}.post-header{display:flex;gap:1em;margin-bottom:1em;align-items:flex-start;position:relative}.post-header-info{flex:1}.post-header img{width:50px;height:50px;border-radius:50%;object-fit:cover;flex-shrink:0}.post-header h4{margin:0;color:var(--text-dark);font-size:1em}.post-report-btn{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;flex-shrink:0;margin-left:auto}.post-report-btn:hover{background-color:var(--secondary-color);color:var(--error-color);transform:scale(1.1)}.post-report-btn:active{transform:scale(.95)}.post-menu-wrapper{position:relative}.post-menu-btn{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.post-menu-btn svg{color:currentColor;stroke:currentColor;fill:none;display:block}.post-menu-btn:hover{background-color:var(--secondary-color);color:var(--primary-color)}.post-menu-overlay{position:fixed;inset:0;z-index:998}.post-menu-dropdown{position:absolute;top:100%;right:0;margin-top:.5em;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:150px;z-index:999;overflow:hidden;border:1px solid var(--border-color)}.post-menu-item{display:flex;align-items:center;gap:.75em;width:100%;padding:.75em 1em;border:none;background:transparent;color:var(--text-dark);cursor:pointer;transition:all .2s ease;text-align:left;font-size:.9em;box-shadow:none!important}.post-menu-item:hover{background-color:var(--secondary-color);color:var(--primary-color)}.post-menu-item svg{flex-shrink:0}.post-menu-item.delete-post-item{color:#dc2626}.post-menu-item.delete-post-item:hover{background-color:#fee2e2;color:#b91c1c}.post-menu-item.delete-post-item:disabled{opacity:.6;cursor:not-allowed}.edit-post-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2em}.edit-post-modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.edit-post-header{display:flex;justify-content:space-between;align-items:center;padding:1.5em;border-bottom:1px solid var(--border-color)}.edit-post-header h2{margin:0;color:var(--text-dark);font-size:1.5em}.edit-post-header .close-btn{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.edit-post-header .close-btn:hover{background-color:var(--secondary-color);color:var(--primary-color)}.edit-post-content{padding:1.5em;display:flex;flex-direction:column;gap:1.5em}.edit-post-content textarea{width:100%;padding:1em;border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:1em;resize:vertical;min-height:120px}.edit-post-content textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a8f9b1a}.edit-post-options{display:flex;flex-direction:column;gap:1em}.edit-post-actions{display:flex;gap:1em;justify-content:flex-end;flex-wrap:wrap}.edit-post-actions button{display:flex;align-items:center;gap:.5em;padding:.75em 1.5em;border-radius:8px;border:none;font-weight:500;cursor:pointer;transition:all .3s ease}.edit-post-actions button.secondary{background:#fff;color:var(--text-dark);border:1px solid var(--border-color)}.edit-post-actions button.secondary:hover{background:var(--background-light);border-color:var(--primary-color)}.edit-post-actions button:not(.secondary){background:var(--primary-gradient);color:#fff}.edit-post-actions button:not(.secondary):hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2a8f9b4d}.edit-post-actions button:disabled{opacity:.6;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:.5em;cursor:pointer;font-size:.9em;color:var(--text-dark)}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.post-role{display:inline-block;background-color:var(--primary-color);color:#fff;padding:.2em .6em;border-radius:12px;font-size:.75em;text-transform:capitalize;margin-left:.5em}.post-time{display:block;color:var(--text-light);font-size:.85em;margin-top:.25em}.post-content{margin-bottom:1em}.post-content p{color:var(--text-dark);line-height:1.6;margin-bottom:1em}.post-image{width:100%;max-height:400px;object-fit:cover;border-radius:8px;margin-top:1em}.post-actions{display:flex;gap:1em;padding-top:1em;border-top:1px solid var(--border-color)}.action-btn{display:flex;align-items:center;gap:.5em;padding:.5em 1em;background:transparent;border:1px solid var(--border-color);color:var(--text-light);border-radius:6px;cursor:pointer;transition:all .3s ease}.action-btn:hover{background-color:var(--secondary-color);color:var(--primary-color);border-color:var(--primary-color)}.comments-section{margin-top:1em;padding-top:1em;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:1em}.comment{display:flex;gap:.75em}.comment img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.comment-content{flex:1;background-color:#f9fafb;padding:.75em 1em;border-radius:8px;display:flex;flex-direction:column;gap:.25em}.comment-content strong{color:var(--text-dark);font-size:.9em}.comment-header{display:flex;align-items:center;justify-content:space-between;gap:.5em}.comment-header>div{display:flex;align-items:center;gap:.5em}.comment-content p{margin:.25em 0;color:var(--text-dark);font-size:.9em}.comment-time{color:var(--text-light);font-size:.8em}.community-sidebar{display:flex;flex-direction:column;gap:1.5em}.guidelines-list{list-style:none;padding:0;margin:0}.guidelines-list li{padding:.75em 0;border-bottom:1px solid var(--border-color);color:var(--text-dark);font-size:.9em}.guidelines-list li:last-child{border-bottom:none}.active-members{display:flex;flex-direction:column;gap:.75em}.member-item{display:flex;align-items:center;gap:.75em;padding:.75em;border-radius:8px;transition:background-color .3s ease}.member-item:hover{background-color:#f9fafb}.member-item img{width:40px;height:40px;border-radius:50%;object-fit:cover}.member-item strong{display:block;color:var(--text-dark);font-size:.9em}.member-item span{display:block;color:var(--text-light);font-size:.8em;text-transform:capitalize}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4em 2em;color:var(--text-light)}.loading-container p{margin-top:1em;font-size:1.1em}.error-banner{display:flex;align-items:center;gap:1em;background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:1em 1.5em;border-radius:8px;margin-bottom:1.5em}.error-banner span{flex:1}.error-banner button{background:transparent;border:none;color:#dc2626;cursor:pointer;font-weight:500}.error-banner button:hover{text-decoration:underline}.community-filter{display:flex;gap:.5em;flex-wrap:wrap;margin-bottom:1em}.filter-btn{padding:.5em 1em;border:1px solid var(--border-color);background:#fff;color:var(--text-dark);border-radius:20px;cursor:pointer;font-size:.9em;transition:all .3s ease;font-weight:500}.filter-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:var(--secondary-color)}.filter-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.create-post-options{display:flex;align-items:center;gap:1em;flex-wrap:wrap}.community-select-wrapper{display:flex;align-items:center;gap:.5em}.community-select-label{font-size:.9em;color:var(--text-dark);font-weight:500;white-space:nowrap}.community-select{padding:.5em 1em;border:1px solid var(--border-color);border-radius:8px;font-size:.9em;font-family:inherit;background:#fff;color:var(--text-dark);cursor:pointer;transition:all .3s ease;min-width:150px}.community-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a8f9b1a}.community-select:disabled{background-color:var(--background-light);cursor:not-allowed;opacity:.6}.checkbox-label{display:flex;align-items:center;gap:.5em;cursor:pointer;font-size:.9em;color:var(--text-light)}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.post-community{display:inline-block;background-color:var(--secondary-color);color:var(--primary-color);padding:.2em .6em;border-radius:12px;font-size:.75em;margin-left:.5em}.post-edited{color:var(--text-light);font-size:.8em;font-style:italic;margin-left:.5em}.post-stats{display:flex;gap:1em;padding:.5em 0;color:var(--text-light);font-size:.85em}.post-images{margin-top:1em}.post-images.single-image .post-image-wrapper{width:100%;max-height:500px;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s ease}.post-images.single-image .post-image-wrapper:hover{transform:scale(1.02)}.post-images.single-image .post-image-wrapper img{width:100%;height:100%;max-height:500px;object-fit:contain;display:block}.post-images-grid{display:grid;gap:.5em;grid-template-columns:repeat(2,1fr);border-radius:8px;overflow:hidden}.post-images-grid .post-image-wrapper{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;cursor:pointer;transition:transform .2s ease,opacity .2s ease;background-color:var(--background-light)}.post-images-grid .post-image-wrapper:hover{transform:scale(1.02);opacity:.9}.post-images-grid .post-image-wrapper.has-more:after{content:"";position:absolute;inset:0;background-color:#0000004d}.post-images-grid .post-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block}.image-more-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#00000080;color:#fff;font-size:1.5em;font-weight:700;z-index:1}.post-image-wrapper{position:relative}.post-images-grid:has(.post-image-wrapper:only-child){grid-template-columns:1fr}.post-images-grid:has(.post-image-wrapper:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.post-images-grid:has(.post-image-wrapper:nth-child(3):last-child){grid-template-columns:repeat(2,1fr)}.post-images-grid .post-image-wrapper:only-child{grid-column:1 / -1}.action-btn.liked{color:#ef4444;border-color:#ef4444;background-color:#fef2f2}.action-btn.saved{color:var(--primary-color);border-color:var(--primary-color);background-color:var(--secondary-color)}.loading-posts{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3em;gap:1em;color:var(--text-light)}.loading-posts .spinner{animation:spin 1s linear infinite}.load-more-container{display:flex;justify-content:center;padding:2em}.load-more-btn{padding:.75em 2em;background:var(--primary-gradient);color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5em}.load-more-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2a8f9b4d}.load-more-btn:disabled{opacity:.6;cursor:not-allowed}.no-posts{text-align:center;padding:3em 2em;color:var(--text-light);background:#fff;border-radius:8px;border:1px dashed var(--border-color);display:flex;flex-direction:column;align-items:center;gap:1em}.no-posts svg{color:var(--text-light);opacity:.5}.no-posts p{margin:0}.loading-comments{display:flex;align-items:center;justify-content:center;gap:.5em;padding:1em;color:var(--text-light)}.load-more-comments{display:flex;justify-content:center;padding:0;margin:.25em 0}.see-more-comments-btn{padding:0;background:transparent;color:var(--primary-color);border:none;border-radius:0;font-size:.85em;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.4em;text-decoration:underline;text-underline-offset:2px}.see-more-comments-btn:hover:not(:disabled){color:var(--primary-color);opacity:.8;text-decoration:none}.see-more-comments-btn:disabled{opacity:.5;cursor:not-allowed}.add-comment{display:flex;gap:.5em;margin-top:.5em}.add-comment input{flex:1;padding:.75em 1em;border:1px solid var(--border-color);border-radius:20px;font-size:.9em}.add-comment input:focus{outline:none;border-color:var(--primary-color)}.add-comment button{width:40px;height:40px;border-radius:50%;border:none;background:var(--primary-gradient);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);box-shadow:var(--shadow-sm);flex-shrink:0;padding:0}.add-comment button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.add-comment button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.add-comment button:disabled{background:var(--border-color);cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.add-comment button svg{width:20px;height:20px;color:inherit;stroke:currentColor;fill:none;display:block;flex-shrink:0}.communities-list{display:flex;flex-direction:column;gap:.5em}.community-item{display:flex;align-items:center;gap:.75em;padding:.75em;border-radius:8px;cursor:pointer;transition:background-color .3s ease}.community-item:hover{background-color:#f9fafb}.community-item.active{background-color:var(--secondary-color)}.community-item img{width:36px;height:36px;border-radius:8px;object-fit:cover}.community-item strong{display:block;color:var(--text-dark);font-size:.9em}.community-item span{display:block;color:var(--text-light);font-size:.8em}@media(max-width:1024px){.community-content{grid-template-columns:1fr}.community-sidebar{order:-1}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2em;gap:1em}.page-header h1{text-align:start;margin:0 0 .5em;color:var(--text-dark)}.page-header p{margin:0;color:var(--text-light)}.create-article-btn{display:inline-flex;align-items:center;gap:.5em;padding:.75em 1.5em;background:var(--primary-gradient);color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:all .3s ease;white-space:nowrap}.create-article-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2em}.blog-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--card-shadow);transition:all .3s ease;position:relative}.blog-card-header{position:relative}.blog-delete-btn{position:absolute;top:.75em;right:.75em;display:flex;align-items:center;justify-content:center;padding:.5em;background-color:#dc2626!important;background:#dc2626!important;color:#fff!important;border:none!important;border-radius:6px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #dc26264d;z-index:10}.blog-delete-btn:hover:not(:disabled){background-color:#b91c1c!important;background:#b91c1c!important;transform:scale(1.1);box-shadow:0 2px 12px #dc262666}.blog-delete-btn:disabled{opacity:.6;cursor:not-allowed}.blog-card:hover{transform:translateY(-6px);box-shadow:0 6px 20px #00000026}.blog-image{width:100%;height:220px;object-fit:cover;transition:transform .3s ease;display:block}.blog-card:hover .blog-image{transform:scale(1.05)}.blog-image-placeholder{width:100%;height:220px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;align-items:center;justify-content:center;color:var(--text-light);font-size:.9em;font-weight:500;transition:all .3s ease}.blog-card:hover .blog-image-placeholder{background:linear-gradient(135deg,#e8ecf1,#b8c5d8)}.blog-content{padding:1.5em}.blog-tags{display:flex;gap:.5em;flex-wrap:wrap;margin-bottom:1em}.tag{background-color:var(--primary-color);color:#fff;padding:.35em .75em;border-radius:4px;font-size:.8em;font-weight:500}.blog-content h2{margin:0 0 .75em;color:var(--text-dark);font-size:1.4em;line-height:1.3;transition:color .3s ease}.blog-content a:hover h2{color:var(--primary-color)}.blog-excerpt{color:var(--text-light);line-height:1.6;margin-bottom:1.5em}.blog-meta{display:flex;justify-content:space-between;align-items:center;padding-top:1em;border-top:1px solid var(--border-color)}.author-info{display:flex;align-items:center;gap:.75em}.author-info img{width:40px;height:40px;border-radius:50%;object-fit:cover}.author-info strong{display:block;color:var(--text-dark);font-size:.9em;margin-bottom:.25em}.teacher-title{display:block;color:var(--text-light);font-size:.8em;font-style:italic;margin-bottom:.25em;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date{display:flex;align-items:center;gap:.35em;color:var(--text-light);font-size:.85em}.blog-stats{display:flex;gap:1em}.blog-stats span{display:flex;align-items:center;gap:.35em;color:var(--text-light);font-size:.9em}@media(max-width:768px){.blog-grid{grid-template-columns:1fr}.blog-meta{flex-direction:column;align-items:flex-start;gap:1em}}.blog-detail-page{max-width:900px}.back-link{display:inline-flex;align-items:center;gap:.5em;color:var(--text-light);text-decoration:none;margin-bottom:2em;font-weight:500;transition:color .3s ease}.back-link:hover{color:var(--primary-color)}.blog-article{background:#fff;border-radius:12px;padding:3em;box-shadow:var(--card-shadow);margin-bottom:3em}.article-header{margin-bottom:2em}.article-tags{display:flex;gap:.5em;flex-wrap:wrap;margin-bottom:1em}.article-header h1{margin:0 0 1em;color:var(--text-dark);font-size:2.5em;line-height:1.2}.article-meta{display:flex;justify-content:space-between;align-items:center;padding-top:1em;border-top:1px solid var(--border-color)}.article-actions,.author-section{display:flex;align-items:center;gap:1em}.author-section img{width:50px;height:50px;border-radius:50%;object-fit:cover}.author-section strong{display:block;color:var(--text-dark);font-size:1em;margin-bottom:.35em}.author-section .teacher-title{display:block;color:var(--text-light);font-size:.85em;font-style:italic;margin-bottom:.35em;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-info{display:flex;gap:1em}.meta-info span{display:flex;align-items:center;gap:.35em;color:var(--text-light);font-size:.9em}.edit-article-btn{display:inline-flex;align-items:center;gap:.5em;padding:.6em 1.2em;background:var(--primary-color);color:#fff!important;text-decoration:none;border-radius:8px;font-size:.9em;font-weight:500;transition:all .3s ease;height:auto;min-height:2.5em;box-sizing:border-box}.edit-article-btn:hover{background:var(--primary-dark);color:#fff!important;transform:translateY(-2px);box-shadow:0 4px 12px #2a8f9b4d}.delete-article-btn{display:inline-flex;align-items:center;gap:.5em;padding:.75em 1.5em;background-color:#dc2626!important;background:#dc2626!important;color:#fff!important;border:none!important;border-radius:8px;cursor:pointer;font-size:.9em;font-weight:500;transition:all .3s ease;box-shadow:none!important;height:auto;min-height:2.5em;box-sizing:border-box}.delete-article-btn:hover:not(:disabled){background-color:#b91c1c!important;background:#b91c1c!important;transform:translateY(-2px)}.delete-article-btn:disabled{opacity:.6;cursor:not-allowed}.like-btn{display:flex;align-items:center;gap:.5em;padding:.75em 1.5em;background-color:#fff!important;background:#fff!important;border:2px solid var(--border-color)!important;color:var(--text-dark);border-radius:25px;cursor:pointer;transition:all .3s ease;font-weight:500;box-shadow:none!important}.like-btn:before{display:none!important}.like-btn:hover{border-color:var(--border-color)!important;background-color:#fff!important;background:#fff!important;color:#e74c3c;transform:none;box-shadow:none!important}.like-btn:hover:before{display:none!important}.like-btn.liked{border-color:var(--border-color)!important;background-color:#fff!important;background:#fff!important;color:#e74c3c;box-shadow:none!important}.article-image{width:100%;max-height:500px;object-fit:cover;border-radius:12px;margin-bottom:2em}.article-content{color:var(--text-dark);line-height:1.8;font-size:1.1em}.article-content .lead{font-size:1.3em;color:var(--text-light);margin-bottom:1.5em;line-height:1.6}.article-content p{margin-bottom:1.5em}.article-html-content{line-height:1.8;font-size:1.1em;color:var(--text-dark)}.article-html-content h1,.article-html-content h2,.article-html-content h3{color:var(--text-dark);margin-top:1.5em;margin-bottom:.75em;font-weight:600}.article-html-content h1{font-size:2em}.article-html-content h2{font-size:1.75em}.article-html-content h3{font-size:1.5em}.article-html-content p{margin-bottom:1.5em;line-height:1.8}.article-html-content ul,.article-html-content ol{margin-bottom:1.5em;padding-left:2em}.article-html-content li{margin-bottom:.5em;line-height:1.8}.article-html-content a{color:var(--primary-color);text-decoration:underline;transition:color .3s ease}.article-html-content a:hover{color:var(--primary-dark)}.article-html-content img{max-width:100%;height:auto;border-radius:8px;margin:1.5em 0}.article-html-content blockquote{border-left:4px solid var(--primary-color);padding-left:1.5em;margin:1.5em 0;font-style:italic;color:var(--text-light)}.article-html-content code{background:var(--background-light);padding:.2em .4em;border-radius:4px;font-family:Courier New,monospace;font-size:.9em}.article-html-content pre{background:var(--background-light);padding:1em;border-radius:8px;overflow-x:auto;margin:1.5em 0}.article-html-content pre code{background:transparent;padding:0}.article-footer{margin-top:3em;padding-top:2em;border-top:2px solid var(--border-color)}.tags-section h4{margin:0 0 1em;color:var(--text-dark)}.related-articles{margin-bottom:3em}.related-articles h3{margin:0 0 1.5em;color:var(--text-dark)}.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5em}.related-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--card-shadow);text-decoration:none;transition:all .3s ease}.related-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #00000026}.related-card img{width:100%;height:150px;object-fit:cover}.related-content{padding:1.25em}.related-content h4{margin:0 0 .5em;color:var(--text-dark);font-size:1.1em}.related-content p{color:var(--text-light);font-size:.9em;margin-bottom:1em;line-height:1.5}.related-meta{display:flex;justify-content:space-between;font-size:.85em;color:var(--text-light)}.article-comments-section{margin-top:3em;padding-top:2em;border-top:2px solid var(--border-color)}.comments-header{display:flex;align-items:center;gap:.5em;margin-bottom:1.5em}.comments-header h3{margin:0;color:var(--text-dark);font-size:1.3em}.comments-list{display:flex;flex-direction:column;gap:1.5em;margin-bottom:2em}.comment-item{display:flex;gap:1em;padding:1em;background-color:var(--background-light);border-radius:8px}.comment-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.comment-content{flex:1}.comment-header{display:flex;align-items:center;justify-content:space-between;gap:.5em;margin-bottom:.5em;flex-wrap:wrap}.comment-header>div{display:flex;align-items:center;gap:.5em;flex-wrap:wrap}.comment-header strong{color:var(--text-dark);font-size:.95em}.comment-title{color:var(--text-light);font-size:.85em;font-style:italic}.comment-date{color:var(--text-light);font-size:.85em}.comment-delete-btn{display:flex;align-items:center;justify-content:center;padding:.25em;border:none;background:transparent;color:#dc2626;cursor:pointer;transition:all .2s ease;border-radius:4px;box-shadow:none!important}.comment-delete-btn:hover:not(:disabled){background-color:#fee2e2;color:#b91c1c}.comment-delete-btn:disabled{opacity:.6;cursor:not-allowed}.comment-content p{color:var(--text-dark);line-height:1.6;margin:0;font-size:.95em}.comment-likes{display:flex;align-items:center;gap:.25em;margin-top:.5em;color:#e74c3c;font-size:.85em}.loading-comments{display:flex;align-items:center;gap:.5em;padding:2em;justify-content:center;color:var(--text-light)}.no-comments{text-align:center;padding:2em;color:var(--text-light)}.load-more-comments-btn{display:flex;align-items:center;gap:.5em;margin:1em auto;padding:.75em 1.5em;background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);border-radius:20px;cursor:pointer;transition:all .3s ease;font-size:.9em}.load-more-comments-btn:hover:not(:disabled){background:var(--primary-color);color:#fff}.load-more-comments-btn:disabled{opacity:.6;cursor:not-allowed}.add-comment-form{margin-top:2em;padding-top:2em;border-top:1px solid var(--border-color)}.add-comment-form textarea{width:100%;padding:1em;border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:.95em;resize:vertical;margin-bottom:1em;min-height:80px}.add-comment-form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a8f9b1a}.submit-comment-btn{display:inline-flex;align-items:center;gap:.5em;padding:.75em 1.5em;background:var(--primary-gradient);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:500;font-size:.95em}.submit-comment-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.submit-comment-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.blog-article{padding:2em 1.5em}.article-header h1{font-size:1.8em}.article-content{font-size:1em}.article-meta{flex-direction:column;align-items:flex-start;gap:1em}.related-grid{grid-template-columns:1fr}.comment-header{flex-direction:column;align-items:flex-start;gap:.25em}.comment-date{margin-left:0}}.create-article-page{max-width:1000px;margin:0 auto;padding:2em}.create-article-header{display:flex;align-items:center;gap:1em;margin-bottom:2em}.create-article-header h1{margin:0;color:var(--text-dark)}.back-btn{display:flex;align-items:center;gap:.5em;padding:.5em 1em;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-dark);cursor:pointer;transition:all .3s ease}.back-btn:hover{background:var(--background-light);border-color:var(--primary-color);color:var(--primary-color)}.error-message{background:#fee;color:#c33;padding:1em;border-radius:8px;margin-bottom:1.5em;border:1px solid #fcc}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3em;background:#fff;border-radius:12px;box-shadow:var(--card-shadow)}.loading-state p{margin-top:1em;color:var(--text-light)}.article-form{background:#fff;padding:2em;border-radius:12px;box-shadow:var(--card-shadow)}.form-group label{display:block;margin-bottom:.5em;color:var(--text-dark);font-weight:500;font-size:.95em}.form-group input[type=text],.form-group input[type=url],.form-group input[type=date],.form-group select{width:100%;padding:.75em;border:2px solid var(--border-color);border-radius:8px;font-size:1em;font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2a8f9b1a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5em}.image-input-group{display:flex;align-items:center;gap:.5em;padding:.75em;border:2px solid var(--border-color);border-radius:8px;background:var(--background-light)}.image-input-group svg{color:var(--text-light);flex-shrink:0}.image-input-group input{flex:1;border:none;background:transparent;padding:0;font-size:1em}.image-input-group input:focus{outline:none}.image-input-group:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #2a8f9b1a}.cover-image-upload{width:100%}.upload-cover-image-btn{display:flex;align-items:center;justify-content:center;gap:.5em;width:100%;padding:1em;border:2px dashed var(--border-color);border-radius:8px;background:var(--background-light);color:var(--text-dark);font-size:1em;font-weight:500;cursor:pointer;transition:all .3s ease}.upload-cover-image-btn:hover:not(:disabled){border-color:var(--primary-color);background:#2a8f9b0d;color:var(--primary-color)}.upload-cover-image-btn:disabled{opacity:.6;cursor:not-allowed}.cover-image-preview{position:relative;width:100%;border-radius:8px;overflow:hidden;border:2px solid var(--border-color)}.cover-image-preview img{width:100%;height:auto;max-height:300px;object-fit:cover;display:block}.cover-image-actions{display:flex;gap:.5em;padding:.75em;background:#000000b3;bottom:0;left:0;right:0}.change-image-btn,.remove-image-btn{display:flex;align-items:center;justify-content:center;gap:.5em;padding:.5em 1em;border:none;border-radius:6px;font-size:.9em;font-weight:500;cursor:pointer;transition:all .2s ease}.change-image-btn{background:var(--primary-color);color:#fff;flex:1}.change-image-btn:hover:not(:disabled){background:var(--primary-dark);opacity:.9}.remove-image-btn{background:#dc3545;color:#fff;width:auto;min-width:44px;padding:.5em;flex-shrink:0}.remove-image-btn:hover:not(:disabled){background:#c82333;opacity:.9}.change-image-btn:disabled,.remove-image-btn:disabled{opacity:.6;cursor:not-allowed}.rich-text-editor{background:#fff;border:2px solid var(--border-color);border-radius:8px;overflow:hidden}.editor-toolbar{display:flex;align-items:center;gap:.25em;padding:.75em;background:var(--background-light);border-bottom:2px solid var(--border-color);flex-wrap:wrap}.editor-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;width:36px;height:36px;border:1px solid var(--border-color);background:#fff;border-radius:4px;cursor:pointer;color:var(--text-dark);transition:all .2s ease;padding:0;margin:0;flex-shrink:0}.editor-toolbar button svg{width:18px!important;height:18px!important;display:block!important;flex-shrink:0;stroke-width:2}.editor-toolbar button:hover{background:var(--background-light);border-color:var(--primary-color);color:var(--primary-color)}.editor-toolbar button.is-active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.editor-toolbar input[type=file]{display:none}.toolbar-divider{width:1px;height:24px;background:var(--border-color);margin:0 .25em}.editor-content{min-height:400px;padding:1em;font-size:1em;font-family:inherit;line-height:1.6}.editor-content .ProseMirror{outline:none;min-height:400px}.editor-content .ProseMirror p{margin-bottom:1em}.editor-content .ProseMirror h1{font-size:2em;font-weight:600;margin-top:1.5em;margin-bottom:.75em}.editor-content .ProseMirror h2{font-size:1.75em;font-weight:600;margin-top:1.5em;margin-bottom:.75em}.editor-content .ProseMirror h3{font-size:1.5em;font-weight:600;margin-top:1.5em;margin-bottom:.75em}.editor-content .ProseMirror ul,.editor-content .ProseMirror ol{margin:1em 0;padding-left:2em}.editor-content .ProseMirror li{margin-bottom:.5em}.editor-content .ProseMirror a{color:var(--primary-color);text-decoration:underline}.editor-content .ProseMirror img{max-width:100%;height:auto;border-radius:8px;margin:1em 0}.editor-content .ProseMirror blockquote{border-left:4px solid var(--primary-color);padding-left:1.5em;margin:1em 0;font-style:italic;color:var(--text-light)}.rich-text-editor:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #2a8f9b1a}.editor-info{margin-top:.5em;font-size:.85em;color:var(--text-light);font-style:italic}.loading-select{display:flex;align-items:center;gap:.5em;padding:.75em;color:var(--text-light)}.form-actions{display:flex;justify-content:flex-end;gap:1em;margin-top:2em;padding-top:2em;border-top:2px solid var(--border-color)}.cancel-btn,.submit-btn{display:flex;align-items:center;gap:.5em;padding:.75em 1.5em;border-radius:8px;font-size:1em;font-weight:500;cursor:pointer;transition:all .3s ease;border:none}.cancel-btn{background:transparent;color:var(--text-dark);border:2px solid var(--border-color)}.cancel-btn:hover:not(:disabled){background:var(--background-light);border-color:var(--text-light)}.submit-btn{background:var(--primary-gradient);color:#fff}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.cancel-btn:disabled,.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.create-article-page{padding:1em}.article-form{padding:1.5em}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.cancel-btn,.submit-btn{width:100%;justify-content:center}}.qa-page{max-width:900px}.qa-filters{margin-bottom:2em;display:flex;flex-direction:column;gap:1em}.search-box{display:flex;align-items:center;gap:.75em;padding:.75em 1em;background:#fff;border:2px solid var(--border-color);border-radius:8px}.search-box input{flex:1;border:none;outline:none;font-size:1em}.category-filters{display:flex;gap:.75em;flex-wrap:wrap}.category-btn{padding:.5em 1.25em;border-radius:20px;border:2px solid var(--border-color);background:#fff;color:var(--text-dark);cursor:pointer;transition:all .3s ease;font-weight:500}.category-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.category-btn.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.add-question-btn{align-self:flex-start;display:flex;align-items:center;gap:.5em}.qa-list{display:flex;flex-direction:column;gap:1em;margin-bottom:2em}.qa-item{transition:all .3s ease}.qa-item:hover{box-shadow:0 4px 12px #0000001a}.qa-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1em;padding:1.5em;cursor:pointer}.qa-header-content{flex:1}.qa-meta{display:flex;align-items:center;gap:1em;margin-bottom:.5em;flex-wrap:wrap}.student-name{font-weight:600;color:var(--text-dark)}.qa-date{color:var(--text-light);font-size:.9em}.answered-badge,.pending-badge{padding:.25em .75em;border-radius:12px;font-size:.8em;font-weight:500}.answered-badge{background-color:#d4edda;color:#155724}.pending-badge{background-color:#fff3cd;color:#856404}.qa-header h3{margin:0;color:var(--text-dark);font-size:1.1em;line-height:1.4}.expand-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;padding:0;flex-shrink:0;transition:transform .3s ease}.expand-btn:hover{transform:scale(1.1)}.qa-answers{padding:0 1.5em 1.5em;border-top:1px solid var(--border-color);margin-top:-.5em;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.answer-item{padding:1em 0;border-bottom:1px solid var(--border-color)}.answer-item:last-child{border-bottom:none}.answer-header{display:flex;align-items:center;justify-content:space-between;gap:1em;margin-bottom:.75em}.answer-teacher{display:flex;align-items:center;gap:.75em}.teacher-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.teacher-name{font-weight:600;color:var(--text-dark)}.teacher-title{font-weight:400;color:var(--text-light);font-size:.9em}.answer-date{color:var(--text-light);font-size:.85em;margin-top:.25em}.answer-text{color:var(--text-light);line-height:1.7;margin:1em 0;white-space:pre-wrap}.answer-footer{display:flex;justify-content:flex-end;margin-top:1em}.helpful-btn{display:flex;align-items:center;gap:.5em;padding:.5em 1.25em;background-color:#fff!important;background:#fff!important;border:1px solid var(--border-color);border-radius:6px;color:var(--primary-color);cursor:pointer;transition:color .3s ease;font-size:.9em;box-shadow:none!important}.helpful-btn:before{display:none!important}.helpful-btn:hover:not(:disabled){background-color:#fff!important;background:#fff!important;color:var(--primary-color-dark, #0056b3);box-shadow:none!important}.helpful-btn:disabled{opacity:.6;cursor:not-allowed;background-color:#fff!important;background:#fff!important}.helpful-btn.marked{background-color:#fff!important;background:#fff!important;color:var(--text-dark);border-color:var(--border-color);box-shadow:none!important}.helpful-btn.marked:hover:not(:disabled){background-color:#fff!important;background:#fff!important;box-shadow:none!important}.helpful-count{display:flex;align-items:center;gap:.5em;padding:.5em 1.25em;color:var(--text-light);font-size:.9em}.answer-delete-btn{display:flex;align-items:center;justify-content:center;padding:.25em;border:none;background:transparent;color:#dc2626;cursor:pointer;transition:all .2s ease;border-radius:4px;box-shadow:none!important}.answer-delete-btn:hover:not(:disabled){background-color:#fee2e2;color:#b91c1c}.answer-delete-btn:disabled{opacity:.6;cursor:not-allowed}.no-answers{padding:2em;text-align:center;color:var(--text-light)}.add-answer-section{margin-top:1.5em;padding-top:1.5em;border-top:2px dashed var(--border-color)}.add-answer-btn{display:flex;align-items:center;gap:.5em;width:100%;justify-content:center}.answer-form{display:flex;flex-direction:column;gap:.75em}.answer-form textarea{width:100%;padding:.75em;border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:1em;resize:vertical;min-height:100px}.answer-form textarea:focus{outline:none;border-color:var(--primary-color)}.answer-form small{color:var(--text-light);font-size:.85em}.answer-form-actions{display:flex;gap:.75em;justify-content:flex-end}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1em}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5em;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;color:var(--text-dark)}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-light);padding:.25em;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.modal-close:hover:not(:disabled){color:var(--text-dark)}.modal-content form{padding:1.5em}.form-group{margin-bottom:1.5em}.form-group label{display:block;margin-bottom:.5em;font-weight:600;color:var(--text-dark)}.form-group textarea{width:100%;padding:.75em;border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:1em;resize:vertical;min-height:120px}.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-group small{display:block;margin-top:.5em;color:var(--text-light);font-size:.85em}.modal-actions{display:flex;gap:.75em;justify-content:flex-end;margin-top:1.5em}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3em;gap:1em;color:var(--text-light)}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-banner{display:flex;align-items:center;gap:.75em;padding:1em;background-color:#f8d7da;color:#721c24;border-radius:8px;margin-bottom:1.5em}.empty-state{text-align:center;padding:3em;color:var(--text-light)}.empty-state h3{margin:0 0 .5em;color:var(--text-dark)}.load-more-container{display:flex;justify-content:center;margin:2em 0}.load-more-btn{display:flex;align-items:center;gap:.5em}.btn-primary,.btn-secondary{padding:.75em 1.5em;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5em;font-size:1em}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-color-dark, #0056b3);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:#fff;color:var(--text-dark);border:2px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:#f5f5f5;border-color:var(--primary-color);color:var(--primary-color)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.qa-filters{gap:.75em}.category-filters{justify-content:flex-start}.qa-header{flex-direction:column;align-items:flex-start}.expand-btn{align-self:flex-end}.qa-answers{padding:0 1em 1em}.modal-content{margin:1em;max-height:85vh}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.profile-page{max-width:1000px}.profile-content{display:grid;grid-template-columns:300px 1fr;gap:2em}.profile-sidebar{display:flex;flex-direction:column;gap:1.5em}.avatar-upload-container{position:relative;display:inline-block;margin:0 auto}.avatar-upload-overlay{position:absolute;inset:0;background-color:#0009;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;cursor:pointer}.avatar-upload-container:hover .avatar-upload-overlay{opacity:1}.avatar-upload-btn{z-index:10;display:flex;flex-direction:column;align-items:center;gap:.5em;color:#fff;font-weight:500;font-size:.9em}.avatar-upload-btn .file-upload-button{background-color:transparent;color:#fff;border:2px solid white;padding:.75em 1.5em;font-size:.9em;border-radius:8px;display:flex;align-items:center;gap:.5em;transition:all .3s ease;font-weight:500}.avatar-upload-btn .file-upload-button:hover{background-color:#fff;color:var(--primary-color)}.avatar-upload-btn .file-upload-button svg{color:inherit}.profile-actions{padding:1.5em}.profile-action-link{display:flex;align-items:center;gap:.75em;padding:1em;color:var(--text-dark);text-decoration:none;border-radius:8px;transition:all .3s ease;font-weight:500}.profile-action-link:hover{background-color:var(--secondary-color);color:var(--primary-color)}.profile-action-link svg{color:var(--primary-color)}.profile-avatar-section{text-align:center;padding:2em}.profile-avatar{width:150px;height:150px;border-radius:50%;object-fit:cover;margin-bottom:1.5em;border:4px solid var(--primary-color)}.profile-avatar-section h2{margin:0 0 .5em;color:var(--text-dark)}.role-badge{display:inline-block;background-color:var(--primary-color);color:#fff;padding:.4em 1em;border-radius:20px;font-size:.9em;font-weight:500;text-transform:capitalize;margin-bottom:1em}.join-date{color:var(--text-light);font-size:.9em;margin-top:1em}.profile-main{display:flex;flex-direction:column;gap:2em}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2em;padding-bottom:1em;border-bottom:2px solid var(--border-color)}.card-header h3{margin:0;color:var(--text-dark)}.edit-btn{display:flex;align-items:center;gap:.5em}.edit-actions{display:flex;gap:.75em}.edit-actions button{display:flex;align-items:center;gap:.5em}.profile-form{display:flex;flex-direction:column;gap:1.5em}.profile-form .form-group{display:flex;flex-direction:column;gap:.5em}.profile-form label{font-weight:600;color:var(--text-dark);font-size:.95em}.form-value{color:var(--text-light);padding:.75em 0;margin:0;line-height:1.6}.expertise-display{display:flex;gap:.5em;flex-wrap:wrap;padding:.5em 0}.skill-tag{background-color:#e5e7eb;color:#6b7280;padding:.4em .9em;border-radius:4px;font-size:.9em;font-weight:500}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5em;margin-top:1.5em}.stat-item{text-align:center;padding:1.5em;background-color:#f9fafb;border-radius:8px}.stat-item strong{display:block;font-size:2em;color:var(--primary-color);margin-bottom:.25em}.stat-item span{color:var(--text-light);font-size:.9em}@media(max-width:1024px){.profile-content{grid-template-columns:1fr}.profile-sidebar{order:-1}.stats-row{grid-template-columns:1fr}}@media(max-width:768px){.card-header{flex-direction:column;align-items:flex-start;gap:1em}.edit-actions{width:100%;flex-direction:column}.edit-actions button{width:100%}}.teacher-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5em;margin-bottom:3em}.my-courses-list{display:flex;flex-direction:column;gap:1.5em}.teacher-course-card{display:flex;gap:1.5em;overflow:hidden;transition:all .3s ease}.teacher-course-card:hover{box-shadow:0 6px 16px #00000026}.course-image{position:relative;width:280px;height:180px;flex-shrink:0}.course-image img{width:100%;height:100%;object-fit:cover;border-radius:8px}.course-level{position:absolute;top:.75em;right:.75em;background-color:#000000b3;color:#fff;padding:.4em .9em;border-radius:4px;font-size:.85em;font-weight:500}.teacher-course-content{flex:1;display:flex;flex-direction:column;padding:.5em 0}.course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75em}.course-header h3{margin:0 0 .35em;color:var(--text-dark);font-size:1.3em}.course-category{color:var(--primary-color);font-size:.9em;font-weight:500;margin:0}.icon-btn{padding:.5em;background-color:#f5f5f5;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease}.icon-btn:hover{background-color:var(--primary-color);color:#fff}.teacher-course-content .course-description{color:var(--text-light);margin-bottom:1.25em;line-height:1.6}.course-metrics{display:flex;gap:2em;flex-wrap:wrap;margin-bottom:1.5em;padding-bottom:1em;border-bottom:1px solid var(--border-color)}.metric{display:flex;align-items:center;gap:.5em;color:var(--text-light);font-size:.95em}.metric svg{color:var(--primary-color)}.course-actions{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.view-course-btn{padding:.75em 1.5em;background-color:var(--primary-color);color:#fff;border-radius:6px;text-decoration:none;font-weight:500;transition:background-color .3s ease}.view-course-btn:hover{background-color:var(--primary-dark);color:#fff}.revenue{color:var(--text-dark);font-weight:600;font-size:1.1em}@media(max-width:1024px){.teacher-course-card{flex-direction:column}.course-image{width:100%;height:200px}.course-metrics{gap:1em}.course-actions{flex-direction:column;align-items:flex-start;gap:1em}.view-course-btn{width:100%;text-align:center}}@media(max-width:768px){.teacher-stats-grid{grid-template-columns:repeat(2,1fr)}}.enrolled-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2em}.enrolled-course-card{overflow:hidden;transition:all .3s ease}.enrolled-course-card:hover{transform:translateY(-6px);box-shadow:0 6px 20px #00000026}.course-image-wrapper{position:relative;width:100%;height:200px;overflow:hidden}.course-image-wrapper img{width:100%;height:100%;object-fit:cover}.progress-overlay{position:absolute;top:1em;right:1em}.circular-progress{width:60px;height:60px;border-radius:50%;background:#fffffff2;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1em;color:var(--primary-color);box-shadow:0 2px 8px #0003}.enrolled-course-content{padding:1.5em}.enrolled-course-content h3{margin:0 0 1em;color:var(--text-dark);font-size:1.2em;line-height:1.3}.teacher-mini{display:flex;align-items:center;gap:.5em;padding-bottom:1em;margin-bottom:1em;border-bottom:1px solid var(--border-color)}.teacher-mini img{width:30px;height:30px;border-radius:50%;object-fit:cover}.teacher-mini span{color:var(--text-light);font-size:.9em}.course-progress-section{margin-bottom:1.5em}.progress-stats{display:flex;gap:1.5em;margin-bottom:1em}.progress-stats .stat{display:flex;align-items:center;gap:.5em;font-size:.9em;color:var(--text-light)}.continue-learning-btn{display:flex;align-items:center;justify-content:center;gap:.5em;width:100%;padding:.85em;background-color:var(--primary-color);color:#fff;border-radius:6px;text-decoration:none;font-weight:500;transition:background-color .3s ease}.continue-learning-btn:hover{background-color:var(--primary-dark);color:#fff}@media(max-width:768px){.enrolled-courses-grid{grid-template-columns:1fr}.progress-stats{flex-direction:column;gap:.75em}}.schedule-page{max-width:1400px}.schedule-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2em}.schedule-page .page-header .btn-primary{display:inline-flex;align-items:center;gap:.5em}.schedule-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2em;padding:1.5em;background:#fff;border-radius:8px;box-shadow:var(--card-shadow)}.view-mode-tabs{display:flex;gap:.5em;background:#f5f5f5;padding:.35em;border-radius:6px}.view-mode-tabs button{padding:.5em 1.5em;border:none;background:transparent;border-radius:4px;cursor:pointer;font-weight:500;transition:all .3s ease}.view-mode-tabs button.active{background:#fff;color:var(--primary-color);box-shadow:0 1px 3px #0000001a}.calendar-navigation{display:flex;align-items:center;gap:1em}.calendar-navigation h3{margin:0;min-width:200px;text-align:center;color:var(--text-dark)}.nav-btn{padding:.5em;border:1px solid var(--border-color);background:#fff;border-radius:6px;cursor:pointer;transition:all .3s ease}.nav-btn:hover{background:var(--secondary-color);border-color:var(--primary-color);color:var(--primary-color)}.schedule-content{display:grid;grid-template-columns:1fr 350px;gap:2em}.calendar-view{padding:1.5em}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:1em}.calendar-day-name{text-align:center;font-weight:600;padding:1em 0;color:var(--text-dark);font-size:.9em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-color);border:1px solid var(--border-color)}.calendar-day{min-height:120px;background:#fff;padding:.5em;position:relative}.calendar-day.empty{background:#f9fafb}.calendar-day.today{background:#2a8f9b0d;border:2px solid var(--primary-color)}.day-number{font-weight:600;color:var(--text-dark);margin-bottom:.5em}.calendar-day.today .day-number{color:var(--primary-color);background:#2a8f9b1a;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.day-lectures{display:flex;flex-direction:column;gap:.35em}.mini-lecture{background:var(--primary-color);color:#fff;padding:.35em .5em;border-radius:3px;font-size:.75em;display:flex;flex-direction:column;gap:.15em;cursor:pointer;transition:all .2s ease}.mini-lecture:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.lecture-time{font-weight:600}.lecture-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more-lectures{font-size:.75em;color:var(--text-light);font-weight:500;padding:.25em}.upcoming-sidebar{display:flex;flex-direction:column;gap:1.5em}.upcoming-sidebar .card{padding:1.5em}.upcoming-sidebar h3{margin:0 0 1.5em;color:var(--text-dark)}.upcoming-list{display:flex;flex-direction:column;gap:1em}.upcoming-lecture-card{padding:1.25em;border:1px solid var(--border-color);border-radius:8px;background:#f9fafb;transition:all .3s ease}.upcoming-lecture-card:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #2a8f9b1a}.lecture-badge{display:inline-flex;align-items:center;gap:.35em;background:#fff;padding:.35em .75em;border-radius:12px;font-size:.8em;font-weight:500;margin-bottom:.75em;color:var(--text-dark)}.upcoming-lecture-card h4{margin:0 0 .35em;color:var(--text-dark);font-size:1em}.course-name{color:var(--text-light);font-size:.85em;margin:0 0 1em}.lecture-details{display:flex;flex-direction:column;gap:.5em;margin-bottom:1em}.detail-item{display:flex;align-items:center;gap:.5em;color:var(--text-light);font-size:.85em}.lecture-actions{display:flex;gap:.75em}.lecture-actions button{flex:1;padding:.6em 1em;font-size:.9em}.empty-state-small{text-align:center;padding:2em 1em}.empty-state-small p{margin:1em 0 0;color:var(--text-light)}@media(max-width:1200px){.schedule-content{grid-template-columns:1fr}.upcoming-sidebar{order:-1}}@media(max-width:768px){.schedule-controls{flex-direction:column;gap:1em}.calendar-navigation h3{font-size:1.1em}.calendar-day{min-height:80px}.calendar-day-name{font-size:.75em;padding:.75em 0}}.analytics-page{max-width:1400px}.analytics-page .page-header{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;margin-bottom:2em}.filters{display:flex;gap:1em}.filter-select{padding:.75em 1em;border:1px solid var(--border-color);border-radius:6px;background:#fff;cursor:pointer;font-size:.95em;transition:all .3s ease}.filter-select:hover{border-color:var(--primary-color)}.filter-select:focus{outline:none;border-color:var(--primary-color)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5em;margin-bottom:3em}.metric-card{display:flex;align-items:center;gap:1.25em;padding:1.5em;transition:all .3s ease}.metric-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #0000001a}.metric-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary-color);flex-shrink:0}.metric-content{display:flex;flex-direction:column;gap:.35em}.metric-label{font-size:.9em;color:var(--text-light);font-weight:500}.metric-value{font-size:2em;font-weight:700;color:var(--text-dark);margin:0;line-height:1}.metric-change{font-size:.85em;font-weight:600}.metric-change.positive{color:var(--success-color)}.metric-change.negative{color:var(--error-color)}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2em;margin-bottom:3em}.chart-card{padding:1.5em}.chart-header{margin-bottom:1.5em}.chart-header h3{margin:0 0 .35em;color:var(--text-dark);font-size:1.2em}.chart-subtitle{color:var(--text-light);font-size:.9em}.insights-section{display:grid;grid-template-columns:1fr 1fr;gap:2em}.insights-card,.recommendations-card{padding:1.5em}.insights-card h3,.recommendations-card h3{margin:0 0 1.5em;color:var(--text-dark)}.insights-list{display:flex;flex-direction:column;gap:1.25em}.insight-item{display:flex;gap:1em;padding:1em;background:#f9fafb;border-radius:8px;border-left:3px solid transparent;transition:all .3s ease}.insight-item:hover{border-left-color:var(--primary-color);box-shadow:0 2px 8px #0000000d}.insight-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.insight-icon.success{background:#10b9811a;color:var(--success-color)}.insight-icon.warning{background:#f59e0b1a;color:var(--warning-color)}.insight-content h4{margin:0 0 .35em;font-size:1em;color:var(--text-dark)}.insight-content p{margin:0;font-size:.9em;color:var(--text-light);line-height:1.5}.recommendations-list{display:flex;flex-direction:column;gap:1em}.recommendation-item{display:flex;align-items:center;gap:1em;padding:1em;background:#f9fafb;border-radius:8px;transition:all .3s ease}.recommendation-item:hover{background:#2a8f9b0d}.recommendation-badge{font-size:1.5em;flex-shrink:0}.recommendation-item p{margin:0;font-size:.95em;color:var(--text-dark)}@media(max-width:1200px){.charts-grid,.insights-section{grid-template-columns:1fr}}@media(max-width:768px){.analytics-page .page-header{flex-direction:column;gap:1.5em}.filters{width:100%;flex-direction:column}.filter-select{width:100%}.metrics-grid{grid-template-columns:1fr}.metric-card{flex-direction:column;text-align:center}}.messaging-page{max-width:1400px}.messaging-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2em}.messaging-container{display:grid;grid-template-columns:350px 1fr;gap:2em;min-height:calc(100vh - 300px)}.messaging-sidebar{padding:0;display:flex;flex-direction:column}.tabs{display:flex;border-bottom:1px solid var(--border-color)}.tabs button{flex:1;padding:1em;border:none;background:transparent;display:flex;align-items:center;justify-content:center;gap:.5em;cursor:pointer;font-weight:500;color:var(--text-light);transition:all .3s ease;border-bottom:2px solid transparent}.tabs button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.search-box{padding:1em;display:flex;align-items:center;gap:.75em;border-bottom:1px solid var(--border-color)}.search-box input{border:none;padding:0;width:100%}.search-box input:focus{outline:none;border:none}.conversations-list,.announcements-list{flex:1;overflow-y:auto}.conversation-item{display:flex;align-items:center;gap:1em;padding:1em;cursor:pointer;transition:background-color .3s ease;border-bottom:1px solid var(--border-color)}.conversation-item:hover{background-color:#f9fafb}.conversation-item.active{background-color:#2a8f9b0d;border-left:3px solid var(--primary-color)}.conversation-item img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.conversation-info{flex:1;min-width:0}.conversation-info h4{margin:0 0 .25em;font-size:.95em;color:var(--text-dark)}.conversation-info p{margin:0;font-size:.85em;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.5em}.conversation-meta .time{font-size:.75em;color:var(--text-light)}.unread-badge{background-color:var(--primary-color);color:#fff;padding:.15em .5em;border-radius:10px;font-size:.75em;font-weight:600}.announcement-item{padding:1.25em;border-bottom:1px solid var(--border-color);transition:background-color .3s ease}.announcement-item:hover{background-color:#f9fafb}.announcement-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1em;margin-bottom:.75em}.announcement-header h4{margin:0;font-size:.95em;color:var(--text-dark)}.course-badge{background-color:#2a8f9b1a;color:var(--primary-color);padding:.25em .75em;border-radius:12px;font-size:.75em;font-weight:500;white-space:nowrap}.announcement-item p{margin:0 0 1em;font-size:.9em;color:var(--text-dark);line-height:1.5}.announcement-footer{display:flex;justify-content:space-between;font-size:.8em;color:var(--text-light)}.announcement-footer span{display:flex;align-items:center;gap:.35em}.messaging-main{display:flex;flex-direction:column;padding:0}.chat-header{display:flex;align-items:center;gap:1em;padding:1.25em;border-bottom:1px solid var(--border-color)}.chat-header img{width:48px;height:48px;border-radius:50%;object-fit:cover}.chat-header h3{margin:0;font-size:1em;color:var(--text-dark)}.status{font-size:.8em;color:var(--success-color)}.chat-messages{flex:1;padding:1.5em;overflow-y:auto;display:flex;flex-direction:column;gap:1em;max-height:500px}.message{display:flex;gap:.75em;align-items:flex-end}.message.sent{justify-content:flex-end}.message img{width:32px;height:32px;border-radius:50%;object-fit:cover}.message-content{max-width:60%;display:flex;flex-direction:column;gap:.35em}.message.received .message-content{background-color:#f9fafb;border-radius:12px 12px 12px 4px}.message.sent .message-content{background-color:var(--primary-color);color:#fff;border-radius:12px 12px 4px;align-items:flex-end}.message-content p{margin:0;padding:.75em 1em;font-size:.95em;line-height:1.5}.message-time{font-size:.75em;opacity:.7;padding:0 1em .5em}.chat-input{display:flex;gap:1em;padding:1em;border-top:1px solid var(--border-color)}.chat-input input{flex:1;padding:.75em 1em;border:1px solid var(--border-color);border-radius:24px;font-size:.95em}.chat-input button{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3em;text-align:center}.empty-state h3{margin:1em 0 .5em;color:var(--text-dark)}.empty-state p{margin:0;color:var(--text-light)}.new-announcement-form{padding:2em}.new-announcement-form h3{margin:0 0 1.5em;color:var(--text-dark)}.new-announcement-form .form-group{margin-bottom:1.5em}.new-announcement-form label{display:block;margin-bottom:.5em;font-weight:500;color:var(--text-dark)}.form-actions{display:flex;gap:1em;justify-content:flex-end;margin-top:2em}@media(max-width:1024px){.messaging-container{grid-template-columns:300px 1fr}}@media(max-width:768px){.messaging-container{grid-template-columns:1fr}.messaging-sidebar{max-height:400px}.message-content{max-width:80%}}.sidebar{position:fixed;left:0;top:0;width:280px;height:100vh;background:linear-gradient(180deg,#fff,#f7fafc);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;z-index:1000;border-right:1px solid var(--border-light)}.sidebar-header{padding:2rem 1.75rem;border-bottom:1px solid var(--border-light);background:linear-gradient(135deg,#2a8f9b0d,#3ca9b70d)}.sidebar-brand{display:flex;align-items:center;gap:.875rem;font-size:1.5rem;font-weight:800;color:var(--primary-color);text-decoration:none;transition:transform var(--transition-base);letter-spacing:-.02em}.sidebar-brand:hover{transform:scale(1.02)}.sidebar-brand svg{filter:drop-shadow(0 2px 4px rgba(42,143,155,.3))}.sidebar-menu{flex:1;display:flex;flex-direction:column;padding:1.25rem .75rem;overflow-y:auto;gap:.375rem}.nav-link{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;color:var(--text-medium);text-decoration:none;font-weight:600;font-size:.9375rem;transition:all var(--transition-base);border-radius:var(--radius-lg);border-left:3px solid transparent;position:relative;overflow:hidden}.nav-link:before{content:"";position:absolute;left:0;top:0;width:0;height:100%;background:var(--primary-gradient);opacity:.1;transition:width var(--transition-base);z-index:0}.nav-link:hover:before{width:100%}.nav-link>*{position:relative;z-index:1}.nav-link:hover{background-color:#2a8f9b14;color:var(--primary-color);border-left-color:var(--primary-color);transform:translate(4px)}.nav-link svg{flex-shrink:0;transition:transform var(--transition-base)}.nav-link:hover svg{transform:scale(1.1)}.nav-link.active{background:var(--primary-gradient);color:#fff;border-left-color:var(--primary-dark);box-shadow:var(--shadow-md)}.nav-link.active svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.sidebar-footer{border-top:1px solid var(--border-light);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1rem;background:linear-gradient(180deg,transparent 0%,rgba(247,250,252,.5) 100%)}.user-profile{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,#2a8f9b0d,#3ca9b70d);text-decoration:none;color:var(--text-dark);transition:all var(--transition-base);border:1px solid transparent}.user-profile:hover{background:linear-gradient(135deg,#2a8f9b1a,#3ca9b71a);border-color:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.user-profile img{width:44px;height:44px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0;border:2px solid var(--primary-light);box-shadow:var(--shadow-sm);background-color:#e5e7eb;display:block}.user-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.user-name{font-weight:700;font-size:.9375rem;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.8125rem;color:var(--text-light);text-transform:capitalize;font-weight:500}.logout-btn{display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;padding:.875rem 1rem;border-radius:var(--radius-lg);background:#fff;color:var(--text-medium);border:1.5px solid var(--border-color);cursor:pointer;transition:all var(--transition-base);font-weight:600;font-size:.9375rem}.logout-btn:hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:#dc2626;box-shadow:var(--shadow-md);transform:translateY(-2px)}.logout-btn svg{transition:transform var(--transition-base)}.logout-btn:hover svg{transform:translate(2px)}.login-btn{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.875rem 1.5rem;border-radius:var(--radius-lg);background:var(--primary-gradient);color:#fff;text-decoration:none;font-weight:600;transition:all var(--transition-base);box-shadow:var(--shadow-md);font-size:.9375rem}.login-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl)}@media(max-width:768px){.sidebar{width:75px}.sidebar-header{padding:1.5rem .75rem}.sidebar-brand span{display:none}.sidebar-brand{justify-content:center;font-size:1.25rem}.sidebar-menu{padding:1rem .5rem}.nav-link{padding:1rem .75rem;justify-content:center;flex-direction:column;gap:.375rem;font-size:.7rem}.nav-link span{font-size:.7rem;text-align:center}.nav-link:hover{transform:none}.sidebar-footer{padding:1rem .5rem}.user-profile{flex-direction:column;padding:.625rem;text-align:center;gap:.5rem}.user-profile img{width:36px;height:36px}.user-info,.logout-btn span{display:none}.logout-btn{padding:.875rem}}@media(max-width:480px){.sidebar{width:65px}.nav-link span{font-size:.625rem}.user-profile img{width:32px;height:32px}}.layout{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:2.5rem;margin-left:280px;min-height:100vh;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.main-content{padding:1.5rem 1rem;margin-left:75px}}@media(max-width:480px){.main-content{margin-left:65px;padding:1rem .75rem}}
