*{margin:0;padding:0;box-sizing:border-box}:root,[data-theme=dark]{--bg-dark: #0d0d0f;--bg-darker: #0a0a0c;--bg-card: #1a1a1f;--bg-input: #252529;--bg-sidebar: #141417;--text-primary: #ffffff;--text-secondary: #8a8a8f;--text-muted: #5a5a5f;--accent-blue: #4a9eff;--accent-blue-hover: #3a8eef;--accent-red: #ff4a4a;--accent-green: #4aff7f;--border-color: #2a2a2f;--border-radius: 8px;--border-radius-lg: 12px;font-family:Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-dark)}[data-theme=light]{--bg-dark: #f5f5f7;--bg-darker: #e8e8ed;--bg-card: #ffffff;--bg-input: #f0f0f4;--bg-sidebar: #ffffff;--text-primary: #1a1a1f;--text-secondary: #5a5a5f;--text-muted: #8a8a8f;--accent-blue: #2563eb;--accent-blue-hover: #1d4ed8;--accent-red: #dc2626;--accent-green: #16a34a;--border-color: #e0e0e5}[data-theme=light] body{background:linear-gradient(135deg,#f5f5f7,#eef0f4,#f5f5f7)}[data-theme=light] .sidebar-link.active{background:#2563eb1f;color:#2563eb}[data-theme=light] .sidebar-link.active:hover{background:#2563eb2e}body{min-height:100vh;background:linear-gradient(135deg,#0d0d0f,#15151a,#0d0d0f)}#root{min-height:100vh}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:var(--bg-card)}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;background:transparent}.auth-logo{display:flex;align-items:center;gap:16px;margin-bottom:32px}.auth-logo img{width:64px;height:64px}.auth-logo-text{font-size:48px;font-weight:600;color:var(--text-primary);letter-spacing:4px}.auth-title{font-size:24px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px;margin-bottom:40px}.auth-form{width:100%;display:flex;flex-direction:column;gap:12px}.auth-input{width:100%;padding:14px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s}.auth-input::placeholder{color:var(--text-muted)}.auth-input:focus{border-color:var(--accent-blue)}.auth-button{width:100%;padding:14px;background:var(--accent-blue);border:none;border-radius:var(--border-radius);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s;margin-top:8px}.auth-button:hover{opacity:.9}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-link{color:var(--text-secondary);font-size:14px;text-decoration:none;margin-top:16px;transition:color .2s}.auth-link:hover{color:var(--text-primary)}.auth-error{color:var(--accent-red);font-size:13px;text-align:center;padding:8px;background:#dc26261a;border-radius:var(--border-radius);margin-top:8px}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{flex-shrink:0;height:100vh;background:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .3s ease}.sidebar.expanded{width:240px}.sidebar.collapsed{width:72px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color);min-height:64px}.sidebar-logo{display:flex;align-items:center;gap:10px;overflow:hidden}.sidebar-logo img{width:28px;height:28px;flex-shrink:0;color:var(--text-primary)}.sidebar-logo-text{font-size:18px;font-weight:600;letter-spacing:2px;white-space:nowrap}.sidebar-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:color .2s;flex-shrink:0}.sidebar-toggle:hover{color:var(--text-primary)}.sidebar-nav{flex:1;padding:16px 8px;display:flex;flex-direction:column;gap:4px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:12px;color:var(--text-secondary);text-decoration:none;border-radius:var(--border-radius);transition:all .2s;white-space:nowrap;overflow:hidden}.sidebar-link:hover{background:var(--bg-input);color:var(--text-primary)}.sidebar-link.active{background:var(--bg-input);color:var(--accent-blue)}.sidebar-link svg{width:20px;height:20px;flex-shrink:0}.sidebar-link span{opacity:1;transition:opacity .2s}.sidebar.collapsed .sidebar-link span,.sidebar.collapsed .sidebar-logo-text{opacity:0;width:0}.sidebar-footer{padding:16px;border-top:1px solid var(--border-color)}.sidebar-theme-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:10px 8px;margin-bottom:12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;font-size:14px;transition:all .2s;justify-content:center}.sidebar-theme-toggle:hover{color:var(--text-primary);border-color:var(--accent-blue);background:var(--bg-card)}.sidebar-theme-toggle svg{width:14px;height:14px;flex-shrink:0}.sidebar.collapsed .sidebar-theme-toggle{padding:10px;margin-bottom:8px}.sidebar.collapsed .sidebar-theme-toggle span{display:none}.sidebar-user{display:flex;align-items:center;gap:12px;padding:8px 0;overflow:hidden}.sidebar-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-blue);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;flex-shrink:0}.sidebar-user-info{overflow:hidden}.sidebar-username{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-email{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .sidebar-user-info{display:none}.sidebar-footer-links{display:flex;flex-direction:column;gap:4px;margin-top:12px}.sidebar-footer-link{display:flex;align-items:center;gap:12px;padding:10px 8px;color:var(--text-secondary);text-decoration:none;border-radius:var(--border-radius);cursor:pointer;background:none;border:none;font-size:14px;transition:all .2s;white-space:nowrap;overflow:hidden}.sidebar-footer-link:hover{color:var(--text-primary)}.sidebar-footer-link.logout{color:var(--accent-red)}.sidebar-footer-link.logout:hover{color:#ff6a6a}.sidebar-footer-link svg{width:18px;height:18px;flex-shrink:0}.sidebar.collapsed .sidebar-footer-link span{display:none}.main-content{flex:1;min-width:0;padding:32px;overflow-y:auto;overflow-x:hidden}.placeholder-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 64px);color:var(--text-secondary);font-size:18px}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-secondary)}.mobile-header,.mobile-overlay{display:none}@media(max-width:767px){.mobile-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-sidebar);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:90;flex-shrink:0}.mobile-header-burger{padding:8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius)}.mobile-header-burger:hover{color:var(--text-primary);background:var(--bg-input)}.mobile-header-title{font-size:18px;font-weight:600;letter-spacing:2px;color:var(--text-primary)}.mobile-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:998;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}.mobile-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.app-layout{flex-direction:column}.sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;max-width:85vw;z-index:999;transform:translate(-100%);transition:transform .3s ease;box-shadow:none}.sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 24px #0000004d}.sidebar.collapsed.mobile-open{width:280px}.sidebar-close-mobile{padding:10px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius)}.sidebar-close-mobile:hover{color:var(--text-primary);background:var(--bg-input)}.main-content{padding:16px;width:100%}}@media(max-width:767px){.auth-page{padding:24px 16px 16px;justify-content:flex-start}.auth-card{max-width:100%}.auth-logo img{width:48px;height:48px}.auth-logo-text{font-size:36px;letter-spacing:2px}.auth-title{font-size:20px;margin-bottom:24px}.auth-input,.auth-button{min-height:44px}}@media(max-width:480px){.auth-logo-text{font-size:28px}.auth-title{font-size:18px}}.education-layout{display:flex;flex-direction:column;min-height:100%}.education-nav{display:flex;gap:8px;padding:0 0 24px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.education-nav-link{padding:10px 20px;color:var(--text-secondary);text-decoration:none;border-radius:var(--border-radius);font-size:14px;transition:all .2s}.education-nav-link:hover,.education-nav-link.active{color:var(--text-primary);background:var(--bg-input)}[data-theme=light] .education-nav-link.active{background:#2563eb1f;color:#2563eb}[data-theme=light] .education-nav-link.active:hover{background:#2563eb2e}.courses-list{display:flex;flex-direction:column;gap:16px}.course-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);display:flex;overflow:hidden}.course-card-left{flex:1;padding:20px 24px;display:flex;flex-direction:column;gap:8px}.course-card-right{width:300px;padding:20px 24px;border-left:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.course-title{font-size:18px;font-weight:600;color:var(--text-primary);text-decoration:none;transition:color .2s}.course-title:hover{color:var(--accent-blue)}.course-meta{font-size:13px;color:var(--text-muted)}.course-status{font-size:13px;color:var(--text-secondary)}.course-status.new{color:var(--accent-blue)}.course-status.in-progress{color:#f0ad4e}.course-status.completed{color:#5cb85c}.course-description-link{font-size:13px;color:var(--text-secondary);text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;text-align:left}.course-description-link:hover{color:var(--accent-blue)}.course-card-right-title{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.course-last-lesson{font-size:14px;color:var(--accent-blue);text-decoration:none}.course-last-lesson:hover{text-decoration:underline}.course-last-lesson.none{color:var(--text-muted)}.course-page{display:flex;flex-direction:column;gap:16px}.course-page-header{display:flex;align-items:center;gap:16px}.course-page-content{display:flex;gap:24px}.back-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.back-btn:hover{background:var(--bg-input);color:var(--text-primary);border-color:var(--text-muted)}.back-btn svg{width:16px;height:16px}.course-lessons-panel{flex:1;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:20px}.course-stats-panel{width:280px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:20px;height:fit-content}.course-page-title{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.course-page-id,.course-edit-id{font-size:12px;color:var(--text-muted);margin-bottom:20px}.course-edit-id{margin-bottom:8px}.course-id-value{font-family:ui-monospace,monospace;color:var(--text-secondary);cursor:pointer;-webkit-user-select:all;user-select:all}.course-id-value:hover{color:var(--accent-blue)}.course-archive-upload label{display:block;margin-bottom:6px}.course-archive-input{font-size:13px;color:var(--text-primary)}.course-archive-filename{margin-top:6px;font-size:13px;color:var(--text-secondary)}.lessons-list{display:flex;flex-direction:column;gap:4px}.lesson-item{display:flex;align-items:center;padding:12px 16px;color:var(--text-secondary);text-decoration:none;border-radius:var(--border-radius);transition:all .2s;font-size:14px}.lesson-item:hover{background:var(--bg-input);color:var(--text-primary)}.lesson-item.active{background:var(--bg-input);color:var(--accent-blue)}.lesson-number{width:28px;color:var(--text-muted);flex-shrink:0}.stats-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.stats-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-color);font-size:13px}.stats-item:last-child{border-bottom:none}.stats-label{color:var(--text-secondary)}.stats-value{color:var(--text-primary);font-weight:500}.lesson-page{display:flex;flex-direction:column;gap:16px}.lesson-page-header{display:flex;align-items:center;gap:16px}.lesson-course-name{font-size:14px;color:var(--text-muted)}.lesson-content-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:24px;max-width:900px}.lesson-content-panel--wide{max-width:none}.lesson-title{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:24px}.lesson-section{margin-bottom:24px}.lesson-section-title{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.lesson-section-content{font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.html-lesson-viewer{margin:16px 0}.html-lesson-viewer__title{padding:6px 0 10px;font-size:13px;font-weight:600;color:var(--text-secondary)}.html-lesson-viewer__loading{padding:32px 0;text-align:center;color:var(--text-muted);font-size:14px}.html-lesson-viewer__error{padding:24px 0;color:var(--accent-red);font-size:14px}.html-lesson-viewer__error p{margin:0 0 12px}.html-lesson-viewer__download-btn{padding:8px 16px;background:var(--accent-blue);color:#fff;border:none;border-radius:var(--border-radius);font-size:13px;cursor:pointer}.html-lesson-viewer__download-btn:hover{opacity:.9}.html-lesson-viewer__fragment{width:100%;overflow:visible}.lesson-fragment{background:transparent;color:inherit;line-height:1.6}.lesson-files{display:flex;flex-direction:column;gap:8px}.lesson-file-link{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--accent-blue);text-decoration:none;font-size:13px;transition:all .2s}.lesson-file-link:hover{border-color:var(--accent-blue)}.lesson-answer-section{margin-top:32px}.lesson-textarea{width:100%;min-height:150px;padding:16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical;outline:none;transition:border-color .2s}.lesson-textarea:focus{border-color:var(--accent-blue)}.lesson-textarea::placeholder{color:var(--text-muted)}.lesson-back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s;text-decoration:none;margin-top:24px}.lesson-back-btn:hover{border-color:var(--accent-blue);color:var(--text-primary)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-card);border:1px solid var(--text-primary);border-radius:var(--border-radius-lg);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-title{font-size:18px;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:24px;overflow-y:auto;color:var(--text-secondary);font-size:14px;line-height:1.6}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.modal-btn{padding:10px 32px;background:var(--accent-blue);border:none;border-radius:var(--border-radius);color:#fff;font-size:14px;cursor:pointer;transition:background .2s}.modal-btn:hover{background:var(--accent-blue-hover)}.loading-center{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary)}.error-message{padding:16px;background:#ff4a4a1a;border:1px solid var(--accent-red);border-radius:var(--border-radius);color:var(--accent-red);font-size:14px}.modal-content{background:var(--bg-card);border:1px solid var(--text-primary);border-radius:var(--border-radius-lg);width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column}.modal-footer{gap:12px}.modal-btn.secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.modal-btn.secondary:hover{background:var(--bg-darker);color:var(--text-primary)}.modal-btn.primary{background:var(--accent-blue)}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.drop-zone{border:2px dashed var(--border-color);border-radius:var(--border-radius-lg);padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s;min-height:150px;display:flex;align-items:center;justify-content:center}.drop-zone:hover{border-color:var(--accent-blue);background:#4a9eff0d}.drop-zone.drag-over{border-color:var(--accent-blue);background:#4a9eff1a}.drop-zone.has-file{border-style:solid;border-color:var(--accent-blue)}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:12px}.drop-icon{font-size:48px}.drop-text{color:var(--text-secondary);font-size:14px;line-height:1.6}.file-info{display:flex;flex-direction:column;align-items:center;gap:8px}.file-icon{font-size:48px}.file-name{color:var(--text-primary);font-weight:500;font-size:14px;word-break:break-all}.file-size{color:var(--text-muted);font-size:12px}.upload-success{display:flex;flex-direction:column;gap:16px}.success-icon{width:64px;height:64px;background:#4aff801a;border:2px solid var(--accent-green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--accent-green);margin:0 auto}.success-info{text-align:center}.success-label{color:var(--text-secondary);font-size:12px;margin-bottom:4px}.success-value{color:var(--text-primary);font-size:14px;font-family:monospace;background:var(--bg-darker);padding:8px 12px;border-radius:var(--border-radius);word-break:break-all}.uploaded-lessons{margin-top:8px}.lessons-header{color:var(--text-secondary);font-size:12px;margin-bottom:8px}.lessons-list-upload{list-style:none;padding:0;margin:0;background:var(--bg-darker);border-radius:var(--border-radius);max-height:200px;overflow-y:auto}.lessons-list-upload li{display:flex;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border-color)}.lessons-list-upload li:last-child{border-bottom:none}.lesson-tag{color:var(--accent-blue);font-family:monospace;font-size:12px;min-width:80px}.lesson-name{color:var(--text-primary);font-size:13px}.upload-error{margin-top:12px;padding:12px;background:#ff4a4a1a;border:1px solid var(--accent-red);border-radius:var(--border-radius);color:var(--accent-red);font-size:13px}.create-course-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--accent-blue);border:none;border-radius:var(--border-radius);color:#fff;font-size:14px;cursor:pointer;transition:background .2s}.create-course-btn:hover{background:var(--accent-blue-hover)}.create-course-btn svg{width:16px;height:16px}.courses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.wizard-modal{max-width:550px}.wizard-progress{padding:16px 24px;border-bottom:1px solid var(--border-color)}.wizard-steps{display:flex;align-items:center;justify-content:center;gap:0}.wizard-step{display:flex;align-items:center;gap:8px;opacity:.5;transition:opacity .2s}.wizard-step.active{opacity:1}.wizard-step.completed .step-number{background:var(--accent-green)}.step-number{width:28px;height:28px;border-radius:50%;background:var(--bg-darker);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--text-secondary)}.wizard-step.active .step-number{border-color:var(--accent-blue);color:var(--accent-blue)}.step-label{font-size:13px;color:var(--text-secondary)}.wizard-step.active .step-label{color:var(--text-primary)}.wizard-step-line{width:60px;height:2px;background:var(--border-color);margin:0 16px}.course-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;color:var(--text-secondary);font-weight:500}.form-input{padding:12px 16px;background:var(--bg-darker);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:14px;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--accent-blue)}.form-input::placeholder{color:var(--text-muted)}.form-textarea{padding:12px 16px;background:var(--bg-darker);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:14px;resize:vertical;min-height:80px;font-family:inherit;transition:border-color .2s}.form-textarea:focus{outline:none;border-color:var(--accent-blue)}.form-textarea::placeholder{color:var(--text-muted)}.access-type-selector{display:flex;gap:12px}.access-type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--bg-darker);border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;transition:all .2s}.access-type-btn:hover{border-color:var(--text-muted)}.access-type-btn.active{border-color:var(--accent-blue);background:#4a9eff1a;color:var(--text-primary)}.access-icon{font-size:18px}.access-label{font-size:14px}.upload-section{display:flex;flex-direction:column;gap:16px}.created-course-info{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#4aff801a;border:1px solid var(--accent-green);border-radius:var(--border-radius)}.info-badge{color:var(--accent-green);font-weight:600;font-size:13px}.info-text{display:flex;flex-direction:column;gap:2px}.info-text strong{color:var(--text-primary);font-size:14px}.info-id{color:var(--text-muted);font-size:12px;font-family:monospace}.course-card{position:relative}.course-delete-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;padding:6px;background:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.course-delete-btn:hover{background:#ff4a4a1a;border-color:var(--accent-red);color:var(--accent-red)}.course-delete-btn svg{width:16px;height:16px}.delete-modal{max-width:400px}.delete-warning{color:var(--text-primary);font-size:15px;margin:0 0 8px}.delete-notice{color:var(--text-muted);font-size:13px;margin:0}.modal-btn.danger{background:var(--accent-red);color:#fff}.modal-btn.danger:hover:not(:disabled){background:#e04343}.modal-btn.danger:disabled{opacity:.6;cursor:not-allowed}.toast-success{position:fixed;bottom:24px;right:24px;padding:14px 24px;background:var(--accent-green);color:#111;font-size:14px;font-weight:500;border-radius:var(--border-radius);box-shadow:0 4px 20px #0000004d;z-index:1001;animation:slideInUp .3s ease}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.edit-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.edit-btn:hover{background:var(--bg-input);color:var(--accent-blue);border-color:var(--accent-blue)}.edit-btn svg{width:16px;height:16px}.edit-actions{display:flex;gap:8px;margin-left:auto}.course-edit-form{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.edit-divider{height:1px;background:var(--border-color);margin:8px 0}.lessons-list-title{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}@media(max-width:767px){.education-nav{flex-wrap:wrap;gap:6px;padding-bottom:16px;margin-bottom:16px}.education-nav-link{padding:10px 14px;font-size:13px}.course-card{flex-direction:column}.course-card-left{padding:16px}.course-card-right{width:100%;padding:16px;border-left:none;border-top:1px solid var(--border-color)}.course-title{font-size:16px}.course-delete-btn{min-width:44px;min-height:44px}.course-page-header{flex-wrap:wrap}.course-page-content{flex-direction:column;gap:16px}.course-stats-panel{width:100%;order:-1}.course-lessons-panel{padding:16px}.lesson-item{min-height:44px;padding:12px 16px}.lesson-content-panel{padding:16px;max-width:100%}.lesson-title{font-size:18px;margin-bottom:16px}.lesson-file-link{min-height:44px}.lesson-textarea{min-height:120px}.lesson-back-btn{min-height:44px}.modal,.modal-content{width:95%;max-width:none;max-height:90vh}.modal-header,.modal-body,.modal-footer{padding:16px}.modal-close{min-width:44px;min-height:44px;padding:8px}.modal-btn{min-height:44px;padding:12px 24px}.courses-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.create-course-btn{min-height:44px;justify-content:center}.access-type-selector{flex-direction:column}.access-type-btn{min-height:44px}.wizard-steps{flex-wrap:wrap;justify-content:flex-start}.wizard-step-line{display:none}.wizard-modal{max-width:100%}.form-input,.form-textarea{min-height:44px}.form-textarea{min-height:100px}.drop-zone{padding:24px 16px;min-height:120px}.edit-actions{flex-wrap:wrap;margin-left:0}.edit-btn,.back-btn{min-height:44px}}@media(max-width:480px){.education-nav-link{padding:8px 12px;font-size:12px}.course-card-left,.course-card-right{padding:12px}.course-page-title{font-size:18px}.lesson-title{font-size:16px}.toast-success{left:16px;right:16px;bottom:16px}}.olympiads-layout{display:flex;flex-direction:column;min-height:100%}.olympiads-nav{display:flex;gap:8px;padding:0 0 24px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.olympiads-nav-link{padding:10px 20px;color:var(--text-secondary);text-decoration:none;border-radius:var(--border-radius);font-size:14px;transition:all .2s}.olympiads-nav-link:hover,.olympiads-nav-link.active{color:var(--text-primary);background:var(--bg-input)}[data-theme=light] .olympiads-nav-link.active{background:#2563eb1f;color:#2563eb}[data-theme=light] .olympiads-nav-link.active:hover{background:#2563eb2e}.olympiads-list{display:flex;flex-direction:column;gap:16px}.olympiad-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);display:flex;overflow:hidden}.olympiad-card-left{flex:1;padding:20px 24px;display:flex;flex-direction:column;gap:8px}.olympiad-card-right{width:300px;padding:20px 24px;border-left:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.olympiad-title{font-size:18px;font-weight:600;color:var(--text-primary);text-decoration:none;transition:color .2s}.olympiad-title:hover{color:var(--accent-blue)}.olympiad-meta{font-size:13px;color:var(--text-muted)}.olympiad-status{font-size:13px;color:var(--text-secondary)}.olympiad-status.new{color:var(--accent-blue)}.olympiad-status.in-progress{color:#f0ad4e}.olympiad-status.completed{color:#5cb85c}.olympiad-description-link{font-size:13px;color:var(--text-secondary);text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;text-align:left}.olympiad-description-link:hover{color:var(--accent-blue)}.olympiad-card-right-title{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.olympiad-last-task{font-size:14px;color:var(--accent-blue);text-decoration:none}.olympiad-last-task:hover{text-decoration:underline}.olympiad-last-task.none{color:var(--text-muted)}.olympiad-leaderboard-link{font-size:14px;color:var(--accent-blue);text-decoration:none;margin-top:8px}.olympiad-leaderboard-link:hover{text-decoration:underline}.olympiad-details-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.olympiad-details-panel{flex:1;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:20px}.olympiad-details-title{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.olympiad-task-list{display:flex;flex-direction:column;gap:4px}.olympiad-task-item{display:flex;align-items:center;padding:12px 16px;color:var(--text-secondary);text-decoration:none;border-radius:var(--border-radius);transition:all .2s;font-size:14px;border-bottom:1px solid var(--border-color)}.olympiad-task-item:last-child{border-bottom:none}.olympiad-task-item:hover{background:var(--bg-input);color:var(--text-primary)}.olympiad-task-number{width:28px;color:var(--text-muted);flex-shrink:0}.olympiad-task-name{flex:1}.olympiad-task-status{font-size:12px;color:var(--text-muted)}.olympiad-task-status.complete{color:var(--accent-green)}.olympiad-task-status.submitted{color:#f0ad4e}.olympiad-task-page{display:flex;flex-direction:column;gap:16px}.olympiad-task-layout{display:grid;grid-template-columns:1fr 380px;gap:24px}.olympiad-task-info-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:24px}.olympiad-task-answer-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:24px;height:fit-content}.olympiad-task-title{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:24px}.olympiad-task-section{margin-bottom:24px}.olympiad-task-section-title{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.olympiad-task-section-content{font-size:14px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.olympiad-task-textarea{width:100%;min-height:150px;padding:16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical;outline:none;transition:border-color .2s}.olympiad-task-textarea:focus{border-color:var(--accent-blue)}.olympiad-task-textarea::placeholder{color:var(--text-muted)}.olympiad-drop-zone{border:2px dashed var(--border-color);border-radius:var(--border-radius-lg);padding:32px 20px;text-align:center;cursor:pointer;transition:all .2s;min-height:120px;display:flex;align-items:center;justify-content:center}.olympiad-drop-zone:hover{border-color:var(--accent-blue);background:#4a9eff0d}.olympiad-drop-zone.drag-over{border-color:var(--accent-blue);background:#4a9eff1a}.olympiad-drop-zone.has-file{border-style:solid;border-color:var(--accent-blue)}.olympiad-submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;margin-top:16px;background:var(--accent-blue);border:none;border-radius:var(--border-radius);color:#fff;font-size:14px;cursor:pointer;transition:background .2s;width:100%}.olympiad-submit-btn:hover:not(:disabled){background:var(--accent-blue-hover)}.olympiad-submit-btn:disabled{opacity:.5;cursor:not-allowed}.olympiad-result-card{margin-top:24px;padding:16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:14px;color:var(--text-primary)}.olympiad-result-card.empty{color:var(--text-muted)}.olympiad-file-info{display:flex;align-items:center;gap:8px;padding:12px;background:var(--bg-input);border-radius:var(--border-radius);margin-top:12px;font-size:13px;color:var(--text-primary)}.olympiad-file-remove{margin-left:auto;padding:4px 8px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px}.olympiad-file-remove:hover{color:var(--accent-red)}.olympiad-leaderboard-page{display:flex;flex-direction:column;gap:16px}.olympiad-leaderboard-title{font-size:20px;font-weight:600;color:var(--text-primary);text-decoration:none;margin-bottom:24px}.olympiad-leaderboard-title:hover{color:var(--accent-blue)}.olympiad-leaderboard-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.olympiad-leaderboard-table{width:100%;min-width:600px;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden}.olympiad-leaderboard-table th,.olympiad-leaderboard-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color);font-size:13px}.olympiad-leaderboard-table th{background:var(--bg-input);color:var(--text-secondary);font-weight:600;white-space:nowrap}.olympiad-leaderboard-table td{color:var(--text-primary)}.olympiad-leaderboard-table tr:last-child td{border-bottom:none}.olympiad-leaderboard-table tr:hover td{background:var(--bg-input)}.olympiad-cell-complete{color:var(--accent-green)}.olympiad-cell-fail{color:var(--accent-red)}.olympiad-cell-empty{color:var(--text-muted)}.olympiad-create-tasks{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.olympiad-create-task-card{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px}.olympiad-create-task-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.olympiad-create-task-number{font-size:14px;font-weight:600;color:var(--text-secondary)}.olympiad-create-task-actions{display:flex;gap:4px}.olympiad-create-task-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-darker);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .2s}.olympiad-create-task-btn:hover:not(:disabled){background:var(--bg-card);color:var(--accent-blue);border-color:var(--accent-blue)}.olympiad-create-task-btn:disabled{opacity:.5;cursor:not-allowed}.olympiad-create-task-btn.danger:hover:not(:disabled){color:var(--accent-red);border-color:var(--accent-red);background:#ff4a4a1a}.olympiad-add-task-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:2px dashed var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.olympiad-add-task-btn:hover:not(:disabled){border-color:var(--accent-blue);color:var(--accent-blue)}.olympiad-add-task-btn:disabled{opacity:.5;cursor:not-allowed}.olympiad-add-task-btn svg{width:16px;height:16px}@media(max-width:767px){.olympiad-card{flex-direction:column}.olympiad-card-left{padding:16px}.olympiad-card-right{width:100%;padding:16px;border-left:none;border-top:1px solid var(--border-color)}.olympiad-title{font-size:16px}.olympiad-task-layout{grid-template-columns:1fr}.olympiad-task-answer-panel{order:-1}.olympiad-task-info-panel,.olympiad-task-answer-panel{padding:16px}.olympiad-leaderboard-wrapper{margin:0 -16px;padding:0 16px}.olympiad-leaderboard-table th,.olympiad-leaderboard-table td{padding:10px 12px;font-size:12px}}@media(max-width:480px){.olympiad-card-left,.olympiad-card-right{padding:12px}.olympiads-nav{flex-wrap:wrap;gap:6px;padding-bottom:16px;margin-bottom:16px}.olympiads-nav-link{padding:10px 14px;font-size:13px}.olympiad-create-task-card{padding:12px}.olympiad-create-task-header{flex-wrap:wrap;gap:8px}.olympiad-add-task-btn{min-height:44px;justify-content:center}}.users-page{display:flex;flex-direction:column;gap:20px}.users-header{display:flex;align-items:center;gap:16px}.page-title{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.users-count{font-size:14px;color:var(--text-muted);padding:4px 12px;background:var(--bg-input);border-radius:var(--border-radius)}.users-table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:14px 20px;text-align:left}.users-table th{background:var(--bg-darker);color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.users-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .15s}.users-table tbody tr:last-child{border-bottom:none}.users-table tbody tr:hover{background:var(--bg-input)}.user-login{font-weight:500;color:var(--text-primary)}.user-email{color:var(--text-secondary)}.user-role,.user-status{white-space:nowrap}.role-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.role-badge.admin{background:#4a9eff26;color:var(--accent-blue)}.role-badge.user{background:var(--bg-input);color:var(--text-secondary)}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.active{background:#4aff8026;color:var(--accent-green)}.status-badge.unverified{background:#ffc14a26;color:#f0ad4e}.status-badge.deleted{background:#ff4a4a26;color:var(--accent-red)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:16px;flex-wrap:wrap}.pagination-info{font-size:13px;color:var(--text-muted)}.pagination-controls{display:flex;align-items:center;gap:4px}.pagination-btn{min-width:36px;height:36px;padding:0 8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .15s}.pagination-btn:hover:not(:disabled){background:var(--bg-input);color:var(--text-primary);border-color:var(--text-muted)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.pagination-ellipsis{padding:0 8px;color:var(--text-muted)}.page-size-selector{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.page-size-btn{padding:6px 12px;background:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.page-size-btn:hover{background:var(--bg-input);color:var(--text-primary)}.page-size-btn.active{background:var(--bg-input);border-color:var(--accent-blue);color:var(--accent-blue)}.retry-btn{margin-top:16px;padding:10px 20px;background:var(--accent-blue);border:none;border-radius:var(--border-radius);color:#fff;font-size:14px;cursor:pointer;transition:background .2s}.retry-btn:hover{background:var(--accent-blue-hover)}.empty-state{padding:60px 24px;text-align:center;color:var(--text-muted);font-size:15px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg)}@media(max-width:767px){.users-page{gap:16px}.users-header{flex-direction:column;align-items:stretch;gap:12px}.page-title{font-size:20px}.users-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table{min-width:600px}.users-table th,.users-table td{padding:12px 14px;font-size:13px}.pagination{flex-direction:column;align-items:stretch;gap:12px}.pagination-controls{flex-wrap:wrap;justify-content:center}.pagination-btn{min-width:44px;min-height:44px}.page-size-selector{flex-wrap:wrap;justify-content:center}.page-size-btn{min-height:44px}.retry-btn{min-height:44px;width:100%}.empty-state{padding:40px 16px;font-size:14px}}@media(max-width:480px){.page-title{font-size:18px}.users-table{min-width:500px}.users-table th,.users-table td{padding:10px 12px;font-size:12px}.role-badge,.status-badge{font-size:11px;padding:4px 8px}}
