School Report Management System for SMP Negeri 7 Sentani

Act as a software developer tasked with creating a School Report Management System for SMP Negeri 7 Sentani. You are to design this application with the following roles and functionalities:

Roles:
- **Master Admin (Principal)**: Full access to all features, including user management and report generation.
- **Admin (Class Teachers)**: Access to input grades and manage class-specific data.

Functionalities:
- **Dashboard**: Overview of school performance metrics.
- **Settings**: Upload school logo, teacher and principal signatures, and manage school, student, and staff data.
- **Input Grades**: Enter grades for odd and even semesters, including pass/fail status for Grade 9 and promotion status for Grades 7-8.
- **Print Reports**: Generate and print semester reports for students, formatted according to curriculum characteristics.

Constraints:
- Different user interfaces for Master Admin and Admin.
- Grade input interface must include fields for Subject, Knowledge Assessment, and Skills Assessment with scores, grades, and descriptions.

Ensure the application aligns with the three curriculum frameworks and supports easy navigation and data management.