.dashboard{min-height:100vh;background:#f5f7fa}.dashboard-navbar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 12px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-content{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.navbar-brand{margin:0;font-size:1.5rem;font-weight:700}.navbar-right{display:flex;align-items:center;gap:2rem}.user-info{display:flex;align-items:center;gap:1rem}.user-email{font-size:.9rem;opacity:.9}.admin-link{background:#fff3;padding:.5rem 1rem;border-radius:20px;color:#fff;text-decoration:none;font-size:.85rem;font-weight:600;transition:all .3s ease;border:1px solid rgba(255,255,255,.3)}.admin-link:hover{background:#ffffff4d;transform:translateY(-2px)}.btn-logout{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease}.btn-logout:hover{background:#ffffff4d;transform:translateY(-2px)}.dashboard-main{max-width:1400px;margin:0 auto;padding:2rem}@media (max-width: 768px){.navbar-content{flex-direction:column;gap:1rem;padding:1rem}.navbar-right{width:100%;justify-content:space-between;gap:.5rem}.user-info{flex-direction:column;align-items:flex-start;gap:.5rem}.dashboard-main{padding:1rem}}.test-timer{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:600;transition:all .3s ease}.timer-content{display:flex;align-items:center;gap:.75rem}.timer-icon{font-size:1.5rem}.timer-label{color:#666;font-size:.95rem}.timer-display{font-size:1.5rem;font-family:Courier New,monospace;color:#333;min-width:60px}.test-timer.warning{background:#fff3cd;border-color:#ffc107}.test-timer.warning .timer-display{color:#ff9800}.test-timer.critical{background:#ffebee;border-color:#f44336}.test-timer.critical .timer-display{color:#f44336;font-weight:700}.timer-warning{font-size:.85rem;font-weight:700;padding:.4rem .8rem;border-radius:4px;background:#ff9800;color:#fff;animation:pulse 1s infinite}.test-timer.critical .timer-warning{background:#f44336;animation:blink .5s infinite}.timer-display.blink{animation:blink .5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.5}}.question-navigation{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.nav-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.nav-header h3{margin:0;font-size:1.1rem;color:#333}.nav-stats{display:flex;gap:1rem;font-size:.9rem}.stat-item{display:flex;align-items:center;gap:.5rem;color:#666}.stat-label{font-weight:600}.nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:.5rem;margin-bottom:1.5rem}.nav-btn{width:100%;aspect-ratio:1;border:2px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s ease;position:relative;display:flex;align-items:center;justify-content:center;padding:0}.nav-btn:hover{border-color:#667eea;background:#f5f7ff}.nav-btn.current{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 4px 12px #667eea66}.nav-btn.answered{border-color:#4caf50;background:#f1f8f4;color:#2e7d32}.nav-btn.answered.current{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.nav-btn.case-study{border-style:dashed;border-color:#9c27b0}.nav-btn.case-study:not(.current){background:#f3e5f5}.checkmark{position:absolute;top:2px;right:2px;font-size:.7rem;background:#4caf50;color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.nav-legend{display:flex;flex-wrap:wrap;gap:1.5rem;padding-top:1rem;border-top:1px solid #eee}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#666}.legend-box{width:24px;height:24px;border:2px solid #ddd;border-radius:4px;background:#fff}.legend-box.answered{border-color:#4caf50;background:#f1f8f4}.legend-box.case-study{border-style:dashed;border-color:#9c27b0;background:#f3e5f5}.legend-box.current{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.case-study-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014}.case-study-header{background:linear-gradient(135deg,#9c27b0,#673ab7);color:#fff;padding:1.5rem;display:flex;align-items:center;gap:1rem}.header-icon{font-size:2rem}.header-content h2{margin:0;font-size:.9rem;font-weight:600;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.header-content h3{margin:.25rem 0 0;font-size:1.3rem}.case-study-metadata{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:14px}.metadata-item{display:flex;flex-direction:column}.metadata-item strong{color:#555;margin-bottom:5px}.case-study-scenario{padding:2rem;background:#f9f9f9;border-bottom:1px solid #e0e0e0}.scenario-section h4{margin:0 0 1rem;font-size:1rem;color:#333;display:flex;align-items:center;gap:.5rem}.scenario-text{font-size:1rem;line-height:1.6;color:#555;margin:0 0 1.5rem;padding:1rem;background:#fff;border-left:4px solid #9c27b0;border-radius:4px}.scenario-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.detail-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border-radius:6px;border:1px solid #e0e0e0}.detail-icon{font-size:1.2rem}.detail-label{font-weight:600;color:#666;min-width:70px}.detail-value{color:#333}.case-study-question{padding:2rem}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e0e0e0}.question-badge{background:linear-gradient(135deg,#9c27b0,#673ab7);color:#fff;padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.question-number{font-size:.9rem;color:#666;font-weight:600}.question-text{font-size:1.05rem;line-height:1.6;color:#333;margin:0 0 1.5rem;font-weight:500}.answer-input-container{display:flex;flex-direction:column;gap:.75rem}.answer-input-container label{font-weight:600;color:#333;font-size:.95rem}.answer-textarea{padding:1rem;border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:.95rem;line-height:1.5;resize:vertical;transition:all .3s ease}.answer-textarea:focus{outline:none;border-color:#9c27b0;box-shadow:0 0 0 3px #9c27b01a}.input-hint{font-size:.85rem;color:#999;margin:0;font-style:italic}.case-study-error{padding:2rem;background:#ffebee;color:#c62828;border-radius:8px;text-align:center;font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.submit-confirmation-modal{background-color:#fff;border-radius:8px;padding:30px;max-width:500px;width:90%;box-shadow:0 4px 20px #0000004d}.submit-confirmation-modal h2{margin:0 0 20px;color:#333;text-align:center}.confirmation-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px;padding:15px;background-color:#f5f5f5;border-radius:4px}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-label{font-size:12px;color:#666;margin-bottom:5px}.stat-value{font-size:24px;font-weight:700}.stat-value.answered{color:#4caf50}.stat-value.unanswered{color:#ff9800}.warning-message{padding:12px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;margin-bottom:15px;font-size:14px}.confirmation-text{color:#666;margin-bottom:20px;text-align:center;font-size:14px}.modal-buttons{display:flex;gap:10px;justify-content:center}.modal-buttons button{padding:10px 30px;font-size:14px;font-weight:700;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.btn-confirm{background-color:#1976d2;color:#fff}.btn-confirm:hover{background-color:#1565c0}.submit-button-container{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;background:#fff;border-top:2px solid #e0e0e0;border-radius:0 0 8px 8px;margin-top:2rem}.btn-submit-test{width:100%;max-width:400px;padding:1rem;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4caf504d}.btn-submit-test:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.btn-submit-test:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-hint{font-size:.9rem;color:#666;margin:0}.confirmation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.confirmation-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:1.5rem}.modal-close{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close:hover{background:#ffffff4d}.modal-close:disabled{cursor:not-allowed;opacity:.5}.modal-content{padding:2rem}.modal-message{font-size:1rem;color:#333;margin:0 0 1.5rem;font-weight:500}.submission-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}.stat{padding:1rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;border:2px solid}.stat.answered{background:#f1f8f4;border-color:#4caf50}.stat.unanswered{background:#fff3e0;border-color:#ff9800}.stat.total{background:#e3f2fd;border-color:#2196f3}.stat-icon{font-size:1.5rem;flex-shrink:0}.stat-text{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#666}.stat-value{font-size:1.5rem;font-weight:700}.stat.answered .stat-value{color:#4caf50}.stat.unanswered .stat-value{color:#ff9800}.stat.total .stat-value{color:#2196f3}.warning-box{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1rem;margin:1rem 0;display:flex;gap:.75rem}.warning-icon{font-size:1.2rem;flex-shrink:0}.warning-box p{margin:0;font-size:.95rem;color:#856404}.modal-note{background:#f5f5f5;border-left:4px solid #667eea;padding:1rem;border-radius:4px;font-size:.9rem;color:#555;margin:1rem 0 0}.modal-actions{display:flex;gap:1rem;padding:1.5rem 2rem;background:#f9f9f9;border-top:1px solid #e0e0e0;border-radius:0 0 12px 12px}.btn-cancel,.btn-confirm{flex:1;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#e0e0e0;color:#333}.btn-cancel:hover{background:#d0d0d0}.btn-confirm{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 4px 12px #4caf504d}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.btn-cancel:disabled,.btn-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}.test-interface{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:1.5rem}.test-interface-loading,.test-interface-error{display:flex;align-items:center;justify-content:center;height:100vh;font-size:18px;color:#333}.test-interface-error{color:#d32f2f}.test-container{display:flex;flex-direction:column;flex:1;overflow:hidden;max-width:1000px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a}.test-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}@media (max-width: 768px){.test-header{grid-template-columns:1fr;gap:1rem}}.header-left h1{margin:0;font-size:1.8rem}.test-info{margin:.5rem 0 0;opacity:.9;font-size:.95rem}.header-right{display:flex;justify-content:flex-end}.save-status{padding:1rem 2rem;background:#f9f9f9;border-bottom:1px solid #e0e0e0;font-size:.9rem;color:#666;min-height:20px}.saved{color:#4caf50;font-weight:600}.question-content{padding:2rem;min-height:400px}.question-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.question-header-bar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem}.header-info{display:flex;align-items:center;gap:1rem}.question-number{font-weight:600;font-size:1.1rem}.unit-code{background:#fff3;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.question-body{padding:2rem}.question-text{font-size:1.05rem;line-height:1.7;color:#333;margin:0 0 2rem;font-weight:500}.answer-section{display:flex;flex-direction:column;gap:.75rem}.answer-section label{font-weight:600;color:#333;font-size:.95rem}.answer-input{padding:1rem;border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:.95rem;line-height:1.6;resize:vertical;transition:all .3s ease}.answer-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.navigation-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;background:#f9f9f9;border-top:1px solid #e0e0e0}.nav-btn{padding:.75rem 1.5rem;border:2px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease}.nav-btn:hover:not(:disabled){border-color:#667eea;background:#f5f7ff;color:#667eea}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.progress-info{font-weight:600;color:#666;text-align:center;min-width:100px}.test-loading,.test-error,.test-locked{background:#fff;padding:3rem;border-radius:12px;max-width:600px;margin:3rem auto;text-align:center;box-shadow:0 10px 40px #0000001a}.test-error h2,.test-locked h2{color:#f44336;margin-top:0}.test-loading{color:#666;font-size:1.1rem}.test-error button,.test-locked button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;margin-top:1.5rem}@media (max-width: 768px){.test-interface{padding:.5rem}.test-header,.question-content{padding:1rem}.question-body{padding:1.5rem}.navigation-controls{flex-wrap:wrap;padding:1rem}.nav-btn{flex:1;min-width:120px}}.test-results{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:1.5rem}.results-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;overflow:hidden;animation:slideIn .5s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.results-header{text-align:center;padding:2rem 2rem 1rem;position:relative}.results-badge{display:inline-block;padding:.75rem 1.5rem;border-radius:50px;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem}.results-badge.passed{background:#e8f5e9;color:#2e7d32}.results-badge.failed{background:#ffebee;color:#c62828}.results-header h1{margin:0 0 .5rem;font-size:2rem;color:#333}.results-subtitle{margin:0;color:#666;font-size:.95rem}.score-display{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);align-items:center}@media (max-width: 600px){.score-display{grid-template-columns:1fr;gap:1.5rem}}.score-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin:0 auto;box-shadow:0 10px 30px #667eea4d}.score-number{font-size:3rem;font-weight:700;line-height:1}.score-label{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:.5rem;opacity:.9}.results-details{display:flex;flex-direction:column;gap:1rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e0e0e0}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:#666;font-size:.9rem}.detail-value{font-weight:700;color:#333;font-size:.95rem}.detail-value.passed{color:#2e7d32}.detail-value.failed{color:#c62828}.results-message{padding:2rem;border-top:1px solid #e0e0e0}.success-message,.failure-message{text-align:center}.success-message h2{color:#2e7d32;margin:0 0 1rem;font-size:1.5rem}.failure-message h2{color:#c62828;margin:0 0 1rem;font-size:1.5rem}.success-message p,.failure-message p{margin:.75rem 0;color:#555;line-height:1.6}.results-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:2rem;background:#f9f9f9;border-top:1px solid #e0e0e0}.btn-dashboard,.btn-retake{padding:1rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .3s ease}.btn-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-dashboard:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-retake{background:#ff9800;color:#fff;box-shadow:0 4px 12px #ff98004d}.btn-retake:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff980066}.results-loading,.results-error{padding:2rem;text-align:center;background:#fff;border-radius:12px;max-width:600px;margin:2rem auto;box-shadow:0 2px 12px #0000001a}.results-error h2{color:#f44336;margin-top:0}.results-error button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;margin-top:1rem}.admin-layout{display:flex;height:100vh;background-color:#f5f5f5}.admin-sidebar{width:250px;background-color:#1a1a1a;color:#fff;display:flex;flex-direction:column;box-shadow:2px 0 10px #0003;transition:width .3s ease;overflow:hidden}.admin-sidebar.closed{width:80px}.sidebar-header{padding:20px;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{margin:0;font-size:18px;white-space:nowrap}.sidebar-header.closed h2{display:none}.toggle-sidebar{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:5px}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:10px 0}.nav-item{padding:12px 20px;color:#ccc;text-decoration:none;transition:all .2s;border-left:3px solid transparent;white-space:nowrap}.nav-item:hover{background-color:#2a2a2a;color:#fff;border-left-color:#1976d2}.nav-item.active{background-color:#1976d2;color:#fff;border-left-color:#1565c0}.sidebar-footer{border-top:1px solid #333;padding:10px 0}.admin-content{flex:1;overflow-y:auto;padding:20px}@media (max-width: 768px){.admin-sidebar{position:absolute;height:100vh;z-index:100;left:-250px}.admin-sidebar.open{left:0}.admin-content{width:100%}}.admin-dashboard{max-width:1200px}.admin-dashboard h1{margin:0 0 30px;color:#333;font-size:28px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:40px}.card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;border-radius:8px;box-shadow:0 4px 12px #00000026;transition:all .3s;display:flex;flex-direction:column}.card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0003}.card h3{margin:0 0 10px;font-size:20px}.card .desc{flex:1;margin:10px 0;font-size:14px;opacity:.9;line-height:1.5}.card-link{display:inline-block;margin-top:15px;color:#fff;text-decoration:none;font-weight:700;transition:all .2s;padding:8px 12px;border-radius:4px}.card:hover .card-link{background-color:#fff3}.admin-info{background-color:#f5f5f5;padding:20px;border-radius:8px;border-left:4px solid #1976d2}.admin-info h3{margin:0 0 10px;color:#333}.admin-info p{margin:0;color:#666}.loading,.error{text-align:center;padding:40px;font-size:16px;color:#666}.error{color:#d32f2f}.user-management{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.user-management h2{margin:0 0 20px;color:#333}.filters{display:flex;gap:10px;margin-bottom:20px}.filter-input{flex:1;min-width:200px}.users-container{display:grid;grid-template-columns:1fr 300px;gap:20px}.users-list{overflow-x:auto}table{width:100%;border-collapse:collapse}table thead{background-color:#f5f5f5;border-bottom:2px solid #ddd}table th{padding:12px;text-align:left;font-weight:700;color:#333;font-size:13px}table td{padding:12px;border-bottom:1px solid #eee;font-size:13px}table tr:hover{background-color:#fafafa}table tr.selected{background-color:#e3f2fd}.badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap}.badge.qualified{background-color:#d4edda;color:#155724}.badge.unqualified{background-color:#f8d7da;color:#721c24}.badge.admin{background-color:#cce5ff;color:#004085}.badge.user{background-color:#e2e3e5;color:#383d41}.btn-small.btn-danger{background-color:#d32f2f}.btn-small.btn-danger:hover{background-color:#c62828}.user-details-panel{border:1px solid #ddd;border-radius:4px;padding:15px;background-color:#fafafa}.user-details-panel h3{margin:0 0 15px;color:#333;font-size:16px}.form-group{margin-bottom:12px}.form-group label{display:block;margin-bottom:5px;font-weight:700;font-size:13px;color:#333}.form-group input[type=text],.form-group select{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;font-size:13px;box-sizing:border-box}.form-group input[type=checkbox]{margin-right:8px}.form-stats{background-color:#fff;padding:12px;border-radius:4px;margin:15px 0}.form-stats h4{margin:0 0 10px;font-size:13px;color:#333}.form-stats p{margin:5px 0;font-size:13px;color:#666}.panel-buttons{display:flex;gap:10px}@media (max-width: 1024px){.users-container{grid-template-columns:1fr}}.user-management{max-width:1400px;margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a}.users-table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px}.users-table{width:100%;border-collapse:collapse;font-size:.95rem}.users-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.users-table th{padding:1rem;text-align:left;font-weight:600}.users-table tbody tr{border-bottom:1px solid #e0e0e0;transition:all .2s ease}.users-table tbody tr:hover{background:#f9f9f9}.users-table tbody tr.editing{background:#f5f7ff}.users-table td{padding:1rem}.email-cell{font-weight:600;color:#333}.status-badge.paid{background:#e8f5e9;color:#2e7d32}.status-badge.unpaid{background:#ffebee;color:#c62828}.status-badge.yes{background:#e8f5e9;color:#2e7d32}.status-badge.no{background:#fff3e0;color:#e65100}.status-badge.admin{background:#e3f2fd;color:#1565c0}.status-badge.user{background:#f3e5f5;color:#6a1b9a}.actions-cell{display:flex;gap:.5rem;flex-wrap:wrap}.actions-cell button,.users-table tbody tr.editing input,.users-table tbody tr.editing select{padding:.5rem .75rem;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.btn-edit{background:#2196f3;color:#fff;border-color:#2196f3}.btn-edit:hover{background:#1976d2}.btn-delete{background:#f44336;color:#fff;border-color:#f44336}.btn-delete:hover{background:#da190b}.btn-save{background:#4caf50;color:#fff;border-color:#4caf50}.btn-save:hover{background:#388e3c}.btn-cancel{background:#9e9e9e;color:#fff;border-color:#9e9e9e}.btn-cancel:hover{background:#757575}.users-table tbody tr.editing input,.users-table tbody tr.editing select{width:100%}.user-management-loading{padding:2rem;text-align:center;color:#666}@media (max-width: 768px){.management-header{flex-direction:column;align-items:flex-start}.users-table{font-size:.85rem}.users-table th,.users-table td{padding:.75rem .5rem}.actions-cell{flex-direction:column}.actions-cell button{width:100%}}.file-name{font-weight:700;color:#333;margin:0}.file-size{color:#999;font-size:12px;margin:5px 0 0}.upload-buttons{display:flex;gap:10px;margin-top:15px;justify-content:center}.btn-upload,.btn-cancel{padding:10px 30px;font-size:14px;font-weight:700;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.btn-upload{background-color:#4caf50;color:#fff}.btn-upload:hover:not(:disabled){background-color:#45a049}.btn-upload:disabled{background-color:#ccc;cursor:not-allowed}.btn-cancel:hover{background-color:#e0e0e0}.instructions{background-color:#f5f5f5;padding:20px;border-radius:8px;margin-bottom:20px}.instructions h3{margin:0 0 15px;color:#333}.column-table{width:100%;border-collapse:collapse;background-color:#fff}.column-table thead{background-color:#e0e0e0}.column-table th,.column-table td{padding:10px;text-align:left;border:1px solid #ddd;font-size:13px}.column-table th{font-weight:700;color:#333}.column-table tbody tr:hover{background-color:#fafafa}.result-section{background-color:#e8f5e9;border:1px solid #4caf50;border-radius:8px;padding:20px;margin-top:20px}.result-section.with-errors{background-color:#fff3e0;border-color:#ff9800}.result-section h3{margin:0 0 15px;color:#333}.result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:15px}.stat{background-color:#fff;padding:12px;border-radius:4px;border-left:4px solid #4caf50}.stat.errors{border-left-color:#ff9800}.stat-label{display:block;font-size:12px;color:#666;margin-bottom:5px}.stat-value{display:block;font-size:24px;font-weight:700;color:#333}.errors-list{background-color:#fff;padding:15px;border-radius:4px;margin-top:15px}.errors-list h4{margin:0 0 10px;color:#333}.errors-list ul{margin:0;padding:0;list-style:none}.errors-list li{padding:8px 0;border-bottom:1px solid #eee;font-size:13px;color:#666}.error-icon{margin-right:8px}.more-errors{padding:8px 0;color:#999;font-size:12px;font-style:italic}.question-upload{max-width:1200px;margin:0 auto;padding:2rem}.upload-header{text-align:center;margin-bottom:3rem}.upload-header h1{margin:0;font-size:2rem;color:#333}.upload-header p{margin:.5rem 0 0;color:#666;font-size:1.05rem}.upload-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}@media (max-width: 968px){.upload-container{grid-template-columns:1fr}}.upload-section,.instructions-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 12px #00000014}.upload-section h2,.instructions-section h2{margin:0 0 1.5rem;font-size:1.3rem;color:#333}.file-input-wrapper{position:relative;margin-bottom:1.5rem}.file-input{display:none}.file-label{display:block;padding:2rem;border:3px dashed #667eea;border-radius:8px;text-align:center;cursor:pointer;background:#f5f7ff;transition:all .3s ease;font-weight:600;color:#667eea}.file-label:hover{background:#e8ebf8;border-color:#764ba2;color:#764ba2}.btn-upload{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-upload:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-upload:disabled{opacity:.6;cursor:not-allowed}.instruction-text{color:#666;margin-bottom:1rem}.format-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.9rem}.format-table thead{background:#f5f7ff;border-bottom:2px solid #667eea}.format-table th{padding:.75rem;text-align:left;font-weight:600;color:#333}.format-table td{padding:.75rem;border-bottom:1px solid #e0e0e0}.format-table tbody tr:hover{background:#f9f9f9}.instruction-note{background:#e8f5e9;border-left:4px solid #4caf50;padding:1rem;border-radius:4px;margin-top:1rem}.instruction-note p{margin:0 0 .75rem;color:#2e7d32;font-weight:600}.instruction-note ul{margin:0;padding-left:1.5rem}.instruction-note li{margin-bottom:.5rem;color:#2e7d32}.upload-results{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 12px #00000014;grid-column:1 / -1}.upload-results h2{margin:0 0 1.5rem;font-size:1.3rem;color:#333}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.result-item{padding:1.5rem;border-radius:8px;display:flex;gap:1rem;align-items:center}.result-item.success{background:#e8f5e9;border:1px solid #4caf50}.result-item.info{background:#e3f2fd;border:1px solid #2196f3}.result-item.error{background:#ffebee;border:1px solid #f44336}.result-icon{font-size:1.5rem;flex-shrink:0}.result-content{display:flex;flex-direction:column;gap:.25rem}.result-label{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#666}.result-value{font-size:1.8rem;font-weight:700}.result-item.success .result-label,.result-item.success .result-value{color:#2e7d32}.result-item.info .result-label,.result-item.info .result-value{color:#1565c0}.result-item.error .result-label,.result-item.error .result-value{color:#c62828}.errors-list{background:#ffebee;border:1px solid #f44336;border-radius:8px;padding:1.5rem}.errors-list h3{margin:0 0 1rem;color:#c62828}.errors-list ul{margin:0;padding-left:1.5rem;list-style-type:none}.errors-list li{padding:.5rem 0;color:#c62828;border-bottom:1px solid rgba(244,67,54,.2)}.errors-list li:before{content:"✗ ";font-weight:700;margin-right:.5rem}.errors-list li:last-child{border-bottom:none}.marking-override{margin-top:10px}.btn-override{padding:6px 12px;font-size:12px;font-weight:700;background-color:#ff9800;color:#fff;border:none;border-radius:3px;cursor:pointer;transition:all .2s;width:100%}.btn-override:hover{background-color:#f57c00}.override-form{background-color:#fff9c4;padding:10px;border-radius:3px;border:1px solid #fbc02d;margin-top:8px}.form-message{font-size:12px;color:#f57f17;margin-bottom:8px}.override-form textarea{width:100%;padding:6px;font-family:inherit;font-size:12px;border:1px solid #fbc02d;border-radius:3px;resize:vertical;margin-bottom:8px;box-sizing:border-box}.override-form textarea:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.override-form textarea:focus{outline:none;border-color:#f57f17;box-shadow:0 0 3px #f57f174d}.form-buttons{display:flex;gap:6px}.btn-save,.btn-cancel{flex:1;padding:6px;font-size:12px;font-weight:700;border:none;border-radius:3px;cursor:pointer;transition:all .2s}.btn-save{background-color:#4caf50;color:#fff}.btn-save:hover:not(:disabled){background-color:#45a049}.btn-save:disabled{background-color:#ccc;cursor:not-allowed}.btn-cancel{background-color:#f5f5f5;color:#333;border:1px solid #ccc}.btn-cancel:hover:not(:disabled){background-color:#e0e0e0}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.test-results-viewer{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.test-results-viewer h2{margin:0 0 20px;color:#333}.results-container{display:grid;grid-template-columns:1fr 400px;gap:20px}.results-list{overflow-x:auto}.results-list table{width:100%;border-collapse:collapse}.results-list thead{background-color:#f5f5f5;border-bottom:2px solid #ddd}.results-list th{padding:12px;text-align:left;font-weight:700;color:#333;font-size:13px}.results-list td{padding:12px;border-bottom:1px solid #eee;font-size:13px}.results-list tr:hover{background-color:#fafafa}.results-list tr.selected{background-color:#e3f2fd}.score{font-weight:700}.score.passed{color:#2e7d32}.score.failed{color:#c62828}.badge.passed{background-color:#d4edda;color:#155724}.btn-small{padding:4px 8px;font-size:12px;border:none;background-color:#1976d2;color:#fff;border-radius:3px;cursor:pointer;margin-right:5px;transition:all .2s}.btn-small:hover{background-color:#1565c0}.test-details-panel{border:1px solid #ddd;border-radius:4px;padding:15px;background-color:#fafafa;max-height:800px;overflow-y:auto}.test-details-panel h3{margin:0 0 15px;color:#333;font-size:16px}.test-details-panel h4{margin:15px 0 10px;color:#333;font-size:14px}.test-header-info{background-color:#fff;padding:12px;border-radius:4px;margin-bottom:15px;border-left:4px solid #1976d2}.info-item{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.info-item .label{font-weight:700;color:#666}.info-item .value{color:#333}.questions-section{margin-bottom:15px}.questions-list{max-height:500px;overflow-y:auto;background-color:#fff;border-radius:4px;border:1px solid #ddd}.question-item{padding:12px;border-bottom:1px solid #eee;display:grid;grid-template-columns:30px 1fr;gap:10px}.question-item:last-child{border-bottom:none}.question-item.correct{background-color:#f1f8e9}.question-item.incorrect{background-color:#ffebee}.question-number{font-weight:700;color:#666;font-size:12px}.question-content{font-size:12px}.question-text{margin:0 0 8px;color:#333;line-height:1.4}.unit-code{display:inline-block;background-color:#f0f0f0;padding:2px 6px;border-radius:3px;margin-left:8px;font-size:11px;color:#666}.answer-section{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.answer-group{background-color:#f5f5f5;padding:8px;border-radius:3px}.answer-group strong{display:block;font-size:11px;color:#666;margin-bottom:4px}.answer-group p{margin:0;font-size:12px;color:#333}.result-badge{display:inline-block;padding:4px 8px;border-radius:3px;font-size:11px;font-weight:700;margin-top:8px}.result-badge.correct{background-color:#c8e6c9;color:#1b5e20}.result-badge.incorrect{background-color:#fcc;color:#b71c1c}.manual-correction{background-color:#fff9c4;padding:8px;border-radius:3px;margin-top:8px;border-left:3px solid #fbc02d}.manual-correction strong{display:block;font-size:11px;color:#f57f17;margin-bottom:4px}.manual-correction p{margin:0;font-size:11px;color:#333;font-style:italic}.panel-buttons{display:flex;gap:10px;margin-top:15px}.btn-primary,.btn-secondary{flex:1;padding:8px;border:none;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}.btn-primary{background-color:#1976d2;color:#fff}.btn-primary:hover{background-color:#1565c0}.btn-secondary{background-color:#f5f5f5;color:#333;border:1px solid #ccc}.btn-secondary:hover{background-color:#e0e0e0}@media (max-width: 1024px){.results-container,.answer-section{grid-template-columns:1fr}}.test-results-viewer{max-width:1400px;margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a}.viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.viewer-header h1{margin:0;font-size:1.8rem;color:#333}.filter-bar{display:flex;gap:1rem}.results-table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px}.results-table{width:100%;border-collapse:collapse;font-size:.95rem}.results-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.results-table th{padding:1rem;text-align:left;font-weight:600}.results-table tbody tr{border-bottom:1px solid #e0e0e0;transition:all .2s ease}.results-table tbody tr:hover{background:#f9f9f9}.results-table td{padding:1rem}.test-number{font-weight:600;color:#667eea}.score-cell{font-weight:600}.score-badge{display:inline-block;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-weight:700;font-size:.95rem}.result-badge{display:inline-block;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap}.result-badge.passed{background:#e8f5e9;color:#2e7d32}.result-badge.failed{background:#ffebee;color:#c62828}.actions-cell{display:flex;gap:.5rem}.btn-view{padding:.5rem 1rem;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease}.btn-view:hover{background:#1976d2;transform:translateY(-2px)}.no-results{text-align:center;color:#999;font-style:italic;padding:2rem!important}.results-loading{padding:2rem;text-align:center;color:#666}@media (max-width: 768px){.viewer-header{flex-direction:column;align-items:flex-start}.results-table{font-size:.85rem}.results-table th,.results-table td{padding:.75rem .5rem}.user-cell small{font-size:.75rem}.score-badge{font-size:.85rem;padding:.35rem .75rem}}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:2rem}.detail-header h1{margin:0;font-size:1.8rem;font-weight:700}.detail-header p{margin:0;font-size:1rem;opacity:.9}.completed-date{font-size:.9rem;opacity:.85}.header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-export,.btn-back{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .3s ease}.btn-export{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.5)}.btn-export:hover{background:#ffffff4d;transform:translateY(-2px)}.btn-back{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.5)}.btn-back:hover{background:#ffffff4d;transform:translateY(-2px)}.detail-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-item{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:.5rem}.summary-label{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#666}.summary-value{font-size:1.8rem;font-weight:700;color:#333}.summary-value.score{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.summary-value.status.passed{color:#2e7d32}.summary-value.status.failed{color:#c62828}.questions-list{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 12px #00000014}.questions-list h2{margin:0 0 2rem;font-size:1.5rem;color:#333;border-bottom:2px solid #e0e0e0;padding-bottom:1rem}.question-item{border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;transition:all .3s ease}.question-item:hover{box-shadow:0 4px 12px #00000014}.question-header-detail{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.q-number{font-weight:700;font-size:.95rem;color:#333}.q-result{display:inline-block;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.q-result.correct{background:#e8f5e9;color:#2e7d32}.q-result.incorrect{background:#ffebee;color:#c62828}.manually-corrected{display:inline-block;padding:.35rem .75rem;background:#fff3e0;color:#e65100;border-radius:20px;font-size:.85rem;font-weight:600}.question-text{margin-bottom:1.5rem}.question-text strong{display:block;margin-bottom:.5rem;color:#333}.question-text p{margin:0;color:#555;line-height:1.6;font-size:.95rem}.question-answers{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.answer-section{padding:1rem;border-radius:6px;border-left:4px solid}.answer-section strong{display:block;margin-bottom:.5rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.answer-section p{margin:0;color:#555;line-height:1.6;font-size:.95rem}.user-answer{background:#f5f5f5;border-left-color:#2196f3}.user-answer strong{color:#1565c0}.correct-answer{background:#e8f5e9;border-left-color:#4caf50}.correct-answer strong{color:#2e7d32}.correction-info{background:#fff3e0;border-left:4px solid #ff9800;padding:1rem;border-radius:6px;margin-bottom:1.5rem}.correction-info strong{display:block;margin-bottom:.5rem;color:#e65100}.correction-info p{margin:0 0 .5rem;color:#666;line-height:1.6}.correction-info small{display:block;color:#999;font-size:.85rem}.question-actions{display:flex;gap:.75rem}.btn-override{padding:.75rem 1.5rem;background:#ff9800;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease}.btn-override:hover{background:#f57c00;transform:translateY(-2px)}.override-form{background:#fff3e0;border:1px solid #ff9800;border-radius:6px;padding:1rem;display:flex;flex-direction:column;gap:1rem}.override-action{margin:0;font-weight:600;color:#e65100}.override-reason{padding:.75rem;border:1px solid #ff9800;border-radius:4px;font-family:inherit;font-size:.9rem;resize:vertical}.override-reason:focus{outline:none;border-color:#f57c00;box-shadow:0 0 0 3px #ff98001a}.form-buttons{display:flex;gap:.75rem}.btn-confirm-override,.btn-cancel-override{flex:1;padding:.6rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease}.btn-confirm-override{background:#ff9800;color:#fff}.btn-confirm-override:hover:not(:disabled){background:#f57c00}.btn-confirm-override:disabled{opacity:.6;cursor:not-allowed}.btn-cancel-override{background:#e0e0e0;color:#333}.btn-cancel-override:hover{background:#d0d0d0}.test-detail-loading,.test-detail-error{padding:2rem;text-align:center;background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014}.test-detail-error h2{color:#f44336;margin-top:0}.test-detail-error button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;margin-top:1rem}@media (max-width: 768px){.detail-header{flex-direction:column;gap:1rem}.header-actions{width:100%}.header-actions button{flex:1}.question-answers{grid-template-columns:1fr}.form-buttons{flex-direction:column}.form-buttons button{width:100%}}.payment-management{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.payment-management h2{margin:0 0 20px;color:#333}.view-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #eee}.tab{padding:10px 20px;background-color:transparent;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:700;color:#666;cursor:pointer;transition:all .2s}.tab:hover{color:#333}.tab.active{color:#1976d2;border-bottom-color:#1976d2}.filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filter-input,.filter-select{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px}.filter-input{flex:1;min-width:150px}.payments-list{overflow-x:auto}.payments-list table,.statement-details table{width:100%;border-collapse:collapse}.payments-list thead,.statement-details thead{background-color:#f5f5f5;border-bottom:2px solid #ddd}.payments-list th,.statement-details th{padding:12px;text-align:left;font-weight:700;color:#333;font-size:13px}.payments-list td,.statement-details td{padding:12px;border-bottom:1px solid #eee;font-size:13px}.payments-list tr:hover,.statement-details tr:hover{background-color:#fafafa}.badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:700}.badge.pending{background-color:#fff3cd;color:#856404}.badge.completed{background-color:#d4edda;color:#155724}.badge.failed{background-color:#f8d7da;color:#721c24}.transaction-id{font-family:Courier New,monospace;font-size:12px;color:#999}.no-data{text-align:center;padding:40px;color:#999}.statement-view{display:flex;flex-direction:column;gap:20px}.statement-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.summary-card.completed{background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-card.pending{background:linear-gradient(135deg,#4facfe,#00f2fe)}.summary-card .label{display:block;font-size:12px;opacity:.9;margin-bottom:5px}.summary-card .value{display:block;font-size:28px;font-weight:700}.statement-details{background-color:#f5f5f5;padding:15px;border-radius:8px;overflow-x:auto}@media (max-width: 768px){.statement-summary{grid-template-columns:1fr 1fr}.filters{flex-direction:column}.filter-input{width:100%}}.payment-management{max-width:1200px;margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.management-header h1{margin:0;font-size:1.8rem;color:#333}.filter-controls{display:flex;gap:1rem}.filter-select{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer;font-size:.95rem;transition:all .3s ease}.filter-select:hover,.filter-select:focus{border-color:#667eea;outline:none}.payment-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;text-align:center}.stat-label{font-size:.9rem;font-weight:600;opacity:.9}.stat-value{font-size:2rem;font-weight:700}.payments-table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px}.payments-table{width:100%;border-collapse:collapse;font-size:.95rem}.payments-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.payments-table th{padding:1rem;text-align:left;font-weight:600}.payments-table tbody tr{border-bottom:1px solid #e0e0e0;transition:all .2s ease}.payments-table tbody tr:hover{background:#f9f9f9}.payments-table td{padding:1rem}.user-cell{font-weight:600;color:#333}.user-cell small{display:block;font-size:.85rem;color:#999;margin-top:.25rem}.amount-cell{font-weight:700;color:#2e7d32}.status-badge{display:inline-block;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;white-space:nowrap}.status-badge.completed{background:#e8f5e9;color:#2e7d32}.status-badge.pending{background:#fff3e0;color:#e65100}.status-badge.failed{background:#ffebee;color:#c62828}.date-cell{color:#999;font-size:.9rem}.no-data{text-align:center;color:#999;font-style:italic;padding:2rem!important}.payments-loading{padding:2rem;text-align:center;color:#666}@media (max-width: 768px){.management-header{flex-direction:column;align-items:flex-start}.payment-stats{grid-template-columns:1fr}.payments-table{font-size:.85rem}.payments-table th,.payments-table td{padding:.75rem .5rem}.user-cell small{font-size:.75rem}}html{font-size:16px}body{font-family:Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}::selection{background:#667eea;color:#fff}::-moz-selection{background:#667eea;color:#fff}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.2rem;color:#667eea}:root{--primary-color: #003366;--primary-dark: #002244;--primary-light: #004488;--primary-hover: #0055aa;--secondary-color: #cc0000;--secondary-dark: #990000;--secondary-light: #ff3333;--accent-gold: #d4af37;--accent-green: #28a745;--accent-orange: #ff6b00;--background: #f5f7fa;--surface: #ffffff;--surface-alt: #e8eef5;--border: #d1dce6;--border-dark: #a8b8cc;--text-primary: #1a1a1a;--text-secondary: #4a5568;--text-light: #718096;--text-white: #ffffff;--status-passed: #28a745;--status-failed: #dc3545;--status-warning: #ffc107;--status-info: #17a2b8;--gradient-primary: linear-gradient(135deg, #003366 0%, #004488 100%);--gradient-hero: linear-gradient(135deg, #002244 0%, #003366 50%, #004488 100%);--gradient-card: linear-gradient(to bottom, #ffffff 0%, #f8f9fb 100%);--shadow-sm: 0 2px 4px rgba(0, 51, 102, .08);--shadow-md: 0 4px 12px rgba(0, 51, 102, .12);--shadow-lg: 0 8px 24px rgba(0, 51, 102, .15);--shadow-xl: 0 12px 32px rgba(0, 51, 102, .2);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family: "Roboto", "Segoe UI", -apple-system, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--background);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.page-header{background:var(--gradient-primary);color:var(--text-white);padding:var(--spacing-2xl) 0;box-shadow:var(--shadow-lg)}.page-title{font-size:var(--font-size-4xl);font-weight:700;margin-bottom:var(--spacing-sm)}.btn{display:inline-block;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);border:none;font-weight:600;font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base);text-decoration:none;text-align:center}.btn-primary{background:var(--primary-color);color:var(--text-white);box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--secondary-color);color:var(--text-white)}.btn-secondary:hover{background:var(--secondary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-outline{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-outline:hover{background:var(--primary-color);color:var(--text-white)}.btn-success{background:var(--accent-green);color:var(--text-white)}.btn-danger{background:var(--status-failed);color:var(--text-white)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-lg{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg)}.card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);border:1px solid var(--border);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}.card-header{font-size:var(--font-size-2xl);font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:3px solid var(--primary-color)}.test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-xl);margin-top:var(--spacing-2xl)}.test-card{background:var(--gradient-card);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-md);border:3px solid var(--border);transition:all var(--transition-slow);position:relative;overflow:hidden}.test-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--gradient-primary);transform:scaleX(0);transition:transform var(--transition-base)}.test-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-xl);transform:translateY(-8px)}.test-card:hover:before{transform:scaleX(1)}.test-card h2{color:var(--primary-color);font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.test-card .description{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);line-height:1.8}.test-card .previous-attempt{background:var(--surface-alt);padding:var(--spacing-lg);border-radius:var(--radius-md);margin:var(--spacing-lg) 0}.test-card .score{font-size:var(--font-size-4xl);font-weight:700;margin-bottom:var(--spacing-sm)}.test-card .score.passed{color:var(--status-passed)}.test-card .score.failed{color:var(--status-failed)}.test-card .not-taken{color:var(--text-light);font-style:italic;padding:var(--spacing-lg) 0}.btn-start{width:100%;margin-top:var(--spacing-md);background:var(--primary-color);color:var(--text-white);font-weight:700;padding:var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-lg)}.btn-start:hover{background:var(--gradient-primary)}.test-interface{max-width:900px;margin:0 auto;padding:var(--spacing-xl)}.test-header{background:var(--gradient-primary);color:var(--text-white);padding:var(--spacing-xl);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-lg)}.test-header h1{font-size:var(--font-size-3xl);font-weight:700}.test-timer{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--surface);color:var(--primary-color);border-radius:var(--radius-lg);border:3px solid var(--border);font-size:var(--font-size-xl);font-weight:700;box-shadow:var(--shadow-md)}.test-timer .timer-icon{font-size:var(--font-size-2xl)}.test-timer.warning{border-color:var(--secondary-color);background:#fff5f5;color:var(--secondary-color);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.question-navigation{background:var(--surface);padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-md)}.nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.nav-btn{width:50px;height:50px;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;font-weight:700;font-size:var(--font-size-base);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.nav-btn:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.nav-btn.current{background:var(--primary-color);color:var(--text-white);border-color:var(--primary-color);box-shadow:var(--shadow-md)}.nav-btn.answered{background:var(--accent-green);color:var(--text-white);border-color:var(--accent-green)}.nav-btn.case-study{background:var(--accent-gold);color:var(--text-primary);border-color:var(--accent-gold);font-weight:800}.nav-legend{display:flex;gap:var(--spacing-lg);justify-content:center;padding-top:var(--spacing-md);border-top:2px solid var(--border);font-size:var(--font-size-sm)}.nav-legend span{display:flex;align-items:center;gap:var(--spacing-xs)}.nav-legend .box{width:20px;height:20px;border-radius:var(--radius-sm);border:2px solid var(--border)}.nav-legend .box.answered{background:var(--accent-green);border-color:var(--accent-green)}.nav-legend .box.case-study{background:var(--accent-gold);border-color:var(--accent-gold)}.question-container{background:var(--surface);padding:var(--spacing-2xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl);min-height:400px}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:3px solid var(--primary-color)}.question-number{font-size:var(--font-size-2xl);font-weight:700;color:var(--primary-color)}.unit-code{background:var(--primary-color);color:var(--text-white);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600}.question-text{font-size:var(--font-size-lg);color:var(--text-primary);line-height:1.8;margin-bottom:var(--spacing-xl);font-weight:500}.case-study{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden}.case-study-header{background:var(--gradient-primary);color:var(--text-white);padding:var(--spacing-lg)}.case-study-header h3{font-size:var(--font-size-2xl);font-weight:700;display:flex;align-items:center;gap:var(--spacing-sm)}.case-study-scenario{background:var(--surface-alt);padding:var(--spacing-xl);border-left:5px solid var(--accent-gold);margin:var(--spacing-lg) 0}.case-study-scenario h4{color:var(--primary-color);font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.case-study-scenario p{line-height:1.8;margin-bottom:var(--spacing-md)}.case-study-scenario strong{color:var(--primary-color);font-weight:700}.case-study-question{padding:var(--spacing-xl)}.case-study-question h4{color:var(--primary-color);font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}input[type=text],input[type=email],input[type=password],textarea,select{width:100%;padding:var(--spacing-md);border:2px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family);transition:all var(--transition-base);background:var(--surface)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #0033661a}textarea{resize:vertical;min-height:150px;line-height:1.6}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-weight:700;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.status-badge.passed{background:#d4edda;color:#155724}.status-badge.failed{background:#f8d7da;color:#721c24}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:280px;background:var(--primary-dark);color:var(--text-white);padding:var(--spacing-xl)}.admin-sidebar h2{color:var(--text-white);margin-bottom:var(--spacing-xl);font-size:var(--font-size-2xl)}.admin-nav a{display:block;padding:var(--spacing-md) var(--spacing-lg);color:#fffc;text-decoration:none;border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);transition:all var(--transition-base)}.admin-nav a:hover,.admin-nav a.active{background:var(--primary-color);color:var(--text-white)}.admin-main{flex:1;padding:var(--spacing-2xl);background:var(--background)}table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}thead{background:var(--primary-color);color:var(--text-white)}th{padding:var(--spacing-lg);text-align:left;font-weight:700;text-transform:uppercase;font-size:var(--font-size-sm);letter-spacing:.5px}td{padding:var(--spacing-lg);border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}tr:hover{background:var(--surface-alt)}.spinner{border:4px solid var(--border);border-top:4px solid var(--primary-color);border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite;margin:var(--spacing-2xl) auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.save-status{font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--spacing-sm) var(--spacing-md);background:var(--surface-alt);border-radius:var(--radius-md)}.text-center{text-align:center}.mt-lg{margin-top:var(--spacing-lg)}.mb-lg{margin-bottom:var(--spacing-lg)}
