.main-app-container{max-width:1200px;margin:0 auto;padding:20px}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;border-bottom:1px solid var(--border-color);padding-bottom:20px}.logout-button{padding:10px 20px;font-size:.9rem;font-weight:500;color:var(--primary-blue);background-color:#fff;border:1px solid var(--primary-blue);border-radius:8px;cursor:pointer;transition:all .2s ease-in-out}.logout-button:hover{background-color:var(--primary-blue);color:#fff}.auth-wrapper{display:flex;height:100vh;font-family:Segoe UI,sans-serif}.auth-left{flex:1;background:linear-gradient(135deg,#b993d6,#8ca6db);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem}.auth-left h1{font-size:2.5rem;margin-bottom:1rem}.auth-left p{font-size:1.2rem;max-width:400px}.auth-illustration{width:300px;margin-top:2rem}.auth-container{flex:1;display:flex;justify-content:center;align-items:center;background:#f9f9fb}.auth-card{background:#fff;padding:2.5rem;border-radius:15px;box-shadow:0 8px 20px #0000001a;width:100%;max-width:380px;text-align:center}.auth-card h2{margin-bottom:1.5rem;color:#6a0dad}.input-group{display:flex;align-items:center;margin-bottom:1.2rem;border:1px solid #ddd;border-radius:8px;padding:.6rem;background:#f5f5f5}.input-group input{border:none;background:transparent;outline:none;width:100%;padding-left:10px}.input-icon{color:#6a0dad;font-size:1.1rem}.role-toggle{display:flex;justify-content:space-between;margin:1rem 0}.role-btn{flex:1;margin:0 5px;padding:.7rem;border:2px solid #6a0dad;background:#fff;color:#6a0dad;border-radius:8px;font-weight:700;cursor:pointer;transition:.3s;display:flex;align-items:center;justify-content:center}.role-btn svg{margin-right:6px}.role-btn.active{background:#6a0dad;color:#fff}.auth-button{width:100%;padding:.9rem;background:#6a0dad;color:#fff;font-weight:700;border:none;border-radius:8px;cursor:pointer;margin-top:1rem;transition:.3s}.auth-button:hover{background:#550a8a}.toggle-button{margin-top:1rem;background:none;border:none;color:#6a0dad;cursor:pointer;font-size:.9rem}.error-box{background:#ffe5e5;color:#d32f2f;padding:.7rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.dashboard-container{padding:30px;font-family:Segoe UI,sans-serif;background:#faf9ff;min-height:100vh}.dashboard-header{display:flex;align-items:center;gap:15px;margin-bottom:25px}.teacher-icon{font-size:55px;color:#7d5ba6}.dashboard-header h2{margin:0;font-size:28px;color:#3b2c54}.dashboard-header p{margin:0;color:#6d6d6d}.stats-cards{display:flex;gap:20px;margin-bottom:30px}.stat-card{flex:1;display:flex;align-items:center;gap:12px;background:#fff;padding:20px;border-radius:14px;box-shadow:0 4px 12px #7d5ba626;transition:transform .2s}.stat-card:hover{transform:translateY(-5px)}.stat-icon{font-size:30px;color:#7d5ba6}.stat-card h3{margin:0;font-size:24px;color:#3b2c54}.stat-card p{margin:0;font-size:14px;color:#6d6d6d}.content-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:25px}.dashboard-card{background:#fff;padding:20px;border-radius:16px;box-shadow:0 4px 15px #0000001a;transition:transform .2s ease}.dashboard-card:hover{transform:translateY(-4px)}.card-header{display:flex;align-items:center;gap:8px;color:#7d5ba6;font-size:18px;margin-bottom:15px}.assignment-form .input-group{margin-bottom:15px;display:flex;flex-direction:column}.assignment-form label{margin-bottom:5px;color:#444}.assignment-form input,.assignment-form textarea{padding:10px;border:1px solid #ddd;border-radius:8px;font-size:14px}.create-button{background:#7d5ba6;color:#fff;padding:10px 16px;border:none;border-radius:8px;cursor:pointer;font-size:15px;transition:background .2s ease}.create-button:hover{background:#5e4485}.assignment-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:15px}.assignment-item{border:1px solid #eee;border-radius:12px;padding:15px;background:#fefcff;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .2s ease}.assignment-item:hover{box-shadow:0 2px 10px #7d5ba633}.assignment-details h4{margin:0 0 5px;color:#333}.assignment-details p{margin:0;color:#555}.submission-status{background:#7d5ba6;color:#fff;padding:6px 12px;border-radius:8px;font-size:14px}.section-icon{margin-right:8px;vertical-align:text-bottom;color:#6a0dad}.large-icon{font-size:2rem}.assignment-link{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:inherit;width:100%;padding:15px;border-radius:8px;transition:background-color .2s ease-in-out}.assignment-link:hover{background-color:#f4f7f9}.assignment-item{padding:0;border-bottom:1px solid #dfe6eb}.dashboard-container{padding:40px 60px;background:#f5f3ff;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#3b2c54;animation:fadeIn 1s ease-in}h2{font-size:2.5rem;margin-bottom:10px}h3{font-size:1.8rem;margin-bottom:30px;color:#7c3aed}.error-message{color:#d6336c;margin-bottom:20px;font-weight:700}.student-assignment-list{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;justify-items:center}.student-assignment-item{background:#fff;padding:25px 20px;border-radius:20px;width:90%;max-width:400px;box-shadow:0 6px 18px #7c3aed33;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;justify-content:space-between}.student-assignment-item:hover{transform:translateY(-8px);box-shadow:0 12px 25px #7c3aed4d}.student-assignment-item h4{color:#5b3ea6;font-size:1.5rem;margin-bottom:10px}.student-assignment-item p{font-size:1rem;line-height:1.5;margin-bottom:15px}.student-assignment-item a{text-decoration:none;color:#7c3aed;font-weight:700;margin-bottom:15px;transition:color .3s}.student-assignment-item a:hover{color:#a78bfa}.submission-area{display:flex;gap:12px;align-items:center;margin-top:10px}.submission-area input[type=file]{border:2px dashed #c4b5fd;padding:6px 12px;border-radius:10px;cursor:pointer;background:#f0ebff;transition:border-color .3s,background .3s}.submission-area input[type=file]:hover{border-color:#7c3aed;background:#ede9fe}.submission-area button{background:#7c3aed;color:#fff;padding:8px 18px;border:none;border-radius:10px;cursor:pointer;font-weight:700;transition:transform .2s,box-shadow .2s}.submission-area button:hover{transform:translateY(-3px);box-shadow:0 6px 15px #7c3aed4d}.student-assignment-item.example{border:2px dashed #7c3aed;text-align:center;color:#7c3aed}@media (max-width: 1024px){.student-assignment-list{grid-template-columns:1fr;gap:30px}.student-assignment-item{width:100%}}.progress-overview{display:flex;justify-content:center;gap:30px;margin-bottom:40px}.progress-card{background:#fff;padding:20px;border-radius:15px;text-align:center;width:200px;box-shadow:0 6px 18px #7c3aed26}.progress-card h4{font-size:1.2rem;color:#5b3ea6;margin-bottom:8px}.progress-number{font-size:2rem;font-weight:700;color:#4ade80}.progress-number.pending{color:#f87171}.progress-number.total{color:#7c3aed}.progress-chart{margin-bottom:50px;text-align:center}.bar-container{display:flex;height:25px;width:70%;margin:15px auto;border-radius:15px;overflow:hidden;background:#e9d5ff}.bar-completed{background:#4ade80;transition:width .6s ease-in-out}.bar-pending{background:#f87171;transition:width .6s ease-in-out}.bar-legend{display:flex;justify-content:center;gap:20px;font-size:.9rem;margin-top:5px}.legend-completed{color:#4ade80;font-weight:700}.legend-pending{color:#f87171;font-weight:700}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#3b2c54;background:#f5f3ff;scroll-behavior:smooth}h1,h2,h3,h4{color:#3b2c54}img{max-width:100%;display:block}.navbar{display:flex;justify-content:space-between;align-items:center;padding:20px 50px;background:#a78bfa;color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 4px 6px #0000001a}.navbar .logo{font-size:1.8rem;font-weight:700}.nav-links{list-style:none;display:flex;gap:25px}.nav-links li a{color:#fff;text-decoration:none;font-weight:500;transition:.3s}.nav-links li a:hover{color:#f3e8ff;text-shadow:0 0 5px white}.hero{display:flex;justify-content:space-between;align-items:center;padding:80px 50px;background:linear-gradient(135deg,#ede9fe,#c4b5fd);border-radius:0 0 50% 50%/0 0 10% 10%;animation:fadeIn 1s ease-in}.hero-content h1{font-size:3rem;margin-bottom:20px}.hero-content p{font-size:1.2rem;margin-bottom:30px;line-height:1.6}.hero-buttons button{margin-right:20px;padding:12px 25px;font-size:1rem;border:none;border-radius:10px;cursor:pointer;font-weight:700;transition:transform .2s,box-shadow .2s}.student-btn{background-color:#7c3aed;color:#fff}.teacher-btn{background-color:#fff;color:#7c3aed;border:2px solid #7c3aed}.hero-buttons button:hover{transform:translateY(-3px);box-shadow:0 6px 15px #7c3aed4d}.hero-image{width:45%;display:flex;justify-content:center;align-items:center;animation:float 3s ease-in-out infinite;color:#fff}.how-it-works{padding:80px 50px;text-align:center;background:#f0ebff}.how-it-works h2{font-size:2.5rem;margin-bottom:50px}.steps{display:flex;gap:25px;flex-wrap:wrap;justify-content:center}.step-card{background:#fff;padding:30px 20px;border-radius:20px;width:250px;box-shadow:0 8px 20px #0000001a;transition:transform .3s,box-shadow .3s;text-align:center}.step-card:hover{transform:translateY(-10px);box-shadow:0 12px 25px #7c3aed40}.step-card img{width:60px;margin-bottom:15px}.features{padding:80px 50px;text-align:center}.features h2{font-size:2.5rem;margin-bottom:50px}.feature-cards{display:flex;gap:25px;flex-wrap:wrap;justify-content:center}.card{background:#fff;padding:25px 20px;border-radius:20px;width:250px;box-shadow:0 8px 20px #0000001a;transition:transform .3s,box-shadow .3s;text-align:center}.card:hover{transform:translateY(-10px);box-shadow:0 12px 25px #7c3aed40}.card img{width:50px;margin-bottom:15px}.about{padding:80px 50px;text-align:center;background:#ede9fe;border-radius:30px 30px 0 0}.about p{max-width:700px;margin:0 auto;line-height:1.6}.testimonials{padding:80px 50px;text-align:center;background:#f5f3ff}.testimonials h2{font-size:2.5rem;margin-bottom:50px}.testimonial-cards{display:flex;gap:25px;flex-wrap:wrap;justify-content:center}.testimonial-card{background:#fff;padding:25px 20px;border-radius:20px;width:250px;box-shadow:0 8px 20px #0000001a;transition:transform .3s,box-shadow .3s;text-align:center}.testimonial-card:hover{transform:translateY(-10px);box-shadow:0 12px 25px #7c3aed40}.testimonial-card img{width:60px;height:60px;border-radius:50%;margin-bottom:15px}.footer{padding:40px 50px;text-align:center;background:#7c3aed;color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@media (max-width: 1024px){.hero{flex-direction:column;text-align:center}.hero-image{width:70%;margin-top:30px}.steps,.feature-cards,.testimonial-cards{flex-direction:column;align-items:center}}.analysis-container{background-color:var(--card-background);padding:24px;border-radius:12px;box-shadow:var(--box-shadow)}.analyze-button{display:block;width:100%;padding:15px;font-size:1.2rem;margin-bottom:30px}.results-container{margin-top:20px}.cluster{background-color:var(--background-color);padding:20px;border-radius:8px;margin-bottom:20px;border-left:4px solid var(--primary-blue)}.cluster h4{margin-top:0}.action-plan{margin-top:15px;border-top:1px solid var(--border-color);padding-top:15px}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.view-submissions-link{padding:10px 15px;text-decoration:none;background-color:#ecf0f1;color:var(--secondary-text);border-radius:8px;font-weight:500;font-size:.9rem}.analysis-container{background-color:transparent;padding:0;box-shadow:none}.analyze-button.large{padding:20px 30px;font-size:1.5rem;font-weight:700;border-radius:12px}.report-section{background-color:var(--card-background);padding:24px;border-radius:12px;box-shadow:var(--box-shadow);margin-top:30px}.stats-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.stat-item h4{margin-top:0;margin-bottom:15px;color:var(--secondary-text);font-weight:500}.progress-bar{display:flex;height:30px;background-color:#fbeae9;border-radius:8px;overflow:hidden;font-size:.8rem;color:#fff;font-weight:700}.progress-correct{background-color:#2ecc71;display:flex;align-items:center;justify-content:center}.progress-incorrect{background-color:#e74c3c;display:flex;align-items:center;justify-content:center}.stat-item p{margin:0;font-size:1rem}.stat-item p span{font-size:2.5rem;font-weight:700;color:var(--primary-blue);margin-right:10px}.chart-and-clusters{display:grid;grid-template-columns:1fr 2fr;gap:24px}.chart-container{display:flex;flex-direction:column;align-items:center}.chart-container h4{margin-top:0;margin-bottom:15px;color:var(--secondary-text);font-weight:500}.clusters-container h4{margin-top:0;font-size:1.2rem;margin-bottom:20px}.cluster h5{font-size:1rem;margin-bottom:8px;color:var(--primary-text)}.cluster h6{font-size:.9rem;color:var(--secondary-text);margin-bottom:5px;margin-top:15px}.cluster ul{padding-left:20px;font-style:italic;font-size:.9rem;color:#7f8c8d}.loading-dots{text-align:center;margin-top:20px}.loading-dots div{width:12px;height:12px;background-color:var(--primary-blue);border-radius:50%;display:inline-block;animation:bounce 1.4s infinite ease-in-out both}.loading-dots div:nth-child(1){animation-delay:-.32s}.loading-dots div:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.submissions-container{background-color:var(--card-background);padding:24px;border-radius:12px;box-shadow:var(--box-shadow)}.back-link{display:inline-block;margin-bottom:20px;color:var(--primary-blue);text-decoration:none;font-weight:500}.submission-list{list-style-type:none;padding:0}.submission-item{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid var(--border-color)}.student-email{font-weight:500}.view-submission-btn{padding:8px 12px;font-size:.9rem;background-color:transparent;color:var(--primary-blue);border:1px solid var(--primary-blue);border-radius:6px;cursor:pointer}.submission-actions{display:flex;gap:10px}.view-qa-btn{padding:8px 12px;font-size:.9rem;background-color:transparent;color:var(--primary-blue);border:1px solid var(--primary-blue);border-radius:6px;cursor:pointer}.download-submission-link{display:inline-block;padding:8px 12px;font-size:.9rem;background-color:var(--primary-blue);color:#270434;border:1px solid var(--primary-blue);border-radius:6px;cursor:pointer;text-decoration:none;transition:background-color .2s ease-in-out,border-color .2s ease-in-out}.download-submission-link:hover{background-color:#5a2e9e;border-color:#5a2e9e;color:#f0f8ff}
