:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary: #0ea5e9;--accent: #f59e0b;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--white: #ffffff;--black: #000000;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-hero: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #4338ca 100%);--gradient-card: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .05) 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-glow: 0 0 40px rgba(99, 102, 241, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--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: .2s ease;--transition-slow: .3s ease;--font-family: "Noto Sans Georgian", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:16px;line-height:1.6;color:var(--gray-800);background-color:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.layout{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.main{flex:1}.header{background:var(--white);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.header .container{display:flex;align-items:center;justify-content:space-between;height:70px}.logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.5rem;font-weight:700;color:var(--gray-900);transition:var(--transition-base)}.logo:hover{color:var(--primary)}.logo-icon{font-size:1.75rem}.nav{display:flex;align-items:center;gap:var(--spacing-lg)}.nav-link{color:var(--gray-600);font-weight:500;transition:var(--transition-base);position:relative}.nav-link:hover{color:var(--primary)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--primary);transition:var(--transition-base)}.nav-link:hover:after{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:.95rem;font-weight:600;border-radius:var(--radius-lg);border:2px solid transparent;transition:all var(--transition-base);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:var(--white);box-shadow:var(--shadow)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-glow)}.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary)}.btn-outline:hover:not(:disabled){background:var(--primary);color:var(--white)}.btn-danger{background:var(--error);color:var(--white)}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.1rem}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem}.btn-block{width:100%}.footer{background:var(--gray-900);color:var(--gray-400);padding:var(--spacing-xl) 0;text-align:center}.home{overflow:hidden}.hero{background:var(--gradient-hero);color:var(--white);padding:var(--spacing-3xl) 0;position:relative;overflow:hidden;min-height:500px;display:flex;align-items:center;justify-content:center}.hero-content{text-align:center;position:relative;z-index:2;max-width:800px;margin:0 auto;padding:0 var(--spacing-lg)}.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-lg)}.highlight{background:linear-gradient(135deg,#f59e0b,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(1rem,2.5vw,1.25rem);color:#fffc;margin-bottom:var(--spacing-xl)}.hero-buttons{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.hero-decoration{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.floating-shape{position:absolute;border-radius:50%;opacity:.1;animation:float 6s ease-in-out infinite}.shape-1{width:300px;height:300px;background:var(--primary-light);top:-100px;right:-100px;animation-delay:0s}.shape-2{width:200px;height:200px;background:var(--accent);bottom:-50px;left:10%;animation-delay:2s}.shape-3{width:150px;height:150px;background:var(--secondary);top:50%;left:-50px;animation-delay:4s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.features{padding:var(--spacing-3xl) 0;background:var(--white)}.section-title{text-align:center;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;margin-bottom:var(--spacing-2xl);color:var(--gray-900)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-xl)}.feature-card{background:var(--gray-50);padding:var(--spacing-xl);border-radius:var(--radius-xl);text-align:center;transition:all var(--transition-base);border:1px solid var(--gray-200)}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.feature-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.feature-card h3{color:var(--gray-900);margin-bottom:var(--spacing-sm);font-size:1.25rem}.feature-card p{color:var(--gray-600);font-size:.95rem}.stats{padding:var(--spacing-3xl) 0;background:var(--gradient-hero);color:var(--white)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-xl);text-align:center}.stat-number{display:block;font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:var(--spacing-xs)}.stat-label{color:#fffc;font-size:1rem}.auth-page{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);background:linear-gradient(135deg,var(--gray-100) 0%,var(--gray-200) 100%)}.auth-container{width:100%;max-width:450px}.auth-card{background:var(--white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--spacing-2xl)}.register-card{max-width:500px}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-header h1{font-size:1.75rem;color:var(--gray-900);margin-bottom:var(--spacing-sm)}.auth-header p{color:var(--gray-600)}.auth-buttons{display:flex;flex-direction:column;gap:var(--spacing-md)}.dropdown{position:relative;display:inline-block}.dropdown-menu{display:none;position:absolute;top:100%;left:0;background-color:var(--white);min-width:160px;box-shadow:var(--shadow-lg);border-radius:var(--radius-md);padding:var(--spacing-xs) 0;z-index:1000;border:1px solid var(--gray-200)}.dropdown:hover .dropdown-menu{display:block;animation:fadeIn .2s ease-in-out}.dropdown-item{display:block;padding:var(--spacing-sm) var(--spacing-md);color:var(--gray-700);transition:var(--transition-base);text-decoration:none}.dropdown-item:hover{background-color:var(--gray-100);color:var(--primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-btn{display:none;background:none;border:none;font-size:1.5rem;color:var(--gray-800);cursor:pointer;z-index:101}.mobile-only{display:none}.auth-buttons-group{display:flex;align-items:center}@media (max-width: 768px){.header .container{padding:0 var(--spacing-md)}.mobile-menu-btn{display:block}.nav{position:fixed;top:0;right:-100%;width:70%;height:100vh;background:var(--white);flex-direction:column;padding:80px var(--spacing-lg) var(--spacing-xl);box-shadow:-5px 0 15px #0000001a;transition:right .3s ease-in-out;align-items:flex-start;gap:var(--spacing-md);z-index:100;overflow-y:auto}.nav.nav-open{right:0}.nav-link{font-size:1.1rem;width:100%;padding:var(--spacing-sm) 0}.nav-icon{margin-right:8px}.dropdown{width:100%}.dropdown-menu{position:static;box-shadow:none;border:none;padding-left:var(--spacing-lg);background:var(--gray-50);display:none}.dropdown.active .dropdown-menu{display:block}.dropdown:hover .dropdown-menu{display:none}.dropdown.active:hover .dropdown-menu{display:block}.auth-buttons-group{flex-direction:column;align-items:flex-start;width:100%;gap:var(--spacing-md)}.btn{width:100%}.mobile-only{display:inline;margin-left:.5rem}}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-size:1rem;font-weight:600;border:2px solid var(--gray-200);background:var(--white);transition:all var(--transition-base)}.oauth-icon{width:24px;height:24px}.google-btn:hover{border-color:#4285f4;background:#f8faff}.github-btn{background:var(--gray-900);color:var(--white);border-color:var(--gray-900)}.github-btn:hover{background:var(--gray-800)}.auth-info{margin-top:var(--spacing-xl);padding:var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-lg);font-size:.875rem;color:var(--gray-600)}.info-icon{margin-right:var(--spacing-sm)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-weight:600;color:var(--gray-700);font-size:.9rem}.form-group input,.form-group select{padding:var(--spacing-md);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-size:1rem;transition:var(--transition-base);background:var(--white)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.form-group input::placeholder{color:var(--gray-400)}.role-selector{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.role-option{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.role-option input{display:none}.role-option.selected,.role-option:hover{border-color:var(--primary);background:#6366f10d}.role-option.selected{background:#6366f11a}.role-icon{font-size:2rem}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md)}.profile-page{padding:var(--spacing-2xl) 0}.profile-header{display:flex;align-items:center;gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl);background:var(--gradient-primary);border-radius:var(--radius-2xl);color:var(--white)}.profile-avatar{width:80px;height:80px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;flex-shrink:0}.profile-info h1{font-size:1.5rem;margin-bottom:var(--spacing-xs)}.role-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.875rem;font-weight:600;background:#fff3}.role-admin{background:var(--error)}.role-teacher{background:var(--success)}.role-student{background:var(--secondary)}.profile-content{display:grid;gap:var(--spacing-xl)}.profile-card{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:var(--spacing-xl)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--gray-200)}.card-header h2{font-size:1.25rem;color:var(--gray-900)}.profile-details{display:grid;gap:var(--spacing-md)}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.detail-label{color:var(--gray-500);font-size:.9rem}.detail-value{font-weight:500;color:var(--gray-800)}.profile-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.security-options{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);font-size:.95rem}.alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.alert-success{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg);background:var(--gray-50)}.spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.header .container{padding:0 var(--spacing-md)}.nav{gap:var(--spacing-md)}.nav-link{font-size:.9rem}.hero{padding:var(--spacing-2xl) 0;min-height:auto}.hero-buttons{flex-direction:column;align-items:center}.form-row,.role-selector{grid-template-columns:1fr}.profile-header{flex-direction:column;text-align:center}.auth-card{padding:var(--spacing-lg)}.detail-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.card-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.form-actions,.security-options{flex-direction:column}.security-options .btn{width:100%}}.learning-container{display:flex;height:calc(100vh - 70px);background:var(--white);overflow:hidden}.learning-sidebar{width:340px;background-color:var(--gray-100);border-right:1px solid var(--gray-200);display:flex;flex-direction:column;flex-shrink:0;padding-top:var(--spacing-xl);height:100%;overflow:hidden}.sidebar-header{padding:0 var(--spacing-xl) var(--spacing-md)}.sidebar-header h2{font-size:1.5rem;color:var(--gray-900);font-weight:700}.sidebar-divider{height:1px;background-color:var(--gray-300);width:90%;margin:0 auto var(--spacing-lg)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0 var(--spacing-lg)}.sidebar-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-lg);color:var(--gray-700);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.sidebar-item:hover{background-color:var(--white);color:var(--primary);box-shadow:var(--shadow-sm)}.sidebar-icon{font-size:1.2rem}.learning-main{flex:1;padding:var(--spacing-xl);background-color:var(--white);overflow-y:auto;height:100%}.main-header{text-align:center;margin-bottom:var(--spacing-2xl)}.main-header h1{font-size:1.75rem;color:var(--gray-800);font-weight:700}.content-search-area{margin-bottom:var(--spacing-2xl);padding-left:var(--spacing-lg)}.search-label{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--gray-600);font-weight:600;margin-bottom:var(--spacing-sm);font-size:1.1rem}.content-divider{height:1px;background-color:var(--gray-300);width:80%}.courses-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg);padding:var(--spacing-md)}@media (max-width: 1400px){.courses-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1100px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.courses-grid{grid-template-columns:1fr}}.course-card{position:relative;background:var(--white);padding:0;border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:all var(--transition-base);overflow:hidden}.course-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-light)}.course-card-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.course-card-content{padding:var(--spacing-md)}.trash-btn{position:absolute;top:10px;right:10px;background-color:#ffffffe6;color:var(--gray-500);padding:8px;border-radius:var(--radius-full);transition:all .2s;z-index:10;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}.trash-btn:hover{background-color:var(--error);color:var(--white);border-color:var(--error)}.course-detail-view{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-2xl);max-width:900px;margin:0 auto}.detail-header{text-align:center;margin-bottom:var(--spacing-lg)}.detail-header h2{font-size:1.5rem;color:var(--gray-900);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin:0}.detail-actions{display:flex;justify-content:center;margin-bottom:var(--spacing-xl)}.detail-info{margin-top:var(--spacing-xl)}.detail-info h3{margin-bottom:var(--spacing-sm);color:var(--gray-800);font-size:1.2rem}.detail-title-row{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-lg) 0}.detail-title-row h2{margin:0;font-size:1.4rem;color:var(--gray-900)}.course-description-text{text-align:center;color:var(--gray-600);line-height:1.8;font-size:1rem}.status-icon{font-size:1.3rem}.section-divider-top{border-top:1px solid var(--gray-200);padding-top:var(--spacing-lg)}.content-divider-full{height:1px;background-color:var(--gray-200);width:100%;margin-bottom:var(--spacing-lg)}.no-courses-text{grid-column:1 / -1;text-align:center;color:var(--gray-500);padding:var(--spacing-2xl)}.empty-state{grid-column:1 / -1;text-align:center;padding:var(--spacing-3xl) var(--spacing-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.management-view{max-width:1000px;margin:0 auto}.management-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-actions{display:flex;justify-content:flex-start}.section-subtitle{font-size:1.25rem;color:var(--gray-700);font-weight:600;margin-top:var(--spacing-sm)}.content-divider-full{height:1px;background-color:var(--gray-300);width:100%}.management-list.empty{padding:var(--spacing-2xl);text-align:center;color:var(--gray-500);background:var(--gray-50);border-radius:var(--radius-lg);border:1px dashed var(--gray-300)}.no-data-text{font-size:.95rem}.sidebar-item.active{background-color:var(--white);color:var(--primary);box-shadow:var(--shadow-sm)}.create-course-view{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-xl)}.toggle-group{margin-top:var(--spacing-md)}.toggle-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xs)}.toggle-label{font-weight:600;color:var(--gray-800);min-width:120px}.toggle-label.dimmed{color:var(--gray-400)}.toggle-explanation{font-size:.85rem;color:var(--gray-600);font-style:italic;line-height:1.4}.form-section{display:flex;flex-direction:column}.section-title-with-icon{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:700;color:var(--gray-900);margin-bottom:var(--spacing-xs);font-size:1.1rem}.section-title-with-icon svg{color:var(--primary)}.image-upload-area{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}.image-hint{font-size:.875rem;color:var(--gray-500)}.image-preview-container{margin-top:var(--spacing-md);position:relative;width:100%;max-width:320px}.course-image-preview{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--gray-200);display:block}.form-actions-right{display:flex;justify-content:flex-end;margin-top:var(--spacing-xl)}.switch{position:relative;display:inline-block;width:50px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--gray-300);transition:.4s}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--primary)}input:focus+.slider{box-shadow:0 0 1px var(--primary)}input:checked+.slider:before{transform:translate(26px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.managed-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md);padding:var(--spacing-md) 0}.managed-item-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);transition:transform .2s,box-shadow .2s}.managed-item-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.managed-item-info{flex:1}.managed-item-info h3{margin:0 0 var(--spacing-xs) 0;font-size:1.1rem;color:var(--gray-900)}.item-author,.item-stats{font-size:.85rem;color:var(--gray-600);margin:0}.managed-item-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.settings-btn{color:var(--gray-500);padding:var(--spacing-xs);border-radius:var(--radius-full);transition:color .2s,background-color .2s;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.settings-btn:hover{background-color:var(--gray-100);color:var(--primary)}.course-author{font-size:.85rem;color:var(--gray-500);margin-bottom:var(--spacing-md)}.course-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.course-header h3{margin:0;flex:1}.course-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;white-space:nowrap}.course-type-badge.open{background:#22c55e26;color:#16a34a}.course-type-badge.closed{background:#ef444426;color:#dc2626}.join-actions{margin-top:var(--spacing-md)}.closed-join{display:flex;flex-direction:column;gap:var(--spacing-xs)}.code-input{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.9rem}.request-access{font-size:.75rem;text-align:center;margin-top:var(--spacing-xs)}.request-access a{color:var(--primary);text-decoration:none}.request-access a:hover{text-decoration:underline}@media (max-width: 480px){.logo-text{font-size:1.25rem}}.closed-course-actions{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:400px;align-items:center}.code-input-lg{padding:var(--spacing-md)!important;font-size:1.1rem!important;text-align:center;letter-spacing:2px}.request-access-lg{text-align:center;margin-top:var(--spacing-sm);font-size:.95rem;color:var(--gray-600)}.request-access-lg a{color:var(--primary);font-weight:500;text-decoration:none}.request-access-lg a:hover{text-decoration:underline}.rich-text-editor{border:2px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--white);overflow:hidden}.rte-toolbar{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-50);border-bottom:1px solid var(--gray-200);flex-wrap:wrap}.rte-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast)}.rte-btn:hover:not(:disabled){background:var(--gray-200);color:var(--gray-800)}.rte-content details,.course-description-content details,.module-content-text details{border:1px solid var(--gray-200);border-radius:var(--radius-md);margin:var(--spacing-md) 0;overflow:hidden;background:var(--white);display:block}.rte-content summary,.course-description-content summary,.module-content-text summary{background:var(--gray-50);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer!important;font-weight:600;color:var(--gray-700);font-family:var(--font-family);-webkit-user-select:none;user-select:none;pointer-events:auto!important;display:list-item!important;list-style:disclosure-closed inside!important}.rte-content details[open] summary,.course-description-content details[open] summary,.module-content-text details[open] summary{border-bottom:1px solid var(--gray-200);list-style:disclosure-open inside!important;margin-bottom:0}.rte-content summary::-webkit-details-marker,.course-description-content summary::-webkit-details-marker,.module-content-text summary::-webkit-details-marker{display:inline-block!important;color:var(--gray-500);margin-right:6px}.rte-content details>*:not(summary),.course-description-content details>*:not(summary),.module-content-text details>*:not(summary){padding:var(--spacing-md);margin:0;display:block}.rte-btn:disabled{opacity:.4;cursor:not-allowed}.rte-btn.active{background:var(--primary);color:var(--white)}.rte-heading-btn{font-weight:700;font-size:.85rem;width:auto;padding:0 var(--spacing-sm)}.rte-youtube-btn{color:red}.rte-youtube-btn:hover{background:#ff00001a;color:#c00}.rte-translate-btn{color:#4285f4}.rte-translate-btn:hover{background:#4285f41a;color:#1a73e8}.rte-font-size{padding:2px var(--spacing-sm);border:1px solid var(--gray-300);line-height:1.5;border-radius:var(--radius-md);background:var(--white);font-size:.875rem;color:var(--gray-700);cursor:pointer;min-width:60px}.rte-font-size:focus{outline:none;border-color:var(--primary)}.rte-divider{width:1px;height:24px;background:var(--gray-300);margin:0 var(--spacing-xs)}.rte-content{min-height:200px;max-height:500px;overflow-y:auto;padding:var(--spacing-md);font-size:1rem;line-height:1.7;color:var(--gray-800)}.rte-content:focus{outline:none}.rte-content:empty:before{content:attr(data-placeholder);color:var(--gray-400);pointer-events:none}.rte-content h1{font-size:2rem;font-weight:700;margin:var(--spacing-md) 0;color:var(--gray-900)}.rte-content h2{font-size:1.5rem;font-weight:600;margin:var(--spacing-md) 0;color:var(--gray-800)}.rte-content p{margin:var(--spacing-sm) 0}.youtube-embed{margin:var(--spacing-md) 0;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius-lg);background:var(--gray-900)}.youtube-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.rte-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.rte-modal{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:500px;margin:var(--spacing-md);box-shadow:var(--shadow-lg);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rte-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--gray-200)}.rte-modal-header h3{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.1rem;color:var(--gray-800);margin:0}.rte-modal-header h3 svg{color:red}.rte-modal-close{background:none;border:none;font-size:1.2rem;color:var(--gray-500);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:all var(--transition-fast)}.rte-modal-close:hover{background:var(--gray-100);color:var(--gray-700)}.rte-modal-body{padding:var(--spacing-lg)}.rte-modal-body .form-input{width:100%;padding:var(--spacing-md);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-size:1rem}.rte-modal-body .form-input:focus{outline:none;border-color:var(--primary)}.rte-modal-hint{margin-top:var(--spacing-sm);font-size:.85rem;color:var(--gray-500)}.rte-modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--gray-200)}.course-description-content{text-align:left;color:var(--gray-700);line-height:1.8}.course-description-content h1,.course-description-content h2{margin:var(--spacing-md) 0}.course-description-content .youtube-embed{max-width:100%}.rte-content{font-family:Calibri,Segoe UI,Arial,sans-serif}.inline-code{font-family:Consolas,Courier New,monospace;border:1px solid #000;padding:0 6px;background-color:#f5f5f5;border-radius:3px}.code-block1{font-family:Consolas,Courier New,monospace;font-size:14px;background-color:#f6f8fa;border:1px solid #d0d7de;padding:0 16px 10px;white-space:pre;line-height:1.5;margin:10px 0;display:block}.youtube-embed,.youtube-embed-wrapper{display:block!important;clear:both!important;margin:30px 0!important;position:relative!important;z-index:1;width:100%;padding-bottom:56.25%;height:0;overflow:hidden}.youtube-embed iframe,.youtube-embed-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.rte-content .youtube-embed+*,.course-description-content .youtube-embed+*,.rte-content .youtube-embed~*,.course-description-content .youtube-embed~*{clear:both;display:block}.input-error::placeholder{color:var(--error);opacity:.8}.input-error{border-color:var(--error)!important;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:#fff;border-radius:var(--radius-lg);padding:15px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #00000026;min-width:300px;max-width:400px;animation:slideIn .3s ease;pointer-events:auto;border-left:5px solid transparent}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--error)}.toast-warning{border-left-color:var(--warning)}.toast-info{border-left-color:var(--primary)}.toast-icon{display:flex;align-items:center;justify-content:center;font-size:1.2rem}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--error)}.toast-warning .toast-icon{color:var(--warning)}.toast-info .toast-icon{color:var(--primary)}.toast-message{color:var(--gray-800);font-size:.95rem;font-weight:500}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:var(--radius-xl);padding:0;width:90%;max-width:400px;box-shadow:0 10px 25px #0003;animation:scaleIn .2s ease;overflow:hidden}.modal-header{padding:20px 24px;border-bottom:1px solid var(--gray-200)}.modal-header h3{margin:0;font-size:1.2rem;color:var(--gray-900)}.modal-body{padding:24px;color:var(--gray-700);font-size:1rem;line-height:1.5}.modal-actions{padding:20px 24px;background:var(--gray-50);display:flex;justify-content:flex-end;gap:10px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.code-block-wrapper{position:relative;margin:20px 0;border-radius:12px;overflow:hidden;background:#1e1e2e;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#181825;border-bottom:1px solid #313244}.code-language-label{font-size:12px;font-weight:600;color:#cba6f7;text-transform:uppercase;letter-spacing:.5px}.code-copy-btn{position:absolute;top:8px;right:12px;padding:6px 12px;font-size:12px;font-weight:500;color:#cdd6f4;background:#45475a;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;z-index:10}.code-copy-btn:hover{background:#585b70;color:#fff}.code-copy-btn:active{transform:scale(.95)}pre.code-block{margin:0;padding:20px;overflow-x:auto;background:#1e1e2e}pre.code-block code{display:block;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-size:14px;line-height:1.6;color:#cdd6f4;white-space:pre;-moz-tab-size:4;tab-size:4}.code-block-wrapper code .keyword{color:#cba6f7}.code-block-wrapper code .string{color:#a6e3a1}.code-block-wrapper code .number{color:#fab387}.code-block-wrapper code .comment{color:#6c7086;font-style:italic}.code-block-wrapper code .function{color:#89b4fa}.code-block-wrapper code .class-name{color:#f9e2af}.code-block-wrapper code .operator{color:#89dceb}.code-block-wrapper code .punctuation{color:#9399b2}pre.code-block::-webkit-scrollbar{height:8px}pre.code-block::-webkit-scrollbar-track{background:#181825;border-radius:4px}pre.code-block::-webkit-scrollbar-thumb{background:#45475a;border-radius:4px}pre.code-block::-webkit-scrollbar-thumb:hover{background:#585b70}.rte-content .code-block-wrapper{margin:15px 0}.course-description-content .code-block-wrapper,.module-content .code-block-wrapper{margin:20px 0}.learning-sidebar.course-sidebar{display:flex;flex-direction:column;height:100%;overflow:hidden}.learning-sidebar.course-sidebar .sidebar-nav.sidebar-modules-scroll{flex:1;overflow-y:auto;padding:0;gap:0}.learning-sidebar.course-sidebar .sidebar-modules-scroll::-webkit-scrollbar{width:8px}.learning-sidebar.course-sidebar .sidebar-modules-scroll::-webkit-scrollbar-track{background:var(--gray-200)}.learning-sidebar.course-sidebar .sidebar-modules-scroll::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:4px}.learning-sidebar.course-sidebar .sidebar-modules-scroll::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.course-content-area{padding:30px 40px;overflow-y:auto;height:calc(100vh - 100px);background:var(--gray-50)}.course-content-area::-webkit-scrollbar{width:8px}.course-content-area::-webkit-scrollbar-track{background:var(--gray-100)}.course-content-area::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.course-content-area::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.module-content-view .module-title{font-size:1.8rem;color:var(--gray-900);margin-bottom:10px}.course-content-main{flex:1;padding:30px 40px;overflow-y:auto;background:var(--gray-50);height:100%}.course-content-main::-webkit-scrollbar{width:8px}.course-content-main::-webkit-scrollbar-track{background:var(--gray-100)}.course-content-main::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.course-content-main::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.module-content-view h2,.course-about-view h2{font-size:1.8rem;color:var(--gray-900);margin-bottom:10px}.module-content-text{color:var(--gray-600);font-size:1rem;line-height:1.7}.course-info-header{display:flex;gap:20px;margin-bottom:25px;padding:20px;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.course-detail-image{width:200px;height:auto;border-radius:var(--radius-md);object-fit:cover;aspect-ratio:16/9}.course-meta h3{font-size:1.3rem;color:var(--gray-900);margin-bottom:8px}.course-meta p{color:var(--gray-600);font-size:.95rem}@media (max-width: 900px){.course-content-layout{flex-direction:column;height:auto}.course-modules-sidebar{width:100%;min-width:100%;border-right:none;border-bottom:1px solid var(--gray-200);max-height:200px}.course-content-main{padding:20px}.course-info-header{flex-direction:column}.course-detail-image{width:100%;max-width:300px}}.content-divider-full.space-bottom{margin-bottom:20px}.management-section.spaced-top{margin-top:var(--spacing-2xl)}.clickable-title{cursor:pointer}.rte-content a,.course-description-content a,.module-content-text a{color:var(--primary);text-decoration:underline;font-weight:500;cursor:pointer;transition:color .2s ease}.rte-content a:hover,.course-description-content a:hover,.module-content-text a:hover{color:var(--primary-dark)}.rte-content ul,.course-description-content ul,.module-content-text ul{list-style-type:disc;padding-left:1.5rem;margin:10px 0}.rte-content ol,.course-description-content ol,.module-content-text ol{list-style-type:decimal;padding-left:1.5rem;margin:10px 0}.rte-content li,.course-description-content li,.module-content-text li{margin-bottom:5px}.sidebar-item,.course-title-item,.sub-module-item{position:relative;border-left:5px solid transparent!important;border-right:none!important;transition:all .2s ease}.sidebar-item:hover,.course-title-item:hover,.sub-module-item:hover{background:#fff!important;color:var(--primary);box-shadow:0 2px 5px #0000000d}.sidebar-item.active,.course-title-item.active,.sub-module-item.active{background:#fff!important;color:var(--primary);border-left-color:var(--primary)!important;border-right:none!important;font-weight:600;box-shadow:0 1px 3px #0000000d}.sub-module-item{border-bottom:1px solid transparent}.create-course-container{padding:var(--spacing-md) 0}.form-group-spaced{margin-bottom:var(--spacing-lg)}.form-label-bold{display:block;margin-bottom:var(--spacing-xs);font-weight:600}.full-width-input{width:100%;padding:var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.top-spacing-sm{margin-top:var(--spacing-sm)!important}.top-spacing-md{margin-top:var(--spacing-md)}.top-spacing-xl{margin-top:var(--spacing-xl)}.learning-container{display:flex;min-height:100vh;position:relative}.learning-sidebar{width:300px;min-width:300px;background:var(--gray-100);border-right:1px solid var(--gray-200);padding:var(--spacing-lg);overflow-y:auto}.learning-main{flex:1;overflow-y:auto}.learning-sidebar.editor-sidebar{display:flex;flex-direction:column}.sidebar-header-row{display:flex;align-items:center;gap:1rem;flex-shrink:0}.sidebar-header h2.sidebar-title{font-size:1.2rem;margin:0;display:flex;align-items:center;gap:.5rem}.sidebar-info-block{padding:0 var(--spacing-lg);margin-bottom:10px;flex-shrink:0}.sidebar-info-label{font-size:.9rem;color:var(--gray-500);margin:0 0 .5rem}.sidebar-info-value{font-weight:600;color:var(--gray-800);font-size:.95rem;line-height:1.4;margin:0}.sidebar-info-value a{text-decoration:none;color:inherit}.sidebar-modules-list{overflow-y:auto;padding:10px 0;flex:1}.sidebar-module-item{padding:6px 1.5rem;cursor:pointer;line-height:1.2;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;color:var(--gray-700);background-color:transparent;transition:all .2s ease;border-left:5px solid transparent}.sidebar-module-item:hover{background-color:#fff;color:var(--primary);box-shadow:0 2px 5px #0000000d}.sidebar-module-item.active{background-color:#fff;color:var(--primary);border-left-color:var(--primary);font-weight:600}.sidebar-module-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;flex:1}.sidebar-submodule-item{padding:6px 1.5rem 6px 2.5rem;cursor:pointer;line-height:1.2;font-size:.85rem;color:var(--gray-600);background-color:transparent;transition:all .2s ease;border-left:5px solid transparent}.sidebar-submodule-item:hover{background-color:#fff;color:var(--primary)}.sidebar-submodule-item.active{background-color:var(--gray-200);color:var(--primary);border-left-color:var(--primary)}.sidebar-submodules-container{background-color:var(--gray-50)}.sidebar-module-toggle{background:none;border:none;cursor:pointer;color:var(--gray-500);font-size:1em;padding:5px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.sidebar-module-toggle.expanded{transform:rotate(135deg)}.sidebar-nav-actions{display:flex;flex-direction:column;gap:5px;padding:5px 0}.sidebar-divider.flex-shrink{flex-shrink:0}.sidebar-divider.no-margin{margin:0}.sidebar-divider.small-margin{margin:5px auto}.btn-icon{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--gray-600);display:flex;align-items:center;justify-content:center;padding:5px;transition:color .2s}.btn-icon:hover{color:var(--primary)}.hamburger-menu{position:relative;width:42px;height:42px;border-radius:var(--radius-md);background:var(--gray-100);transition:all .3s ease}.hamburger-menu:hover{background:var(--primary-light);color:#fff;transform:scale(1.05)}.hamburger-menu.active{background:var(--primary);color:#fff}.hamburger-menu svg{transition:transform .3s ease}.hamburger-menu:active svg{transform:rotate(90deg)}.main-header-row{display:flex;align-items:center;gap:15px}.sidebar-item-danger,.sidebar-item-danger:hover{color:var(--error)!important}.sidebar-item-danger.active{color:var(--error)!important;border-left-color:var(--error)!important}@media (max-width: 768px){.learning-sidebar.editor-sidebar{position:fixed;top:0;left:-100%;height:100vh;width:280px;max-width:85vw;background:#fff;z-index:1000;transition:left .3s ease;box-shadow:2px 0 10px #0000001a;overflow-y:auto;will-change:left}.learning-container.sidebar-visible .learning-sidebar.editor-sidebar{left:0}.sidebar-mobile-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999;cursor:pointer}.learning-container.sidebar-visible .sidebar-mobile-overlay{display:block}.learning-main{width:100%!important;margin-left:0!important}.create-course-view{padding:var(--spacing-md)}.form-section{padding:var(--spacing-sm)}.main-header{padding:var(--spacing-sm) var(--spacing-md)}.section-title-with-icon{font-size:.9rem}.hamburger-menu{width:48px!important;height:48px!important;font-size:1.5rem!important;background:var(--primary)!important;color:#fff!important;box-shadow:0 2px 8px #6366f14d}.hamburger-menu:hover{background:var(--primary-dark)!important;transform:scale(1.1)!important}.hamburger-menu.active{background:var(--error)!important}.learning-container:before{content:"";position:fixed;left:0;top:50%;transform:translateY(-50%);width:4px;height:80px;background:linear-gradient(to right,var(--primary),transparent);opacity:.3;z-index:10;pointer-events:none;animation:swipeHint 2s ease-in-out infinite}.learning-container.sidebar-visible:before{display:none}@keyframes swipeHint{0%,to{opacity:.3;width:4px}50%{opacity:.6;width:6px}}.btn-icon{font-size:1.4rem;padding:8px}.sidebar-header{padding:var(--spacing-md)}.sidebar-modules-list{padding:5px 0}.data-table{font-size:.85rem}.data-table th,.data-table td{padding:8px 6px}}@media (max-width: 1024px) and (min-width: 769px){.learning-sidebar.editor-sidebar{width:250px}}
