.hidden{display:none!important}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#0f172a}.loading-content{text-align:center;color:#fff}.loading-icon{font-size:4rem;display:block;margin-bottom:16px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.loading-content p{font-size:1.1rem;opacity:.9}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#0f172a;padding:20px}.login-container{background:#fff;border-radius:4px;padding:40px;width:100%;max-width:420px;border:1px solid #E2E8F0}.login-header{text-align:center;margin-bottom:32px}.login-icon{font-size:4rem;display:block;margin-bottom:16px}.login-header h1{font-size:1.75rem;color:var(--text-primary);margin-bottom:8px}.login-header p{color:var(--text-secondary);font-size:1rem}.login-form,.signup-form{display:flex;flex-direction:column;gap:16px}.login-form .form-group,.signup-form .form-group{margin-bottom:0}.login-form label,.signup-form label{display:block;font-weight:600;margin-bottom:6px;color:var(--text-primary);font-size:.9rem}.login-form .input-field,.signup-form .input-field{padding:0 12px;height:36px;font-size:14px;border-radius:4px}.login-divider{display:flex;align-items:center;margin:8px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.login-divider span{padding:0 16px;color:var(--text-secondary);font-size:.85rem}.btn-google{background:#fff;color:var(--text-primary);border:2px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-weight:500}.btn-google:hover{background:#f8fafc;border-color:#cbd5e1}.btn-full{width:100%;padding:14px 24px}.login-footer{text-align:center;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.login-footer p{color:var(--text-secondary);font-size:.9rem}.login-footer a{color:var(--primary);text-decoration:none;font-weight:600}.login-footer a:hover{text-decoration:underline}.back-link{display:block;text-align:center;margin-top:24px;color:var(--text-secondary);text-decoration:none;font-size:.9rem}.back-link:hover{color:var(--primary)}.error-message{color:#dc2626;font-size:.875rem;padding:8px 12px;background:#fef2f2;border-radius:4px;border:1px solid #FECACA;display:none}.error-message:not(:empty){display:block}.teacher-container{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:var(--bg-alt)}.sidebar{background:#0f172a;color:#fff;padding:24px 16px}.sidebar-logo{display:flex;align-items:center;gap:12px;margin-bottom:8px}.sidebar-logo .logo-icon{width:32px;height:32px;position:relative}.sidebar-logo .logo-block{background-color:#2563eb;position:absolute}.sidebar-logo .block-1{width:6px;height:18px;bottom:0;left:0}.sidebar-logo .block-2{width:6px;height:12px;bottom:6px;left:8px}.sidebar-logo .block-3{width:6px;height:24px;bottom:0;left:16px;transform:skew(-10deg)}.sidebar-logo .logo-text{font-size:18px;font-weight:700;letter-spacing:-.02em;color:#fff}.sidebar-logo .logo-text span{font-family:var(--font-mono, "JetBrains Mono", monospace);font-weight:500;color:#2563eb;font-size:16px}.sidebar-header{margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h2{font-size:1.3rem;margin-bottom:8px}.sidebar-header p{font-size:.875rem;color:#94a3b8}.sidebar-close-btn{display:none;position:absolute;top:16px;right:16px;background:#ffffff1a;border:none;color:#fff;width:32px;height:32px;border-radius:4px;font-size:1.2rem;cursor:pointer;transition:background .15s}.sidebar-close-btn:hover{background:#fff3}.mobile-menu-btn{display:none;position:fixed;top:16px;left:16px;z-index:999;background:var(--primary);border:none;color:#fff;width:44px;height:44px;border-radius:4px;cursor:pointer;transition:background .15s}.mobile-menu-btn:hover{background:var(--primary-dark)}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:999}.nav-menu{list-style:none;margin-bottom:40px}.nav-menu li{margin-bottom:4px}.nav-menu a{display:block;padding:10px 12px;color:#94a3b8;text-decoration:none;border-radius:4px;transition:all .15s;font-size:14px;font-weight:500;border-left:2px solid transparent}.nav-menu a:hover{background:#ffffff0d;color:#fff}.nav-menu a.active{background:#2563eb26;color:#60a5fa;border-left-color:#60a5fa}.nav-with-badge{position:relative;display:flex!important;align-items:center;justify-content:space-between}.nav-badge{background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;margin-left:8px;box-shadow:0 2px 4px #ef44444d;animation:badge-pulse 2s ease-in-out infinite}.nav-badge.hidden{display:none}.nav-badge.urgent{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef444480,0 0 0 2px #ef444433;animation:badge-urgent 1.5s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes badge-urgent{0%,to{transform:scale(1);box-shadow:0 2px 8px #ef444480,0 0 0 2px #ef444433}50%{transform:scale(1.1);box-shadow:0 2px 12px #ef444499,0 0 0 4px #ef444426}}.attention-alert-banner{display:none}.main-content{padding:40px;overflow-y:auto}.main-content h1{font-size:2rem;margin-bottom:32px;color:var(--text-primary)}.tab-content{display:none}.tab-content.active{display:block;animation:fadeIn .3s ease}.lesson-form-card{background:#fff;padding:32px;border-radius:4px;border:1px solid var(--border);max-width:800px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.class-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:8px;max-height:200px;overflow-y:auto;padding:12px;background:var(--bg-alt);border-radius:var(--radius-md);border:1px solid var(--border)}.class-selector-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.class-selector-item:hover{border-color:var(--primary);background:var(--primary-light)}.class-selector-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.class-selector-info{flex:1;min-width:0}.class-selector-info span{display:block;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-selector-info small{color:var(--text-secondary);font-size:.8rem}.empty-hint{color:var(--text-secondary);font-style:italic;padding:8px}.class-checkbox-list{max-height:250px;overflow-y:auto;padding:8px;background:var(--bg-alt);border-radius:var(--radius-md)}.class-checkbox-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;cursor:pointer;transition:var(--transition)}.class-checkbox-item:hover{border-color:var(--primary)}.class-checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.class-checkbox-info{flex:1}.class-checkbox-info span{display:block;font-weight:500}.class-checkbox-info small{color:var(--text-secondary);font-size:.8rem}.assign-classes-footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.classes-grid,.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.class-card,.lesson-card{background:#fff;border-radius:4px;padding:24px;border:1px solid var(--border);transition:border-color .15s}.class-card:hover,.lesson-card:hover{border-color:var(--primary)}.class-header,.lesson-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.class-header h3,.lesson-header h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:4px}.class-code{background:var(--primary);color:#fff;padding:6px 12px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;letter-spacing:1px}.class-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:var(--bg-alt);border-radius:var(--radius-sm);padding:12px;margin-bottom:16px}.class-summary .summary-loading{grid-column:1 / -1;text-align:center;color:var(--text-secondary);font-size:.875rem}.class-summary .summary-placeholder{grid-column:1 / -1;text-align:center;color:var(--text-secondary);font-size:.875rem;font-style:italic}.class-stat{text-align:center}.class-stat .stat-value{display:block;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.class-stat .stat-label{display:block;font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.class-stat .stat-value.mastery-good{color:var(--success)}.class-stat .stat-value.mastery-fair{color:var(--warning)}.class-stat .stat-value.mastery-low{color:var(--danger)}.class-stat.has-attention .stat-value{color:var(--danger);animation:pulse-attention 2s ease-in-out infinite}@keyframes pulse-attention{0%,to{opacity:1}50%{opacity:.6}}.spinner-small{display:inline-block;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:480px){.class-summary{grid-template-columns:repeat(2,1fr)}}.lesson-badge{background:var(--bg-alt);color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase}.class-info,.lesson-info{margin-bottom:16px;color:var(--text-secondary);font-size:.95rem}.class-info p,.lesson-info p{margin-bottom:6px}.class-actions,.lesson-actions{display:flex;gap:8px;flex-wrap:wrap}.header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.analytics-controls{background:#fff;padding:20px;border-radius:var(--radius-lg);margin-bottom:24px;box-shadow:var(--shadow-sm)}.analytics-controls label{margin-right:12px;font-weight:500}.analytics-controls select{min-width:250px}.analytics-section{background:#fff;padding:32px;border-radius:var(--radius-lg);margin-bottom:24px;box-shadow:var(--shadow-sm)}.analytics-section h2{font-size:1.5rem;margin-bottom:24px;color:var(--text-primary)}.heatmap-table{width:100%;border-collapse:collapse;font-size:.9rem}.heatmap-table th{background:var(--bg-alt);padding:12px;text-align:left;font-weight:600;border-bottom:2px solid var(--border)}.heatmap-table td{padding:12px;border-bottom:1px solid var(--border)}.heatmap-table .student-name{font-weight:500;color:var(--text-primary)}.heatmap-table .cell{text-align:center;font-weight:600;border-radius:var(--radius-sm)}.heatmap-table .cell.strong{background:#d1fae5;color:#065f46}.heatmap-table .cell.okay{background:#fef3c7;color:#92400e}.heatmap-table .cell.needs-work{background:#fee2e2;color:#991b1b}.heatmap-table tr:hover{background:var(--bg-alt);cursor:pointer}.insights-list{display:flex;flex-direction:column;gap:20px}.insight-item{padding:20px;background:var(--bg-alt);border-radius:var(--radius-md);border-left:4px solid var(--primary)}.insight-item strong{display:block;margin-bottom:12px;color:var(--text-primary);font-size:1.05rem}.insight-item ul{list-style:none;padding-left:0}.insight-item li{padding:6px 0;color:var(--text-secondary)}.insight-item li:before{content:"• ";color:var(--primary);font-weight:700;margin-right:8px}.analytics-controls-bar{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;background:#fff;padding:20px;border-radius:var(--radius-lg);margin-bottom:24px;box-shadow:var(--shadow-sm)}.analytics-controls-bar .control-group{display:flex;flex-direction:column;gap:6px}.analytics-controls-bar .control-group:nth-child(3){flex-direction:row;margin-left:auto;align-items:center;gap:8px}.analytics-controls-bar .control-group:nth-child(4),.analytics-controls-bar .control-group:nth-child(5){flex-direction:row;align-items:center;gap:8px}#analytics-last-updated{min-width:90px}.last-updated-text{font-size:.8rem;color:var(--text-muted);font-style:italic;white-space:nowrap}.analytics-controls-bar label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.analytics-controls-bar select{min-width:180px}.analytics-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px;align-items:start}.dashboard-card{background:#fff;padding:24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.dashboard-card h3{font-size:1rem;color:var(--text-secondary);margin-bottom:16px;font-weight:600}.dashboard-card.trending-topics{display:flex;flex-direction:column;max-height:550px}.dashboard-card.trending-topics .topic-bars{flex:1;min-height:0;overflow-y:auto;max-height:450px}.health-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.metric{text-align:center;padding:12px;background:var(--bg-alt);border-radius:var(--radius-md)}.metric-value{display:block;font-size:1.75rem;font-weight:700;color:var(--primary);margin-bottom:4px}.metric-label{font-size:.8rem;color:var(--text-secondary)}.extended-metrics{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.extended-metrics .metric{background:transparent;padding:8px}.extended-metrics .metric-value{font-size:1.25rem;color:var(--text-primary)}.extended-metrics .metric-label{font-size:.7rem}.dashboard-card.attention-needed{display:flex;flex-direction:column;max-height:600px}.attention-list{flex:1;min-height:0;max-height:450px;overflow-y:auto}.attention-summary{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.attention-filters{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.attention-type-filters{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.attention-filter-btn{padding:4px 10px;font-size:.75rem;font-weight:500;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.attention-filter-btn:hover:not(:disabled){background:var(--bg-alt);border-color:var(--text-secondary)}.attention-filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.attention-filter-btn.active.high{background:#dc2626;border-color:#dc2626}.attention-filter-btn.active.medium{background:#d97706;border-color:#d97706}.attention-filter-btn.active.not-started,.attention-filter-btn.active.struggling,.attention-filter-btn.active.misconception{background:var(--text-secondary);border-color:var(--text-secondary)}.attention-filter-btn:disabled{opacity:.4;cursor:not-allowed}.attention-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600}.attention-badge.high{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.attention-badge.medium{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.attention-items{display:flex;flex-direction:column;gap:8px}.attention-item{display:flex;flex-direction:column;padding:10px 12px;background:#fef2f2;border-radius:var(--radius-md);border-left:3px solid #ef4444;cursor:pointer;transition:all .2s ease}.attention-item:hover{transform:translate(2px);box-shadow:var(--shadow-sm)}.attention-header{display:flex;align-items:center;gap:8px}.attention-priority{font-size:.8rem}.attention-name{font-weight:500;color:var(--text-primary)}.attention-message{font-size:.8rem;color:var(--text-secondary);margin-top:4px;margin-left:24px}.attention-item.not-started{background:#fef2f2;border-left-color:#ef4444}.attention-item.struggling{background:#fff7ed;border-left-color:#f97316}.attention-item.misconception,.attention-item.warning{background:#fffbeb;border-left-color:#f59e0b}.attention-item.warning .mastery-badge{color:#92400e}.attention-show-more{display:block;width:100%;padding:8px;margin-top:8px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--primary);font-size:.8rem;cursor:pointer;transition:all .2s ease}.attention-show-more:hover{background:var(--bg-alt);border-style:solid}.topic-bars{display:flex;flex-direction:column;gap:16px;max-height:500px;overflow-y:auto}.topic-summary{display:flex;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.topic-summary-item{flex:1;text-align:center;padding:12px 8px;border-radius:var(--radius-md);cursor:default}.topic-summary-item.struggling{background:#fef2f2;border:1px solid #fecaca}.topic-summary-item.progressing{background:#fffbeb;border:1px solid #fde68a}.topic-summary-item.mastered{background:#f0fdf4;border:1px solid #bbf7d0}.topic-summary-count{display:block;font-size:1.5rem;font-weight:700;line-height:1}.topic-summary-item.struggling .topic-summary-count{color:#dc2626}.topic-summary-item.progressing .topic-summary-count{color:#d97706}.topic-summary-item.mastered .topic-summary-count{color:#059669}.topic-summary-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-top:4px}.topic-group{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.topic-group-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-alt);font-weight:500;font-size:.9rem;width:100%;text-align:left;border:none;cursor:default}.topic-group-header.clickable{cursor:pointer;transition:background .2s ease}.topic-group-header.clickable:hover{background:#e2e8f0}.topic-group-icon{font-size:1rem}.topic-group-title{flex:1}.topic-group-chevron{color:var(--text-muted);font-size:.75rem}.topic-group-items{padding:8px;display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.topic-group-struggling{border-color:#fecaca}.topic-group-struggling .topic-group-header{background:#fef2f2}.topic-group-progressing{border-color:#fde68a}.topic-group-progressing .topic-group-header{background:#fffbeb}.topic-group-mastered{border-color:#bbf7d0}.topic-group-mastered .topic-group-header{background:#f0fdf4}.topic-item{padding:10px 12px;background:#fff;border-radius:var(--radius-sm);border:1px solid var(--border)}.topic-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.topic-item-name{font-size:.85rem;font-weight:500;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}.topic-item-score{font-size:.8rem;font-weight:600;padding:2px 8px;border-radius:4px;white-space:nowrap}.topic-item-score.low{background:#fef2f2;color:#dc2626}.topic-item-score.medium{background:#fffbeb;color:#d97706}.topic-item-score.high{background:#f0fdf4;color:#059669}.topic-item-bar{height:6px;background:var(--bg-alt);border-radius:3px;overflow:hidden;margin-bottom:4px}.topic-item-fill{height:100%;border-radius:3px;transition:width .3s ease}.topic-item-fill.low{background:#ef4444}.topic-item-fill.medium{background:#f59e0b}.topic-item-fill.high{background:#10b981}.topic-item-meta{font-size:.7rem;color:var(--text-muted)}.topic-show-more{display:block;width:100%;padding:8px;margin-top:8px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--primary);font-size:.8rem;cursor:pointer;transition:all .2s ease}.topic-show-more:hover{background:var(--bg-alt);border-style:solid}.topic-bar-item{display:flex;flex-direction:column;gap:4px}.topic-bar-item .topic-name{font-size:.85rem;color:var(--text-primary);display:flex;justify-content:space-between}.topic-bar-item .bar-container{height:8px;background:var(--bg-alt);border-radius:4px;overflow:hidden}.topic-bar-item .bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.topic-bar-item .bar-fill.high{background:#10b981}.topic-bar-item .bar-fill.medium{background:#f59e0b}.topic-bar-item .bar-fill.low{background:#ef4444}.student-table-section{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.section-header h2{margin:0;font-size:1.25rem}.table-controls{display:flex;gap:12px;align-items:center}.search-input{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.9rem;min-width:200px}.student-table-container{overflow-x:auto}.student-table{width:100%;border-collapse:collapse;font-size:.9rem}.student-table th{background:var(--bg-alt);padding:12px 16px;text-align:left;font-weight:600;border-bottom:2px solid var(--border);white-space:nowrap}.student-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.student-table th.sortable:hover{background:#e2e8f0}.student-table th .sort-icon{margin-left:4px;opacity:.5}.student-table td{padding:12px 16px;border-bottom:1px solid var(--border)}.student-table tr:hover{background:var(--bg-alt);cursor:pointer}.student-table .student-name-cell{font-weight:500}.student-table .mastery-cell{display:flex;align-items:center;gap:8px}.mastery-bar-small{width:60px;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.mastery-bar-small .fill{height:100%;border-radius:3px}.mastery-bar-small .fill.high{background:#10b981}.mastery-bar-small .fill.medium{background:#f59e0b}.mastery-bar-small .fill.low{background:#ef4444}.status-badge{padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.mastered{background:#d1fae5;color:#065f46}.status-badge.ontrack{background:#fef3c7;color:#92400e}.status-badge.struggling{background:#fee2e2;color:#991b1b}.student-detail-panel{position:fixed;right:0;top:0;width:400px;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;transform:translate(0);transition:transform .3s ease;overflow-y:auto}.student-detail-panel.hidden{transform:translate(100%)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--bg-alt)}.panel-header h3{margin:0;font-size:1.25rem}.close-panel-btn{width:32px;height:32px;border:none;background:#fff;border-radius:4px;font-size:1.25rem;cursor:pointer;color:var(--text-secondary)}.close-panel-btn:hover{background:#fee2e2;color:#991b1b}.panel-content{padding:24px}.detail-section{margin-bottom:24px}.detail-section h4{font-size:.9rem;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.concept-mastery-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto;padding-right:8px}.concept-row{display:flex;align-items:center;gap:12px}.concept-row .concept-name{flex:1;font-size:.9rem}.concept-row .concept-bar{width:100px;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.concept-row .concept-bar .fill{height:100%;border-radius:4px}.concept-row .concept-percent{font-size:.85rem;font-weight:600;min-width:40px;text-align:right}.lesson-history-list{display:flex;flex-direction:column;gap:8px}.lesson-history-item{padding:12px;background:var(--bg-alt);border-radius:var(--radius-md);font-size:.85rem}.lesson-history-item .lesson-topic{font-weight:500;margin-bottom:4px}.lesson-history-item .lesson-meta{color:var(--text-secondary);font-size:.8rem}@media(max-width:1024px){.teacher-container{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:-260px;height:100vh;transition:left .3s ease;z-index:1000}.sidebar.open{left:0}.sidebar-header{position:relative;padding-right:40px}.sidebar-close-btn,.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.sidebar-backdrop.open{display:block}.main-content{padding-top:70px}}@media(max-width:768px){.main-content{padding:70px 20px 20px}.main-content h1{font-size:1.5rem}.lesson-form-card{padding:20px}.form-row,.classes-grid,.lessons-grid{grid-template-columns:1fr}.header-row{flex-direction:column;align-items:flex-start;gap:16px}.lesson-preview-content,.lesson-edit-content,.delete-confirm-content,.lesson-menu-content{max-width:95vw;margin:16px;max-height:90vh;overflow-y:auto}.lesson-edit-content>.form-group,.lesson-edit-content>.form-row{padding-left:16px;padding-right:16px}.analytics-controls{padding:16px}.analytics-controls select{min-width:100%;margin-top:8px}.heatmap-table{font-size:.8rem}.heatmap-table th,.heatmap-table td{padding:8px 6px}.analytics-controls-bar{flex-direction:column;align-items:stretch}.analytics-controls-bar .control-group:nth-child(3),.analytics-controls-bar .control-group:nth-child(4),.analytics-controls-bar .control-group:nth-child(5){margin-left:0;justify-content:center}#analytics-last-updated{text-align:center}.analytics-dashboard{grid-template-columns:1fr}.health-metrics{grid-template-columns:repeat(4,1fr)}.section-header{flex-direction:column;align-items:stretch}.table-controls{flex-direction:column}.search-input{min-width:100%}.student-detail-panel{width:100%}}@media(max-width:480px){.class-actions,.lesson-actions{flex-direction:column}.class-actions .btn,.lesson-actions .btn{width:100%}}.lesson-preview-modal,.lesson-edit-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease;padding:20px}.lesson-preview-content,.lesson-edit-content{background:#fff;border-radius:4px;max-width:700px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.lesson-edit-content>.form-group,.lesson-edit-content>.form-row,.lesson-edit-content>.edit-status,.lesson-edit-content>.class-checkbox-list,.lesson-edit-content>.version-list,.lesson-edit-content>.empty-state,.lesson-edit-content>p,.lesson-edit-content>.modal-subtitle,.lesson-edit-content>.assign-classes-footer{padding-left:24px;padding-right:24px}.lesson-edit-header+.form-group,.lesson-edit-header+.form-row,.lesson-edit-header+.modal-subtitle,.lesson-edit-header+p{padding-top:20px}.lesson-edit-actions{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end;border-top:1px solid #e2e8f0;margin-top:16px;background:#f8fafc;border-radius:0 0 16px 16px}.lesson-preview-header,.lesson-edit-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:1}.lesson-preview-header h2,.lesson-edit-header h2{margin:0;font-size:1.25rem}.close-preview,.close-edit{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b;padding:4px;border-radius:4px}.close-preview:hover,.close-edit:hover{background:#f1f5f9}.lesson-preview-meta,.lesson-edit-info{padding:16px 24px;background:#f8fafc;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lesson-edit-info{flex-direction:column;align-items:flex-start}.lesson-edit-info strong{font-size:1.1rem}.lesson-edit-info span{color:#64748b;font-size:.9rem}.lesson-preview-meta .badge{background:#fff;padding:6px 12px;border-radius:4px;font-size:.85rem;border:1px solid #e2e8f0}.lesson-preview-phases{padding:24px}.preview-phase h4{margin:0 0 12px;color:#1e293b;font-size:1rem}.preview-phase ul{list-style:none;padding:0;margin:0}.preview-phase li{padding:12px 16px;background:#f8fafc;border-radius:4px;margin-bottom:8px;font-size:.9rem;line-height:1.5}.preview-phase .item-type{font-weight:600;margin-right:8px}.lesson-preview-actions,.lesson-edit-actions{padding:20px 24px;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end}.edit-prompt-section{padding:24px}.edit-prompt-section label{display:block;font-weight:600;margin-bottom:12px;color:#1e293b}.edit-prompt-section textarea{width:100%;min-height:150px;padding:16px;border:2px solid #e2e8f0;border-radius:4px;font-family:inherit;font-size:.95rem;resize:vertical;transition:border-color .2s}.edit-prompt-section textarea:focus{outline:none;border-color:#4f46e5}.edit-prompt-section textarea::placeholder{color:#94a3b8}.edit-status{padding:0 24px;min-height:24px;font-size:.9rem}.edit-status.info{color:#0369a1}.edit-status.success{color:#059669}.edit-status.error{color:#dc2626}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:600px){.lesson-preview-actions,.lesson-edit-actions{flex-direction:column}.lesson-preview-actions .btn,.lesson-edit-actions .btn{width:100%}}.lesson-preview-modal.full-preview .lesson-preview-content.full{max-width:900px;max-height:90vh}.lesson-preview-modal .diagram-container,.lesson-preview-modal .mermaid-diagram,.lesson-preview-modal .svg-diagram,.lesson-preview-modal .smart-diagram{text-align:center;overflow:visible;max-width:100%}.lesson-preview-modal .diagram-container svg,.lesson-preview-modal .mermaid-diagram svg,.lesson-preview-modal .svg-diagram svg{max-width:100%;height:auto;display:inline-block}.lesson-preview-modal .energy-transfer-diagram{transform-origin:center top;overflow-x:auto}.energy-transfer-diagram .position-indicator{overflow:visible!important}.energy-transfer-diagram .energy-state{overflow:visible}.lesson-preview-modal.full-preview .lesson-preview-header{flex-wrap:wrap;gap:12px}.lesson-preview-modal.full-preview .header-info{flex:1}.lesson-preview-modal.full-preview .header-info h2{margin-bottom:8px}.lesson-preview-body{padding:24px}.preview-phase-section{margin-bottom:32px}.preview-phase-section:last-child{margin-bottom:0}.phase-title{font-size:1.1rem;color:#1e293b;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e2e8f0}.phase-items{display:flex;flex-direction:column;gap:16px}.preview-item{background:#f8fafc;border-radius:4px;overflow:hidden;border:1px solid #e2e8f0}.preview-item-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.item-number{font-weight:600;color:#64748b;font-size:.85rem}.item-type-badge{font-size:.8rem;padding:4px 10px;border-radius:4px;background:#fff;border:1px solid #e2e8f0}.preview-item-content{padding:16px}.preview-item-content.explanation .explanation-text{line-height:1.7;color:#334155}.preview-item-content .question-prompt{font-size:1rem;line-height:1.6;color:#1e293b;margin:0 0 16px}.options-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.options-list .option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:4px;border:1px solid #e2e8f0}.options-list .option.correct{background:#f0fdf4;border-color:#22c55e}.option-letter{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:4px;font-weight:600;font-size:.85rem;color:#64748b}.option.correct .option-letter{background:#22c55e;color:#fff}.option-text{flex:1}.correct-marker{color:#22c55e;font-weight:700}.expected-answer,.answer-explanation{padding:12px 16px;background:#fffbeb;border-radius:4px;margin-top:12px;font-size:.9rem;line-height:1.5}.answer-explanation{background:#f0fdf4}.code-block{background:#1e293b;color:#e2e8f0;padding:16px;border-radius:4px;overflow-x:auto;font-family:Fira Code,Consolas,monospace;font-size:.9rem;line-height:1.5;margin:12px 0}.diagram-container{margin:16px 0;text-align:center}.diagram-container svg{max-width:100%;max-height:40vh;height:auto;border-radius:4px;background:#fff}.diagram-caption{margin-top:8px;font-size:.85rem;color:#64748b;font-style:italic}.diagram-placeholder{background:#f1f5f9;border-radius:4px;padding:32px}.placeholder-content{font-size:2rem;color:#94a3b8}.diagram-error{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:4px;font-size:.9rem}.diagram-fallback{background:#fef9c3;border:1px solid #fde68a;border-radius:4px;padding:20px;text-align:center}.diagram-fallback .fallback-content{display:flex;flex-direction:column;align-items:center;gap:8px}.diagram-fallback .fallback-icon{font-size:2rem}.diagram-fallback .fallback-text{color:#78350f;font-size:.9rem;margin:0}.diagram-description{background:#f8fafc;border:1px solid #bae6fd;border-radius:4px;padding:20px;text-align:left}.diagram-description .description-content{display:flex;gap:12px;align-items:flex-start}.diagram-description .description-icon{font-size:1.5rem;flex-shrink:0}.diagram-description .description-content p{margin:0;line-height:1.6;color:#0c4a6e}.svg-diagram{background:#fafafa;border:1px solid #e5e7eb;border-radius:4px;padding:15px;display:flex;flex-direction:column;align-items:center}.svg-diagram svg{max-width:100%;max-height:40vh;height:auto}.svg-diagram .diagram-caption{margin-top:10px;font-size:.9rem;color:#6b7280;text-align:center}.physics-svg .chart-title{font-size:14px;font-weight:600;fill:#1e293b}.physics-svg .bar-value{font-size:12px;font-weight:600}.physics-svg .bar-label{font-size:11px;fill:#374151}.physics-svg .comparison-title{font-size:14px;font-weight:600}.physics-svg .comparison-desc{font-size:11px;fill:#374151}.physics-svg .vs-label{font-size:12px;font-weight:600;fill:#64748b}.physics-svg .step-number{font-size:16px;font-weight:600}.physics-svg .step-label,.physics-svg .label-text{font-size:11px}.physics-svg .center-label{font-size:12px;fill:#374151}.no-items,.no-phases{color:#94a3b8;font-style:italic;padding:16px;text-align:center}.btn-outline{background:transparent;border:1px solid #e2e8f0;color:#64748b}.btn-outline:hover{background:#f8fafc;border-color:#cbd5e1}@media(max-width:768px){.lesson-preview-modal.full-preview .lesson-preview-content.full{max-height:95vh;border-radius:4px 4px 0 0}.lesson-preview-body{padding:16px}.preview-item-content{padding:12px}}.checkbox-group{margin:16px 0}.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:12px 16px;background:var(--bg-alt);border-radius:var(--radius-md);border:1px solid var(--border);transition:all .2s ease}.checkbox-label:hover{border-color:var(--primary);background:#f0f7ff}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.checkbox-text{display:flex;flex-direction:column;gap:4px}.checkbox-text strong{color:var(--text-primary);font-size:.95rem}.checkbox-text small{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.teacher-note{font-size:.8rem;color:var(--text-secondary);background:#f0f7ff;padding:8px 12px;border-radius:var(--radius-sm);margin-top:12px;border-left:3px solid var(--primary)}.grading-rubric{background:#f0fdf4;padding:12px 16px;border-radius:var(--radius-md);margin:12px 0;border-left:3px solid #10b981}.grading-rubric strong{color:#065f46;display:block;margin-bottom:8px}.grading-rubric ul{margin:0;padding-left:20px}.grading-rubric li{color:#047857;font-size:.9rem;margin-bottom:4px}.expected-answer.ai-graded{background:#eff6ff;padding:12px 16px;border-radius:var(--radius-md);border-left:3px solid var(--primary)}.expected-answer.ai-graded strong{color:var(--primary)}.code-section,.solution-section{margin:12px 0}.code-section strong,.solution-section strong{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.solution-section .code-block{background:#f0fdf4;border:1px solid #10b981;color:#166534}.solution-section .code-block code{color:#166534}.preview-item-content.multi-select .option-checkbox{font-size:1.2rem;color:#64748b}.preview-item-content.multi-select .option.correct .option-checkbox{color:#22c55e}.preview-item-content.ordering .correct-order-list{list-style:decimal;padding-left:24px;margin:12px 0}.preview-item-content.ordering .correct-order-list li{padding:8px 12px;background:#f8fafc;margin-bottom:6px;border-radius:6px;border-left:3px solid var(--primary)}.preview-item-content.parsons .code-lines-list{background:#1e293b;border-radius:4px;padding:16px;margin:12px 0}.parsons-line-preview{padding:6px 12px;margin-bottom:4px;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:.9rem}.parsons-line-preview code{color:#e2e8f0}.parsons-line-preview.distractor{background:#ef444433;border-left:3px solid #ef4444}.parsons-line-preview .distractor-tag{float:right;font-size:.75rem;color:#fca5a5;font-family:sans-serif}.preview-item-content.numerical .numerical-answer{padding:12px 16px;background:#f0fdf4;border-radius:4px;margin:12px 0;border-left:3px solid #22c55e}.numerical-answer .answer-value{font-size:1.2rem;font-weight:700;color:#166534}.numerical-answer .answer-unit{font-size:1rem;color:#166534}.numerical-answer .tolerance-info{font-size:.85rem;color:#64748b;margin-left:8px}.preview-item-content.error-id .error-code-preview{margin:12px 0}.preview-item-content.error-id .error-code-preview pre{background:#1e293b;border-radius:4px;padding:16px;overflow-x:auto}.preview-item-content.error-id .error-code-preview code{color:#e2e8f0;font-family:Consolas,Monaco,monospace;font-size:.9rem;white-space:pre}.preview-item-content.error-id .error-code-preview .error-line{background:#ef44444d;display:block;padding:2px 8px;margin:0 -8px;border-left:3px solid #ef4444}.preview-item-content.error-id .acceptable-fixes{background:#f0fdf4;padding:12px 16px;border-radius:4px;margin-top:12px}.preview-item-content.error-id .acceptable-fixes ul{margin:8px 0 0;padding-left:20px}.preview-item-content.error-id .acceptable-fixes code{background:#dcfce7;padding:2px 6px;border-radius:4px;font-family:monospace}.editor-multi-select .options-preview,.editor-ordering .ordering-preview{margin-top:8px}.editor-multi-select .opt-checkbox{margin-right:8px}.editor-ordering ol{padding-left:20px;margin:8px 0}.editor-parsons .code-preview{background:#1e293b;color:#e2e8f0;padding:12px;border-radius:6px;font-family:monospace;font-size:.85rem;margin-top:8px}.editor-numerical .answer-preview,.editor-error-id .error-preview{margin-top:8px;font-size:.9rem;color:var(--text-secondary)}.lesson-editor-modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease;padding:20px}.lesson-editor-content{background:#fff;border-radius:4px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 80px #0006}.lesson-editor-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--bg-alt);border-radius:4px 4px 0 0}.editor-title-section h2{margin:0 0 4px;font-size:1.25rem}.editor-lesson-name{margin:0;color:var(--text-secondary);font-size:.95rem}.close-editor{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:4px 8px;border-radius:var(--radius-sm)}.close-editor:hover{background:var(--border);color:var(--text-primary)}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#fffbeb;border-bottom:1px solid #fde68a}.toolbar-hint{font-size:.9rem;color:#92400e}.lesson-editor-body{flex:1;overflow-y:auto;padding:24px;background:var(--bg-alt)}.editor-phase{background:#fff;border-radius:var(--radius-lg);margin-bottom:20px;box-shadow:var(--shadow-sm);overflow:hidden}.editor-phase-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--primary);color:#fff}.editor-phase-header h3{margin:0;font-size:1rem;font-weight:600}.phase-comment-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:6px 12px;border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;transition:var(--transition)}.phase-comment-btn:hover{background:#ffffff4d}.phase-comment-area{padding:16px 20px;background:#fefce8;border-bottom:1px solid #fde68a}.phase-comment-area textarea{width:100%;min-height:80px;padding:12px;border:1px solid #fde68a;border-radius:var(--radius-md);font-size:.9rem;resize:vertical;font-family:inherit}.editor-phase-items{padding:16px 20px}.editor-item{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:12px;overflow:hidden}.editor-item:last-child{margin-bottom:0}.editor-item-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fff;border-bottom:1px solid var(--border)}.item-badge{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:4px;background:var(--primary-light);color:var(--primary);text-transform:uppercase}.add-comment-btn{background:none;border:1px solid var(--border);padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;transition:var(--transition)}.add-comment-btn:hover{background:#fef3c7;border-color:#fcd34d}.add-comment-btn.has-comment{background:#fef3c7;border-color:#f59e0b}.editor-item-content{padding:14px;font-size:.95rem;line-height:1.6}.editor-explanation{color:var(--text-primary)}.editor-item-content .diagram-container{margin:16px 0;padding:16px;background:#f8fafc;border-radius:4px;border:1px solid #e2e8f0}.editor-item-content .diagram-caption{font-size:.85rem;color:#64748b;margin-top:8px;text-align:center;font-style:italic}.editor-item-content .diagram-description{background:#fefce8;border-color:#fde68a}.editor-code-block{margin:12px 0;background:#1e293b;border-radius:6px;overflow:hidden}.editor-code-block pre{margin:0;padding:12px 16px;overflow-x:auto}.editor-code-block code{color:#e2e8f0;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.85rem;line-height:1.5}.starter-code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:12px;margin-top:8px;overflow-x:auto}.starter-code code{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.85rem}.editor-mcq .question-text,.editor-short-answer .question-text{font-weight:500;margin-bottom:12px}.options-preview{display:flex;flex-direction:column;gap:8px}.option-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm)}.option-row.correct{background:#f0fdf4;border-color:#10b981}.opt-letter{font-weight:600;color:var(--text-secondary);width:24px}.correct-tag{margin-left:auto;color:#10b981;font-weight:700}.editable-field{position:relative;display:flex;align-items:flex-start;gap:8px;padding:4px;border-radius:var(--radius-sm);transition:background .15s}.editable-field:hover{background:#f8fafc}.editable-field .field-content{flex:1;min-width:0}.editable-field .field-label{font-weight:500;color:var(--text-secondary);font-size:.85rem;white-space:nowrap}.edit-field-btn{flex-shrink:0;padding:4px 8px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:opacity .15s,background .15s;font-size:.9rem}.editable-field:hover .edit-field-btn{opacity:1}.edit-field-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.editable-field.editing{background:#eff6ff;padding:8px;border:1px solid #bfdbfe}.editable-field.edited{background:#f0fdf4;border-left:3px solid #10b981}.inline-edit-textarea,.inline-edit-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem;line-height:1.5;resize:vertical}.inline-edit-textarea:focus,.inline-edit-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.inline-edit-actions{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}.options-editor{display:flex;flex-direction:column;gap:8px;margin-top:12px}.option-row-editable{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);transition:all .15s}.option-row-editable:hover{background:#f8fafc}.option-row-editable.correct{background:#f0fdf4;border-color:#10b981}.option-row-editable .option-field{flex:1;padding:0}.option-row-editable .option-field:hover{background:transparent}.correct-toggle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:2px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;font-size:1rem;color:#9ca3af;transition:all .15s}.correct-toggle:hover{border-color:#10b981;color:#10b981}.correct-toggle.is-correct{background:#10b981;border-color:#10b981;color:#fff}.editor-diagram-container{margin:12px 0;padding:12px;background:#f8fafc;border-radius:var(--radius-sm);border:1px solid #e2e8f0}.regenerate-diagram-btn{margin-top:8px;font-size:.8rem}.hint-field{margin-top:12px;padding:8px 12px;background:#fefce8;border-radius:var(--radius-sm);border:1px solid #fde68a}.hint-field .field-label{color:#92400e}.btn-success{background:#10b981;color:#fff;border:none}.btn-success:hover{background:#059669}.btn-success:disabled{background:#d1d5db;cursor:not-allowed}.sample-answer{color:var(--text-secondary);font-size:.9rem;margin-top:8px}.raw-content{background:var(--bg-alt);padding:12px;border-radius:var(--radius-sm);font-size:.8rem;overflow-x:auto}.item-comment-area{padding:12px 14px;background:#fefce8;border-top:1px solid #fde68a}.item-comment-area textarea{width:100%;min-height:60px;padding:10px;border:1px solid #fde68a;border-radius:var(--radius-sm);font-size:.9rem;resize:vertical;font-family:inherit}.item-comment-area textarea:focus,.phase-comment-area textarea:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.editor-global-comment{padding:16px 24px;background:#fff;border-top:1px solid var(--border)}.editor-global-comment label{display:block;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.editor-global-comment textarea{width:100%;min-height:80px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.9rem;resize:vertical;font-family:inherit}.editor-global-comment textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.lesson-editor-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-top:1px solid var(--border);border-radius:0 0 16px 16px}.comment-summary{font-size:.9rem;color:var(--text-secondary)}#comment-count{font-weight:500}.editor-actions{display:flex;gap:12px}@media(max-width:768px){.lesson-editor-content{max-height:95vh;border-radius:4px}.editor-toolbar{flex-direction:column;gap:8px;text-align:center}.lesson-editor-footer{flex-direction:column;gap:12px}.editor-actions{width:100%}.editor-actions .btn{flex:1}}.lesson-card{background:#fff;border-radius:4px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;border:1px solid #e5e7eb;transition:all .2s ease;overflow:hidden;position:relative}.lesson-card:hover{box-shadow:0 10px 25px #0000001a,0 4px 10px #0000000d;transform:translateY(-2px);border-color:#d1d5db}.lesson-card.archived{opacity:.6;border-style:dashed}.lesson-card-accent{height:4px;width:100%;background:var(--primary)}.lesson-card-accent.subject-math,.lesson-card-accent.subject-mathematics{background:#2563eb}.lesson-card-accent.subject-science{background:#10b981}.lesson-card-accent.subject-physics{background:#8b5cf6}.lesson-card-accent.subject-chemistry{background:#f59e0b}.lesson-card-accent.subject-biology{background:#22c55e}.lesson-card-accent.subject-ela,.lesson-card-accent.subject-english,.lesson-card-accent.subject-reading{background:#ec4899}.lesson-card-accent.subject-social-studies,.lesson-card-accent.subject-history{background:#f97316}.lesson-card-accent.subject-computer-science{background:#06b6d4}.lesson-card-content{padding:20px}.lesson-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.lesson-subject-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#f3f4f6;color:#4b5563}.lesson-subject-badge.subject-math,.lesson-subject-badge.subject-mathematics{background:#dbeafe;color:#1d4ed8}.lesson-subject-badge.subject-science{background:#d1fae5;color:#047857}.lesson-subject-badge.subject-physics{background:#ede9fe;color:#6d28d9}.lesson-subject-badge.subject-chemistry{background:#fef3c7;color:#b45309}.lesson-subject-badge.subject-biology{background:#dcfce7;color:#15803d}.lesson-subject-badge.subject-ela,.lesson-subject-badge.subject-english,.lesson-subject-badge.subject-reading{background:#fce7f3;color:#be185d}.lesson-subject-badge.subject-social-studies,.lesson-subject-badge.subject-history{background:#ffedd5;color:#c2410c}.lesson-subject-badge.subject-computer-science{background:#cffafe;color:#0e7490}.lesson-card .lesson-menu-btn{background:none;border:none;padding:6px;border-radius:4px;cursor:pointer;color:#9ca3af;transition:all .15s ease}.lesson-card .lesson-menu-btn:hover{background:#f3f4f6;color:#4b5563}.lesson-card .lesson-title{font-size:1.1rem;font-weight:600;color:#111827;margin:0 0 14px;line-height:1.4;cursor:pointer;transition:color .15s ease;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lesson-card .lesson-title:hover{color:var(--primary)}.lesson-meta-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px}.lesson-meta-item{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;color:#6b7280}.lesson-meta-item svg{opacity:.7}.lesson-assignment-status{padding:10px 12px;border-radius:4px;margin-bottom:16px;font-size:.8rem}.lesson-assignment-status.assigned{background:#f0fdf4;border:1px solid #bbf7d0}.lesson-assignment-status.unassigned{background:#fefce8;border:1px solid #fef08a}.assignment-indicator{display:flex;align-items:center;gap:8px}.assignment-indicator.assigned{color:#15803d}.assignment-indicator.unassigned{color:#a16207}.assignment-indicator svg{flex-shrink:0}.lesson-verification-status{padding:8px 12px;border-radius:4px;margin-bottom:12px;font-size:.8rem;display:flex;align-items:center;justify-content:space-between;gap:8px}.lesson-verification-status.verification-verified{background:#ecfdf5;border:1px solid #6ee7b7}.lesson-verification-status.verification-warning{background:#fffbeb;border:1px solid #fcd34d}.lesson-verification-status.verification-soft-pass{background:#fefce8;border:1px solid #facc15}.lesson-verification-status.verification-failed{background:#fef2f2;border:1px solid #fca5a5}.lesson-verification-status.verification-pending{background:#f0f9ff;border:1px solid #7dd3fc}.lesson-verification-status.verification-skipped{background:#f9fafb;border:1px solid #e5e7eb}.lesson-verification-status.verification-error{background:#fef2f2;border:1px solid #f87171}.verification-indicator{display:flex;align-items:center;gap:6px}.verification-verified .verification-indicator{color:#059669}.verification-warning .verification-indicator{color:#d97706}.verification-soft-pass .verification-indicator{color:#ca8a04}.verification-failed .verification-indicator{color:#dc2626}.verification-pending .verification-indicator{color:#0284c7}.verification-skipped .verification-indicator{color:#6b7280}.verification-error .verification-indicator{color:#dc2626}.verification-indicator svg{flex-shrink:0}.btn-verify-small{padding:4px 10px;font-size:.75rem;font-weight:500;background:#4f46e5;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .15s ease;white-space:nowrap}.btn-verify-small:hover{background:#4338ca}.btn-verify-small:disabled{background:#9ca3af;cursor:not-allowed}.lesson-card-actions{display:flex;gap:8px}.btn-lesson{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.btn-lesson svg{flex-shrink:0}.btn-lesson-primary{background:var(--primary);color:#fff}.btn-lesson-primary:hover{background:var(--primary-dark, #2563eb);transform:translateY(-1px)}.btn-lesson-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.btn-lesson-secondary:hover{background:#e5e7eb;border-color:#d1d5db}.btn-lesson-tertiary{background:transparent;color:#6b7280;padding:8px 10px}.btn-lesson-tertiary:hover{background:#f3f4f6;color:#374151}.lesson-badges{display:flex;gap:6px;flex-wrap:wrap}.lesson-badge.adaptive{background:#dbeafe;color:#1e40af}.lesson-badge.archived{background:#f3f4f6;color:#6b7280}.lesson-menu-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.lesson-menu-content{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:420px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.lesson-menu-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff;z-index:1}.lesson-menu-header h3{margin:0;font-size:1.1rem}.close-menu{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:4px 8px;border-radius:var(--radius-sm)}.close-menu:hover{background:var(--bg-alt)}.lesson-menu-title{padding:12px 20px;font-weight:600;color:var(--text-primary);background:var(--bg-alt);border-bottom:1px solid var(--border)}.lesson-menu-section{padding:12px 20px;border-bottom:1px solid var(--border)}.lesson-menu-section:last-child{border-bottom:none}.lesson-menu-section h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 8px 4px}.lesson-menu-section.danger h4{color:#dc2626}.menu-btn{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 12px;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background .15s ease}.menu-btn:hover{background:var(--bg-alt)}.menu-btn.delete:hover{background:#fef2f2}.menu-btn.archive:hover{background:#fefce8}.menu-btn.restore:hover{background:#f0fdf4}.menu-icon{font-size:1.2rem;flex-shrink:0;width:24px;text-align:center}.menu-text{font-weight:500;color:var(--text-primary);font-size:.95rem}.menu-btn.delete .menu-text{color:#dc2626}.menu-desc{display:block;font-size:.8rem;color:var(--text-secondary);font-weight:400;margin-top:2px}.menu-toggle-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-alt);border-radius:var(--radius-md);transition:background .2s}.menu-toggle-item:hover{background:var(--bg-hover)}.menu-toggle-info{display:flex;align-items:center;gap:12px}.menu-toggle-info .menu-icon{font-size:1.25rem}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:4px;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px #2563eb33}.lesson-edit-content.compact{max-width:380px}.modal-subtitle{color:var(--text-secondary);margin:0 0 16px;font-size:.9rem}.version-list{max-height:400px;overflow-y:auto;margin:16px 0}.empty-state{color:var(--text-secondary);text-align:center;padding:32px 24px;font-style:italic}.version-item{padding:12px;background:var(--bg-alt);border-radius:var(--radius-md);margin-bottom:8px}.version-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.version-date{font-weight:500;font-size:.9rem}.version-type{font-size:.75rem;background:var(--primary-light);color:var(--primary);padding:2px 8px;border-radius:4px}.version-details{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.version-details p{margin:2px 0}.import-preview{background:var(--bg-alt);border-radius:var(--radius-md);padding:12px 16px;margin:16px 0}.import-preview h4{margin:0 0 8px;font-size:.9rem;color:var(--text-secondary)}.import-preview p{margin:4px 0;font-size:.9rem}.delete-confirm-modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px}.delete-confirm-content{background:#fff;border-radius:4px;padding:32px;max-width:400px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d}.delete-confirm-icon{font-size:3rem;margin-bottom:16px}.delete-confirm-content h3{margin:0 0 12px;font-size:1.25rem}.delete-confirm-content p{color:var(--text-secondary);margin:0 0 24px}.delete-confirm-actions{display:flex;gap:12px;justify-content:center}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:500px){.form-row{grid-template-columns:1fr}.lesson-menu-content{max-height:90vh}}.lesson-filter-bar{padding:16px;background:var(--bg-alt);border-radius:var(--radius-md);margin-bottom:20px;border:1px solid var(--border)}.filter-bar-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.filter-bar-row:not(:last-child){margin-bottom:12px}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.filter-bar-results{font-size:.85rem;color:var(--text-secondary);margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.filter-bar-results .count{font-weight:600;color:var(--text-primary)}.filter-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:var(--text-secondary)}.filter-toggle input{width:16px;height:16px;cursor:pointer}.filter-toggle:hover{color:var(--text-primary)}.lesson-search-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:16px;background:var(--bg-alt);border-radius:var(--radius-md);margin-bottom:16px;border:1px solid var(--border)}.search-input-wrapper{position:relative;flex:1;min-width:200px}.search-input-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.search-input-wrapper input{width:100%;padding:10px 36px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;background:#fff}.search-input-wrapper input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;font-size:1rem;border-radius:var(--radius-sm)}.search-clear:hover{background:var(--border);color:var(--text-primary)}.filter-dropdowns{display:flex;gap:8px}.filter-select{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.9rem;background:#fff;cursor:pointer;min-width:130px}.filter-select:focus{outline:none;border-color:var(--primary)}.archive-toggle{margin-left:auto}.search-results-info{padding:0 4px 8px;font-size:.85rem;color:var(--text-secondary)}.search-results-count{margin-left:auto;font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.search-results-count .results-count{font-weight:500}.search-results-info a{color:var(--primary);text-decoration:none}.search-results-info a:hover{text-decoration:underline}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:8px}.lesson-card mark{background:#fef08a;color:inherit;padding:0 2px;border-radius:2px}@media(max-width:768px){.lesson-search-bar{flex-direction:column;align-items:stretch}.search-input-wrapper{min-width:100%}.filter-dropdowns{flex-wrap:wrap}.filter-select{flex:1;min-width:45%}.archive-toggle{margin-left:0}}.onboarding-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;z-index:10000;display:flex;align-items:center;justify-content:center}.onboarding-tooltip{position:absolute;background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;max-width:400px;width:90%;animation:tooltipFadeIn .3s ease}.onboarding-tooltip.centered{position:relative}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.onboarding-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.onboarding-header h3{margin:0;font-size:1.2rem;color:var(--text-primary)}.onboarding-close{background:none;border:none;font-size:1.2rem;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm)}.onboarding-close:hover{background:var(--bg-alt);color:var(--text-primary)}.onboarding-content{padding:20px 24px;color:var(--text-primary);line-height:1.6}.onboarding-content p{margin:0 0 12px}.onboarding-content p:last-child{margin-bottom:0}.onboarding-content ul,.onboarding-content ol{margin:12px 0;padding-left:24px}.onboarding-content li{margin:6px 0}.onboarding-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px 20px;border-top:1px solid var(--border);background:var(--bg-alt);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.onboarding-progress{display:flex;gap:6px}.progress-dot{width:8px;height:8px;border-radius:4px;background:var(--border);transition:all .2s ease}.progress-dot.active{background:var(--primary);transform:scale(1.2)}.progress-dot.completed{background:var(--success)}.onboarding-actions{display:flex;gap:8px}.onboarding-highlight{position:relative;z-index:10001;box-shadow:0 0 0 4px var(--primary),0 0 20px #2563eb66;border-radius:var(--radius-md);animation:highlightPulse 2s ease infinite}@keyframes highlightPulse{0%,to{box-shadow:0 0 0 4px var(--primary),0 0 20px #2563eb66}50%{box-shadow:0 0 0 6px var(--primary),0 0 30px #2563eb99}}.onboarding-tooltip.right:before{content:"";position:absolute;left:-10px;top:30px;border:10px solid transparent;border-right-color:#fff}.onboarding-tooltip.bottom:before{content:"";position:absolute;top:-10px;left:30px;border:10px solid transparent;border-bottom-color:#fff}@media(max-width:768px){.onboarding-tooltip{position:relative!important;left:auto!important;top:auto!important;right:auto!important;margin:20px}.onboarding-tooltip:before{display:none}}.help-tour-btn{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:4px;background:var(--primary);color:#fff;border:none;font-size:1.5rem;cursor:pointer;box-shadow:var(--shadow-lg);z-index:100;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.help-tour-btn:hover{transform:scale(1.1);box-shadow:0 8px 30px #2563eb66}.help-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;padding:0;font-size:12px;font-weight:600;color:#6b7280;background:#f3f4f6;border:1px solid #d1d5db;border-radius:50%;cursor:pointer;transition:all .2s ease;vertical-align:middle}.help-toggle-btn:hover{color:#2563eb;background:#eff6ff;border-color:#2563eb}.help-panel{margin-top:8px;overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .2s ease,margin .2s ease}.help-panel:not(.hidden){max-height:300px;opacity:1;margin-top:12px;margin-bottom:8px}.help-panel-content{padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;line-height:1.5}.help-panel-content p{margin:0 0 8px}.help-panel-content p:last-child{margin-bottom:0}.help-panel-content strong{color:#1e40af}.progress-cell{display:flex;align-items:center;gap:8px}.lesson-progress-bar{display:flex;width:80px;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.lesson-progress-bar .segment{height:100%;transition:width .3s ease}.lesson-progress-bar .segment.completed{background:var(--success)}.lesson-progress-bar .segment.in-progress{background:var(--warning)}.lesson-progress-bar .segment.not-started{background:#d1d5db}.progress-text{font-size:.85rem;color:var(--text-secondary);min-width:36px}.progress-legend{display:flex;gap:16px;justify-content:center;padding:12px;font-size:.8rem;color:var(--text-secondary)}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:4px;margin-right:4px}.legend-dot.completed{background:var(--success)}.legend-dot.in-progress{background:var(--warning)}.legend-dot.not-started{background:#d1d5db}.misconception-indicator{margin-left:6px;cursor:help}.status-badge.not-started{background:#f3f4f6;color:#6b7280}.status-badge.in-progress{background:#fef3c7;color:#92400e}.status-badge.no-lessons{background:#e5e7eb;color:#6b7280}.attention-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-alt);border-radius:var(--radius-md);margin-bottom:8px;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.attention-item:hover{background:#f1f5f9}.attention-item.not-started{border-left-color:#ef4444;background:#fef2f2}.attention-item.misconception{border-left-color:#f59e0b;background:#fffbeb}.attention-item.struggling{border-left-color:#f97316;background:#fff7ed}.attention-item.inactive{border-left-color:#6b7280;background:#f9fafb}.attention-icon{font-size:1.2rem}.attention-info{display:flex;flex-direction:column}.attention-name{font-weight:500;font-size:.95rem}.attention-reason{font-size:.8rem;color:var(--text-secondary)}.lesson-progress-header{margin-bottom:16px}.lesson-progress-header h4{margin:0 0 4px}.section-hint{font-size:.8rem;color:var(--text-secondary);margin:0}.lesson-progress-list{display:flex;flex-direction:column;gap:8px}.lesson-progress-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px;cursor:pointer;transition:all .2s ease}.lesson-progress-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.lp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.lp-topic{font-weight:500;font-size:.95rem}.lp-mastery{font-size:.85rem;font-weight:600;padding:2px 8px;border-radius:4px;background:#f3f4f6}.lp-mastery.high{background:#d1fae5;color:#065f46}.lp-mastery.medium{background:#fef3c7;color:#92400e}.lp-mastery.low{background:#fee2e2;color:#991b1b}.lp-bar{display:flex;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:8px}.lp-fill{height:100%}.lp-fill.completed{background:var(--success)}.lp-fill.in-progress{background:var(--warning)}.lp-stats{display:flex;gap:12px;font-size:.8rem}.lp-stat{display:flex;align-items:center;gap:4px;color:var(--text-secondary)}.lesson-progress-detail{max-height:400px;overflow-y:auto}.progress-section{margin-bottom:20px;padding:16px;border-radius:var(--radius-md)}.progress-section h4{margin:0 0 4px;font-size:1rem}.progress-section.not-started{background:#fef2f2}.progress-section.in-progress{background:#fffbeb}.progress-section.completed{background:#f0fdf4}.student-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.student-chip{display:flex;flex-direction:column;padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;font-size:.9rem}.student-chip:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.student-chip small{font-size:.75rem;color:var(--text-secondary)}.student-chip.high{border-color:var(--success)}.student-chip.medium{border-color:var(--warning)}.student-chip.low{border-color:var(--error)}.student-chip .mastery-badge{font-weight:600}.lesson-status-list{display:flex;flex-direction:column;gap:6px}.lesson-status-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-alt);border-radius:var(--radius-sm)}.lesson-status-row.completed{background:#f0fdf4}.lesson-status-row.in-progress{background:#fffbeb}.lesson-status-row.not-started{background:#f9fafb}.lesson-status-icon{font-size:1rem}.lesson-status-topic{flex:1;font-size:.9rem}.lesson-mastery{font-weight:600;font-size:.85rem;padding:2px 8px;border-radius:4px}.lesson-mastery.high{background:#d1fae5;color:#065f46}.lesson-mastery.medium{background:#fef3c7;color:#92400e}.lesson-mastery.low{background:#fee2e2;color:#991b1b}.lesson-status-label{font-size:.8rem;color:var(--text-secondary)}.misconceptions-list{display:flex;flex-direction:column;gap:12px}.misconception-group{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-md);overflow:hidden}.misconception-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fef3c7;font-weight:500}.misconception-icon{font-size:1.1rem}.misconception-type{flex:1}.misconception-count{background:#fff;padding:2px 8px;border-radius:4px;font-size:.8rem}.misconception-items{padding:12px}.misconception-item{padding:8px 0;border-bottom:1px solid #fde68a}.misconception-item:last-child{border-bottom:none}.misconception-detail{font-size:.9rem;margin-bottom:4px}.misconception-intervention{font-size:.85rem;color:#0369a1;background:#e0f2fe;padding:6px 10px;border-radius:var(--radius-sm);margin-top:6px}.more-items{font-size:.8rem;color:var(--text-secondary);margin:8px 0 0}.intervention-recommendations{display:flex;flex-direction:column;gap:10px}.recommendation{display:flex;gap:12px;padding:12px;border-radius:var(--radius-md);border-left:4px solid}.recommendation.high{background:#fef2f2;border-left-color:#ef4444}.recommendation.medium{background:#fffbeb;border-left-color:#f59e0b}.recommendation.success{background:#f0fdf4;border-left-color:#10b981}.rec-icon{font-size:1.2rem}.rec-content{flex:1}.rec-title{font-weight:500;margin-bottom:4px}.rec-action{font-size:.85rem;color:var(--text-secondary)}.placeholder.success{color:var(--success)}.analytics-insights-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media(max-width:1024px){.analytics-insights-row{grid-template-columns:1fr}}.class-misconceptions-section,.class-trends-section{background:#fff;border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.trend-charts-grid{display:flex;flex-direction:column;gap:20px}.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.chart-container{background:var(--bg-alt);border-radius:var(--radius-md);padding:16px;min-height:280px}.chart-container h4{margin:0 0 12px;font-size:.95rem;color:var(--text-secondary)}.chart-container canvas{max-height:220px}.chart-container.chart-half{min-height:240px}.chart-container.chart-half canvas{max-height:180px}.weekly-summary-box{display:flex;flex-direction:column}.weekly-summary-box #weekly-stats-summary{flex:1;display:flex;flex-direction:column;justify-content:space-around}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;border-radius:var(--radius-sm);margin-bottom:8px}.stat-item:last-child{margin-bottom:0}.stat-label{font-size:.85rem;color:var(--text-secondary)}.stat-value{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.stat-value.high{color:var(--success)}.stat-value.medium{color:var(--warning)}.stat-value.low{color:var(--error)}.stat-change{font-size:.75rem;font-weight:500;margin-left:6px;padding:2px 6px;border-radius:4px}.stat-change.positive{color:var(--success);background:#22c55e1a}.stat-change.negative{color:var(--error);background:#ef44441a}@media(max-width:1024px){.chart-row{grid-template-columns:1fr}}@media(max-width:768px){.chart-container{min-height:220px;padding:12px}.chart-container canvas{max-height:180px}}.class-misconceptions-header{margin-bottom:16px}.class-misconceptions-header h4{margin:0 0 4px;font-size:1.1rem}.class-misconceptions-list{display:flex;flex-direction:column;gap:12px}.class-misconception-card{background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #f59e0b;border-radius:var(--radius-md);padding:12px 16px}.cm-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cm-icon{font-size:1.1rem}.cm-type{font-weight:500;font-size:.9rem}.cm-count{margin-left:auto;background:#fff;padding:2px 10px;border-radius:4px;font-size:.8rem;font-weight:500;color:#92400e}.cm-detail{font-size:.9rem;color:var(--text-primary);margin-bottom:8px}.cm-intervention{font-size:.85rem;background:#e0f2fe;color:#0369a1;padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:8px}.cm-students{display:flex;flex-wrap:wrap;gap:6px}.cm-student-chip{background:#fff;border:1px solid #fde68a;padding:2px 8px;border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.misconception-type-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.type-summary-item{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-alt);border-radius:var(--radius-md);border:1px solid var(--border);font-size:.85rem}.type-icon{font-size:1rem}.type-label{color:var(--text-primary)}.type-count{color:var(--text-secondary);font-size:.8rem}.trend-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap;gap:12px}.trend-header h4{margin:0;font-size:1.1rem}.trend-summary{display:flex;align-items:center;gap:16px}.trend-metric{display:flex;flex-direction:column;align-items:flex-end}.trend-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.trend-label{font-size:.75rem;color:var(--text-secondary)}.trend-change{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-radius:var(--radius-md);font-weight:600;font-size:1.1rem}.trend-change.positive{background:#d1fae5;color:#065f46}.trend-change.negative{background:#fee2e2;color:#991b1b}.change-label{font-size:.7rem;font-weight:400}.trend-chart{margin-bottom:16px}.chart-title{font-size:.85rem;color:var(--text-secondary);margin-bottom:12px}.bar-chart{display:flex;align-items:flex-end;height:100px;gap:4px;padding-bottom:20px;border-bottom:1px solid var(--border)}.bar-container{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;position:relative}.bar-container.today{background:#2563eb0d;border-radius:var(--radius-sm)}.bar{width:100%;max-width:20px;border-radius:2px 2px 0 0;transition:height .3s ease;margin-top:auto}.bar.high{background:var(--success)}.bar.medium{background:var(--warning)}.bar.low{background:var(--error)}.bar-label{position:absolute;bottom:-18px;font-size:.65rem;color:var(--text-secondary)}.chart-legend{display:flex;justify-content:center;gap:16px;margin-top:24px;font-size:.75rem;color:var(--text-secondary)}.legend-color{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:4px;vertical-align:middle}.legend-color.high{background:var(--success)}.legend-color.medium{background:var(--warning)}.legend-color.low{background:var(--error)}.activity-summary{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-alt);border-radius:var(--radius-md)}.activity-metric{display:flex;flex-direction:column}.activity-value{font-size:1.3rem;font-weight:700;color:var(--text-primary)}.activity-label{font-size:.75rem;color:var(--text-secondary)}.activity-change{font-size:.9rem;font-weight:500}.activity-change.positive{color:var(--success)}.activity-change.negative{color:var(--error)}.trend-indicator{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-sm);font-size:.9rem}.trend-indicator.improving{background:#d1fae5}.trend-indicator.declining{background:#fee2e2}.trend-indicator.stable{background:#f3f4f6}.trend-indicator.new{background:#e0f2fe}.trend-value{font-size:.75rem;font-weight:500}.trend-indicator.improving .trend-value{color:#065f46}.trend-indicator.declining .trend-value{color:#991b1b}.trend-legend-separator{color:var(--border);margin:0 8px}.student-trend-section{background:var(--bg-alt);border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.student-trend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.student-trend-indicator{display:flex;align-items:center;gap:8px;font-size:1.1rem}.student-trend-indicator.improving{color:var(--success)}.student-trend-indicator.declining{color:var(--error)}.student-trend-indicator.stable{color:var(--text-secondary)}.week-comparison{display:flex;gap:24px}.week-stat{text-align:center}.week-value{font-size:1.3rem;font-weight:700}.week-label{font-size:.75rem;color:var(--text-secondary)}.symbol-tabs{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.symbol-tab{padding:6px 12px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;transition:all .15s ease}.symbol-tab:hover{background:var(--border)}.symbol-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.symbol-palette.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.smart-diagram{padding:24px;background:#f8fafc;border-radius:var(--radius-lg);border:1px solid var(--border)}.smart-diagram-title{font-size:1.1rem;font-weight:600;text-align:center;margin-bottom:20px;color:var(--text-primary)}.smart-diagram-formula{font-family:Times New Roman,serif;font-size:1.1rem;text-align:center;margin-top:16px;padding:12px;background:#fff;border-radius:var(--radius-md);border:1px solid var(--border)}.height-diagram .height-visual{display:flex;align-items:flex-end;justify-content:center;gap:20px;min-height:200px;padding:20px;position:relative}.height-diagram .height-marker{display:flex;flex-direction:column;align-items:center;height:150px}.height-diagram .height-label{font-weight:600;color:#3b82f6;font-size:1rem;margin-bottom:8px}.height-diagram .height-line{width:3px;flex:1;background:linear-gradient(to bottom,#3b82f6,#3b82f6 45%,transparent 45%,transparent 55%,#3b82f6 55%);background-size:100% 10px;position:relative}.height-diagram .height-line:before,.height-diagram .height-line:after{content:"";position:absolute;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent}.height-diagram .height-line:before{top:0;border-bottom:10px solid #3b82f6}.height-diagram .height-line:after{bottom:0;border-top:10px solid #3b82f6}.height-diagram .height-object{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:#fff;border:2px solid #64748b;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.height-diagram .object-emoji{font-size:2rem;margin-bottom:8px}.height-diagram .object-label{font-weight:500;color:var(--text-primary)}.height-diagram .ground-line{position:absolute;bottom:20px;left:10%;right:10%;height:4px;background:repeating-linear-gradient(90deg,#22c55e,#22c55e 10px,#16a34a 10px 20px);border-radius:2px}.height-diagram .ground-label{position:absolute;right:-60px;top:50%;transform:translateY(-50%);font-size:.85rem;color:#16a34a;font-weight:500;white-space:nowrap}.energy-transfer-diagram .energy-states-row{display:flex;align-items:flex-end;justify-content:center;gap:16px;min-height:200px;padding:20px 0}.energy-transfer-diagram .energy-state{display:flex;flex-direction:column;align-items:center;min-width:80px}.energy-transfer-diagram .state-icon{font-size:1.5rem;margin-bottom:8px}.energy-transfer-diagram .state-bars{display:flex;gap:4px;align-items:flex-end;height:120px;padding:8px;background:#fff;border-radius:var(--radius-md);border:1px solid var(--border)}.energy-transfer-diagram .state-bar{width:40px;min-height:10px;border-radius:4px 4px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:4px;transition:height .3s ease}.energy-transfer-diagram .bar-label{font-size:.65rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);writing-mode:vertical-rl;text-orientation:mixed}.energy-transfer-diagram .bar-value{font-size:.7rem;color:#fff;font-weight:500}.energy-transfer-diagram .state-label{margin-top:8px;font-size:.8rem;font-weight:500;text-align:center;color:var(--text-secondary)}.energy-transfer-diagram .state-arrow{font-size:2rem;color:#94a3b8;padding-bottom:60px}.energy-transfer-diagram .total-energy-note{text-align:center;margin-top:16px;padding:8px 16px;background:#fef3c7;border-radius:var(--radius-md);font-weight:500;color:#92400e;font-size:.9rem}.object-arrow-diagram .object-arrow-visual{display:flex;align-items:center;justify-content:center;gap:20px;padding:40px 20px;min-height:150px}.object-arrow-diagram .central-object{display:flex;flex-direction:column;align-items:center;padding:20px 32px;background:#fff;border:3px solid #64748b;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:1}.object-arrow-diagram .central-object .object-emoji{font-size:2.5rem;margin-bottom:8px}.object-arrow-diagram .central-object .object-label{font-weight:600;color:var(--text-primary)}.object-arrow-diagram .diagram-arrow{display:flex;align-items:center;gap:8px;font-weight:600}.object-arrow-diagram .diagram-arrow .arrow-symbol{font-size:2.5rem}.object-arrow-diagram .diagram-arrow .arrow-label{font-size:.9rem}.object-arrow-diagram .diagram-arrow.left{flex-direction:row-reverse}.object-arrow-diagram .diagram-arrow.left .arrow-symbol{transform:rotate(180deg)}.object-arrow-diagram .diagram-arrow.up{flex-direction:column-reverse}.object-arrow-diagram .diagram-arrow.up .arrow-symbol{transform:rotate(-90deg)}.object-arrow-diagram .diagram-arrow.down{flex-direction:column}.object-arrow-diagram .diagram-arrow.down .arrow-symbol{transform:rotate(90deg)}.concept-card{text-align:center}.concept-card .concept-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.concept-card .concept-emoji{font-size:2.5rem}.concept-card .concept-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.concept-card .concept-description{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin-bottom:16px}.concept-card .concept-formula{font-family:Times New Roman,serif;font-size:1.2rem;padding:12px 24px;background:#fff;border-radius:var(--radius-md);border:1px solid var(--border);display:inline-block}.concept-card .concept-bullets{text-align:left;list-style:none;padding:0;margin:16px auto;max-width:400px}.concept-card .concept-bullets li{padding:8px 0 8px 24px;position:relative;color:var(--text-secondary)}.concept-card .concept-bullets li:before{content:"✓";position:absolute;left:0;color:#22c55e;font-weight:700}.side-by-side-diagram .side-by-side-content{display:flex;align-items:stretch;justify-content:center;gap:16px;padding:20px}.side-by-side-diagram .side-panel{flex:1;max-width:200px;display:flex;flex-direction:column;align-items:center;padding:20px;border-radius:var(--radius-lg);border:2px solid;text-align:center}.side-by-side-diagram .panel-emoji{font-size:2rem;margin-bottom:12px}.side-by-side-diagram .panel-title{font-size:1rem;font-weight:600;margin-bottom:8px}.side-by-side-diagram .panel-description{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.side-by-side-diagram .connector{display:flex;align-items:center;font-size:1.25rem;font-weight:600;color:var(--text-secondary)}.diagram-description{padding:24px;background:#f8fafc;border-radius:var(--radius-lg);border:1px dashed var(--border)}.diagram-description .description-content{display:flex;align-items:flex-start;gap:12px}.diagram-description .description-icon{font-size:1.5rem}.diagram-description .description-content p{margin:0;color:var(--text-secondary);font-style:italic;line-height:1.5}@media(max-width:600px){.side-by-side-diagram .side-by-side-content{flex-direction:column}.side-by-side-diagram .side-panel{max-width:100%}.side-by-side-diagram .connector{transform:rotate(90deg);padding:8px 0}.energy-transfer-diagram .energy-states-row{flex-wrap:wrap}.height-diagram .height-visual{flex-direction:column;align-items:center}}.table-wrapper{overflow-x:auto;margin:16px 0;border-radius:4px;box-shadow:0 1px 3px #0000001a}.markdown-table{width:100%;border-collapse:collapse;background:#fff;font-size:.9rem;min-width:300px}.markdown-table th,.markdown-table td{padding:10px 14px;text-align:left;border:1px solid #e5e7eb;vertical-align:top}.markdown-table th{background:#0f172a;color:#fff;font-weight:600}.markdown-table tbody tr:nth-child(2n){background:#f8fafc}.markdown-table tbody tr:hover{background:#3b82f60d}.markdown-table td strong{color:#1e40af}.markdown-table td:first-child{font-weight:500}@media(max-width:600px){.markdown-table{font-size:.8rem}.markdown-table th,.markdown-table td{padding:6px 8px}}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-radius:4px;border-top-color:#fff;animation:spin .8s linear infinite;vertical-align:middle;margin-right:6px}.edit-status-text{display:block;margin-top:8px;font-size:.85rem;color:#64748b;text-align:center}.editable-field{margin-bottom:12px}.editable-field .field-label{display:block;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.field-display-wrapper{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;transition:all .2s}.field-display-wrapper:hover{border-color:#cbd5e1;background:#f1f5f9}.field-display{flex:1;min-width:0;line-height:1.5;color:#334155}.field-display.code-display{font-family:Fira Code,Monaco,monospace;font-size:.9rem;background:#1e293b;color:#e2e8f0;padding:8px 12px;border-radius:4px;margin:0;overflow-x:auto}.edit-pencil-btn{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:14px;opacity:.5;transition:all .2s}.field-display-wrapper:hover .edit-pencil-btn{opacity:1}.edit-pencil-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.field-edit-wrapper{display:flex;gap:8px;align-items:flex-start}.direct-edit-input{flex:1;padding:8px 12px;font-size:.95rem;border:2px solid #3b82f6;border-radius:6px;background:#fff;color:#1e293b;font-family:inherit;line-height:1.5;resize:vertical}.direct-edit-input:focus{outline:none;box-shadow:0 0 0 3px #3b82f633}.direct-edit-input.code-input{font-family:Fira Code,Monaco,monospace;font-size:.9rem;min-height:80px}textarea.direct-edit-input{min-height:60px}.done-edit-btn{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#22c55e;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:700;transition:all .2s}.done-edit-btn:hover{background:#16a34a;transform:scale(1.05)}.options-editor{margin-top:12px}.option-row.editable-option{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;transition:all .2s}.option-row.editable-option:hover{border-color:#cbd5e1}.option-row.editable-option.correct{background:#f0fdf4;border-color:#86efac}.option-row .opt-letter{font-weight:600;color:#64748b;min-width:20px}.option-row .option-content{flex:1;min-width:0}.option-row .option-content .field-display-wrapper{background:transparent;border:none;padding:0}.option-row .option-content .field-edit-wrapper{margin-top:4px}.option-row .correct-tag{font-size:.75rem;font-weight:600;color:#22c55e;padding:2px 8px;background:#dcfce7;border-radius:4px}.set-correct-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:16px;transition:all .2s;color:#94a3b8}.set-correct-btn:hover,.option-row.correct .set-correct-btn{background:#fef3c7;border-color:#fbbf24;color:#f59e0b}.ordering-items-edit{padding-left:20px}.ordering-items-edit li{margin-bottom:8px}.ordering-items-edit .editable-field{margin-bottom:0}.parsons-line-edit{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.parsons-line-edit .indent-indicator{color:#94a3b8;font-size:.8rem;min-width:30px;padding-top:8px}.parsons-line-edit .editable-field{flex:1;margin-bottom:0}.numerical-answer-edit{display:grid;grid-template-columns:1fr 120px 120px;gap:12px;margin-top:12px}.numerical-answer-edit .editable-field{min-width:0}.numerical-answer-edit .field-label{white-space:nowrap;overflow:visible}@media(max-width:600px){.numerical-answer-edit{grid-template-columns:1fr}}.editor-diagram-preview{margin:12px 0;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.editor-diagram-preview .diagram-container{max-width:100%}.editor-diagram-preview .physics-diagram,.editor-diagram-preview .diagram-placeholder{max-width:100%;overflow:auto}.editor-raw .raw-json-edit{width:100%;min-height:150px;font-family:Fira Code,Monaco,monospace;font-size:.85rem}.editor-item-header .item-actions{display:flex;gap:4px}.btn-success{background:#22c55e;color:#fff;border:none}.btn-success:disabled{background:#94a3b8;cursor:not-allowed}.btn-success.has-changes{background:#f59e0b;animation:pulse-save 1.5s ease-in-out infinite}@keyframes pulse-save{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 6px #f59e0b00}}.lesson-editor-footer .editor-actions{display:flex;gap:8px;flex-wrap:wrap}.editor-toolbar .toolbar-hint{font-size:.85rem;color:#64748b}.flagged-lessons-section{background:#fff7ed;border:1px solid #fed7aa;border-radius:4px;padding:20px;margin-bottom:20px}.flagged-lessons-section .section-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.flagged-lessons-section .section-header h2{margin:0;font-size:1.25rem}.flagged-lessons-section .section-description{color:#9a3412;font-size:.9rem;margin-bottom:16px}.badge-warning{background:#f97316;color:#fff;padding:2px 8px;border-radius:4px;font-size:.8rem;font-weight:600}.flagged-lessons-list{display:flex;flex-direction:column;gap:12px}.flagged-lesson-card{background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:16px;box-shadow:0 1px 3px #0000001a}.flagged-lesson-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.flagged-lesson-info h4{margin:0 0 8px;font-size:1rem;color:var(--text-primary)}.flagged-lesson-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.badge-issue{background:#fef2f2;color:#dc2626;padding:2px 8px;border-radius:4px;font-size:.75rem}.status-pending{background:#fef3c7;color:#d97706}.status-reviewed{background:#dbeafe;color:#2563eb}.status-fixed{background:#dcfce7;color:#16a34a}.status-dismissed{background:#f1f5f9;color:#64748b}.reporter-count,.flag-date{color:#6b7280;font-size:.8rem}.flagged-lesson-details{background:#f9fafb;border-radius:6px;padding:12px;margin-bottom:12px}.flagged-lesson-details strong{display:block;font-size:.85rem;color:#374151;margin-bottom:4px}.flagged-lesson-details p{margin:0;font-size:.9rem;color:#4b5563}.flagged-question-id{margin-bottom:12px}.flagged-question-id small{color:#9ca3af;font-size:.75rem}.flagged-lesson-actions{display:flex;gap:8px;flex-wrap:wrap}.flagged-lesson-actions .btn-danger{background:#dc2626;color:#fff;border:none}.flagged-lesson-actions .btn-danger:hover{background:#b91c1c}.discover-header{margin-bottom:24px}.discover-title h1{margin:0 0 8px}.discover-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0}.discover-filter-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:24px;padding:16px;background:#f8fafc;border-radius:4px}.discover-filter-bar .search-input-wrapper{flex:1;min-width:200px}.discover-filter-bar .filter-group{display:flex;flex-direction:column;gap:4px}.discover-filter-bar .filter-group label{font-size:.85rem;color:var(--text-secondary)}.discover-results{display:flex;flex-direction:column;gap:16px}.discover-lesson-card{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;transition:box-shadow .2s,border-color .2s}.discover-lesson-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.discover-lesson-info{flex:1}.discover-lesson-title{margin:0 0 8px;font-size:1.1rem;color:var(--text-primary)}.discover-lesson-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.discover-lesson-stats{display:flex;gap:16px;font-size:.85rem;color:var(--text-secondary)}.discover-lesson-stats .stat{display:flex;align-items:center;gap:4px}.discover-lesson-actions{display:flex;gap:8px;margin-left:16px}.discover-load-more{text-align:center;padding:20px}.discover-preview-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.discover-preview-content{background:#fff;border-radius:4px;max-width:700px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.discover-preview-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.discover-preview-header h2{margin:0;font-size:1.25rem}.discover-preview-header .close-preview{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:4px}.discover-preview-header .close-preview:hover{color:#374151}.discover-preview-meta{display:flex;gap:8px;padding:16px 24px;background:#f8fafc}.discover-preview-body{padding:24px}.preview-phase{margin-bottom:24px}.preview-phase h4{margin:0 0 12px;color:var(--text-primary);text-transform:capitalize}.preview-item{padding:12px;background:#f8fafc;border-radius:6px;margin-bottom:8px}.preview-item .item-type{display:inline-block;font-size:.75rem;color:#6b7280;text-transform:uppercase;margin-bottom:4px}.preview-item p{margin:0;font-size:.95rem}.more-items{color:#6b7280;font-style:italic;font-size:.9rem}.discover-preview-actions{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;justify-content:flex-end}.adopt-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;padding:20px}.adopt-modal-content{background:#fff;border-radius:4px;max-width:450px;width:100%;box-shadow:0 20px 60px #0000004d}.adopt-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.adopt-modal-header h2{margin:0;font-size:1.25rem}.adopt-modal-header .close-adopt{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280}.adopt-modal-body{padding:24px}.adopt-modal-body p{margin:0 0 16px}.adopt-modal-body .note{color:#6b7280;font-size:.9rem}.class-checkboxes{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:8px;background:#f8fafc;border-radius:6px}.adopt-modal-actions{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;justify-content:flex-end}@media(max-width:768px){.discover-lesson-card{flex-direction:column;align-items:flex-start}.discover-lesson-actions{margin-left:0;margin-top:12px;width:100%}.discover-lesson-actions .btn{flex:1}.discover-filter-bar{flex-direction:column}.discover-filter-bar .search-input-wrapper{width:100%}}.video-embed-wrapper{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;background:#000;border-radius:4px}.video-embed-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.embedded-media{margin:16px 0;max-width:100%}.embedded-media .embedded-image{max-width:100%;height:auto;border-radius:4px;display:block}.embedded-media .embedded-video{max-width:100%;border-radius:4px}.embedded-media .media-caption{text-align:center;font-size:.9rem;color:#64748b;margin-top:8px;font-style:italic}.embedded-media .media-error{padding:24px;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;text-align:center}.media-editor-field{margin-top:16px;padding:12px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:4px}.media-editor-content{display:flex;flex-direction:column;gap:12px}.media-input-row{display:flex;gap:8px;align-items:center}.media-input-row .media-url-input{flex:1}.media-caption-row{margin-top:8px}.media-caption-row .media-caption-input{width:100%}.media-preview-container{position:relative}.media-preview-container .remove-media-btn{position:absolute;top:8px;right:8px;background:#ef4444e6;color:#fff;border:none;width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;z-index:10}.media-preview-container .remove-media-btn:hover{background:#dc2626}.media-hint{display:block;margin-top:8px;color:#94a3b8;font-size:.8rem}.editable-media{border:2px dashed #e2e8f0;padding:8px;border-radius:4px;background:#fff}#tab-materials .header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}#tab-materials .subtitle{color:#64748b;margin-top:4px;font-size:.9rem}.materials-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid #e2e8f0;padding-bottom:8px}.materials-tab{padding:8px 16px;border:none;background:none;color:#64748b;font-weight:500;cursor:pointer;border-radius:4px 4px 0 0;transition:all .2s ease}.materials-tab:hover{color:#3b82f6;background:#f1f5f9}.materials-tab.active{color:#3b82f6;background:#eff6ff;border-bottom:2px solid #3b82f6;margin-bottom:-10px}.materials-subtab{display:block}.materials-subtab.hidden{display:none}.materials-filter-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.materials-filter-bar .input-field{flex:0 0 auto;min-width:140px}.materials-filter-bar select.input-field{max-width:160px}.materials-filter-bar input[type=text].input-field{flex:1;min-width:200px}.material-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.material-tag{display:inline-block;padding:2px 8px;background:#e2e8f0;color:#475569;font-size:11px;border-radius:12px}.material-tag:hover{background:#cbd5e1;cursor:pointer}.link-preview{display:flex;gap:10px;margin:8px 0;padding:8px;background:#f8fafc;border-radius:4px;border:1px solid #e2e8f0;font-size:12px}.link-preview-image{width:60px;height:60px;object-fit:cover;border-radius:4px;flex-shrink:0}.link-preview-text{display:flex;flex-direction:column;gap:2px;overflow:hidden;min-width:0}.link-preview-site{color:#64748b;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.link-preview-title{font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-preview-desc{color:#64748b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.material-card.has-preview{min-height:auto}.media-library-filters{display:flex;gap:12px;margin-bottom:16px}.media-library-filters .input-field{flex:1}.media-library-filters select.input-field{flex:0 0 auto;width:150px}.media-library-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.media-library-item{display:flex;align-items:center;gap:12px;padding:10px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.media-library-item:hover{background:#f1f5f9;border-color:#cbd5e1}.media-library-thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0}.media-library-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.media-library-item-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-library-item-type{font-size:12px;color:#64748b}.media-library-list .loading-text,.media-library-list .empty-text,.media-library-list .error-text{text-align:center;padding:40px 20px;color:#64748b}.media-library-list .error-text{color:#dc2626}.btn-tertiary{background:transparent;color:#3b82f6;border:1px solid #3b82f6}.btn-tertiary:hover{background:#eff6ff}.materials-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:#f8fafc;border-radius:4px;gap:16px;flex-wrap:wrap}.storage-info{display:flex;align-items:center;gap:12px}.storage-bar{width:150px;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.storage-fill{height:100%;background:#2563eb;border-radius:4px;transition:width .3s ease}.storage-text{color:#64748b;font-size:.85rem}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.load-more-container{display:flex;justify-content:center;margin-top:24px;padding:16px 0}.material-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:4px;transition:all .2s ease}.material-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.material-icon{font-size:2rem;flex-shrink:0}.material-info{flex:1;min-width:0}.material-title{font-weight:600;color:#1e293b;margin:0 0 4px;font-size:1rem;word-break:break-word}.material-meta{color:#64748b;font-size:.8rem;margin:0 0 8px}.material-badges{display:flex;gap:6px;flex-wrap:wrap}.badge{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:500}.badge-strict{background:#fef3c7;color:#d97706}.badge-inspiration{background:#dbeafe;color:#2563eb}.badge-shared{background:#dcfce7;color:#16a34a}.material-actions{display:flex;gap:4px;flex-shrink:0}.usage-link{background:none;border:none;padding:0;font:inherit;color:#3b82f6;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.usage-link:hover{color:#2563eb}.usage-summary{margin:0 0 16px;font-size:14px;color:#374151}.usage-note{font-size:13px;color:#6b7280;font-style:italic}.usage-list{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto}.usage-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid #e5e7eb}.usage-item:last-child{border-bottom:none}.usage-item.deleted{opacity:.6}.usage-lesson-title{flex:1;font-weight:500;color:#1f2937}.usage-date{font-size:12px;color:#9ca3af}.usage-deleted{font-size:12px;color:#ef4444;font-style:italic}.empty-state{text-align:center;padding:60px 20px;color:#64748b}.empty-icon{font-size:4rem;display:block;margin-bottom:16px;opacity:.5}.empty-state h3{color:#334155;margin-bottom:8px}.empty-state p{margin-bottom:20px}.shared-materials-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.shared-materials-filters .input-field{flex:1;min-width:200px}.shared-material-card{display:flex;align-items:flex-start;gap:16px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:4px;margin-bottom:12px}.shared-material-card .material-description{color:#64748b;font-size:.85rem;margin:4px 0 8px}.material-tags{display:flex;gap:6px;flex-wrap:wrap}.material-tags .tag{padding:2px 8px;background:#f1f5f9;border-radius:4px;font-size:.75rem;color:#475569}.modal-large{max-width:600px}.upload-tabs{display:flex;gap:8px;margin-bottom:20px}.upload-tab{padding:8px 16px;border:1px solid #e2e8f0;background:#fff;border-radius:4px;cursor:pointer;font-weight:500;color:#64748b;transition:all .2s ease}.upload-tab:hover{border-color:#3b82f6;color:#3b82f6}.upload-tab.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.upload-tab-content.hidden{display:none}.file-preview{margin-top:12px}.file-preview-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:4px;border:1px solid #e2e8f0}.file-preview-item .file-icon{font-size:1.5rem}.file-preview-item .file-name{flex:1;font-weight:500;word-break:break-all}.file-preview-item .file-size{color:#64748b;font-size:.85rem}.upload-progress-container{margin:16px 0}.upload-progress-container.hidden{display:none}.upload-progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.upload-progress-fill{height:100%;background:#2563eb;border-radius:4px;width:0%;transition:width .3s ease}.upload-progress-fill.indeterminate{width:100%;background:#2563eb;background-size:200% 100%;animation:progress-indeterminate 1.5s infinite linear}@keyframes progress-indeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}.upload-progress-text{display:block;text-align:center;color:#64748b;font-size:.85rem}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.checkbox-grid .checkbox-label{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f8fafc;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .2s ease}.checkbox-grid .checkbox-label:hover{background:#e2e8f0}.checkbox-grid .checkbox-label input{margin:0}.required{color:#ef4444}.material-selector-list{max-height:400px;overflow-y:auto;margin:16px 0}.material-selector-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:4px;margin-bottom:8px;cursor:pointer;transition:all .2s ease}.material-selector-item:hover{background:#f8fafc;border-color:#3b82f6}.material-selector-item.selected{background:#eff6ff;border-color:#3b82f6}.material-selector-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.material-selector-item .material-details{flex:1;min-width:0;overflow:hidden}.material-selector-item .material-details strong{display:block;margin-bottom:2px;word-break:break-word;overflow-wrap:break-word}.material-selector-item .material-details small{color:#64748b}.modal-subtitle{color:#64748b;margin-bottom:16px}.materials-selector-preview{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f8fafc;border-radius:4px;border:1px solid #e2e8f0}.selected-materials-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.selected-material-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;font-size:.85rem;color:#1e40af}.selected-material-tag .tag-remove{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:1rem;line-height:1;padding:0}.selected-material-tag .tag-remove:hover{color:#1e40af}.loading-spinner{text-align:center;padding:40px;color:#64748b}.error-text{color:#ef4444;text-align:center;padding:20px}.empty-hint{color:#64748b;text-align:center;padding:40px 20px}.standards-alignment-section{margin-top:24px}.standards-alignment-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.standards-alignment-section .section-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.standards-controls{display:flex;gap:8px;align-items:center}.standards-controls select{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;font-size:.85rem;cursor:pointer}.standards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.standard-card{background:#fff;border-radius:var(--radius);padding:16px;border:1px solid var(--border);transition:box-shadow .2s ease}.standard-card:hover{box-shadow:0 4px 12px #00000014}.standard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.standard-code{font-weight:600;font-size:.95rem;color:var(--primary);background:var(--primary-light);padding:4px 8px;border-radius:var(--radius-sm)}.standard-proficiency{font-size:.85rem;font-weight:600;padding:4px 10px;border-radius:12px}.standard-proficiency.proficient{background:#dcfce7;color:#15803d}.standard-proficiency.developing{background:#fef3c7;color:#b45309}.standard-proficiency.beginning{background:#fee2e2;color:#b91c1c}.standard-proficiency.not-assessed{background:#f1f5f9;color:#64748b}.standard-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:12px;line-height:1.5}.standard-progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.standard-progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.standard-progress-fill.high{background:linear-gradient(90deg,#22c55e,#16a34a)}.standard-progress-fill.medium{background:linear-gradient(90deg,#f59e0b,#d97706)}.standard-progress-fill.low{background:linear-gradient(90deg,#ef4444,#dc2626)}.standard-stats{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted)}.standard-stat{display:flex;flex-direction:column;align-items:center}.standard-stat-value{font-weight:600;font-size:.9rem;color:var(--text-primary)}.standard-stat-label{font-size:.75rem;color:var(--text-muted)}.standards-summary{display:flex;justify-content:center;gap:32px;margin-top:20px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius)}.standards-summary .summary-stat{text-align:center}.standards-summary .stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.standards-summary .stat-label{font-size:.8rem;color:var(--text-secondary);margin-top:4px}.student-standards-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.student-standards-section h4{font-size:.95rem;margin-bottom:12px;color:var(--text-primary)}.student-standards-list{display:flex;flex-direction:column;gap:8px}.student-standard-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-sm)}.student-standard-code{font-weight:500;font-size:.85rem;color:var(--text-primary)}.student-standard-mastery{font-size:.85rem;font-weight:600}.student-standard-mastery.high{color:var(--success)}.student-standard-mastery.medium{color:var(--warning)}.student-standard-mastery.low{color:var(--danger)}@media(max-width:768px){.standards-grid{grid-template-columns:1fr}.standards-summary{flex-direction:column;gap:16px}.standards-controls{width:100%;flex-direction:column}.standards-controls select,.standards-controls button{width:100%}}.generation-progress{padding:16px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;border:1px solid #bae6fd}.progress-message{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:1rem;color:#0369a1;font-weight:500}.progress-spinner{width:20px;height:20px;border:3px solid #bae6fd;border-top-color:#0284c7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-text{animation:fadeInOut 4s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:1}50%{opacity:.7}}.progress-bar-container{width:100%;height:8px;background:#e0f2fe;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,#0284c7,#0ea5e9,#38bdf8);background-size:200% 100%;border-radius:4px;transition:width .5s ease-out;animation:shimmer 2s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.progress-time{font-size:.85rem;color:#64748b;text-align:right}.elapsed-time{font-weight:600;color:#0369a1}.progress-note{margin-top:8px;padding:8px 12px;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;font-size:.8rem;color:#92400e;text-align:center}.progress-spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;vertical-align:middle;margin-right:6px}.verification-progress-modal{max-width:400px;text-align:center}.verification-progress-modal h3{margin-bottom:20px;color:#1e3a5f}.verification-progress{padding:20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;border:1px solid #bae6fd}.verification-progress .progress-note{margin-top:16px;background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.status-message{margin-top:12px;padding:12px 16px;border-radius:8px;font-size:.95rem}.status-message.info{background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd}.status-message.info.generating{padding:0;background:transparent;border:none}.status-message.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.status-message.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.status-message.warning{background:#fffbeb;color:#d97706;border:1px solid #fde68a}#verification-details-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:10000;justify-content:center;align-items:center}.verification-details-modal{max-width:550px;width:90%;max-height:80vh;overflow-y:auto}.verification-details-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.verification-details-modal .modal-header h3{margin:0;color:#1e3a5f}.verification-details-modal .modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#64748b;padding:4px 8px;line-height:1}.verification-details-modal .modal-close:hover{color:#1e293b}.verification-summary{display:flex;gap:20px;margin-bottom:24px;padding:16px;background:#f8fafc;border-radius:12px}.verification-score-display{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100px;padding:16px;border-radius:12px}.verification-score-display.status-verified{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.verification-score-display.status-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.verification-score-display.status-failed,.verification-score-display.status-error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.verification-score-display .score-value{font-size:2rem;font-weight:700;line-height:1}.verification-score-display .score-label{font-size:.85rem;margin-top:4px;font-weight:500}.verification-meta{flex:1}.verification-meta p{margin:0 0 8px;font-size:.9rem;color:#475569}.verification-meta p:last-child{margin-bottom:0}.verification-issues-section h4{margin:0 0 12px;color:#1e3a5f;font-size:1rem}.verification-issues-list{list-style:none;padding:0;margin:0 0 20px}.verification-issue-item{display:flex;gap:12px;padding:12px;margin-bottom:8px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:.9rem}.verification-issue-item .issue-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#f59e0b;color:#fff;border-radius:50%;font-size:.75rem;font-weight:600;flex-shrink:0}.verification-issue-item .issue-text{color:#92400e;line-height:1.4}.verification-actions-hint{padding:16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:16px}.verification-actions-hint p{margin:0 0 8px;color:#0369a1;font-size:.9rem}.verification-actions-hint ol{margin:0;padding-left:20px;color:#0c4a6e;font-size:.85rem}.verification-actions-hint ol li{margin-bottom:4px}.verification-no-issues{padding:20px;background:#f8fafc;border-radius:8px;text-align:center;color:#64748b}.verification-no-issues p{margin:0 0 8px}.verification-no-issues p:last-child{margin-bottom:0}.verification-details-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid #e2e8f0}.verification-indicator.clickable{cursor:pointer;transition:background-color .2s}.verification-indicator.clickable:hover{background:#0000000d;border-radius:4px}.view-details-link{margin-left:8px;font-size:.75rem;color:#0369a1;text-decoration:underline}.verification-indicator.clickable:hover .view-details-link{color:#0284c7}.verify-actions{display:flex;align-items:center;gap:8px}.auto-fix-checkbox{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.auto-fix-checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:#3b82f6}.auto-fix-checkbox span{white-space:nowrap}.auto-fix-checkbox:hover{color:#475569}.auto-fix-checkbox:hover input[type=checkbox]{outline:2px solid #bfdbfe;outline-offset:1px;border-radius:2px}.archive-toggle-container{margin-bottom:16px;padding:12px 16px;background:#f8fafc;border-radius:8px;display:flex;align-items:center;gap:16px}.archive-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:#64748b}.archive-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.archive-toggle span{-webkit-user-select:none;user-select:none}.cleanup-prompt{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:12px 16px;margin-bottom:16px}.cleanup-prompt.compact{padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.85rem}.cleanup-prompt-content{display:flex;align-items:center;gap:12px}.cleanup-icon{font-size:1.5rem}.cleanup-text strong{display:block;color:#92400e}.cleanup-text p{margin:4px 0 0;font-size:.85rem;color:#a16207}.archived-badge{position:absolute;top:8px;right:8px;background:#f1f5f9;color:#64748b;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase}.class-card.archived{position:relative;opacity:.7;border:1px dashed #94a3b8;background:#f8fafc}.class-card.archived:hover{opacity:1}.class-card .archived-date{font-size:.8rem;color:#94a3b8;font-style:italic}.classes-grid-inner{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.student-table-header-controls{display:flex;align-items:center;gap:16px;margin-bottom:12px;padding:8px 12px;background:#f8fafc;border-radius:8px}.student-table tr.archived-row{background:#f8fafc;opacity:.7}.student-table tr.archived-row:hover{opacity:1}.archived-indicator{margin-right:4px}.actions-cell{white-space:nowrap}.btn-tiny{padding:4px 8px;font-size:.75rem;border-radius:4px;border:none;cursor:pointer;margin:0 2px}.btn-tiny:hover{transform:scale(1.1)}.btn-success{background:#22c55e;color:#fff}.btn-success:hover{background:#16a34a}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{background:#d97706}.cleanup-modal-content h3{margin:0 0 16px;color:#1e293b}.cleanup-list{max-height:300px;overflow-y:auto;margin:16px 0}.cleanup-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid #e2e8f0;cursor:pointer}.cleanup-item:hover{background:#f8fafc}.cleanup-item input[type=checkbox]{width:18px;height:18px}.cleanup-item-info{flex:1}.cleanup-item-info strong{display:block;color:#1e293b}.cleanup-item-info small{color:#64748b}.cleanup-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.move-student-modal-content,.transfer-student-modal-content,.bulk-actions-modal-content{max-width:500px}.move-student-modal-content h3,.transfer-student-modal-content h3,.bulk-actions-modal-content h3{margin:0 0 16px;color:#1e293b}.transfer-preview{margin:16px 0;padding:12px 16px;background:#f8fafc;border-radius:8px}.transfer-class-info p{margin:6px 0}.error-text{color:#dc2626}.warning-text{color:#d97706;margin-top:12px;font-size:.9rem}.bulk-select-controls{display:flex;gap:8px;margin-bottom:12px}.bulk-student-list{max-height:250px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px}.bulk-student-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid #f1f5f9;cursor:pointer}.bulk-student-item:last-child{border-bottom:none}.bulk-student-item:hover{background:#f8fafc}.bulk-student-item input[type=checkbox]{width:16px;height:16px}.bulk-student-item span{flex:1;font-weight:500}.bulk-student-item small{color:#64748b}.bulk-action-selector{margin:16px 0}.bulk-action-selector label{display:block;margin-bottom:6px;font-weight:500}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.notification.info{background:#0369a1}
