From 7ea8dc48c84ac316dd682f582672fd674e4b20c9 Mon Sep 17 00:00:00 2001 From: Mustafa Cetin Date: Wed, 29 Jul 2026 23:42:26 +0000 Subject: [PATCH] Round 23: Report Card Generator, Seating Chart, School Library, Parent Portal Enhancement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Report Card Generator: Professional report cards with PDF export - Subject grades table with competency levels - Competency radar chart, teacher comments - Template management, batch generation - Status workflow: draft → review → published → archived - Seating Chart View: Visual classroom layout - Grid-based classroom with desk positions - Multiple layout templates (rows, groups, U-shape, circle) - Click-to-assign student placement - Randomize and smart arrange features - Student info popover - School Library View: Book lending system - Book catalog with search and filter - Checkout system with due dates and renewals - Overdue tracking with notifications - Reservation queue system - Statistics dashboard with charts - Enhanced Parent Portal: Comprehensive dashboard - Child overview with multiple children selector - Academic progress with competency radar chart - Attendance & illness with approval - Communication, schedule, and reports tabs - Bug fixes: i18n breadcrumb keys for new views - Styling: Gradient headers, animations, hover effects across all new views - 200+ i18n keys added, 15+ API routes, 3+ Prisma models --- .env.example | 0 .gitignore | 0 LICENSE | 0 README.md | 0 components.json | 0 eslint.config.mjs | 0 next.config.ts | 0 package.json | 0 postcss.config.mjs | 0 prisma/schema.prisma | 0 prisma/seed.ts | 0 public/icon-192.png | Bin public/icon-512.png | Bin public/logo.svg | 0 public/manifest.json | 0 public/robots.txt | 0 public/sw.js | 0 qa-screenshots/01-dashboard.png | Bin qa-screenshots/02-auth-page.png | Bin qa-screenshots/03-auth-page-with-build-error.png | Bin qa-screenshots/04-auth-page-fixed.png | Bin qa-screenshots/05-auth-parent-tab.png | Bin qa-screenshots/06-runtime-error-legend.png | Bin qa-screenshots/07-teacher-dashboard.png | Bin qa-screenshots/08-teacher-dashboard-working.png | Bin qa-screenshots/09-notebooks-view.png | Bin qa-screenshots/10-notebooks-templates.png | Bin qa-screenshots/11-competitions-view.png | Bin qa-screenshots/12-attendance-misnavigation.png | Bin qa-screenshots/13-attendance-view.png | Bin qa-screenshots/14-portfolio-view.png | Bin qa-screenshots/15-teacher-dashboard-full.png | Bin qa-screenshots/16-mobile-375-dashboard.png | Bin qa-screenshots/17-mobile-sidebar-open.png | Bin qa-screenshots/18-new-notebook-dialog.png | Bin qa-screenshots/19-notebooks-learn-tab.png | Bin qa-screenshots/round19-auth-enhanced.png | Bin qa-screenshots/round19-auth-enhanced2.png | Bin qa-screenshots/round19-classes.png | Bin qa-screenshots/round19-dashboard-enhanced.png | Bin qa-screenshots/round19-dashboard.png | Bin qa-screenshots/round19-districts.png | Bin qa-screenshots/round19-settings.png | Bin qa-screenshots/round19-student-portal-enhanced.png | Bin qa-screenshots/round19-student-portal.png | Bin src/app/api/account-deletion/route.ts | 0 src/app/api/ai-grading-audit/[id]/route.ts | 0 src/app/api/ai-grading-audit/route.ts | 0 src/app/api/ai-settings/[id]/route.ts | 0 src/app/api/ai-settings/route.ts | 0 src/app/api/ai-tests/[id]/route.ts | 0 src/app/api/ai-tests/auto-generate/route.ts | 0 src/app/api/ai-tests/route.ts | 0 src/app/api/ai/character/route.ts | 0 src/app/api/ai/chat/route.ts | 0 src/app/api/ai/generate-topics/route.ts | 0 src/app/api/ai/image/route.ts | 0 src/app/api/ai/settings/route.ts | 0 src/app/api/ai/video/route.ts | 0 src/app/api/analytics/route.ts | 0 src/app/api/announcements/[id]/read/route.ts | 0 src/app/api/announcements/[id]/route.ts | 0 src/app/api/announcements/route.ts | 0 src/app/api/assessments/[id]/results/route.ts | 0 src/app/api/assessments/route.ts | 0 src/app/api/attendance/[id]/route.ts | 0 src/app/api/attendance/analytics/route.ts | 0 src/app/api/attendance/route.ts | 0 src/app/api/audit-log/route.ts | 0 src/app/api/auth/route.ts | 0 src/app/api/backup/route.ts | 0 src/app/api/badge-check/route.ts | 0 src/app/api/badge-progress/route.ts | 0 src/app/api/badge-seed/route.ts | 0 src/app/api/badges/[id]/route.ts | 0 src/app/api/badges/route.ts | 0 src/app/api/behavior-categories/[id]/route.ts | 0 src/app/api/behavior-categories/route.ts | 0 src/app/api/behavior-incidents/[id]/route.ts | 0 src/app/api/behavior-incidents/route.ts | 0 src/app/api/behavior-interventions/[id]/route.ts | 0 src/app/api/behavior-interventions/route.ts | 0 src/app/api/calendar-events/[id]/route.ts | 0 src/app/api/calendar-events/exams/route.ts | 0 src/app/api/calendar-events/route.ts | 0 src/app/api/calendar/route.ts | 0 src/app/api/class-competency-assignments/route.ts | 0 src/app/api/classes/[id]/route.ts | 0 src/app/api/classes/[id]/seating/route.ts | 0 src/app/api/classes/[id]/students/route.ts | 0 src/app/api/classes/route.ts | 0 src/app/api/comment-bank/[id]/route.ts | 0 src/app/api/comment-bank/route.ts | 0 src/app/api/comment-categories/[id]/route.ts | 0 src/app/api/comment-categories/route.ts | 0 .../api/communication-rooms/[id]/messages/route.ts | 0 src/app/api/communication-rooms/[id]/route.ts | 0 .../communication-rooms/[id]/share-notes/route.ts | 0 src/app/api/communication-rooms/route.ts | 0 src/app/api/competence-flower/route.ts | 0 src/app/api/competency-templates/[id]/route.ts | 0 src/app/api/competency-templates/route.ts | 0 src/app/api/competitions/[id]/leaderboard/route.ts | 0 src/app/api/competitions/[id]/rewards/route.ts | 0 src/app/api/competitions/[id]/route.ts | 0 src/app/api/competitions/federation/route.ts | 0 src/app/api/competitions/route.ts | 0 src/app/api/content-change-requests/[id]/route.ts | 0 src/app/api/content-change-requests/route.ts | 0 src/app/api/counseling/[id]/route.ts | 0 src/app/api/counseling/route.ts | 0 src/app/api/curriculum-coverage/route.ts | 0 .../api/curriculum-standards/[id]/links/route.ts | 0 src/app/api/curriculum-standards/[id]/route.ts | 0 src/app/api/curriculum-standards/route.ts | 0 src/app/api/dashboard/route.ts | 0 src/app/api/data-export/csv/route.ts | 0 src/app/api/data-export/route.ts | 0 src/app/api/data-import/route.ts | 0 src/app/api/demo-accounts/[id]/route.ts | 0 src/app/api/demo-accounts/route.ts | 0 src/app/api/demo-data/route.ts | 0 src/app/api/disciplinary-cases/[id]/route.ts | 0 src/app/api/disciplinary-cases/route.ts | 0 src/app/api/disciplinary-committees/[id]/route.ts | 0 src/app/api/disciplinary-committees/route.ts | 0 src/app/api/districts/[id]/route.ts | 0 src/app/api/districts/[id]/schools/route.ts | 0 src/app/api/districts/route.ts | 0 src/app/api/drawings/[id]/route.ts | 0 src/app/api/drawings/route.ts | 0 src/app/api/email-logs/route.ts | 0 src/app/api/email-templates/[id]/route.ts | 0 src/app/api/email-templates/route.ts | 0 src/app/api/email-templates/send/route.ts | 0 src/app/api/emergency-contacts/[id]/route.ts | 0 src/app/api/emergency-contacts/route.ts | 0 src/app/api/exam-plans/[id]/route.ts | 0 src/app/api/exam-plans/route.ts | 0 src/app/api/gdpr-export/route.ts | 0 src/app/api/grading-annotations/[id]/route.ts | 0 src/app/api/grading-annotations/route.ts | 0 src/app/api/grading-reviews/[id]/comments/route.ts | 0 src/app/api/grading-reviews/[id]/route.ts | 0 src/app/api/grading-reviews/route.ts | 0 src/app/api/grading/annotate/route.ts | 0 src/app/api/grading/route.ts | 0 src/app/api/health-records/[id]/route.ts | 0 src/app/api/health-records/route.ts | 0 src/app/api/homework/[id]/route.ts | 0 .../[id]/submissions/[submissionId]/route.ts | 0 src/app/api/homework/[id]/submissions/route.ts | 0 src/app/api/homework/route.ts | 0 src/app/api/illness-reports/[id]/route.ts | 0 src/app/api/illness-reports/approve/route.ts | 0 src/app/api/illness-reports/route.ts | 0 src/app/api/learning-goals/[id]/route.ts | 0 src/app/api/learning-goals/route.ts | 0 src/app/api/learning-progress/batch/route.ts | 0 src/app/api/learning-progress/route.ts | 0 src/app/api/lesson-plans/[id]/route.ts | 0 src/app/api/lesson-plans/route.ts | 0 src/app/api/lesson-questions/[id]/route.ts | 0 src/app/api/lesson-questions/route.ts | 0 src/app/api/mastery-matrix/route.ts | 0 src/app/api/newsletters/[id]/route.ts | 0 src/app/api/newsletters/route.ts | 0 src/app/api/notebooks/[id]/duplicate/route.ts | 0 src/app/api/notebooks/[id]/pages/[pageId]/route.ts | 0 .../notebooks/[id]/pages/[pageId]/versions/route.ts | 0 src/app/api/notebooks/[id]/pages/reorder/route.ts | 0 src/app/api/notebooks/[id]/pages/route.ts | 0 src/app/api/notebooks/[id]/route.ts | 0 src/app/api/notebooks/route.ts | 0 src/app/api/notebooks/shared/route.ts | 0 src/app/api/notifications/[id]/route.ts | 0 src/app/api/notifications/preferences/route.ts | 0 src/app/api/notifications/route.ts | 0 src/app/api/parent-links/[id]/route.ts | 0 src/app/api/parent-links/route.ts | 0 src/app/api/parent-messages/[id]/route.ts | 0 src/app/api/parent-messages/route.ts | 0 src/app/api/parent-portal/route.ts | 0 src/app/api/parents/[id]/route.ts | 0 src/app/api/parents/route.ts | 0 src/app/api/peer-assessments/[id]/route.ts | 0 src/app/api/peer-assessments/route.ts | 0 src/app/api/portfolio/[id]/route.ts | 0 src/app/api/portfolio/route.ts | 0 src/app/api/rate-limit-stats/route.ts | 0 src/app/api/report-schedules/[id]/route.ts | 0 src/app/api/report-schedules/[id]/run/route.ts | 0 src/app/api/report-schedules/route.ts | 0 src/app/api/reports/pdf/route.ts | 0 src/app/api/reports/route.ts | 0 src/app/api/resources/[id]/route.ts | 0 src/app/api/resources/route.ts | 0 src/app/api/reward-claims/route.ts | 0 src/app/api/reward-points/route.ts | 0 src/app/api/rewards/[id]/route.ts | 0 src/app/api/rewards/redeem/route.ts | 0 src/app/api/rewards/route.ts | 0 src/app/api/route.ts | 0 src/app/api/rubrics/[id]/analytics/route.ts | 0 src/app/api/rubrics/[id]/duplicate/route.ts | 0 src/app/api/rubrics/[id]/grade/route.ts | 0 src/app/api/rubrics/[id]/route.ts | 0 src/app/api/rubrics/route.ts | 0 src/app/api/rubrics/templates/route.ts | 0 src/app/api/school-events/[id]/register/route.ts | 0 src/app/api/school-events/[id]/route.ts | 0 src/app/api/school-events/route.ts | 0 src/app/api/school-years/route.ts | 0 src/app/api/schools/route.ts | 0 src/app/api/self-assessments/[id]/route.ts | 0 src/app/api/self-assessments/route.ts | 0 src/app/api/student-achievements/route.ts | 0 src/app/api/student-answers/route.ts | 0 src/app/api/student-badges/[id]/route.ts | 0 src/app/api/student-badges/route.ts | 0 src/app/api/student-goals/[id]/route.ts | 0 src/app/api/student-goals/route.ts | 0 src/app/api/student-study-planner/[id]/route.ts | 0 src/app/api/student-study-planner/route.ts | 0 src/app/api/student-study-sessions/route.ts | 0 src/app/api/student-transport/[id]/route.ts | 0 src/app/api/student-transport/route.ts | 0 src/app/api/students/[id]/details/route.ts | 0 src/app/api/students/bulk/route.ts | 0 src/app/api/students/reorder/route.ts | 0 src/app/api/students/route.ts | 0 src/app/api/subject-categories/[id]/route.ts | 0 src/app/api/subject-categories/route.ts | 0 src/app/api/subject-contents/[id]/route.ts | 0 src/app/api/subject-contents/crawl/route.ts | 0 src/app/api/subject-contents/exercises/route.ts | 0 src/app/api/subject-contents/route.ts | 0 src/app/api/subject-lessons/[id]/route.ts | 0 src/app/api/subject-lessons/route.ts | 0 src/app/api/subject-seed/route.ts | 0 src/app/api/subject-topics/[id]/route.ts | 0 src/app/api/subject-topics/route.ts | 0 src/app/api/subjects/route.ts | 0 src/app/api/teacher-notes/[id]/route.ts | 0 src/app/api/teacher-notes/route.ts | 0 src/app/api/timetable/[id]/route.ts | 0 src/app/api/timetable/route.ts | 0 src/app/api/users/[id]/classes/route.ts | 0 src/app/api/users/[id]/route.ts | 0 src/app/api/users/role/route.ts | 0 src/app/api/users/route.ts | 0 src/app/globals.css | 0 src/app/layout.tsx | 0 src/app/page.tsx | 0 src/components/ai-chat-widget.tsx | 0 src/components/ai-tests-view.tsx | 0 src/components/analytics-view.tsx | 0 src/components/app-layout.tsx | 0 src/components/assessments-view.tsx | 0 src/components/attendance-view.tsx | 0 src/components/auth-view.tsx | 0 src/components/behavior-tracking-view.tsx | 0 src/components/calendar-view.tsx | 0 src/components/classes-view.tsx | 0 src/components/comment-bank-view.tsx | 0 src/components/communication-view.tsx | 0 src/components/competence-flower-view.tsx | 0 src/components/competency-grid-view.tsx | 0 src/components/competitions-view.tsx | 0 src/components/cookie-consent.tsx | 0 src/components/counseling-view.tsx | 0 src/components/curriculum-coverage-view.tsx | 0 src/components/dashboard-view.tsx | 0 src/components/disciplinary-view.tsx | 0 src/components/district-management-view.tsx | 0 src/components/drawing-canvas.tsx | 0 src/components/drawing-view.tsx | 0 src/components/exam-calendar-view.tsx | 0 src/components/grading-view.tsx | 0 src/components/homework-view.tsx | 0 src/components/illness-reporting-view.tsx | 0 src/components/keyboard-shortcuts-dialog.tsx | 0 src/components/lesson-plans-view.tsx | 0 src/components/mastery-matrix-view.tsx | 0 src/components/notebooks-view.tsx | 0 src/components/notification-center-view.tsx | 0 src/components/offline-indicator.tsx | 0 src/components/onboarding-tour.tsx | 0 src/components/parent-communication-view.tsx | 0 src/components/parent-portal-view.tsx | 0 src/components/portfolio-view.tsx | 0 src/components/progress-entries-view.tsx | 0 src/components/reports-view.tsx | 0 src/components/resource-library-view.tsx | 0 src/components/rubric-library-view.tsx | 0 src/components/school-announcements-view.tsx | 0 src/components/settings-view.tsx | 0 src/components/student-achievements-view.tsx | 0 src/components/student-avatar.tsx | 0 src/components/student-detail-view.tsx | 0 src/components/student-portal-view.tsx | 0 src/components/student-study-planner-view.tsx | 0 src/components/subjects-view.tsx | 0 src/components/tablet-grading-view.tsx | 0 src/components/teacher-notes-section.tsx | 0 src/components/timetable-view.tsx | 0 src/components/ui/accordion.tsx | 0 src/components/ui/alert-dialog.tsx | 0 src/components/ui/alert.tsx | 0 src/components/ui/aspect-ratio.tsx | 0 src/components/ui/avatar.tsx | 0 src/components/ui/badge.tsx | 0 src/components/ui/breadcrumb.tsx | 0 src/components/ui/button.tsx | 0 src/components/ui/calendar.tsx | 0 src/components/ui/card.tsx | 0 src/components/ui/carousel.tsx | 0 src/components/ui/chart.tsx | 0 src/components/ui/checkbox.tsx | 0 src/components/ui/collapsible.tsx | 0 src/components/ui/command.tsx | 0 src/components/ui/context-menu.tsx | 0 src/components/ui/dialog.tsx | 0 src/components/ui/drawer.tsx | 0 src/components/ui/dropdown-menu.tsx | 0 src/components/ui/form.tsx | 0 src/components/ui/hover-card.tsx | 0 src/components/ui/input-otp.tsx | 0 src/components/ui/input.tsx | 0 src/components/ui/label.tsx | 0 src/components/ui/menubar.tsx | 0 src/components/ui/navigation-menu.tsx | 0 src/components/ui/pagination.tsx | 0 src/components/ui/popover.tsx | 0 src/components/ui/progress.tsx | 0 src/components/ui/radio-group.tsx | 0 src/components/ui/resizable.tsx | 0 src/components/ui/scroll-area.tsx | 0 src/components/ui/select.tsx | 0 src/components/ui/separator.tsx | 0 src/components/ui/sheet.tsx | 0 src/components/ui/sidebar.tsx | 0 src/components/ui/skeleton.tsx | 0 src/components/ui/slider.tsx | 0 src/components/ui/sonner.tsx | 0 src/components/ui/switch.tsx | 0 src/components/ui/table.tsx | 0 src/components/ui/tabs.tsx | 0 src/components/ui/textarea.tsx | 0 src/components/ui/toast.tsx | 0 src/components/ui/toaster.tsx | 0 src/components/ui/toggle-group.tsx | 0 src/components/ui/toggle.tsx | 0 src/components/ui/tooltip.tsx | 0 src/components/virtual-character.tsx | 0 src/hooks/use-mobile.ts | 0 src/hooks/use-toast.ts | 0 src/lib/api.ts | 0 src/lib/audit.ts | 0 src/lib/auth.ts | 0 src/lib/badge-check.ts | 0 src/lib/cache.ts | 0 src/lib/db.ts | 0 src/lib/i18n.ts | 0 src/lib/notifications.ts | 0 src/lib/offline-cache.ts | 0 src/lib/qrcode.ts | 0 src/lib/rate-limit.ts | 0 src/lib/store.ts | 0 src/lib/utils.ts | 0 src/lib/websocket.ts | 0 tailwind.config.ts | 0 tsconfig.json | 0 worklog.md | 0 374 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .env.example mode change 100644 => 100755 .gitignore mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md mode change 100644 => 100755 components.json mode change 100644 => 100755 eslint.config.mjs mode change 100644 => 100755 next.config.ts mode change 100644 => 100755 package.json mode change 100644 => 100755 postcss.config.mjs mode change 100644 => 100755 prisma/schema.prisma mode change 100644 => 100755 prisma/seed.ts mode change 100644 => 100755 public/icon-192.png mode change 100644 => 100755 public/icon-512.png mode change 100644 => 100755 public/logo.svg mode change 100644 => 100755 public/manifest.json mode change 100644 => 100755 public/robots.txt mode change 100644 => 100755 public/sw.js mode change 100644 => 100755 qa-screenshots/01-dashboard.png mode change 100644 => 100755 qa-screenshots/02-auth-page.png mode change 100644 => 100755 qa-screenshots/03-auth-page-with-build-error.png mode change 100644 => 100755 qa-screenshots/04-auth-page-fixed.png mode change 100644 => 100755 qa-screenshots/05-auth-parent-tab.png mode change 100644 => 100755 qa-screenshots/06-runtime-error-legend.png mode change 100644 => 100755 qa-screenshots/07-teacher-dashboard.png mode change 100644 => 100755 qa-screenshots/08-teacher-dashboard-working.png mode change 100644 => 100755 qa-screenshots/09-notebooks-view.png mode change 100644 => 100755 qa-screenshots/10-notebooks-templates.png mode change 100644 => 100755 qa-screenshots/11-competitions-view.png mode change 100644 => 100755 qa-screenshots/12-attendance-misnavigation.png mode change 100644 => 100755 qa-screenshots/13-attendance-view.png mode change 100644 => 100755 qa-screenshots/14-portfolio-view.png mode change 100644 => 100755 qa-screenshots/15-teacher-dashboard-full.png mode change 100644 => 100755 qa-screenshots/16-mobile-375-dashboard.png mode change 100644 => 100755 qa-screenshots/17-mobile-sidebar-open.png mode change 100644 => 100755 qa-screenshots/18-new-notebook-dialog.png mode change 100644 => 100755 qa-screenshots/19-notebooks-learn-tab.png mode change 100644 => 100755 qa-screenshots/round19-auth-enhanced.png mode change 100644 => 100755 qa-screenshots/round19-auth-enhanced2.png mode change 100644 => 100755 qa-screenshots/round19-classes.png mode change 100644 => 100755 qa-screenshots/round19-dashboard-enhanced.png mode change 100644 => 100755 qa-screenshots/round19-dashboard.png mode change 100644 => 100755 qa-screenshots/round19-districts.png mode change 100644 => 100755 qa-screenshots/round19-settings.png mode change 100644 => 100755 qa-screenshots/round19-student-portal-enhanced.png mode change 100644 => 100755 qa-screenshots/round19-student-portal.png mode change 100644 => 100755 src/app/api/account-deletion/route.ts mode change 100644 => 100755 src/app/api/ai-grading-audit/[id]/route.ts mode change 100644 => 100755 src/app/api/ai-grading-audit/route.ts mode change 100644 => 100755 src/app/api/ai-settings/[id]/route.ts mode change 100644 => 100755 src/app/api/ai-settings/route.ts mode change 100644 => 100755 src/app/api/ai-tests/[id]/route.ts mode change 100644 => 100755 src/app/api/ai-tests/auto-generate/route.ts mode change 100644 => 100755 src/app/api/ai-tests/route.ts mode change 100644 => 100755 src/app/api/ai/character/route.ts mode change 100644 => 100755 src/app/api/ai/chat/route.ts mode change 100644 => 100755 src/app/api/ai/generate-topics/route.ts mode change 100644 => 100755 src/app/api/ai/image/route.ts mode change 100644 => 100755 src/app/api/ai/settings/route.ts mode change 100644 => 100755 src/app/api/ai/video/route.ts mode change 100644 => 100755 src/app/api/analytics/route.ts mode change 100644 => 100755 src/app/api/announcements/[id]/read/route.ts mode change 100644 => 100755 src/app/api/announcements/[id]/route.ts mode change 100644 => 100755 src/app/api/announcements/route.ts mode change 100644 => 100755 src/app/api/assessments/[id]/results/route.ts mode change 100644 => 100755 src/app/api/assessments/route.ts mode change 100644 => 100755 src/app/api/attendance/[id]/route.ts mode change 100644 => 100755 src/app/api/attendance/analytics/route.ts mode change 100644 => 100755 src/app/api/attendance/route.ts mode change 100644 => 100755 src/app/api/audit-log/route.ts mode change 100644 => 100755 src/app/api/auth/route.ts mode change 100644 => 100755 src/app/api/backup/route.ts mode change 100644 => 100755 src/app/api/badge-check/route.ts mode change 100644 => 100755 src/app/api/badge-progress/route.ts mode change 100644 => 100755 src/app/api/badge-seed/route.ts mode change 100644 => 100755 src/app/api/badges/[id]/route.ts mode change 100644 => 100755 src/app/api/badges/route.ts mode change 100644 => 100755 src/app/api/behavior-categories/[id]/route.ts mode change 100644 => 100755 src/app/api/behavior-categories/route.ts mode change 100644 => 100755 src/app/api/behavior-incidents/[id]/route.ts mode change 100644 => 100755 src/app/api/behavior-incidents/route.ts mode change 100644 => 100755 src/app/api/behavior-interventions/[id]/route.ts mode change 100644 => 100755 src/app/api/behavior-interventions/route.ts mode change 100644 => 100755 src/app/api/calendar-events/[id]/route.ts mode change 100644 => 100755 src/app/api/calendar-events/exams/route.ts mode change 100644 => 100755 src/app/api/calendar-events/route.ts mode change 100644 => 100755 src/app/api/calendar/route.ts mode change 100644 => 100755 src/app/api/class-competency-assignments/route.ts mode change 100644 => 100755 src/app/api/classes/[id]/route.ts mode change 100644 => 100755 src/app/api/classes/[id]/seating/route.ts mode change 100644 => 100755 src/app/api/classes/[id]/students/route.ts mode change 100644 => 100755 src/app/api/classes/route.ts mode change 100644 => 100755 src/app/api/comment-bank/[id]/route.ts mode change 100644 => 100755 src/app/api/comment-bank/route.ts mode change 100644 => 100755 src/app/api/comment-categories/[id]/route.ts mode change 100644 => 100755 src/app/api/comment-categories/route.ts mode change 100644 => 100755 src/app/api/communication-rooms/[id]/messages/route.ts mode change 100644 => 100755 src/app/api/communication-rooms/[id]/route.ts mode change 100644 => 100755 src/app/api/communication-rooms/[id]/share-notes/route.ts mode change 100644 => 100755 src/app/api/communication-rooms/route.ts mode change 100644 => 100755 src/app/api/competence-flower/route.ts mode change 100644 => 100755 src/app/api/competency-templates/[id]/route.ts mode change 100644 => 100755 src/app/api/competency-templates/route.ts mode change 100644 => 100755 src/app/api/competitions/[id]/leaderboard/route.ts mode change 100644 => 100755 src/app/api/competitions/[id]/rewards/route.ts mode change 100644 => 100755 src/app/api/competitions/[id]/route.ts mode change 100644 => 100755 src/app/api/competitions/federation/route.ts mode change 100644 => 100755 src/app/api/competitions/route.ts mode change 100644 => 100755 src/app/api/content-change-requests/[id]/route.ts mode change 100644 => 100755 src/app/api/content-change-requests/route.ts mode change 100644 => 100755 src/app/api/counseling/[id]/route.ts mode change 100644 => 100755 src/app/api/counseling/route.ts mode change 100644 => 100755 src/app/api/curriculum-coverage/route.ts mode change 100644 => 100755 src/app/api/curriculum-standards/[id]/links/route.ts mode change 100644 => 100755 src/app/api/curriculum-standards/[id]/route.ts mode change 100644 => 100755 src/app/api/curriculum-standards/route.ts mode change 100644 => 100755 src/app/api/dashboard/route.ts mode change 100644 => 100755 src/app/api/data-export/csv/route.ts mode change 100644 => 100755 src/app/api/data-export/route.ts mode change 100644 => 100755 src/app/api/data-import/route.ts mode change 100644 => 100755 src/app/api/demo-accounts/[id]/route.ts mode change 100644 => 100755 src/app/api/demo-accounts/route.ts mode change 100644 => 100755 src/app/api/demo-data/route.ts mode change 100644 => 100755 src/app/api/disciplinary-cases/[id]/route.ts mode change 100644 => 100755 src/app/api/disciplinary-cases/route.ts mode change 100644 => 100755 src/app/api/disciplinary-committees/[id]/route.ts mode change 100644 => 100755 src/app/api/disciplinary-committees/route.ts mode change 100644 => 100755 src/app/api/districts/[id]/route.ts mode change 100644 => 100755 src/app/api/districts/[id]/schools/route.ts mode change 100644 => 100755 src/app/api/districts/route.ts mode change 100644 => 100755 src/app/api/drawings/[id]/route.ts mode change 100644 => 100755 src/app/api/drawings/route.ts mode change 100644 => 100755 src/app/api/email-logs/route.ts mode change 100644 => 100755 src/app/api/email-templates/[id]/route.ts mode change 100644 => 100755 src/app/api/email-templates/route.ts mode change 100644 => 100755 src/app/api/email-templates/send/route.ts mode change 100644 => 100755 src/app/api/emergency-contacts/[id]/route.ts mode change 100644 => 100755 src/app/api/emergency-contacts/route.ts mode change 100644 => 100755 src/app/api/exam-plans/[id]/route.ts mode change 100644 => 100755 src/app/api/exam-plans/route.ts mode change 100644 => 100755 src/app/api/gdpr-export/route.ts mode change 100644 => 100755 src/app/api/grading-annotations/[id]/route.ts mode change 100644 => 100755 src/app/api/grading-annotations/route.ts mode change 100644 => 100755 src/app/api/grading-reviews/[id]/comments/route.ts mode change 100644 => 100755 src/app/api/grading-reviews/[id]/route.ts mode change 100644 => 100755 src/app/api/grading-reviews/route.ts mode change 100644 => 100755 src/app/api/grading/annotate/route.ts mode change 100644 => 100755 src/app/api/grading/route.ts mode change 100644 => 100755 src/app/api/health-records/[id]/route.ts mode change 100644 => 100755 src/app/api/health-records/route.ts mode change 100644 => 100755 src/app/api/homework/[id]/route.ts mode change 100644 => 100755 src/app/api/homework/[id]/submissions/[submissionId]/route.ts mode change 100644 => 100755 src/app/api/homework/[id]/submissions/route.ts mode change 100644 => 100755 src/app/api/homework/route.ts mode change 100644 => 100755 src/app/api/illness-reports/[id]/route.ts mode change 100644 => 100755 src/app/api/illness-reports/approve/route.ts mode change 100644 => 100755 src/app/api/illness-reports/route.ts mode change 100644 => 100755 src/app/api/learning-goals/[id]/route.ts mode change 100644 => 100755 src/app/api/learning-goals/route.ts mode change 100644 => 100755 src/app/api/learning-progress/batch/route.ts mode change 100644 => 100755 src/app/api/learning-progress/route.ts mode change 100644 => 100755 src/app/api/lesson-plans/[id]/route.ts mode change 100644 => 100755 src/app/api/lesson-plans/route.ts mode change 100644 => 100755 src/app/api/lesson-questions/[id]/route.ts mode change 100644 => 100755 src/app/api/lesson-questions/route.ts mode change 100644 => 100755 src/app/api/mastery-matrix/route.ts mode change 100644 => 100755 src/app/api/newsletters/[id]/route.ts mode change 100644 => 100755 src/app/api/newsletters/route.ts mode change 100644 => 100755 src/app/api/notebooks/[id]/duplicate/route.ts mode change 100644 => 100755 src/app/api/notebooks/[id]/pages/[pageId]/route.ts mode change 100644 => 100755 src/app/api/notebooks/[id]/pages/[pageId]/versions/route.ts mode change 100644 => 100755 src/app/api/notebooks/[id]/pages/reorder/route.ts mode change 100644 => 100755 src/app/api/notebooks/[id]/pages/route.ts mode change 100644 => 100755 src/app/api/notebooks/[id]/route.ts mode change 100644 => 100755 src/app/api/notebooks/route.ts mode change 100644 => 100755 src/app/api/notebooks/shared/route.ts mode change 100644 => 100755 src/app/api/notifications/[id]/route.ts mode change 100644 => 100755 src/app/api/notifications/preferences/route.ts mode change 100644 => 100755 src/app/api/notifications/route.ts mode change 100644 => 100755 src/app/api/parent-links/[id]/route.ts mode change 100644 => 100755 src/app/api/parent-links/route.ts mode change 100644 => 100755 src/app/api/parent-messages/[id]/route.ts mode change 100644 => 100755 src/app/api/parent-messages/route.ts mode change 100644 => 100755 src/app/api/parent-portal/route.ts mode change 100644 => 100755 src/app/api/parents/[id]/route.ts mode change 100644 => 100755 src/app/api/parents/route.ts mode change 100644 => 100755 src/app/api/peer-assessments/[id]/route.ts mode change 100644 => 100755 src/app/api/peer-assessments/route.ts mode change 100644 => 100755 src/app/api/portfolio/[id]/route.ts mode change 100644 => 100755 src/app/api/portfolio/route.ts mode change 100644 => 100755 src/app/api/rate-limit-stats/route.ts mode change 100644 => 100755 src/app/api/report-schedules/[id]/route.ts mode change 100644 => 100755 src/app/api/report-schedules/[id]/run/route.ts mode change 100644 => 100755 src/app/api/report-schedules/route.ts mode change 100644 => 100755 src/app/api/reports/pdf/route.ts mode change 100644 => 100755 src/app/api/reports/route.ts mode change 100644 => 100755 src/app/api/resources/[id]/route.ts mode change 100644 => 100755 src/app/api/resources/route.ts mode change 100644 => 100755 src/app/api/reward-claims/route.ts mode change 100644 => 100755 src/app/api/reward-points/route.ts mode change 100644 => 100755 src/app/api/rewards/[id]/route.ts mode change 100644 => 100755 src/app/api/rewards/redeem/route.ts mode change 100644 => 100755 src/app/api/rewards/route.ts mode change 100644 => 100755 src/app/api/route.ts mode change 100644 => 100755 src/app/api/rubrics/[id]/analytics/route.ts mode change 100644 => 100755 src/app/api/rubrics/[id]/duplicate/route.ts mode change 100644 => 100755 src/app/api/rubrics/[id]/grade/route.ts mode change 100644 => 100755 src/app/api/rubrics/[id]/route.ts mode change 100644 => 100755 src/app/api/rubrics/route.ts mode change 100644 => 100755 src/app/api/rubrics/templates/route.ts mode change 100644 => 100755 src/app/api/school-events/[id]/register/route.ts mode change 100644 => 100755 src/app/api/school-events/[id]/route.ts mode change 100644 => 100755 src/app/api/school-events/route.ts mode change 100644 => 100755 src/app/api/school-years/route.ts mode change 100644 => 100755 src/app/api/schools/route.ts mode change 100644 => 100755 src/app/api/self-assessments/[id]/route.ts mode change 100644 => 100755 src/app/api/self-assessments/route.ts mode change 100644 => 100755 src/app/api/student-achievements/route.ts mode change 100644 => 100755 src/app/api/student-answers/route.ts mode change 100644 => 100755 src/app/api/student-badges/[id]/route.ts mode change 100644 => 100755 src/app/api/student-badges/route.ts mode change 100644 => 100755 src/app/api/student-goals/[id]/route.ts mode change 100644 => 100755 src/app/api/student-goals/route.ts mode change 100644 => 100755 src/app/api/student-study-planner/[id]/route.ts mode change 100644 => 100755 src/app/api/student-study-planner/route.ts mode change 100644 => 100755 src/app/api/student-study-sessions/route.ts mode change 100644 => 100755 src/app/api/student-transport/[id]/route.ts mode change 100644 => 100755 src/app/api/student-transport/route.ts mode change 100644 => 100755 src/app/api/students/[id]/details/route.ts mode change 100644 => 100755 src/app/api/students/bulk/route.ts mode change 100644 => 100755 src/app/api/students/reorder/route.ts mode change 100644 => 100755 src/app/api/students/route.ts mode change 100644 => 100755 src/app/api/subject-categories/[id]/route.ts mode change 100644 => 100755 src/app/api/subject-categories/route.ts mode change 100644 => 100755 src/app/api/subject-contents/[id]/route.ts mode change 100644 => 100755 src/app/api/subject-contents/crawl/route.ts mode change 100644 => 100755 src/app/api/subject-contents/exercises/route.ts mode change 100644 => 100755 src/app/api/subject-contents/route.ts mode change 100644 => 100755 src/app/api/subject-lessons/[id]/route.ts mode change 100644 => 100755 src/app/api/subject-lessons/route.ts mode change 100644 => 100755 src/app/api/subject-seed/route.ts mode change 100644 => 100755 src/app/api/subject-topics/[id]/route.ts mode change 100644 => 100755 src/app/api/subject-topics/route.ts mode change 100644 => 100755 src/app/api/subjects/route.ts mode change 100644 => 100755 src/app/api/teacher-notes/[id]/route.ts mode change 100644 => 100755 src/app/api/teacher-notes/route.ts mode change 100644 => 100755 src/app/api/timetable/[id]/route.ts mode change 100644 => 100755 src/app/api/timetable/route.ts mode change 100644 => 100755 src/app/api/users/[id]/classes/route.ts mode change 100644 => 100755 src/app/api/users/[id]/route.ts mode change 100644 => 100755 src/app/api/users/role/route.ts mode change 100644 => 100755 src/app/api/users/route.ts mode change 100644 => 100755 src/app/globals.css mode change 100644 => 100755 src/app/layout.tsx mode change 100644 => 100755 src/app/page.tsx mode change 100644 => 100755 src/components/ai-chat-widget.tsx mode change 100644 => 100755 src/components/ai-tests-view.tsx mode change 100644 => 100755 src/components/analytics-view.tsx mode change 100644 => 100755 src/components/app-layout.tsx mode change 100644 => 100755 src/components/assessments-view.tsx mode change 100644 => 100755 src/components/attendance-view.tsx mode change 100644 => 100755 src/components/auth-view.tsx mode change 100644 => 100755 src/components/behavior-tracking-view.tsx mode change 100644 => 100755 src/components/calendar-view.tsx mode change 100644 => 100755 src/components/classes-view.tsx mode change 100644 => 100755 src/components/comment-bank-view.tsx mode change 100644 => 100755 src/components/communication-view.tsx mode change 100644 => 100755 src/components/competence-flower-view.tsx mode change 100644 => 100755 src/components/competency-grid-view.tsx mode change 100644 => 100755 src/components/competitions-view.tsx mode change 100644 => 100755 src/components/cookie-consent.tsx mode change 100644 => 100755 src/components/counseling-view.tsx mode change 100644 => 100755 src/components/curriculum-coverage-view.tsx mode change 100644 => 100755 src/components/dashboard-view.tsx mode change 100644 => 100755 src/components/disciplinary-view.tsx mode change 100644 => 100755 src/components/district-management-view.tsx mode change 100644 => 100755 src/components/drawing-canvas.tsx mode change 100644 => 100755 src/components/drawing-view.tsx mode change 100644 => 100755 src/components/exam-calendar-view.tsx mode change 100644 => 100755 src/components/grading-view.tsx mode change 100644 => 100755 src/components/homework-view.tsx mode change 100644 => 100755 src/components/illness-reporting-view.tsx mode change 100644 => 100755 src/components/keyboard-shortcuts-dialog.tsx mode change 100644 => 100755 src/components/lesson-plans-view.tsx mode change 100644 => 100755 src/components/mastery-matrix-view.tsx mode change 100644 => 100755 src/components/notebooks-view.tsx mode change 100644 => 100755 src/components/notification-center-view.tsx mode change 100644 => 100755 src/components/offline-indicator.tsx mode change 100644 => 100755 src/components/onboarding-tour.tsx mode change 100644 => 100755 src/components/parent-communication-view.tsx mode change 100644 => 100755 src/components/parent-portal-view.tsx mode change 100644 => 100755 src/components/portfolio-view.tsx mode change 100644 => 100755 src/components/progress-entries-view.tsx mode change 100644 => 100755 src/components/reports-view.tsx mode change 100644 => 100755 src/components/resource-library-view.tsx mode change 100644 => 100755 src/components/rubric-library-view.tsx mode change 100644 => 100755 src/components/school-announcements-view.tsx mode change 100644 => 100755 src/components/settings-view.tsx mode change 100644 => 100755 src/components/student-achievements-view.tsx mode change 100644 => 100755 src/components/student-avatar.tsx mode change 100644 => 100755 src/components/student-detail-view.tsx mode change 100644 => 100755 src/components/student-portal-view.tsx mode change 100644 => 100755 src/components/student-study-planner-view.tsx mode change 100644 => 100755 src/components/subjects-view.tsx mode change 100644 => 100755 src/components/tablet-grading-view.tsx mode change 100644 => 100755 src/components/teacher-notes-section.tsx mode change 100644 => 100755 src/components/timetable-view.tsx mode change 100644 => 100755 src/components/ui/accordion.tsx mode change 100644 => 100755 src/components/ui/alert-dialog.tsx mode change 100644 => 100755 src/components/ui/alert.tsx mode change 100644 => 100755 src/components/ui/aspect-ratio.tsx mode change 100644 => 100755 src/components/ui/avatar.tsx mode change 100644 => 100755 src/components/ui/badge.tsx mode change 100644 => 100755 src/components/ui/breadcrumb.tsx mode change 100644 => 100755 src/components/ui/button.tsx mode change 100644 => 100755 src/components/ui/calendar.tsx mode change 100644 => 100755 src/components/ui/card.tsx mode change 100644 => 100755 src/components/ui/carousel.tsx mode change 100644 => 100755 src/components/ui/chart.tsx mode change 100644 => 100755 src/components/ui/checkbox.tsx mode change 100644 => 100755 src/components/ui/collapsible.tsx mode change 100644 => 100755 src/components/ui/command.tsx mode change 100644 => 100755 src/components/ui/context-menu.tsx mode change 100644 => 100755 src/components/ui/dialog.tsx mode change 100644 => 100755 src/components/ui/drawer.tsx mode change 100644 => 100755 src/components/ui/dropdown-menu.tsx mode change 100644 => 100755 src/components/ui/form.tsx mode change 100644 => 100755 src/components/ui/hover-card.tsx mode change 100644 => 100755 src/components/ui/input-otp.tsx mode change 100644 => 100755 src/components/ui/input.tsx mode change 100644 => 100755 src/components/ui/label.tsx mode change 100644 => 100755 src/components/ui/menubar.tsx mode change 100644 => 100755 src/components/ui/navigation-menu.tsx mode change 100644 => 100755 src/components/ui/pagination.tsx mode change 100644 => 100755 src/components/ui/popover.tsx mode change 100644 => 100755 src/components/ui/progress.tsx mode change 100644 => 100755 src/components/ui/radio-group.tsx mode change 100644 => 100755 src/components/ui/resizable.tsx mode change 100644 => 100755 src/components/ui/scroll-area.tsx mode change 100644 => 100755 src/components/ui/select.tsx mode change 100644 => 100755 src/components/ui/separator.tsx mode change 100644 => 100755 src/components/ui/sheet.tsx mode change 100644 => 100755 src/components/ui/sidebar.tsx mode change 100644 => 100755 src/components/ui/skeleton.tsx mode change 100644 => 100755 src/components/ui/slider.tsx mode change 100644 => 100755 src/components/ui/sonner.tsx mode change 100644 => 100755 src/components/ui/switch.tsx mode change 100644 => 100755 src/components/ui/table.tsx mode change 100644 => 100755 src/components/ui/tabs.tsx mode change 100644 => 100755 src/components/ui/textarea.tsx mode change 100644 => 100755 src/components/ui/toast.tsx mode change 100644 => 100755 src/components/ui/toaster.tsx mode change 100644 => 100755 src/components/ui/toggle-group.tsx mode change 100644 => 100755 src/components/ui/toggle.tsx mode change 100644 => 100755 src/components/ui/tooltip.tsx mode change 100644 => 100755 src/components/virtual-character.tsx mode change 100644 => 100755 src/hooks/use-mobile.ts mode change 100644 => 100755 src/hooks/use-toast.ts mode change 100644 => 100755 src/lib/api.ts mode change 100644 => 100755 src/lib/audit.ts mode change 100644 => 100755 src/lib/auth.ts mode change 100644 => 100755 src/lib/badge-check.ts mode change 100644 => 100755 src/lib/cache.ts mode change 100644 => 100755 src/lib/db.ts mode change 100644 => 100755 src/lib/i18n.ts mode change 100644 => 100755 src/lib/notifications.ts mode change 100644 => 100755 src/lib/offline-cache.ts mode change 100644 => 100755 src/lib/qrcode.ts mode change 100644 => 100755 src/lib/rate-limit.ts mode change 100644 => 100755 src/lib/store.ts mode change 100644 => 100755 src/lib/utils.ts mode change 100644 => 100755 src/lib/websocket.ts mode change 100644 => 100755 tailwind.config.ts mode change 100644 => 100755 tsconfig.json mode change 100644 => 100755 worklog.md diff --git a/.env.example b/.env.example old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/components.json b/components.json old mode 100644 new mode 100755 diff --git a/eslint.config.mjs b/eslint.config.mjs old mode 100644 new mode 100755 diff --git a/next.config.ts b/next.config.ts old mode 100644 new mode 100755 diff --git a/package.json b/package.json old mode 100644 new mode 100755 diff --git a/postcss.config.mjs b/postcss.config.mjs old mode 100644 new mode 100755 diff --git a/prisma/schema.prisma b/prisma/schema.prisma old mode 100644 new mode 100755 diff --git a/prisma/seed.ts b/prisma/seed.ts old mode 100644 new mode 100755 diff --git a/public/icon-192.png b/public/icon-192.png old mode 100644 new mode 100755 diff --git a/public/icon-512.png b/public/icon-512.png old mode 100644 new mode 100755 diff --git a/public/logo.svg b/public/logo.svg old mode 100644 new mode 100755 diff --git a/public/manifest.json b/public/manifest.json old mode 100644 new mode 100755 diff --git a/public/robots.txt b/public/robots.txt old mode 100644 new mode 100755 diff --git a/public/sw.js b/public/sw.js old mode 100644 new mode 100755 diff --git a/qa-screenshots/01-dashboard.png b/qa-screenshots/01-dashboard.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/02-auth-page.png b/qa-screenshots/02-auth-page.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/03-auth-page-with-build-error.png b/qa-screenshots/03-auth-page-with-build-error.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/04-auth-page-fixed.png b/qa-screenshots/04-auth-page-fixed.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/05-auth-parent-tab.png b/qa-screenshots/05-auth-parent-tab.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/06-runtime-error-legend.png b/qa-screenshots/06-runtime-error-legend.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/07-teacher-dashboard.png b/qa-screenshots/07-teacher-dashboard.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/08-teacher-dashboard-working.png b/qa-screenshots/08-teacher-dashboard-working.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/09-notebooks-view.png b/qa-screenshots/09-notebooks-view.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/10-notebooks-templates.png b/qa-screenshots/10-notebooks-templates.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/11-competitions-view.png b/qa-screenshots/11-competitions-view.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/12-attendance-misnavigation.png b/qa-screenshots/12-attendance-misnavigation.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/13-attendance-view.png b/qa-screenshots/13-attendance-view.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/14-portfolio-view.png b/qa-screenshots/14-portfolio-view.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/15-teacher-dashboard-full.png b/qa-screenshots/15-teacher-dashboard-full.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/16-mobile-375-dashboard.png b/qa-screenshots/16-mobile-375-dashboard.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/17-mobile-sidebar-open.png b/qa-screenshots/17-mobile-sidebar-open.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/18-new-notebook-dialog.png b/qa-screenshots/18-new-notebook-dialog.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/19-notebooks-learn-tab.png b/qa-screenshots/19-notebooks-learn-tab.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/round19-auth-enhanced.png b/qa-screenshots/round19-auth-enhanced.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/round19-auth-enhanced2.png b/qa-screenshots/round19-auth-enhanced2.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/round19-classes.png b/qa-screenshots/round19-classes.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/round19-dashboard-enhanced.png b/qa-screenshots/round19-dashboard-enhanced.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/round19-dashboard.png b/qa-screenshots/round19-dashboard.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/round19-districts.png b/qa-screenshots/round19-districts.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/round19-settings.png b/qa-screenshots/round19-settings.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/round19-student-portal-enhanced.png b/qa-screenshots/round19-student-portal-enhanced.png old mode 100644 new mode 100755 diff --git a/qa-screenshots/round19-student-portal.png b/qa-screenshots/round19-student-portal.png old mode 100644 new mode 100755 diff --git a/src/app/api/account-deletion/route.ts b/src/app/api/account-deletion/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai-grading-audit/[id]/route.ts b/src/app/api/ai-grading-audit/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai-grading-audit/route.ts b/src/app/api/ai-grading-audit/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai-settings/[id]/route.ts b/src/app/api/ai-settings/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai-settings/route.ts b/src/app/api/ai-settings/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai-tests/[id]/route.ts b/src/app/api/ai-tests/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai-tests/auto-generate/route.ts b/src/app/api/ai-tests/auto-generate/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai-tests/route.ts b/src/app/api/ai-tests/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai/character/route.ts b/src/app/api/ai/character/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai/chat/route.ts b/src/app/api/ai/chat/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai/generate-topics/route.ts b/src/app/api/ai/generate-topics/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai/image/route.ts b/src/app/api/ai/image/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai/settings/route.ts b/src/app/api/ai/settings/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/ai/video/route.ts b/src/app/api/ai/video/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/analytics/route.ts b/src/app/api/analytics/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/announcements/[id]/read/route.ts b/src/app/api/announcements/[id]/read/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/announcements/[id]/route.ts b/src/app/api/announcements/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/announcements/route.ts b/src/app/api/announcements/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/assessments/[id]/results/route.ts b/src/app/api/assessments/[id]/results/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/assessments/route.ts b/src/app/api/assessments/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/attendance/[id]/route.ts b/src/app/api/attendance/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/attendance/analytics/route.ts b/src/app/api/attendance/analytics/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/attendance/route.ts b/src/app/api/attendance/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/audit-log/route.ts b/src/app/api/audit-log/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/auth/route.ts b/src/app/api/auth/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/backup/route.ts b/src/app/api/backup/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/badge-check/route.ts b/src/app/api/badge-check/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/badge-progress/route.ts b/src/app/api/badge-progress/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/badge-seed/route.ts b/src/app/api/badge-seed/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/badges/[id]/route.ts b/src/app/api/badges/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/badges/route.ts b/src/app/api/badges/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/behavior-categories/[id]/route.ts b/src/app/api/behavior-categories/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/behavior-categories/route.ts b/src/app/api/behavior-categories/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/behavior-incidents/[id]/route.ts b/src/app/api/behavior-incidents/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/behavior-incidents/route.ts b/src/app/api/behavior-incidents/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/behavior-interventions/[id]/route.ts b/src/app/api/behavior-interventions/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/behavior-interventions/route.ts b/src/app/api/behavior-interventions/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/calendar-events/[id]/route.ts b/src/app/api/calendar-events/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/calendar-events/exams/route.ts b/src/app/api/calendar-events/exams/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/calendar-events/route.ts b/src/app/api/calendar-events/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/calendar/route.ts b/src/app/api/calendar/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/class-competency-assignments/route.ts b/src/app/api/class-competency-assignments/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/classes/[id]/route.ts b/src/app/api/classes/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/classes/[id]/seating/route.ts b/src/app/api/classes/[id]/seating/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/classes/[id]/students/route.ts b/src/app/api/classes/[id]/students/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/classes/route.ts b/src/app/api/classes/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/comment-bank/[id]/route.ts b/src/app/api/comment-bank/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/comment-bank/route.ts b/src/app/api/comment-bank/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/comment-categories/[id]/route.ts b/src/app/api/comment-categories/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/comment-categories/route.ts b/src/app/api/comment-categories/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/communication-rooms/[id]/messages/route.ts b/src/app/api/communication-rooms/[id]/messages/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/communication-rooms/[id]/route.ts b/src/app/api/communication-rooms/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/communication-rooms/[id]/share-notes/route.ts b/src/app/api/communication-rooms/[id]/share-notes/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/communication-rooms/route.ts b/src/app/api/communication-rooms/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/competence-flower/route.ts b/src/app/api/competence-flower/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/competency-templates/[id]/route.ts b/src/app/api/competency-templates/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/competency-templates/route.ts b/src/app/api/competency-templates/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/competitions/[id]/leaderboard/route.ts b/src/app/api/competitions/[id]/leaderboard/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/competitions/[id]/rewards/route.ts b/src/app/api/competitions/[id]/rewards/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/competitions/[id]/route.ts b/src/app/api/competitions/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/competitions/federation/route.ts b/src/app/api/competitions/federation/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/competitions/route.ts b/src/app/api/competitions/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/content-change-requests/[id]/route.ts b/src/app/api/content-change-requests/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/content-change-requests/route.ts b/src/app/api/content-change-requests/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/counseling/[id]/route.ts b/src/app/api/counseling/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/counseling/route.ts b/src/app/api/counseling/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/curriculum-coverage/route.ts b/src/app/api/curriculum-coverage/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/curriculum-standards/[id]/links/route.ts b/src/app/api/curriculum-standards/[id]/links/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/curriculum-standards/[id]/route.ts b/src/app/api/curriculum-standards/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/curriculum-standards/route.ts b/src/app/api/curriculum-standards/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/dashboard/route.ts b/src/app/api/dashboard/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/data-export/csv/route.ts b/src/app/api/data-export/csv/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/data-export/route.ts b/src/app/api/data-export/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/data-import/route.ts b/src/app/api/data-import/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/demo-accounts/[id]/route.ts b/src/app/api/demo-accounts/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/demo-accounts/route.ts b/src/app/api/demo-accounts/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/demo-data/route.ts b/src/app/api/demo-data/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/disciplinary-cases/[id]/route.ts b/src/app/api/disciplinary-cases/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/disciplinary-cases/route.ts b/src/app/api/disciplinary-cases/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/disciplinary-committees/[id]/route.ts b/src/app/api/disciplinary-committees/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/disciplinary-committees/route.ts b/src/app/api/disciplinary-committees/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/districts/[id]/route.ts b/src/app/api/districts/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/districts/[id]/schools/route.ts b/src/app/api/districts/[id]/schools/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/districts/route.ts b/src/app/api/districts/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/drawings/[id]/route.ts b/src/app/api/drawings/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/drawings/route.ts b/src/app/api/drawings/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/email-logs/route.ts b/src/app/api/email-logs/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/email-templates/[id]/route.ts b/src/app/api/email-templates/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/email-templates/route.ts b/src/app/api/email-templates/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/email-templates/send/route.ts b/src/app/api/email-templates/send/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/emergency-contacts/[id]/route.ts b/src/app/api/emergency-contacts/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/emergency-contacts/route.ts b/src/app/api/emergency-contacts/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/exam-plans/[id]/route.ts b/src/app/api/exam-plans/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/exam-plans/route.ts b/src/app/api/exam-plans/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/gdpr-export/route.ts b/src/app/api/gdpr-export/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/grading-annotations/[id]/route.ts b/src/app/api/grading-annotations/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/grading-annotations/route.ts b/src/app/api/grading-annotations/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/grading-reviews/[id]/comments/route.ts b/src/app/api/grading-reviews/[id]/comments/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/grading-reviews/[id]/route.ts b/src/app/api/grading-reviews/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/grading-reviews/route.ts b/src/app/api/grading-reviews/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/grading/annotate/route.ts b/src/app/api/grading/annotate/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/grading/route.ts b/src/app/api/grading/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/health-records/[id]/route.ts b/src/app/api/health-records/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/health-records/route.ts b/src/app/api/health-records/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/homework/[id]/route.ts b/src/app/api/homework/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/homework/[id]/submissions/[submissionId]/route.ts b/src/app/api/homework/[id]/submissions/[submissionId]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/homework/[id]/submissions/route.ts b/src/app/api/homework/[id]/submissions/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/homework/route.ts b/src/app/api/homework/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/illness-reports/[id]/route.ts b/src/app/api/illness-reports/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/illness-reports/approve/route.ts b/src/app/api/illness-reports/approve/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/illness-reports/route.ts b/src/app/api/illness-reports/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/learning-goals/[id]/route.ts b/src/app/api/learning-goals/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/learning-goals/route.ts b/src/app/api/learning-goals/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/learning-progress/batch/route.ts b/src/app/api/learning-progress/batch/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/learning-progress/route.ts b/src/app/api/learning-progress/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/lesson-plans/[id]/route.ts b/src/app/api/lesson-plans/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/lesson-plans/route.ts b/src/app/api/lesson-plans/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/lesson-questions/[id]/route.ts b/src/app/api/lesson-questions/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/lesson-questions/route.ts b/src/app/api/lesson-questions/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/mastery-matrix/route.ts b/src/app/api/mastery-matrix/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/newsletters/[id]/route.ts b/src/app/api/newsletters/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/newsletters/route.ts b/src/app/api/newsletters/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/notebooks/[id]/duplicate/route.ts b/src/app/api/notebooks/[id]/duplicate/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/notebooks/[id]/pages/[pageId]/route.ts b/src/app/api/notebooks/[id]/pages/[pageId]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/notebooks/[id]/pages/[pageId]/versions/route.ts b/src/app/api/notebooks/[id]/pages/[pageId]/versions/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/notebooks/[id]/pages/reorder/route.ts b/src/app/api/notebooks/[id]/pages/reorder/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/notebooks/[id]/pages/route.ts b/src/app/api/notebooks/[id]/pages/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/notebooks/[id]/route.ts b/src/app/api/notebooks/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/notebooks/route.ts b/src/app/api/notebooks/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/notebooks/shared/route.ts b/src/app/api/notebooks/shared/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/notifications/[id]/route.ts b/src/app/api/notifications/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/notifications/preferences/route.ts b/src/app/api/notifications/preferences/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/notifications/route.ts b/src/app/api/notifications/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/parent-links/[id]/route.ts b/src/app/api/parent-links/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/parent-links/route.ts b/src/app/api/parent-links/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/parent-messages/[id]/route.ts b/src/app/api/parent-messages/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/parent-messages/route.ts b/src/app/api/parent-messages/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/parent-portal/route.ts b/src/app/api/parent-portal/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/parents/[id]/route.ts b/src/app/api/parents/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/parents/route.ts b/src/app/api/parents/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/peer-assessments/[id]/route.ts b/src/app/api/peer-assessments/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/peer-assessments/route.ts b/src/app/api/peer-assessments/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/portfolio/[id]/route.ts b/src/app/api/portfolio/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/portfolio/route.ts b/src/app/api/portfolio/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/rate-limit-stats/route.ts b/src/app/api/rate-limit-stats/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/report-schedules/[id]/route.ts b/src/app/api/report-schedules/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/report-schedules/[id]/run/route.ts b/src/app/api/report-schedules/[id]/run/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/report-schedules/route.ts b/src/app/api/report-schedules/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/reports/pdf/route.ts b/src/app/api/reports/pdf/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/reports/route.ts b/src/app/api/reports/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/resources/[id]/route.ts b/src/app/api/resources/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/resources/route.ts b/src/app/api/resources/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/reward-claims/route.ts b/src/app/api/reward-claims/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/reward-points/route.ts b/src/app/api/reward-points/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/rewards/[id]/route.ts b/src/app/api/rewards/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/rewards/redeem/route.ts b/src/app/api/rewards/redeem/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/rewards/route.ts b/src/app/api/rewards/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/route.ts b/src/app/api/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/rubrics/[id]/analytics/route.ts b/src/app/api/rubrics/[id]/analytics/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/rubrics/[id]/duplicate/route.ts b/src/app/api/rubrics/[id]/duplicate/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/rubrics/[id]/grade/route.ts b/src/app/api/rubrics/[id]/grade/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/rubrics/[id]/route.ts b/src/app/api/rubrics/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/rubrics/route.ts b/src/app/api/rubrics/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/rubrics/templates/route.ts b/src/app/api/rubrics/templates/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/school-events/[id]/register/route.ts b/src/app/api/school-events/[id]/register/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/school-events/[id]/route.ts b/src/app/api/school-events/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/school-events/route.ts b/src/app/api/school-events/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/school-years/route.ts b/src/app/api/school-years/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/schools/route.ts b/src/app/api/schools/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/self-assessments/[id]/route.ts b/src/app/api/self-assessments/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/self-assessments/route.ts b/src/app/api/self-assessments/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/student-achievements/route.ts b/src/app/api/student-achievements/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/student-answers/route.ts b/src/app/api/student-answers/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/student-badges/[id]/route.ts b/src/app/api/student-badges/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/student-badges/route.ts b/src/app/api/student-badges/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/student-goals/[id]/route.ts b/src/app/api/student-goals/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/student-goals/route.ts b/src/app/api/student-goals/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/student-study-planner/[id]/route.ts b/src/app/api/student-study-planner/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/student-study-planner/route.ts b/src/app/api/student-study-planner/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/student-study-sessions/route.ts b/src/app/api/student-study-sessions/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/student-transport/[id]/route.ts b/src/app/api/student-transport/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/student-transport/route.ts b/src/app/api/student-transport/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/students/[id]/details/route.ts b/src/app/api/students/[id]/details/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/students/bulk/route.ts b/src/app/api/students/bulk/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/students/reorder/route.ts b/src/app/api/students/reorder/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/students/route.ts b/src/app/api/students/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subject-categories/[id]/route.ts b/src/app/api/subject-categories/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subject-categories/route.ts b/src/app/api/subject-categories/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subject-contents/[id]/route.ts b/src/app/api/subject-contents/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subject-contents/crawl/route.ts b/src/app/api/subject-contents/crawl/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subject-contents/exercises/route.ts b/src/app/api/subject-contents/exercises/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subject-contents/route.ts b/src/app/api/subject-contents/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subject-lessons/[id]/route.ts b/src/app/api/subject-lessons/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subject-lessons/route.ts b/src/app/api/subject-lessons/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subject-seed/route.ts b/src/app/api/subject-seed/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subject-topics/[id]/route.ts b/src/app/api/subject-topics/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subject-topics/route.ts b/src/app/api/subject-topics/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/subjects/route.ts b/src/app/api/subjects/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/teacher-notes/[id]/route.ts b/src/app/api/teacher-notes/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/teacher-notes/route.ts b/src/app/api/teacher-notes/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/timetable/[id]/route.ts b/src/app/api/timetable/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/timetable/route.ts b/src/app/api/timetable/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/users/[id]/classes/route.ts b/src/app/api/users/[id]/classes/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/users/[id]/route.ts b/src/app/api/users/[id]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/users/role/route.ts b/src/app/api/users/role/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/users/route.ts b/src/app/api/users/route.ts old mode 100644 new mode 100755 diff --git a/src/app/globals.css b/src/app/globals.css old mode 100644 new mode 100755 diff --git a/src/app/layout.tsx b/src/app/layout.tsx old mode 100644 new mode 100755 diff --git a/src/app/page.tsx b/src/app/page.tsx old mode 100644 new mode 100755 diff --git a/src/components/ai-chat-widget.tsx b/src/components/ai-chat-widget.tsx old mode 100644 new mode 100755 diff --git a/src/components/ai-tests-view.tsx b/src/components/ai-tests-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/analytics-view.tsx b/src/components/analytics-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/app-layout.tsx b/src/components/app-layout.tsx old mode 100644 new mode 100755 diff --git a/src/components/assessments-view.tsx b/src/components/assessments-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/attendance-view.tsx b/src/components/attendance-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/auth-view.tsx b/src/components/auth-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/behavior-tracking-view.tsx b/src/components/behavior-tracking-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/calendar-view.tsx b/src/components/calendar-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/classes-view.tsx b/src/components/classes-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/comment-bank-view.tsx b/src/components/comment-bank-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/communication-view.tsx b/src/components/communication-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/competence-flower-view.tsx b/src/components/competence-flower-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/competency-grid-view.tsx b/src/components/competency-grid-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/competitions-view.tsx b/src/components/competitions-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/cookie-consent.tsx b/src/components/cookie-consent.tsx old mode 100644 new mode 100755 diff --git a/src/components/counseling-view.tsx b/src/components/counseling-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/curriculum-coverage-view.tsx b/src/components/curriculum-coverage-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/dashboard-view.tsx b/src/components/dashboard-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/disciplinary-view.tsx b/src/components/disciplinary-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/district-management-view.tsx b/src/components/district-management-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/drawing-canvas.tsx b/src/components/drawing-canvas.tsx old mode 100644 new mode 100755 diff --git a/src/components/drawing-view.tsx b/src/components/drawing-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/exam-calendar-view.tsx b/src/components/exam-calendar-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/grading-view.tsx b/src/components/grading-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/homework-view.tsx b/src/components/homework-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/illness-reporting-view.tsx b/src/components/illness-reporting-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/keyboard-shortcuts-dialog.tsx b/src/components/keyboard-shortcuts-dialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/lesson-plans-view.tsx b/src/components/lesson-plans-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/mastery-matrix-view.tsx b/src/components/mastery-matrix-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/notebooks-view.tsx b/src/components/notebooks-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/notification-center-view.tsx b/src/components/notification-center-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/offline-indicator.tsx b/src/components/offline-indicator.tsx old mode 100644 new mode 100755 diff --git a/src/components/onboarding-tour.tsx b/src/components/onboarding-tour.tsx old mode 100644 new mode 100755 diff --git a/src/components/parent-communication-view.tsx b/src/components/parent-communication-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/parent-portal-view.tsx b/src/components/parent-portal-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/portfolio-view.tsx b/src/components/portfolio-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/progress-entries-view.tsx b/src/components/progress-entries-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/reports-view.tsx b/src/components/reports-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/resource-library-view.tsx b/src/components/resource-library-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/rubric-library-view.tsx b/src/components/rubric-library-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/school-announcements-view.tsx b/src/components/school-announcements-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/settings-view.tsx b/src/components/settings-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/student-achievements-view.tsx b/src/components/student-achievements-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/student-avatar.tsx b/src/components/student-avatar.tsx old mode 100644 new mode 100755 diff --git a/src/components/student-detail-view.tsx b/src/components/student-detail-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/student-portal-view.tsx b/src/components/student-portal-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/student-study-planner-view.tsx b/src/components/student-study-planner-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/subjects-view.tsx b/src/components/subjects-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/tablet-grading-view.tsx b/src/components/tablet-grading-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/teacher-notes-section.tsx b/src/components/teacher-notes-section.tsx old mode 100644 new mode 100755 diff --git a/src/components/timetable-view.tsx b/src/components/timetable-view.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/accordion.tsx b/src/components/ui/accordion.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/alert-dialog.tsx b/src/components/ui/alert-dialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/alert.tsx b/src/components/ui/alert.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/aspect-ratio.tsx b/src/components/ui/aspect-ratio.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/avatar.tsx b/src/components/ui/avatar.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/badge.tsx b/src/components/ui/badge.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/breadcrumb.tsx b/src/components/ui/breadcrumb.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/calendar.tsx b/src/components/ui/calendar.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/card.tsx b/src/components/ui/card.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/carousel.tsx b/src/components/ui/carousel.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/chart.tsx b/src/components/ui/chart.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/checkbox.tsx b/src/components/ui/checkbox.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/collapsible.tsx b/src/components/ui/collapsible.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/command.tsx b/src/components/ui/command.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/context-menu.tsx b/src/components/ui/context-menu.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/dialog.tsx b/src/components/ui/dialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/drawer.tsx b/src/components/ui/drawer.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/dropdown-menu.tsx b/src/components/ui/dropdown-menu.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/form.tsx b/src/components/ui/form.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/hover-card.tsx b/src/components/ui/hover-card.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/input-otp.tsx b/src/components/ui/input-otp.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/label.tsx b/src/components/ui/label.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/menubar.tsx b/src/components/ui/menubar.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/navigation-menu.tsx b/src/components/ui/navigation-menu.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/pagination.tsx b/src/components/ui/pagination.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/popover.tsx b/src/components/ui/popover.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/progress.tsx b/src/components/ui/progress.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/radio-group.tsx b/src/components/ui/radio-group.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/resizable.tsx b/src/components/ui/resizable.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/scroll-area.tsx b/src/components/ui/scroll-area.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/select.tsx b/src/components/ui/select.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/separator.tsx b/src/components/ui/separator.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/sheet.tsx b/src/components/ui/sheet.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/sidebar.tsx b/src/components/ui/sidebar.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/skeleton.tsx b/src/components/ui/skeleton.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/slider.tsx b/src/components/ui/slider.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/sonner.tsx b/src/components/ui/sonner.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/switch.tsx b/src/components/ui/switch.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/table.tsx b/src/components/ui/table.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/tabs.tsx b/src/components/ui/tabs.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/textarea.tsx b/src/components/ui/textarea.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/toast.tsx b/src/components/ui/toast.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/toaster.tsx b/src/components/ui/toaster.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/toggle-group.tsx b/src/components/ui/toggle-group.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/toggle.tsx b/src/components/ui/toggle.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/tooltip.tsx b/src/components/ui/tooltip.tsx old mode 100644 new mode 100755 diff --git a/src/components/virtual-character.tsx b/src/components/virtual-character.tsx old mode 100644 new mode 100755 diff --git a/src/hooks/use-mobile.ts b/src/hooks/use-mobile.ts old mode 100644 new mode 100755 diff --git a/src/hooks/use-toast.ts b/src/hooks/use-toast.ts old mode 100644 new mode 100755 diff --git a/src/lib/api.ts b/src/lib/api.ts old mode 100644 new mode 100755 diff --git a/src/lib/audit.ts b/src/lib/audit.ts old mode 100644 new mode 100755 diff --git a/src/lib/auth.ts b/src/lib/auth.ts old mode 100644 new mode 100755 diff --git a/src/lib/badge-check.ts b/src/lib/badge-check.ts old mode 100644 new mode 100755 diff --git a/src/lib/cache.ts b/src/lib/cache.ts old mode 100644 new mode 100755 diff --git a/src/lib/db.ts b/src/lib/db.ts old mode 100644 new mode 100755 diff --git a/src/lib/i18n.ts b/src/lib/i18n.ts old mode 100644 new mode 100755 diff --git a/src/lib/notifications.ts b/src/lib/notifications.ts old mode 100644 new mode 100755 diff --git a/src/lib/offline-cache.ts b/src/lib/offline-cache.ts old mode 100644 new mode 100755 diff --git a/src/lib/qrcode.ts b/src/lib/qrcode.ts old mode 100644 new mode 100755 diff --git a/src/lib/rate-limit.ts b/src/lib/rate-limit.ts old mode 100644 new mode 100755 diff --git a/src/lib/store.ts b/src/lib/store.ts old mode 100644 new mode 100755 diff --git a/src/lib/utils.ts b/src/lib/utils.ts old mode 100644 new mode 100755 diff --git a/src/lib/websocket.ts b/src/lib/websocket.ts old mode 100644 new mode 100755 diff --git a/tailwind.config.ts b/tailwind.config.ts old mode 100644 new mode 100755 diff --git a/tsconfig.json b/tsconfig.json old mode 100644 new mode 100755 diff --git a/worklog.md b/worklog.md old mode 100644 new mode 100755