body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-page{align-items:center;background-color:#f5f5f5;color:#212121;font-family:Poppins,Arial,sans-serif;gap:80px;height:100vh;padding:0 20px}.left-section,.login-page{display:flex;justify-content:center}.left-section{flex-direction:column;max-width:450px;text-align:left}.site-name{color:blue;font-size:2rlh;font-weight:700;margin:0 0 3px}.left-content{display:flex;flex-direction:column;justify-content:center}.headline{color:#212121;font-size:2.5rem;font-weight:700;margin-bottom:20px}.description{color:#424242;font-size:1rem;line-height:1.5}.right-section{align-items:center;display:flex;justify-content:center;max-width:400px}.login-box{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;color:#212121;padding:40px;text-align:center;width:100%}.login-title{color:#ff6f61;font-size:1.5rem;font-weight:700;margin-bottom:20px}.login-box input{border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:15px;outline:none;padding:12px 10px;width:100%}.btn-login{background-color:blue;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:12px;transition:background .3s;width:100%}.btn-login:hover{background-color:#ff8555}.forgot-link{color:#ff6f61;display:block;font-size:.9rem;margin-top:12px;text-decoration:none}.forgot-link:hover{text-decoration:underline}.divider{border:.5px solid #e0e0e0;margin:20px 0}.btn-create{background-color:#948f8122;border:none;border-radius:8px;color:grey;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 20px;transition:background .3s}.btn-create:hover{background-color:#ff8555}.create-page{font-size:.9rem;margin-top:15px}.create-page a{color:#ff6f61;font-weight:700;text-decoration:none}.create-page a:hover{text-decoration:underline}@media (max-width:900px){.login-page{flex-direction:column;gap:40px;text-align:center}.left-section,.right-section{align-items:center;max-width:100%;width:90%}.left-content{text-align:center}.login-box{width:100%}}body{background-color:#f5f5f5;font-family:Poppins,Arial,Helvetica,sans-serif;margin:0;padding:0}.register-container{align-items:center;display:flex;flex-direction:column;justify-content:flex-start;min-height:90vh;padding-top:20px}.logo-section{margin-bottom:20px;text-align:center}.logo{color:blue;font-size:42px;font-weight:700;margin-bottom:10px}.tagline{color:#212121;font-size:16px;margin:0 auto;max-width:400px;text-align:center}.form-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;max-width:420px;padding:30px 40px;text-align:left;width:100%}.form-section h2{color:blue;font-size:26px;margin-bottom:10px;text-align:start}.form-section p{color:#424242;margin-bottom:15px;text-align:center}.name-inputs{display:flex;gap:10px}input,select{border:1px solid #e0e0e0;border-radius:8px;font-size:16px;margin:6px 0;outline:none;padding:12px;width:100%}label{color:#606770;display:block;font-size:14px;margin-top:8px}.birthday-container{display:flex;gap:10px;justify-content:space-between}.birthday-container select{flex:1 1}.gender-options{display:flex;gap:10px;justify-content:space-between}.gender-options label{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;flex:1 1;padding:10px;text-align:center;transition:background .2s,border-color .2s,color .2s}.gender-options input:checked+label{background-color:#ffb266;border-color:#ff6f61;color:#fff}.info-text{color:#777;font-size:12px;margin-top:10px}.signup-btn{background-color:blue;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;margin-top:15px;padding:12px;transition:background .3s,transform .2s;width:100%}.signup-btn:hover{background-color:blue;transform:translateY(-2px)}.login-link{margin-top:15px;text-align:center}.login-link a{color:#ff6f61;font-size:16px;text-decoration:none}.login-link a:hover{text-decoration:underline}.birthday{display:flex;gap:6px;justify-content:space-between}.birthday-input{border:1px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:16px;padding:10px}@media (max-width:600px){.form-section{padding:20px;width:90%}.register-container{padding-top:10px}}.form-header{align-items:start;margin-bottom:20px}.back-arrow{align-items:start;color:#1e3a8a;cursor:pointer;display:flex;font-size:1.2rem;transition:color .2s}.back-arrow:hover{color:#0d2c91}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mobile-overlay{background:#00000059;inset:0;z-index:99}.sidebar{transition:width .3s ease,left .3s ease;z-index:100}.website-icon-mini{font-size:1.6rem}.sidebar-menu li{gap:12px}.sidebar-menu li span{font-size:.95rem}.sidebar-menu li:hover{background:#ffffff1f}.sidebar-footer{padding:16px 20px}.user-avatar{font-size:1.8rem}.user-info-sidebar{font-size:.75rem}.main-header{border-bottom:1px solid #e5e7eb;box-shadow:0 2px 4px #00000014;height:56px}.header-left{gap:14px}.menu-toggle{font-size:1.3rem}.header-left h2{color:#1e3a8a;font-size:1.1rem;font-weight:700;margin:0}.logout-btn,.notification-btn{background:none;border:none;cursor:pointer;font-size:1.1rem}.logout-btn{color:#ef4444}.section-header h3{color:#111827;font-size:1.1rem;font-weight:700;margin-bottom:16px}.features-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature-card{align-items:center;background:#fff;border-left:5px solid #0000;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-3px)}.feature-icon{font-size:1.6rem}.feature-content h4{color:#111827;font-size:.95rem;font-weight:600;margin:0}.dashboard-container.loading{align-items:center;color:#374151;display:flex;font-size:1.1rem;height:100vh;justify-content:center}@media (max-width:768px){.sidebar{height:100%;left:-250px;position:fixed}.sidebar.mobile-open{left:0}.collapse-toggle{display:none}.main-content-wrapper{padding-top:56px}}.student-count-display .count-number{align-items:center;background:linear-gradient(135deg,#2196f3,#1976d2);border:3px solid #e3f2fd;border-radius:50%;box-shadow:0 4px 10px #2196f366;color:#fff;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;margin:0 auto 10px;width:60px}.admin-dashboard{background:#f5f6fa;display:flex;font-family:Segoe UI,sans-serif;height:100vh}.sidebar{padding:20px;transition:width .3s}.sidebar-menu li{padding:10px 0}.sidebar-menu li:hover{background:#ffffff1a}.sidebar-footer{gap:10px}.collapse-toggle{margin-left:auto}.main-header{padding:20px}.main-header h2{color:#1e3a8a;margin:0}.classes-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:20px}.class-card{align-items:flex-start;border-left:5px solid #1e90ff;display:flex;flex-direction:column;padding:15px}.class-card:hover{box-shadow:0 4px 10px #0000001a;transform:translateY(-3px)}.class-icon{font-size:2rem;margin-bottom:10px}.class-number{color:#1e90ff;font-weight:700}.class-subject{font-size:1.1rem;font-weight:700;margin:2px 0}.class-form{color:#555;font-size:.9rem}.section-header h3{color:#1e3a8a;margin-bottom:10px}.website-name{font-size:1.2rem}.student-card{border-left:5px solid #1e90ff;border-radius:8px;cursor:pointer;margin-top:20px;padding:15px;transition:transform .2s,box-shadow .2s}.student-card:hover{box-shadow:0 4px 10px #0000001a;transform:translateY(-3px)}.student-card .student-table{border-collapse:collapse;width:100%}.student-card .student-table td,.student-card .student-table th{border-bottom:1px solid #dfe4ea;padding:10px 12px;text-align:left}.student-card .student-table th{background-color:#e6f0ff;color:#1e90ff;font-weight:600}.student-card .student-table td{color:#000}.student-card .student-table tr:hover{background-color:#f0f8ff}.add-student-btn,.bulk-enrol-btn{align-items:center;border:none;border-radius:50%;bottom:25px;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;display:flex;font-size:24px;height:55px;justify-content:center;position:fixed;transition:background .2s;width:55px}.add-student-btn{background-color:#1e90ff;right:25px}.add-student-btn:hover{background-color:#07c}.bulk-enrol-btn{background-color:#4caf50;right:90px}.bulk-enrol-btn:hover{background-color:#388e3c}@media (max-width:768px){.sidebar{height:100%;left:-250px;position:fixed;top:0;transition:left .3s ease;width:250px;z-index:1000}.sidebar.mobile-open{left:0}.mobile-close-btn{display:flex}.main-content-wrapper{padding-top:60px}.student-card .student-table td,.student-card .student-table th{font-size:.9rem;padding:8px}}.lessons-list{flex-wrap:wrap;justify-content:center}.lesson-card{cursor:pointer;flex:1 1 250px;text-align:center}.top-nav .menu-links a{color:#333;padding:6px 10px}.welcome-box{margin:80px auto;padding:40px}.welcome-box h1{margin-bottom:20px}@media screen and (max-width:768px){.top-nav{flex-wrap:wrap}.top-nav .menu-links{align-items:flex-start;display:none;flex-direction:column;margin-top:10px;padding-left:15px;width:100%}.top-nav .menu-links.open{display:flex}.top-nav .menu-links a{margin:8px 0;text-align:left}.hamburger{display:block}}.student-container{background:linear-gradient(to bottom right,#fff,#f0f8ff,#e6f7ff,#d0e8ff);font-family:Arial,sans-serif;margin:0;min-height:100vh;padding:0}.top-nav{align-items:center;background-color:#fff;border-bottom:3px solid #2a3eb1;border-radius:0 0 10px 10px;box-shadow:0 2px 5px #0000001a;display:flex;justify-content:space-between;padding:15px 30px;position:relative}.top-nav .logo{color:#2a3eb1;font-size:1.5rem;font-weight:700}.top-nav .menu-links{display:flex;gap:25px}.top-nav .menu-links a{border-radius:5px;color:#2a3eb1;font-weight:700;padding:4px 6px;text-decoration:none;transition:all .3s ease}.top-nav .menu-links a:hover{background-color:#2a3eb1;box-shadow:0 2px 5px #0003;color:#fff}.hamburger{color:#2a3eb1;cursor:pointer;display:none;font-size:1.8rem}.welcome-box{background-color:#fffc;border-radius:20px;box-shadow:0 6px 15px #0000001a;margin:40px auto;max-width:750px;padding:30px;text-align:center}.welcome-box h1{color:#2a3eb1;font-size:2rem;margin-bottom:15px}.welcome-box p{color:#333;font-size:1.2rem}.lessons-list{display:flex;flex-direction:column;gap:20px;margin:30px auto;max-width:900px;padding:0 20px}.lesson-card{background-color:#ffffffdd;border-left:5px solid #2a3eb1;border-radius:12px;box-shadow:0 4px 10px #00000014;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.lesson-card:hover{box-shadow:0 6px 15px #00000026;transform:translateY(-3px)}.lesson-card h2{color:#2a3eb1;margin-bottom:10px}.lesson-card p{color:#333;font-size:1rem;margin:4px 0}.lesson-card video{border-radius:10px;margin-top:10px;max-height:400px;width:100%}@media screen and (max-width:768px){.top-nav{flex-wrap:wrap}.top-nav .menu-links{align-items:flex-start;display:none;flex-direction:column;margin-top:10px;padding-left:15px;width:100%}.top-nav .menu-links.open{display:flex}.top-nav .menu-links a{margin:6px 0;text-align:left}.hamburger{display:block}}.enrol-card{background:#fff;border-radius:8px;box-shadow:0 4px 10px #0000000d;margin:20px auto;max-width:650px;padding:25px 20px}.enrol-form{display:flex;flex-direction:column;gap:20px}.enrol-form label{color:#1e3a8a;font-size:.95rem;font-weight:600;margin-bottom:6px}.enrol-form input,.enrol-form select{border:1px solid #dfe4ea;border-radius:6px;color:#111827;font-size:.95rem;padding:10px 12px;transition:border .2s,box-shadow .2s;width:100%}.enrol-form input[type=file]{background:#f8fafc;cursor:pointer;padding:8px}.enrol-form input:focus,.enrol-form select:focus{border-color:#1e90ff;box-shadow:0 0 4px #1e90ff4d;outline:none}.enrol-form input::placeholder{color:#9ca3af}.enrol-form button.btn-submit{background-color:#1e90ff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 0;transition:background .2s,transform .2s}.enrol-form button.btn-submit:hover{background-color:#07c;transform:translateY(-2px)}.enrol-form button.btn-submit:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.upload-hint{background:#f1f5f9;border-left:4px solid #1e90ff;border-radius:6px;color:#374151;font-size:.9rem;padding:10px}.upload-status{font-size:.95rem;font-weight:600;text-align:center}.upload-status.success{color:#15803d}.upload-status.error{color:#b91c1c}@media (max-width:768px){.form-row{flex-direction:column}.enrol-form button.btn-submit,.enrol-form input,.enrol-form select{font-size:.9rem;padding:8px}}.bulk-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.bulk-back-arrow{color:#1877f2;cursor:pointer;font-size:18px}.bulk-back-arrow:hover{opacity:.7}.student-card{background:#fff;border-radius:10px;padding:20px}.enrol-card h2{margin:0}button{margin-top:15px}.sidebar{z-index:10}.sidebar.mobile-open{z-index:100}.sidebar-header{align-items:center;display:flex;justify-content:space-between}.website-name{font-size:1.5rem}.mobile-close-btn{background:none;color:#fff;font-size:2.3rem}@media (max-width:768px){.mobile-close-btn{display:block}}.sidebar-footer{align-items:center;display:flex;justify-content:space-between;margin-top:auto}.user-avatar{font-size:2rem}.user-info-sidebar{display:flex;flex-direction:column}.user-name{font-size:.9rem;font-weight:600}.user-email-sidebar{color:#d1d5db;font-size:.8rem}.collapse-toggle{font-size:1.2rem}.menu-toggle{background:none;border:none}.header-title h2{color:#1e90ff;font-size:1.5rem;margin-left:10px}.header-right{gap:12px}.mobile-overlay{background:#00000080;height:100%;left:0;position:fixed;top:0;width:100%;z-index:50}.features-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:20px}.feature-card.class-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #1e90ff26;cursor:pointer;min-height:170px;padding:22px;position:relative;transition:transform .25s ease}.feature-card.class-card:hover{transform:translateY(-4px)}.feature-icon{font-size:2rem;margin-bottom:12px}.feature-content .subject-name{color:#1e90ff;font-size:1.1rem;font-weight:700}.class-meta{color:#6b7280;font-size:.85rem;margin-top:4px}.create-class-fab{align-items:center;background:#1e90ff;border:none;border-radius:50px;bottom:30px;box-shadow:0 10px 25px #1e90ff4d;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:700;gap:8px;padding:14px 22px;position:fixed;right:30px}.create-class-fab:hover{background:#07c}@media (max-width:768px){.sidebar{height:100%;left:-250px;position:fixed;top:0}.sidebar.mobile-open{left:0}.main-content-wrapper{padding-top:60px}.features-grid{grid-template-columns:1fr;padding:15px}.feature-card.class-card{min-height:150px;padding:18px}}.form-section{margin-bottom:25px}.form-title{color:#1e90ff;font-size:18px;margin-bottom:10px}.class-list{list-style:none;margin:0;padding:0}.class-list-item{align-items:center;border-bottom:1px solid #eee;cursor:pointer;display:flex;gap:12px;padding:12px;transition:.2s}.class-list-item:hover{background:#f5f9ff}.class-icon{color:#1e90ff}.class-text{display:flex;flex-direction:column}.class-name{font-weight:600}.class-meta{color:gray;font-size:12px}.create-class-card{background:#fff;border-radius:8px;box-shadow:0 4px 10px #0000000d;margin:30px auto;max-width:650px;padding:25px 20px}.create-class-form{display:flex;flex-direction:column;gap:20px}.form-row{display:flex;flex-wrap:wrap;gap:20px}.form-group{display:flex;flex:1 1;flex-direction:column}.form-group.full-width{flex:1 1 100%}.create-class-form label{color:#1e3a8a;font-size:.95rem;font-weight:600;margin-bottom:6px}.create-class-form input,.create-class-form select{border:1px solid #dfe4ea;border-radius:6px;color:#111827;font-size:.95rem;padding:10px 12px;transition:border .2s,box-shadow .2s;width:100%}.create-class-form input:focus,.create-class-form select:focus{border-color:#1e90ff;box-shadow:0 0 4px #1e90ff4d;outline:none}.create-class-form input::placeholder{color:#9ca3af}.create-class-form button.btn-submit{background-color:#1e90ff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 0;transition:background .2s,transform .2s}.create-class-form button.btn-submit:hover{background-color:#07c;transform:translateY(-2px)}@media (max-width:768px){.form-row{flex-direction:column}.create-class-form button.btn-submit,.create-class-form input,.create-class-form select{font-size:.9rem;padding:8px}}.assign-teacher-btn{align-items:center;background:#22c55e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 12px}.assign-teacher-btn:hover{background:#16a34a}.student-list{text-align:start}.student-id{color:#1c1e21;font-size:16px}.enroll-student-btn{justify-content:center;margin-top:20px;padding:12px;width:100%}.enrol-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;margin:40px auto;max-width:700px;padding:20px}.enrol-header-horizontal{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.header-left{align-items:start;gap:10px}.enrol-title{font-size:20px;font-weight:600}.enrol-form{color:#65676b;font-size:16px}.student-list{border-top:1px solid #ddd}.student-row{align-items:start;border-bottom:1px solid #eee;cursor:pointer;padding:10px}.student-row.selected{background:#e7f3ff}.student-checkbox{align-self:self-start;cursor:pointer;height:18px;width:18px}.student-info{gap:20px}.enrol-btn{align-items:center;background:#1877f2;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:15px;gap:6px;justify-content:center;margin-top:20px;padding:12px;width:100%}.enrol-btn:hover{background:#166fe5}.empty-text{padding:15px;text-align:start}.student-info{align-items:start}.student-name{min-width:150px}.student-id{min-width:100px}.student-section{color:#1877f2;font-size:14px;min-width:80px}.dashboard-container{background:#f5f6fa;display:flex;font-family:Segoe UI,sans-serif;height:100vh;overflow:hidden;position:relative}.sidebar{position:relative}.sidebar.mobile-open{transition:left .3s ease;z-index:1001}.website-name{align-items:center;font-size:1rem;font-weight:700;gap:10px}.website-icon-mini,.website-name{display:flex;justify-content:center}.website-icon-mini{font-size:1.5rem}.mobile-close-btn{align-items:center;background:#e4e6eb;border:none;border-radius:50%;cursor:pointer;display:none;font-size:16px;height:32px;justify-content:center;position:absolute;right:15px;top:20px;width:32px}.sidebar.mobile-open .mobile-close-btn{display:flex}.sidebar-menu li{color:#fff}.main-content-wrapper{padding:20px}.logout-btn{font-size:22px}.teacher-card{background:#fff;border-left:5px solid #1e90ff;border-radius:8px;cursor:pointer;margin-top:20px;padding:15px;transition:transform .2s,box-shadow .2s}.teacher-card:hover{box-shadow:0 4px 10px #0000001a;transform:translateY(-3px)}.teacher-table{border-collapse:collapse;width:100%}.teacher-table td,.teacher-table th{border-bottom:1px solid #dfe4ea;padding:10px 12px;text-align:left}.teacher-table th{background-color:#e6f0ff;color:#1e90ff;font-weight:600}.teacher-table td{color:#111}.teacher-table tr:hover{background-color:#f0f8ff}.add-teacher-btn{align-items:center;background-color:#1e90ff;border:none;border-radius:50%;bottom:25px;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;display:flex;font-size:24px;height:55px;justify-content:center;position:fixed;right:25px;transition:background .2s;width:55px}.add-teacher-btn:hover{background-color:#07c}@media (max-width:768px){.sidebar{height:100%;left:-250px;position:fixed;top:0;transition:left .3s ease;width:250px;z-index:1001}.sidebar.mobile-open{left:0}.main-content-wrapper{padding-top:60px}.teacher-table td,.teacher-table th{font-size:.9rem;padding:8px}}.classlist-wrapper{margin:auto;max-width:900px}.header-left{gap:12px}.student-search{border:1px solid #ddd;border-radius:8px}.staff-row{align-items:center;background:#fff;border:1px solid #e4e6eb;border-radius:8px;display:grid;grid-template-columns:40px 1fr 160px 110px;padding:10px}.staff-number{font-weight:700;text-align:center}.staff-name{display:flex;flex-direction:column;font-weight:500}.staff-email{color:#65676b;font-size:12px}.staff-role{border:1px solid #ccd0d5;border-radius:6px;padding:6px}.enroll-btn{background:#1877f2;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px}.enroll-btn:hover{background:#166fe5}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:14px;font-weight:500;margin-bottom:20px;padding:10px 15px}.teacher-dashboard{background:#f5f6fa;display:flex;font-family:Segoe UI,sans-serif;min-height:100vh;overflow:hidden;position:relative}.sidebar{background:#1e3a8a;color:#fff;display:flex;flex-direction:column;flex-shrink:0;left:0;padding:15px 0;transition:width .3s,left .3s;width:250px;z-index:1000}.sidebar.collapsed{width:70px}.sidebar.mobile-open{height:100%;left:0;position:fixed;top:0}.sidebar-header{padding:20px;position:relative;text-align:center}.sidebar-header h2{margin:0}.mini-logo{font-size:1.5rem}.sidebar-menu{flex:1 1;list-style:none;margin-top:20px;padding:0}.sidebar-menu li{align-items:center;cursor:pointer;display:flex;gap:10px;padding:12px 20px;transition:background .2s}.sidebar-menu li.active,.sidebar-menu li:hover{background:#ffffff1a}.sidebar-menu li svg{flex-shrink:0;font-size:1.2rem}.sidebar-menu li span{font-size:1rem}.sidebar.collapsed .sidebar-menu li span{display:none}.sidebar-footer{border-top:1px solid #fff3;padding:15px 20px}.user-profile{align-items:center;display:flex;gap:10px}.user-avatar{font-size:30px}.user-info-sidebar span{display:block;line-height:1.2}.collapse-toggle{background:none;border:none;color:#fff;cursor:pointer;margin-top:10px}.main-content-wrapper{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;transition:margin-left .3s}.main-header{align-items:center;background:#fff;border-bottom:1px solid #dfe4ea;box-shadow:0 2px 4px #0000001a;display:flex;height:55px;justify-content:space-between;padding:0 20px}.menu-toggle{color:#1e3a8a;cursor:pointer;font-size:20px}.logout-btn{cursor:pointer;font-size:16px}.notification-btn{cursor:pointer;font-size:18px;margin-right:10px}.main-content{padding:20px}.classes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.class-card{background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;cursor:pointer;padding:20px;transition:transform .2s,box-shadow .2s}.class-card:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-5px)}.class-subject{font-size:18px;font-weight:600;margin-bottom:5px}.class-form,.class-section{color:#65676b;font-size:14px;margin:2px 0}@media (max-width:768px){.sidebar{height:100%;left:-250px;position:fixed;top:0;transition:left .3s ease;width:250px}.sidebar.mobile-open{left:0}.main-content-wrapper{padding-top:60px}.class-card{padding:15px}.class-subject{font-size:16px}.class-form,.class-section{font-size:12px}.sidebar.mobile-open~.main-content-wrapper{filter:brightness(.7)}}.assign-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;margin:40px auto;max-width:700px;padding:20px}.assign-header{align-items:center;display:flex;gap:12px;margin-bottom:15px}.assign-header h2{font-size:20px;font-weight:600}.back-btn{font-size:18px}.teacher-search{border:1px solid #ccc;border-radius:6px;padding:10px 12px;width:100%}.search-container,.teacher-search{margin-bottom:15px}.selection-info{color:#65676b;display:flex;font-size:14px;justify-content:space-between;margin-top:5px}.selected-count{color:#1877f2;font-weight:600}.list-header,.total-count{font-weight:600}.list-header{background-color:#f0f2f5;border-radius:6px;color:#65676b;display:flex;font-size:14px;margin-bottom:10px;padding:8px 12px}.header-section{flex:1 1}.teacher-list{display:flex;flex-direction:column;gap:10px}.teacher-row{align-items:center;border:1px solid #eee;border-radius:6px;cursor:pointer;display:flex;padding:10px 12px;transition:background .2s,border .2s}.teacher-row:hover{background:#f0f2f5}.teacher-row.selected{background:#e7f3ff;border-color:#1877f2}.teacher-row.assigned{background:#f0f9ff;border-color:#28a745;border-left-width:3px}.teacher-avatar{align-items:center;background:#1877f2;border-radius:50%;color:#fff;display:flex;font-weight:700;height:36px;justify-content:center;margin-right:12px;width:36px}.headteacher-icon{font-size:18px}.teacher-initial{font-size:16px}.teacher-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.name-role{align-items:center;display:flex;gap:8px}.teacher-name{font-weight:500}.role-badge{background-color:#ff9800;border-radius:10px;color:#fff;font-size:11px;font-weight:600;padding:2px 6px}.teacher-email{color:#65676b;font-size:14px}.remove-btn,.teacher-actions{align-items:center;display:flex}.remove-btn{background-color:#dc3545;border-radius:4px;font-size:13px;font-weight:600;gap:6px;padding:6px 12px;transition:background-color .2s}.remove-btn:hover{background-color:#c82333}.selection-indicator{align-items:center;color:#65676b;display:flex;font-size:13px;font-weight:600;gap:6px}.check-icon{color:#1877f2;font-size:14px}.times-icon{color:#65676b;font-size:14px}.assign-footer{align-items:center;border-top:1px solid #eee;display:flex;justify-content:space-between;margin-top:20px;padding-top:15px}.cancel-btn{background:#f0f2f5;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px}.cancel-btn:hover{background:#e4e6eb}.footer-stats{color:#65676b;display:flex;font-size:13px;gap:15px}.assigned-count{color:#28a745;font-weight:600}.new-selections{color:#1877f2;font-weight:600}.assign-btn{background:#1877f2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px}.assign-btn:hover:not(:disabled){background:#166fe5}.assign-btn:disabled{background:#ccc;cursor:not-allowed}.empty-state,.empty-text{padding:20px;text-align:center}.empty-text{color:#65676b;margin-bottom:5px}.empty-subtext{color:#8a8d91;font-size:14px;margin:0 auto;max-width:300px}@media (max-width:600px){.assign-wrapper{margin:20px auto;padding:15px}.assign-footer{align-items:stretch;flex-direction:column;gap:10px}.footer-stats{justify-content:space-between}.teacher-info{min-width:0}.name-role{flex-wrap:wrap}}.classlist-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;margin:40px auto;max-width:700px;padding:20px;position:relative}.classlist-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.header-info h2{font-size:20px;font-weight:600;margin:0}.header-info span{color:#65676b;font-size:14px;margin-left:10px}.student-search{border:1px solid #ccc;border-radius:6px;font-size:14px;margin-bottom:15px;outline:none;padding:10px 12px;width:100%}.student-search:focus{border-color:#1877f2}.student-list{display:flex;flex-direction:column;gap:10px;max-height:500px;overflow-y:auto}.student-row{align-items:center;border:1px solid #eee;border-radius:6px;display:flex;padding:10px 12px;transition:background .2s}.student-row:hover{background:#f0f2f5}.student-number{color:#1877f2;font-weight:600;width:30px}.student-info{gap:40px}.student-name{color:#000;font-size:15px}.student-id{color:#65676b;font-size:14px}.fixed-enroll-btn{bottom:10px;display:flex;justify-content:center;margin-top:15px;position:-webkit-sticky;position:sticky;width:100%;z-index:10}.enroll-student-btn{align-items:center;background:#1877f2;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:15px;gap:6px;padding:12px 20px}.enroll-student-btn:hover{background:#166fe5}.student-list::-webkit-scrollbar{width:6px}.student-list::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.student-list::-webkit-scrollbar-track{background:#0000}.exampage-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;margin:40px auto;max-width:700px;padding:20px}.exampage-header{margin-bottom:20px}.exampage-header,.header-left{align-items:center;display:flex}.header-left{gap:15px}.back-btn{color:#1877f2;font-size:20px}.exampage-header h2{color:#050505;font-size:20px;font-weight:600;margin:0}.services-list{display:flex;flex-direction:column;gap:12px}.service-row{align-items:center;border:1px solid #eee;border-radius:6px;cursor:pointer;display:flex;padding:12px 14px;transition:background .2s,box-shadow .2s}.service-row:hover{background:#f0f2f5}.service-number{color:#1877f2;font-weight:600;width:30px}.service-name{color:#000;font-size:15px}.gradecalc-page{align-items:center;background:#f0f2f5;display:flex;justify-content:center;min-height:100vh;padding:40px 10px}.gradecalc-form{align-self:center;background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000001a;max-width:620px;padding:18px;width:100%}.form-header{gap:10px;justify-content:center;margin-bottom:18px}.form-header h2{color:#050505;font-size:18px;font-weight:600;margin:0}.back-btn{align-items:center;background:#e4e6eb;border-radius:50%;height:32px;justify-content:center;width:32px}.back-btn:hover{background:#d8dadf}.range-row{align-items:center;display:flex;gap:6px;margin-bottom:8px}.range-row input{background:#f5f6f7;border:1px solid #ccd0d5;border-radius:6px;font-size:13px;height:32px;padding:4px 6px}.range-row input:focus{background:#fff;border-color:#1877f2;outline:none}.range-row input:first-child,.range-row input:nth-child(2),.range-row input:nth-child(3){width:55px}.range-row input:nth-child(4){width:60px}.range-row input:nth-child(5){width:110px}.range-row button{background:#e4e6eb;border:none;border-radius:50%;cursor:pointer;height:32px;width:32px}.range-row button:hover{background:#d8dadf}.form-buttons-horizontal{display:flex;gap:10px;margin-top:16px}.form-buttons-horizontal button{border:none;border-radius:6px;cursor:pointer;font-size:14px;height:36px;padding:0 16px}.form-buttons-horizontal button:first-child{background:#e4e6eb;color:#050505}.form-buttons-horizontal button:last-child{background:#1877f2;color:#fff}@media (max-width:640px){.gradecalc-page{padding:0}.gradecalc-form{border-radius:0;max-width:100%;min-height:100vh}}.me-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;margin:40px auto;max-width:700px;padding:25px 20px 20px}.me-header{align-items:center;display:flex;margin-bottom:30px}.me-header h2{font-size:20px;font-weight:600;margin:0 0 0 10px}.me-back-btn{background:none;border:none;color:#1877f2;cursor:pointer;font-size:20px}.me-form{display:flex;flex-direction:column;gap:18px}.me-row{display:flex;gap:30px}.me-field{display:flex;flex:1 1;flex-direction:column}.me-field input,.me-field select{border:1px solid #ccc;border-radius:6px;font-size:14px;padding:8px 10px;width:100%}.me-field input:focus,.me-field select:focus{border-color:#1877f2;outline:none}.me-btn-row{display:flex;justify-content:flex-end}.me-update-btn{background:#1877f2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 15px}.me-update-btn:hover{background:#166fe5}.student-info{align-items:center;display:flex;flex-wrap:nowrap;gap:8px}.student-name{max-width:35%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-id{color:#502c2c;font-size:12px;white-space:nowrap}.mark-input{border:1px solid #401a1a;border-radius:4px;box-sizing:border-box;flex:1 1 auto;font-size:13px;max-width:160px;min-width:120px;padding:6px 8px}@media (max-width:600px){.student-info{gap:6px}.student-name{font-size:15px;max-width:40%}.student-id{font-size:13px}.mark-input{flex:1 1;font-size:14px;min-width:100px;padding:8px}}.cep-wrapper{border-radius:8px;box-shadow:0 2px 6px #0000001a;margin:30px auto;max-width:800px;padding:20px}.cep-header{margin-bottom:15px}.cep-back-btn{background:none;color:#1877f2;font-size:18px;margin-right:10px}.cep-search input{border:1px solid #ccc;margin-bottom:15px;padding:8px}.cep-exam-item{align-items:center;border-bottom:1px solid #eee;cursor:pointer;display:flex;gap:12px;padding:10px 8px}.cep-exam-item:hover{background:#f5f7ff}.cep-number{color:#1e3a8a;font-weight:600}.cep-exam-info{display:flex;flex:1 1;flex-direction:column}.cep-exam-name{font-size:14px}.cep-term{color:#666;font-size:12px}.cep-status.open{color:green;font-weight:600}.cep-status.closed{color:red;font-weight:600}.cep-empty{color:#777;text-align:center}.cep-view-btn{border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:600;margin-top:15px;padding:12px 0;transition:background .2s;width:100%}.cep-view-btn,.cep-view-btn:disabled,.cep-view-btn:hover{background-color:#1877f2}.cep-view-btn:disabled{cursor:not-allowed}.cep-wrapper{background:#fff;font-family:Segoe UI,sans-serif;padding:16px}.cep-header{gap:10px;justify-content:flex-start;margin-bottom:14px}.cep-back-btn{background:#e4e6eb;border-radius:50%;height:34px;width:34px}.cep-back-btn:hover{background:#d8dadf}.cep-search{margin-bottom:12px}.cep-search input{background:#fff;border:1px solid #ccd0d5;border-radius:6px;display:block;font-size:14px;height:36px;max-width:900px;padding:0 12px;width:100%}.cep-table-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;overflow-x:auto}.cep-table{border-collapse:collapse;font-size:13px;min-width:100%;width:-webkit-max-content;width:max-content}.cep-table thead th{background:#f5f6f7;border-bottom:1px solid #ddd;font-weight:600;padding:8px 10px;white-space:nowrap}.cep-table tbody td{border-bottom:1px solid #eee;padding:8px 10px;white-space:nowrap}.cep-table td:first-child,.cep-table th:first-child{background:#fff;left:0;min-width:50px;position:-webkit-sticky;position:sticky;text-align:center;z-index:4}.cep-table td:nth-child(2),.cep-table th:nth-child(2){background:#fff;left:50px;min-width:50px;position:-webkit-sticky;position:sticky;text-align:start;z-index:4}.cep-table td:nth-child(3),.cep-table th:nth-child(3){background:#fff;left:170px;min-width:10px;position:-webkit-sticky;position:sticky;text-align:center;z-index:4}.cep-table td:nth-child(n+4),.cep-table th:nth-child(n+4){min-width:80px;text-align:center}.cep-table tbody tr:hover{background:#f5f6f7}@media (max-width:640px){.cep-search input{width:100%}.cep-table td:nth-child(2),.cep-table th:nth-child(2){min-width:150px}.cep-table td:nth-child(3),.cep-table th:nth-child(3){min-width:100px}}.export-buttons{display:flex;gap:8px;margin-left:auto}.export-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.export-btn:hover{background-color:#45a049}.form-container{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;font-family:Segoe UI,sans-serif;margin:40px auto;max-width:500px;padding:30px}.form-container h2{color:#1e3a8a;margin-bottom:20px;text-align:center}.form-container .message{color:#1e90ff;font-weight:600;margin-bottom:15px;text-align:center}.form-container form{display:flex;flex-direction:column;gap:15px}.form-container input{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:12px 15px}.form-container input:focus{border-color:#1e90ff;box-shadow:0 0 5px #1e90ff4d;outline:none}.form-container button{background-color:#1e90ff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px;transition:background .2s}.form-container button:hover{background-color:#07c}.form-container button:disabled{background-color:#87cefa;cursor:not-allowed}.generate-reports-wrapper{background:#fff;display:flex;flex-direction:column;font-family:Segoe UI,sans-serif;gap:24px;min-height:100vh;padding:16px}.generate-reports-wrapper .generate-reports-header{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:16px}.generate-reports-wrapper .generate-back-btn{align-items:center;background:#e4e6eb;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;width:36px}.generate-reports-wrapper .generate-back-btn:hover{background:#d8dadf}.generate-reports-wrapper .generate-reports-title{font-size:20px;font-weight:600;margin:0}.generate-reports-wrapper .generate-search{align-self:center;margin-bottom:24px;max-width:900px;width:100%}.generate-reports-wrapper .generate-search input{border:1px solid #ccd0d5;border-radius:6px;font-size:14px;height:36px;padding:0 12px;width:100%}.generate-reports-wrapper .report-card{background:#fff;border:1px solid #ddd;border-radius:10px;box-shadow:0 2px 6px #0000001f;margin:0 auto;max-width:900px;padding:24px;width:100%}.generate-reports-wrapper .school-header{margin-bottom:20px;text-align:center}.generate-reports-wrapper .school-logo{margin-bottom:2px;max-width:120px}.generate-reports-wrapper .school-name{font-size:22px;font-weight:700;margin:0}.generate-reports-wrapper .exam-name{font-size:18px;font-weight:500;margin:0}.generate-reports-wrapper .student-info{align-self:normal;flex-direction:column;line-height:0cqh;line-height:0px;margin-bottom:2px;text-align:start}.generate-reports-wrapper .student-info p{align-self:start;font-size:17px;line-height:.5;margin:2px 0;text-align:start}.generate-reports-wrapper .subjects-table{border-collapse:collapse;margin-bottom:16px;table-layout:fixed;text-align:start;width:100%}.generate-reports-wrapper .subjects-table td,.generate-reports-wrapper .subjects-table th{word-wrap:break-word;border:1px solid #ccc;font-size:17px;padding:6px 10px;text-align:start}.generate-reports-wrapper .subjects-table th{background:#f5f6f7;font-weight:600}.generate-reports-wrapper .headteacher-remarks{border-top:1px dashed #ccc;margin-top:12px;padding-top:8px}.generate-reports-wrapper .headteacher-remarks p{font-size:14px;margin:4px 0}@media (max-width:640px){.generate-reports-wrapper .generate-search input{width:100%}.generate-reports-wrapper .report-card{padding:16px}}.report-card{margin-bottom:30px;page-break-after:always}.page-border{background-color:#fff;border:2px solid #000;box-shadow:0 0 10px #0000001a;box-sizing:border-box;min-height:335mm;padding:20px;position:relative}.page-content{display:flex;flex-direction:column;height:100%}@media print{.generate-reports-header,.generate-search{display:none!important}.report-card{margin:0;padding:0}.page-border{border:2px solid #000;box-shadow:none;height:100vh;padding:20px}}.headteacher-contact{margin:6px 0;text-align:center}.contact-info{font-size:12pt;font-style:normal;margin:2px 0;text-align:center}.demarcation-line{background-color:#000;height:2px;margin:15px 0;width:100%}.report-card-title{margin:15px 0;text-align:center}.report-card-title h2{font-size:14pt;font-weight:700;text-decoration:underline}.header-right{gap:10px}.header-right,.upload-logo-btn{align-items:center;display:flex}.upload-logo-btn{background-color:#4caf50;border-radius:4px;color:#fff;font-size:14px;gap:8px;padding:8px 16px;text-decoration:none;transition:background-color .3s}.upload-logo-btn:hover{background-color:#45a049}.school-logo{margin-bottom:15px;max-height:180px;max-width:180px;object-fit:contain}.headteacher-remarks-container{margin-top:20px;text-align:left;width:100%}.remarks-title{color:#333;font-size:16px;font-weight:700;margin-bottom:8px;text-align:left}.remarks-box{background-color:#fff;border:1px solid #000;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;overflow:hidden;text-align:left}.remarks-content{color:#000;font-size:17px;font-style:normal;line-height:1.4;padding:15px;text-align:left}.remarks-footer{align-items:center;background-color:#fff;border-top:1px solid #a8a8a8;display:flex;justify-content:space-between;padding:8px 15px}.headteacher-signature-area{display:flex;flex-direction:column;text-align:left}.headteacher-name{font-size:12px;font-weight:700;margin:0}.headteacher-label{color:#000;font-size:12px;margin:0}.remark-date{font-size:14px;font-weight:500}.general-notice{border-top:1px dashed #ccc;margin-top:15px;padding:10px 0;text-align:left}.general-notice p{font-size:16px;font-style:normal;margin:4px 0;text-align:left}.upload-logo-container{margin:0 auto;max-width:800px;padding:20px}.logo-card{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:30px}.school-info{background:#f5f5f5;border-radius:5px;margin-bottom:20px;padding:15px}.school-info p{font-size:14px;margin:5px 0}.logo-preview-section,.upload-section{margin-bottom:30px}.preview-box{align-items:center;background:#fafafa;border:2px dashed #ddd;border-radius:10px;display:flex;height:300px;justify-content:center;margin:15px auto;overflow:hidden;width:300px}.preview-img{max-height:100%;max-width:100%;object-fit:contain}.placeholder{color:#666;text-align:center}.placeholder span{display:block;font-size:16px;font-weight:700;margin-bottom:10px}.logo-header{gap:15px;margin-bottom:20px}.back-arrow-btn,.logo-header{align-items:center;display:flex}.back-arrow-btn{background:none;border:none;border-radius:50%;color:#2c3e50;cursor:pointer;font-size:1.2rem;justify-content:center;padding:8px;transition:all .3s ease}.back-arrow-btn:hover{background-color:#f0f0f0;transform:translateX(-3px)}.upload-zone{background:#f9fff9;border:2px dashed #4caf50;border-radius:10px;padding:30px;text-align:center}.upload-zone p{color:#333;margin-bottom:15px}#logo-upload{display:none}.browse-btn{background:#4caf50;border-radius:5px;color:#fff;cursor:pointer;display:inline-block;font-weight:700;padding:10px 20px;transition:background .3s}.browse-btn:hover{background:#45a049}.file-hint{color:#666;font-size:12px;margin-top:10px}.action-buttons{display:flex;gap:15px;justify-content:center;margin:30px 0}.upload-btn{background:#2196f3;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 30px;transition:background .3s}.upload-btn:hover:not(:disabled){background:#0b7dda}.upload-btn:disabled{background:#ccc;cursor:not-allowed}.remove-btn{background:#f44336;border-radius:5px;font-size:16px;padding:12px 20px;transition:background .3s}.remove-btn:hover{background:#d32f2f}.instructions{background:#f0f8ff;border-radius:5px;margin-top:20px;padding:20px}.instructions h4{color:#2196f3;margin-top:0}.instructions ul{margin:10px 0 0;padding-left:20px}.instructions li{font-size:14px;margin-bottom:5px}.cep-wrapper{background:#f5f5f5;min-height:100vh;padding:15px}.cep-loading{color:#666;font-size:16px;height:100vh;justify-content:center}.cep-header,.cep-loading{align-items:center;display:flex}.cep-header{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;gap:12px;margin-bottom:20px;padding:15px}.cep-back-btn{align-items:center;background:#f0f0f0;border:none;border-radius:6px;color:#333;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:40px;justify-content:center;transition:background .2s;width:40px}.cep-back-btn:hover{background:#e0e0e0}.cep-header h2{color:#333;flex:1 1;font-size:18px;font-weight:600;margin:0;overflow:hidden;padding-left:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.cep-exam-inputs{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:15px;padding:15px}.cep-input-with-button{align-items:center;display:flex;gap:10px}.cep-input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;min-width:0;outline:none;padding:12px;transition:border .2s}.cep-input:focus{border-color:#2196f3}.cep-new-exam-btn{background:#f0f0f0;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;flex-shrink:0;font-size:14px;padding:10px 15px;transition:all .2s;white-space:nowrap}.cep-new-exam-btn:hover{background:#e0e0e0}.cep-ranges-form{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.cep-wrapper .cep-section-header{border-bottom:2px solid #eee;margin:30px 0 20px;padding-bottom:10px}.cep-wrapper .cep-failure-section{background:linear-gradient(90deg,#fff,#fff5f5);border-bottom:2px solid #ff6b6b;border-radius:8px;margin-top:30px;padding:15px}.cep-wrapper .cep-section-title{color:#333;display:flex;flex-direction:column;font-size:18px;font-weight:600;gap:4px;margin:0}.cep-wrapper .cep-section-subtitle{color:#666;font-size:13px;font-style:italic;font-weight:400}.cep-wrapper .cep-failure-icon{color:#ff6b6b;font-size:16px;margin-right:8px}.cep-wrapper .cep-ranges-header{color:#666;font-size:14px;font-weight:600;padding:10px}.cep-wrapper .cep-range-row,.cep-wrapper .cep-ranges-header{align-items:center;background:#f9f9f9;border-radius:6px;display:flex;gap:10px;margin-bottom:10px}.cep-wrapper .cep-range-row{padding:12px;transition:background .2s}.cep-wrapper .cep-range-row:hover{background:#f0f0f0}.cep-wrapper .cep-range-min{flex-shrink:0;width:80px}.cep-wrapper .cep-range-to{color:#666;flex-shrink:0;font-size:14px;font-weight:600;text-align:center;width:30px}.cep-wrapper .cep-range-max{flex-shrink:0;width:80px}.cep-wrapper .cep-range-remark{flex:1 1;min-width:120px}.cep-wrapper .cep-range-action{flex-shrink:0;width:40px}.cep-wrapper .cep-range-input{background:#fff;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:14px;outline:none;padding:10px;transition:border .2s;width:100%}.cep-wrapper .cep-range-input:focus{border-color:#2196f3}.cep-wrapper .cep-range-input.cep-range-max,.cep-wrapper .cep-range-input.cep-range-min{text-align:center}.cep-wrapper .cep-range-delete{align-items:center;background:#ffe6e6;border:none;border-radius:6px;color:#c00;cursor:pointer;display:flex;font-size:14px;height:35px;justify-content:center;transition:all .2s;width:35px}.cep-wrapper .cep-range-delete:hover:not(:disabled){background:#fcc}.cep-wrapper .cep-range-delete:disabled{cursor:not-allowed;opacity:.3}.cep-wrapper .cep-failure-conditions-header{color:#666;font-size:14px;font-weight:600;padding:10px}.cep-wrapper .cep-failure-condition-row,.cep-wrapper .cep-failure-conditions-header{grid-gap:10px;align-items:center;background:#fff5f5;border-radius:6px;display:grid;gap:10px;grid-template-columns:1fr 80px 2fr 40px;margin-bottom:10px}.cep-wrapper .cep-failure-condition-row{padding:12px;transition:background .2s}.cep-wrapper .cep-failure-condition-row:hover{background:#ffebeb}.cep-wrapper .cep-failure-condition-name{font-weight:500}.cep-wrapper .cep-failure-minimum-mark{font-weight:500;text-align:center}.cep-wrapper .cep-failure-remark{background:#f8f9fa;border:1px solid #e0e0e0;font-weight:500}.cep-wrapper .cep-failure-condition-input{background:#fff;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:14px;outline:none;padding:10px;transition:border .2s;width:100%}.cep-wrapper .cep-failure-condition-input:focus{border-color:#ff6b6b;box-shadow:0 0 0 2px #ff6b6b33}.cep-wrapper .cep-failure-condition-input.cep-failure-minimum-mark{font-weight:500;text-align:center}.cep-wrapper .cep-failure-condition-input.cep-failure-remark{background:#f8f9fa;border:1px solid #e0e0e0;font-weight:400}.cep-wrapper .cep-failure-condition-delete{align-items:center;background:#ff6b6b;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;height:35px;justify-content:center;transition:all .2s;width:35px}.cep-wrapper .cep-failure-condition-delete:hover:not(:disabled){background:#ff5252}.cep-wrapper .cep-failure-condition-delete:disabled{cursor:not-allowed;opacity:.3}.cep-wrapper .cep-headteacher-message-container{animation:slideDown .3s ease;background:#f8f9fa;border:2px solid #4caf50;border-radius:8px;margin:30px 0;padding:20px;position:relative}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cep-wrapper .cep-headteacher-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.cep-wrapper .cep-close-headteacher-btn{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;padding:4px;width:30px}.cep-wrapper .cep-close-headteacher-btn:hover{background:#eee;color:#ff6b6b}.cep-wrapper .cep-headteacher-textarea{background:#fff;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;min-height:80px;padding:12px;resize:vertical;width:100%}.cep-wrapper .cep-headteacher-textarea:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.cep-wrapper .cep-character-count{color:#666;font-size:12px;margin-top:4px;text-align:right}.cep-wrapper .cep-add-failure-btn{align-items:center;background:#ff6b6b;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:center;margin:20px 0;padding:12px 20px;transition:all .2s;width:200px}.cep-wrapper .cep-add-failure-btn:hover{background:#ff5252}.cep-wrapper .cep-add-range-btn{align-items:center;background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:center;margin:20px 0;padding:12px 20px;transition:all .2s;width:200px}.cep-wrapper .cep-add-range-btn:hover{background:#45a049}.cep-wrapper .cep-ranges-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.cep-wrapper .cep-upload-btn{align-items:center;background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:140px;padding:12px;transition:background .2s}.cep-wrapper .cep-upload-btn:hover:not(:disabled){background:#0b7dda}.cep-wrapper .cep-upload-btn:disabled{cursor:not-allowed;opacity:.5}.cep-wrapper .cep-cancel-btn{background:#f0f0f0;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:14px;min-width:100px;padding:12px 20px;transition:background .2s}.cep-wrapper .cep-cancel-btn:hover{background:#e0e0e0}.cep-wrapper .cep-instructions{background:#f8f9fa;border-left:4px solid #4caf50;border-radius:4px;color:#666;font-size:13px;margin-top:30px;padding:15px}.cep-wrapper .cep-instructions ul{margin:8px 0 0 20px;padding:0}.cep-wrapper .cep-instructions li{margin-bottom:4px}@media (max-width:480px){.cep-wrapper{padding:10px}.cep-wrapper .cep-header{padding:12px}.cep-wrapper .cep-header h2{font-size:16px}.cep-wrapper .cep-input-with-button{flex-direction:column;gap:10px}.cep-wrapper .cep-new-exam-btn{width:100%}.cep-wrapper .cep-ranges-form{padding:12px}.cep-wrapper .cep-range-max,.cep-wrapper .cep-range-min{width:60px}.cep-wrapper .cep-range-to{width:25px}.cep-wrapper .cep-range-action{width:35px}.cep-wrapper .cep-range-delete{font-size:13px;height:32px;width:32px}.cep-wrapper .cep-range-input{font-size:13px;padding:8px}.cep-wrapper .cep-range-to{font-size:13px}.cep-wrapper .cep-failure-condition-row,.cep-wrapper .cep-failure-conditions-header{gap:5px;grid-template-columns:1fr}.cep-wrapper .cep-failure-condition-delete{height:35px;width:100%}.cep-wrapper .cep-ranges-actions{flex-direction:column}.cep-wrapper .cep-add-failure-btn,.cep-wrapper .cep-add-range-btn,.cep-wrapper .cep-cancel-btn,.cep-wrapper .cep-upload-btn{width:100%}.cep-wrapper .cep-section-title{font-size:16px}}@media (min-width:481px) and (max-width:768px){.cep-wrapper .cep-range-max,.cep-wrapper .cep-range-min{width:70px}.cep-wrapper .cep-range-to{width:28px}.cep-wrapper .cep-range-action{width:38px}.cep-wrapper .cep-failure-condition-row,.cep-wrapper .cep-failure-conditions-header{grid-template-columns:1fr 70px 1.5fr 40px}}@media (min-width:769px) and (max-width:1024px){.cep-wrapper .cep-range-max,.cep-wrapper .cep-range-min{width:75px}.cep-wrapper .cep-failure-condition-row,.cep-wrapper .cep-failure-conditions-header{grid-template-columns:1fr 80px 2fr 40px}}@media (min-width:1025px){.cep-wrapper .cep-range-max,.cep-wrapper .cep-range-min{width:80px}.cep-wrapper .cep-failure-condition-row,.cep-wrapper .cep-failure-conditions-header{grid-template-columns:1fr 80px 2fr 40px}}@media (max-width:350px){.cep-wrapper .cep-range-max,.cep-wrapper .cep-range-min{width:55px}.cep-wrapper .cep-range-to{font-size:12px;width:20px}.cep-wrapper .cep-range-action{width:30px}.cep-wrapper .cep-range-delete{font-size:12px;height:28px;width:28px}.cep-wrapper .cep-range-input{font-size:12px;padding:6px}}.profile-container{align-items:flex-start;background:#f0f2f5;display:flex;justify-content:center;min-height:100vh;padding-top:40px}.profile-card{background:#fff;border-radius:10px;max-width:600px;padding:25px;width:100%}.form-header{align-items:left}.back-btn{align-items:start;background:none;border:none;cursor:pointer;display:flex;font-size:16px}.form-grid{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:10px}.row input{border:1px solid #ccc;border-radius:6px;flex:1 1;padding:12px}.save-btn{background:#1877f2;border:none;border-radius:6px;color:#fff;margin-top:20px;padding:13px;width:100%}.add-btn{background:#eee;margin-top:10px;padding:8px}.add-btn,.remove-btn{border:none;cursor:pointer}.remove-btn{background:red;color:#fff;padding:5px 8px}.profile-card{text-align:left!important}.form-header{align-items:center;display:flex;gap:6px;justify-content:flex-start!important;margin-bottom:15px;width:100%}.form-header h3{margin:0}.method-box{gap:10px;min-width:160px}.method-box,.method-box label{align-items:center;display:flex}.method-box label{cursor:pointer;font-size:13px;gap:5px}
/*# sourceMappingURL=main.60516915.css.map*/