@import"https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700&display=swap";html{direction:rtl}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#1e293b;background-color:#f8fafc;direction:rtl;text-align:right}#root{min-height:100vh;display:flex;flex-direction:column}*{direction:inherit}input[type=tel],input[type=password]{direction:ltr;text-align:left}html{scroll-behavior:smooth}*:focus{outline:2px solid #3b82f6;outline-offset:2px}button{font-family:inherit}ul,ol{list-style:none}a{text-decoration:none;color:inherit}@media (max-width: 768px){body{font-size:14px}}@media (max-width: 480px){body{font-size:13px}}.navbar{background:linear-gradient(135deg,#fff,#f1f5f9);color:#1e293b;padding:1rem 0;box-shadow:0 2px 10px #00000014;position:sticky;top:0;z-index:1000;border-bottom:2px solid #e2e8f0}.navbar-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.navbar-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:42px;height:42px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer}.navbar-toggle .bar{width:22px;height:2px;background:#1e293b}.navbar-brand{display:flex;align-items:center;margin-left:auto}.navbar-logo{height:70px;width:auto;transition:all .3s ease}.navbar-logo:hover{transform:scale(1.05);filter:drop-shadow(0 4px 12px rgba(59,130,246,.2))}.navbar-actions{display:flex;align-items:center}.login-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #3b82f64d}.login-button:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.user-menu{position:relative}.user-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:12px 20px;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 4px 15px #3b82f64d}.user-button:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.user-name{font-weight:600}.dropdown-arrow{font-size:12px;transition:transform .3s ease}.user-button:hover .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 10px 30px #00000026;padding:16px;margin-top:8px;min-width:250px;z-index:1001;animation:dropdownFadeIn .3s ease;border:1px solid #e2e8f0}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:8px 0;border-bottom:1px solid #e2e8f0;margin-bottom:12px;color:#1e293b;text-align:center}.dropdown-item{padding:8px 0;color:#64748b;font-size:14px;border-bottom:1px solid #f1f5f9}.dropdown-item:last-child{border-bottom:none}.dropdown-button{width:100%;background:#ef4444;color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:12px}.dropdown-button:hover{background:#dc2626;transform:translateY(-1px)}.logout-button{background:#ef4444}.logout-button:hover{background:#dc2626}@media (max-width: 768px){.navbar-container{padding:0 15px}.navbar-toggle{display:flex}.navbar-actions{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 6px 20px #0000000f;padding:10px 15px;display:none;justify-content:flex-end;gap:10px;z-index:1000}.navbar-actions.open{display:flex}.navbar-logo{height:55px}.login-button,.user-button{padding:10px 20px;font-size:14px}.dropdown-menu{min-width:200px;right:0;left:auto}}@media (max-width: 480px){.navbar-logo{height:45px}.login-button,.user-button{padding:8px 16px;font-size:13px}.navbar-container{padding:0 10px}}.footer{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#475569;padding:1.5rem 0 1rem;margin-top:auto;border-top:1px solid #cbd5e1}.footer-container{max-width:1200px;margin:0 auto;padding:0 20px}.footer-bottom{text-align:center;color:#64748b}.footer-bottom p{margin:0;font-size:.9rem}@media (max-width: 768px){.footer{padding:1rem 0 .5rem}.footer-container{padding:0 15px}}@media (max-width: 480px){.footer{padding:.75rem 0 .5rem}.footer-container{padding:0 10px}}.home{min-height:100vh}.hero{background:linear-gradient(135deg,#fff,#f1f5f9);color:#1e293b;padding:4rem 0;display:flex;align-items:center;min-height:80vh;border-bottom:2px solid #e2e8f0}.hero-content{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1.5rem;line-height:1.2;color:#1e293b}.hero-subtitle{font-size:1.3rem;line-height:1.6;margin-bottom:2rem;color:#64748b}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.hero-visual{display:flex;justify-content:center;align-items:center}.hero-image{width:300px;height:300px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #3b82f6;box-shadow:0 20px 40px #3b82f626}.placeholder-image{font-size:8rem;opacity:.8;color:#1d4ed8}.features{padding:5rem 0;background:#fff}.section-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:3rem;color:#1e293b}.features-grid{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.feature-card{background:#fff;padding:2rem;border-radius:15px;text-align:center;box-shadow:0 5px 20px #00000014;transition:all .3s ease;border:1px solid #e2e8f0}.feature-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #3b82f626;border-color:#3b82f6}.feature-icon{font-size:4rem;margin-bottom:1rem;color:#3b82f6}.feature-card h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#1e293b}.feature-card p{color:#64748b;line-height:1.6}.about{padding:5rem 0;background:#f8fafc}.about-content{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.about-text h2{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;color:#1e293b}.about-text p{font-size:1.1rem;line-height:1.8;color:#64748b;margin-bottom:1rem}.about-visual{display:flex;justify-content:center;align-items:center}.about-visual .placeholder-image{font-size:6rem;opacity:.6;color:#3b82f6}.cta{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;padding:5rem 0;text-align:center}.cta h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}@media (max-width: 768px){.hero-content{grid-template-columns:1fr;text-align:center;gap:2rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-buttons{justify-content:center}.hero-image{width:250px;height:250px}.placeholder-image{font-size:6rem}.section-title{font-size:2rem}.features-grid{grid-template-columns:1fr;gap:1.5rem}.about-content{grid-template-columns:1fr;text-align:center;gap:2rem}.about-text h2,.cta h2{font-size:2rem}}@media (max-width: 480px){.hero{padding:2rem 0;min-height:70vh}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-buttons{flex-direction:column;align-items:center}.hero-image{width:200px;height:200px}.placeholder-image{font-size:4rem}.features,.about,.cta{padding:3rem 0}.section-title,.about-text h2,.cta h2{font-size:1.5rem}}.login-page{min-height:100vh;background:linear-gradient(135deg,#fff,#f1f5f9);display:flex;align-items:center;justify-content:center;padding:20px}.login-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000001a;padding:3rem;width:100%;max-width:450px;text-align:center;border:1px solid #e2e8f0}.login-header{margin-bottom:2rem}.login-header h1{font-size:2.5rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.login-header p{color:#64748b;font-size:1.1rem}.login-form{margin-bottom:2rem}.login-button{width:100%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:15px;border-radius:10px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem;box-shadow:0 8px 25px #3b82f64d}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 35px #3b82f666}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-footer{margin-bottom:1.5rem;padding:1rem 0;border-top:1px solid #e2e8f0}.login-footer p{color:#64748b;margin-bottom:.5rem}.link-button{background:none;border:none;color:#3b82f6;font-size:16px;font-weight:600;cursor:pointer;text-decoration:underline;transition:color .3s ease}.link-button:hover{color:#1d4ed8}.back-home{padding-top:1rem;border-top:1px solid #e2e8f0}.back-home .link-button{color:#64748b}.back-home .link-button:hover{color:#475569}@media (max-width: 768px){.login-container{padding:2rem;margin:20px}.login-header h1{font-size:2rem}.login-header p{font-size:1rem}.login-button{padding:14px;font-size:16px}}@media (max-width: 480px){.login-page{padding:10px}.login-container{padding:1.5rem;margin:10px}.login-header h1{font-size:1.8rem}.login-header p{font-size:.9rem}.login-button{padding:12px;font-size:15px}}*{font-family:Tajawal,sans-serif;box-sizing:border-box}.dashboard{min-height:100vh;background:#f8fafc}.dashboard-header{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:3rem 0;text-align:center}.dashboard-header h1{font-size:3rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 10px rgba(0,0,0,.3)}.dashboard-header p{font-size:1.3rem;opacity:.9}.dashboard-content{max-width:1200px;margin:0 auto;padding:2rem 20px}.welcome-card{background:#fff;border-radius:20px;padding:2.5rem;margin-bottom:2rem;box-shadow:0 10px 30px #00000014;display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:center;border:1px solid #e2e8f0}.welcome-content h2{font-size:2.2rem;font-weight:700;color:#1e293b;margin-bottom:1rem}.welcome-content p{font-size:1.1rem;color:#64748b;line-height:1.6}.welcome-visual{display:flex;justify-content:center;align-items:center}.welcome-visual .placeholder-image{font-size:5rem;opacity:.6;color:#3b82f6}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 5px 20px #00000014;display:flex;align-items:center;gap:1rem;transition:all .3s ease;border:1px solid #e2e8f0}.stat-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #3b82f626;border-color:#3b82f6}.stat-icon{font-size:3rem;opacity:.7;color:#3b82f6}.stat-content h3{font-size:1.1rem;font-weight:600;color:#64748b;margin-bottom:.5rem}.stat-number{font-size:2rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.stat-description{font-size:.9rem;color:#64748b}.activity-section{background:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 30px #00000014;border:1px solid #e2e8f0}.activity-section h2{font-size:1.8rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:10px;background:#f8fafc;transition:all .3s ease;border:1px solid #e2e8f0}.activity-item:hover{background:#f1f5f9;transform:translate(-5px);border-color:#3b82f6}.activity-icon{font-size:2rem;opacity:.7;color:#3b82f6}.activity-content h4{font-size:1.1rem;font-weight:600;color:#1e293b;margin-bottom:.25rem}.activity-content p{color:#64748b;font-size:.9rem}.quick-actions{background:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 30px #00000014;border:1px solid #e2e8f0}.quick-actions h2{font-size:1.8rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.action-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:1.5rem;border-radius:15px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem;box-shadow:0 8px 25px #3b82f64d}.action-button:hover{transform:translateY(-5px);box-shadow:0 15px 40px #3b82f666}.action-icon{font-size:2rem}.system-status{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 10px 30px #00000014;border:1px solid #e2e8f0}.system-status h2{font-size:1.8rem;font-weight:700;color:#1e293b;margin-bottom:1.5rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.status-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.status-label{font-weight:600;color:#1e293b}.status-value{font-weight:600;padding:.25rem .75rem;border-radius:20px;font-size:.9rem}.status-ok{background:#dcfce7;color:#16a34a}.status-warning{background:#fef3c7;color:#d97706}.status-error{background:#fee2e2;color:#dc2626}.student-info{display:flex;gap:2rem;margin-top:1rem;flex-wrap:wrap;justify-content:center}.student-info span{background:#fff3;padding:.5rem 1rem;border-radius:20px;font-weight:500}.test-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #e2e8f0}.tab-button{background:none;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;color:#64748b;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6}.tab-button:hover{color:#3b82f6}.tests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.test-card{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 5px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease}.test-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #3b82f626;border-color:#3b82f6}.test-card.completed{border-left:4px solid #10b981}.test-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.test-header h3{font-size:1.3rem;font-weight:700;color:#1e293b;margin:0;flex:1}.test-type{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:600;white-space:nowrap}.test-details{margin-bottom:1.5rem}.test-details p{margin:.5rem 0;color:#64748b;font-size:.95rem}.test-details strong{color:#1e293b}.score-display{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:1rem;margin-top:1rem}.score-display p{margin:.25rem 0}.pending-grade{color:#f59e0b;font-weight:600;font-style:italic}.test-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-start-test{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #10b9814d;flex:1;min-width:140px}.btn-start-test:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b98166}.btn-completed{background:#e5e7eb;color:#6b7280;border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:not-allowed;flex:1;min-width:140px}.btn-view-result{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #8b5cf64d;flex:1;min-width:140px}.btn-view-result:hover{transform:translateY(-2px);box-shadow:0 8px 25px #8b5cf666}.no-tests{text-align:center;padding:3rem;color:#64748b}.no-tests p{font-size:1.1rem;margin:0}@media (max-width: 768px){.dashboard-header{padding:2rem 0}.dashboard-header h1{font-size:2.5rem}.dashboard-header p{font-size:1.1rem}.dashboard-content{padding:1.5rem 15px}.student-info{gap:1rem}.test-tabs{flex-direction:column;gap:0}.tab-button{padding:.75rem 1rem;text-align:center}.tests-grid{grid-template-columns:1fr;gap:1rem}.test-header{flex-direction:column;gap:.5rem;align-items:flex-start}.test-type{align-self:flex-start}.test-actions{flex-direction:column}.btn-start-test,.btn-completed,.btn-view-result{min-width:auto;width:100%}.welcome-card{grid-template-columns:1fr;text-align:center;padding:2rem}.welcome-content h2{font-size:1.8rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.actions-grid,.status-grid{grid-template-columns:1fr}}.tests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.test-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #00000014;transition:all .3s ease;border:1px solid #e2e8f0;display:flex;flex-direction:column}.test-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #0000001f;border-color:#3b82f6}.test-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.test-header h3{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0;flex:1}.test-type{background:#e0f2fe;color:#0369a1;font-size:.8rem;font-weight:600;padding:.25rem .75rem;border-radius:1rem;white-space:nowrap}.test-meta{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0;flex:1}.test-meta span{display:flex;align-items:center;gap:.5rem;color:#64748b;font-size:.95rem}.test-actions{margin-top:auto;display:flex;gap:1rem}.view-result-button,.btn-start-test,.btn-completed{flex:1;padding:.75rem 1rem;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.view-result-button{background-color:#3b82f6;color:#fff}.view-result-button:hover{background-color:#2563eb}.btn-start-test{background-color:#10b981;color:#fff}.btn-start-test:hover{background-color:#059669}.btn-completed{background-color:#e2e8f0;color:#64748b;cursor:not-allowed}.score{font-weight:700;font-size:1.1rem;margin-right:auto}.score.pass{color:#10b981}.score.fail{color:#ef4444}.score-info{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.correct-answers{font-size:.9rem;color:#64748b}.test-tabs{display:flex;gap:1rem;margin-bottom:1.5rem;border-bottom:1px solid #e2e8f0;padding-bottom:.5rem;flex-wrap:wrap}.tab-button{padding:.75rem 1.5rem;background:none;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;color:#64748b;transition:all .2s ease}.tab-button:hover{background:#f1f5f9;color:#3b82f6}.tab-button.active{background:#3b82f6;color:#fff}.graph-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #00000014;border:1px solid #e2e8f0;margin-top:1.5rem}.graph-container{margin-top:1rem;height:100%;min-height:400px}.no-tests,.no-data{text-align:center;padding:3rem 1rem;color:#64748b;background:#f8fafc;border-radius:12px;margin-top:1rem}.no-tests p,.no-data p{font-size:1.1rem;margin:0}@media (max-width: 768px){.tests-grid{grid-template-columns:1fr}.test-tabs{flex-direction:column;gap:.5rem}.tab-button{width:100%;justify-content:center}}@media (max-width: 480px){.dashboard-header h1{font-size:1.8rem}.test-header{flex-direction:column;align-items:flex-start}.test-type{align-self:flex-start}.test-actions{flex-direction:column}.view-result-button,.btn-start-test,.btn-completed{width:100%}.score-info{flex-direction:column;align-items:flex-start}}.dashboard-header p{font-size:1rem}.dashboard-content{padding:1rem 10px}.welcome-card{padding:1.5rem}.welcome-content h2{font-size:1.5rem}.stat-card{padding:1rem}.stat-icon{font-size:2rem}.stat-number{font-size:1.5rem}.activity-section,.quick-actions,.system-status{padding:1.5rem}.sidebar{width:250px;background-color:#f4f6f8;padding:28px 20px 20px;height:100vh;position:fixed;top:76px;right:0;border-left:1px solid #e0e0e0}.sidebar-nav{display:flex;flex-direction:column}.sidebar-link{padding:10px 15px;margin-bottom:10px;border-radius:5px;color:#333;text-decoration:none;transition:background-color .3s,color .3s;font-weight:500}.sidebar-link:hover{background-color:#e9ecef}.sidebar-link.active{background-color:#007bff;color:#fff;box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.sidebar{position:fixed;width:64px;height:calc(100vh - 60px);top:76px;right:0;border-left:1px solid #e0e0e0;border-bottom:none;padding:18px 8px 10px}.sidebar-nav{flex-direction:column;align-items:center;gap:8px}.sidebar-link{margin-bottom:6px;white-space:nowrap;display:flex;align-items:center;justify-content:center;padding:10px}.sidebar-link .label{display:none}.sidebar-link .icon{font-size:20px}}.admin-dashboard-layout{display:flex;padding-top:60px}.admin-main-content{flex-grow:1;padding:20px;margin-right:250px;width:calc(100% - 250px)}@media (max-width: 768px){.admin-main-content{margin-right:0;width:100%}}.student-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;margin-bottom:20px}.student-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.student-card-header h3{margin:0;color:#007bff}.student-card-actions .edit-btn,.student-card-actions .delete-btn{border:none;padding:8px 12px;border-radius:5px;cursor:pointer;margin-left:10px}.edit-btn{background-color:#ffc107;color:#fff}.delete-btn{background-color:#dc3545;color:#fff}.student-card-body p{margin:5px 0}.modal-content{background-color:#fff;padding:30px;border-radius:8px;width:90%;max-width:500px;box-shadow:0 5px 15px #0000004d}.modal-content h2{margin-top:0;margin-bottom:25px;color:#333}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.modal-actions{display:flex;justify-content:flex-end;margin-top:30px}.save-btn,.cancel-btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:16px}.save-btn{background-color:#007bff;color:#fff;margin-left:10px}.cancel-btn{background-color:#6c757d;color:#fff}.student-management{padding:20px}.student-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.student-management-header h1{font-size:28px;color:#333}.add-student-btn{background-color:#007bff;color:#fff;border:none;padding:12px 20px;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .3s}.add-student-btn:hover{background-color:#0056b3}.filters{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;background-color:#f8f9fa;padding:20px;border-radius:8px}.filters input,.filters select{padding:10px;border:1px solid #ccc;border-radius:5px;min-width:200px}.student-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:12px 18px;border-radius:6px;color:#fff;font-size:14px;box-shadow:0 4px 12px #00000026;z-index:1000}.toast.success{background-color:#28a745}.toast.error{background-color:#dc3545}.test-management{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #ecf0f1}.page-header h1{margin:0;color:#2c3e50;font-size:28px}.btn-primary{padding:12px 24px;background:#3498db;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;transition:all .3s ease}.btn-primary:hover{background:#2980b9;transform:translateY(-2px)}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}.tests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:25px}.no-tests{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#7f8c8d;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a}.test-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 15px #0000001a;border-right:4px solid #3498db;transition:all .3s ease}.test-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00000026}.test-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.test-header h3{margin:0;color:#2c3e50;font-size:20px;line-height:1.3;flex:1}.test-type{background:#ecf0f1;color:#7f8c8d;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;white-space:nowrap;margin-right:15px}.test-details{margin-bottom:20px}.test-details p{margin:8px 0;color:#7f8c8d;font-size:14px}.test-details strong{color:#2c3e50}.test-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.stat{display:flex;flex-direction:column;align-items:center;flex:1}.stat-number{font-size:24px;font-weight:700;color:#3498db}.stat-label{font-size:12px;color:#7f8c8d;margin-top:4px}.test-controls{margin-bottom:20px}.view-permission{display:flex;align-items:center;gap:8px}.view-permission label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#2c3e50}.view-permission input[type=checkbox]{transform:scale(1.2)}.test-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-outline{padding:8px 16px;background:transparent;color:#3498db;border:2px solid #3498db;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s ease;flex:1;min-width:100px}.btn-outline:hover{background:#3498db;color:#fff}.btn-secondary{padding:8px 16px;background:#95a5a6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s ease;flex:1;min-width:100px}.btn-secondary:hover{background:#7f8c8d}.btn-danger{padding:8px 16px;background:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s ease;flex:1;min-width:100px}.btn-danger:hover{background:#c0392b}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.test-modal{width:800px}.submissions-modal{width:700px;max-height:80vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px;border-bottom:1px solid #ecf0f1}.modal-header h2{margin:0;color:#2c3e50;font-size:24px}.close-btn{background:none;border:none;font-size:32px;cursor:pointer;color:#fff;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;font-weight:700}.close-btn:hover{background:#fff3;color:#fff}.test-form{padding:25px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;color:#2c3e50;font-weight:500;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:12px;border:2px solid #ecf0f1;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3498db}.form-group textarea{min-height:80px;resize:vertical}.questions-section{margin-bottom:30px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #ecf0f1}.test-controls{margin:20px 0;padding:15px 0;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1}.toggle-group{display:flex;gap:20px;flex-wrap:wrap}.toggle-item{display:flex;align-items:center}.toggle-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:20px;background:#e0e0e0;border-radius:10px;position:relative;cursor:pointer;outline:none;transition:all .3s ease;margin-left:10px}.toggle-switch:checked{background:#3b82f6}.toggle-switch:before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:2px;left:2px;transition:all .3s ease}.toggle-switch:checked:before{left:22px}.toggle-label{font-size:14px;color:#4a5568;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center}.section-header h3{margin:0;color:#2c3e50;font-size:20px}.question-form{background:#f8f9fa;border-radius:10px;padding:20px;margin-bottom:20px;border:2px solid #ecf0f1}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.question-header h4{margin:0;color:#2c3e50;font-size:16px}.btn-danger-small{padding:6px 12px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.btn-danger-small:hover{background:#c0392b}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:15px}.bubble-answers-section{margin-bottom:30px}.bubble-answers-section h3{margin:0 0 20px;color:#2c3e50;font-size:18px}.bubble-answers-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;max-height:300px;overflow-y:auto;padding:15px;background:#f8f9fa;border-radius:8px}.bubble-answer-item{display:flex;flex-direction:column;align-items:center;gap:5px}.bubble-answer-item label{font-size:12px;color:#7f8c8d;font-weight:500}.bubble-answer-item select{padding:4px 8px;font-size:12px;border:1px solid #bdc3c7;border-radius:4px;width:50px}.form-actions{display:flex;gap:15px;justify-content:flex-end;padding-top:20px;border-top:1px solid #ecf0f1}.submissions-list{padding:20px;max-height:50vh;overflow-y:auto}.submission-item{background:#f8f9fa;border-radius:8px;padding:15px;margin-bottom:12px;border:1px solid #ecf0f1}.student-info{margin-bottom:15px}.student-info h4{margin:0 0 8px;color:#2c3e50;font-size:18px}.student-info p{margin:4px 0;color:#7f8c8d;font-size:14px}.submission-details{margin-bottom:15px}.submission-details p{margin:4px 0;color:#7f8c8d;font-size:14px}.score{color:#27ae60;font-weight:700}.no-score{color:#f39c12;font-style:italic}.submission-actions{margin-bottom:15px}.grading-form{background:#fff;border-radius:8px;padding:20px;border:2px solid #3498db}.grading-form .form-group{margin-bottom:15px}.grading-form .form-actions{margin-top:15px;padding-top:15px;border-top:1px solid #ecf0f1}.grading-form .test-controls{margin-top:20px;padding-top:15px;border-top:1px solid #ecf0f1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.image-viewer-modal .modal-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)!important;margin:0;z-index:1060;width:auto;max-width:90%;max-height:90vh}.image-viewer-modal .modal-content{border-radius:12px;border:none;box-shadow:0 5px 30px #0000004d;overflow:hidden;width:100%;max-width:500px;margin:0 auto}.image-viewer-modal .modal-header{background-color:#2c3e50;color:#fff;border-bottom:none;padding:10px 15px}.image-viewer-modal .modal-title{font-weight:600;font-size:1.1rem}.image-viewer-modal .modal-body{padding:10px;background-color:#f8f9fa;max-height:70vh;display:flex;align-items:center;justify-content:center;overflow-y:auto}.image-viewer-container{display:flex;align-items:center;justify-content:center;width:100%;position:relative;padding:15px 0}.image-container{max-width:80%;position:relative;text-align:center}.image-container img{max-height:60vh;max-width:100%;box-shadow:0 2px 8px #0000001a;border-radius:6px;background-color:#fff;padding:5px;display:block;margin:0 auto}.nav-arrow{background:#fffffff2;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 5px #0003;transition:all .2s ease;position:fixed;top:50%;transform:translateY(-50%);z-index:1070}.nav-arrow:hover{background:#3498db;color:#fff;transform:translateY(-50%) scale(1.1)}.nav-arrow:disabled{opacity:.5;cursor:not-allowed;transform:translateY(-50%)}.nav-arrow:disabled:hover{background:#ffffffe6;color:inherit}.left-arrow{left:15px}.right-arrow{right:15px}.image-counter{position:absolute;bottom:-25px;left:0;right:0;text-align:center;font-size:.8rem;color:#7f8c8d}.no-images{padding:30px;color:#7f8c8d;font-size:1rem}.test-stats{display:flex;gap:15px;margin:15px 0;flex-wrap:wrap}.test-stats .stat{display:flex;flex-direction:column;align-items:center;min-width:60px}.test-stats .stat-number{font-size:1.5rem;font-weight:600;color:#2c3e50}.test-stats .stat-label{font-size:.8rem;color:#7f8c8d;margin-top:2px}.test-stats .btn-outline-primary{padding:.25rem .75rem;font-size:.8rem;display:flex;align-items:center;gap:4px;border-radius:20px}.test-stats .btn-outline-primary:hover{background-color:#3498db;color:#fff}@media (max-width: 768px){.image-viewer-modal .modal-dialog{max-width:95%}.image-viewer-modal .modal-body{padding:5px;max-height:60vh}.image-container{max-width:95%}.image-container img{max-height:50vh}.nav-arrow{width:32px;height:32px}.left-arrow{left:5px}.right-arrow{right:5px}.image-counter{font-size:.75rem;bottom:-20px}}.image-viewer-modal .modal-footer{background-color:#f8f9fa;border-top:1px solid #e9ecef;padding:10px 15px}.image-viewer-modal .btn-danger{display:flex;align-items:center;gap:5px;background-color:#e74c3c;border:none;transition:all .3s ease}.image-viewer-modal .btn-danger:hover{background-color:#c0392b;transform:translateY(-1px)}.image-viewer-modal .btn-secondary{background-color:#7f8c8d;border:none;transition:all .3s ease}.image-viewer-modal .btn-secondary:hover{background-color:#6c7a7d;transform:translateY(-1px)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:18px;color:#7f8c8d}@media (max-width: 768px){.tests-grid,.form-grid,.options-grid{grid-template-columns:1fr}.bubble-answers-grid{grid-template-columns:repeat(5,1fr)}.test-actions{flex-direction:column}.test-actions button{flex:none}.page-header{flex-direction:column;gap:15px;align-items:stretch}.modal-content{margin:10px;max-width:calc(100vw - 20px)}.test-modal,.submissions-modal{width:100%}}.test-image-viewer{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1000px;margin:0 auto;padding:1rem}.image-container{width:100%;margin-bottom:1.5rem;background-color:#f5f5f5;border-radius:8px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.test-image{display:block;width:100%;max-height:70vh;margin:0 auto;object-fit:contain}.navigation-controls{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.nav-button{background-color:#3b82f6;color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s}.nav-button:hover{background-color:#2563eb}.nav-button:disabled{background-color:#9ca3af;cursor:not-allowed}.page-indicator{font-size:1.1rem;font-weight:500;color:#4b5563}@media (max-width: 768px){.test-image{max-height:60vh}}@media (max-width: 480px){.test-image{max-height:50vh}.page-indicator{font-size:1rem}}.test-taking{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh}.test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a}.test-header h1{margin:0;color:#2c3e50}.timer{padding:10px 20px;background:#3498db;color:#fff;border-radius:20px;font-weight:700;font-size:18px}.timer.warning{background:#e74c3c;animation:pulse 1s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.test-content{margin-bottom:30px}.mcq-test{display:flex;flex-direction:column;gap:20px}.question-card{background:#fff;border-radius:10px;padding:25px;box-shadow:0 2px 10px #0000001a;border-right:4px solid #3498db}.question-header h3{margin:0 0 15px;color:#2c3e50;font-size:18px}.question-content p{font-size:16px;line-height:1.6;margin-bottom:15px;color:#34495e}.question-media img{max-width:100%;max-height:300px;border-radius:8px}.question-media video{max-width:100%;max-height:300px;border-radius:8px}.options{display:flex;flex-direction:column;gap:10px;margin-top:20px}.option{display:flex;align-items:center;padding:12px 15px;border:2px solid #ecf0f1;border-radius:8px;cursor:pointer;transition:all .3s ease}.option:hover{border-color:#3498db;background:#f8f9fa}.option input[type=radio]{margin-left:10px;transform:scale(1.2)}.option input[type=radio]:checked+span{color:#3498db;font-weight:700}.open-answer textarea{width:100%;min-height:120px;padding:15px;border:2px solid #ecf0f1;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical}.open-answer textarea:focus{outline:none;border-color:#3498db}.bubble-sheet-test{display:flex;gap:30px;height:70vh;min-height:500px;overflow:hidden;position:relative}.pdf-container{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;background:#f5f5f5}.pdf-container,body{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pdf-viewer{flex:1;background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a;height:100%;display:flex;flex-direction:column;position:relative}.pdf-container{flex:1;overflow:hidden;position:relative}.pdf-container object{width:100%;height:100%;border:none}.pdf-viewer.collapsed{height:80px;overflow:hidden}.pdf-viewer.collapsed iframe{display:none}.pdf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.pdf-header h3{margin:0;color:#2c3e50}.btn-hide-bubbles,.btn-hide-upload{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.btn-hide-bubbles:hover,.btn-hide-upload:hover{transform:translateY(-2px);box-shadow:0 4px 15px #e74c3c4d}.bubble-sheet{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a;width:40%;height:100%;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;position:relative}.bubble-sheet::-webkit-scrollbar{width:8px}.bubble-sheet::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.bubble-sheet::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.bubble-sheet::-webkit-scrollbar-thumb:hover{background:#555}.bubble-sheet-container{display:inline-block;min-width:100%}.bubble-row{display:flex;margin-bottom:10px;gap:15px}.bubble-question{display:flex;align-items:center;min-width:120px;padding:5px 10px;background:#f8f9fa;border-radius:5px;box-shadow:0 1px 3px #0000001a}.question-number{font-weight:700;margin-right:10px;min-width:25px;text-align:center}.bubble-options{display:flex;gap:5px}.bubble-option{display:flex;align-items:center;cursor:pointer}.bubble{display:inline-block;width:20px;height:20px;border:2px solid #bdc3c7;border-radius:50%;position:relative;cursor:pointer;transition:all .2s}.bubble-option input[type=radio]:checked+.bubble{background-color:#3498db;border-color:#3498db}.bubble-option input[type=radio]:disabled+.bubble{opacity:.6;cursor:not-allowed}.bubble-sheet h3{margin:0 0 20px;color:#2c3e50;text-align:center}.bubble-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.bubble-question{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #ecf0f1;border-radius:8px}.question-number{font-weight:700;color:#2c3e50;min-width:25px}.bubble-options{display:flex;gap:8px}.bubble-option{cursor:pointer}.bubble{display:inline-block;width:30px;height:30px;border:2px solid #bdc3c7;border-radius:50%;text-align:center;line-height:26px;font-weight:700;transition:all .3s ease}.bubble-option input[type=radio]{display:none}.bubble-option input[type=radio]:checked+.bubble{background:#3498db;color:#fff;border-color:#3498db}.physical-sheet-test{display:grid;grid-template-columns:1fr 400px;gap:30px}.bubble-sheet-upload{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a;text-align:center}.bubble-sheet-upload h3{margin:0 0 15px;color:#2c3e50}.bubble-sheet-upload p{color:#7f8c8d;margin-bottom:20px}.file-input{width:100%;padding:15px;border:2px dashed #bdc3c7;border-radius:8px;background:#f8f9fa;cursor:pointer;transition:all .3s ease}.file-input:hover{border-color:#3498db;background:#e3f2fd}.file-selected{margin-top:10px;color:#27ae60;font-weight:700}.test-footer{position:sticky;bottom:0;background:#fff;padding:20px;border-top:1px solid #ecf0f1;text-align:center;box-shadow:0 -2px 10px #0000001a}.submit-btn{padding:15px 40px;font-size:18px;font-weight:700;background:#27ae60;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.submit-btn:hover:not(:disabled){background:#229954;transform:translateY(-2px)}.submit-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}@media (max-width: 768px){.bubble-sheet-test,.physical-sheet-test,.bubble-grid{grid-template-columns:1fr}.test-header{flex-direction:column;gap:15px;text-align:center}}@media (max-width: 600px){.bubble-sheet{width:100%!important;padding:12px;height:auto;min-height:0}.bubble-sheet-container{display:block;width:100%}.bubble-row{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.bubble-question{width:100%;min-width:0;padding:12px;align-items:flex-start;gap:12px}.question-number{min-width:36px;width:auto}.bubble-options{display:flex;gap:12px;flex-wrap:wrap}.bubble{width:40px;height:40px;line-height:36px;border-width:2px;font-size:1rem}.submit-btn{width:100%;padding:14px 12px;font-size:16px}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.grade-modal{background:#fff;border-radius:12px;padding:0;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:12px 12px 0 0;text-align:center}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.modal-body{padding:30px 20px}.grade-display{text-align:center}.test-title-container{display:flex;align-items:center;gap:20px}.score-circle{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#4caf50,#45a049);display:flex;align-items:center;justify-content:center;margin:0 auto 30px;box-shadow:0 8px 20px #4caf504d}.score-number{font-size:2rem;font-weight:700;color:#fff}.grade-details{text-align:right;direction:rtl}.grade-details p{margin:15px 0;font-size:1.1rem;line-height:1.5}.grade-details strong{color:#333;margin-left:10px}.modal-footer{padding:20px;text-align:center;border-top:1px solid #eee}.close-modal-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 30px;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.close-modal-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}@media print{body *{visibility:hidden}#no-print,#no-print *{display:none!important}}.pdf-container{position:relative;width:100%;height:600px;overflow:hidden;border-radius:8px;box-shadow:0 2px 10px #0000001a;background:#f5f5f5}.pdf-container object{width:100%;height:100%;border:none;pointer-events:auto}.pdf-overlay{position:absolute;inset:0;z-index:10;pointer-events:none}.test-result{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh}.result-header{display:flex;align-items:center;gap:20px;margin-bottom:30px}.back-btn{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s ease}.back-btn:hover{background:#5a6268;transform:translateY(-1px)}.result-header h1{margin:0;color:#2c3e50}.result-content{display:flex;flex-direction:column;gap:25px}.test-info-card{background:#fff;border-radius:10px;padding:25px;box-shadow:0 2px 10px #0000001a;border-right:4px solid #3498db}.test-info-card h2{margin:0 0 15px;color:#2c3e50;font-size:24px}.test-meta{display:flex;gap:30px;color:#7f8c8d;font-size:14px}.score-card{background:#fff;border-radius:10px;padding:30px;box-shadow:0 2px 10px #0000001a;display:flex;align-items:center;gap:30px}.score-circle{width:120px;height:120px;border:8px solid;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.score-value{font-size:32px;font-weight:700}.score-details h3{margin:0 0 10px;color:#2c3e50;font-size:24px}.score-description{color:#6c757d;margin:10px 0 15px;font-size:16px;font-weight:500}.rank-display{margin-top:20px;padding-top:15px;border-top:1px solid #eee}.rank-value{display:block;font-size:15px;color:#495057;margin-bottom:8px;font-weight:500}.rank-progress{width:100%;height:8px;background-color:#e9ecef;border-radius:4px;overflow:hidden;margin-top:8px}.rank-progress-bar{height:100%;background:linear-gradient(90deg,#4e73df,#224abe);border-radius:4px;transition:width .6s ease;position:relative}.rank-progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffffff1a,#ffffff80,#ffffff1a);animation:shimmer 2s infinite linear}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.teacher-comment-card{background:#f8f9fa;border-radius:10px;padding:25px;border-right:4px solid #f39c12}.teacher-comment-card h3{margin:0 0 15px;color:#2c3e50;font-size:18px}.teacher-comment-card p{margin:0;color:#34495e;line-height:1.6;font-size:16px}.answers-toggle{text-align:center}.btn-outline{padding:12px 30px;background:transparent;color:#3498db;border:2px solid #3498db;border-radius:8px;cursor:pointer;font-size:16px;transition:all .3s ease}.btn-outline:hover{background:#3498db;color:#fff;transform:translateY(-2px)}.answers-section{background:#fff;border-radius:10px;padding:25px;box-shadow:0 2px 10px #0000001a}.answers-comparison h3,.bubble-comparison h3{margin:0 0 25px;color:#2c3e50;font-size:20px;text-align:center}.question-comparison{margin-bottom:25px;border:2px solid #ecf0f1;border-radius:10px;padding:20px}.question-comparison.correct{border-color:#27ae60;background:#f8fff9}.question-comparison.incorrect{border-color:#e74c3c;background:#fff8f8}.question-comparison .question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.question-comparison .question-header h4{margin:0;color:#2c3e50}.result-badge{padding:5px 15px;border-radius:20px;font-size:14px;font-weight:700}.result-badge.correct{background:#27ae60;color:#fff}.result-badge.incorrect{background:#e74c3c;color:#fff}.question-text p{color:#34495e;line-height:1.6;margin-bottom:15px}.question-media{margin:15px 0;text-align:center}.question-media img,.question-media video{max-width:100%;max-height:200px;border-radius:8px}.options-comparison{display:flex;flex-direction:column;gap:8px}.option-item{padding:10px 15px;border-radius:8px;border:2px solid #ecf0f1;display:flex;justify-content:space-between;align-items:center}.option-item.correct-answer{border-color:#27ae60;background:#f8fff9}.option-item.wrong-answer{border-color:#e74c3c;background:#fff8f8}.option-item.student-correct{border-color:#27ae60;background:#e8f5e8}.test-image-viewer-modal{position:fixed;inset:0;background-color:#000c;display:flex;flex-direction:column;z-index:1000;padding:20px}.test-image-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:#2c3e50;color:#fff;border-radius:8px 8px 0 0}.test-image-viewer-header h3{margin:0;color:#fff}.test-image-viewer-content{flex:1;background-color:#fff;border-radius:0 0 8px 8px;overflow:auto;display:flex;justify-content:center;align-items:center;padding:20px}.close-button{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:5px 10px}.close-button:hover{color:#ff6b6b}.header-content{display:flex;align-items:center;gap:20px;flex:1}.view-images-button{background-color:#4a6fa5;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:background-color .3s}.view-images-button:hover{background-color:#3a5a80}.view-images-button i{font-size:16px}.correct-mark,.student-mark{color:#27ae60;font-weight:700;font-size:12px}.wrong-mark{color:#e74c3c;font-weight:700;font-size:12px}.open-answer-comparison{margin-top:15px}.student-answer,.teacher-feedback{margin-bottom:15px;padding:15px;border-radius:8px}.student-answer{background:#f8f9fa;border-right:4px solid #3498db}.teacher-feedback{background:#fff3cd;border-right:4px solid #f39c12}.student-answer h5,.teacher-feedback h5{margin:0 0 10px;color:#2c3e50}.student-answer p,.teacher-feedback p{margin:0;color:#34495e;line-height:1.6}.bubble-grid-comparison{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.bubble-item{padding:15px;border-radius:8px;border:2px solid;display:flex;flex-direction:column;align-items:center;gap:10px}.bubble-item.correct{border-color:#27ae60;background:#f8fff9}.bubble-item.incorrect{border-color:#e74c3c;background:#fff8f8}.question-num{font-weight:700;color:#2c3e50;font-size:16px}.answers{display:flex;flex-direction:column;gap:5px;text-align:center;font-size:14px}.student-answer{color:#7f8c8d}.correct-answer{color:#2c3e50;font-weight:700}.result-icon{font-size:20px;font-weight:700}.result-icon.correct{color:#27ae60}.result-icon.incorrect{color:#e74c3c}.physical-sheet-result{text-align:center;padding:40px;color:#7f8c8d}.physical-sheet-result h3{color:#2c3e50;margin-bottom:15px}.test-pdf-reference{background:#fff;border-radius:10px;padding:25px;box-shadow:0 2px 10px #0000001a}.test-pdf-reference h3{margin:0 0 15px;color:#2c3e50}@media (max-width: 768px){.score-card{flex-direction:column;text-align:center}.test-meta{flex-direction:column;gap:10px}.bubble-grid-comparison{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.result-header{flex-direction:column;align-items:flex-start}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#2c3e50;background-color:#f8fafc}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:20px}.loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:18px;color:#64748b}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f64d}.btn-secondary{background:linear-gradient(135deg,#64748b,#475569);color:#fff}.btn-secondary:hover{background:linear-gradient(135deg,#475569,#334155);transform:translateY(-2px);box-shadow:0 8px 25px #64748b4d}.btn-large{padding:16px 32px;font-size:18px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#1e293b}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;transition:border-color .3s ease;background-color:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.error-message{background-color:#fef2f2;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:20px;border:1px solid #fecaca}.success-message{background-color:#f0fdf4;color:#16a34a;padding:12px;border-radius:8px;margin-bottom:20px;border:1px solid #bbf7d0}@media (max-width: 768px){.main-content{padding:15px}.btn{padding:10px 20px;font-size:14px}.btn-large{padding:14px 28px;font-size:16px}}@media (max-width: 480px){.main-content{padding:10px}.btn{padding:8px 16px;font-size:13px}}
