.login-page{min-height:100vh;display:flex;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;font-family:Segoe UI,sans-serif}h3{color:#00f;text-align:center;font-size:30px}.login-info{flex:1;padding:80px;display:flex;flex-direction:column;justify-content:center}.login-info h1{font-size:42px;margin-bottom:10px;color:#60a5fa}.tagline{font-size:18px;margin-bottom:25px;opacity:.9}.seo-text{max-width:500px;font-size:14px;line-height:1.7;opacity:.85;margin-bottom:25px}.features{list-style:none;padding:0;margin:0}.features li{margin-bottom:10px;font-size:14px}.login-card{width:420px;background:#fff;color:#000;margin:auto 80px;padding:40px;border-radius:18px}.login-card h2{margin-bottom:5px;color:#1e40af}.subtitle{font-size:14px;color:#555;margin-bottom:25px}.login-card form{display:flex;flex-direction:column;gap:15px}.login-card input{padding:14px;border-radius:10px;border:1px solid #ccc;font-size:14px}.login-card input:focus{outline:none;border-color:#2563eb}.login-card button{margin-top:10px;padding:14px;border-radius:10px;border:none;background:#2563eb;color:#fff;font-weight:700;cursor:pointer;transition:background .3s ease}.login-card button:hover{background:#1d4ed8}.help-text{margin-top:15px;font-size:12px;color:#666;text-align:center}.dev-brand{margin-top:30px;font-size:12px;color:#777;text-align:center;line-height:1.6}.dev-brand span{color:#2563eb;font-weight:600}@media(max-width:900px){.login-page{flex-direction:column}.login-info{padding:40px;text-align:center}.login-card{margin:30px auto;width:90%}}nav{justify-content:center;display:flex;background:linear-gradient(135deg,#3273ec,#59b468,#50dd57);height:100px;margin-top:-200px}.logo{display:flex;width:100px;height:60px;padding:20px;gap:20px}.logo h1{font-size:2rem}nav ul{list-style:none;display:flex;gap:20px;text-align:center;font-size:22px;margin-top:30px;margin-left:537px}nav a{text-decoration:none;color:#fff}nav a:hover{color:#4343ec}body{color:#fff;background:linear-gradient(135deg,#41e649,#49a859,#0f0ff8)}h1{margin-top:100px;text-shadow:2px 4px 2px blue}button:hover{background-color:#36dd3f;color:#e8f2e9;border-top:3px solid blue}th{color:#000}p{animation-duration:3s;animation-name:slide-in}@keyframes slide-in{0%{translate:150vw 0;scale:200% 1}to{translate:0 0;scale:100% 1}}.manage-page{text-align:center;display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(to right,#e0f0ff,#d0e8ff);padding:20px}.class-form-card{background:#fff;padding:40px 35px;border-radius:18px;box-shadow:0 12px 30px #00000026;width:100%;max-width:450px;display:flex;flex-direction:column;gap:20px;transition:transform .3s ease,box-shadow .3s ease}.class-form-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0003}.form-title{text-align:center;font-size:26px;color:#1976d2;margin-bottom:15px;font-weight:600}.form-input{padding:12px 15px;border-radius:12px;border:1px solid #ccc;font-size:15px;outline:none;transition:all .3s ease}.form-input:focus{border-color:#1976d2;box-shadow:0 0 10px #1976d24d}.form-button{padding:12px 0;background:#1976d2;color:#fff;font-weight:700;border:none;border-radius:12px;cursor:pointer;font-size:16px;transition:all .3s ease}.form-button:hover{background:linear-gradient(135deg,#3273ec,#50dd87);transform:scale(1.05);box-shadow:0 8px 20px #0003}@media(max-width:500px){.class-form-card{padding:30px 20px}.form-title{font-size:22px}.form-button{font-size:14px}}.manage-users-container{max-width:700px;margin:40px auto;padding:25px 20px;background:#fff;border-radius:12px;box-shadow:0 6px 18px #00000014;font-family:Segoe UI,sans-serif;color:#2c3e50}.manage-users-container h2{font-size:26px;margin-bottom:20px;text-align:center}.manage-users-container h3{margin-top:30px;font-size:20px;color:#1565c0;margin-bottom:15px}.error-msg{color:#e53935;margin-bottom:10px;text-align:center}.manage-users-form{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.manage-users-form input,.manage-users-form select{padding:10px 14px;border-radius:8px;border:1px solid #ccc;font-size:15px;width:100%;box-sizing:border-box;transition:border .2s ease,box-shadow .2s ease}.manage-users-form input:focus,.manage-users-form select:focus{border-color:#1565c0;box-shadow:0 0 5px #1565c04d;outline:none}.manage-users-form button{padding:10px 0;background-color:#1565c0;color:#fff;font-weight:600;font-size:16px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.manage-users-form button:hover{background-color:#0d3b82}.manage-users-form button:disabled{opacity:.6;cursor:not-allowed}.manage-users-container hr{margin:30px 0;border:0;border-top:1px solid #e0e0e0}.user-list{display:flex;flex-direction:column;gap:12px}.user-card{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background-color:#f4f6f9;border-radius:8px;transition:all .2s ease}.user-card:hover{background-color:#e3f2fd}.user-card strong{color:#1565c0}@media(max-width:480px){.manage-users-container{padding:20px 15px}.manage-users-form button{font-size:14px}.user-card{flex-direction:column;align-items:flex-start;gap:6px}}.class-details-container{display:flex;min-height:100vh;background:#f5f7fb;font-family:Segoe UI,sans-serif;color:#2c3e50}.student-sidebar{width:260px;background:#fff;border-right:1px solid #e0e0e0;padding:20px}.student-sidebar h3{margin-bottom:15px;color:#2c3e50}.student-list{list-style:none;padding:0;margin:0}.student-list li{padding:10px 12px;margin-bottom:6px;border-radius:6px;cursor:pointer;transition:all .2s ease;color:#34495e}.student-list li:hover{background:#f0f4ff}.student-list li.active{background:#e3f2fd;color:#1565c0;font-weight:600}.empty-msg{font-size:14px;color:#999}.main-content{flex:1;padding:25px;color:#2c3e50}.class-card{background:#fff;border-radius:10px;padding:18px 22px;margin-bottom:20px;box-shadow:0 4px 12px #00000014}.class-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.class-header h2{margin:0;font-size:22px;color:#2c3e50}.teacher-badge{background:#1565c0;color:#fff;padding:6px 14px;border-radius:20px;font-size:14px;font-weight:500}.student-info-card{background:#fff;border-radius:10px;padding:18px 22px;margin-bottom:20px;box-shadow:0 4px 12px #00000014;color:#2c3e50}.student-info-card h3{margin-bottom:10px;color:#2c3e50}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.review-card{background:#fff;border-radius:10px;padding:18px 22px;margin-bottom:15px;box-shadow:0 4px 12px #00000014;color:#2c3e50}.review-card h4{margin-bottom:6px;color:#2c3e50}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.review-date{font-size:12px;color:#555}.review-student{margin:6px 0;color:#2c3e50}.review-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.badge{padding:6px 12px;border-radius:14px;font-size:13px;font-weight:500}.badge.progress{background:#2e7d32;color:#fff}.badge.attitude{background:#ef6c00;color:#fff}.badge.difficulty{background:#c2185b;color:#fff}.badge.success{background:#2e7d32;color:#fff}.badge.warning{background:#f57f17;color:#fff}.review-section{margin-top:10px;color:#2c3e50}.review-section b{font-weight:600}.review-section ul{padding-left:18px;margin-top:4px}.review-section li{font-size:14px;margin-bottom:3px}.review-comment{margin-top:10px;background:#f9f9f9;padding:10px;border-radius:6px;font-size:14px;color:#2c3e50}.review-closing{margin-top:8px;font-style:italic;color:#555}.review-note{font-size:14px;color:#555}.center-msg{text-align:center;margin-top:50px;font-size:16px;color:#555}.center-msg.error{color:#e53935}.no-review{color:#888;font-style:italic}@media(max-width:768px){.class-details-container{flex-direction:column}.student-sidebar{width:100%;border-right:none;border-bottom:1px solid #e0e0e0}}.myclasses-page{min-height:100vh;padding:40px 50px;background:#f4f6f8;font-family:Segoe UI,sans-serif;color:#2c3e50;box-sizing:border-box}.page-header{text-align:center;font-size:32px;color:#1565c0;font-weight:700;margin-bottom:50px}.loading-msg{text-align:center;margin-top:100px;font-size:18px;color:#555}.classes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.class-card{background:linear-gradient(135deg,#2196f3,#673ab7);border-radius:18px;overflow:hidden;box-shadow:0 8px 20px #0000002e;transition:all .3s ease}.class-card:hover{transform:translateY(-6px);box-shadow:0 14px 28px #00000040}.class-card-main{padding:25px}.class-card-main h3{margin:0;font-size:24px;font-weight:700;color:#fff}.students-count{margin-top:15px;color:#e3f2fd;font-size:15px}.students-count strong{color:#fff;font-size:18px}.teacher-name{margin-top:8px;color:#bbdefb;font-size:14px}.card-actions{display:flex;gap:10px;padding:15px;background:#ffffff14}.action-btn{flex:1;text-decoration:none;text-align:center;padding:12px;border-radius:10px;font-size:14px;font-weight:600;transition:.3s ease}.view-btn{background:#ffffff2e;color:#fff}.view-btn:hover{background:#ffffff47}.grade-btn{background:#ffb300;color:#222}.grade-btn:hover{background:#ffc107}@media(max-width:1024px){.classes-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.myclasses-page{padding:20px}.classes-grid{grid-template-columns:1fr}.card-actions{flex-direction:column}}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}.grading-page{width:100vw;min-height:100vh;padding:18px;background:#eef4ff;font-family:Segoe UI,sans-serif;color:#1e293b;overflow-x:hidden}.grading-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fff;padding:18px 24px;border-radius:18px;box-shadow:0 8px 25px #0f172a14;margin-bottom:16px}.grading-header h2{margin:0;font-size:30px;color:#0f3f7a}.grading-header p{margin:6px 0 0;color:#64748b}.header-actions{display:flex;gap:12px;align-items:center}.back-btn,.class-pdf-btn{border:none;text-decoration:none;padding:12px 18px;border-radius:12px;font-weight:800;cursor:pointer;font-size:14px;transition:.25s;white-space:nowrap}.back-btn{background:#eef6ff;color:#1565c0;border:1px solid #cfe4ff}.class-pdf-btn{background:linear-gradient(135deg,#7c3aed,#4c1d95);color:#fff}.back-btn:hover,.class-pdf-btn:hover{transform:translateY(-2px)}.class-overview{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.overview-card{background:#fff;padding:18px;border-radius:16px;border-left:5px solid #64748b;box-shadow:0 8px 25px #0f172a14}.overview-card span{font-size:14px;color:#64748b;font-weight:700}.overview-card h3{margin:8px 0 0;font-size:32px;color:#0f172a}.overview-card.success{border-left-color:#16a34a}.overview-card.warning{border-left-color:#f59e0b}.overview-card.primary{border-left-color:#1976d2}.grading-container{width:100%;display:grid;grid-template-columns:300px minmax(0,1fr) 420px;gap:16px;height:calc(100vh - 190px)}.students-sidebar,.student-profile,.grading-panel{background:#fff;border-radius:18px;padding:20px;box-shadow:0 8px 25px #0f172a14;overflow-y:auto;min-width:0}.students-sidebar h3,.student-profile h2,.grading-panel h2{margin:0 0 18px;color:#0f3f7a;font-weight:800}.student-tools{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:16px}.student-tools input,.student-tools select{width:100%;border:1px solid #d7e3f3;color:#0f172a;border-radius:12px;padding:11px 12px;font-size:14px;outline:none;background:#fbfdff}.student-tools input:focus,.student-tools select:focus{border-color:#1976d2}.student-item{display:flex;align-items:center;gap:12px;background:#f8fbff;border:1px solid #e5edf8;border-radius:14px;padding:13px;margin-bottom:10px;cursor:pointer;transition:.2s}.student-item:hover{background:#eef6ff}.student-item.active{background:linear-gradient(135deg,#1976d2,#0d47a1);color:#fff}.student-item strong{display:block;font-size:15px}.student-item small{display:block;font-size:12px;color:#64748b}.student-item.active small{color:#dbeafe}.profile-card,.history-card{background:#f8fbff;border:1px solid #e5edf8;padding:18px;border-radius:16px;margin-bottom:16px}.profile-card p,.history-card p{margin:12px 0;color:#475569}.profile-card strong{display:inline-block;min-width:130px;color:#0f3f7a}.history-card h4,.grading-panel h4{margin:0 0 14px;color:#0f3f7a}.select-placeholder{min-height:300px;display:grid;place-items:center;text-align:center;color:#94a3b8;border:2px dashed #cbd5e1;border-radius:16px;background:#f8fbff}.grading-panel label{display:block;margin-bottom:8px;font-weight:700;color:#334155}.grading-panel select,.grading-panel textarea{width:100%;border:1px solid #d7e3f3;border-radius:12px;padding:12px;font-size:15px;background:#515354;margin-bottom:16px;outline:none}.grading-panel select:focus,.grading-panel textarea:focus{border-color:#1976d2}.grading-panel textarea{min-height:130px;resize:vertical}.remarks-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.remarks-grid label{display:flex;align-items:center;gap:8px;background:#f8fbff;border:1px solid #e5edf8;border-radius:12px;padding:10px;font-size:13px}.remarks-grid input{accent-color:#1976d2}.grading-actions{display:flex;gap:12px}.save-btn,.pdf-btn{flex:1;min-height:46px;border:none;border-radius:12px;color:#fff;font-weight:800;cursor:pointer}.save-btn{background:linear-gradient(135deg,#22c55e,#15803d)}.pdf-btn{background:linear-gradient(135deg,#1976d2,#0d47a1)}.save-btn:hover,.pdf-btn:hover{transform:translateY(-2px)}.save-btn:disabled,.pdf-btn:disabled,select:disabled,textarea:disabled,input:disabled{opacity:.55;cursor:not-allowed;transform:none}.empty-text{color:#94a3b8;text-align:center;margin-top:40px}.grading-loading{min-height:100vh;display:grid;place-items:center;margin:0;background:#f4f7fc;color:#1565c0;font-size:20px;font-weight:800}.students-sidebar::-webkit-scrollbar,.student-profile::-webkit-scrollbar,.grading-panel::-webkit-scrollbar{width:7px}.students-sidebar::-webkit-scrollbar-thumb,.student-profile::-webkit-scrollbar-thumb,.grading-panel::-webkit-scrollbar-thumb{background:#b8d8ff;border-radius:20px}@media(max-width:1250px){.grading-container{grid-template-columns:280px minmax(0,1fr);height:auto}.grading-panel{grid-column:1 / -1}}@media(max-width:900px){.grading-page{padding:12px}.grading-header,.header-actions{flex-direction:column;align-items:stretch}.class-overview{grid-template-columns:1fr 1fr}.grading-container{grid-template-columns:1fr}}@media(max-width:560px){.class-overview,.remarks-grid{grid-template-columns:1fr}.grading-actions{flex-direction:column}.grading-header h2{font-size:22px}.profile-card strong{display:block;min-width:auto}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
