body:after{content:"Created with love by Monica ✨";display:none}@keyframes monicaCopyright{0%{opacity:0}to{opacity:0}}body{animation:monicaCopyright 1s}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading{color:#666;justify-content:center;min-height:100vh}.loading,.toast{align-items:center;display:flex}.toast{animation:slideIn .5s ease;border-radius:4px;bottom:20px;color:#fff;padding:15px 25px;position:fixed;right:20px;z-index:1000}.toast.success{background-color:#4caf50}.toast.error{background-color:#f44336}.toast-close{background:none;border:none;color:#fff;cursor:pointer;font-size:20px;margin-left:10px}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.error-card{background-color:#fff3f3;border:1px solid #ffcdd2;border-radius:4px;margin-bottom:1rem;padding:1rem}.error-card,.error-content{align-items:center;display:flex;justify-content:space-between}.error-content{width:100%}.error-message{color:#d32f2f;font-size:.9rem}.error-close{background:none;border:none;color:#d32f2f;cursor:pointer;font-size:1.2rem;margin-left:1rem;padding:0 .5rem;width:auto}.error-close:hover{opacity:.8}.login-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:400px;padding:2rem;width:100%}.login-card h2{color:#333;margin-bottom:2rem;text-align:center}.form-group{margin-bottom:1rem}input{border:1px solid #ddd;border-radius:4px}button,input{font-size:1rem;padding:.75rem;width:100%}button{background-color:#1a1a1a;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background-color .2s}button:hover{background-color:#000}button:disabled{background-color:#ccc;cursor:not-allowed}.dashboard-container{background-color:#f5f5f5;min-height:100vh}.dashboard-header{background-color:#fff;box-shadow:0 2px 4px #0000001a;padding:1rem 2rem}.header-content{max-width:1200px}.dashboard-header h1{color:#333;font-size:1.5rem;margin:0}.logout-button{background-color:#1a1a1a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1.5rem;transition:background-color .2s;width:auto}.logout-button:hover{background-color:#000}.logout-button:disabled{background-color:#ccc;cursor:not-allowed}.header-actions{gap:.75rem}.admin-button,.results-button{background-color:#4a4a4a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1.5rem;transition:background-color .2s;width:auto}.admin-button:hover{background-color:#2a2a2a}.dashboard-layout{display:flex;min-height:calc(100vh - 60px)}.dashboard-content{grid-gap:2rem;display:grid;flex:1 1;gap:2rem;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.dashboard-card{background:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:2rem;transition:box-shadow .2s ease}.dashboard-card:hover{box-shadow:0 4px 16px #0000001f}.dashboard-card h2{color:#1a1a1a;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin-bottom:1.5rem}.profile-info{margin-top:1rem}.profile-info p{color:#666;font-size:1rem;margin:.5rem 0}.profile-info strong{color:#333;margin-right:.5rem}.lesson-card{margin-top:2rem}.lesson-card form{display:flex;flex-direction:column;gap:1.5rem}.half-width{flex:1 1}label{color:#333;font-weight:500}textarea{border:1px solid #ddd;border-radius:4px;min-height:150px;padding:.75rem}select{background-color:#fff;cursor:pointer}input[type=number],select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.create-lesson-btn{background-color:#1a1a1a;padding:.75rem}.create-lesson-btn:hover{background-color:#000}.view-full-progress-btn{background-color:#fff;border:1px solid #4a4a4a;border-radius:4px;color:#1a1a1a;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.view-full-progress-btn:hover{background-color:#f5f5f5;border-color:#1a1a1a}.cancel-btn{margin-left:.75rem;padding:.75rem}input:focus,select:focus,textarea:focus{border-color:#1a1a1a;box-shadow:0 0 0 2px #0000001a;outline:none}.checkbox-group{flex-direction:row;padding:.5rem 0}.checkbox-item{min-width:140px}.checkbox-item input[type=checkbox]{margin:0}.checkbox-item label{-webkit-user-select:none;user-select:none}.checkbox-item input[type=checkbox]{appearance:none;-webkit-appearance:none;background:#fff;border:2px solid #1a1a1a;border-radius:4px;height:18px;outline:none;position:relative;width:18px}.checkbox-item input[type=checkbox]:checked{background:#1a1a1a}.checkbox-item input[type=checkbox]:checked:after{color:#fff;content:"✓";font-size:14px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.checkbox-item input[type=checkbox]:hover{border-color:#000}.form-row{align-items:flex-start;gap:2rem}.header-actions{align-items:center;display:flex;gap:1rem}.results-button{background-color:#4a4a4a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:background-color .3s ease}.results-button:hover{background-color:#2a2a2a}.header-content{width:100%}.programming-lessons-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1.75rem;padding-bottom:1rem}.programming-lessons-header h2{color:#1a1a1a;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin:0}.create-programming-lesson-btn{align-items:center;background:#1a1a1a;border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;height:40px;justify-content:center;min-width:160px;padding:.625rem 1.5rem;transition:all .2s ease}.create-programming-lesson-btn:hover{background:#000;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.create-programming-lesson-btn:active{transform:translateY(0)}.programming-lessons-list{display:flex;flex-direction:column;gap:1rem}.programming-lesson-item{background:#fff;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;padding:1.5rem;position:relative;transition:all .2s ease}.programming-lesson-item:before{background:#1a1a1a;content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .2s ease;width:4px}.programming-lesson-item:hover{border-color:#1a1a1a;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.programming-lesson-item:hover:before{transform:scaleY(1)}.lesson-item-content h3{color:#1a1a1a;font-size:1.125rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0 0 .75rem}.lesson-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.625rem;margin:.75rem 0}.language-badge{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#495057;letter-spacing:.5px;text-transform:uppercase}.language-badge,.level-badge{align-items:center;display:inline-flex;font-size:.75rem;font-weight:500;padding:.375rem .75rem}.level-badge{border-radius:6px;text-transform:capitalize}.level-badge.level-basic{background:#f5f5f5;border:1px solid #e0e0e0;color:#4a4a4a}.level-badge.level-intermediate{background:#e8e8e8;border:1px solid #d0d0d0;color:#2a2a2a}.level-badge.level-advanced{background:#d0d0d0;border:1px solid #b0b0b0;color:#1a1a1a}.task-count{background:#f8f9fa;border-radius:6px;color:#6c757d;font-size:.875rem;font-weight:500;padding:.375rem .75rem}.lesson-description{color:#6c757d;font-size:.9rem;line-height:1.6;margin:.75rem 0 1.25rem}.lesson-actions{border-top:1px solid #f0f0f0;gap:.75rem;margin-top:1.25rem;padding-top:1.25rem}.delete-btn,.lesson-link{align-items:center;border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;height:40px;justify-content:center;min-width:100px;padding:.625rem 1.25rem;transition:all .2s ease}.lesson-link{background:#fff;border:1px solid #4a4a4a;box-shadow:0 2px 4px #0000001a;color:#1a1a1a;text-decoration:none}.lesson-link:hover{background:#f5f5f5;border-color:#1a1a1a;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.delete-btn{background:#4a4a4a;border:none;box-shadow:0 2px 4px #0000001a}.delete-btn:hover{background:#2a2a2a;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.assign-btn{background:#fff;box-shadow:0 2px 4px #0000001a}.assign-btn:hover{background:#f5f5f5;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.view-results-btn{background:#4a4a4a;box-shadow:0 2px 4px #0000001a}.view-results-btn:hover{background:#2a2a2a;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.dashboard-card .no-lessons{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;border-radius:12px;color:#6c757d;font-size:1rem;line-height:1.6;padding:3rem 2rem;position:relative;text-align:center}.dashboard-card .no-lessons:before{content:"✨";display:block;font-size:3rem;margin-bottom:1rem;opacity:.6}.programming-lessons-empty{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px dashed #dee2e6;border-radius:12px;overflow:hidden;padding:4rem 2rem;position:relative;text-align:center}.programming-lessons-empty:before{animation:pulse 3s ease-in-out infinite;background:radial-gradient(circle,#00000008 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}.programming-lessons-empty h3{color:#1a1a1a;font-size:1.375rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .75rem;position:relative;z-index:1}.programming-lessons-empty p{color:#6c757d;font-size:.95rem;line-height:1.6;margin:0 auto 2rem;max-width:500px;position:relative;z-index:1}.programming-lessons-empty .empty-state-btn{font-size:.9rem;padding:.625rem 1.5rem;position:relative;z-index:1}.progress-overview{display:flex;flex-direction:column;gap:2rem}.progress-section{background:#f8f9fa;border-left:4px solid #1a1a1a;border-radius:8px;padding:1.5rem}.progress-section h3{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 1rem}.progress-stats{display:flex;flex-direction:column;gap:.75rem}.progress-stat{padding:.5rem 0}.stat-label{font-size:.95rem}.stat-value{font-size:1rem}.progress-bar{background:#e0e0e0;border-radius:4px;height:8px;margin-top:.5rem;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,#1a1a1a,#000);height:100%;transition:width .3s ease}.recent-results{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.result-item{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:1rem}.result-title{color:#333;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.result-details{color:#666;font-size:.9rem;margin-bottom:.25rem}.inline-form{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.inline-form input[type=text]{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:1rem;min-width:220px;padding:.75rem}.simple-list{color:#444;margin:0;padding-left:1.25rem}.simple-list li{margin:.35rem 0}.results-table-container{margin-top:1.5rem}.results-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.results-table thead{background:#f8f9fa;border-bottom:2px solid #e0e0e0}.results-table th{font-size:.9rem;letter-spacing:.5px;padding:1rem 1.5rem;text-transform:uppercase;white-space:nowrap}.results-table td{border-bottom:1px solid #f0f0f0;font-size:.95rem;padding:1.25rem 1.5rem}.results-table tbody tr{transition:background-color .2s ease}.results-table tbody tr:hover{background-color:#f8f9fa}.results-table tbody tr:last-child td{border-bottom:none}.results-table td:first-child,.results-table th:first-child{padding-left:2rem}.results-table td:last-child,.results-table th:last-child{padding-right:2rem}.results-table td:first-child,.results-table th:first-child{min-width:200px;width:25%}.results-table td:nth-child(2),.results-table th:nth-child(2){min-width:120px;text-align:center;width:12%}.results-table td:nth-child(3),.results-table th:nth-child(3){min-width:130px;text-align:center;width:13%}.results-table td:nth-child(4),.results-table th:nth-child(4){min-width:160px;text-align:center;width:16%}.results-table td:nth-child(5),.results-table th:nth-child(5){min-width:150px;text-align:center;width:15%}.results-table td:nth-child(6),.results-table th:nth-child(6){min-width:130px;text-align:center;width:13%}.lessons-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:1rem}.lesson-item{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem}.lesson-content h3{color:#333;margin:0 0 1rem}.lesson-details{color:#666;display:flex;font-size:.9rem;gap:1rem;margin-bottom:1rem}.lesson-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#444;display:-webkit-box;margin-bottom:1rem;overflow:hidden}.lesson-actions{display:flex;gap:10px;margin-top:10px}.assign-btn,.delete-btn,.edit-btn,.view-results-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;padding:.5rem;transition:background-color .2s}.assign-btn{background-color:#fff;border:1px solid #4a4a4a;color:#1a1a1a}.assign-btn:hover{background-color:#f5f5f5;border-color:#1a1a1a}.edit-btn{background-color:#fff;border:1px solid #4a4a4a;color:#1a1a1a}.edit-btn:hover{background-color:#f5f5f5;border-color:#1a1a1a}.delete-btn{background-color:#dc3545}.delete-btn:hover{background-color:#c82333}.view-results-btn{background-color:#4a4a4a;border:1px solid #4a4a4a;color:#fff}.view-results-btn:hover{background-color:#2a2a2a;border-color:#2a2a2a}.lesson-url{border-top:1px solid #eee;color:#666;font-size:.9rem;margin-top:1rem;padding-top:.5rem;word-break:break-all}.lesson-url span{color:#333;font-weight:500}.lesson-url a{color:#1a1a1a;margin-left:.5rem;text-decoration:none}.lesson-url a:hover{text-decoration:underline}.lesson-content{display:flex;flex-direction:column;flex-grow:1}.lesson-actions{border-top:1px solid #eee;margin-top:1rem;padding-top:1rem}.view-quiz-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;margin:1rem 0;padding:.5rem 1rem;width:auto}.view-quiz-btn:hover{background-color:#5a6268}.quiz-section{background-color:#f8f9fa;border-radius:4px;margin-top:1rem;padding:1rem}.quiz-question{border-bottom:1px solid #dee2e6;margin-bottom:1.5rem;padding-bottom:1rem}.quiz-question:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.quiz-question h4{color:#495057;margin-bottom:.5rem}.options ul{list-style:none;margin:.5rem 0;padding-left:1rem}.options li{margin:.25rem 0}.quiz-link-btn{background-color:#4a4a4a;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:8px 16px;text-decoration:none;transition:background-color .3s}.quiz-link-btn:hover{background-color:#2a2a2a}.assignment-info{background:#f8f9fa;border-left:3px solid #1a1a1a;border-radius:6px;margin:1rem 0;padding:1rem}.assignment-info strong{color:#333;display:block;font-size:.9rem;margin-bottom:.5rem}.assignment-details{display:flex;flex-direction:column;gap:.5rem}.assignment-item{color:#666;display:flex;flex-direction:column;font-size:.85rem;gap:.25rem}.assignment-classes,.assignment-students{display:inline-block;margin-right:1rem}.sidebar{background:#fff;border-right:1px solid #e0e0e0;height:calc(100vh - 60px);overflow-y:auto;padding:1.5rem;position:-webkit-sticky;position:sticky;top:60px;width:300px}.sidebar-section{margin-bottom:2rem}.sidebar-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.sidebar-title{color:#333;font-size:1.1rem;font-weight:600;margin:0}.create-class-btn{align-items:center;background:#fff;border:1px solid #4a4a4a;border-radius:50%;color:#1a1a1a;display:flex;font-size:1.2rem;font-weight:600;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:28px}.create-class-btn:hover{background:#f5f5f5;border-color:#1a1a1a;transform:scale(1.1)}.create-class-form{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1rem;padding:.75rem}.class-name-input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:.9rem;margin-bottom:.5rem;padding:.5rem;width:100%}.class-name-input:focus{border-color:#1a1a1a;box-shadow:0 0 0 2px #0000001a;outline:none}.class-name-input:disabled{background:#f5f5f5;cursor:not-allowed}.create-class-actions{display:flex;gap:.5rem}.cancel-create-btn,.submit-create-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:.5rem;transition:all .2s}.submit-create-btn{background:#1a1a1a;color:#fff}.submit-create-btn:hover:not(:disabled){background:#000}.submit-create-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-create-btn{background:#fff;border:1px solid #4a4a4a;color:#1a1a1a}.cancel-create-btn:hover:not(:disabled){background:#f5f5f5;border-color:#1a1a1a}.cancel-create-btn:disabled{cursor:not-allowed;opacity:.6}.sidebar-empty,.sidebar-loading{color:#999;font-size:.9rem;margin:0;padding:1rem 0;text-align:center}.classes-list{display:flex;flex-direction:column;gap:.75rem}.class-item{align-items:flex-start;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;justify-content:space-between;padding:1rem;position:relative;transition:all .2s ease}.class-item-main{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:0}.class-item:hover{box-shadow:0 2px 8px #0000001a}.class-item.active,.class-item:hover{background:#f5f5f5;border-color:#1a1a1a}.class-item.active{box-shadow:0 2px 8px #00000026}.class-name{color:#333;display:block;font-size:1rem;font-weight:600;line-height:1.4;word-break:break-word}.class-code{color:#666;display:block;font-family:Courier New,monospace;font-size:.85rem;margin:0}.class-code-label{color:#999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8rem;font-weight:400;margin-right:.5rem}.rotate-code-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:32px;justify-content:center;margin-top:0;opacity:.5;padding:0;position:relative;transition:all .2s ease;width:32px}.class-item.active .rotate-code-btn,.class-item:hover .rotate-code-btn{opacity:1}.rotate-code-btn:hover{background:#0000001a;color:#1a1a1a}.rotate-code-btn:active{transform:rotate(180deg)}.rotate-code-btn:disabled{cursor:not-allowed;opacity:.3}.rotate-tooltip{background:#333;border-radius:6px;bottom:100%;box-shadow:0 2px 8px #0003;color:#fff;font-size:.8rem;font-weight:400;line-height:1.5;margin-bottom:8px;max-width:350px;min-width:280px;opacity:0;padding:.75rem 1rem;pointer-events:none;position:absolute;right:0;text-align:left;transition:opacity .2s ease;white-space:nowrap;white-space:normal;z-index:1000}.rotate-tooltip:after{border:5px solid #0000;border-top-color:#333;content:"";position:absolute;right:12px;top:100%}.rotate-code-btn:hover .rotate-tooltip{opacity:1}.rotating-spinner{animation:spin .8s linear infinite;display:inline-block}.students-list{display:flex;flex-direction:column;gap:.5rem}.student-item{align-items:center;background:#f8f9fa;border-left:3px solid #1a1a1a;border-radius:4px;display:flex;gap:.75rem;justify-content:space-between;padding:.75rem}.student-info{flex:1 1;min-width:0}.student-name{color:#333;font-size:.9rem;margin-bottom:.25rem}.student-email{color:#666;font-size:.8rem}.remove-student-btn{align-items:center;background:#0000;border:1px solid #ccc;border-radius:4px;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:300;height:24px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:24px}.remove-student-btn:hover:not(:disabled){background:#f5f5f5;border-color:#1a1a1a;color:#1a1a1a}.remove-student-btn:disabled{cursor:not-allowed;opacity:.5}.removing-spinner{animation:pulse 1s ease-in-out infinite;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.view-progress-btn{background-color:#fff;border:1px solid #4a4a4a;border-radius:4px;color:#1a1a1a;cursor:pointer;font-size:.85rem;padding:.4rem .75rem;transition:all .2s;white-space:nowrap}.view-progress-btn:hover{background-color:#f5f5f5;border-color:#1a1a1a}.progress-summary{display:flex;flex-direction:column;gap:.75rem}.progress-stat{align-items:center;background:#f8f9fa;border-radius:4px;display:flex;justify-content:space-between;padding:.75rem}.progress-label{color:#666;font-size:.9rem}.progress-value{color:#333;font-size:.95rem;font-weight:600}.modal-overlay{background:#00000080;padding:1rem}.modal-content{background:#fff;box-shadow:0 4px 20px #0000004d;max-width:600px;width:100%}.modal-header h2{color:#333;font-size:1.5rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:2rem;height:30px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:30px}.modal-close:hover{background:#f0f0f0;color:#333}.assignment-form{padding:1.5rem}.assignment-error{background:#ffebee;border-radius:4px;color:#c62828;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.form-section{margin-bottom:2rem}.form-section h3{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.empty-state{background:#f8f9fa;border-radius:4px;color:#999;font-size:.9rem;margin:0;padding:1rem;text-align:center}.selection-list{border:1px solid #e0e0e0;border-radius:4px;display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.5rem}.selection-item{align-items:center;background:#f8f9fa;border-radius:4px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:background .2s}.selection-item:hover{background:#e9ecef}.selection-item input[type=checkbox]{cursor:pointer;height:18px;width:18px}.selection-item span:first-of-type{color:#333;flex:1 1;font-weight:500}.class-code-badge,.student-email-badge{background:#fff;border-radius:3px;color:#666;font-family:Courier New,monospace;font-size:.85rem;padding:.25rem .5rem}.form-section label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-section textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:.95rem;padding:.75rem;resize:vertical;width:100%}.form-section textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.cancel-btn,.submit-btn{font-size:1rem;transition:all .2s}.cancel-btn:hover:not(:disabled){background:#5a6268}.submit-btn{background:#007bff}.submit-btn:hover:not(:disabled){background:#0056b3}.cancel-btn:disabled,.submit-btn:disabled{cursor:not-allowed;opacity:.6}.register-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.register-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:400px;padding:2rem;width:100%}.register-card h2{color:#333;margin-bottom:2rem;text-align:center}.auth-link{margin-top:1rem}.auth-link a{color:#1a1a1a}.register-description{color:#666;font-size:.9rem;line-height:1.5;margin-bottom:1.5rem;text-align:center}.success-message{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;color:#1a1a1a;font-size:.9rem;line-height:1.5;margin-bottom:1rem;padding:1rem}.school-select-wrapper{position:relative;width:100%}.school-search-input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.school-search-input:focus{border-color:#1a1a1a;outline:none}.school-dropdown{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 6px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.school-dropdown-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:.75rem;transition:background-color .2s}.school-dropdown-item:last-child{border-bottom:none}.school-dropdown-item:hover{background-color:#f5f5f5}.school-name{color:#333;font-weight:500;margin-bottom:.25rem}.school-location{font-size:.85rem}.quiz-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:2rem auto;max-width:800px;padding:2rem}.quiz-header{margin-bottom:3rem;text-align:center}.quiz-header h1{color:#2c3e50;font-size:2rem;margin-bottom:1rem}.quiz-progress{background:#f8f9fa;border-radius:20px;color:#6c757d;display:inline-block;font-weight:500;padding:.75rem}.question-container{background:#fff;border-radius:12px;margin-bottom:2rem;padding:2rem}.question-container h2{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem}.question-text{color:#34495e;font-size:1.2rem;line-height:1.6;margin-bottom:2rem}.answer-section{margin:2rem 0}.options{grid-gap:1rem;display:grid;gap:1rem}.option-label input[type=radio]{display:none}.option-label{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:8px;color:#2c3e50;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.5rem;position:relative;transition:all .3s ease}.option-label.selected{background:#e3f2fd;border-color:#1976d2}.option-label.correct{background:#e8f5e9;border-color:#4caf50}.option-label.incorrect{background:#ffebee;border-color:#f44336}.feedback-icon{font-size:1.2rem;margin-left:1rem}.option-label.correct .feedback-icon{color:#4caf50}.option-label.incorrect .feedback-icon{color:#f44336}@keyframes feedbackPop{0%{transform:scale(.8)}50%{transform:scale(1.2)}to{transform:scale(1)}}.feedback-icon{animation:feedbackPop .3s ease-out}.option-label.correct{box-shadow:0 0 8px #4caf5033}.option-label.incorrect{box-shadow:0 0 8px #f4433633}.option-label:hover:not(.correct):not(.incorrect){background:#e9ecef;transform:translateY(-2px)}.option-label{transition:all .3s ease,border-color .3s ease,box-shadow .3s ease}textarea{border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:1rem;min-height:120px;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}textarea:focus{border-color:#1976d2;outline:none}.quiz-navigation{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.feedback{background-color:#e3f2fd;border-left:4px solid #1976d2;border-radius:8px;margin-top:2rem;padding:1.5rem}.feedback p{color:#2c3e50;margin:.5rem 0}.feedback strong{color:#1976d2}.immediate-feedback{animation:slideFadeIn .3s ease-out;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.immediate-feedback.correct{background-color:#e8f5e9;border-left:4px solid #4caf50}.immediate-feedback.incorrect{background-color:#ffebee;border-left:4px solid #f44336}.immediate-feedback p{color:#2c3e50;line-height:1.5;margin:.5rem 0}.immediate-feedback strong{color:#1976d2}.immediate-feedback.correct strong:first-child{color:#4caf50}.immediate-feedback.incorrect strong:first-child{color:#f44336}@keyframes slideFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.options{margin-bottom:1rem}.immediate-feedback{transition:all .3s ease}.results-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:2rem auto;max-width:800px;padding:2rem}.results-header{margin-bottom:3rem;text-align:center}.score-summary{background:#f8f9fa;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.score-summary h2{color:#2c3e50;margin-bottom:.5rem}.question-result{background:#fff;border-left:4px solid;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.question-result.correct{background-color:#f5f5f5;border-color:#1a1a1a}.question-result.incorrect{background-color:#f8f8f8;border-color:#4a4a4a}.answer-details{background:#ffffff80;border-radius:4px;margin-top:1rem;padding:1rem}.explanation{border-top:1px solid #0000001a;margin-top:1rem;padding-top:1rem}.results-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.home-btn,.print-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.home-btn{background-color:#1a1a1a;color:#fff}.print-btn{background-color:#4a4a4a;color:#fff}@media print{.results-actions{display:none}}.admin-dashboard-container{background-color:#f5f5f5;min-height:100vh;padding:2rem}.admin-dashboard-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto 2rem;max-width:1200px}.admin-dashboard-header h1{color:#333;font-size:2rem;font-weight:600;margin:0}.back-to-dashboard-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.back-to-dashboard-btn:hover{background:#5a6268}.admin-dashboard-content{margin:0 auto;max-width:1200px}.admin-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.admin-section h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.empty-state,.loading-message{color:#999;font-size:1rem;padding:3rem;text-align:center}.pending-teachers-list{display:flex;flex-direction:column;gap:1rem}.teacher-card{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:1.5rem;transition:all .2s ease}.teacher-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.teacher-info{flex:1 1}.teacher-info h3{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.teacher-email{color:#666;font-size:.95rem;margin:.25rem 0}.teacher-date{color:#999;font-size:.85rem;margin:.25rem 0 0}.teacher-actions{display:flex;gap:.75rem}.approve-btn,.reject-btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;min-width:100px;padding:.75rem 1.5rem;transition:all .2s ease}.approve-btn{background:#28a745;color:#fff}.approve-btn:hover:not(:disabled){background:#218838}.reject-btn{background:#dc3545;color:#fff}.reject-btn:hover:not(:disabled){background:#c82333}.approve-btn:disabled,.reject-btn:disabled{cursor:not-allowed;opacity:.6}.create-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.create-btn:hover{background:#0056b3}.school-form{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.school-form h3{color:#333;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.school-form .form-group{margin-bottom:1rem}.school-form .form-group label{color:#333;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.school-form .form-group input{border:1px solid #ddd;border-radius:6px;font-size:.95rem;padding:.75rem;transition:border-color .2s ease;width:100%}.school-form .form-group input:focus{border-color:#007bff;outline:none}.school-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-actions{gap:.75rem}.cancel-btn,.submit-btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.submit-btn{background:#28a745}.submit-btn:hover{background:#218838}.cancel-btn{background:#6c757d}.cancel-btn:hover{background:#5a6268}.schools-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.school-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:all .2s ease}.school-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.school-info{margin-bottom:1rem}.school-info h3{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.school-location{color:#666;font-size:.9rem;margin:.25rem 0}.school-meta{color:#999;font-size:.85rem;margin:.5rem 0 0}.school-actions{display:flex;gap:.75rem;margin-top:1rem}.delete-btn,.edit-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.edit-btn{background:#ffc107;color:#333}.edit-btn:hover{background:#e0a800}.delete-btn{background:#dc3545;color:#fff}.delete-btn:hover{background:#c82333}.programming-lesson-creator-container{background-color:#f5f5f5;min-height:100vh}.creator-header{background-color:#fff;box-shadow:0 2px 4px #0000001a;padding:1rem 2rem}.creator-header .header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.creator-header h1{color:#333;font-size:1.5rem;margin:0}.back-button{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1.5rem;transition:background-color .2s}.back-button:hover{background-color:#5a6268}.creator-content{margin:0 auto;max-width:1200px;padding:2rem}.creator-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.creator-card form{gap:1.5rem}.creator-card form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.form-group textarea{min-height:100px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.creator-intro{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196f3;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.creator-intro h2{color:#1976d2;font-size:1.3rem;margin:0 0 .5rem}.creator-intro p{color:#1565c0;line-height:1.6;margin:0}.field-hint{color:#6c757d;font-size:.85rem;font-style:italic;margin:.25rem 0 .5rem}.form-row{display:flex;gap:1rem}.form-group.third-width{flex:1 1}.create-lesson-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.create-lesson-btn:hover:not(:disabled){background-color:#218838}.create-lesson-btn:disabled{background-color:#ccc;cursor:not-allowed}.cancel-btn{background-color:#6c757d;border:none;color:#fff;transition:background-color .2s}.cancel-btn:hover{background-color:#5a6268}.code-editor-container{border:1px solid #ddd;border-radius:4px;overflow:hidden;width:100%}.code-editor-container .monaco-editor{border-radius:4px}.multi-code-editor{width:100%}.editor-tabs{background:#2d2d2d;border-top-left-radius:4px;border-top-right-radius:4px;display:flex;margin:0;padding:0}.tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#999;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.tab:hover{background:#ffffff1a;color:#fff}.tab.active{background:#4caf501a;border-bottom-color:#4caf50;color:#4caf50}.editor-content{border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;overflow:hidden}.hint-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.hint-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:90%}.hint-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.hint-modal-header h2{color:#333;font-size:1.5rem;margin:0}.hint-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;width:30px}.hint-modal-close:hover{background-color:#f0f0f0;color:#333}.hint-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.hint-intro{color:#666;line-height:1.6;margin:0}.hints-list{display:flex;flex-direction:column;gap:1rem}.hint-item{background-color:#f8f9fa;border-left:4px solid #4caf50;border-radius:4px;padding:1rem}.hint-number{color:#4caf50;font-size:.9rem;font-weight:700;margin-bottom:.5rem}.hint-text{color:#333;line-height:1.6}.hint-modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.hint-close-btn,.hint-request-btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.hint-request-btn{background-color:#4caf50;color:#fff}.hint-request-btn:hover:not(:disabled){background-color:#45a049}.hint-request-btn:disabled{background-color:#ccc;cursor:not-allowed}.hint-close-btn{background-color:#f0f0f0;color:#333}.hint-close-btn:hover{background-color:#e0e0e0}.lesson-summary-container{align-items:flex-start;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:2rem}.lesson-summary-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:900px;padding:2.5rem;width:100%}.lesson-summary-card h2{color:#2c3e50;font-size:2rem;margin:0 0 .5rem;text-align:center}.summary-subtitle{color:#666;font-size:1.1rem;margin-bottom:2rem;text-align:center}.summary-stats{border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;display:flex;gap:2rem;justify-content:center;margin-bottom:3rem;padding:2rem 0}.stat-item{text-align:center}.stat-number{color:#333;font-size:2.5rem;font-weight:600;margin-bottom:.5rem}.stat-item.stat-correct .stat-number{color:#4caf50}.stat-item.stat-improvement .stat-number{color:#f44336}.stat-label{letter-spacing:.5px;text-transform:uppercase}.summary-section{margin-bottom:2.5rem}.summary-section h3{border-bottom:2px solid #e0e0e0;color:#333;font-size:1.3rem;margin-bottom:1.5rem;padding-bottom:.5rem}.summary-section.good-things h3{border-bottom-color:#4caf50}.summary-section.improvements h3{border-bottom-color:#f44336}.items-list{display:flex;flex-direction:column;gap:1rem}.summary-item{background:#f8f9fa;border-left:4px solid #e0e0e0;border-radius:6px;padding:1.25rem}.summary-section.good-things .summary-item{background:#f1f8f4;border-left-color:#4caf50}.summary-section.improvements .summary-item{background:#ffebee;border-left-color:#f44336}.item-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.item-number{background:#333;border-radius:4px;color:#fff;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.summary-section.good-things .item-number{background:#4caf50}.summary-section.improvements .item-number{background:#f44336}.item-title{color:#333;flex:1 1;font-size:1rem;font-weight:600}.item-attempts{background:#6c757d;border-radius:12px;color:#fff;font-size:.85rem;font-weight:500;margin-left:auto;padding:.25rem .75rem}.item-feedback{color:#666;line-height:1.6;margin:0 0 .5rem}.item-suggestions{color:#666;margin:.75rem 0 0;padding-left:1.5rem}.item-suggestions li{line-height:1.5;margin-bottom:.5rem}.summary-actions{border-top:1px solid #e0e0e0;margin-top:2.5rem;padding-top:2rem}.redo-form{background:#f8f9fa;border-radius:6px;padding:1.5rem}.redo-form h4{color:#333;font-size:1.1rem;margin:0 0 .5rem}.form-hint{color:#666;font-size:.9rem;line-height:1.5;margin:0 0 1rem}.difficulties-input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:.95rem;margin-bottom:1rem;padding:.75rem;resize:vertical;width:100%}.difficulties-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.redo-form-actions{display:flex;gap:.75rem}.cancel-redo-btn,.close-btn,.generate-btn,.redo-btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.redo-btn{background-color:#007bff;color:#fff}.redo-btn:hover{background-color:#0056b3}.close-btn{background-color:#6c757d;color:#fff;margin-left:.75rem}.close-btn:hover{background-color:#5a6268}.generate-btn{background-color:#4caf50}.generate-btn:hover:not(:disabled){background-color:#45a049}.generate-btn:disabled{opacity:.6}.cancel-redo-btn{background-color:#6c757d;color:#fff}.cancel-redo-btn:hover:not(:disabled){background-color:#5a6268}.cancel-redo-btn:disabled{cursor:not-allowed;opacity:.6}.summary-error{background-color:#ffebee;border:1px solid #f44336;border-radius:4px;color:#c62828;font-size:.9rem;margin-bottom:1.5rem;padding:1rem}.programming-lesson-container{background-color:#f5f5f5;min-height:100vh;padding:2rem}.lesson-header{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:0 auto 2rem;max-width:1200px;padding:2rem;text-align:center}.lesson-header h1{color:#2c3e50;font-size:2rem;margin-bottom:1rem}.lesson-description{color:#666;font-size:1.1rem;margin-bottom:1rem}.lesson-progress{background:#f8f9fa;border-radius:20px;color:#6c757d;display:inline-block;font-weight:500;padding:.75rem 1.5rem}.lesson-main{margin:0 auto;max-width:1200px}.task-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.task-info{margin-bottom:2rem}.task-info h2{color:#2c3e50;font-size:1.5rem;margin-bottom:1rem}.task-instructions{background-color:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:1.5rem}.task-instructions h3{color:#333;font-size:1.1rem;margin-bottom:.5rem;margin-top:0}.task-instructions p{color:#666;line-height:1.6;margin:0}.task-resources{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-top:1.5rem;overflow:hidden}.resources-toggle{align-items:center;background:#f8f9fa;border:none;border-bottom:1px solid #e0e0e0;color:#333;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.75rem;padding:1rem 1.5rem;text-align:left;transition:background-color .2s ease;width:100%}.resources-toggle:hover{background:#e9ecef}.resources-toggle-icon{color:#007bff;display:inline-block;font-size:.875rem;min-width:20px;transition:transform .2s ease}.resources-content{animation:slideDown .3s ease;background:#fff;padding:1.5rem}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:1000px;opacity:1}}.resources-text{color:#555;line-height:1.8}.resources-text p{margin:0 0 1rem}.resources-text p:last-child{margin-bottom:0}.additional-resources-section{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1.5rem}.request-additional-resources-btn{background:#f8f9fa;border:1px dashed #007bff;border-radius:6px;color:#007bff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease;width:100%}.request-additional-resources-btn:hover{background:#e7f3ff;border-color:#0056b3;color:#0056b3}.resource-request-form{display:flex;flex-direction:column;gap:.75rem}.resource-request-form label{color:#333;font-size:.9rem;font-weight:500}.resource-question-input{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.9rem;min-height:80px;padding:.75rem;resize:vertical;width:100%}.resource-question-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.resource-question-input:disabled{background:#f5f5f5;cursor:not-allowed}.resource-request-actions{display:flex;gap:.5rem;justify-content:flex-end}.cancel-resource-request-btn,.submit-resource-request-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;height:36px;justify-content:center;min-width:100px;padding:.5rem 1rem;transition:all .2s ease}.submit-resource-request-btn{background:#007bff;color:#fff}.submit-resource-request-btn:hover:not(:disabled){background:#0056b3}.submit-resource-request-btn:disabled{background:#ccc;cursor:not-allowed}.cancel-resource-request-btn{background:#6c757d;color:#fff}.cancel-resource-request-btn:hover:not(:disabled){background:#5a6268}.cancel-resource-request-btn:disabled{cursor:not-allowed;opacity:.6}.additional-resources-list{margin-top:1.5rem}.additional-resources-list h4{color:#333;font-size:1rem;font-weight:600;margin-bottom:1rem}.additional-resource-item{background:#f8f9fa;border-left:3px solid #007bff;border-radius:4px;margin-bottom:1rem;padding:1rem}.additional-resource-item:last-child{margin-bottom:0}.resource-question-header{color:#555;font-size:.9rem;margin-bottom:.75rem}.resource-question-header strong{color:#333}.resource-answer{color:#555;line-height:1.8}.resource-answer p{margin:0 0 .75rem}.resource-answer p:last-child{margin-bottom:0}.code-section{margin:2rem 0}.code-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.code-header-actions{align-items:center;display:flex;gap:.5rem}.help-button,.reset-button{align-items:center;border:none;border-radius:4px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-size:.9rem;height:36px;justify-content:center;min-width:90px;padding:.5rem 1rem;transition:background-color .2s}.reset-button{background-color:#6c757d}.reset-button:hover:not(:disabled){background-color:#5a6268}.reset-button:disabled{cursor:not-allowed;opacity:.6}.code-editor-wrapper,.code-editor-wrapper .multi-code-editor{position:relative}.validating-overlay{align-items:center;background:#ffffffe6;border-radius:4px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.validating-message{align-items:center;color:#1976d2;display:flex;font-size:1rem;font-weight:500;gap:.75rem}.spinner{animation:spin .8s linear infinite;border:3px solid #e3f2fd;border-radius:50%;border-top-color:#1976d2;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.button-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;margin-right:.5rem;width:14px}.code-header h3{color:#333;font-size:1.2rem;margin:0}.help-button{background-color:#4caf50}.help-button:hover:not(:disabled){background-color:#45a049}.help-button:disabled{cursor:not-allowed;opacity:.6}.validation-result{border-left:4px solid;border-radius:8px;margin:2rem 0;padding:1.5rem}.validation-result.valid{background-color:#e8f5e9;border-color:#4caf50}.validation-result.invalid{background-color:#ffebee;border-color:#f44336}.validation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.validation-result h3{font-size:1.2rem;margin:0}.attempts-badge{background:#6c757d;border-radius:12px;color:#fff;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.validation-result.valid h3{color:#4caf50}.validation-result.invalid h3{color:#f44336}.validation-result p{color:#333;line-height:1.6;margin-bottom:1rem}.suggestions{margin-top:1rem}.suggestions h4{color:#333;font-size:1rem;margin-bottom:.5rem}.suggestions ul{margin:0}.suggestions li{color:#666;line-height:1.6;margin-bottom:.5rem}.lesson-navigation{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.nav-btn,.submit-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.nav-btn{background-color:#e9ecef;color:#495057}.nav-btn:hover:not(:disabled){background-color:#dee2e6;transform:translateY(-2px)}.submit-btn{background-color:#1976d2;color:#fff}.submit-btn:hover:not(:disabled){background-color:#1565c0;transform:translateY(-2px)}.nav-btn:disabled,.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.complete-btn{background-color:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.complete-btn:hover{background-color:#45a049;transform:translateY(-2px)}.lesson-results-container{background-color:#f5f5f5;min-height:100vh}.results-page-header{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000001a;padding:1.5rem 2rem}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.results-page-header h1{color:#333;font-size:1.75rem;font-weight:600;margin:0}.back-btn{font-size:.9rem;padding:.5rem 1.25rem;transition:all .2s ease}.results-page-content{margin:0 auto;max-width:1400px;padding:2rem}.view-mode-selector{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.view-mode-selector h2{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 1rem}.mode-buttons{display:flex;gap:.75rem;margin-bottom:1rem}.mode-btn{background:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.mode-btn:hover{border-color:#1a1a1a;color:#1a1a1a}.mode-btn.active{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.filter-selector{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.filter-selector label{color:#333;display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.filter-select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.95rem;max-width:400px;padding:.75rem;width:100%}.filter-select:focus{border-color:#1a1a1a;box-shadow:0 0 0 2px #0000001a;outline:none}.results-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border-left:4px solid #1a1a1a;box-shadow:0 2px 4px #0000001a}.stat-label{color:#666}.stat-value{color:#333}.results-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.results-list h2{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 1.5rem}.no-results{color:#999;font-size:1rem;padding:3rem;text-align:center}.results-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.result-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem;transition:all .2s ease}.result-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.result-header{border-bottom:1px solid #e0e0e0;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.result-header,.result-score{align-items:flex-start;display:flex}.result-score{flex-direction:column}.score-value{color:#333;font-size:1.75rem;font-weight:700;line-height:1}.score-details{color:#666;font-size:.85rem;margin-top:.25rem}.result-student{color:#333;flex:1 1;font-size:.95rem;text-align:center}.result-date{color:#999;font-size:.85rem;text-align:right}.result-answers{display:flex;flex-direction:column;gap:.75rem}.answer-item{background:#fff;border-left:3px solid #ddd;border-radius:4px;padding:.75rem}.answer-item.correct{background:#f5f5f5;border-left-color:#1a1a1a}.answer-item.incorrect{background:#f8f8f8;border-left-color:#4a4a4a}.answer-question{color:#333;font-size:.9rem;line-height:1.4;margin-bottom:.5rem}.answer-details{font-size:.85rem;gap:.5rem}.answer-badge,.answer-details{align-items:center;display:flex}.answer-badge{border-radius:50%;flex-shrink:0;font-size:.75rem;font-weight:600;height:20px;justify-content:center;width:20px}.answer-badge.correct{background:#1a1a1a;color:#fff}.answer-badge.incorrect{background:#4a4a4a;color:#fff}.answer-text{color:#666;flex:1 1}.suggestions{border-top:1px solid #e0e0e0;margin-top:.75rem;padding-top:.75rem}.suggestions strong{color:#333;display:block;font-size:.9rem;margin-bottom:.5rem}.suggestions ul{color:#666;font-size:.85rem;margin:.5rem 0 0;padding-left:1.5rem}.suggestions li{line-height:1.4;margin:.25rem 0}.join-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.join-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:450px;padding:2.5rem;width:100%}.join-card h2{color:#333;font-size:2rem;font-weight:600;margin:0 0 1.5rem;text-align:center}.join-step{display:flex;flex-direction:column}.step-description{color:#666;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem;text-align:center}.class-info-box{background:#f8f9fa;border-left:4px solid #007bff;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.class-info-box h3{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.class-info-box p{color:#555;font-size:.95rem;margin:.5rem 0}.class-info-box strong{color:#333}.form-group{margin-bottom:1.25rem}.form-group label{color:#333;font-size:.9rem}.form-group input{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.code-input{font-size:1.2rem;font-weight:600;letter-spacing:.1em;text-align:center}.form-actions{margin-top:1.5rem}.form-actions button{flex:1 1}.back-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;font-weight:500;padding:.75rem;transition:background-color .2s}.back-btn:hover{background:#5a6268}.join-card button[type=submit]{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem;transition:background-color .2s;width:100%}.join-card button[type=submit]:hover:not(:disabled){background:#0056b3}.join-card button[type=submit]:disabled{background:#ccc;cursor:not-allowed}.auth-link{color:#666;font-size:.9rem;margin-top:1.5rem;text-align:center}.auth-link a{color:#007bff;font-weight:500;text-decoration:none}.auth-link a:hover{text-decoration:underline}.lesson-editor-container{background-color:#f5f5f5;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.lesson-editor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.lesson-editor-header h1{color:#1a1a1a;font-size:2rem;margin:0}.lesson-editor-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.add-question-btn{background-color:#1a1a1a;border:none;border-radius:4px;color:#fff}.add-question-btn,.generate-questions-btn{cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.generate-questions-btn{background-color:#fff;border:1px solid #4a4a4a;border-radius:4px;color:#1a1a1a}.question-actions-footer{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1.5rem}.question-card{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.remove-question-btn{align-items:center;background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:2rem;justify-content:center;line-height:1;padding:0;transition:all .2s;width:2rem}.no-questions{background-color:#f9f9f9;border:1px dashed #e0e0e0;border-radius:8px;color:#4a4a4a;padding:3rem;text-align:center}@media (max-width:768px){.lesson-editor-container{padding:1rem}.lesson-editor-header,.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.form-actions{flex-direction:column}.form-actions button{width:100%}.modal-content{width:95%}.modal-footer{flex-direction:column}.modal-footer button{width:100%}}.programming-lesson-editor-container{background-color:#f5f5f5;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.programming-lesson-editor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.programming-lesson-editor-header h1{color:#1a1a1a;font-size:2rem;margin:0}.programming-lesson-editor-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.form-section{margin-bottom:3rem}.form-section h2{border-bottom:2px solid #e0e0e0;color:#1a1a1a;font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{border:none;margin:0;padding:0}.add-task-btn{background-color:#1a1a1a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.add-question-btn:hover{background-color:#333}.generate-tasks-btn{background-color:#fff;border:1px solid #4a4a4a;border-radius:4px;color:#1a1a1a;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.generate-questions-btn:hover{background-color:#f5f5f5;border-color:#1a1a1a}.task-actions-footer{border-top:1px solid #e0e0e0;margin-top:1.5rem;padding-top:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#1a1a1a;display:block;font-weight:500;margin-bottom:.5rem}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #4a4a4a;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1a1a1a;outline:none}.checkbox-group{display:flex;flex-wrap:wrap;gap:1rem}.checkbox-item{align-items:center;display:flex;gap:.5rem}.checkbox-item input[type=checkbox]{cursor:pointer;width:auto}.checkbox-item label{cursor:pointer;font-weight:400;margin:0}.task-card{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.task-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.question-header h3{color:#1a1a1a;font-size:1.2rem;margin:0}.remove-task-btn{align-items:center;background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:2rem;justify-content:center;line-height:1;padding:0;transition:all .2s;width:2rem}.remove-question-btn:hover{background-color:#c82333}.option-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.option-row input{flex:1 1}.remove-option-btn{align-items:center;background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:2rem;justify-content:center;transition:all .2s;width:2rem}.remove-option-btn:hover:not(:disabled){background-color:#c82333}.remove-option-btn:disabled{background-color:#ccc;cursor:not-allowed}.add-option-btn{background-color:#fff;border:1px solid #4a4a4a;border-radius:4px;color:#1a1a1a;cursor:pointer;font-size:.9rem;margin-top:.5rem;padding:.5rem 1rem;transition:all .2s}.add-option-btn:hover{background-color:#f5f5f5;border-color:#1a1a1a}.true-false-options{display:flex;flex-direction:column;gap:.5rem}.true-false-options .option-row input:disabled{background-color:#f5f5f5;color:#1a1a1a;cursor:not-allowed}.no-tasks{background-color:#f9f9f9;border:1px dashed #e0e0e0;border-radius:8px;color:#4a4a4a;padding:3rem;text-align:center}.form-actions{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem}.cancel-btn{background-color:#fff;border:1px solid #4a4a4a;border-radius:4px;color:#1a1a1a;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.cancel-btn:hover{background-color:#f5f5f5;border-color:#1a1a1a}.save-btn{background-color:#1a1a1a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.save-btn:hover:not(:disabled){background-color:#333}.save-btn:disabled{background-color:#ccc;cursor:not-allowed}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;padding:0;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#1a1a1a;font-size:1.5rem;margin:0}.modal-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#4a4a4a;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;transition:all .2s;width:2rem}.modal-close-btn:hover{background-color:#f5f5f5;color:#1a1a1a}.modal-body,.modal-footer{padding:1.5rem}.modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end}.generate-btn{background-color:#1a1a1a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.generate-btn:hover:not(:disabled){background-color:#333}.generate-btn:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width:768px){.programming-lesson-editor-container{padding:1rem}.programming-lesson-editor-header,.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.form-actions{flex-direction:column}.form-actions button{width:100%}.modal-content{width:95%}.modal-footer{flex-direction:column}.modal-footer button{width:100%}}.class-progress-container{background-color:#f5f5f5;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.class-progress-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.class-progress-header h1{color:#1a1a1a;font-size:2rem;margin:0 0 .5rem}.class-name{color:#4a4a4a;font-size:1.1rem;margin:0}.back-btn{background-color:#fff;border:1px solid #4a4a4a;border-radius:4px;color:#1a1a1a;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.back-btn:hover{background-color:#f5f5f5;border-color:#1a1a1a}.loading{color:#4a4a4a;font-size:1.2rem;padding:3rem;text-align:center}.class-progress-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.class-selector-section{border-bottom:1px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1.5rem}.class-selector-section label{color:#1a1a1a;display:block;font-size:1rem;font-weight:500;margin-bottom:.5rem}.class-select{background-color:#fff;border:1px solid #4a4a4a;border-radius:4px;cursor:pointer;font-size:1rem;max-width:400px;padding:.75rem;width:100%}.class-select:focus{border-color:#1a1a1a;outline:none}.progress-overview-section{margin-bottom:3rem}.progress-overview-section h2{border-bottom:2px solid #e0e0e0;color:#1a1a1a;font-size:1.5rem;margin:0 0 1.5rem;padding-bottom:.5rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;text-align:center}.stat-label{color:#4a4a4a;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.stat-value{color:#1a1a1a;font-size:2rem;font-weight:600}.student-progress-section{margin-top:2rem}.student-progress-section h2{border-bottom:2px solid #e0e0e0;color:#1a1a1a;font-size:1.5rem;margin:0 0 1.5rem;padding-bottom:.5rem}.results-table-container{margin-top:1rem;overflow-x:auto;width:100%}.results-table{background-color:#fff;border-collapse:collapse;width:100%}.results-table thead{background-color:#f9f9f9}.results-table th{border-bottom:2px solid #e0e0e0;color:#1a1a1a;font-size:.95rem;font-weight:600;padding:1rem;text-align:left}.results-table td{border-bottom:1px solid #e0e0e0;color:#333;padding:1rem}.results-table tbody tr:hover{background-color:#f9f9f9}.student-name{color:#1a1a1a;font-weight:500}.student-email{color:#4a4a4a;font-size:.9rem}.no-progress{color:#4a4a4a;padding:3rem;text-align:center}.no-progress p{font-size:1.1rem;margin:0 0 1rem}.create-class-btn{background-color:#1a1a1a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.create-class-btn:hover{background-color:#333}.assignments-section{margin-top:3rem}.assignments-section h2{border-bottom:2px solid #e0e0e0;color:#1a1a1a;font-size:1.5rem;margin:0 0 1.5rem;padding-bottom:.5rem}.assignment-card{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.assignment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.assignment-header h3{color:#1a1a1a;font-size:1.2rem;margin:0 0 .5rem}.assignment-meta{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.resource-type-badge{background-color:#4a4a4a;border-radius:4px;color:#fff;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.assignment-message{color:#4a4a4a;font-size:.9rem;font-style:italic}.assignment-stats{display:flex;flex-direction:column;gap:.5rem;text-align:right}.assignment-stat{align-items:center;display:flex;gap:.5rem}.assignment-stat .stat-label{color:#4a4a4a;font-size:.9rem}.assignment-stat .stat-value{color:#1a1a1a;font-size:1rem;font-weight:600}.assignment-progress-bar{background-color:#e0e0e0;border-radius:6px;height:12px;margin-bottom:1.5rem;overflow:hidden;width:100%}.assignment-progress-fill{background:linear-gradient(90deg,#1a1a1a,#333);height:100%;transition:width .3s ease}.assignment-student-list{margin-top:1rem}.student-list-header{background-color:#f0f0f0;border-radius:4px;color:#1a1a1a;display:flex;font-size:.9rem;font-weight:500;justify-content:space-between;margin-bottom:1rem;padding:.75rem}.assignment-table{margin-top:.5rem}.assignment-table td,.assignment-table th{font-size:.9rem;padding:.75rem}.student-email-small{color:#4a4a4a;display:block;font-size:.8rem;font-weight:400;margin-top:.25rem}.status-badge{border-radius:4px;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.status-completed{background-color:#d4edda;color:#155724}.status-followup{background-color:#fff3cd;color:#856404}.status-pending{background-color:#f8d7da;color:#721c24}.status-doing-well{background-color:#d1ecf1;color:#0c5460}.status-ok{background-color:#e2e3e5;color:#383d41}.student-doing-well{background-color:#e8f5e9}.student-needs-followup{background-color:#fff9e6}.student-completed{background-color:#f0f0f0}.task-progress-bar{align-items:center;display:flex;gap:.5rem;width:100%}.task-progress-fill{background-color:#1a1a1a;border-radius:4px;flex:1 1;height:8px;min-width:0}.task-progress-text{color:#4a4a4a;font-size:.85rem;white-space:nowrap}@media (max-width:768px){.class-progress-container{padding:1rem}.class-progress-header{flex-direction:column;gap:1rem}.stats-grid{grid-template-columns:1fr}.results-table-container{overflow-x:scroll}.results-table{min-width:800px}}
/*# sourceMappingURL=main.0777e2e4.css.map*/