.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background-color:var(--bg-color)}.error-boundary-content{max-width:500px;text-align:center;background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 6px #0000001a}.error-icon{font-size:48px;margin-bottom:20px}.error-boundary-content h2{color:var(--text-color);margin-bottom:16px;font-size:24px}.error-boundary-content p{color:var(--secondary-text-color);margin-bottom:24px;line-height:1.5}.error-details{margin:20px 0;text-align:left}.error-details summary{cursor:pointer;padding:8px;background-color:#f8f9fa;border-radius:4px;margin-bottom:8px}.error-stack{background-color:#f8f9fa;padding:12px;border-radius:4px;font-family:monospace;font-size:12px;overflow-x:auto;white-space:pre-wrap;color:#666}.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.retry-button,.reload-button{padding:12px 24px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease}.retry-button{background-color:var(--primary-color, #007bff);color:#fff}.reload-button{background-color:#6c757d;color:#fff}.reload-button:hover{background-color:#545b62}:root{--bg-color: #FFFBF3;--text-color: #111111;--secondary-text-color: #5F5F5F;--border-color: #C3BFB6;--font-family-default: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-weight-regular: 400;--font-weight-bold: 700;--h1-size: 48px;--h1-line-height: 52px;--h2-size: 40px;--h2-line-height: 44px;--h3-size: 32px;--h3-line-height: 40px;--h4-size: 24px;--h4-line-height: 32px;--h5-size: 20px;--h5-line-height: 24px;--h6-size: 16px;--h6-line-height: 20px;--body1-size: 20px;--body1-line-height: 28px;--body2-size: 16px;--body2-line-height: 24px;--body3-size: 14px;--body3-line-height: 20px;--body4-size: 12px;--body4-line-height: 16px;--body5-size: 10px;--body5-line-height: 12px}.h1{font-family:var(--font-family-default);font-size:var(--h1-size);line-height:var(--h1-line-height);font-weight:var(--font-weight-bold)}.h2{font-family:var(--font-family-default);font-size:var(--h2-size);line-height:var(--h2-line-height);font-weight:var(--font-weight-bold)}.h3{font-family:var(--font-family-default);font-size:var(--h3-size);line-height:var(--h3-line-height);font-weight:var(--font-weight-bold)}.h4{font-family:var(--font-family-default);font-size:var(--h4-size);line-height:var(--h4-line-height);font-weight:var(--font-weight-bold)}.h5{font-family:var(--font-family-default);font-size:var(--h5-size);line-height:var(--h5-line-height);font-weight:var(--font-weight-bold)}.h6{font-family:var(--font-family-default);font-size:var(--h6-size);line-height:var(--h6-line-height);font-weight:var(--font-weight-bold)}.body1{font-family:var(--font-family-default);font-size:var(--body1-size);line-height:var(--body1-line-height);font-weight:var(--font-weight-regular)}.body2{font-family:var(--font-family-default);font-size:var(--body2-size);line-height:var(--body2-line-height);font-weight:var(--font-weight-regular)}.body3{font-family:var(--font-family-default);font-size:var(--body3-size);line-height:var(--body3-line-height);font-weight:var(--font-weight-regular)}.body4{font-family:var(--font-family-default);font-size:var(--body4-size);line-height:var(--body4-line-height);font-weight:var(--font-weight-regular)}.body5{font-family:var(--font-family-default);font-size:var(--body5-size);line-height:var(--body5-line-height);font-weight:var(--font-weight-regular)}.body1-bold{font-family:var(--font-family-default);font-size:var(--body1-size);line-height:var(--body1-line-height);font-weight:var(--font-weight-bold)}.body2-bold{font-family:var(--font-family-default);font-size:var(--body2-size);line-height:var(--body2-line-height);font-weight:var(--font-weight-bold)}.body3-bold{font-family:var(--font-family-default);font-size:var(--body3-size);line-height:var(--body3-line-height);font-weight:var(--font-weight-bold)}.body4-bold{font-family:var(--font-family-default);font-size:var(--body4-size);line-height:var(--body4-line-height);font-weight:var(--font-weight-bold)}.body5-bold{font-family:var(--font-family-default);font-size:var(--body5-size);line-height:var(--body5-line-height);font-weight:var(--font-weight-bold)}html,body{margin:0;padding:0;width:100vw;max-width:100vw;overflow-x:hidden;box-sizing:border-box;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-family-default)}*,*:before,*:after{box-sizing:inherit}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#fffbf3;color:#333}.app-container{display:flex;height:100vh;height:100dvh;width:100vw;max-width:100vw;overflow:hidden}.animation-box{position:relative;border-radius:32px;border:1px solid var(--border-color);background-color:#fffbf34d;backdrop-filter:blur(120px);-webkit-backdrop-filter:blur(120px);overflow:hidden;z-index:1;padding:0}.animation-box-inner{padding:2rem;position:relative;z-index:2}.courses-controls-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px 40px;max-width:1400px;margin:0 auto;box-sizing:border-box}.courses-add-btn{background-color:#4a6cf7;color:#fff!important;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 4px #0000001a;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;height:40px;min-width:140px;text-decoration:none!important}.courses-add-btn:hover{background-color:#3a5bd9;transform:translateY(-1px);box-shadow:0 4px 8px #00000026;color:#fff!important}.courses-add-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.permissions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:8px 0 16px;max-height:250px;overflow-y:auto;padding:10px;border:1px solid var(--border-color);border-radius:6px;background-color:#fff;flex-shrink:0}.permission.add-course-form{display:flex;flex-direction:column;gap:20px;flex:1;min-height:0;overflow:hidden}.permission-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;border:1px solid #e9ecef;margin:0;box-shadow:0 1px 2px #0000000d}.permission-item:hover{background:#e9ecef;border-color:#dee2e6;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.permission-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#4a6cf7}.permission-item .permission-name{font-size:14px;color:#212529;-webkit-user-select:none;user-select:none;font-weight:500;margin:0}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box;overflow-y:auto}.modal-content{background:#fff;padding:20px 30px 30px;border-radius:8px;width:100%;max-width:500px;box-shadow:0 4px 20px #00000026;position:relative;max-height:90vh;display:flex;flex-direction:column;min-height:400px}.modal-content h3{color:#2e7d32;margin:0 0 1rem;font-size:1.3rem;font-weight:600;padding-top:5px}.modal-content p{color:#333;margin-bottom:1.5rem;line-height:1.5}.modal-close-button{background-color:#2e7d32;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.modal-close-button:hover{background-color:#1b5e20}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animation-box-circle{position:absolute;width:150px;height:150px;background:linear-gradient(270deg,#01068880 -12%,#9d000280 130.33%);border-radius:50%;filter:blur(80px);z-index:0;animation:moveCirclePattern 20s ease-in-out infinite}@keyframes moveCirclePattern{0%{top:-150px;left:100%;transform:translate(-50%)}16%{top:-150px;left:-150px;transform:translate(0)}33%{top:100%;left:100%;transform:translate(-150px,-150px)}50%{top:100%;left:-150px;transform:translateY(-150px)}66%{top:100%;left:100%;transform:translate(-150px,-150px)}83%{top:-150px;left:-150px;transform:translate(0)}to{top:-150px;left:100%;transform:translate(-50%)}}.col.form-group{margin-bottom:16px;flex-shrink:0}.form-group:last-child{margin-bottom:0;flex:1;display:flex;flex-direction:column;min-height:200px}@media (max-width: 1200px){.course-structure-sidebar,.tools-panel-sidebar{flex-basis:20%;max-width:20%}}@media (max-width: 1024px){.course-structure-sidebar,.tools-panel-sidebar{flex-basis:20%;max-width:20%}}@media (max-width: 768px){.courses-controls-row{padding:15px 20px;flex-direction:row;align-items:center}.courses-add-btn{min-width:120px;padding:8px 16px}.app-container{flex-direction:column;height:auto;min-height:100vh}.course-structure-sidebar,.main-content-panel,.tools-panel-sidebar{width:100%!important;min-width:100%!important;max-width:100%!important;flex:none;height:auto}.course-structure-sidebar{order:1}.main-content-panel{order:2;min-height:60vh}.tools-panel-sidebar{order:3}}.actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-top:10px;max-height:400px;overflow-y:auto;padding:10px;border:1px solid #e0e0e0;border-radius:4px}.action-item{margin:5px 0}.action-checkbox{display:flex;align-items:center;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s}.action-checkbox:hover{background-color:#f5f5f5}.action-name{font-size:14px;color:#333;margin-right:5px}.action-route{font-size:12px;color:#666;font-style:italic}.checkmark{position:relative;display:inline-block;width:18px;height:18px;background-color:#fff;border:1px solid #ccc;border-radius:3px;margin-right:10px}.action-checkbox input{position:absolute;opacity:0;cursor:pointer}.action-checkbox:hover input~.checkmark{background-color:#f0f0f0}.action-checkbox input:checked~.checkmark{background-color:#2196f3;border-color:#2196f3}.checkmark:after{content:"";position:absolute;display:none}.action-checkbox input:checked~.checkmark:after{display:block}.action-checkbox .checkmark:after{left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.card{background:#fff;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000f;transition:box-shadow .3s ease,transform .2s ease;overflow:hidden;width:100%;max-width:320px;margin:0 auto}.card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.card-content{padding:20px;display:flex;flex-direction:column;height:100%;min-height:220px}.card-image-container{margin-bottom:16px;border-radius:8px;overflow:hidden;background-color:#fafafa;position:relative;height:120px}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.card:hover .card-image{transform:scale(1.05)}.card-image-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);z-index:1}.card-image-placeholder:after{content:"🏗️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;z-index:2;opacity:.6}.card-title{margin:0 0 12px}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px}.card-duration-section{display:flex;align-items:center;gap:8px;color:var(--secondary-text-color)}.card-duration{color:var(--secondary-text-color)}.card-clock-icon{display:flex;align-items:center;justify-content:center;color:var(--secondary-text-color);padding:2px}.card-clickable{cursor:pointer}.card-examples-container{padding:40px;background-color:var(--bg-color);min-height:100vh;display:flex;flex-wrap:wrap;gap:20px;justify-content:center}@media (max-width: 768px){.card{max-width:100%}.card-content{padding:16px}.card-image{height:100px}.card-examples-container{padding:20px}}.color-picker{display:flex;flex-direction:column;gap:8px}.color-palette{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.color-swatch{width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .2s ease;outline:none;position:relative;padding:0;margin:0;background:none}.color-swatch:hover:not(.disabled){transform:scale(1.1);box-shadow:0 2px 4px #0000001a}.color-swatch:focus:not(.disabled){transform:scale(1.1);box-shadow:0 0 0 2px #007bff80}.color-swatch.active-color{border-color:#007bff;transform:scale(1.2);box-shadow:0 2px 6px #00000026}.color-swatch.active-color:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#333;font-size:10px;font-weight:700;text-shadow:0 0 2px rgba(255,255,255,.8)}.color-swatch.disabled{opacity:.5;cursor:not-allowed;transform:none!important}.color-swatch.disabled:hover{transform:none;box-shadow:none}.color-swatch.yellow{background-color:#ffeb3b!important}.color-swatch.green{background-color:#8bc34a!important}.color-swatch.blue{background-color:#90caf9!important}.color-swatch.pink{background-color:#f48fb1!important}.color-swatch.purple{background-color:#ce93d8!important}@media (prefers-reduced-motion: reduce){.color-swatch{transition:none}.color-swatch:hover:not(.disabled),.color-swatch:focus:not(.disabled){transform:none}.color-swatch.active-color{transform:scale(1.2)}}@media (prefers-contrast: high){.color-swatch{border-width:3px}.color-swatch.active-color{border-width:4px}}.color-swatch:focus-visible{outline:2px solid #007bff;outline-offset:2px}.modal-loading-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:#0009;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s ease-in-out;-webkit-transition:opacity .3s ease-in-out,visibility .3s ease-in-out;-moz-transition:opacity .3s ease-in-out,visibility .3s ease-in-out;-o-transition:opacity .3s ease-in-out,visibility .3s ease-in-out;overflow:hidden}.modal-loading-overlay.visible{opacity:1;visibility:visible}.modal-loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:90vw;max-height:90vh;pointer-events:auto}.modal-loading-spinner{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background-color:#fffffff2;border-radius:50%;box-shadow:0 4px 20px #00000026;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.15);-moz-box-shadow:0 4px 20px rgba(0,0,0,.15);margin-bottom:16px}.modal-loading-logo{width:50px;height:50px;object-fit:contain;object-position:center;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:none;animation:modalSpinLogo 2s linear infinite;-webkit-animation:modalSpinLogo 2s linear infinite;-moz-animation:modalSpinLogo 2s linear infinite;-o-animation:modalSpinLogo 2s linear infinite;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}@keyframes modalSpinLogo{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@-webkit-keyframes modalSpinLogo{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes modalSpinLogo{0%{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-o-keyframes modalSpinLogo{0%{-o-transform:rotate(0deg)}to{-o-transform:rotate(360deg)}}.modal-loading-message{color:#fff;font-size:16px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin-top:8px;padding:0 20px;text-shadow:0 1px 3px rgba(0,0,0,.5);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 480px){.modal-loading-spinner{width:60px;height:60px}.modal-loading-logo{width:36px;height:36px}.modal-loading-message{font-size:14px}}@media (prefers-contrast: high){.modal-loading-overlay{background-color:#000c}.modal-loading-spinner{background-color:#fff;border:2px solid #000000}.modal-loading-message{color:#fff;text-shadow:0 0 3px #000000}}@media (prefers-reduced-motion: reduce){.modal-loading-overlay{transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.modal-loading-logo{animation:none;-webkit-animation:none;-moz-animation:none;-o-animation:none}}@media print{.modal-loading-overlay{display:none!important}}.modal-loading-overlay:focus{outline:none}.modal-loading-overlay *{box-sizing:border-box}.modal-loading-logo{will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0)}.modal-loading-overlay{-moz-osx-font-smoothing:grayscale}.modal-loading-overlay{-ms-overflow-style:none;scrollbar-width:none}.modal-loading-overlay::-webkit-scrollbar{display:none}:root{--table-bg: #FFF8EB;--table-header-bg: #FFF8EB;--table-row-bg: #FFF8EB;--table-hover-bg: #f9f9f9;--table-border: #e0e0e0;--table-text: #374151;--table-header-text: #374151;--table-shadow: 0 2px 8px rgba(0, 0, 0, .04);--border-radius: 12px}.data-table-page{display:flex;flex-direction:column;width:100%;max-width:1400px;margin:0 auto;padding:0 0 24px;box-sizing:border-box;gap:0px}.data-table-container{background-color:var(--table-bg);border-radius:var(--border-radius);border:1px solid var(--table-border);box-shadow:var(--table-shadow);width:100%;box-sizing:border-box;overflow:hidden;padding:0;margin:0}.data-table-wrapper{overflow-x:auto;width:100%;box-sizing:border-box;-webkit-overflow-scrolling:touch;border:none;margin:0;border-radius:0}.data-table-content{width:100%;margin:0;padding:0}.data-table-page h2{font-size:24px;font-weight:600;color:var(--table-text);margin:0 0 24px;padding:0}.data-table{width:100%;border-collapse:collapse;border-spacing:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;color:var(--table-text);background-color:var(--table-bg);margin:0;padding:0;table-layout:auto;border:none}.data-table thead{background-color:var(--table-header-bg);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--table-border)}.data-table th{padding:16px 20px;text-align:left;font-weight:600;font-size:14px;text-transform:none;letter-spacing:0;color:var(--table-header-text);background-color:var(--table-header-bg);border-bottom:1px solid var(--table-border);border-right:none;white-space:nowrap;position:relative}.data-table th:last-child{text-align:center}.data-table tbody tr{background-color:var(--table-row-bg);transition:background-color .2s ease;border-bottom:1px solid #f0f0f0}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background-color:var(--table-hover-bg)}.data-table td{padding:16px 20px;vertical-align:middle;border-right:none;border-bottom:none;font-size:14px;line-height:1.5;color:var(--table-text)}.data-row{cursor:pointer;transition:background-color .2s ease}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize;letter-spacing:.3px}.status-active{background-color:#e8f5e8;color:#2d5a2d}.status-inactive{background-color:#fff2e8;color:#8b4513}.status-draft{background-color:#f0f0f0;color:#666}.status-unknown{background-color:#f5f5f5;color:#666}.course-edit-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:4px;color:#6b7280;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;margin:0 auto}.action-button{padding:8px 16px;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.action-button:hover{background-color:#374151;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.data-table-footer{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0;text-align:center;display:flex;justify-content:space-between;align-items:center}.loading-container,.error-container,.empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background-color:#fff8eb;border-radius:12px;border:1px solid #e0e0e0}.loading-spinner{width:36px;height:36px;border:3px solid #e0e0e0;border-top:3px solid #374151;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-message,.error-message,.empty-message{color:#374151;font-size:14px;margin:0}.retry-button{margin-top:16px;padding:10px 24px;background-color:#374151;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.retry-button:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.error-message{color:#d32f2f}@media (max-width: 1024px){.data-table th,.data-table td{padding:14px 16px}}@media (max-width: 768px){.data-table-wrapper{border-radius:8px;overflow-x:auto}.data-table{min-width:100%}.data-table th,.data-table td{padding:12px 14px;font-size:14px}}@media (max-width: 576px){.data-table th,.data-table td{padding:12px 16px;font-size:13px}.action-button{padding:6px 12px;font-size:12px}.status-badge{padding:3px 10px;font-size:12px}.course-edit-btn{padding:6px}.course-edit-btn svg{width:14px;height:14px}}@media (max-width: 480px){.data-table th,.data-table td{padding:10px 12px;font-size:13px}.action-button{padding:4px 8px;font-size:12px}.status-badge{padding:2px 6px;font-size:11px}}.pagination-container{display:flex;justify-content:flex-end;margin-top:24px;padding:0;margin-bottom:24px;width:100%}.pagination-controls{display:flex;align-items:center;flex-wrap:wrap}.pagination-btn{display:flex;align-items:center;justify-content:center;border:1px solid #d1d5db;background-color:#1f2937;color:#fff;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;width:36px;height:36px;padding:0}.pagination-btn:hover:not(.disabled){background-color:#374151;border-color:#374151;color:#fff}.pagination-btn:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a;border-color:#3b82f6}.pagination-btn.disabled{background-color:#6b7280;color:#fff;cursor:not-allowed;border-color:#6b7280}.pagination-btn.disabled:hover{background-color:#6b7280}.pagination-number.active{background-color:#c3bfb6;border-color:#c3bfb6;color:#1f2937;font-weight:600;box-shadow:0 2px 4px #c3bfb64d;transform:scale(1.05)}.pagination-number.active:hover{background-color:#b3aea3;border-color:#b3aea3;color:#1f2937;box-shadow:0 4px 8px #c3bfb666;transform:scale(1.05)}.pagination-prev svg,.pagination-next svg{width:18px;height:18px}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:#9ca3af;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.pagination-container{justify-content:center}.pagination-controls{gap:4px}.pagination-btn{width:32px;height:32px;font-size:13px}.pagination-ellipsis{width:32px;height:32px}}@media (prefers-color-scheme: dark){.pagination-btn{background-color:#1f2937;border-color:#374151;color:#d1d5db}.pagination-btn:hover:not(.disabled){background-color:#374151;border-color:#4b5563;color:#f9fafb}.pagination-btn.disabled{background-color:#111827;color:#6b7280;border-color:#374151}.pagination-ellipsis{color:#6b7280}}.rich-text-editor{width:100%;border:1px solid #e5e2d9;border-radius:6px;background-color:#fffbf3;box-sizing:border-box;overflow:hidden}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#f8f9fa;border-bottom:1px solid #e5e2d9;gap:8px}.toolbar-group{display:flex;gap:4px;align-items:center}.toolbar-button{padding:6px 10px;border:1px solid #e5e2d9;border-radius:4px;background:#fff;color:#374151;cursor:pointer;font-size:12px;font-family:inherit;font-weight:600;transition:all .2s ease;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;outline:none;box-sizing:border-box}.toolbar-button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.save-button{padding:6px 12px;border:1px solid #007bff;border-radius:4px;background:#007bff;color:#fff;cursor:pointer;font-size:12px;font-family:inherit;font-weight:600;transition:all .2s ease;height:28px;display:flex;align-items:center;justify-content:center;outline:none;box-sizing:border-box}.save-button:hover:not(:disabled){background:#0056b3;border-color:#0056b3}.save-button:disabled,.save-button.saving{opacity:.7;cursor:not-allowed}.editor-content{position:relative}.editor-textarea{width:100%;min-height:200px;padding:12px 16px;font-family:inherit;font-size:14px;line-height:1.5;color:#333;outline:none;border:none;background:transparent;resize:vertical;box-sizing:border-box}.editor-textarea::placeholder{color:#9ca3af;font-style:italic}.editor-footer{padding:8px 16px;background-color:#f8f9fa;border-top:1px solid #e5e2d9;font-size:11px;color:#6b7280;text-align:right}.editor-hint{font-style:italic}.rich-text-editor:focus-within{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}@media (max-width: 768px){.editor-toolbar{flex-wrap:wrap;gap:4px}.toolbar-group{gap:2px}.toolbar-button,.save-button{font-size:11px;padding:4px 8px;min-width:24px;height:24px}.editor-textarea{min-height:150px;padding:8px 12px;font-size:13px}}@media (prefers-contrast: high){.rich-text-editor,.toolbar-button,.save-button{border-width:2px}}@media (prefers-reduced-motion: reduce){.toolbar-button,.save-button{transition:none}}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:400px}.toast{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;border-left:4px solid;opacity:0;transform:translate(100%);transition:all .3s ease;max-width:100%;word-wrap:break-word}.toast--visible{opacity:1;transform:translate(0)}.toast--exiting{opacity:0;transform:translate(100%)}.toast--success{border-left-color:#28a745}.toast--error{border-left-color:#dc3545}.toast--warning{border-left-color:#ffc107}.toast--info{border-left-color:#17a2b8}.toast__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-weight:700;font-size:14px;flex-shrink:0}.toast--success .toast__icon{background-color:#28a745;color:#fff}.toast--error .toast__icon{background-color:#dc3545;color:#fff}.toast--warning .toast__icon{background-color:#ffc107;color:#212529}.toast--info .toast__icon{background-color:#17a2b8;color:#fff}.toast__content{flex:1;min-width:0}.toast__message{margin:0;color:var(--text-color);font-size:14px;line-height:1.4}.toast__close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--secondary-text-color);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;flex-shrink:0}.toast__close:hover{background-color:#0000001a;color:var(--text-color)}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px;max-width:none}.toast{padding:12px}.toast__message{font-size:13px}}.topic-preview-overlay{position:fixed;inset:0;background-color:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.topic-preview-modal{background:#fff;border-radius:12px;width:90vw;max-width:1200px;height:90vh;max-height:800px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .3s ease-out}.topic-preview-container{height:100%;display:flex;flex-direction:column}.topic-preview-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0;background-color:#fafafa;flex-shrink:0}.topic-preview-title{display:flex;align-items:center;font-size:18px;font-weight:600;color:#333}.topic-preview-close-btn{background:none;border:none;font-size:18px;color:#666;cursor:pointer;padding:8px;border-radius:4px;transition:all .2s ease}.topic-preview-close-btn:hover{background-color:#f0f0f0;color:#333}.topic-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;padding:40px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite}.topic-preview-error{padding:24px;margin:20px;background-color:#fff2f0;border:1px solid #ffccc7;border-radius:6px}.error-message strong{color:#cf1322;display:block;margin-bottom:8px}.error-message p{color:#a8071a;margin:0}.topic-preview-info{padding:20px 24px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.topic-title{margin:0 0 8px;font-size:14px;font-weight:600}.page-info{margin:0;color:#666;font-size:14px}.topic-preview-content-card{flex:1;margin:0 24px;background:#fff;border:1px solid #f0f0f0;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.topic-preview-empty{display:flex;align-items:center;justify-content:center;height:200px;background-color:#fafafa;border-radius:6px;border:1px dashed #d9d9d9;margin:24px}.topic-preview-empty p{color:#666;font-style:italic;margin:0}.topic-preview-page{height:100%;display:flex;flex-direction:column}.topic-preview-page-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.topic-preview-page-content{flex:1;overflow-y:auto}.topic-preview-content{line-height:1.6;color:#333;font-size:14px}.topic-preview-content h1,.topic-preview-content h2,.topic-preview-content h3,.topic-preview-content h4,.topic-preview-content h5,.topic-preview-content h6{color:#1890ff;margin-top:24px;margin-bottom:16px;font-weight:600}.topic-preview-content h1{font-size:24px}.topic-preview-content h2{font-size:20px}.topic-preview-content h3{font-size:18px}.topic-preview-content p{margin-bottom:16px;text-align:justify}.topic-preview-content img{max-width:100%;height:auto;border-radius:6px;box-shadow:0 2px 8px #0000001a;margin:16px 0}.topic-preview-content audio{width:100%;margin:16px 0}.topic-preview-content video{width:100%;max-width:100%;height:auto;border-radius:6px;margin:16px 0}.topic-preview-content ul,.topic-preview-content ol{margin-bottom:16px;padding-left:24px}.topic-preview-content li{margin-bottom:8px}.topic-preview-content blockquote{border-left:4px solid #1890ff;margin:16px 0;background-color:#f6f8ff;padding:16px;border-radius:6px}.topic-preview-content code{background-color:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:13px}.topic-preview-content pre{background-color:#f5f5f5;padding:16px;border-radius:6px;overflow-x:auto;margin:16px 0}.topic-preview-content pre code{background:none;padding:0}.topic-preview-content table{width:100%;border-collapse:collapse;margin:16px 0;border:1px solid #e8e8e8}.topic-preview-content th,.topic-preview-content td{border:1px solid #e8e8e8;padding:12px;text-align:left}.topic-preview-content th{background-color:#fafafa;font-weight:600}.topic-preview-navigation{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px 24px;border-top:1px solid #f0f0f0;flex-shrink:0}.nav-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#333;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.nav-btn:hover:not(:disabled){border-color:#1890ff;color:#1890ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff33}.nav-btn:disabled{opacity:.5;cursor:not-allowed;background-color:#f5f5f5}.next-btn{background-color:#1890ff;color:#fff;border-color:#1890ff}.next-btn:hover:not(:disabled){background-color:#096dd9;border-color:#096dd9;color:#fff}@media (max-width: 768px){.topic-preview-modal{width:95vw;height:95vh}.topic-preview-container{padding:0}.topic-preview-header,.topic-preview-info,.topic-preview-navigation{padding:16px}.topic-preview-content-card{margin:0 16px}.topic-preview-content{font-size:13px}.topic-preview-navigation{flex-direction:column;gap:12px}.nav-btn{width:100%;justify-content:center}}@media (max-width: 480px){.topic-preview-modal{width:100vw;height:100vh;border-radius:0}.topic-preview-header{padding:12px 16px}.topic-preview-title{font-size:16px}.topic-title{font-weight:500;line-height:1.4}}.topic-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:16px;transition:all .3s ease}.topic-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.topic-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px}.topic-card-title h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#1890ff;line-height:1.4}.topic-card-title p{margin:0;color:#666;font-size:14px;line-height:1.5;max-width:400px}.topic-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.status-badge{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-active{background-color:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-draft{background-color:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.status-inactive{background-color:#f5f5f5;color:#8c8c8c;border:1px solid #d9d9d9}.topic-preview-btn,.topic-edit-btn,.topic-delete-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px}.topic-preview-btn{background-color:#e6f7ff;color:#1890ff}.topic-preview-btn:hover{background-color:#bae7ff;color:#096dd9;transform:scale(1.05)}.topic-edit-btn{background-color:#f6ffed;color:#52c41a}.topic-edit-btn:hover{background-color:#d9f7be;color:#389e0d;transform:scale(1.05)}.topic-delete-btn{background-color:#fff2f0;color:#ff4d4f}.topic-delete-btn:hover{background-color:#ffccc7;color:#cf1322;transform:scale(1.05)}@media (max-width: 768px){.topic-card-header{flex-direction:column;gap:16px;align-items:stretch}.topic-card-actions{justify-content:flex-end;flex-wrap:wrap}.topic-card-title{flex:1}.topic-card-title h3{font-size:16px}.topic-card-title p{max-width:none}}@media (max-width: 480px){.topic-card{margin-bottom:12px}.topic-card-header{padding:16px}.topic-preview-btn,.topic-edit-btn,.topic-delete-btn{width:32px;height:32px;font-size:12px}.status-badge{font-size:11px;padding:3px 10px}}.topics-page-container{background-color:#fffbf3;min-height:100vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.topics-header-card{background-color:#fff8eb;border:1px solid #e0e0e0;border-top:none;border-radius:0 0 12px 12px;box-shadow:none;padding:24px 40px;text-align:center;margin:0}.topics-page-title{font-size:32px;font-weight:600;color:#333;margin:0;line-height:1.2}.topics-controls{padding:0;max-width:1400px;width:100%;margin:32px auto}.topics-controls-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.topics-breadcrumb{display:flex;align-items:center;gap:8px;font-size:16px;color:#666}.topics-breadcrumb span{cursor:pointer;transition:color .2s ease}.topics-breadcrumb span:first-child:hover{color:#333;text-decoration:underline}.breadcrumb-separator{color:#999;cursor:default!important}.breadcrumb-separator:hover{color:#999!important;text-decoration:none!important}.topics-add-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background-color:#374151;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.topics-add-btn:hover{background-color:#4b5563;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.topics-list-container{max-width:1400px;width:100%;margin:0 auto;padding:0}.empty-state{display:flex;justify-content:center;align-items:center;min-height:400px;padding:40px 20px}.empty-state-content{text-align:center;max-width:500px}.empty-state-content h3{font-size:24px;font-weight:600;color:#374151;margin:0 0 12px}.empty-state-content p{font-size:16px;color:#6b7280;margin:0 0 24px;line-height:1.5}.empty-state .topics-add-btn{margin-top:8px}.topic-card{background-color:#fff8eb;border-radius:12px;border:1px solid #e0e0e0;margin-bottom:20px;box-shadow:0 2px 8px #0000000a;transition:all .3s ease}.topic-card:hover{border-color:silver;box-shadow:0 4px 12px #00000014}.topic-card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;cursor:pointer}.topic-card-title h3{font-size:20px;font-weight:600;margin:0 0 4px;color:#333}.topic-card-title p{font-size:14px;color:#666;margin:0}.topic-card-actions{display:flex;align-items:center;gap:16px}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-active{background-color:#d4f4dd;color:#0f5132}.status-draft{background-color:#fff3cd;color:#664d03}.status-inactive{background-color:#f8d7da;color:#721c24}.topic-edit-btn,.topic-delete-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;transition:all .2s ease}.topic-edit-btn:hover{background-color:#f8f9fa;border-color:#6c757d}.topic-delete-btn:hover{background-color:#f8f9fa;border-color:#dc3545}.topic-expand-btn{background:none;border:none;cursor:pointer;padding:4px}.expand-icon{transition:transform .3s ease;color:#666}.expand-icon.expanded{transform:rotate(180deg)}.topic-card-body{max-height:0;overflow:hidden;padding:0 24px;border-top:1px solid #e0e0e0;background-color:#fffbf3;border-radius:0 0 12px 12px;transition:max-height .3s ease,padding .3s ease}.topic-card-body.expanded{max-height:1000px;padding:20px 24px 24px}.resource-section{margin-top:0}.resource-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.resource-section h4{font-size:16px;font-weight:600;margin:0;color:#333}.pdf-resource-container{margin-bottom:16px;border-radius:8px;border:1px solid #e8e8e8;background-color:#fff;overflow:hidden}.pdf-resource-item{display:flex;align-items:center;padding:16px;background-color:#fff8eb;border-bottom:1px solid #f0f0f0}.resource-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background-color:#fff;border:1px solid #e0e0e0;margin-right:12px;flex-shrink:0}.resource-icon svg{color:#dc3545}.audio-icon svg{color:#28a745}.resource-info{flex:1;min-width:0}.resource-name{font-weight:500;font-size:14px;color:#333;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-meta{font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-actions{display:flex;align-items:center;gap:8px;margin-left:12px}.resource-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;transition:all .2s ease;color:#666}.resource-action-btn:hover{background-color:#f8f9fa;border-color:#6c757d;color:#333}.audio-play-btn.playing{background-color:#28a745;border-color:#28a745;color:#fff}.audio-play-btn.playing:hover{background-color:#218838;border-color:#1e7e34}.audio-files-container{background-color:#fffbf3}.audio-resource-item{display:flex;align-items:center;padding:12px 16px 12px 32px;border-bottom:1px solid #f5f5f5;position:relative}.audio-resource-item:last-child{border-bottom:none}.audio-resource-item:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background-color:#e0e0e0}.audio-resource-item .resource-icon{width:32px;height:32px;margin-right:10px}.no-audio-message{padding:12px 16px 12px 32px;font-size:13px;color:#999;font-style:italic;border-bottom:1px solid #f5f5f5}.no-resources-message{padding:20px;text-align:center;color:#999;font-style:italic;background-color:#f8f9fa;border-radius:8px;border:1px dashed #e0e0e0}.add-resources-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;background-color:#374151;color:#fff;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.add-resources-btn:hover{background-color:#4b5563;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.resources-modal-overlay{position:fixed;inset:0;background-color:#0009;z-index:1000;display:flex;align-items:center;justify-content:center}.resources-modal{background:#fff;border-radius:12px;width:90vw;max-width:800px;max-height:90vh;box-shadow:0 5px 25px #00000026;display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background-color:#fff8eb}.modal-title{font-size:20px;font-weight:600;color:#333;margin:0}.modal-close-btn{background:none;border:none;font-size:28px;line-height:1;color:#666;cursor:pointer;transition:color .2s ease}.modal-close-btn:hover{color:#333}.modal-body{padding:24px;overflow-y:auto;flex-grow:1;background-color:#fffbf3}.pdf-resource-upload-section{background-color:#fff;border-radius:12px;border:1px solid #e0e0e0;padding:20px;margin-bottom:20px}.pdf-resource-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.pdf-resource-header h4{font-size:16px;font-weight:600;color:#333;margin:0}.remove-resource-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #dc3545;border-radius:6px;background-color:#f8d7da;color:#721c24;cursor:pointer;transition:all .2s ease}.remove-resource-btn:hover{background-color:#dc3545;color:#fff}.file-input-group{margin-bottom:16px}.file-input-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.file-input-wrapper{position:relative}.file-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:2}.file-input-label{display:block;cursor:pointer;width:100%}.text-input{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .2s ease}.text-input:focus{outline:none;border-color:#374151}.file-preview{display:flex;align-items:center;gap:8px;padding:12px;border:2px dashed #e0e0e0;border-radius:8px;background-color:#f8f9fa;cursor:pointer;transition:all .2s ease;min-height:48px}.file-preview:hover{border-color:#374151;background-color:#f1f3f4}.file-preview-icon{display:flex;align-items:center;color:#666}.file-name{flex:1;font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-name-placeholder{flex:1;font-size:14px;color:#999;font-style:italic}.file-clear-btn{background:none;border:none;font-size:18px;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.file-clear-btn:hover{background-color:#e9ecef;color:#333}.audio-files-preview{display:flex;flex-direction:column;gap:8px}.help-text{font-size:12px;color:#666;margin-top:4px}.error-message{color:#dc3545;font-size:12px;margin-top:4px;padding:4px 8px;background-color:#f8d7da;border-radius:4px;border:1px solid #f5c6cb}.general-error{margin-bottom:16px;font-size:14px;padding:12px}.add-more-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background-color:#f8f9fa;color:#374151;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;margin-top:8px}.add-more-btn:hover{background-color:#e9ecef;border-color:#6c757d}.modal-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px;background-color:#fff8eb}.btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid}.btn-secondary{background-color:#f8f9fa;color:#6c757d;border-color:#6c757d}.btn-secondary:hover:not(:disabled){background-color:#e9ecef}.btn-primary{background-color:#374151;color:#fff;border-color:#374151}.btn-primary:hover:not(:disabled){background-color:#4b5563;border-color:#4b5563}.add-audio-btn{background-color:#28a745!important;border-color:#28a745!important;color:#fff!important}.add-audio-btn:hover{background-color:#218838!important;border-color:#1e7e34!important}.audio-modal{max-width:600px}.audio-upload-section{background-color:#fff;border-radius:12px;border:1px solid #e0e0e0;padding:20px}.audio-files-preview-container{min-height:120px}.selected-audio-files{border:2px solid #28a745;border-radius:8px;background-color:#f8f9fa;padding:16px}.audio-files-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e0e0e0}.files-count{font-weight:500;color:#28a745}.clear-all-btn{background:none;border:1px solid #dc3545;color:#dc3545;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.clear-all-btn:hover{background-color:#dc3545;color:#fff}.audio-files-list{display:flex;flex-direction:column;gap:8px}.audio-file-item{display:flex;align-items:center;gap:12px;padding:8px;background-color:#fff;border-radius:6px;border:1px solid #e0e0e0}.audio-file-icon{display:flex;align-items:center;color:#28a745}.audio-file-info{flex:1}.audio-file-name{font-size:14px;font-weight:500;color:#333;margin-bottom:2px}.audio-file-size{font-size:12px;color:#666}.audio-file-remove-btn{background:none;border:none;font-size:16px;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;margin-left:auto}.audio-file-remove-btn:hover{background-color:#f8d7da;color:#721c24}.file-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed #e0e0e0;border-radius:8px;background-color:#f8f9fa;text-align:center;cursor:pointer;transition:all .2s ease}.file-drop-zone:hover{border-color:#28a745;background-color:#f1f8f3}.drop-zone-icon{margin-bottom:16px;color:#666}.drop-zone-text p{margin:4px 0;color:#666}.drop-zone-text p:first-child{color:#333;font-size:16px}.file-types{font-size:12px!important;color:#999!important;margin-top:8px!important}.file-drop-zone-small{display:flex;align-items:center;gap:12px;padding:16px;border:2px dashed #e0e0e0;border-radius:8px;background-color:#f8f9fa;cursor:pointer;transition:all .2s ease}.file-drop-zone-small:hover{border-color:#28a745;background-color:#f1f8f3}.drop-zone-icon-small{color:#666;flex-shrink:0}.selected-audio-files-container{border:2px solid #28a745;border-radius:8px;background-color:#f8f9fa;overflow:hidden}.selected-audio-files-list{padding:12px;display:flex;flex-direction:column;gap:8px}.add-more-audio-zone{display:flex;align-items:center;gap:12px;padding:12px;background-color:#fff;border-top:1px solid #e0e0e0;cursor:pointer;transition:all .2s ease}.add-more-audio-zone:hover{background-color:#f1f8f3}.add-more-icon{color:#28a745;flex-shrink:0}.add-more-text{color:#28a745;font-size:14px;font-weight:500}.audio-file-item-with-remove{display:flex;align-items:center;justify-content:space-between;padding:8px;background-color:#fff;border-radius:6px;border:1px solid #e0e0e0}.audio-file-preview{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.resource-type-section{margin-bottom:20px}.resource-type-section label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.resource-type-select,.parent-pdf-select{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;background-color:#fff;transition:border-color .2s ease}.resource-type-select:focus,.parent-pdf-select:focus{outline:none;border-color:#374151}.resource-type-select option,.parent-pdf-select option{padding:8px}.standalone-audio-section{margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}.standalone-audio-section h5{font-size:14px;font-weight:600;color:#333;margin-bottom:12px;display:flex;align-items:center;gap:8px}.standalone-audio-section h5:before{content:"";width:4px;height:16px;background-color:#28a745;border-radius:2px}.standalone-audio-item{display:flex;align-items:center;padding:12px;margin-bottom:8px;background-color:#fff;border-radius:8px;border:1px solid #e8e8e8;transition:all .2s ease}.standalone-audio-item:hover{border-color:#28a745;box-shadow:0 2px 8px #28a7451a}.pdf-upload-modal{max-width:700px}.pdf-upload-zone{min-height:200px}.selected-pdfs-container{border:2px solid #dc3545;border-radius:8px;background-color:#f8f9fa;overflow:hidden}.selected-pdfs-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#fff;border-bottom:1px solid #e0e0e0}.selected-pdfs-list{padding:12px;display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.pdf-file-item{display:flex;align-items:center;gap:12px;padding:12px;background-color:#fff;border-radius:6px;border:1px solid #e0e0e0}.pdf-file-item-with-title{background-color:#fff;border-radius:6px;border:1px solid #e0e0e0;overflow:hidden}.pdf-file-header{display:flex;align-items:center;gap:12px;padding:12px}.pdf-title-input-group{padding:0 12px 12px;border-top:1px solid #f0f0f0}.pdf-title-input{width:100%;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;background-color:#f8f9fa;transition:all .2s ease}.pdf-title-input:focus{outline:none;border-color:#dc3545;background-color:#fff}.pdf-title-input::placeholder{color:#999;font-style:italic}.audio-file-item-with-title{background-color:#fff;border-radius:6px;border:1px solid #e0e0e0;overflow:hidden;margin-bottom:8px}.audio-file-header{display:flex;align-items:center;gap:12px;padding:12px}.audio-title-input-group{padding:0 12px 12px;border-top:1px solid #f0f0f0}.audio-title-input{width:100%;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;background-color:#f8f9fa;transition:all .2s ease}.audio-title-input:focus{outline:none;border-color:#28a745;background-color:#fff}.audio-title-input::placeholder{color:#999;font-style:italic}.pdf-file-icon{display:flex;align-items:center;color:#dc3545;flex-shrink:0}.pdf-file-info{flex:1;min-width:0}.pdf-file-name{font-size:14px;font-weight:500;color:#333;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-file-size{font-size:12px;color:#666}.pdf-file-remove-btn{background:none;border:none;font-size:16px;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;flex-shrink:0}.pdf-file-remove-btn:hover{background-color:#f8d7da;color:#721c24}.pdf-file-remove-btn,.audio-file-remove-btn,.clear-all-btn,.pdf-title-input,.audio-title-input{pointer-events:auto;position:relative;z-index:10}.selected-pdfs-header,.audio-files-header,.pdf-title-input-group,.audio-title-input-group{pointer-events:none}.selected-pdfs-header .clear-all-btn,.audio-files-header .clear-all-btn,.pdf-title-input-group .pdf-title-input,.audio-title-input-group .audio-title-input{pointer-events:auto}.pdf-file-item-with-title,.audio-file-item-with-title{pointer-events:none}.pdf-file-item-with-title *,.audio-file-item-with-title *{pointer-events:auto}.add-more-pdfs-zone{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:#fff;border-top:1px solid #e0e0e0;cursor:pointer;transition:all .2s ease}.add-more-pdfs-zone:hover{background-color:#f1f3f4}.add-more-pdfs-zone .add-more-icon{color:#dc3545;flex-shrink:0}.add-more-pdfs-zone .add-more-text{color:#dc3545;font-size:14px;font-weight:500}@media (max-width: 1024px){.topics-header-card{padding:20px 24px}.topics-controls,.topics-list-container{padding-left:0;padding-right:0;margin:24px 0}.topics-page-title{font-size:28px}.topics-add-btn{padding:10px 20px;font-size:13px}}@media (max-width: 768px){.topics-header-card{padding:16px 20px}.topics-controls,.topics-list-container{padding-left:0;padding-right:0;margin:20px 0}.topics-page-title{font-size:24px}.topics-controls-row{flex-direction:column;align-items:stretch;gap:12px}.topics-breadcrumb{text-align:center}.topics-add-btn{width:100%;justify-content:center}.topic-card-header{padding:16px 20px}.topic-card-body{padding:0 20px 20px}.topic-card-body.expanded{padding:16px 20px 20px}.topic-card-actions{gap:12px}.pdf-resource-item{padding:12px}.audio-resource-item{padding:10px 12px 10px 28px}.resource-actions{gap:6px}.resource-action-btn{width:28px;height:28px}.resources-modal{width:95vw;max-height:85vh}.modal-header{padding:16px 20px}.modal-body{padding:20px}.pdf-resource-upload-section{padding:16px}}@media (max-width: 576px){.topics-header-card{padding:12px 16px}.topics-controls,.topics-list-container{padding-left:0;padding-right:0;margin:16px 0}.topics-page-title{font-size:20px}.topics-breadcrumb span{font-size:14px}.topics-add-btn{padding:10px 16px;font-size:12px}.topic-card-header{padding:14px 16px}.topic-card-body{padding:0 16px 16px}.topic-card-title h3{font-size:18px}.topic-edit-btn,.topic-delete-btn{width:28px;height:28px}.topic-card-actions{gap:8px}.pdf-resource-item{padding:10px;flex-direction:column;align-items:flex-start;gap:8px}.audio-resource-item{padding:8px 10px 8px 24px;flex-direction:column;align-items:flex-start;gap:6px}.resource-actions{align-self:flex-end;gap:4px}.resource-action-btn{width:24px;height:24px}.resources-modal{width:98vw;max-height:80vh}.modal-header{padding:12px 16px}.modal-title{font-size:18px}.modal-body{padding:16px}.pdf-resource-upload-section{padding:12px}.file-preview{padding:8px;min-height:40px}.add-resources-btn{width:100%;justify-content:center}.audio-modal{width:95vw;max-width:none}.audio-upload-section{padding:16px}.file-drop-zone{padding:30px 15px}.drop-zone-icon svg{width:36px;height:36px}.audio-files-header{flex-direction:column;align-items:flex-start;gap:8px}.audio-file-item{padding:6px}.audio-file-name{font-size:13px}.audio-file-size{font-size:11px}}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:2rem}.login-box{position:relative;border-radius:32px;margin:1rem 2rem;border:1px solid var(--border-color);max-width:826px;width:100%;z-index:1;overflow:hidden;padding:0;background-color:#fffbf34d;backdrop-filter:blur(120px);-webkit-backdrop-filter:blur(120px)}.h4{margin-top:0rem;margin-bottom:.5rem}.social-login{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.5rem}.social-btn{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background-color:transparent;border-radius:10px;padding:.55rem .85rem;cursor:pointer;transition:all .2s ease}.social-btn img{width:20px;height:20px;margin-left:8px}.divider{display:flex;align-items:center;text-align:center;color:var(--border-color);margin:1rem 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-color);margin:0 10px}.form-group label{display:block;margin-bottom:.3rem;color:var(--text-color);font-size:var(--body3-size);line-height:var(--body3-line-height);font-weight:var(--font-weight-regular)}.form-group input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:10px;background-color:var(--bg-color);color:var(--secondary-text-color);font-size:var(--body3-size);line-height:var(--body3-line-height);font-weight:var(--font-weight-regular)}.form-group input:focus{outline:none;border-color:var(--secondary-text-color);box-shadow:0 0 0 2px #4a90e233}.password-wrapper{position:relative;width:100%}.password-wrapper input{padding:.75rem 2.5rem .75rem 1rem}.toggle-password{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:var(--secondary-text-color)}.error-message{color:#dc3545;margin-bottom:1rem;font-size:.875rem}.login-button{width:100%;padding:.75rem;background-color:var(--text-color);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:background-color .2s;margin:1rem 0}.forgot-password{text-align:center}.forgot-password a{color:var(--text-color)}.hr{border:none;height:1px;background-color:var(--border-color);margin:1rem 0}.signup{display:flex;justify-content:center;align-items:center;gap:1rem}.signup button{padding:.45rem .75rem;background-color:transparent;border:1px solid var(--text-color);color:text-color;border-radius:10px;cursor:pointer;transition:background-color .2s}.side-navbar{width:240px;background-color:#fff8eb;border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:24px 0;position:fixed;height:100vh;left:0;top:0;z-index:1000;overflow-y:auto;box-shadow:2px 0 5px #0000001a}.mobile-menu-btn{display:none;position:fixed;top:1rem;left:1rem;z-index:1100;background:#fff8eb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.mobile-menu-btn:hover{background:#fff3d6;box-shadow:0 4px 12px #00000026}.mobile-menu-btn:active{transform:scale(.95)}.mobile-menu-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:999;animation:fadeIn .3s ease}@media (max-width: 768px){.side-navbar{transform:translate(-100%);transition:transform .3s ease-in-out}.side-navbar.open{transform:translate(0);box-shadow:4px 0 15px #0003}.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.mobile-menu-overlay{display:block}}.navbar-logo{display:flex;justify-content:center}.navbar-logo img{margin-bottom:24px}.navbar-nav{flex:1;padding:0 16px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:none;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:4px;text-align:left}.nav-item:hover{background-color:#f3f4f6}.nav-item.active{background-color:var(--border-color);color:var(--text-color)}.nav-icon{width:20px;height:20px;flex-shrink:0}.nav-label{font-size:var(--body3-size);font-weight:var(--font-weight-regular)}.nav-item.nested{padding-left:2.5rem;margin:.125rem .5rem .125rem 1.5rem;font-size:.9375rem}.nav-item.has-children{position:relative}.nav-item.has-children:after{content:"›";position:absolute;right:1rem;transition:transform .2s}.nav-item.has-children.open:after{transform:rotate(90deg)}.nested-items{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.nested-items.open{max-height:500px}.navbar-logout{padding:24px 16px 0;border-top:1px solid var(--border-color)}.logout-btn{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:none;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#ef4444}.logout-btn:hover{background-color:#fef2f2}.logout-icon{width:20px;height:20px}.logout-label{font-size:var(--body3-size);font-weight:var(--font-weight-regular)}@media (max-width: 640px){.side-navbar{width:280px}}.courses-page-container{background-color:#fffbf3;min-height:100vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.courses-header-card{background-color:#fff8eb;border:1px solid #e0e0e0;border-top:none;border-radius:0 0 12px 12px;box-shadow:none;padding:24px 40px;text-align:center;margin:0}.courses-page-title{font-size:32px;font-weight:600;color:#333;margin:0;line-height:1.2}.courses-controls{padding:0 40px;max-width:1400px;width:100%;margin:32px auto}.courses-controls-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px 0}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-active{background-color:#e3f5ee;color:#0a8158}.courses-breadcrumb{font-size:18px;font-weight:500;color:#1f2937}.courses-breadcrumb span{font-size:16px;color:#6b7280;text-decoration:underline;font-weight:400;cursor:pointer;transition:color .2s ease}.courses-breadcrumb span:hover{color:#4b5563}.courses-add-btn{background-color:#1f2937;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 4px #0000001a;display:inline-flex;align-items:center;gap:8px}.courses-add-btn:hover{background-color:#374151;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.courses-datatable-wrapper{flex:1;max-width:1400px;width:100%;margin:0 auto;box-sizing:border-box}.courses-pagination{padding:20px 24px;border-top:1px solid #f3f4f6;background-color:#fffbf3}.courses-pagination .pagination-info{color:#6b7280;font-size:14px;margin-bottom:16px}.courses-pagination .pagination-controls{justify-content:center}.course-name-cell{font-weight:500;color:#1f2937}.course-price-cell{font-weight:500;color:#374151}.course-duration-cell{color:#6b7280}.course-edit-cell,.course-actions-cell{text-align:center;vertical-align:middle}.course-actions-container{display:flex;align-items:center;justify-content:center;gap:4px}.course-action-slot{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:24px}.course-edit-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#6b7280;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px}.course-edit-btn:hover{background-color:#f3f4f6;color:#374151}.course-edit-btn svg{width:16px;height:16px;transition:transform .2s ease}.course-edit-btn:hover svg{transform:scale(1.1)}.courses-datatable .table-state-container{background-color:#fff8eb;border:1px solid #e0e0e0;border-radius:12px;margin:0;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px 24px}.courses-datatable .loading-spinner{border-top-color:#1f2937;margin-bottom:16px}.courses-datatable .retry-button{background-color:#1f2937;color:#fff;border-radius:8px;padding:12px 24px;font-weight:500;border:none;cursor:pointer;transition:all .2s ease;margin-top:16px;display:inline-flex;align-items:center;gap:8px}.courses-datatable .retry-button:hover{background-color:#374151;transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}@media (max-width: 1200px){.courses-datatable-wrapper,.courses-controls,.courses-header-card{padding-left:32px;padding-right:32px}}@media (max-width: 1024px){.courses-header-card{padding:20px 24px}.courses-controls,.courses-datatable-wrapper{padding-left:24px;padding-right:24px;margin:24px 0}.courses-page-title{font-size:28px}.courses-add-btn{padding:10px 20px;font-size:13px}}@media (max-width: 768px){.courses-header-card{padding:16px 20px}.courses-controls,.courses-datatable-wrapper{padding-left:20px;padding-right:20px;margin:20px 0}.courses-page-title{font-size:24px}.courses-controls-row{flex-direction:column;align-items:stretch;gap:12px}.courses-breadcrumb{text-align:center}.courses-add-btn{width:100%;justify-content:center}.courses-datatable .data-table{min-width:600px}}@media (max-width: 576px){.courses-header-card{padding:12px 16px}.courses-controls,.courses-datatable-wrapper{padding-left:16px;padding-right:16px;margin:16px 0}.courses-page-title{font-size:20px}.courses-breadcrumb span{font-size:14px}.courses-add-btn{padding:10px 16px;font-size:12px}.course-edit-btn{padding:6px}.course-edit-btn svg{width:14px;height:14px}}.add-course-header{margin:16px 0;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.back-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background-color:#111;color:#fff;border:none;border-radius:6px;font-size:var(--body2-size);font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:16px;text-decoration:none;min-width:150px;text-align:center;position:relative;overflow:hidden}.back-button:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.back-button:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.back-button .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.back-button--loading .button-text{visibility:hidden}.back-button .spinner-container{position:absolute;display:flex;align-items:center;justify-content:center;inset:0}.add-course-header h2{margin:0;font-size:var(--h2-size);font-weight:var(--font-weight-semibold);color:var(--text-color)}.btn-padding{padding-bottom:25px!important;padding-top:10px!important}.add-course-form-container{background-color:#fff;border:1px solid var(--border-color);border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000000f;width:100%;max-width:100%;margin:0;box-sizing:border-box}.add-course-form{display:flex;flex-direction:column;gap:24px;width:100%;margin:0;padding:0}.form-group{display:flex;flex-direction:column;gap:8px;width:100%;margin:0;padding:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:relative;width:100%;margin:0;padding:0}.form-label{font-size:var(--body3-size);font-weight:var(--font-weight-medium);color:var(--text-color);margin-bottom:4px}.required{color:#d32f2f}.form-input,.form-textarea,.form-select{padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:var(--body3-size);font-family:var(--font-family-default);background-color:var(--bg-color);color:var(--text-color);transition:all .2s ease;position:relative;z-index:1}select.form-select{appearance:none;background-color:#fffbf3;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}select.form-select option{padding:8px 16px;background-color:var(--bg-color);color:var(--text-color)}#authorId{background-color:#fffbf3;appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;z-index:1;overflow-y:auto;height:auto;max-height:180px;width:70%;min-width:250px;max-width:400px;scroll-behavior:smooth}.form-group select{position:relative;width:70%;min-width:250px;max-width:400px}#authorId option{background-color:#fffbf3;width:100%;min-width:250px;max-width:400px;padding:10px 16px;color:var(--text-color);font-size:var(--body3-size);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#authorId::-webkit-scrollbar{display:none}#authorId{-ms-overflow-style:none;scrollbar-width:none}select.form-input,select.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fffbf3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding:10px 36px 10px 16px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;color:#1f2937;width:100%;height:40px;cursor:pointer;transition:all .2s ease}select.form-input:hover,select.form-select:hover{border-color:#9ca3af}select.form-input:focus,select.form-select:focus{border-color:#1f2937;box-shadow:0 0 0 3px #1f29371a;outline:none}#authorId:focus{border-color:var(--text-color);outline:none;box-shadow:0 0 0 3px #0000001a}select.form-select{position:relative;z-index:1}select:focus>option:checked{background:#f0e6cc linear-gradient(0deg,#f0e6cc 0% 100%);color:var(--text-color)}select.form-select:focus{position:relative;z-index:2}.add-course-form-container{position:relative;overflow:visible}.add-course-form{position:static}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--text-color);box-shadow:0 0 0 3px #0000001a}.form-input.error,.form-textarea.error,.form-select.error{border-color:#d32f2f}.form-textarea{resize:vertical;min-height:100px}.form-help{font-size:var(--caption-size);color:var(--secondary-text-color);margin-top:4px}.error-message{font-size:var(--caption-size);color:#d32f2f;margin-top:4px}.form-error{padding:12px 16px;background-color:#ffebee;border:1px solid #FFCDD2;border-radius:8px;color:#d32f2f;font-size:var(--body3-size)}.file-upload-area{border:2px dashed var(--border-color);border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:all .2s ease;position:relative;background-color:#fafafa}.file-upload-area:hover{border-color:var(--text-color);background-color:#f5f5f5}.file-upload-area.drag-active{border-color:var(--text-color);background-color:#f0f0f0;transform:scale(1.02)}.file-upload-area.error{border-color:#d32f2f;background-color:#ffebee}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-upload-content{display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.upload-icon{font-size:32px;margin-bottom:8px}.file-upload-content p{margin:0;font-size:var(--body3-size);color:var(--text-color)}.file-upload-content small{font-size:var(--caption-size);color:var(--secondary-text-color)}.file-selected{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;pointer-events:auto}.file-icon{font-size:20px}.file-name{flex:1;font-size:var(--body3-size);color:var(--text-color);text-align:left}.file-remove{background:none;border:none;font-size:20px;color:var(--secondary-text-color);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.file-remove:hover{background-color:#ffebee;color:#d32f2f}.form-actions{display:flex;gap:16px;justify-content:flex-end;padding-top:24px;border-top:1px solid var(--border-color);margin-top:8px}.cancel-button,.submit-button{padding:12px 24px;border-radius:8px;font-size:var(--body3-size);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;border:1px solid var(--border-color)}.cancel-button{background-color:var(--bg-color);color:var(--text-color)}.cancel-button:hover{background-color:var(--border-color)}.submit-button{background-color:var(--text-color);color:var(--bg-color);border-color:var(--text-color)}.submit-button:hover{background-color:var(--secondary-text-color);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.submit-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.add-course-header{margin:12px 0}.back-button{margin-bottom:12px}}@media (max-width: 1024px){.add-course-form-container{padding:24px}.form-row{gap:20px}}@media (max-width: 768px){.add-course-form-container{padding:16px}.form-row{grid-template-columns:1fr;gap:16px}.form-actions{flex-direction:column-reverse;gap:12px}.cancel-button,.submit-button{width:100%;justify-content:center}.file-upload-area{padding:20px 12px}.upload-icon{font-size:24px}}@media (max-width: 480px){.add-course-form-container{padding:12px;border-radius:8px}.add-course-form{gap:16px}.form-group{gap:6px}}.dashboard-container{display:flex;min-height:100vh;background-color:#fffbf3}@media (max-width: 768px){.dashboard-container{padding-left:0}}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-new-row{background-color:#f8fafc!important;border-left:3px solid #3b82f6!important;transition:all .2s ease-in-out}.table-new-row:hover{background-color:#f1f5f9!important}.form-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;outline:none;transition:all .2s ease}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.form-select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;outline:none;transition:all .2s ease}.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.btn{padding:.5rem 1rem;border-radius:.375rem;font-weight:500;transition:all .2s ease;outline:none}.btn:focus{box-shadow:0 0 0 2px #3b82f633}.btn-compact{padding:.25rem!important;min-width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.25rem!important;font-size:.75rem;transition:all .2s ease}.btn-compact .icon{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center}.btn-compact.btn-secondary .icon{color:#374151}.b.back-button{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:none;border:1px solid #e5e7eb;border-radius:.25rem;color:#4b5563;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease;height:32px}.back-button:hover{background-color:#5f5f5f;color:#fff;border-color:#5f5f5f;transform:none}tn-compact.btn-danger .icon,.btn-compact.btn-success .icon{color:#fff}.btn-primary{background-color:var(--primary-color);color:#fff;border:none;border-radius:.375rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s ease}.btn-primary:hover:not(:disabled){background-color:var(--secondary-text-color)}.btn-primary:focus{outline:none;box-shadow:0 0 0 3px #48bb7833}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:#e5e7eb;color:#374151}.btn-secondary:hover{background-color:#d1d5db}.btn-success{background-color:#16a34a;color:#fff}.btn-success:hover{background-color:#15803d}.btn-danger{background-color:#dc2626;color:#fff}.btn-danger:hover{background-color:#b91c1c}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;display:inline-block}.status-active{background-color:#dcfce7;color:#166534}.status-inactive{background-color:#fee2e2;color:#991b1b}.status-pending{background-color:#fef3c7;color:#92400e}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .2s ease-out forwards}@media (max-width: 768px){.form-input,.form-select{font-size:.875rem;line-height:1.25rem}.btn{padding:.375rem .75rem;font-size:.875rem;line-height:1.25rem}}.role-form-container{flex:1;padding:2rem;background-color:#fffbf3;min-height:100vh;width:100%;max-width:1200px;margin:0 0 0 240px;box-sizing:border-box;position:relative;z-index:1;overflow:visible}.role-form{background:#fffbf3;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;margin-top:1rem}.form-group{margin-bottom:1rem}.role-header-container{padding-left:2.4rem;margin-bottom:1.5rem}@media (max-width: 1200px){.role-form-container{padding:1.5rem}}@media (max-width: 1024px){.role-form-container{padding:1rem;margin-left:0;width:100%;margin-top:60px}.role-form{padding:1rem}}.dashboard-container{display:flex;min-height:100vh;position:relative;padding-top:0}.role-header{margin-bottom:1.5rem;padding:1rem 0;border-bottom:1px solid #e5e7eb;background-color:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.role-header h1{font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:.5rem}.role-header p{color:#6b7280;font-size:.875rem}.role-section{background:#fffbf3;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:visible;margin:.5rem 2rem 1.5rem;padding:1.5rem;box-sizing:border-box;max-width:calc(100% - 4rem)}@media (max-width: 768px){.role-section{margin:1rem 0;border-radius:.25rem}}.section-header{padding:.75rem 1.5rem;border-bottom:1px solid #e5e7eb;background-color:#fffbf3;margin-bottom:.25rem}.section-header h2{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.section-content{padding:.75rem 1.5rem .5rem;background-color:#fff}.form-group{margin-bottom:.25rem}.form-group:last-child{margin-bottom:0;min-height:100px}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin:.25rem 0}.form-label.required:after{content:"*";color:#ef4444;margin-left:.25rem}.form-input,.form-textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;line-height:1.5;color:#111827;background-color:#fff;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{min-height:100px;resize:vertical}.form-input-error{border-color:#ef4444;background-color:#fef2f2}.form-input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-message{margin-top:.5rem;font-size:.75rem;color:#ef4444;display:flex;align-items:center}.error-message svg{margin-right:.25rem}.permission-category{border:1px solid #e5e7eb;border-radius:.5rem;background-color:#fffbf3;overflow:hidden;margin-bottom:1rem;transition:all .2s ease}.permission-category-header{width:100%;text-align:left;padding:.75rem 1.25rem;background:#fffbf3;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background-color .2s;border-radius:.375rem;margin-bottom:.25rem}.permission-category-header:hover{background-color:#f3f4f6}.permission-category-header h3{margin:0;font-size:.9375rem;font-weight:500;color:#111827;display:flex;align-items:center}.permission-category-header .selected-count{font-size:.75rem;color:#6b7280;margin-left:.75rem;font-weight:400}.permission-category-header .toggle-icon{color:#9ca3af;transition:transform .2s ease}.permission-category-header[aria-expanded=true] .toggle-icon{transform:rotate(180deg)}.permission-category-content{padding:.75rem 1.25rem 1.25rem;margin-top:.5rem;border-top:1px solid #e5e7eb;background-color:#fff}.permission-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.select-all-btn{font-size:.8125rem;color:#3b82f6;background:none;border:none;cursor:pointer;font-weight:500;padding:.25rem .5rem;border-radius:.25rem;transition:background-color .2s ease}.select-all-btn:hover{background-color:#f3f4f6}.permissions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem 1.5rem;overflow:visible;max-height:none!important;min-height:auto!important;height:auto!important;width:100%;box-sizing:border-box}.permission-item{display:flex;align-items:center;padding:.75rem 1rem;border-radius:.5rem;background-color:#fffbf3;border:1px solid #e5e7eb;transition:all .2s ease;margin-bottom:.5rem;min-width:0}.permission-item:hover{background-color:#fffbf3}.permission-item input[type=checkbox]{margin-right:.75rem;width:1rem;height:1rem;border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer}.permission-item label{font-size:.875rem;color:#374151;cursor:pointer;flex-grow:1;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background-color:#fffbf3;border-top:1px solid #e5e7eb}@media (max-width: 1200px){.permissions-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.permissions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.form-actions{flex-direction:column}.form-actions button{width:100%}}@media (max-width: 480px){.permissions-grid{grid-template-columns:1fr;gap:.75rem;padding:.5rem 1.5rem}.permission-item{padding:.75rem}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}.custom-checkbox{width:1.25rem;height:1.25rem;border:1px solid #d1d5db;border-radius:.25rem;appearance:none;-webkit-appearance:none;cursor:pointer;position:relative;transition:all .2s ease;margin-right:.5rem;flex-shrink:0}.custom-checkbox:checked{background-color:#3b82f6;border-color:#3b82f6}.custom-checkbox:checked:after{content:"";position:absolute;left:7px;top:3px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.permission-category-content{max-height:400px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6}.permission-category-content::-webkit-scrollbar{width:6px}.permission-category-content::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.permission-category-content::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:3px}.permission-category-content::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}.coupon-page-container{max-width:1200px;margin:0 auto;padding:2rem}.coupon-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.coupon-header h1{font-size:2rem;font-weight:600;color:var(--text-color)}.add-coupon-header{margin-bottom:1.5rem}.add-coupon-header h2{font-size:1.75rem;font-weight:600;color:var(--text-color)}.coupon-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-label{font-size:.875rem;font-weight:500;color:#4a5568;margin-bottom:.5rem}.form-input,.form-select{padding:.75rem;font-size:1rem;border:1px solid #e2e8f0;border-radius:6px;background:#f7fafc;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce33}select.form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.form-input.error,.form-select.error{border-color:#e53e3e}.error-message{color:#e53e3e;font-size:.75rem;margin-top:.25rem}.submission-error{background:#fef2f2;padding:.75rem;border-radius:6px;margin-bottom:1.5rem;font-size:.875rem}.form-actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.submit-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:var(--bg-color);background-color:var(--text-color);border:none;border-radius:6px;cursor:pointer;transition:background .2s ease}.submit-button:hover{background-color:var(--secondary-text-color)}.submit-button:focus{outline:none;box-shadow:0 0 0 3px #3182ce33}.courses-add-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:var(--bg-color);background-color:var(--text-color);border:none;border-radius:6px;cursor:pointer;transition:background .2s ease}.courses-add-btn:hover{background-color:var(--secondary-text-color)}.courses-add-btn:focus{outline:none;box-shadow:0 0 0 3px #48bb7833}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-size:.875rem;cursor:pointer;transition:background .2s ease,transform .2s ease;margin-bottom:1rem}.back-button:hover{background-color:var(--border-color);transform:translate(-2px)}.back-button:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.courses-datatable-wrapper{margin-top:2rem}.courses-table-container{padding:0;background:transparent;border:none;box-shadow:none}.courses-table{width:100%;border-collapse:collapse}.courses-table th,.courses-table td{padding:.75rem;text-align:left;border:1px solid var(--border-color)}.courses-table th{font-weight:600;color:var(--text-color)}.courses-table td{color:#4a5568}@media (max-width: 768px){.coupon-page-container{padding:1rem}.form-row{grid-template-columns:1fr}.coupon-header,.add-coupon-header{flex-direction:column;align-items:flex-start;gap:1rem}.submit-button,.courses-add-btn{width:100%;text-align:center}.back-button{width:auto}}.dashboard-main-content{flex:1;margin-left:240px;padding:0 32px;overflow-y:auto;background-color:#fffbf3}.content-container{max-width:1200px;margin:32px auto 24px}.text-primary{color:var(--text-color)}.text-secondary{color:var(--secondary-text-color)}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0;margin:0}.course-card{transition:transform .2s ease,box-shadow .2s ease}.course-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid var(--primary-color, #007bff);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.text-error{color:#dc3545;margin-bottom:16px}.retry-button{background-color:var(--primary-color, #007bff);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s ease}.retry-button:hover{background-color:var(--primary-color-dark, #0056b3)}.empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.categories-section,.my-courses-section{background-color:#fff;border-radius:12px;padding:32px;border:1px solid var(--border-color);box-shadow:0 2px 8px #0000000f}@media (max-width: 1024px){.dashboard-main-content{padding:24px}.courses-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media (max-width: 768px){.dashboard-main-content{margin-left:0;padding:80px 20px 24px}.courses-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (max-width: 640px){.dashboard-main-content{margin-left:0;padding:80px 16px 16px}.courses-grid{grid-template-columns:1fr;gap:16px}}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}:root{--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-editor: "Times New Roman", serif;--color-background: #FFFBF3;--color-surface: #FFF8EB;--color-primary: #374151;--color-primary-dark: #1f2937;--color-dark: #2C2C2C;--color-text: #333333;--color-text-muted: #6c757d;--color-border: #dee2e6;--color-border-light: #f1f3f5;--color-accent: #f5f1e8;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--border-radius: 8px;--border-radius-sm: 4px}body{background-color:var(--color-background)}.tab-nav{width:350px;margin-left:10px}.tiptap-container{width:100%;height:100vh;margin:0 auto;padding:var(--spacing-md);box-sizing:border-box;font-family:var(--font-primary);display:flex;flex-direction:column;gap:var(--spacing-md);overflow:hidden;background-color:var(--color-background)}.tab-navigation{justify-content:space-between;display:flex;flex-direction:column-reverse;margin-bottom:20px;margin-top:20px;align-items:center;background:var(--color-surface);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius);border:1px solid var(--color-border);box-shadow:0 4px 15px #0000000d;flex-shrink:0}navbar-container{display:flex}.tab-buttons{margin-bottom:15px;display:flex;gap:var(--spacing-sm);background-color:var(--color-border-light);border-radius:var(--border-radius);padding:var(--spacing-xs)}.tab-button{background:transparent;border:none;color:var(--color-text-muted);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease;display:flex;align-items:center;gap:var(--spacing-sm)}.tab-button:hover{color:var(--color-text);background-color:#0000000d}.tab-button.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #00000026}.header-controls{display:flex;flex-direction:column;align-items:center;margin-bottom:10px;gap:var(--spacing-md)}header-btn{display:flex;flex-direction:row}.header-btn{background:transparent;color:var(--color-text);border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-sm)}.header-btn:hover{background-color:var(--color-border-light);border-color:#adb5bd}.save-btn{background-color:var(--color-dark);color:#fff;border-color:var(--color-dark)}.save-btn:hover{background-color:#000;border-color:#000}.add-page-btn,.download-btn{display:inline-flex;flex-direction:column;align-items:center;width:134px;gap:6px;padding:8px 16px;background-color:#374151;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s ease;text-decoration:none}.add-page-btn:hover,.download-btn:hover{background-color:#4b5563}.add-page-btn:active,.download-btn:active{background-color:#1f2937}.tab-content{background:var(--color-surface);border-radius:var(--border-radius);border:1px solid var(--color-border);padding:var(--spacing-sm)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center}.toolbar-group{display:flex;align-items:center;gap:2px;position:relative}.toolbar-group:not(:last-child):after{content:"";width:1px;height:24px;background-color:var(--color-border);position:absolute;right:calc(var(--spacing-md) / -2);transform:translate(-50%)}.toolbar button,.font-dropdown{background-color:var(--color-background);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s ease;padding:var(--spacing-sm) var(--spacing-md);font-size:14px;font-weight:500}.toolbar button:hover,.font-dropdown:hover{background-color:var(--color-surface);border-color:var(--color-primary)}.toolbar button.is-active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.font-dropdown{min-width:160px}.font-dropdown:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #00000026}.page-navigation{display:flex;justify-content:space-between;overflow-y:auto;max-height:calc(100vh - 80px);margin-left:5px;margin-right:20px;align-items:center;border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-md);flex-shrink:0}.page-tabs{display:flex;margin-bottom:5px;margin-top:5px;gap:var(--spacing-sm);flex-wrap:wrap}.page-tab-container{position:relative;display:flex;align-items:center}.page-tab{padding:var(--spacing-sm) var(--spacing-md);padding-right:30px;border:1px solid var(--color-border);border-bottom:none;border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0;cursor:pointer;background-color:var(--color-border-light);color:var(--color-text-muted);transition:all .2s ease}.page-tab.active{background-color:var(--color-surface);color:var(--color-primary);border-color:var(--color-border);border-bottom:1px solid var(--color-surface);margin-bottom:-1px;font-weight:600}.delete-page-btn{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;border:none;background-color:transparent;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1}.delete-page-btn:hover{background-color:#e9ecef;color:#ef4444}.page-counter{font-size:14px;color:var(--color-text-muted)}.editor-wrapper{display:flex;flex:1;min-height:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden;box-shadow:0 4px 15px #00000005}.editor{padding-top:0}.editor-section{width:100%;display:flex;flex-direction:column;overflow:hidden;flex:1}.editor-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);flex-shrink:0;background-color:var(--color-surface)}.editor-header h3{margin:0;color:var(--color-text);font-size:18px}.editor-container{flex:1;width:950PX;overflow-y:auto;padding:var(--spacing-sm);position:relative;background-color:var(--color-border-light)}.editor .ProseMirror{outline:none;min-height:100%;line-height:1.7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;color:#444;background:#fff;max-width:638px;margin:var(--spacing-md) auto;padding:22px 38px 22px 22px;border-radius:var(--border-radius-sm);box-shadow:0 2px 10px #0000001a}.editor .ProseMirror h1{font-family:Montserrat,sans-serif;font-weight:800;font-size:20px;line-height:1;letter-spacing:normal;margin-bottom:15px;color:#333;text-edge:cap alphabetic;leading-trim:both}.editor .ProseMirror h2{font-family:Montserrat,sans-serif;font-weight:700;font-size:18px;line-height:1.2;margin-bottom:15px;color:#333}.editor .ProseMirror h3{font-size:16px;font-weight:600;margin-bottom:15px;color:#333}.editor .ProseMirror h4,.editor .ProseMirror h5,.editor .ProseMirror h6{font-weight:600;margin-bottom:12px;color:#333}.editor .ProseMirror p{margin-bottom:12px;line-height:1.7;color:#444;font-size:16px}.editor .ProseMirror ul,.editor .ProseMirror ol{padding-left:25px;margin-bottom:15px;line-height:1.7;color:#444}.editor .ProseMirror li{margin-bottom:8px;color:#444;line-height:1.7}.editor .ProseMirror strong{font-weight:700;color:#333}.editor .ProseMirror .diagram-container{display:flex;gap:64px;margin:40px 0;justify-content:center}.editor .ProseMirror .diagram-image{max-width:90%;min-width:90%;height:auto;border-radius:8px;transition:max-width .3s ease}.editor .ProseMirror img:not(.diagram-image){max-width:90%;height:auto;border-radius:8px;display:block;margin:20px auto}.editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-text-muted);pointer-events:none;height:0}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:var(--border-radius);box-shadow:0 20px 40px #0003;width:90%;max-width:500px;overflow:hidden;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:20px;font-weight:600}.modal-close{background:transparent;border:none;font-size:24px;color:var(--color-text-muted);cursor:pointer;width:32px;height:32px;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:var(--color-border-light);color:var(--color-text)}.modal-body{padding:var(--spacing-lg);background:#f8f9fa}.upload-option{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);transition:all .2s ease;margin-bottom:var(--spacing-md)}.upload-option h4{margin:0 0 8px;font-size:16px}.upload-option p{margin:0 0 16px;color:var(--color-text-muted);font-size:14px}.upload-btn{width:100%;padding:12px 20px;border:none;border-radius:var(--border-radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.device-btn{background:var(--color-primary);color:#fff}.device-btn:hover{background:var(--color-primary-dark)}.url-input{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:14px;margin-bottom:12px}.url-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #00000026}.ProseMirror table{border-collapse:collapse;width:100%;margin:16px 0;border:1px solid var(--color-border)}.ProseMirror td,.ProseMirror th{border:1px solid var(--color-border);padding:12px;text-align:left}.ProseMirror th{background-color:transparent;color:#000;font-weight:700;text-align:left}.ProseMirror .selectedCell{background-color:#dbeafe!important}.ProseMirror a{color:var(--color-primary);text-decoration:none;border-bottom:1px solid var(--color-primary);transition:all .2s}.ProseMirror a:hover{background-color:#eef2ff}.table-selector-container{position:relative;display:inline-block}.table-selector{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:12px;z-index:1000;min-width:200px}.table-grid{display:flex;flex-direction:column;gap:1px;margin-bottom:8px}.table-row{display:flex;gap:1px}.table-cell{width:16px;height:16px;border:1px solid #d1d5db;background-color:#f9fafb;cursor:pointer;transition:all .1s ease}.table-cell:hover{border-color:#3b82f6}.table-cell.highlighted{background-color:#3b82f6;border-color:#2563eb}.table-size-display{text-align:center;font-size:12px;color:#6b7280;font-weight:500;padding:8px 0 4px;border-top:1px solid #e5e7eb;margin-top:8px}.delete-table{background:#dc3545!important}.delete-table:hover{background:#c82333!important}.topic-editor-page{display:flex;flex-direction:column;height:100vh;background-color:#fffbf3;overflow:hidden}.topic-editor-page-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#fff8eb;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 3px #0000001a;z-index:10;min-width:0;width:100%;box-sizing:border-box}.topic-editor-page-header-left{display:flex;align-items:center;gap:1rem}.topic-editor-page-header-right{display:flex;align-items:center;gap:.75rem;margin-right:.5rem;flex-shrink:0}.topic-editor-back-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#374151;border:1px solid #374151;border-radius:6px;color:#fff;font-size:.875rem;cursor:pointer;transition:all .2s ease}.topic-editor-back-btn:hover{background:#4b5563;border-color:#4b5563;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.topic-editor-back-btn:disabled{opacity:.5;cursor:not-allowed}.topic-editor-page-title h1{margin:0;font-size:1.5rem;font-weight:600;color:#333}.topic-editor-page-subtitle{margin:.25rem 0 0;font-size:.875rem;color:#666;font-weight:400}.topic-editor-save-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#374151;border:1px solid #374151;border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.topic-editor-save-btn:hover:not(:disabled){background:#4b5563;border-color:#4b5563;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.topic-editor-save-btn:disabled{background:#e0e0e0;border-color:#e0e0e0;color:#666;cursor:not-allowed;transform:none;box-shadow:none}.topic-editor-page-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff8eb}.topic-editor-page-editor{flex:1;display:flex;flex-direction:column;background:#fff;overflow:hidden;min-height:0}.topic-editor-page-editor .tiptap-container{flex:1;display:flex;flex-direction:row;border:none;border-radius:8px;height:100%;padding:0;margin:0}.topic-editor-page-editor .tiptap-container .editor-wrapper,.topic-editor-page-editor .editor-section{flex:1;display:flex;flex-direction:column;min-height:0}.topic-editor-page-editor .editor-container{overflow-y:auto;position:fixed;z-index:1000;flex:1;min-height:0}.topic-editor-page-editor .editor .ProseMirror{min-height:calc(100vh - 300px)}.topic-editor-page-editor .tiptap-container .editor{flex:1;min-height:500px;padding:1.5rem}.topic-editor-page-status{padding:.5rem 2rem;background:#fef3c7;border-top:1px solid #f59e0b;display:flex;align-items:center;justify-content:center}.unsaved-changes-indicator{color:#92400e;font-size:.875rem;font-weight:500}.topic-editor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem;color:#666}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.topic-editor-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem;text-align:center;color:#721c24;background:#f8d7da;margin:1rem;border-radius:8px;border:1px solid #e0e0e0}.topic-editor-error p{color:#dc2626;font-size:1rem;margin:0}.btn{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}@media (max-width: 768px){.topic-editor-page-header{padding:1rem;flex-direction:column;gap:1rem;align-items:stretch}.topic-editor-page-header-left,.topic-editor-page-header-right{justify-content:center}.topic-editor-page-editor{margin:.5rem}.topic-editor-page-status{padding:.5rem 1rem}}.roles-page-container{padding:20px;max-width:1200px;margin:0 auto;overflow:visible}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-title{font-size:24px;font-weight:600;color:#333;margin:0}.page-description{margin-bottom:24px;color:#666}.page-actions{display:flex;gap:12px}.courses-datatable-wrapper{margin-top:20px;overflow:visible;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:auto!important;max-height:none!important;display:block;width:100%}.roles-table-container{overflow:visible!important;max-height:none!important;height:auto!important}.roles-table{width:100%!important;table-layout:auto;display:table}.roles-table{width:100%;border-collapse:collapse}.roles-table th,.roles-table td{padding:16px;text-align:left;border-bottom:1px solid #eee}.roles-table th{background-color:#f8f9fa;font-weight:600;color:#495057;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.roles-table tbody tr:hover{background-color:#f8f9fa}.actions-cell{display:flex;gap:8px}.action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:4px;border:none;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.action-btn:disabled{opacity:.6;cursor:not-allowed}.action-btn span{display:none}.edit-btn{background-color:#e9ecef;color:#495057}.edit-btn:hover:not(:disabled){background-color:#dee2e6}.delete-btn{background-color:#fff5f5;color:#fa5252}.delete-btn:hover:not(:disabled){background-color:#ffebee}.loading-spinner,.error-message,.no-data{padding:40px;text-align:center;color:#6c757d;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.error-message{color:#fa5252;background-color:#fff5f5}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-actions{width:100%}.action-btn{padding:8px 12px}.action-btn span{display:inline}.roles-table th,.roles-table td{padding:12px 8px}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#3b82f6;color:#fff;border:none}.btn-primary:hover:not(:disabled){background-color:#2563eb}@media (max-width: 480px){.roles-page-container{padding:12px}.action-btn{padding:6px 8px}.action-btn svg{margin-right:0}.action-btn span{display:none}}.course-structure-sidebar{width:300px;height:100%;background-color:#fffbf3;padding:28px 24px;border-right:1px solid #e8e4dc;box-sizing:border-box;flex-shrink:0;overflow-y:auto;scroll-behavior:smooth;box-shadow:2px 0 10px #0000000d;scrollbar-width:none;-ms-overflow-style:none}.course-structure-sidebar::-webkit-scrollbar{display:none}.bookmarks-btn{width:100%;padding:12px;background-color:#333;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;margin-bottom:30px}.course-content h2{font-size:20px;font-weight:700;color:#2d3748;margin-bottom:24px;padding-bottom:8px;border-bottom:2px solid #e2e8f0;letter-spacing:-.025em}.topic-section h3{font-size:16px;font-weight:600;color:#4a5568;margin-bottom:12px;padding:8px 0;letter-spacing:-.01em}.topic-header{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;transition:all .2s ease;margin:4px 0}.topic-header:hover{background-color:#4a556814;color:#2d3748;transform:translate(4px)}.topic-section ul{list-style:none;padding-left:16px;margin:8px 0;border-left:2px solid #e2e8f0}.topics-container{list-style:none;padding:0;margin:0}.topic-item{padding:8px 12px;cursor:pointer;color:#718096;font-size:14px;display:flex;align-items:center;border-radius:6px;margin:2px 0;transition:all .2s ease;position:relative}.topic-item:hover{background-color:#4a55680f;color:#4a5568;transform:translate(6px);box-shadow:0 2px 8px #0000001a}.topic-item.active{font-weight:600;color:#2d3748;background-color:#4a55681f;border-left:3px solid #4a5568;padding-left:13px}.topic-content{display:flex;align-items:center;flex:1;gap:8px}.topic-title{font-weight:500;line-height:1.4}.page-indicator{font-size:12px;color:#718096;margin-left:8px}.page-indicator{font-size:11px;font-weight:600;color:#4a5568;background:linear-gradient(135deg,#f7fafc,#edf2f7);padding:4px 8px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;min-width:24px;text-align:center;flex-shrink:0;margin-left:auto}.page-indicator:hover{background:linear-gradient(135deg,#edf2f7,#e2e8f0);transform:scale(1.05)}.course-header{margin-bottom:30px}.course-title{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0 0 8px;line-height:1.4}.course-title-underline{width:40px;height:3px;background:#3b82f6;border-radius:2px}.topics-section-title{font-size:1.125rem;font-weight:600;color:#374151;margin:0 0 15px}.bookmark-annotation-panel{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.panel-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.panel-container{position:relative;background-color:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:900px;height:85%;max-height:700px;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e8ecef;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.panel-title{margin:0;font-size:24px;font-weight:700;color:#2c3e50;display:flex;align-items:center;gap:12px}.panel-icon{font-size:28px}.close-btn{background:none;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#6c757d}.close-btn:hover{background-color:#f8f9fa;color:#495057;transform:scale(1.1)}.close-btn span{font-size:18px;font-weight:600}.panel-tabs{display:flex;background-color:#f8f9fa;border-bottom:1px solid #e8ecef}.tab-btn{flex:1;padding:16px 24px;background:none;border:none;cursor:pointer;font-size:15px;font-weight:600;color:#6c757d;transition:all .3s ease;border-bottom:3px solid transparent;display:flex;align-items:center;justify-content:center;gap:8px;position:relative}.tab-btn:hover{background-color:#e9ecef;color:#495057}.tab-btn.active{color:#007bff;border-bottom-color:#007bff;background-color:#fff}.tab-icon{font-size:18px}.tab-text{font-weight:600}.tab-count{background-color:#e9ecef;color:#6c757d;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;margin-left:4px}.tab-btn.active .tab-count{background-color:#007bff;color:#fff}.panel-content{flex:1;overflow-y:auto;position:relative;background-color:#fafbfc}.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fffc;display:flex;align-items:center;justify-content:center;z-index:10}.loading-spinner{padding:20px;font-size:16px;color:#007bff;font-weight:600}.empty-state{text-align:center;padding:60px 40px;color:#6c757d}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.7}.empty-title{font-size:24px;font-weight:600;color:#495057;margin:0 0 12px}.empty-description{font-size:16px;line-height:1.5;color:#6c757d;max-width:400px;margin:0 auto}.bookmarks-section{padding:24px 32px}.bookmarks-list{display:flex;flex-direction:column;gap:16px}.bookmark-item{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border:1px solid #e8ecef;border-radius:12px;background-color:#fff;transition:all .3s ease;cursor:pointer;box-shadow:0 2px 4px #0000000a}.bookmark-item:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.bookmark-content{flex:1;margin-right:16px}.bookmark-title{margin:0 0 8px;font-size:18px;color:#2c3e50;font-weight:600;line-height:1.3}.bookmark-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:#6c757d;margin:0}.bookmark-topic{font-weight:600;color:#007bff}.bookmark-page{font-weight:500}.bookmark-date{color:#adb5bd}.bookmark-separator{color:#dee2e6}.bookmark-actions{display:flex;gap:8px;flex-shrink:0}.annotations-section{padding:24px 32px}.highlights-list{display:flex;flex-direction:column;gap:20px}.highlight-item{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border:1px solid #e8ecef;border-radius:12px;background-color:#fff;transition:all .3s ease;box-shadow:0 2px 4px #0000000a}.highlight-item:hover{border-color:#28a745;box-shadow:0 4px 12px #28a74526;transform:translateY(-2px)}.highlight-content{flex:1;margin-right:16px}.highlight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.highlight-color-indicator{display:flex;align-items:center;gap:8px}.color-dot{width:16px;height:16px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #0000001a}.color-dot.color-yellow{background-color:#ffc107}.color-dot.color-blue{background-color:#007bff}.color-dot.color-green{background-color:#28a745}.color-dot.color-red{background-color:#dc3545}.color-dot.color-purple{background-color:#6f42c1}.color-dot.color-orange{background-color:#fd7e14}.color-label{font-size:14px;font-weight:600;color:#495057}.highlight-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:#6c757d}.highlight-topic{font-weight:600;color:#007bff}.highlight-date{color:#adb5bd}.highlight-separator{color:#dee2e6}.highlight-text{background-color:#f8f9fa;border-left:4px solid #28a745;padding:16px;border-radius:8px;margin-bottom:12px;font-size:16px;line-height:1.5;color:#2c3e50;font-style:italic}.highlight-quote{color:#28a745;font-size:20px;font-weight:700}.highlight-context{display:flex;align-items:center;gap:8px;font-size:13px;color:#6c757d}.context-label{font-weight:600}.context-info{color:#adb5bd}.highlight-actions{display:flex;gap:8px;flex-shrink:0}.action-btn{background:#fff;border:1px solid #e8ecef;padding:10px;border-radius:8px;cursor:pointer;font-size:16px;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000000a}.action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0000001f}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.navigate-btn:hover:not(:disabled){background-color:#e3f2fd;border-color:#2196f3;color:#1976d2}.edit-btn:hover:not(:disabled){background-color:#fff3e0;border-color:#ff9800;color:#f57c00}.delete-btn:hover:not(:disabled){background-color:#ffebee;border-color:#f44336;color:#d32f2f}@media (max-width: 768px){.panel-container{width:95%;height:90%;margin:20px}.panel-header{padding:20px 24px}.panel-title{font-size:20px}.bookmarks-section,.annotations-section{padding:20px 24px}.bookmark-item,.highlight-item{flex-direction:column;align-items:stretch;padding:16px}.bookmark-content,.highlight-content{margin-right:0;margin-bottom:16px}.bookmark-actions,.highlight-actions{justify-content:flex-end}.tab-btn{padding:12px 16px;font-size:14px}.tab-icon{font-size:16px}}@media (max-width: 480px){.panel-container{width:100%;height:100%;border-radius:0}.panel-header{padding:16px 20px}.panel-title{font-size:18px}.bookmarks-section,.annotations-section{padding:16px 20px}.bookmark-meta,.highlight-meta{flex-direction:column;align-items:flex-start;gap:4px}.bookmark-separator,.highlight-separator{display:none}}.app-container{display:flex;height:100vh;width:100%;overflow:hidden}.main-content-wrapper{position:relative;flex-grow:1;flex-shrink:1;height:100%;min-height:0;min-width:400px;transition:opacity .3s ease-in-out,transform .3s ease-in-out;transform:translateY(0);opacity:1;display:flex;justify-content:center}.main-content-wrapper.transitioning{opacity:.6;transform:translateY(-10px)}.main-content-wrapper .main-content-panel{transition:all .3s ease-in-out}.main-content-wrapper.transitioning .main-content-panel{filter:blur(1px)}.transition-indicator{position:absolute;top:20px;right:20px;z-index:1000;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border-radius:50%;width:40px;height:40px;box-shadow:0 2px 8px #0000001a}.transition-spinner{width:20px;height:20px;border:2px solid #e3e3e3;border-top:2px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container,.error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;width:100%;gap:1rem}.back-button{padding:.75rem 1.5rem;background-color:#111;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:background-color .2s ease}.back-button:hover{background-color:#0056b3}.main-content-panel{height:100%;overflow-y:auto;padding:20px;max-width:1400px;box-sizing:border-box;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.main-content-panel::-webkit-scrollbar{display:none}.audio-player{border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:40px;transition:all .3s ease;background-color:#fff}.audio-player.disabled{opacity:.5;background-color:#ffffff4d}.audio-player.disabled .play-pause-btn-main{cursor:not-allowed}.audio-player.error{border-color:#f44336;background-color:#fff5f5}.player-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.audio-title{flex:1;margin:0;font-weight:700;color:#333;font-size:14px;display:flex;flex-direction:column;gap:4px}.track-counter{font-size:12px;color:#666;font-weight:400}.audio-error{display:flex;align-items:center;gap:6px;margin-top:4px;padding:4px 8px;background-color:#ffebee;border-radius:4px;font-size:12px}.error-icon{color:#f44336;font-weight:700}.error-text{color:#d32f2f;flex:1}.error-retry{background:none;border:none;color:#1976d2;cursor:pointer;font-size:14px;padding:2px;border-radius:2px;transition:background-color .2s ease}.error-retry:hover{background-color:#1976d21a}.audio-controls{display:flex;align-items:center;gap:8px}.play-pause-btn-main{background:#333;color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:16px;line-height:32px;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center}.track-nav-btn{background:#6c757d;color:#fff;border:none;border-radius:4px;width:28px;height:28px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.track-nav-btn:hover:not(:disabled){background:#545b62}.track-nav-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.player-bottom-row{display:flex;align-items:center;gap:15px;font-size:14px;color:#666}.time-display{min-width:40px;text-align:center;font-family:Courier New,monospace;font-size:12px}.progress-bar-container{flex-grow:1;height:20px;cursor:pointer;display:flex;align-items:center;padding:7px 0;position:relative}.progress-bar-container:focus{outline:2px solid #4a90e2;outline-offset:2px}.progress-bar-track{width:100%;height:6px;background-color:#eee;border-radius:3px;position:relative;overflow:hidden}.progress-bar-buffered{position:absolute;top:0;left:0;height:100%;background-color:#ddd;border-radius:3px;transition:width .3s ease}.progress-bar-current{position:absolute;top:0;left:0;height:100%;background-color:#333;border-radius:3px;transition:width .1s ease}.progress-handle{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background-color:#333;border:2px solid white;border-radius:50%;box-shadow:0 1px 3px #0000004d;opacity:0;transition:opacity .2s ease}.progress-bar-container:hover .progress-handle{opacity:1}.progress-bar-container:focus .progress-handle{opacity:1}.lesson-content h1{font-family:Montserrat,sans-serif;font-weight:800;font-size:18px;line-height:1;letter-spacing:normal;margin-bottom:15px;color:#333;text-edge:cap alphabetic;leading-trim:both}.text-size-small .lesson-content h1{font-size:18px}.text-size-normal .lesson-content h1{font-size:20px}.text-size-large .lesson-content h1{font-size:22px}.lesson-content p,.lesson-content ol{line-height:1.7;color:#444}.lesson-content ol{padding-left:25px}.lesson-content li{margin-bottom:10px}.lesson-content .description{display:inline}.text-size-small{font-size:14px}.text-size-normal{font-size:16px}.text-size-large{font-size:18px}.html-content{line-height:1.7;color:#444}.html-content h3{font-size:16px;margin-bottom:15px;color:#333}.html-content p{margin-bottom:12px}.html-content ul,.html-content ol{padding-left:25px;margin-bottom:15px}.html-content li{margin-bottom:8px}.html-content strong{font-weight:700}.html-content .diagram-container{display:flex;gap:64px;margin:40px 0;justify-content:center}.html-content .diagram-image{max-width:90%;min-width:90%;height:auto;border-radius:8px;transition:max-width .3s ease}.text-size-small .html-content .diagram-image{max-width:70%;min-width:70%}.text-size-normal .html-content .diagram-image{max-width:90%;min-width:90%}.text-size-large .html-content .diagram-image{max-width:100%;min-width:100%}.lesson-content{flex-grow:1;min-height:400px;display:flex;flex-direction:column}.highlight-block{position:relative}.highlight-block p,.highlight-block li,.highlight-block h1,.highlight-block h2,.highlight-block h3,.highlight-block h4,.highlight-block h5,.highlight-block h6{line-height:1.6;margin-bottom:15px}.highlight-block li{margin-bottom:8px}.rangy-highlight{border-radius:2px;transition:all .2s ease;position:relative}.rangy-highlight:hover{opacity:.8}.web-highlight-wrap{cursor:pointer;border-radius:2px;transition:all .2s ease;position:relative}.web-highlight-wrap:hover{opacity:.8}.highlight-yellow{background-color:#ffeb3b4d!important;border-bottom:2px solid #ffeb3b!important}.highlight-green{background-color:#8bc34a4d!important;border-bottom:2px solid #8bc34a!important}.highlight-blue{background-color:#90caf94d!important;border-bottom:2px solid #90caf9!important}.highlight-pink{background-color:#f48fb14d!important;border-bottom:2px solid #f48fb1!important}.highlight-purple{background-color:#ce93d84d!important;border-bottom:2px solid #ce93d8!important}.highlight-hover{box-shadow:0 2px 8px #0003!important;transform:translateY(-1px)!important}.lesson-content-body{line-height:1.7;color:#444;flex-grow:1;min-height:200px;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.highlight-wrap{cursor:text;border-radius:2px;padding:1px 2px;margin:-1px -2px;position:relative}.highlight-wrap::selection{background:#007bff4d}.highlight-wrap::-moz-selection{background:#007bff4d}.highlight-wrap:focus{outline:2px solid #007bff;outline-offset:2px}@media (prefers-contrast: high){.highlight-wrap{border-width:2px;border-style:solid}}@media (prefers-reduced-motion: reduce){.highlight-wrap{transition:none}}.text-size-small .html-content .diagram-image{max-width:350px}.text-size-normal .html-content .diagram-image{max-width:450px}.text-size-large .html-content .diagram-image{max-width:550px}.mixed-content{line-height:1.7;color:#444}.mixed-content h3{font-size:16px;margin-bottom:15px;color:#333;font-weight:700}.mixed-content p{margin-bottom:12px;font-weight:400}.mixed-content ul,.mixed-content ol{padding-left:25px;margin-bottom:15px}.mixed-content li{margin-bottom:8px;font-weight:400}.mixed-content strong{font-weight:700}.mixed-content .diagram-container{display:flex;gap:64px;margin:40px 0;justify-content:center}.mixed-content .diagram-image{max-width:90%;min-width:90%;height:auto;border-radius:8px;transition:max-width .3s ease}.text-size-small .mixed-content .diagram-image{max-width:70%;min-width:70%}.text-size-normal .mixed-content .diagram-image{max-width:90%;min-width:90%}.text-size-large .mixed-content .diagram-image{max-width:100%;min-width:100%}.text-size-small .mixed-content .diagram-image{max-width:350px}.text-size-normal .mixed-content .diagram-image{max-width:450px}.text-size-large .mixed-content .diagram-image{max-width:550px}.text-size-small .mixed-content h3{font-size:14px}.text-size-normal .mixed-content h3{font-size:16px}.text-size-large .mixed-content h3{font-size:18px}.no-content{text-align:center;padding:40px 20px;color:#666;font-style:italic;min-height:200px;display:flex;align-items:center;justify-content:center;flex-direction:column}.no-content p{margin:0;font-size:16px}.audio-player-skeleton{border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:40px;background-color:#fff}@media (prefers-reduced-motion: reduce){.progress-bar-buffered,.progress-bar-current,.progress-handle,.audio-player{transition:none}}@media (prefers-contrast: high){.audio-player{border-width:2px}.progress-bar-track{border:1px solid #000}.progress-handle{border-color:#000}}.play-pause-btn-main:focus,.track-nav-btn:focus,.error-retry:focus{outline:2px solid #4a90e2;outline-offset:2px}.publish-button-container{position:fixed;bottom:30px;right:30px;z-index:1000;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.publish-button{display:flex;align-items:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #667eea66;transition:all .3s ease;text-transform:none;letter-spacing:.5px}.publish-button:hover:not(:disabled){background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.publish-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 10px #667eea66}.publish-button:disabled{opacity:.7;cursor:not-allowed;background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:0 2px 8px #0003}.publish-icon{font-size:20px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.audio-player{padding:12px}.player-top-row{flex-direction:column;align-items:flex-start;gap:8px}.audio-controls{align-self:flex-end}.time-display{font-size:11px;min-width:35px}.progress-bar-container{height:24px;padding:9px 0}.progress-handle{width:16px;height:16px}.main-content-panel{padding:20px 15px}.publish-button-container{bottom:20px;right:20px}.publish-button{padding:12px 20px;font-size:14px}.publish-icon{font-size:18px}}.tools-panel-sidebar{width:23%;height:100%;background-color:#fffbf3;padding:20px;border-left:1px solid #e5e2d9;box-sizing:border-box;flex-shrink:0;overflow-y:auto;position:relative;font-family:inherit;scrollbar-width:none;-ms-overflow-style:none}.tools-panel-sidebar::-webkit-scrollbar{display:none}.tool-section{margin-bottom:24px}.tool-section-header{margin-bottom:12px}.tool-section-title{font-size:1.125rem;font-weight:600;color:#333}.pagination-controls{display:flex;align-items:stretch;border:1px solid #d0c9b6;border-radius:8px;overflow:hidden}.pagination-controls>*:not(:last-child){border-right:1px solid #d0c9b6}.pagination-nav-btn,.pagination-btn{all:unset;display:flex;align-items:center;justify-content:center;padding:8px 12px;font-size:14px;color:#333;cursor:pointer;height:100%;box-sizing:border-box}.pagination-nav-btn{font-size:14px}.pagination-btn.active{font-weight:700;background-color:#333;color:#fff;border-radius:0;height:100%}.text-size-controls{display:flex;border:1px solid #d0c9b6;border-radius:8px;overflow:hidden}.text-size-controls>*:not(:last-child){border-right:1px solid #d0c9b6}.text-size-btn{flex:1;cursor:pointer;border:none;background:none;font-size:14px;color:#333;padding:4px 8px}.text-size-btn.active{font-weight:700;background-color:#333;color:#fff}.page-controls-wrapper{display:flex;justify-content:space-between;align-items:center}.add-bookmark-btn{width:38px;height:38px;border:1px solid #d0c9b6;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.add-bookmark-btn:hover{background-color:#f8f6f0}.add-bookmark-btn svg{width:20px;height:20px}.media-player{border:1px solid #d0c9b6;border-radius:20px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between}.media-info{flex:1;min-width:0}.media-title{font-size:14px;font-weight:500;color:#333}.media-controls{display:flex;gap:16px;align-items:center}.media-control-btn{background:transparent;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;fill:#333;font-size:18px}.media-control-btn.play-pause{width:14px;height:14px}.media-control-btn:disabled{fill:#bbb}.media-control-btn:disabled{cursor:not-allowed}.audio-list{max-height:150px;overflow-y:auto;border:1px solid #e5e2d9;border-radius:8px}.audio-item{padding:10px 14px;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.audio-item:last-child{border-bottom:none}.audio-item:hover{background-color:#f8f8f8}.audio-item.active{font-weight:700;background-color:#f0f4f8}.audio-item-title{font-size:13px;font-weight:500}.audio-playing-indicator{display:flex;align-items:center;justify-content:center}.audio-wave{display:flex;gap:2px;align-items:center}.wave-bar{width:2px;height:12px;background-color:#333;border-radius:1px;animation:wave 1.2s ease-in-out infinite}.wave-bar:nth-child(2){animation-delay:.2s}.wave-bar:nth-child(3){animation-delay:.4s}@keyframes wave{0%,to{height:4px}50%{height:12px}}.annotate-section.has-separator{padding-bottom:24px;margin-bottom:24px}.annotate-controls{display:flex;align-items:center;gap:12px}.highlighter-container svg{width:48px;height:48px}.tools-separator{border:none;border-top:1px solid #e5e2d9;margin:0 -20px}.textarea-separator{border:none;border-top:1px solid #e5e2d9;padding:12px}.notes-section{margin-bottom:0}.notes-section .rich-text-editor-content{border:1px solid #e5e2d9;border-radius:10px;padding:12px;font-size:14px;line-height:1.5;color:#333}.notes-section .rich-text-editor-content:focus{outline:1px solid #aaa}.notes-section .rich-text-editor-content:empty:before{content:"Write your notes here....";color:#aaa;cursor:text;pointer-events:none}.add-coupon-container{max-width:800px;margin:0 auto;padding:20px;background-color:#fffbf3;min-height:100vh;box-sizing:border-box}.topic-dropdown{background-color:#fffbf3!important}.add-coupon-form{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;margin:20px 0}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-control{width:100%;padding:10px 36px 10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px!important;padding-right:36px!important}.topic-select__indicators{display:none!important}.form-control:focus{border-color:#4a90e2;outline:none;box-shadow:0 0 0 2px #4a90e233}.btn{padding:10px 20px;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary{background-color:#4a90e2;color:#fff}.btn-primary:hover{background-color:#3a7bc8}.topic-select__control{border-radius:8px!important;min-height:45px}.topic-select__multi-value{background-color:#eaf2ff!important}.topic-select__multi-value__label{color:#0d6efd!important;font-weight:500}.topic-select__multi-value__remove{color:#0d6efd!important}.topic-select__menu{z-index:9999!important}.btn-secondary{background-color:#f5f5f5;color:#333;margin-right:10px}.btn-secondary:hover{background-color:#e0e0e0}.error-message{color:#e74c3c;font-size:14px;margin-top:5px}.form-actions{display:flex;justify-content:flex-end;margin-top:30px}@media (max-width: 768px){.add-coupon-container{padding:15px}.form-actions{flex-direction:column;gap:10px}.btn{width:100%}}
