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}#root{display:flex;flex-direction:column;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}[tabindex="-1"]:focus{outline:none}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:.5em;margin-top:0}p{margin-bottom:1em;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-bottom:1em;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-bottom:1em;margin-top:0;overflow:auto}figure{margin:0 0 1em}img{border-style:none;vertical-align:middle}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{caption-side:bottom;padding-bottom:.3em;padding-top:.75em;text-align:left}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5em;line-height:inherit;margin-bottom:.5em;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{background-color:#feffe6;padding:.2em}.main-content{margin-top:100px}.home-page,.login-page,.register-page{margin-top:0!important}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #0000000d;height:auto;left:0;padding:1rem 0;position:fixed;right:0;top:0;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1000}.navbar-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.logo,.navbar-container{align-items:center;display:flex}.logo{border-radius:12px;color:#1a202c;font-size:1.5rem;font-weight:700;gap:.75rem;padding:.5rem;text-decoration:none;transition:all .3s ease}.logo i{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;font-size:1.75rem;transition:transform .3s ease}.logo:hover{transform:translateY(-1px)}.logo:hover i{transform:scale(1.1)}.navbar-slogan{align-items:center;color:#5a67d8;display:flex;flex:1 1;font-size:1.25rem;font-weight:500;gap:.5rem;justify-content:center;letter-spacing:.5px;text-align:center}.slogan-icon{color:#ffd600;font-size:1.2em}.navbar.scrolled{background:#fffffffa;box-shadow:0 4px 20px #00000014;padding:.75rem 0}.nav-links{gap:1rem}.nav-links,.nav-links a{align-items:center;display:flex}.nav-links a{border-radius:12px;color:#4a5568;font-weight:500;gap:.5rem;overflow:hidden;padding:.75rem 1rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-links a:before{background:linear-gradient(135deg,#667eea,#764ba2);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease;width:0}.nav-links a:hover:before{width:80%}.nav-links a i{font-size:1.1rem;transition:transform .3s ease}.nav-links a:hover i{transform:translateY(-2px)}.nav-links a.active{background:#667eea1a;box-shadow:0 2px 8px #667eea26;color:#667eea}.nav-links a.active:before{width:80%}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea40;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.login-button:hover{box-shadow:0 6px 16px #667eea59}.login-button i{transition:transform .3s ease}.login-button:hover i{transform:translateX(2px)}.user-menu-container{position:relative}.user-menu-button{align-items:center;background:none;border:none;border-radius:12px;cursor:pointer;display:flex;gap:.75rem;padding:.5rem;transition:all .3s ease}.user-menu-button:hover{background:#667eea1a}.user-avatar{border-radius:12px;box-shadow:0 4px 12px #667eea40;font-size:1.1rem;height:40px;transition:all .3s ease;width:40px}.user-menu-button:hover .user-avatar{transform:scale(1.05)}.user-name{color:#2d3748;font-size:.95rem;font-weight:500}.user-menu-button i.fa-chevron-down{color:#4a5568;transition:transform .3s cubic-bezier(.4,0,.2,1)}.user-menu-button i.fa-chevron-down.up{transform:rotate(180deg)}.user-dropdown{animation:dropdownFade .3s cubic-bezier(.4,0,.2,1);background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 8px 30px #0000001f;margin-top:.75rem;min-width:220px;overflow:hidden;position:absolute;right:0;top:100%}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{align-items:center;color:#4a5568;display:flex;gap:.75rem;overflow:hidden;padding:.875rem 1rem;position:relative;text-decoration:none;transition:all .3s ease}.dropdown-item:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:all .3s ease;width:4px}.dropdown-item:hover:before{opacity:1}.dropdown-item i{color:#667eea;font-size:1.1rem;transition:transform .3s ease}.dropdown-item:hover i{transform:translateX(2px)}.dropdown-item:hover{background:#667eea0d;color:#667eea}.dropdown-item.logout{color:#e53e3e}.dropdown-item.logout:hover{background:#e53e3e0d;color:#e53e3e}.dropdown-divider{background:#0000000d;height:1px;margin:.5rem 0}@media (max-width:768px){.navbar-container{padding:0 1rem}.nav-links,.navbar-slogan,.user-name{display:none}.user-dropdown{right:-1rem}.navbar{padding:.5rem 0}.logo{font-size:1.25rem}.logo i{font-size:1.5rem}.user-avatar{font-size:.9rem;height:32px;width:32px}.user-menu-button{padding:.25rem}}@media (max-width:480px){.navbar-container{padding:0 .75rem}.logo{font-size:1.1rem}.logo i{font-size:1.3rem}.user-avatar{font-size:.8rem;height:28px;width:28px}.login-button{font-size:.9rem;padding:.5rem 1rem}}*,body,html{margin:0;padding:0}body,html{height:100%;overflow-x:hidden;width:100%}body{display:flex;flex-direction:column}.login-page{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-sizing:border-box;flex-direction:column;margin-top:0;min-height:100vh;overflow:hidden;padding:2rem}.login-container,.login-page{align-items:center;display:flex;justify-content:center;position:relative;width:100%}.login-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:24px;box-shadow:0 20px 40px #0003;flex:0 1 auto;flex-direction:column;margin:0;max-width:450px;padding:3.5rem 2.5rem;transform:translateY(0);transition:transform .3s ease;z-index:1}.login-container:hover{transform:translateY(-5px)}.login-header{margin-bottom:2.5rem;text-align:center}.login-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;color:#1e293b;font-size:2.25rem;font-weight:700;margin-bottom:.75rem}.login-header p{color:#64748b;font-size:1.1rem;line-height:1.6}.login-form{display:flex;flex-direction:column;gap:1.75rem;width:100%}.form-group label{color:#334155;margin-left:.5rem}.input-group{align-items:center;display:flex;position:relative}.input-group input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;color:#1e293b;font-size:1rem;padding:1rem 1rem 1rem 3rem;transition:all .3s ease;width:100%}.input-group input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a;outline:none}.input-group i{color:#64748b;font-size:1.1rem;left:1rem;position:absolute;transition:color .3s ease}.input-group input:focus+i{color:#4f46e5}.toggle-password{color:#64748b;font-size:1.1rem;padding:0;right:3rem;top:50%;transform:translateY(-50%);transition:all .3s ease;width:2.5rem;z-index:2}.toggle-password,.toggle-password i{align-items:center;display:flex;height:100%;justify-content:center}.toggle-password i{transform:translateY(0);width:100%}.toggle-password:hover{color:#4f46e5;transform:translateY(-50%) scale(1.1)}.form-options{justify-content:space-between;margin-top:.5rem}.form-options,.remember-me{align-items:center;display:flex}.remember-me{color:#475569;cursor:pointer;font-size:.95rem;gap:.5rem}.remember-me input[type=checkbox]{border:2px solid #e2e8f0;border-radius:4px;cursor:pointer;height:1.1rem;transition:all .3s ease;width:1.1rem}.remember-me input[type=checkbox]:checked{background-color:#4f46e5;border-color:#4f46e5}.forgot-password{color:#4f46e5;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .3s ease}.forgot-password:hover{color:#7c3aed;text-decoration:underline}.error-message i{font-size:1.2rem}.login-button{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem;justify-content:center;overflow:hidden;padding:1rem;position:relative;transition:all .3s ease;width:100%}.login-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:.5s;width:100%}.login-button:hover:before{left:100%}.login-button:hover{box-shadow:0 10px 20px #4f46e533;transform:translateY(-2px)}.login-button:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed;transform:none}.spinner{border:3px solid #ffffff4d;height:20px;width:20px}.register-link{color:#475569;font-size:.95rem;margin-top:1.5rem;text-align:center}.register-link a{color:#4f46e5;font-weight:600;text-decoration:none;transition:all .3s ease}.register-link a:hover{color:#7c3aed;text-decoration:underline}@media (max-width:480px){.login-page{padding:1rem}.login-container{padding:2rem 1.5rem}.login-header h1{font-size:1.75rem}.form-options{align-items:flex-start;flex-direction:column;gap:1rem}}.register-page{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:0;position:relative}.register-page:before{animation:rotate 30s linear infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 60%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{margin:0;min-height:100vh;padding:0}.register-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:24px;box-shadow:0 20px 40px #0003;margin:2rem auto;max-width:450px;padding:3.5rem 2.5rem;position:relative;transform:translateY(0);transition:transform .3s ease;width:100%;z-index:1}.register-container:hover{transform:translateY(-5px)}.register-header{margin-bottom:2.5rem;text-align:center}.register-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;color:#1e293b;font-size:2.25rem;font-weight:700;margin-bottom:.75rem}.register-subtitle{color:#64748b;font-size:1.1rem;line-height:1.6}.register-form{display:flex;flex-direction:column;gap:1.75rem}.form-group{gap:.5rem;margin-bottom:0}.form-label{color:#334155;font-size:.95rem;font-weight:600;margin-left:.5rem}.form-input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;color:#1e293b;font-size:1rem;padding:1rem 1rem 1rem 3rem;transition:all .3s ease;width:100%}.form-input:hover{background:#fff;border-color:#cbd5e0}.form-input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a;outline:none}.form-input:focus+.form-label,.form-input:not(:placeholder-shown)+.form-label{display:none}.password-toggle{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;font-size:1.1rem;height:100%;justify-content:center;padding:0;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:all .3s ease;width:2.5rem;z-index:2}.password-toggle:hover{color:#4f46e5;transform:scale(1.1)}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:12px;color:#dc2626}.error-message,.success-message{font-size:.95rem;gap:.75rem;padding:1rem 1.25rem}.success-message{background:#dcfce7;border:1px solid #bbf7d0;border-radius:12px;color:#16a34a}.loading,.success-message{align-items:center;display:flex}.loading{gap:.75rem}.loading span{animation:spin 1s linear infinite}.register-btn{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem;justify-content:center;overflow:hidden;padding:1rem;position:relative;transition:all .3s ease;width:100%}.register-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:.5s;width:100%}.register-btn:hover:before{left:100%}.register-btn:hover:not(:disabled){box-shadow:0 10px 20px #4f46e533;transform:translateY(-2px)}.register-btn:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed;transform:none}.register-footer{color:#475569;font-size:.95rem;margin-top:1.5rem;text-align:center}.login-link{color:#4f46e5;font-weight:600;text-decoration:none;transition:all .3s ease}.login-link:hover{color:#7c3aed;text-decoration:underline}@media (max-width:480px){.register-page{align-items:flex-start;height:auto;min-height:100vh;overflow-y:auto;padding:1rem .75rem .75rem}.register-container{margin:.75rem auto;max-height:none;overflow-y:visible;padding:1.25rem}.register-title{font-size:1.75rem;margin-bottom:.25rem}.register-subtitle{font-size:.9rem}.form-input{padding:.875rem 1rem .875rem 2.5rem}.form-label{font-size:.85rem}.register-btn{font-size:1rem;padding:.875rem}}*{-webkit-font-smoothing:antialiased;box-sizing:border-box}.main-content{margin-top:80px}.exam-title{text-align:left}.exam-title,.subject-title{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:28px}.subject-title{text-align:center}.exam-container{margin:0 auto;max-width:1400px;padding:0 20px;width:100%}.subject-list{display:flex;flex-wrap:wrap;gap:24px;padding:0 12px}.subject-card{border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 12px #00000014;flex-basis:calc(25% - 18px);flex-grow:0;flex-shrink:0;height:100%;min-width:0}.subject-card:hover{border-color:#6366f1;box-shadow:0 8px 32px #667eea2e;transform:translateY(-6px) scale(1.025)}.subject-card-img img{border-bottom:1px solid #e5e7eb;height:140px}.subject-card-content{gap:8px;padding:16px}.subject-card-title{font-size:1.2rem;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.95rem;margin-bottom:8px;min-height:32px;overflow:hidden}.subject-card-meta{font-size:.9rem}.no-subjects{color:#fff}.error,.loading,.no-subjects{font-size:1.1rem;margin-top:24px;text-align:center}button{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:8px 18px;transition:background .18s}button:hover{background:#1e40af}form input[type=text]{border:1px solid #cbd5e1;border-radius:5px;font-size:1rem;margin-bottom:6px;padding:7px 12px}form button[type=submit]{margin-left:8px}@media (max-width:1400px){.exam-container{max-width:1200px}.subject-list{gap:20px}.subject-card{flex-basis:calc(25% - 15px);flex-grow:0;flex-shrink:0}}@media (max-width:1200px){.exam-container{max-width:900px}.subject-list{gap:16px}.subject-card{flex-basis:calc(33.333% - 11px);flex-grow:0;flex-shrink:0}}@media (max-width:900px){.exam-container{max-width:600px}.subject-card{flex-basis:calc(50% - 8px);flex-grow:0;flex-shrink:0}}@media (max-width:600px){.main-content{margin-top:6px;padding-bottom:16px}.exam-title{font-size:1.3rem;margin-bottom:16px}.subject-card-content{padding:20px 20px 16px}.exam-container{max-width:100%;padding:0 12px}.subject-list{gap:16px}.subject-card{flex:0 0 100%}.subject-card-img img{height:160px}.subject-card-title{font-size:1.3rem}.subject-card-desc{font-size:1rem}.subject-actions{flex-direction:column;gap:12px}.search-input{width:100%}}.add-subject-btn{background:#2563eb!important;border:none!important;box-shadow:0 2px 8px #2563eb14;font-size:1rem;font-weight:600;margin-bottom:0;padding:8px 18px;transition:background .18s}.add-subject-btn:hover{background:#1e40af!important}.edit-icon{color:#007bff;cursor:pointer;margin-left:8px;transition:color .18s}.edit-icon:hover{color:#2563eb}.modal{align-items:center;animation:fadeIn .2s;background:#00000040;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.subject-form{animation:popIn .18s;background:#fff;border-radius:12px;box-shadow:0 4px 32px #00000021;display:flex;flex-direction:column;gap:16px;min-width:320px;padding:32px 28px 24px;position:relative}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.subject-form h2{color:#2563eb;font-size:1.25rem;margin-bottom:8px;text-align:center}.subject-form input[type=text]{background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;font-size:1rem;margin-bottom:0;padding:10px;transition:border .18s}.subject-form input[type=text]:focus{background:#fff;border:1.5px solid #2563eb;outline:none}.subject-form button[type=submit]{background:#2563eb;border-radius:6px;color:#fff;font-size:1rem;font-weight:600;margin-bottom:6px;margin-left:0;transition:background .18s}.subject-form button[type=submit]:hover{background:#1e40af}.subject-form button[type=button]{background:#e5e7eb;border-radius:6px;color:#334155;font-size:1rem;font-weight:500;transition:background .18s}.subject-form button[type=button]:hover{background:#cbd5e1;color:#1e293b}.exam-container.modal-open .subject-list{filter:blur(3px) grayscale(.2) brightness(.95);pointer-events:none;-webkit-user-select:none;user-select:none}.exam-container.modal-open .subject-card:hover{border-color:#e5e7eb;box-shadow:0 2px 12px #00000014;transform:none}.subject-actions{align-items:center;gap:16px;justify-content:center;margin-bottom:24px;width:100%}.search-input{background:#fff;border:1px solid #e5e7eb;font-size:1rem;padding:8px 18px;transition:border .18s;width:300px}.search-input:focus{border:1.5px solid #2563eb}.profile-page{background:linear-gradient(135deg,#f6f9fc,#eef2f7);margin:0 auto;max-width:1200px;min-height:calc(100vh - 64px);padding:3rem}.profile-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:24px;box-shadow:0 10px 40px #00000014,0 0 0 1px #ffffff1a;margin:0 auto;max-width:800px;overflow:hidden;padding:3.5rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.profile-container:before{background:linear-gradient(90deg,#2196f3,#1976d2);border-radius:24px 24px 0 0;content:"";height:6px;left:0;position:absolute;right:0;top:0}.profile-container:hover{box-shadow:0 20px 50px #0000001f,0 0 0 1px #fff3;transform:translateY(-8px)}.profile-header{align-items:center;border-bottom:2px solid #f0f2f5cc;display:flex;justify-content:space-between;margin-bottom:3.5rem;padding-bottom:2rem}.profile-header h1{align-items:center;color:#1a1a1a;display:flex;font-size:2.4rem;font-weight:800;gap:1.2rem;letter-spacing:-.5px;margin:0}.profile-header h1 i{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2196f3,#1976d2);-webkit-background-clip:text;color:#2196f3;font-size:2.2rem}.btn-edit{align-items:center;background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:16px;box-shadow:0 4px 15px #2196f340;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.8rem;letter-spacing:.3px;padding:1rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-edit:hover{background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 8px 25px #2196f359;transform:translateY(-3px)}.btn-cancel{background:linear-gradient(135deg,#f44336,#e53935);box-shadow:0 4px 15px #f4433640}.btn-cancel:hover{background:linear-gradient(135deg,#e53935,#d32f2f);box-shadow:0 8px 25px #f4433659}.alert{align-items:center;animation:slideIn .4s cubic-bezier(.4,0,.2,1);border-radius:16px;box-shadow:0 4px 15px #0000000d;display:flex;font-weight:500;gap:1.2rem;margin-bottom:2.5rem;padding:1.5rem 2rem}@keyframes slideIn{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}.alert-success{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #bbdefbcc;color:#1565c0}.alert-error{background:linear-gradient(135deg,#ffebee,#ffcdd2);border:1px solid #ffcdd2cc;color:#b71c1c}.profile-form{max-width:600px}.form-group{margin-bottom:3rem;position:relative}.form-group label{color:#1a1a1a;display:block;font-size:1.2rem;gap:1rem;letter-spacing:.3px;margin-bottom:1.2rem}.form-group label i{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2196f3,#1976d2);-webkit-background-clip:text;color:#2196f3;font-size:1.4rem}.form-group input{background-color:#fafafacc;border:2px solid #e0e0e0cc;border-radius:16px;color:#1a1a1a;font-size:1.2rem;letter-spacing:.3px;padding:1.4rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.form-group input:focus{background-color:#fff;border-color:#2196f3;box-shadow:0 0 0 4px #2196f326}.form-group p{background-color:#f8f9facc;border:2px solid #e0e0e0cc;border-radius:16px;color:#1a1a1a;font-size:1.2rem;letter-spacing:.3px;margin:0;padding:1.4rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.form-group p:hover{background-color:#f0f2f5e6;border-color:#d0d0d0e6;transform:translateY(-2px)}.user-role{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:none;border-radius:12px;box-shadow:0 4px 15px #2196f326;color:#1565c0;display:inline-block;font-size:1.1rem;font-weight:600;letter-spacing:.3px;padding:.8rem 1.8rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.user-role:hover{background:linear-gradient(135deg,#bbdefb,#90caf9);box-shadow:0 8px 25px #2196f340;transform:translateY(-3px)}.form-actions{gap:1.2rem;margin-top:3.5rem}.btn-save{align-items:center;background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:16px;box-shadow:0 4px 15px #2196f340;cursor:pointer;display:flex;font-size:1.2rem;font-weight:600;gap:1rem;letter-spacing:.3px;padding:1.2rem 3rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-save:hover{background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 8px 25px #2196f359;transform:translateY(-3px)}.btn-save:disabled{background:linear-gradient(135deg,#ccc,#bbb);box-shadow:none;cursor:not-allowed;transform:none}.loading-container{min-height:400px}.loading-spinner{animation:spin 1s cubic-bezier(.4,0,.2,1) infinite;border:6px solid #f3f3f3cc;border-top-color:#2196f3;box-shadow:0 4px 15px #0000001a;height:70px;margin-bottom:2.5rem;width:70px}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:3rem;text-align:center}.error-icon{animation:pulse 2s cubic-bezier(.4,0,.2,1) infinite;color:#f44336;font-size:5rem;margin-bottom:2.5rem}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.error-message{color:#1a1a1a;font-size:1.3rem;margin-bottom:2.5rem}.btn-retry,.error-message{font-weight:600;letter-spacing:.3px}.btn-retry{align-items:center;background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:16px;box-shadow:0 4px 15px #2196f340;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;gap:1rem;padding:1.2rem 2.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-retry:hover{background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 8px 25px #2196f359;transform:translateY(-3px)}.home-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:2rem}.home-container{background:#fff;border-radius:15px;box-shadow:0 8px 30px #0000001a;margin:0 auto;max-width:1200px;overflow:hidden;padding-top:100px}.dashboard-content{padding:2rem}.welcome-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;margin-bottom:3rem;padding:2rem;text-align:center}.welcome-section h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.welcome-section p{font-size:1.2rem;opacity:.9}.quick-actions{background:#f8fafc;border-radius:10px;padding:2rem}.quick-actions h3{color:#2d3748;font-size:1.5rem;margin-bottom:2rem;text-align:center}.action-buttons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-btn{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;padding:1rem;transition:all .3s ease}.action-btn i{font-size:1.2rem;margin-right:.5rem}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2)}.action-btn.secondary{background:linear-gradient(135deg,#4facfe,#00f2fe)}.action-btn.info{background:linear-gradient(135deg,#43e97b,#38f9d7)}.action-btn:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.loading-container{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{border:5px solid #f3f3f3;height:50px;margin-bottom:1rem;width:50px}@media (max-width:768px){.dashboard-content,.home-page{padding:1rem}.welcome-section{padding:1.5rem}.welcome-section h1{font-size:2rem}.action-buttons{grid-template-columns:1fr}}.change-password-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.change-password-container{margin:0 auto;max-width:600px}.page-header{color:#fff;margin-bottom:30px;text-align:center}.back-button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:25px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;gap:8px;margin-bottom:20px;padding:10px 20px;transition:all .3s ease}.back-button:hover{background:#ffffff4d;transform:translateY(-2px)}.page-header h1{font-size:2.5rem;font-weight:700;margin:0 0 10px}.page-header p{font-size:1.1rem;margin:0;opacity:.9}.form-container{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;margin-bottom:20px;padding:40px}.change-password-form{margin-bottom:30px}.form-group{margin-bottom:25px}.form-group label{align-items:center;color:#333;display:flex;font-size:.95rem;font-weight:600;gap:8px;margin-bottom:8px}.password-input-group{align-items:center;display:flex;position:relative}.password-input-group input{background:#f8f9fa;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;padding:12px 45px 12px 15px;transition:all .3s ease;width:100%}.password-input-group input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.password-input-group input.error{background:#fff5f5;border-color:#dc3545}.toggle-password{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;padding:5px;position:absolute;right:12px;transition:color .3s ease}.toggle-password:hover{color:#495057}.error-message{align-items:center;color:#dc3545;display:flex;font-size:.85rem;gap:6px;margin-top:5px}.form-actions{gap:15px;justify-content:flex-end;margin-top:30px}.cancel-button,.submit-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;justify-content:center;min-width:140px;padding:12px 25px;transition:all .3s ease}.cancel-button{background:#f8f9fa;border:2px solid #e9ecef;color:#6c757d}.cancel-button:hover{background:#e9ecef;color:#495057}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.change-password-page{padding:10px}.form-container{padding:25px}.page-header h1{font-size:2rem}.form-actions{flex-direction:column}.cancel-button,.submit-button{min-width:100%}}@media (max-width:480px){.page-header h1{font-size:1.5rem}.page-header p{font-size:1rem}.form-container{padding:20px}.password-input-group input{padding:10px 40px 10px 12px}}.content{margin-top:0}.exam-management{margin:0 auto;max-width:1400px;padding:80px 20px 20px}.exam-management .header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px}.exam-management .header h1{color:#1a1a1a;font-size:24px;font-weight:600;margin:0 0 16px}.header-actions{flex-wrap:wrap;gap:12px}.add-exam-btn{align-items:center;display:flex;flex:1 1;font-weight:500;gap:8px;height:40px;justify-content:center;min-width:160px;transition:all .3s ease}.add-exam-btn:hover{transform:translateY(-2px)}.button-text{display:inline-block}.exam-list{margin-top:24px}.exam-card{height:100%;transition:all .3s ease}.exam-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.exam-card-content{display:flex;flex-direction:column;height:100%}.exam-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.exam-title{flex:1 1;margin:0 12px 0 0!important}.exam-actions{flex-shrink:0}.exam-description{flex:1 1;margin-bottom:16px}.exam-meta{margin-top:auto}.meta-item{align-items:center;display:flex;gap:4px}.loading-container{padding:40px;text-align:center}.empty-state{background:#f5f5f5;border-radius:8px;padding:40px}@media (min-width:768px){.exam-management .header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:24px}.exam-management .header h1{font-size:28px;margin:0}.header-actions{gap:16px}.add-exam-btn{min-width:180px}}@media (max-width:767px){.exam-management{padding:70px 12px 12px}.exam-management .header{background:#fff;margin-bottom:16px;padding:16px;position:-webkit-sticky;position:sticky;top:64px;z-index:100}.exam-list{margin-top:16px;padding-bottom:60px}.exam-management .header h1{font-size:20px;margin-bottom:16px;text-align:center}.header-actions{flex-direction:column;width:100%}.add-exam-btn{height:44px;width:100%}.exam-card{margin-bottom:16px}.exam-meta{flex-direction:column;gap:8px}.meta-item{width:100%}.ant-modal{margin:0;padding:12px}.ant-modal-content{max-height:calc(100vh - 100px);overflow-y:auto;padding:16px}.ant-list{max-height:calc(100vh - 200px);overflow-y:auto}.ant-list-item{padding:12px 0}}@media print{.add-exam-btn,.exam-management .header,.table-actions{display:none}.table-container{box-shadow:none;padding:0}.ant-table{border:1px solid #f0f0f0}}@media screen and (max-width:768px){.exam-management{padding:12px}.header-actions{flex-direction:column;width:100%}.mobile-header-actions{width:100%}.exam-card{margin-bottom:16px}.exam-card-header{flex-direction:column}.exam-title{margin-bottom:12px!important}.exam-actions{display:flex;justify-content:flex-end;width:100%}.exam-meta{flex-wrap:wrap}.meta-item{margin-bottom:8px}.ant-modal{padding:12px}.ant-modal-content{padding:16px}.ant-list-item{padding:12px 0}.ant-list-item-meta-title{font-size:14px}.ant-list-item-meta-description{font-size:12px}}.question-page-container{align-items:center;background:#f8f9fa;display:flex;flex-direction:column;min-height:100vh;padding:32px 0}.question-page-container h2{color:#2d3a4b;font-size:2rem;font-weight:600;letter-spacing:1px;margin-bottom:24px}.question-action-bar{display:flex;justify-content:flex-end;margin-bottom:18px;max-width:1320px;width:100%}.question-table-wrapper{background:#fff;border-radius:16px;box-shadow:0 2px 16px #00000014;max-width:1320px;padding:22px 22px 10px;width:97%}.question-table{background:#fff}.question-content{color:#222;display:block;font-size:1rem;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ant-table-thead>tr>th{background:#e6f7ff!important;color:#1890ff}.ant-btn-link{font-weight:500}.ant-btn-link[danger]{color:#ff4d4f!important}.difficulty-tag{border-radius:12px;color:#fff;display:inline-block;font-size:.95rem;font-weight:500;padding:2px 10px}.difficulty-1{background:#52c41a}.difficulty-2{background:#faad14}.difficulty-3{background:#f5222d}.type-tag{background:#e6f7ff;border:1px solid #91d5ff;border-radius:12px;color:#1890ff;display:inline-block;font-size:.95rem;font-weight:500;padding:2px 10px}body{background:#f4f6fb}.contest-page{background:#fff;border-radius:18px;box-shadow:0 6px 32px #00000014;display:flex;flex-direction:column;margin:24px auto;max-width:1200px;min-height:500px;padding:80px 0 0;width:95vw}.contest-header{align-items:flex-start;border-bottom:1.5px solid #f0f0f0;display:flex;justify-content:space-between;padding:24px 24px 18px}.contest-title{color:#1a237e;font-size:1.75rem;font-weight:700;letter-spacing:.5px;margin:0}.actions-bar{display:flex;flex-wrap:wrap;gap:14px}.main-btn{background:linear-gradient(90deg,#1677ff 60%,#69eaff);border:none;border-radius:6px;box-shadow:0 2px 8px #1677ff12;color:#fff;cursor:pointer;font-size:16px;font-weight:500;outline:none;padding:8px 22px;transition:background .2s,box-shadow .2s}.main-btn:hover{background:linear-gradient(90deg,#0958d9 60%,#36cfc9)}.add-form{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin:24px 24px 0 0}.add-form input[type=number]{border:1px solid #bfc4cc;border-radius:5px;font-size:15px;padding:7px 10px;width:160px}.add-form button{background:#52c41a;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:500;padding:7px 18px;transition:background .2s}.add-form button:hover{background:#389e0d}.table-contest{-webkit-overflow-scrolling:touch;background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000012;overflow-x:auto;padding:16px;width:100%}.question-table{background:#f8fbff;border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 2px 12px #1677ff0f;margin:32px auto 0;min-width:800px;overflow:hidden;width:100%}.question-table td,.question-table th{font-size:16px;padding:14px 12px}.question-table th{background:linear-gradient(90deg,#e3f0ff 60%,#f8fbff);border-bottom:2px solid #e3eafc;color:#1a237e;font-weight:600;text-align:left}.question-table tr{transition:background .15s}.question-table tbody tr:hover{background:#e6f7ff}.question-table td{border-bottom:1px solid #e3eafc;color:#222}.question-table tr:last-child td{border-bottom:none}.icon-btn{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background .2s}.icon-btn:hover{background:#ffeaea}@media (max-width:900px){.contest-page{border-radius:12px;margin:16px auto;width:95vw}.contest-header{flex-direction:column;gap:16px;padding:20px 16px 12px}.contest-title{font-size:1.5rem}.actions-bar,.add-form{justify-content:flex-start;width:100%}.add-form{margin:16px 16px 0 0}.table-contest{padding:12px}}@media (max-width:480px){.contest-page{margin:0;overflow-x:hidden;padding:80px 0 0;width:100vw}.contest-header{padding:16px 12px 12px}.contest-title{font-size:1.25rem}.actions-bar{gap:8px}.actions-bar button{font-size:14px;padding:4px 12px}.add-form{margin:12px 12px 0 0}.add-form input[type=number]{font-size:14px;width:120px}.add-form button{font-size:14px;padding:6px 14px}.table-contest{-webkit-overflow-scrolling:touch;border-radius:0;margin:0;overflow-x:auto;padding:0;width:100%}.question-table{margin:16px 0 0;min-width:800px}.question-table td,.question-table th{font-size:11px;min-width:80px;padding:4px 2px;white-space:nowrap}.icon-btn{padding:1px}.icon-btn svg{height:14px;width:14px}}.subject-list{grid-gap:36px 32px;box-sizing:border-box;display:grid;gap:36px 32px;grid-template-columns:repeat(4,minmax(300px,1fr));justify-items:start;margin:0 auto;max-width:95%;padding:0 32px 32px;transition:filter .2s;width:100%}.subject-card{border:1.5px solid #e0e7ef;border-radius:22px;box-shadow:0 6px 32px #3463ff1a,0 1.5px 8px #0000000f;cursor:pointer;display:flex;flex-direction:column;margin:0;max-height:320px;max-width:320px;overflow:hidden;transition:transform .18s,box-shadow .18s;width:100%}.subject-card:hover{border-color:#2563eb;box-shadow:0 12px 40px #3463ff2e,0 2px 12px #0000001a;transform:translateY(-10px) scale(1.04)}.subject-card-img img{background:#f1f5f9;border-bottom:1.5px solid #e5e7eb;height:180px;object-fit:cover;pointer-events:none;width:100%}.subject-card-content{display:flex;flex-direction:column;gap:10px;padding:22px 24px 18px}.subject-card-title{color:#2563eb;font-size:1.35rem;font-weight:700;letter-spacing:.5px;margin-bottom:6px}.subject-card-desc{color:#475569;font-size:1.08rem;margin-bottom:10px;min-height:36px}.subject-card-meta{color:#64748b;font-size:1rem}@media (max-width:1200px){.subject-list{gap:28px 16px;grid-template-columns:repeat(3,minmax(220px,1fr))}}@media (max-width:900px){.subject-list{gap:20px 10px;grid-template-columns:repeat(2,minmax(180px,1fr));max-width:100%;padding:0 8px}.subject-card-img img{height:120px}.subject-card{max-width:100%;min-width:0}}@media (max-width:600px){.main-content{margin-top:40px;padding-bottom:12px}.subject-title{font-size:1.2rem;margin-bottom:12px}.subject-list{gap:14px 0;grid-template-columns:1fr;padding:0 2px}.subject-card-content{padding:10px 8px 8px}}.search-container{justify-content:center;margin:20px 0}.search-container .ant-input-affix-wrapper{border-radius:20px;box-shadow:0 2px 4px #0000001a}.search-container .ant-input-affix-wrapper:focus,.search-container .ant-input-affix-wrapper:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff33}.exam-management{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;display:flex;flex-direction:column;margin:32px auto;max-width:1200px;padding:32px 24px 24px;width:100%}.exam-management .header{margin-bottom:24px;width:100%}.exam-management .header h1{color:#222;font-size:2rem;font-weight:700;margin:0;text-align:center}.table-container{display:flex;justify-content:center;margin:0;max-width:100%;padding:0;width:100%}.ant-table-wrapper{max-width:100%;min-width:0}.ant-table{background:#fafcff;border-radius:8px;margin:0;table-layout:fixed;width:100%}.ant-table-thead>tr>th{background:#f0f6ff!important;color:#1677ff;font-size:1rem;text-align:center}.ant-table-tbody>tr>td{background:#fff;text-align:center}.ant-table-tbody>tr:hover>td{background:#e6f7ff}a{color:#1677ff;font-weight:500;text-decoration:none}a:hover{color:#0958d9;text-decoration:underline}@media (max-width:100px){.exam-management{max-width:100vw;padding:16px 4px}.ant-table{font-size:.95rem;min-width:500px}.exam-management .header h1{font-size:1.3rem}.table-container{max-width:100vw;padding:0}}#root,body{background:#f5f7fa!important}.exam-page-root{background:#f5f7fa;justify-content:center;min-height:100vh}.exam-main-layout,.exam-page-root{align-items:flex-start;display:flex}.exam-main-layout{gap:32px}.question-map-sidebar{align-items:center;align-self:flex-start;background:#f0f2f5;border-radius:16px;box-shadow:0 1px 8px #e0e2e6;display:flex;flex-direction:column;height:-webkit-fit-content;height:fit-content;margin-right:32px;margin-top:40px;max-width:140px;min-width:120px;padding:24px 14px;position:-webkit-sticky;position:sticky;top:120px;z-index:2}.question-map{grid-gap:16px 15px;display:grid;gap:16px 15px;grid-template-columns:repeat(3,32px);justify-content:center}.question-map-btn{align-items:center;background:#fff;border:2px solid #1677ff;border-radius:50%;box-sizing:border-box;color:#1677ff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;outline:none;transition:background .2s,color .2s;-webkit-user-select:none;user-select:none;width:40px}.question-map-btn.answered{background:#112d9c;border-color:#112d9c;color:#fff}.question-map-btn:disabled{cursor:not-allowed;opacity:.7}.take-exam-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #eee;flex:1 1;margin:32px auto;max-width:900px;padding:32px}.take-exam-container .ant-spin{display:flex;justify-content:center;margin:40px 0}.exam-header{justify-content:space-between}.exam-header,.exam-timer{align-items:center;display:flex}.exam-timer{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;justify-content:center;padding:12px 16px;position:fixed;right:20px;top:80px;width:-webkit-fit-content;width:fit-content;z-index:1002}.exam-description{color:#888;margin-bottom:24px}.exam-content{flex:1 1;min-width:0}.exam-questions{margin-top:16px}.exam-question{background:#f7f9fa;border-radius:8px;box-shadow:0 1px 4px #f0f1f2;margin-bottom:28px;padding:18px 20px 12px}.question-title{font-size:16px;margin-bottom:12px}.vertical-group{display:flex!important;flex-direction:column!important;gap:8px;margin-left:8px;margin-top:4px}.submit-answer-btn{background:#1677ff;border:none;border-radius:4px;color:#fff;font-size:14px;height:32px;margin-top:8px;padding:0 16px;transition:background .2s}.submit-answer-btn.sent{background:#112d9c;color:#fff;cursor:default}.submit-answer-btn:disabled{cursor:not-allowed;opacity:.7}@media screen and (max-width:768px){.question-map-sidebar{background:#fff;border-radius:0;box-shadow:0 2px 8px #0000001a;height:auto;left:0;margin:0;max-width:none;padding:8px;position:fixed;right:auto;top:0;width:50%;z-index:1001}.exam-main-layout{flex-direction:column;gap:20px}.take-exam-container{border-radius:0;box-shadow:none;margin:0;padding:140px 16px 16px}.exam-header{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:20px;padding-top:0;text-align:left}.exam-header h2{font-size:1.4rem;line-height:1.3;margin:0}.exam-timer{border-radius:6px;padding:8px 12px;position:fixed;right:12px;top:12px}.exam-description{font-size:.95rem;line-height:1.5;margin-bottom:20px;text-align:left}.question-map{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;padding:2px}.question-map-btn{font-size:14px;height:32px;margin:0;width:32px}.exam-content{margin-right:0;margin-top:0;padding:0}.exam-question{border-radius:8px;margin-bottom:20px;padding:16px}.question-title{font-size:1.1rem;line-height:1.4;margin-bottom:16px}.vertical-group{gap:10px;margin:0}.vertical-group .ant-checkbox-wrapper,.vertical-group .ant-radio-wrapper{background:#fff;border-radius:6px;box-shadow:0 1px 3px #00000014;margin:0;padding:10px}.submit-answer-btn{border-radius:6px;font-size:1rem;height:44px;margin-top:16px;width:100%}.exam-timer .ant-progress{transform:scale(.95);transform-origin:center}.exam-questions button[type=submit]{border-radius:8px;font-size:1.1rem;height:48px;margin-top:24px;width:100%}.take-exam-container{padding-top:60px}}@media screen and (max-width:480px){.question-map-sidebar{padding:8px 6px;top:40px}.exam-header{padding-top:40px}.exam-header h2{font-size:1.2rem}.question-map-btn{font-size:14px;height:32px;width:32px}.exam-question{margin-bottom:16px;padding:14px}.question-title{font-size:1rem;margin-bottom:14px}.vertical-group .ant-checkbox-wrapper,.vertical-group .ant-radio-wrapper{font-size:.95rem;padding:8px}.submit-answer-btn{font-size:.95rem;height:40px}.exam-questions button[type=submit]{font-size:1rem;height:44px}.exam-timer{padding:6px 10px;right:8px;top:8px}}.score-page-container{align-items:center;background:linear-gradient(135deg,#e0eafc,#cfdef3);display:flex;justify-content:center;min-height:100vh}.score-card{background:#fff;border-radius:18px;box-shadow:0 4px 24px #b5c6e0;max-width:650px;padding:32px 0;transition:box-shadow .3s}.score-card:hover{box-shadow:0 8px 32px #a0b8d9}.score-page-container .ant-result{background:#0000;margin-bottom:16px}.score-desc{background:#f6ffed;border-radius:8px;margin-top:8px;padding:8px}.score-page-container .ant-btn{border-radius:8px;font-size:18px;height:48px;transition:background .2s}.score-page-container .ant-btn-primary:hover{background:#389e0d!important;border-color:#389e0d!important}.hs-ready-container{background:#fff;border-radius:18px;box-shadow:0 4px 24px #00000014;font-family:Segoe UI,Arial,sans-serif;margin:8% auto 0;max-width:420px;padding:32px 28px;text-align:center}.hs-ready-title{color:#2d5be3;font-size:2rem;font-weight:700;margin-bottom:18px}.hs-ready-info{margin:0 auto 18px;text-align:left}.hs-ready-info p{font-size:1.1rem;margin:10px 0}.hs-ready-info b{color:#333}.hs-ready-btn{background:linear-gradient(90deg,#2d5be3 60%,#4fa3f7);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:24px;padding:12px 32px;transition:background .2s}.hs-ready-btn:hover{background:linear-gradient(90deg,#1a3e8a 60%,#2d5be3)}.hs-history-table-wrap{align-items:center;background:#fff;border-radius:14px;box-shadow:0 2px 16px #00000014;display:flex;flex-direction:column;margin:40px auto 0;max-width:700px;padding:28px 20px;text-align:center}.hs-history-title{color:#2d5be3;font-size:1.1rem;margin-bottom:16px;text-align:center}.ant-table-wrapper{width:100%}.ant-table{background:#f9fbff;border-radius:10px!important;overflow:hidden}.ant-table-thead>tr>th{background:#f2f6fc!important;color:#2d5be3!important;font-weight:600;text-align:center!important}.ant-table-tbody>tr>td{font-size:1rem;text-align:center!important}.ant-pagination{justify-content:center!important;margin-top:16px!important}.search-component{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.search-form{width:100%}.search-input-group{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.search-field{flex:1 1;min-width:300px;position:relative}.search-input{border:2px solid #e1e5e9;border-radius:6px;padding:12px 40px 12px 16px;transition:border-color .3s ease;width:100%}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.clear-button{background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .3s ease}.clear-button:hover{background-color:#f8f9fa;color:#dc3545}.search-select{background-color:#fff;border:2px solid #e1e5e9;border-radius:6px;cursor:pointer;font-size:14px;min-width:150px;padding:12px 16px;transition:border-color .3s ease}.search-select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.search-button{align-items:center;background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:background-color .3s ease;white-space:nowrap}.search-button:hover{background-color:#0056b3}.search-button:active{transform:translateY(1px)}.search-button i{font-size:14px}@media (max-width:768px){.search-input-group{align-items:stretch;flex-direction:column}.search-field{min-width:0;min-width:auto}.search-button,.search-select{justify-content:center;width:100%}}.subject-manager{background:#f8f9fa;min-height:100vh;padding:20px}.manager-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px}.manager-header h2{color:#1a202c;font-size:24px;font-weight:600;margin:0}.tab-navigation{display:flex;gap:12px}.tab-btn{background:#f1f5f9;border:none;border-radius:6px;padding:8px 16px}.tab-btn:hover{background:#e2e8f0;color:#1a202c}.tab-btn.active{background:#667eea}.tab-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.section-header{margin-bottom:20px}.section-header h3{color:#1a202c;font-size:20px;font-weight:600;margin:0}.subjects-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.subject-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:20px;transition:all .3s ease}.subject-card:hover{box-shadow:0 5px 15px #0003;transform:translateY(-5px)}.subject-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.subject-header h4{color:#1a202c;font-size:18px;font-weight:600;margin:0}.status-badge{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-badge.pending{background:#f59e0b;color:#fff}.status-badge.approved{background:#10b981;color:#fff}.status-badge.rejected{background:#ef4444;color:#fff}.subject-description{color:#64748b;font-size:14px;line-height:1.5;margin-bottom:16px}.subject-actions{display:flex;flex-wrap:wrap;gap:8px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:8px 16px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-info{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.empty-state{background:#fff;border:2px dashed #e2e8f0;border-radius:12px}.empty-state p{color:#64748b}.filter-section{align-items:center;display:flex;gap:12px;margin:20px 0}.filter-section label{color:#1a202c;font-weight:500}.status-filter{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1a202c;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .3s ease}.status-filter:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.ant-modal-content{border-radius:12px;overflow:hidden}.ant-modal-header{background:#f8f9fa;border-bottom:1px solid #e2e8f0;padding:16px 24px}.ant-modal-title{color:#1a202c;font-size:20px;font-weight:600}.ant-modal-body{padding:24px}.ant-form-item-label>label{color:#1a202c;font-weight:500}.ant-input,.ant-input-textarea{border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;transition:all .3s ease}.ant-input-textarea:focus,.ant-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.ant-btn{border-radius:6px;font-weight:500;height:auto;padding:8px 16px;transition:all .3s ease}.ant-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none}.ant-btn-primary:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}@media (max-width:768px){.subject-manager{padding:15px}.manager-header{align-items:flex-start;flex-direction:column;gap:16px}.tab-navigation{overflow-x:auto;padding-bottom:8px;width:100%}.subjects-grid{grid-template-columns:1fr}.subject-actions{flex-direction:column}.btn{justify-content:center;width:100%}}.user-manager{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;min-height:600px;padding:16px;width:100%}.user-manager-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.user-manager-header h2{color:#1a202c;font-size:28px;font-weight:600;margin:0}.header-actions{align-items:center;display:flex;gap:16px}.search-container{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;display:flex;padding:4px;transition:border-color .3s ease}.search-container:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-input{background:#0000;border:none;font-size:14px;outline:none;padding:8px 12px;width:250px}.clear-search-btn,.search-btn{background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;padding:8px;transition:all .3s ease}.clear-search-btn:hover,.search-btn:hover{background:#e2e8f0;color:#1a202c}.search-btn:disabled{cursor:not-allowed;opacity:.5}.btn-add{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 20px;transition:all .3s ease}.btn-add:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.user-tabs{display:flex;gap:8px;margin-bottom:24px}.tab-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .3s ease}.tab-btn:hover{border-color:#667eea;color:#667eea}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 2px 8px #667eea4d;color:#fff}.user-content{display:flex;height:calc(100vh - 200px);width:100%}.user-list-container{background:#f8fafc;border-radius:12px;overflow-y:auto;padding:12px}.user-list,.user-list-container{height:100%;width:100%}.user-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:8px;width:100%}.user-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:20px;transition:all .3s ease}.user-card:hover{border-color:#667eea;box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.user-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:20px;height:50px;justify-content:center;width:50px}.user-info h4{color:#1a202c;font-size:16px;font-weight:600;margin:0 0 8px}.user-email,.user-phone,.user-username{color:#64748b;font-size:14px;margin:4px 0}.user-username{color:#667eea;font-weight:500}.role-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-top:8px;padding:4px 12px;text-transform:uppercase}.role-badge.admin{background:#ef4444;color:#fff}.role-badge.teacher{background:#f59e0b;color:#fff}.role-badge.student{background:#10b981;color:#fff}.user-actions{display:flex;gap:8px;margin-top:12px}.btn-delete,.btn-edit{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:8px;transition:all .3s ease}.btn-edit{background:#06b6d4;color:#fff}.btn-edit:hover{background:#0891b2;transform:translateY(-1px)}.btn-delete{background:#ef4444;color:#fff}.btn-delete:hover{background:#dc2626;transform:translateY(-1px)}.empty-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-state i{color:#cbd5e0;font-size:48px;margin-bottom:16px}.empty-state p{font-size:18px;margin:0}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container i{color:#ef4444;font-size:48px;margin-bottom:16px}.user-form-container{background:#f8fafc;border-radius:12px;height:-webkit-fit-content;height:fit-content;padding:20px;position:-webkit-sticky;position:sticky;top:20px}.form-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.form-header h3{color:#1a202c;font-size:18px;font-weight:600;margin:0}.close-form-btn{background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;font-size:16px;padding:4px;transition:all .3s ease}.close-form-btn:hover{background:#e2e8f0;color:#1a202c}.user-form{gap:16px}.form-group,.user-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#374151;font-size:14px;font-weight:500}.form-group input{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px;transition:border-color .3s ease}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-actions{display:flex;gap:12px;margin-top:8px}.empty-form-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.empty-form-state i{color:#cbd5e0;font-size:48px;margin-bottom:16px}.empty-form-state p{font-size:16px;margin:0}.btn-cancel,.btn-save{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 20px;transition:all .3s ease}.btn-save{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-save:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.btn-cancel{background:#e2e8f0;color:#64748b}.btn-cancel:hover{background:#cbd5e0;color:#1a202c}@media (max-width:1024px){.user-content{grid-template-columns:1fr}.user-form-container{position:static}}@media (max-width:768px){.user-manager{padding:8px}.user-manager-header{align-items:flex-start;flex-direction:column;gap:16px}.header-actions{flex-direction:column;gap:12px;width:100%}.search-input{width:100%}.user-tabs{flex-wrap:wrap}.tab-btn{flex:1 1;min-width:120px;text-align:center}.user-list-container{padding:8px}.user-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;padding:20px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.modal-header h3{color:#333;font-size:1.2rem;margin:0}.close-modal-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.2rem;padding:5px;transition:color .2s}.close-modal-btn:hover{color:#333}.admin-dashboard{background-color:#f5f6fa;display:flex;min-height:100vh;position:relative}.sidebar{background-color:#2c3e50;color:#fff;display:flex;flex-direction:column;transition:all .3s ease;width:250px}.sidebar.collapsed{width:70px}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px}.sidebar-header h2{font-size:1.2rem;margin:0;overflow:hidden;white-space:nowrap}.collapse-btn{background:none;border:none;color:#fff;cursor:pointer;padding:5px}.sidebar-menu{flex:1 1;padding:20px 0}.menu-item{align-items:center;cursor:pointer;display:flex;padding:12px 20px;position:relative;transition:all .3s ease}.menu-item:hover{background-color:#ffffff1a}.menu-item.active{background-color:#3498db}.menu-item i{font-size:1.2rem;margin-right:10px;text-align:center;width:24px}.menu-item span{overflow:hidden;white-space:nowrap}.menu-badge{background-color:#e74c3c;border-radius:10px;color:#fff;font-size:.8rem;margin-left:8px;padding:2px 6px}.main-wrapper{display:flex;flex:1 1;flex-direction:column;position:relative}.header{background-color:#fff;box-shadow:0 2px 4px #0000001a;padding:15px 30px}.header h1{color:#2c3e50;font-size:1.5rem;margin:0}.main-content{flex:1 1;padding:30px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:30px}.stat-card{background-color:#fff;box-shadow:0 2px 4px #0000001a;padding:20px}.stat-card,.stat-icon{align-items:center;border-radius:10px;display:flex}.stat-icon{font-size:1.5rem;height:50px;justify-content:center;margin-right:15px;width:50px}.stat-icon.users{background-color:#3498db;color:#fff}.stat-icon.students{background-color:#2ecc71;color:#fff}.stat-icon.teachers{background-color:#e67e22;color:#fff}.stat-icon.pending{background-color:#e74c3c;color:#fff}.stat-info{flex:1 1}.stat-value{color:#2c3e50;font-size:1.8rem;font-weight:700;margin-bottom:5px}.stat-label{color:#7f8c8d;font-size:.9rem}.recent-activity{background:#fff;border-radius:1rem;box-shadow:0 2px 4px #0000000d;margin-bottom:2rem;padding:1.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-title{color:#2d3748;font-size:1.25rem;font-weight:600}.view-all{color:#667eea;cursor:pointer;font-size:.9rem;transition:color .3s ease}.view-all:hover{color:#764ba2}.activity-list{list-style:none;margin:0;padding:0}.activity-item{align-items:center;border-bottom:1px solid #edf2f7;display:flex;gap:1rem;padding:1rem 0}.activity-item:last-child{border-bottom:none}.activity-icon{align-items:center;border-radius:50%;display:flex;font-size:1rem;height:40px;justify-content:center;width:40px}.activity-icon.success{background:#f0fff4;color:#38a169}.activity-icon.warning{background:#fffaf0;color:#dd6b20}.activity-icon.error{background:#fff5f5;color:#e53e3e}.activity-content{flex:1 1}.activity-title{color:#2d3748;font-weight:600;margin-bottom:.25rem}.activity-time{color:#718096;font-size:.8rem}@media (max-width:1024px){.main-content{padding:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:768px){.admin-dashboard{height:100vh;overflow:hidden}.main-wrapper{height:100%;overflow:hidden}.header{background:#fff;padding:1rem;position:fixed;top:0;width:100%}.main-content{height:calc(100vh - 80px);margin-top:80px;overflow-y:auto;padding:1rem;position:relative}.main-content,.nav-tabs{-webkit-overflow-scrolling:touch}.nav-tabs{gap:.5rem;overflow-x:auto;padding-bottom:.5rem}.nav-tab{padding:.5rem 1rem;white-space:nowrap}.stats-grid{gap:15px;grid-template-columns:1fr}.stat-card{padding:1rem}}@media (max-width:480px){.header,.main-content{padding:.75rem}.nav-tab{font-size:.9rem;padding:.5rem .75rem}.nav-tab i{font-size:1rem}.stat-card{flex-direction:column;text-align:center}.stat-icon{margin-bottom:.5rem}}.mobile-menu-toggle{display:none}
/*# sourceMappingURL=main.95372b91.css.map*/