:root{--primary: #2DBE72;--primary-hover: #27AA65;--primary-light: #D4F5E5;--primary-dark: #1E8A4C;--background: #F9FAFB;--surface: #FFFFFF;--surface-hover: #F3F4F6;--text-primary: #111827;--text-secondary: #6B7280;--text-tertiary: #9CA3AF;--text-white: #FFFFFF;--border: #E5E7EB;--border-light: #F3F4F6;--success: #10B981;--warning: #F59E0B;--error: #EF4444;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--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;--container-max-width: 1400px;--module-detail-width: 1200px;--transition: all .2s ease-in-out;--transition-fast: all .15s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--background);font-size:16px}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-md)}.module-detail-container{max-width:var(--module-detail-width);margin:0 auto;padding:0 var(--spacing-md)}.lesson-page{--module-detail-width: 1800px}.lesson-page .module-detail-container{max-width:var(--module-detail-width);width:100%;padding:0 var(--spacing-lg)}.header{background-color:var(--surface);border-bottom:1px solid var(--border);padding:var(--spacing-md) 0;margin-bottom:var(--spacing-xl)}.header .container{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}@media (min-width: 768px){.header .container{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--spacing-md)}}.header h1{font-size:1.75rem;font-weight:700;color:var(--primary);margin:0;display:flex;align-items:center;gap:var(--spacing-sm)}.header p{color:var(--text-secondary);font-size:1rem;margin:0;max-width:720px}.header-logo{width:40px;height:40px}.modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.module-card{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);transition:var(--transition);text-decoration:none;color:inherit;display:block;border:1px solid var(--border-light)}.module-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--primary-light)}.module-card-header{display:flex;align-items:center;margin-bottom:var(--spacing-lg)}.module-card-icon{font-size:2.5rem;color:var(--primary);margin-right:var(--spacing-lg);width:60px;text-align:center}.module-card-title{font-size:1.5rem;font-weight:600;line-height:1.2;margin:0}.module-card-description{color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.5}.module-card-audience{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.audience-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:var(--primary-light);color:var(--primary-dark);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.module-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--text-tertiary)}.lesson-count{display:flex;align-items:center}.lesson-count i{margin-right:var(--spacing-xs)}.lessons-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.lesson-card{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-2xl) var(--spacing-3xl);border:1px solid var(--border);transition:var(--transition)}.lesson-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light)}.lesson-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg)}.lesson-card-title{font-size:1.25rem;font-weight:600;margin:0;flex:1}.lesson-card-meta{display:flex;gap:var(--spacing-lg);font-size:.875rem;color:var(--text-secondary);margin-top:var(--spacing-xs)}.lesson-progress{margin-left:var(--spacing-lg)}.lesson-progress input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary)}.lesson-content{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-2xl) var(--spacing-3xl);margin:var(--spacing-xl) 0;border:1px solid var(--border)}.lesson-content-layout{display:flex;gap:var(--spacing-2xl)}.lesson-body{flex:1 1 auto;min-width:0}.lesson-content h1,.lesson-content h2,.lesson-content h3{margin-bottom:var(--spacing-lg);line-height:1.2}.lesson-content h1{font-size:2rem;font-weight:700;color:var(--primary)}.lesson-content h2{font-size:1.5rem;font-weight:600}.lesson-content h3{font-size:1.25rem;font-weight:600}.lesson-content p{margin-bottom:var(--spacing-lg);line-height:1.7}.lesson-content ul,.lesson-content ol{margin-bottom:var(--spacing-lg);padding-left:var(--spacing-xl)}.lesson-content li{margin-bottom:var(--spacing-sm)}.lesson-toc{flex:0 0 320px;width:320px;align-self:flex-start;position:sticky;top:var(--spacing-xl);max-height:calc(100vh - 4rem);overflow-y:auto;margin-bottom:0;padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--surface-hover);border:1px solid var(--border);border-left:4px solid var(--primary-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);scrollbar-color:rgba(17,24,39,.25) transparent}.lesson-toc-header{display:flex;align-items:center;gap:var(--spacing-xs);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.lesson-toc-header i{color:var(--primary)}.lesson-toc-list{margin:0;padding-left:0;list-style:none;color:var(--text-secondary);display:flex;flex-direction:column;gap:.35rem;counter-reset:toc-counter}.lesson-toc-item{counter-increment:toc-counter}.lesson-toc-item a{position:relative;display:block;padding:.45rem .75rem .45rem 2.2rem;border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none;font-weight:500;line-height:1.45;transition:background-color .2s ease,color .2s ease}.lesson-toc-item a:before{content:counter(toc-counter,decimal-leading-zero);position:absolute;left:.65rem;top:.55rem;font-size:.75rem;font-weight:600;color:var(--primary-dark);background-color:var(--primary-light);padding:.1rem .4rem;border-radius:var(--radius-sm)}.lesson-toc-item a:hover,.lesson-toc-item a:focus-visible{background-color:var(--surface);color:var(--primary-dark);outline:none;box-shadow:inset 0 0 0 1px var(--primary-light)}.lesson-toc::-webkit-scrollbar{width:6px}.lesson-toc::-webkit-scrollbar-thumb{background-color:#11182740;border-radius:999px}@media (max-width: 1024px){.lesson-content-layout{flex-direction:column}.lesson-toc{position:static;width:100%;flex:none;max-height:none;order:-1;margin-bottom:var(--spacing-xl)}}.video-container{margin:var(--spacing-xl) 0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.video-container iframe,.video-container video,.ql-video{width:100%;height:600px;border:none;display:block}.lesson-content img,.lesson-card img,.module-card img{max-width:100%;height:auto;display:block;margin:var(--spacing-lg) 0;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.ql-editor img{max-width:100%;height:auto;display:block;margin:1em 0;border-radius:var(--radius-md)}img{max-width:100%;height:auto}.image-container{max-width:100%;overflow:hidden;margin:var(--spacing-lg) 0;border-radius:var(--radius-md)}.image-container img{width:100%;height:auto;display:block}.filter-search-section{background-color:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.filter-controls{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);align-items:center;margin-bottom:var(--spacing-lg)}.filter-group{display:flex;align-items:center;gap:var(--spacing-sm)}.filter-group label{font-weight:500;color:var(--text-secondary);font-size:.9rem}.search-box{flex:1;min-width:300px}.search-box input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);font-size:1rem;transition:var(--transition)}.search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.filter-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.filter-btn{background-color:var(--surface);border:1px solid var(--border);color:var(--text-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:var(--transition)}.filter-btn:hover{background-color:var(--surface-hover);border-color:var(--primary-light)}.filter-btn.active{background-color:var(--primary);color:var(--text-white);border-color:var(--primary)}.audience-badges{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.audience-badge{background-color:var(--primary-light);color:var(--primary-dark);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:var(--transition);border:none}.btn-primary{background-color:var(--primary);color:var(--text-white)}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--surface-hover);border-color:var(--primary-light)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem}.breadcrumb{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);font-size:.875rem;color:var(--text-secondary)}.lesson-top-bar{display:flex;flex-direction:column;gap:var(--spacing-xs)}@media (min-width: 640px){.lesson-top-bar{flex-direction:row;align-items:center;gap:var(--spacing-md)}}.lesson-top-bar .back-button{flex-shrink:0}.breadcrumb a{color:var(--primary);text-decoration:none;transition:var(--transition)}.breadcrumb a:hover{color:var(--primary-hover)}.breadcrumb-separator{color:var(--text-tertiary)}.back-button{display:inline-flex;align-items:center;color:var(--primary);text-decoration:none;margin-bottom:var(--spacing-xl);font-weight:500;transition:var(--transition)}.back-button i{margin-right:var(--spacing-sm)}.back-button:hover{color:var(--primary-hover);transform:translate(-2px)}.lesson-back-link{position:fixed;bottom:var(--spacing-xl);left:0%;transform:none;display:none;z-index:100}.lesson-back-link.is-visible{display:flex;align-items:center}.lesson-back-link-anchor{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--text-secondary);text-decoration:none;background-color:var(--surface);border:1px solid var(--border);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:var(--transition);white-space:nowrap}.lesson-back-link-anchor i{font-size:.75rem}.lesson-back-link-anchor:hover{color:var(--primary);border-color:var(--primary-light);box-shadow:var(--shadow-md)}@media (max-width: 1344px){.lesson-back-link{position:static;left:auto;bottom:auto;transform:none;margin:var(--spacing-md) 0 var(--spacing-lg)}.lesson-back-link.is-visible{display:inline-flex;align-items:center}}.loading{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.error{background-color:#fef2f2;color:var(--error);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid #FECACA;margin:var(--spacing-lg) 0}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.empty-state i{font-size:2rem;color:var(--text-tertiary)}.lesson-section{border-left:4px solid var(--primary);background-color:var(--surface);padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:var(--spacing-xl) 0}.lesson-section h2,.lesson-section h3{margin-top:0;margin-bottom:var(--spacing-md)}.lesson-callout{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-lg);margin:var(--spacing-xl) 0;border:1px solid transparent;box-shadow:var(--shadow-sm);page-break-inside:avoid;break-inside:avoid}.lesson-callout:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:1.25rem;opacity:.6;line-height:1;flex-shrink:0;margin-top:.25rem;color:currentColor}.lesson-callout-content{flex:1;min-width:0;page-break-inside:avoid;break-inside:avoid}.lesson-callout-title{font-weight:600;margin-bottom:var(--spacing-sm)}.lesson-callout--info{background-color:#e0f2fe;border-color:#bae6fd;color:#0c4a6e}.lesson-callout--warning{background-color:#fef3c7;border-color:#fde68a;color:#92400e}.lesson-callout--success{background-color:#dcfce7;border-color:#bbf7d0;color:#166534}.lesson-callout--danger{background-color:#fee2e2;border-color:#fecaca;color:#991b1b}.lesson-callout-body p{margin:0}.lesson-callout-body p+p{margin-top:var(--spacing-sm)}.admin-container{max-width:1200px;margin:0 auto;padding:var(--spacing-xl)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border)}.admin-actions{display:flex;gap:var(--spacing-md)}.scroll-to-top{position:fixed;right:var(--spacing-xl);bottom:var(--spacing-xl);width:3.25rem;height:3.25rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:9999px;background-color:var(--primary);color:var(--text-white);box-shadow:var(--shadow-lg);cursor:pointer;opacity:0;transform:translateY(20px);transition:opacity .2s ease,transform .2s ease,background-color .2s ease;pointer-events:none;z-index:1000}.scroll-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.scroll-to-top:hover,.scroll-to-top:focus-visible{background-color:var(--primary-hover)}.scroll-to-top:focus-visible{outline:2px solid var(--primary-light);outline-offset:3px}.scroll-to-top i{font-size:1.1rem}@media (max-width: 768px){:root{--container-max-width: 100%;--module-detail-width: 100%}.lesson-page{--module-detail-width: 100%}.lesson-page .module-detail-container,.container,.module-detail-container{padding:0 var(--spacing-sm)}.modules-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.lesson-card,.lesson-content{padding:var(--spacing-lg) var(--spacing-xl)}.lesson-card-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.lesson-progress{margin-left:0;margin-top:var(--spacing-sm)}.filter-controls{flex-direction:column;align-items:stretch}.search-box{min-width:unset}.filter-buttons{justify-content:center}.admin-header{flex-direction:column;gap:var(--spacing-lg);align-items:stretch}.admin-actions{justify-content:center}.video-container iframe,.video-container video,.ql-video{height:250px}.lesson-content img,.lesson-card img,.ql-editor img{max-width:100%;width:100%;height:auto;margin:var(--spacing-md) 0}.lesson-toc{padding:var(--spacing-lg)}}@media (max-width: 480px){.header h1{font-size:1.5rem}.module-card{padding:var(--spacing-lg)}.module-card-icon{font-size:2rem;width:50px}.module-card-title{font-size:1.25rem}.lesson-card,.lesson-content{padding:var(--spacing-md) var(--spacing-lg)}}@media (max-width: 768px){.scroll-to-top{right:var(--spacing-lg);bottom:var(--spacing-lg);width:3rem;height:3rem}}@media (max-width: 480px){.scroll-to-top{right:var(--spacing-md);bottom:var(--spacing-md);width:2.75rem;height:2.75rem}}.embed-delete-btn{display:none!important}.ql-editor .embed-delete-btn{display:flex!important}.lesson-page .lesson-content{padding:var(--spacing-2xl)}
