.teacher-page{padding:32px 0 60px}.teacher-header-box{display:flex;justify-content:space-between;align-items:center;background:white;padding:28px 32px;border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-bottom:28px}.teacher-welcome-title{font-size:1.8rem;color:#0b1f48}.teacher-sub{font-size:.9rem;color:var(--text-muted)}.btn-lg{padding:12px 24px;font-size:1rem}.teacher-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px;margin-bottom:28px}.stat-card{gap:16px;padding:20px}.stat-card,.stat-icon-wrapper{display:flex;align-items:center}.stat-icon-wrapper{width:50px;height:50px;border-radius:var(--radius-md);justify-content:center;flex-shrink:0}.stat-icon-wrapper.bg-blue{background:#eef4ff}.stat-icon-wrapper.bg-yellow{background:#fffbeb}.stat-icon-wrapper.bg-green{background:#ecfdf5}.stat-icon-wrapper.bg-cyan{background:#e0f7fa}.stat-val{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;line-height:1.1;color:var(--text-main)}.stat-name{font-size:.82rem;color:var(--text-muted)}.class-filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:20px;overflow-x:auto;padding-bottom:6px}.filter-label{font-size:.85rem;font-weight:700;color:var(--text-muted);font-family:var(--font-heading)}.filter-pill{padding:6px 14px;border-radius:var(--radius-full);background:white;border:1px solid var(--border-color);font-size:.85rem;font-weight:600;color:var(--text-main);cursor:pointer;transition:var(--transition);white-space:nowrap}.filter-pill:hover{border-color:var(--primary);color:var(--primary)}.filter-pill.active{background:var(--primary);color:white;border-color:var(--primary)}.teacher-main-tabs{margin-top:8px;margin-bottom:24px}.btn-md{padding:8px 18px;font-size:.9rem}.table-card{padding:0;overflow:hidden}.teacher-classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:16px;gap:16px}.teacher-class-card{background:#ffffff;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;transition:var(--transition)}.teacher-class-card:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(19,91,236,.08)}.class-code-box{background:var(--bg-surface);padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.class-code-box,.class-invite-box{border:1px solid #e2e8f0;border-radius:var(--radius-sm);margin-bottom:10px}.class-invite-box{background:#f8fafc;padding:10px 12px}.class-invite-input-row{display:flex;align-items:center;gap:8px;margin-top:6px}.class-invite-url-input{flex:1 1;min-width:0;background:#ffffff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 10px;font-size:.8rem;font-family:var(--font-heading);font-weight:600;color:#1e293b}.class-quick-invite-banner{background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:12px 18px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.class-inline-crud-box{margin-top:12px;padding:14px;border-radius:var(--radius-sm);background:#f8fafc;border:1.5px solid #bfdbfe;animation:fadeInInline .16s ease-out}.class-inline-crud-box.danger{background:#fff1f2;border-color:#fecdd3}.class-code-label{font-size:.78rem;color:var(--text-muted);display:block;margin-bottom:2px}.class-code-val{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--primary);letter-spacing:.05em}.table-header{padding:20px 24px;border-bottom:1px solid var(--border-color)}.table-title{font-size:1.25rem}.table-count{font-size:.85rem;color:var(--text-muted);font-weight:600}.table-responsive{width:100%;overflow-x:auto}.custom-table{width:100%;border-collapse:collapse;text-align:left}.custom-table th{background:var(--bg-surface);padding:12px 20px;font-size:.8rem;font-family:var(--font-heading);text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.custom-table td,.custom-table th{border-bottom:1px solid var(--border-color)}.custom-table td{padding:16px 20px;font-size:.9rem}.custom-table tr:hover td{background:#f8fafc}.assign-item-title{font-weight:700;color:var(--text-main);margin-bottom:4px}.class-name-tag{font-size:.85rem;font-weight:600;color:#334155}.font-mono{font-family:var(--font-heading);font-weight:600}.deadline-text{font-size:.85rem;color:#64748b}.progress-container{display:flex;flex-direction:column;gap:4px;width:140px}.progress-bar-bg{width:100%;height:6px;background:#e2e8f0;overflow:hidden}.progress-bar-bg,.progress-fill{border-radius:var(--radius-full)}.progress-fill{height:100%;background:var(--primary-gradient)}.progress-label{font-size:.75rem;color:var(--text-muted)}.score-highlight{font-size:1.1rem;font-weight:700;color:var(--primary)}.text-right{text-align:right}.form-assignment-container{max-width:960px}.create-title{font-size:1.8rem;margin-top:4px}.points-summary-badge{background:var(--primary-light);border:1px solid #bfdbfe;padding:8px 16px;border-radius:var(--radius-md);font-size:.9rem;color:var(--primary);font-family:var(--font-heading)}.card-section-title{font-size:1.15rem;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:16px;gap:16px}.question-builder-card{border:1.5px solid #dbeafe;box-shadow:0 2px 10px rgba(19,91,236,.05);padding:18px 22px;position:relative;overflow:hidden}.question-builder-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:5px;background:var(--primary-gradient)}.question-header{padding-bottom:12px;border-bottom:1px solid #f1f5f9}.question-builder-card.is-collapsed .question-header{padding-bottom:0;border-bottom:none}.btn-icon-sub{width:28px;height:28px;border-radius:6px;background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.btn-icon-sub:hover{background:#e2e8f0;color:var(--primary)}.add-question-toolbar{background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:var(--radius-lg);padding:14px 18px}.btn-add-q{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:.84rem;font-weight:700;cursor:pointer;transition:var(--transition);box-shadow:0 1px 2px rgba(15,23,42,.06)}.btn-add-q:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,23,42,.08)}.btn-add-q.part-1{background:var(--primary);color:#ffffff;border:1px solid var(--primary)}.btn-add-q.part-1:hover{background:var(--primary-hover)}.btn-add-q.part-2{background:#fffbeb;color:#b45309;border:1px solid #fcd34d}.btn-add-q.part-2:hover{background:#fef3c7}.btn-add-q.part-3{background:#f0fdfa;color:#0f766e;border:1px solid #5eead4}.btn-add-q.part-3:hover{background:#ccfbf1}.btn-add-q.part-essay{background:#ffffff;color:#334155;border:1px solid #cbd5e1}.btn-add-q.part-essay:hover{border-color:var(--primary);color:var(--primary);background:#f8fafc}.point-label{font-size:.85rem;font-weight:600;color:#475569}.point-input,.point-label{font-family:var(--font-heading)}.point-input{width:68px;padding:5px 8px;border-radius:var(--radius-sm);border:1.5px solid #cbd5e1;font-weight:700;text-align:center;color:var(--primary);background:#f8fafc}.point-input:focus{border-color:var(--primary);background:#ffffff;outline:none}.btn-trash{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:#fff1f2;border:1px solid #fecdd3;color:var(--danger);cursor:pointer;padding:0;border-radius:6px;transition:var(--transition)}.btn-trash:hover{background:#ffe4e6;border-color:#fda4af}.btn-copy-q{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:#eff6ff;border:1px solid #bfdbfe;color:var(--primary);cursor:pointer;padding:0;border-radius:6px;transition:var(--transition)}.btn-copy-q:hover{background:#dbeafe;border-color:#93c5fd}.options-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.option-row{display:flex;align-items:center;gap:8px;background:var(--bg-surface);padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color)}.option-row.correct{border-color:var(--primary);background:var(--primary-light)}.radio-label{display:flex;align-items:center;gap:4px;cursor:pointer}.option-letter{font-weight:700;color:var(--primary);font-size:.95rem}.option-input{flex:1 1;padding:6px 10px;font-size:.9rem}.action-hint{font-size:.85rem;color:var(--text-muted)}.submissions-title{font-size:1.6rem}.submissions-sub{font-size:.88rem;color:var(--text-muted)}.stats-pill-group{display:flex;gap:12px}.stat-pill{background:var(--bg-surface);border:1px solid var(--border-color);padding:8px 16px;border-radius:var(--radius-md);text-align:center}.stat-pill-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;display:block}.stat-pill-val{font-size:1.25rem;font-weight:700;color:var(--primary)}.submissions-layout{display:grid;grid-template-columns:320px 1fr;grid-gap:24px;gap:24px}.sub-list{display:flex;flex-direction:column;gap:8px;max-height:600px;overflow-y:auto}.sub-item{padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition)}.sub-item.active,.sub-item:hover{border-color:var(--primary);background:var(--primary-light)}.sub-item.active{box-shadow:0 2px 8px rgba(19,91,236,.15)}.sub-student-name{font-size:.95rem;font-weight:700}.sub-item-meta{font-size:.78rem;color:var(--text-muted);margin-top:4px}.detail-student-title{font-size:1.4rem}.current-score-box{background:var(--primary);color:white;padding:8px 16px;border-radius:var(--radius-md);font-size:1.4rem;font-weight:700}.score-max{font-size:.85rem;font-weight:400;opacity:.85}.alert-success-box{background:var(--success-light);color:var(--success);border:1px solid #a7f3d0;padding:10px 16px;border-radius:var(--radius-md);font-size:.9rem;display:flex;align-items:center;gap:8px}.answer-item-card{background:var(--bg-surface);border-radius:var(--radius-md);padding:14px 18px;border:1px solid var(--border-color)}.student-ans-pill{font-size:.9rem;color:#1e293b;margin-bottom:4px}.correct-ans-pill{font-size:.85rem;color:#059669}.essay-ans-box{background:white;padding:12px;border-radius:var(--radius-sm);border:1px solid #cbd5e1}.ans-label{font-size:.78rem;font-weight:700;color:var(--text-muted);margin-bottom:4px}.essay-text{font-size:.95rem;line-height:1.5;color:#0f172a;white-space:pre-wrap}.grading-form-box{background:#f8fafc;padding:20px;border-radius:var(--radius-lg);border:1.5px dashed var(--primary)}@media (max-width:900px){.teacher-stats-grid{grid-template-columns:repeat(2,1fr)}.submissions-layout{grid-template-columns:1fr}}.inline-action-row td{background:#f8fafc!important;padding:0!important;border-bottom:2px solid #cbd5e1}.inline-action-panel{padding:18px 24px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-left:4px solid var(--primary);animation:fadeInInline .16s ease-out}.inline-action-panel.danger-panel{background:#fff1f2;border-left-color:#dc2626}@keyframes fadeInInline{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.inline-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;flex-wrap:wrap}.inline-panel-title{font-family:var(--font-heading);font-size:.98rem;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:8px;margin:0}.inline-clone-grid{display:grid;grid-template-columns:1.4fr 1.2fr 1.1fr;grid-gap:12px;gap:12px;margin-bottom:14px}@media (max-width:820px){.inline-clone-grid{grid-template-columns:1fr}}.quick-chips-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;margin-bottom:16px}.quick-chip-btn{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;padding:5px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition)}.quick-chip-btn:hover{background:#dbeafe;border-color:#93c5fd}.deadline-clickable-cell{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border-radius:6px;border:1px dashed transparent;transition:var(--transition)}.deadline-clickable-cell:hover{background:#f1f5f9;border-color:#cbd5e1}.edit-deadline-icon{color:var(--primary);opacity:.7}.deadline-clickable-cell:hover .edit-deadline-icon{opacity:1}.export-popover-container{position:relative;display:inline-block}.export-menu-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:white;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);min-width:220px;z-index:50;padding:6px;animation:fadeIn .1s ease-out}.export-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;width:100%;font-size:.85rem;color:var(--text-main);background:none;border:none;text-align:left;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:var(--transition)}.export-menu-item:hover{background:#f1f5f9;color:var(--primary)}.tracking-tabs-header{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:8px}.tracking-tab-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);font-family:var(--font-heading);font-weight:600;font-size:.88rem;cursor:pointer;border:1px solid transparent;background:#f8fafc;color:var(--text-muted);transition:var(--transition)}.tracking-tab-btn.active{background:var(--primary);color:white;border-color:var(--primary)}.tracking-tab-btn .tab-badge{padding:2px 7px;border-radius:var(--radius-full);font-size:.75rem;font-mono:true}.tracking-tab-btn.active .tab-badge{background:rgba(255,255,255,.25);color:white}.tracking-tab-btn:not(.active) .tab-badge{background:#e2e8f0;color:#334155}.student-track-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:8px;background:white;transition:var(--transition)}.student-track-item:hover{border-color:#cbd5e1;box-shadow:var(--shadow-sm)}.track-avatar{width:38px;height:38px;border-radius:50%;background:#eff6ff;color:var(--primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700}.ministry-accordion-card{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:16px;background:white;overflow:hidden}.ministry-accordion-head{padding:12px 18px;background:#f8fafc;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ministry-accordion-head:hover{background:#f1f5f9}.ministry-part-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-heading);font-weight:700;font-size:.85rem;padding:4px 10px;border-radius:var(--radius-sm)}.badge-part-1{background:#dbeafe;color:#1d4ed8}.badge-part-2{background:#fef3c7;color:#b45309}.badge-part-3{background:#ccfbf1;color:#0f766e}