.monthly-board[data-v-385aab00]{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.week-header[data-v-385aab00]{display:grid;grid-template-columns:repeat(7,1fr);background:#eef2ff;color:#4338ca;font-weight:600}.week-label[data-v-385aab00]{padding:.75rem;text-align:center;border-right:1px solid rgba(255,255,255,.3)}.week-label[data-v-385aab00]:last-child{border-right:none}.weeks[data-v-385aab00]{display:flex;flex-direction:column}.week-row[data-v-385aab00]{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #e5e7eb}.week-row[data-v-385aab00]:first-child{border-top:none}.day-cell[data-v-385aab00]{min-height:140px;border-right:1px solid #e5e7eb;padding:.65rem;display:flex;flex-direction:column;background:#fff;cursor:pointer}.day-cell[data-v-385aab00]:last-child{border-right:none}.day-cell.is-muted[data-v-385aab00]{background:#f8fafc;color:#94a3b8}.day-cell.is-today[data-v-385aab00]{background:#fef3c7}.day-cell.past .lesson-entry[data-v-385aab00]{opacity:.85}.day-header[data-v-385aab00]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.day-number[data-v-385aab00]{font-size:1.1rem;font-weight:600}.day-tag[data-v-385aab00]{font-size:.75rem;padding:.1rem .5rem;border-radius:999px;background:#f97316;color:#fff}.day-tag.subtle[data-v-385aab00]{background:#94a3b8}.day-tag.holiday[data-v-385aab00]{background:#ef4444}.holiday-note[data-v-385aab00]{font-size:.8rem;color:#ef4444;margin:.4rem 0 0;text-align:center}.lesson-list[data-v-385aab00]{flex:1;display:flex;flex-direction:column;gap:.4rem}.lesson-entry[data-v-385aab00]{background:#eef2ff;border-radius:8px;padding:.45rem .55rem;font-size:.85rem;line-height:1.3;box-shadow:0 1px 2px #0f172a14}.lesson-entry.completed[data-v-385aab00]{border-left:3px solid #34d399}.lesson-entry.extra[data-v-385aab00]{border-left:3px solid #f59e0b}.lesson-entry.canceled[data-v-385aab00]{background:#fee2e2;border-left:3px solid #ef4444}.lesson-title[data-v-385aab00]{margin:0;font-weight:600;color:#1f2937;display:flex;gap:.35rem;align-items:center}.lesson-meta[data-v-385aab00]{margin:.1rem 0 0;color:#475569}.lesson-meta.subtle[data-v-385aab00]{font-size:.75rem;color:#94a3b8}.badge[data-v-385aab00]{font-size:.7rem;padding:.05rem .4rem;border-radius:999px;background:#f59e0b;color:#fff}.badge-canceled[data-v-385aab00]{background:#ef4444}.attendance-info[data-v-385aab00]{display:flex;gap:.4rem;font-size:.75rem;margin-top:.35rem}.attendance-info span[data-v-385aab00]{color:#475569}.attendance-info .absent[data-v-385aab00]{color:#dc2626}.attendance-info .leave[data-v-385aab00]{color:#f97316}.attendance-info .other[data-v-385aab00]{color:#0ea5e9}.no-lesson[data-v-385aab00]{font-size:.8rem;color:#cbd5f5;margin:.5rem 0 0;text-align:center}.more-indicator[data-v-385aab00]{font-size:.75rem;text-align:right;color:#6366f1;margin:0}@media (max-width: 768px){.day-cell[data-v-385aab00]{min-height:120px}.lesson-entry[data-v-385aab00]{font-size:.8rem}}.modal-fade-enter-active[data-v-b5c14dd0],.modal-fade-leave-active[data-v-b5c14dd0]{transition:opacity .2s ease}.modal-fade-enter-from[data-v-b5c14dd0],.modal-fade-leave-to[data-v-b5c14dd0]{opacity:0}.base-modal-overlay[data-v-b5c14dd0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.base-modal-card[data-v-b5c14dd0]{background:#fff;border-radius:16px;box-shadow:0 20px 45px #0f172a33;width:100%;max-height:90vh;display:flex;flex-direction:column}.base-modal-sm[data-v-b5c14dd0]{max-width:420px}.base-modal-md[data-v-b5c14dd0]{max-width:560px}.base-modal-lg[data-v-b5c14dd0]{max-width:720px}.base-modal-header[data-v-b5c14dd0]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #f1f5f9}.header-text h3[data-v-b5c14dd0]{margin:0;font-size:1.25rem;color:#1f2937}.header-text p[data-v-b5c14dd0]{margin:.35rem 0 0;font-size:.9rem;color:#6b7280}.close-btn[data-v-b5c14dd0]{border:none;background:transparent;font-size:1.5rem;color:#94a3b8;cursor:pointer}.close-btn[data-v-b5c14dd0]:hover{color:#475569}.base-modal-body[data-v-b5c14dd0]{padding:1.25rem 1.5rem;overflow-y:auto;flex:1}.base-modal-footer[data-v-b5c14dd0]{padding:1rem 1.5rem 1.5rem;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}@media (max-width: 640px){.base-modal-card[data-v-b5c14dd0]{border-radius:12px}.base-modal-body[data-v-b5c14dd0]{padding:1rem}}.timetable-view[data-v-be282d2d]{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0f172a14;display:flex;flex-direction:column;gap:1.5rem}.view-header[data-v-be282d2d]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.view-header h2[data-v-be282d2d]{font-size:1.8rem;color:#111827}.header-controls[data-v-be282d2d]{display:flex;gap:1rem;align-items:center}.class-select[data-v-be282d2d]{min-width:180px;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px}.period-panel[data-v-be282d2d]{background:#f8fafc;border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.filter-row[data-v-be282d2d]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}.view-toggle[data-v-be282d2d]{display:flex;gap:.5rem}.toggle-btn[data-v-be282d2d]{border:1px solid transparent;background:#fff;padding:.45rem 1.2rem;border-radius:999px;cursor:pointer;color:#475569;transition:all .2s ease}.toggle-btn.active[data-v-be282d2d]{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f159}.dates-row label[data-v-be282d2d]{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:#4b5563}.dates-row input[data-v-be282d2d]{padding:.45rem .75rem;border:1px solid #d1d5db;border-radius:8px}.quick-actions[data-v-be282d2d]{display:flex;gap:.5rem;flex-wrap:wrap}.range-hint[data-v-be282d2d]{color:#64748b;font-size:.9rem;margin:0}.btn[data-v-be282d2d]{padding:.5rem 1rem;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:transform .15s ease}.btn[data-v-be282d2d]:active{transform:scale(.96)}.btn-primary[data-v-be282d2d]{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.btn-secondary[data-v-be282d2d]{background:#94a3b8;color:#fff}.btn-danger[data-v-be282d2d]{background:#ef4444;color:#fff}.btn-outline[data-v-be282d2d]{border:1px solid #cbd5f5;background:transparent;color:#475569}.empty-state[data-v-be282d2d]{text-align:center;padding:3rem 1rem;color:#94a3b8}.timetable-container[data-v-be282d2d]{border:1px solid #e2e8f0;border-radius:12px;padding:1rem;background:#fff}.mode-toggle[data-v-be282d2d]{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:1rem}.mode-btn[data-v-be282d2d]{border:1px solid #dbeafe;background:#f8fafc;padding:.4rem .9rem;border-radius:999px;color:#475569;cursor:pointer}.mode-btn.active[data-v-be282d2d]{background:#4338ca;color:#fff;border-color:transparent}.timetable[data-v-be282d2d]{width:100%;border-collapse:collapse}.timetable th[data-v-be282d2d],.timetable td[data-v-be282d2d]{border:1px solid #e2e8f0;padding:.85rem;vertical-align:top}.time-header[data-v-be282d2d]{width:150px;background:#f1f5f9}.time-cell[data-v-be282d2d]{background:#f8fafc}.slot-name[data-v-be282d2d]{font-weight:600;color:#111827}.slot-time[data-v-be282d2d]{font-size:.85rem;color:#6b7280}.course-cell.editable[data-v-be282d2d]{cursor:pointer}.course-item[data-v-be282d2d]{background:#eef2ff;border-radius:10px;padding:.75rem;min-height:100px;position:relative;display:flex;flex-direction:column;gap:.35rem;cursor:pointer}.course-name[data-v-be282d2d]{font-weight:600;color:#1f2937}.teacher-name[data-v-be282d2d],.classroom-name[data-v-be282d2d]{font-size:.85rem;color:#475569}.period-badge[data-v-be282d2d]{background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;align-self:flex-start}.btn-delete[data-v-be282d2d]{position:absolute;top:6px;right:8px;border:none;background:transparent;font-size:1.2rem;color:#ef4444;cursor:pointer}.empty-cell[data-v-be282d2d]{display:flex;align-items:center;justify-content:center;color:#cbd5f5;min-height:100px;font-size:1.3rem}.modal-overlay[data-v-be282d2d]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-be282d2d]{background:#fff;border-radius:12px;padding:2rem;width:90%;max-width:520px;box-shadow:0 10px 25px #0f172a33}.modal h3[data-v-be282d2d]{margin-bottom:1.25rem;color:#111827}.form-group[data-v-be282d2d]{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.form-group select[data-v-be282d2d]{padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:8px}.form-actions[data-v-be282d2d]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.conflict-alert[data-v-be282d2d]{background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;padding:.75rem 1rem;color:#92400e;font-size:.9rem}.conflict-alert ul[data-v-be282d2d]{margin:.5rem 0 0;padding-left:1.25rem}.day-header[data-v-be282d2d]{background:#f8fafc}.day-header-main[data-v-be282d2d]{display:flex;flex-direction:column;gap:.15rem}.day-name[data-v-be282d2d]{font-weight:600;color:#1f2937}.day-date[data-v-be282d2d]{font-size:.8rem;color:#6b7280}.day-header-actions[data-v-be282d2d]{display:flex;gap:.4rem;align-items:center;margin-top:.35rem}.day-setting-btn[data-v-be282d2d]{border:1px solid #cbd5f5;background:#fff;color:#4338ca;border-radius:6px;padding:.1rem .55rem;font-size:.75rem;cursor:pointer}.day-setting-btn[data-v-be282d2d]:hover{background:#eef2ff}.holiday-pill[data-v-be282d2d]{background:#fee2e2;color:#b91c1c;padding:.1rem .5rem;border-radius:999px;font-size:.7rem}.holiday-cell[data-v-be282d2d]{background:#fff1f2;border:1px dashed #fecaca;color:#b91c1c;border-radius:10px;min-height:100px;display:flex;align-items:center;justify-content:center;font-weight:600}.month-board[data-v-be282d2d]{padding-top:.5rem}.day-settings[data-v-be282d2d]{display:flex;flex-direction:column;gap:1rem}.day-settings-header[data-v-be282d2d]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.day-setting-info[data-v-be282d2d]{display:flex;flex-direction:column;gap:.2rem;color:#1f2937}.holiday-toggle[data-v-be282d2d]{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;color:#475569}.day-settings textarea[data-v-be282d2d]{width:100%;border:1px solid #e2e8f0;border-radius:8px;padding:.6rem .75rem;resize:vertical}.day-lessons-title[data-v-be282d2d]{font-weight:600;color:#1f2937;margin-bottom:.4rem}.lesson-chips[data-v-be282d2d]{display:flex;flex-wrap:wrap;gap:.4rem}.lesson-chip[data-v-be282d2d]{background:#eef2ff;color:#4338ca;padding:.25rem .6rem;border-radius:999px;font-size:.8rem}.mini-empty[data-v-be282d2d]{color:#94a3b8;font-size:.85rem}.student-list[data-v-be282d2d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.student-item[data-v-be282d2d]{display:flex;align-items:center;gap:.4rem;background:#f8fafc;padding:.35rem .55rem;border-radius:8px;font-size:.9rem;color:#334155}.lesson-modal[data-v-be282d2d]{display:flex;flex-direction:column;gap:1rem}.lesson-info[data-v-be282d2d]{display:flex;flex-direction:column;gap:.35rem;color:#1f2937}.lesson-meta[data-v-be282d2d]{display:flex;gap:.4rem;flex-wrap:wrap;color:#6b7280;font-size:.9rem}.lesson-controls[data-v-be282d2d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.lesson-controls label[data-v-be282d2d]{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#475569}.lesson-controls select[data-v-be282d2d]{padding:.55rem .7rem;border:1px solid #d1d5db;border-radius:8px}.lesson-modal textarea[data-v-be282d2d]{border:1px solid #e2e8f0;border-radius:8px;padding:.6rem .75rem}.lesson-status[data-v-be282d2d]{background:#fee2e2;color:#b91c1c;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;align-self:flex-start}.lesson-status.teacher[data-v-be282d2d]{background:#e0f2fe;color:#0369a1}.attendance-summary[data-v-be282d2d]{font-size:.75rem;color:#475569}.lesson-students[data-v-be282d2d]{display:flex;flex-direction:column;gap:.6rem}.student-attendance-list[data-v-be282d2d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}.student-attendance-item[data-v-be282d2d]{display:flex;justify-content:space-between;align-items:center;gap:.5rem;background:#f8fafc;border-radius:8px;padding:.45rem .6rem;font-size:.9rem}.student-attendance-item select[data-v-be282d2d]{border:1px solid #d1d5db;border-radius:6px;padding:.3rem .5rem}.helper-text[data-v-be282d2d]{margin:.35rem 0 0;font-size:.85rem;color:#94a3b8}@media (max-width: 768px){.timetable-view[data-v-be282d2d]{padding:1.25rem}.filter-row[data-v-be282d2d]{flex-direction:column;align-items:flex-start}.time-header[data-v-be282d2d]{width:110px}}.teachers-view[data-v-d7efd203]{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.view-header[data-v-d7efd203]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.view-header h2[data-v-d7efd203]{font-size:1.8rem;color:#333}.table-container[data-v-d7efd203]{overflow-x:auto}.data-table[data-v-d7efd203]{width:100%;border-collapse:collapse}.data-table th[data-v-d7efd203],.data-table td[data-v-d7efd203]{padding:1rem;text-align:left;border-bottom:1px solid #e0e0e0}.data-table th[data-v-d7efd203]{background:#f5f5f5;font-weight:600;color:#333}.data-table tbody tr[data-v-d7efd203]:hover{background:#f9f9f9}.btn[data-v-d7efd203]{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:all .3s}.btn-primary[data-v-d7efd203]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-d7efd203]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-d7efd203]{background:#6c757d;color:#fff}.btn-secondary[data-v-d7efd203]:hover{background:#5a6268}.btn-danger[data-v-d7efd203]{background:#dc3545;color:#fff}.btn-danger[data-v-d7efd203]:hover{background:#c82333}.btn-outline[data-v-d7efd203]{border:1px solid #cbd5f5;background:#fff;color:#475569}.btn-outline[data-v-d7efd203]:hover{background:#e0e7ff;color:#312e81}.btn-sm[data-v-d7efd203]{padding:.25rem .75rem;font-size:.85rem;margin-right:.5rem}.btn-info[data-v-d7efd203]{background:#0ea5e9;color:#fff}.btn-info[data-v-d7efd203]:hover{background:#0284c7}.modal-overlay[data-v-d7efd203]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-d7efd203]{background:#fff;border-radius:8px;padding:2rem;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026}.modal h3[data-v-d7efd203]{margin-bottom:1.5rem;color:#333}.form-group[data-v-d7efd203]{margin-bottom:1.5rem}.form-group label[data-v-d7efd203]{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input[data-v-d7efd203]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input[data-v-d7efd203]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.time-slots-checkbox[data-v-d7efd203]{display:flex;flex-direction:column;gap:.75rem;max-height:200px;overflow-y:auto;padding:.5rem;border:1px solid #ddd;border-radius:4px}.checkbox-item[data-v-d7efd203]{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.25rem;border-radius:4px;transition:background .2s}.checkbox-item[data-v-d7efd203]:hover{background:#f5f5f5}.checkbox-item input[type=checkbox][data-v-d7efd203]{width:auto;margin:0}.checkbox-group[data-v-d7efd203]{border:1px solid #ddd;border-radius:4px;padding:1rem;background:#fff}.checkbox-label[data-v-d7efd203]{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#555}.helper-text[data-v-d7efd203]{margin:.5rem 0 0;font-size:.85rem;color:#777}.single-class-toggle[data-v-d7efd203]{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:#555}.single-class-toggle input[type=checkbox][data-v-d7efd203]{margin:0}.form-actions[data-v-d7efd203]{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.teacher-stats[data-v-d7efd203]{display:flex;flex-direction:column;gap:1rem}.teacher-stats-header[data-v-d7efd203]{display:flex;flex-direction:column;gap:.35rem;color:#1f2937}.stats-filter[data-v-d7efd203]{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.stats-filter label[data-v-d7efd203]{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#475569}.stats-filter input[data-v-d7efd203]{padding:.5rem .6rem;border:1px solid #d1d5db;border-radius:6px}.stats-cards[data-v-d7efd203]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.stats-cards .stat-card[data-v-d7efd203]{background:#f8fafc;border-radius:10px;padding:.75rem;text-align:center}.stats-cards .stat-card span[data-v-d7efd203]{font-size:.85rem;color:#64748b}.stats-cards .stat-card strong[data-v-d7efd203]{display:block;font-size:1.3rem;color:#111827}.stats-list[data-v-d7efd203]{display:flex;flex-direction:column;gap:.5rem;max-height:260px;overflow-y:auto}.stats-item[data-v-d7efd203]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:#f8fafc;border-radius:8px;padding:.6rem .75rem;font-size:.9rem}.stats-item-main[data-v-d7efd203]{display:flex;flex-wrap:wrap;gap:.6rem;color:#475569}.status-chip[data-v-d7efd203]{padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600}.status-present[data-v-d7efd203]{background:#dcfce7;color:#15803d}.status-leave[data-v-d7efd203]{background:#e0f2fe;color:#0369a1}.status-late[data-v-d7efd203]{background:#fff7ed;color:#c2410c}.status-absent[data-v-d7efd203]{background:#fee2e2;color:#b91c1c}.status-canceled[data-v-d7efd203]{background:#fef2f2;color:#b91c1c}.course-period-editor[data-v-a04fbe76]{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.period-card[data-v-a04fbe76]{border:1px solid #e5e7eb;border-radius:12px;padding:1rem;background:#f9fafb;display:flex;flex-direction:column;gap:.75rem}.period-card-header[data-v-a04fbe76]{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.period-name-input[data-v-a04fbe76]{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px}.period-grid[data-v-a04fbe76]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.form-field[data-v-a04fbe76]{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#374151}.form-field input[data-v-a04fbe76],.form-field select[data-v-a04fbe76]{width:100%;padding:.45rem .65rem;border:1px solid #d1d5db;border-radius:6px}.checkbox-inline[data-v-a04fbe76]{flex-direction:row;align-items:center}.weekdays-selector[data-v-a04fbe76]{display:flex;flex-direction:column;gap:.35rem}.weekdays-options[data-v-a04fbe76]{display:flex;flex-wrap:wrap;gap:.4rem}.checkbox-item[data-v-a04fbe76]{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;padding:.25rem .4rem;border-radius:6px;background:#fff;border:1px solid #e5e7eb}.empty-state[data-v-a04fbe76]{text-align:center;color:#6b7280;font-size:.9rem;padding:.5rem 0}.btn[data-v-a04fbe76]{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem}.btn-secondary[data-v-a04fbe76]{background:#6b7280;color:#fff}.btn-danger[data-v-a04fbe76]{background:#dc2626;color:#fff}.btn-sm[data-v-a04fbe76]{padding:.35rem .75rem;font-size:.8rem}.courses-view[data-v-e94b57ee]{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.view-header[data-v-e94b57ee]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.view-header h2[data-v-e94b57ee]{font-size:1.8rem;color:#333}.table-container[data-v-e94b57ee]{overflow-x:auto}.data-table[data-v-e94b57ee]{width:100%;border-collapse:collapse}.data-table th[data-v-e94b57ee],.data-table td[data-v-e94b57ee]{padding:1rem;text-align:left;border-bottom:1px solid #e0e0e0}.data-table th[data-v-e94b57ee]{background:#f5f5f5;font-weight:600;color:#333}.data-table tbody tr[data-v-e94b57ee]:hover{background:#f9f9f9}.badge[data-v-e94b57ee]{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.85rem;font-weight:500}.badge-primary[data-v-e94b57ee]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.badge-secondary[data-v-e94b57ee]{background:#6c757d;color:#fff}.badge-info[data-v-e94b57ee]{background:#17a2b8;color:#fff}.btn[data-v-e94b57ee]{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:all .3s}.btn-primary[data-v-e94b57ee]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-e94b57ee]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-e94b57ee]{background:#6c757d;color:#fff}.btn-secondary[data-v-e94b57ee]:hover{background:#5a6268}.btn-danger[data-v-e94b57ee]{background:#dc3545;color:#fff}.btn-danger[data-v-e94b57ee]:hover{background:#c82333}.btn-sm[data-v-e94b57ee]{padding:.25rem .75rem;font-size:.85rem;margin-right:.5rem}.modal-form[data-v-e94b57ee]{display:flex;flex-direction:column;gap:1.25rem}.form-grid[data-v-e94b57ee]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.form-group[data-v-e94b57ee]{margin-bottom:1.5rem}.form-group label[data-v-e94b57ee]{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input[data-v-e94b57ee],.form-group select[data-v-e94b57ee]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input[data-v-e94b57ee]:focus,.form-group select[data-v-e94b57ee]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.classrooms-view[data-v-36a6d7e7]{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.view-header[data-v-36a6d7e7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.view-header h2[data-v-36a6d7e7]{font-size:1.8rem;color:#333}.table-container[data-v-36a6d7e7]{overflow-x:auto}.data-table[data-v-36a6d7e7]{width:100%;border-collapse:collapse}.data-table th[data-v-36a6d7e7],.data-table td[data-v-36a6d7e7]{padding:1rem;text-align:left;border-bottom:1px solid #e0e0e0}.data-table th[data-v-36a6d7e7]{background:#f5f5f5;font-weight:600;color:#333}.data-table tbody tr[data-v-36a6d7e7]:hover{background:#f9f9f9}.badge[data-v-36a6d7e7]{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.85rem;font-weight:500}.badge-primary[data-v-36a6d7e7]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.badge-secondary[data-v-36a6d7e7]{background:#6c757d;color:#fff}.badge-info[data-v-36a6d7e7]{background:#17a2b8;color:#fff}.badge-warning[data-v-36a6d7e7]{background:#ffc107;color:#333}.badge-success[data-v-36a6d7e7]{background:#28a745;color:#fff}.btn[data-v-36a6d7e7]{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:all .3s}.btn-primary[data-v-36a6d7e7]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-36a6d7e7]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-36a6d7e7]{background:#6c757d;color:#fff}.btn-secondary[data-v-36a6d7e7]:hover{background:#5a6268}.btn-danger[data-v-36a6d7e7]{background:#dc3545;color:#fff}.btn-danger[data-v-36a6d7e7]:hover{background:#c82333}.btn-sm[data-v-36a6d7e7]{padding:.25rem .75rem;font-size:.85rem;margin-right:.5rem}.modal-form[data-v-36a6d7e7]{display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-36a6d7e7]{margin-bottom:1.5rem}.form-group label[data-v-36a6d7e7]{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input[data-v-36a6d7e7],.form-group select[data-v-36a6d7e7]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input[data-v-36a6d7e7]:focus,.form-group select[data-v-36a6d7e7]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.checkbox-group[data-v-36a6d7e7]{border:1px solid #ddd;border-radius:4px;padding:1rem;background:#fff}.checkbox-label[data-v-36a6d7e7]{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#555}.helper-text[data-v-36a6d7e7]{margin:.5rem 0 0;font-size:.85rem;color:#777}.single-use-toggle[data-v-36a6d7e7]{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:#555}.single-use-toggle input[type=checkbox][data-v-36a6d7e7]{margin:0}.form-group.two-cols input[data-v-36a6d7e7]{max-width:200px}.classes-view[data-v-4c8b6706]{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.view-header[data-v-4c8b6706]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.view-header h2[data-v-4c8b6706]{font-size:1.8rem;color:#333}.table-container[data-v-4c8b6706]{overflow-x:auto}.data-table[data-v-4c8b6706]{width:100%;border-collapse:collapse}.data-table th[data-v-4c8b6706],.data-table td[data-v-4c8b6706]{padding:1rem;text-align:left;border-bottom:1px solid #e0e0e0}.data-table th[data-v-4c8b6706]{background:#f5f5f5;font-weight:600;color:#333}.data-table tbody tr[data-v-4c8b6706]:hover{background:#f9f9f9}.badge[data-v-4c8b6706]{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.85rem;font-weight:500}.badge-primary[data-v-4c8b6706]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.badge-secondary[data-v-4c8b6706]{background:#6c757d;color:#fff}.btn[data-v-4c8b6706]{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:all .3s}.btn-primary[data-v-4c8b6706]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-4c8b6706]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-4c8b6706]{background:#6c757d;color:#fff}.btn-secondary[data-v-4c8b6706]:hover{background:#5a6268}.btn-danger[data-v-4c8b6706]{background:#dc3545;color:#fff}.btn-danger[data-v-4c8b6706]:hover{background:#c82333}.btn-sm[data-v-4c8b6706]{padding:.25rem .75rem;font-size:.85rem;margin-right:.5rem}.modal-overlay[data-v-4c8b6706]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-4c8b6706]{background:#fff;border-radius:8px;padding:2rem;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026}.modal h3[data-v-4c8b6706]{margin-bottom:1.5rem;color:#333}.form-group[data-v-4c8b6706]{margin-bottom:1.5rem}.form-group label[data-v-4c8b6706]{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input[data-v-4c8b6706],.form-group select[data-v-4c8b6706]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input[data-v-4c8b6706]:focus,.form-group select[data-v-4c8b6706]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-actions[data-v-4c8b6706]{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.course-slot-select[data-v-6d5673bc]{display:flex;flex-direction:column;gap:.35rem}.course-slot-select select[data-v-6d5673bc]{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem}.helper-text[data-v-6d5673bc]{font-size:.8rem;color:#6b7280}.students-view[data-v-0fe45884]{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.view-header[data-v-0fe45884]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.view-header h2[data-v-0fe45884]{font-size:1.8rem;color:#333}.header-controls[data-v-0fe45884]{display:flex;gap:1rem}.class-select[data-v-0fe45884]{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;min-width:200px}.table-container[data-v-0fe45884]{overflow-x:auto}.data-table[data-v-0fe45884]{width:100%;border-collapse:collapse}.data-table th[data-v-0fe45884],.data-table td[data-v-0fe45884]{padding:1rem;text-align:left;border-bottom:1px solid #e0e0e0}.data-table th[data-v-0fe45884]{background:#f5f5f5;font-weight:600;color:#333}.data-table tbody tr[data-v-0fe45884]:hover{background:#f9f9f9}.btn[data-v-0fe45884]{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:all .3s}.btn-primary[data-v-0fe45884]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-0fe45884]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-0fe45884]{background:#6c757d;color:#fff}.btn-secondary[data-v-0fe45884]:hover{background:#5a6268}.btn-danger[data-v-0fe45884]{background:#dc3545;color:#fff}.btn-danger[data-v-0fe45884]:hover{background:#c82333}.btn-info[data-v-0fe45884]{background:#17a2b8;color:#fff}.btn-info[data-v-0fe45884]:hover{background:#138496}.btn-sm[data-v-0fe45884]{padding:.25rem .75rem;font-size:.85rem}.modal-overlay[data-v-0fe45884]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-0fe45884]{background:#fff;border-radius:8px;padding:2rem;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026;max-height:90vh;overflow-y:auto}.modal-large[data-v-0fe45884]{max-width:900px}.modal-header[data-v-0fe45884]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.modal-header h3[data-v-0fe45884]{margin:0;color:#333}.btn-close[data-v-0fe45884]{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;line-height:1}.btn-close[data-v-0fe45884]:hover{color:#333}.form-group[data-v-0fe45884]{margin-bottom:1.5rem}.form-group label[data-v-0fe45884]{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input[data-v-0fe45884],.form-group select[data-v-0fe45884]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input[data-v-0fe45884]:focus,.form-group select[data-v-0fe45884]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea[data-v-0fe45884]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;resize:vertical;min-height:90px}.form-group textarea[data-v-0fe45884]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.helper-text[data-v-0fe45884]{display:block;margin-top:.35rem;font-size:.8rem;color:#6b7280}.form-actions[data-v-0fe45884]{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.stats-content[data-v-0fe45884]{display:flex;flex-direction:column;gap:2rem}.stats-section[data-v-0fe45884]{background:#f8f9fa;padding:1.5rem;border-radius:8px}.stats-section h4[data-v-0fe45884]{margin-bottom:1rem;color:#333;font-size:1.2rem}.info-grid[data-v-0fe45884]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-item[data-v-0fe45884]{display:flex;gap:.5rem}.info-item .label[data-v-0fe45884]{font-weight:500;color:#555}.section-header[data-v-0fe45884]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.leave-indicator[data-v-0fe45884]{font-size:.9rem;color:#b45309;background:#fef3c7;border-radius:999px;padding:.35rem .85rem}.grades-table table[data-v-0fe45884]{width:100%;border-collapse:collapse}.grade-analytics[data-v-0fe45884]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.25rem}.analysis-card[data-v-0fe45884]{border:1px solid #e5e7eb;border-radius:12px;padding:1rem;background:#fff;box-shadow:0 4px 12px #0f172a14}.analysis-header[data-v-0fe45884]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;color:#4b5563}.analysis-metrics[data-v-0fe45884]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.metric-label[data-v-0fe45884]{font-size:.8rem;color:#6b7280}.metric-value[data-v-0fe45884]{font-size:1.4rem;font-weight:600;color:#111827}.analysis-levels[data-v-0fe45884]{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.4rem}.level-chip[data-v-0fe45884]{padding:.25rem .6rem;border-radius:999px;border:1px solid;font-size:.8rem}.grade-chip[data-v-0fe45884]{border:1px solid;border-radius:999px;padding:.2rem .6rem;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem}.grade-score[data-v-0fe45884]{font-weight:600;color:#111827}.grade-score.highlight[data-v-0fe45884]{color:#dc2626}.scheme-tag[data-v-0fe45884]{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.8rem}.grades-table th[data-v-0fe45884],.grades-table td[data-v-0fe45884]{padding:.75rem;text-align:left;border-bottom:1px solid #e0e0e0}.grades-table th[data-v-0fe45884]{background:#f5f5f5;font-weight:600}.attendance-summary[data-v-0fe45884]{display:flex;gap:2rem;flex-wrap:wrap}.stat-card[data-v-0fe45884]{flex:1;text-align:center;padding:1.5rem;border-radius:8px;background:#fff}.stat-card.present[data-v-0fe45884]{border-left:4px solid #28a745}.stat-card.absent[data-v-0fe45884]{border-left:4px solid #dc3545}.stat-card.late[data-v-0fe45884]{border-left:4px solid #ffc107}.stat-card.leave[data-v-0fe45884]{border-left:4px solid #0ea5e9}.stat-number[data-v-0fe45884]{font-size:2.5rem;font-weight:700;color:#333;margin-bottom:.5rem}.stat-label[data-v-0fe45884]{color:#666;font-size:.9rem}.mini-timetable[data-v-0fe45884]{display:flex;flex-direction:column;gap:1rem}.day-schedule[data-v-0fe45884]{display:flex;gap:1rem;align-items:flex-start}.day-label[data-v-0fe45884]{min-width:60px;font-weight:600;color:#667eea}.day-courses[data-v-0fe45884]{flex:1}.course-tag[data-v-0fe45884]{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#667eea15,#764ba215);color:#667eea;border-radius:4px;margin-right:.5rem;margin-bottom:.5rem;font-size:.9rem}.no-course[data-v-0fe45884]{color:#999;font-style:italic}.empty-message[data-v-0fe45884]{text-align:center;color:#999;padding:2rem}.empty-message.small[data-v-0fe45884]{padding:1rem;font-size:.9rem}.grade-empty-state[data-v-0fe45884]{background:linear-gradient(135deg,#eef2ff,#f5f3ff);border:1px dashed #c7d2fe;border-radius:12px;text-align:center;padding:2rem 1.5rem;color:#4c1d95}.grade-empty-icon[data-v-0fe45884]{font-size:2.5rem;margin-bottom:.75rem}.grade-empty-title[data-v-0fe45884]{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.grade-empty-desc[data-v-0fe45884]{margin:0;color:#6b21a8;font-size:.95rem}.attendance-grid[data-v-0fe45884]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.25rem}.attendance-list[data-v-0fe45884]{display:flex;flex-direction:column;gap:.75rem;max-height:280px;overflow-y:auto;padding-right:.5rem}.attendance-item[data-v-0fe45884]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.item-date[data-v-0fe45884]{font-weight:600;min-width:95px}.item-remark[data-v-0fe45884]{color:#6b7280;font-size:.9rem;flex:1}.attendance-item-actions[data-v-0fe45884]{display:flex;align-items:center;gap:.35rem}.item-course[data-v-0fe45884]{display:flex;flex-direction:column;min-width:160px;gap:.15rem}.course-name[data-v-0fe45884]{font-weight:600;color:#111827}.course-meta[data-v-0fe45884]{font-size:.8rem;color:#6b7280}.status-chip[data-v-0fe45884]{padding:.25rem .85rem;border-radius:999px;font-size:.85rem;font-weight:600}.status-present[data-v-0fe45884]{background:#dcfce7;color:#15803d}.status-leave[data-v-0fe45884]{background:#e0f2fe;color:#0369a1}.status-late[data-v-0fe45884]{background:#fff7ed;color:#c2410c}.status-absent[data-v-0fe45884]{background:#fee2e2;color:#b91c1c}.transfer-section[data-v-0fe45884]{border:1px solid #e5e7eb;background:#f9fafb}.transfer-desc[data-v-0fe45884]{margin-top:.5rem;margin-bottom:1rem;color:#4b5563;font-size:.9rem}.transfer-grid[data-v-0fe45884]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;align-items:end}.transfer-actions[data-v-0fe45884]{display:flex;gap:.75rem;flex-wrap:wrap}.transfer-note[data-v-0fe45884]{margin-top:1rem;font-size:.85rem;color:#6b7280}.grade-history-wrapper[data-v-0fe45884]{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 900px){.grade-history-wrapper[data-v-0fe45884]{flex-direction:row}}.history-panel[data-v-0fe45884]{flex:1;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;box-shadow:0 5px 15px #0f172a14}.history-panel-header[data-v-0fe45884]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.history-panel-header h5[data-v-0fe45884]{margin:0;font-size:1.1rem;color:#1f2937}.history-panel-header p[data-v-0fe45884]{margin:.25rem 0 0;color:#6b7280;font-size:.9rem}.history-count[data-v-0fe45884]{font-size:.85rem;color:#6b7280}.history-list[data-v-0fe45884]{display:flex;flex-direction:column;gap:1rem;max-height:320px;overflow-y:auto;padding-right:.5rem}.history-item[data-v-0fe45884]{border-left:4px solid #667eea;padding:.75rem 1rem;background:#f8faff;border-radius:8px}.history-main[data-v-0fe45884]{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.35rem}.history-course[data-v-0fe45884]{font-weight:600;color:#1f2937}.history-exam[data-v-0fe45884]{font-size:.9rem;color:#6b7280}.history-score[data-v-0fe45884]{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600}.history-meta[data-v-0fe45884]{display:flex;gap:1rem;font-size:.85rem;color:#6b7280;flex-wrap:wrap}.history-form-panel h5[data-v-0fe45884]{margin-top:0;margin-bottom:1rem}.form-row[data-v-0fe45884]{display:flex;flex-direction:column;gap:1rem}.form-row.two-cols[data-v-0fe45884]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.history-form-actions[data-v-0fe45884]{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.time-slots-view[data-v-3e9d5e7e]{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.view-header[data-v-3e9d5e7e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.view-header h2[data-v-3e9d5e7e]{font-size:1.8rem;color:#333}.time-slots-list[data-v-3e9d5e7e]{display:flex;flex-direction:column;gap:1rem}.time-slot-item[data-v-3e9d5e7e]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#f8f9fa;border-radius:8px;transition:all .3s}.time-slot-item[data-v-3e9d5e7e]:hover{background:#f0f0f0;transform:translate(4px)}.slot-info[data-v-3e9d5e7e]{flex:1}.slot-name[data-v-3e9d5e7e]{font-size:1.2rem;font-weight:600;color:#333;margin-bottom:.25rem}.slot-time[data-v-3e9d5e7e]{font-size:.95rem;color:#666}.slot-actions[data-v-3e9d5e7e]{display:flex;gap:.5rem}.btn[data-v-3e9d5e7e]{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:all .3s;cursor:pointer}.btn-primary[data-v-3e9d5e7e]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-3e9d5e7e]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-3e9d5e7e]{background:#6c757d;color:#fff}.btn-secondary[data-v-3e9d5e7e]:hover{background:#5a6268}.btn-danger[data-v-3e9d5e7e]{background:#dc3545;color:#fff}.btn-danger[data-v-3e9d5e7e]:hover{background:#c82333}.empty-state[data-v-3e9d5e7e]{text-align:center;padding:4rem 2rem;color:#999}.modal-overlay[data-v-3e9d5e7e]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-3e9d5e7e]{background:#fff;border-radius:8px;padding:2rem;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026}.modal h3[data-v-3e9d5e7e]{margin-bottom:1.5rem;color:#333}.form-group[data-v-3e9d5e7e]{margin-bottom:1.5rem}.form-group label[data-v-3e9d5e7e]{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input[data-v-3e9d5e7e]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input[data-v-3e9d5e7e]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-row[data-v-3e9d5e7e]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions[data-v-3e9d5e7e]{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.settings-view[data-v-c3e2c96f]{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.view-header[data-v-c3e2c96f]{margin-bottom:2rem}.view-header h2[data-v-c3e2c96f]{font-size:1.8rem;color:#333}.settings-sections[data-v-c3e2c96f]{display:flex;flex-direction:column;gap:2.5rem}.settings-section h3[data-v-c3e2c96f]{font-size:1.3rem;color:#555;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.section-header[data-v-c3e2c96f]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.settings-card[data-v-c3e2c96f]{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:1rem;transition:all .3s}.settings-card[data-v-c3e2c96f]:hover{background:#f0f0f0;box-shadow:0 2px 8px #0000001a}.card-description[data-v-c3e2c96f]{margin-bottom:1rem}.card-description p[data-v-c3e2c96f]{margin:0;color:#666;line-height:1.6}.card-actions[data-v-c3e2c96f]{display:flex;gap:1rem;flex-wrap:wrap}.btn[data-v-c3e2c96f]{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;transition:all .3s;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-sm[data-v-c3e2c96f]{padding:.35rem .85rem;font-size:.8rem}.btn-primary[data-v-c3e2c96f]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-c3e2c96f]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-c3e2c96f]{background:#6c757d;color:#fff}.btn-secondary[data-v-c3e2c96f]:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-danger[data-v-c3e2c96f]{background:#dc3545;color:#fff}.btn-danger[data-v-c3e2c96f]:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 4px 8px #dc35454d}.btn-file[data-v-c3e2c96f]{cursor:pointer}.stats-grid[data-v-c3e2c96f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.stat-item[data-v-c3e2c96f]{background:linear-gradient(135deg,#667eea10,#764ba210);border:2px solid #667eea30;border-radius:12px;padding:2rem 1.5rem;text-align:center;transition:all .3s}.stat-item[data-v-c3e2c96f]:hover{transform:translateY(-4px);box-shadow:0 8px 16px #667eea33;background:linear-gradient(135deg,#667eea20,#764ba220)}.theme-grid[data-v-c3e2c96f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.theme-button[data-v-c3e2c96f]{border:2px solid transparent;border-radius:16px;padding:1rem;background:var(--accent-soft, rgba(111, 125, 255, .1));color:var(--text-color, #333);display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;transition:all .3s}.theme-button[data-v-c3e2c96f]:hover{border-color:var(--accent-color, #667eea);transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.theme-button.active[data-v-c3e2c96f]{border-color:var(--accent-color, #667eea);background:#ffffff0d;box-shadow:0 4px 12px #00000026}.theme-chip[data-v-c3e2c96f]{width:48px;height:48px;border-radius:12px;border:2px solid rgba(0,0,0,.1)}.theme-label[data-v-c3e2c96f]{font-size:1.1rem;font-weight:600;color:var(--text-color, #333)}.theme-mode-tag[data-v-c3e2c96f]{font-size:.85rem;padding:.25rem .75rem;border-radius:999px;background:var(--chip-color, rgba(111, 125, 255, .15));color:var(--text-color, #333);font-weight:500}.layout-grid[data-v-c3e2c96f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.layout-option[data-v-c3e2c96f]{border:2px solid transparent;border-radius:18px;padding:1rem 1.25rem;background:#f5f7ff;text-align:left;display:flex;flex-direction:column;gap:.6rem;cursor:pointer;transition:all .3s;color:#1f2a44}.layout-option[data-v-c3e2c96f]:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 8px 16px #667eea33}.layout-option.active[data-v-c3e2c96f]{border-color:#667eea;background:#e9edff;box-shadow:0 10px 20px #667eea40}.layout-chip[data-v-c3e2c96f]{font-size:1rem;font-weight:600}.layout-desc[data-v-c3e2c96f]{font-size:.85rem;color:#556079}.stat-icon[data-v-c3e2c96f]{font-size:2.5rem;margin-bottom:.75rem}.stat-label[data-v-c3e2c96f]{font-size:.95rem;color:#666;margin-bottom:.5rem;font-weight:500}.stat-value[data-v-c3e2c96f]{font-size:2rem;font-weight:700;color:#667eea}.modal-overlay[data-v-c3e2c96f]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal[data-v-c3e2c96f]{background:#fff;border-radius:12px;padding:2.5rem;width:90%;max-width:700px;box-shadow:0 8px 32px #0003;max-height:90vh;overflow-y:auto}.modal h3[data-v-c3e2c96f]{margin-bottom:1.5rem;color:#333;font-size:1.4rem}.form-group[data-v-c3e2c96f]{margin-bottom:1.5rem}.form-group label[data-v-c3e2c96f]{display:block;margin-bottom:.75rem;color:#555;font-weight:500;font-size:1rem}.form-group input[data-v-c3e2c96f]{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:8px;font-size:.95rem;transition:all .3s}.form-group input[data-v-c3e2c96f]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-group textarea[data-v-c3e2c96f]{width:100%;padding:1rem;border:2px solid #ddd;border-radius:8px;font-size:.9rem;font-family:Courier New,monospace;resize:vertical;transition:all .3s}.form-group textarea[data-v-c3e2c96f]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-actions[data-v-c3e2c96f]{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.scheme-grid[data-v-c3e2c96f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.scheme-card[data-v-c3e2c96f]{border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;background:#fff;box-shadow:0 4px 12px #0f172a14}.scheme-card-header[data-v-c3e2c96f]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.scheme-card-header h4[data-v-c3e2c96f]{margin:0;font-size:1.1rem;color:#111827}.scheme-meta[data-v-c3e2c96f]{margin:.35rem 0 0;color:#6b7280;font-size:.9rem}.scheme-actions[data-v-c3e2c96f]{display:flex;gap:.5rem}.scheme-body[data-v-c3e2c96f]{display:flex;flex-direction:column;gap:.75rem}.scheme-subjects[data-v-c3e2c96f]{font-size:.95rem;color:#374151}.scheme-subjects .muted[data-v-c3e2c96f]{color:#9ca3af}.scheme-levels[data-v-c3e2c96f]{display:flex;flex-wrap:wrap;gap:.5rem}.level-pill[data-v-c3e2c96f]{padding:.35rem .75rem;border-radius:999px;border:1px solid;font-size:.85rem;display:inline-flex;align-items:center;gap:.35rem}.scheme-empty[data-v-c3e2c96f]{padding:1rem;color:#6b7280;font-style:italic}.scheme-subject-checkbox[data-v-c3e2c96f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;max-height:220px;overflow-y:auto;padding:.5rem;border:1px solid #e5e7eb;border-radius:8px}.checkbox-item[data-v-c3e2c96f]{display:flex;align-items:center;gap:.35rem;font-size:.9rem;color:#374151}.checkbox-inline[data-v-c3e2c96f]{display:flex;align-items:center;gap:.5rem}.checkbox-inline label[data-v-c3e2c96f]{margin:0;font-weight:400;color:#4b5563}.level-table[data-v-c3e2c96f]{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:.5rem}.level-row[data-v-c3e2c96f]{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr .8fr;gap:.5rem;padding:.5rem;align-items:center}.level-header[data-v-c3e2c96f]{background:#f3f4f6;font-weight:600;color:#4b5563}.level-row input[type=number][data-v-c3e2c96f],.level-row input[type=text][data-v-c3e2c96f]{width:100%;padding:.4rem .5rem;border:1px solid #d1d5db;border-radius:4px}.level-row input[type=color][data-v-c3e2c96f]{width:100%;height:36px;border:none;background:none}@media (max-width: 768px){.settings-view[data-v-c3e2c96f]{padding:1.5rem}.view-header h2[data-v-c3e2c96f]{font-size:1.5rem}.settings-sections[data-v-c3e2c96f]{gap:2rem}.settings-section h3[data-v-c3e2c96f]{font-size:1.2rem}.settings-card[data-v-c3e2c96f]{padding:1.25rem}.stats-grid[data-v-c3e2c96f]{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.stat-item[data-v-c3e2c96f]{padding:1.5rem 1rem}.stat-icon[data-v-c3e2c96f]{font-size:2rem}.stat-value[data-v-c3e2c96f]{font-size:1.5rem}.btn[data-v-c3e2c96f]{width:100%;justify-content:center}.card-actions[data-v-c3e2c96f]{flex-direction:column}}@media (max-width: 480px){.settings-view[data-v-c3e2c96f]{padding:1rem;border-radius:0}.view-header h2[data-v-c3e2c96f]{font-size:1.3rem}.stats-grid[data-v-c3e2c96f]{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-item[data-v-c3e2c96f]{padding:1rem}.stat-icon[data-v-c3e2c96f]{font-size:1.8rem}.stat-label[data-v-c3e2c96f]{font-size:.85rem}.stat-value[data-v-c3e2c96f]{font-size:1.3rem}.modal[data-v-c3e2c96f]{padding:1.5rem}}.schedule-view[data-v-bb6ddaa1]{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.view-header[data-v-bb6ddaa1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.view-header h2[data-v-bb6ddaa1]{font-size:1.8rem;color:#333}.header-actions[data-v-bb6ddaa1]{display:flex;gap:1rem}.schedule-controls[data-v-bb6ddaa1]{display:flex;gap:1.5rem;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px}.control-group[data-v-bb6ddaa1]{display:flex;align-items:center;gap:.5rem}.control-group label[data-v-bb6ddaa1]{font-weight:500;color:#555}.form-select[data-v-bb6ddaa1]{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;min-width:200px}.btn[data-v-bb6ddaa1]{padding:.5rem 1.5rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:all .3s;cursor:pointer}.btn[data-v-bb6ddaa1]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-bb6ddaa1]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-bb6ddaa1]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-bb6ddaa1]{background:#6c757d;color:#fff}.btn-secondary[data-v-bb6ddaa1]:hover{background:#5a6268}.btn-danger[data-v-bb6ddaa1]{background:#dc3545;color:#fff}.btn-danger[data-v-bb6ddaa1]:hover:not(:disabled){background:#c82333}.result-panel[data-v-bb6ddaa1]{margin-bottom:2rem;padding:1.5rem;border-radius:8px;background:#f8f9fa}.result-panel h3[data-v-bb6ddaa1]{margin-bottom:1rem;color:#333}.result-message[data-v-bb6ddaa1]{padding:1rem;border-radius:4px;font-weight:500}.result-message.success[data-v-bb6ddaa1]{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.result-message.error[data-v-bb6ddaa1]{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.result-details[data-v-bb6ddaa1]{margin-top:1rem}.result-details h4[data-v-bb6ddaa1]{margin-bottom:.5rem;color:#555}.result-details ul[data-v-bb6ddaa1]{list-style-position:inside;color:#666}.result-details li[data-v-bb6ddaa1]{margin-bottom:.25rem}.modal-overlay[data-v-bb6ddaa1]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-bb6ddaa1]{background:#fff;border-radius:8px;padding:2rem;width:90%;max-width:600px;box-shadow:0 4px 20px #00000026}.modal h3[data-v-bb6ddaa1]{margin-bottom:1.5rem;color:#333}.form-group[data-v-bb6ddaa1]{margin-bottom:1.5rem}.form-group label[data-v-bb6ddaa1]{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group textarea[data-v-bb6ddaa1]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:monospace;resize:vertical}.form-group textarea[data-v-bb6ddaa1]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-actions[data-v-bb6ddaa1]{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.info-panel[data-v-bb6ddaa1]{margin-top:2rem;padding:1.5rem;background:linear-gradient(135deg,#667eea10,#764ba210);border-radius:8px;border:1px solid #667eea20}.info-panel h3[data-v-bb6ddaa1]{margin-bottom:1rem;color:#333}.info-panel ol[data-v-bb6ddaa1]{margin-left:1.5rem;color:#555;line-height:1.8}.info-panel li[data-v-bb6ddaa1]{margin-bottom:.5rem}#app[data-v-eaf3edbc]{font-family:Segoe UI,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;min-height:100vh}.app-shell[data-v-eaf3edbc]{display:flex;min-height:100vh;background:var(--app-bg);color:var(--text-color);transition:background .4s ease,color .4s ease}.sidebar[data-v-eaf3edbc]{width:220px;padding:1.5rem 1.25rem;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:0;height:100vh;overflow-y:auto}.brand-block[data-v-eaf3edbc]{display:flex;gap:.85rem;align-items:center}.brand-avatar[data-v-eaf3edbc]{width:46px;height:46px;border-radius:16px;background:var(--accent-soft);color:var(--accent-color);font-weight:700;font-size:1.3rem;display:flex;align-items:center;justify-content:center}.brand-title[data-v-eaf3edbc]{margin:0;font-size:1.05rem;font-weight:700}.brand-subtitle[data-v-eaf3edbc]{margin:0;font-size:.8rem;color:var(--muted-text)}.nav-section-title[data-v-eaf3edbc]{margin:0 0 .4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-text)}.nav-items[data-v-eaf3edbc]{display:flex;flex-direction:column;gap:.4rem}.nav-item[data-v-eaf3edbc]{display:flex;gap:.65rem;align-items:center;padding:.65rem .75rem;border-radius:999px;text-decoration:none;color:inherit;border:1px solid transparent;background:transparent;transition:background .3s ease,border .3s ease,transform .2s ease}.nav-item[data-v-eaf3edbc]:hover{background:var(--accent-soft);border-color:var(--link-hover)}.nav-item.active[data-v-eaf3edbc]{background:var(--accent-color);color:#fff;border-color:transparent;transform:translate(4px)}.nav-icon[data-v-eaf3edbc]{font-size:1.1rem;width:24px;text-align:center}.nav-copy[data-v-eaf3edbc]{display:flex;flex-direction:column;line-height:1.1}.nav-label[data-v-eaf3edbc]{font-size:.92rem;font-weight:600}.nav-desc[data-v-eaf3edbc]{font-size:.74rem;opacity:.7}.content-area[data-v-eaf3edbc]{flex:1;padding:1.75rem 2.25rem;display:flex;flex-direction:column;gap:1.25rem}.compact .content-area[data-v-eaf3edbc]{padding:1.25rem 1.75rem}.content-header[data-v-eaf3edbc]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.75rem;border-radius:22px;background:var(--card-bg);box-shadow:0 18px 40px #0f172a1f}.header-left[data-v-eaf3edbc]{max-width:540px}.header-kicker[data-v-eaf3edbc]{margin:0;text-transform:uppercase;font-size:.68rem;letter-spacing:.15em;color:var(--muted-text)}.header-title[data-v-eaf3edbc]{margin:.3rem 0;font-size:1.6rem}.header-desc[data-v-eaf3edbc]{margin:0;color:var(--muted-text);line-height:1.5}.header-actions[data-v-eaf3edbc]{display:flex;align-items:center;gap:1rem;min-height:34px}.view-surface[data-v-eaf3edbc]{flex:1;background:var(--card-bg);border-radius:24px;padding:1.5rem;box-shadow:0 20px 45px #0f172a26;min-height:0}.mobile-topbar[data-v-eaf3edbc]{display:none}.mobile-backdrop[data-v-eaf3edbc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:20}@media (max-width: 1180px){.sidebar[data-v-eaf3edbc]{width:200px}}@media (max-width: 960px){.app-shell[data-v-eaf3edbc]{flex-direction:column}.mobile-topbar[data-v-eaf3edbc]{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;position:sticky;top:0;z-index:12;background:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-border)}.mobile-menu-btn[data-v-eaf3edbc]{width:42px;height:42px;border-radius:12px;border:1px solid var(--sidebar-border);background:var(--card-bg);display:flex;flex-direction:column;justify-content:center;gap:5px;padding:.5rem}.mobile-menu-btn span[data-v-eaf3edbc]{display:block;height:2px;width:100%;background:var(--text-color)}.mobile-page-info[data-v-eaf3edbc]{flex:1}.mobile-page-label[data-v-eaf3edbc]{margin:0;font-weight:600}.mobile-page-desc[data-v-eaf3edbc]{margin:0;font-size:.75rem;color:var(--muted-text)}.sidebar[data-v-eaf3edbc]{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);transition:transform .3s ease;width:260px;z-index:30}.sidebar.mobile-visible[data-v-eaf3edbc]{transform:translate(0)}.content-area[data-v-eaf3edbc]{padding:1rem}.content-header[data-v-eaf3edbc],.header-actions[data-v-eaf3edbc]{flex-direction:column;align-items:flex-start}}@media (max-width: 600px){.view-surface[data-v-eaf3edbc]{padding:1rem;border-radius:18px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}
