*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{flex-direction:column;min-height:100vh;display:flex}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:24px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:24px}.p-1{padding:4px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:24px}.d-flex{display:flex}.flex-column{flex-direction:column}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:24px}.w-100{width:100%}.w-50{width:50%}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.hidden{display:none}.visible{display:block}.admin-page{max-width:1400px;margin:0 auto;padding:24px 32px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{color:#1f2937;font-size:28px;font-weight:600}.admin-tabs{border-bottom:2px solid #e5e7eb;flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 24px;font-size:15px;font-weight:500;transition:all .2s}.tab:hover{color:#2563eb}.tab.active{color:#2563eb;border-bottom-color:#2563eb}.table-container,.modules-table-container{background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 1px 2px #0000000d}.data-table{border-collapse:collapse;width:100%;min-width:600px}.data-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px;font-size:13px;font-weight:600}.data-table td{color:#1f2937;vertical-align:middle;border-bottom:1px solid #e5e7eb;padding:16px}.data-table td:last-child{white-space:nowrap}.module-title{color:#1f2937;font-weight:500}.module-description{color:#6b7280;margin-top:4px;font-size:13px}.table-cover-image{object-fit:cover;border-radius:8px;width:50px;height:50px}.table-cover-placeholder{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);border-radius:8px;justify-content:center;align-items:center;width:50px;height:50px;font-size:20px;font-weight:600;display:flex}.table-cover-placeholder.loading{background:#e5e7eb}.loading-spinner-small{border:2px solid #f3f3f3;border-top-color:#2563eb;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.action-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s;display:inline-flex}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-icon{font-size:16px}.action-label{font-size:12px}.action-btn.view{color:#2563eb}.action-btn.view:hover:not(:disabled){background:#dbeafe}.action-btn.publish{color:#10b981}.action-btn.publish:hover:not(:disabled){background:#d1fae5}.action-btn.edit{color:#f59e0b}.action-btn.edit:hover:not(:disabled){background:#fef3c7}.action-btn.delete{color:#ef4444}.action-btn.delete:hover:not(:disabled){background:#fee2e2}.action-btn.assessment{color:#8b5cf6}.action-btn.assessment:hover:not(:disabled){background:#ede9fe}.doc-count-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-weight:500;text-decoration:underline}.doc-count-btn:hover{color:#1d4ed8;background:#dbeafe}.modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-large{width:1200px;max-width:90vw}.modal-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;display:flex}.modal-close:hover{color:#1f2937;background:#f3f4f6}.modal-close:disabled{opacity:.5;cursor:not-allowed}.modal form{padding:24px}.modal-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;display:flex}.form-group input,.form-group textarea,.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;transition:all .2s}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{cursor:not-allowed;background:#f9fafb}.form-error{color:#ef4444;margin-top:8px;font-size:12px;display:block}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background:#2563eb}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:#374151;background:#f3f4f6;border:1px solid #e5e7eb}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.cover-upload-area{margin-bottom:8px}.cover-upload-label{cursor:pointer;background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:40px;transition:all .2s;display:flex}.cover-upload-label:hover:not(.disabled){background:#eff6ff;border-color:#2563eb}.cover-upload-label.disabled{opacity:.5;cursor:not-allowed}.upload-icon{margin-bottom:12px;font-size:40px}.cover-preview-container{display:inline-block;position:relative}.cover-preview-img{border:1px solid #e5e7eb;border-radius:8px;max-width:100%;max-height:200px}.cover-loading-placeholder{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:200px;height:150px;display:flex}.remove-cover-btn{color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;position:absolute;top:8px;right:8px}.remove-cover-btn:hover:not(:disabled){background:#000000e6}.remove-cover-btn:disabled{opacity:.5;cursor:not-allowed}.cover-hint{color:#6b7280;margin-top:8px;font-size:12px;display:block}.document-preview-container{height:70vh;min-height:500px;display:flex}.document-list{border-right:1px solid #e5e7eb;flex-direction:column;width:280px;display:flex;overflow-y:auto}.upload-area{border-bottom:1px solid #e5e7eb;padding:16px}.upload-btn{text-align:center;color:#fff;cursor:pointer;background:#2563eb;border-radius:8px;padding:10px;font-size:14px;font-weight:500;transition:background .2s;display:block}.upload-btn:hover:not(.disabled){background:#1d4ed8}.upload-btn.disabled{opacity:.5;cursor:not-allowed}.loading-docs,.no-docs,.no-selection{text-align:center;color:#6b7280;padding:40px}.doc-item{cursor:pointer;border-bottom:1px solid #f3f4f6;align-items:center;gap:12px;padding:12px 16px;transition:background .2s;display:flex}.doc-item:hover{background:#f9fafb}.doc-item.active{background:#eff6ff;border-left:3px solid #2563eb}.doc-icon{font-size:20px}.doc-title{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.delete-doc-btn{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:18px}.delete-doc-btn:hover:not(:disabled){opacity:1;background:#fee2e2}.delete-doc-btn:disabled{opacity:.3;cursor:not-allowed}.document-preview{background:#f9fafb;flex:1;overflow:hidden}.difficulty-badge{text-transform:capitalize;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.difficulty-badge.beginner{color:#059669;background:#d1fae5}.difficulty-badge.intermediate{color:#d97706;background:#fef3c7}.difficulty-badge.advanced{color:#dc2626;background:#fee2e2}.badge-draft{color:#6b7280;background:#f3f4f6}.badge-published{color:#059669;background:#d1fae5}.badge-archived{color:#dc2626;background:#fee2e2}.toast{color:#fff;z-index:1100;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:500;animation:.3s slideIn;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 6px #0000001a}.toast.info{background:#3b82f6}.empty-state{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:60px 20px}.empty-state p{color:#6b7280;margin:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dashboard-loading-state{text-align:center;padding:60px 20px}.dashboard-spinner{border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:50px;height:50px;margin:0 auto 16px;animation:1s linear infinite spin}@media (width<=768px){.admin-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.page-header h1{font-size:24px}.admin-tabs{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.tab{white-space:nowrap;padding:10px 16px;font-size:14px}.modal{width:95%;max-width:95%}.document-preview-container{flex-direction:column;height:auto}.document-list{border-bottom:1px solid #e5e7eb;border-right:none;width:100%;max-height:200px}.document-preview{min-height:400px}.form-row{grid-template-columns:1fr;gap:0}.table-actions{flex-wrap:wrap}.action-label{display:inline}}@media (width<=480px){.data-table th,.data-table td{padding:12px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.cover-upload-label{padding:24px}.toast{text-align:center;bottom:16px;left:16px;right:16px}}.cover-placeholder-display{flex-direction:column;align-items:center;gap:8px;display:flex}.placeholder-letter{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:8px;justify-content:center;align-items:center;width:60px;height:60px;font-size:28px;font-weight:700;display:flex}.categories-page{max-width:1400px;margin:0 auto;padding:24px 32px}.categories-page .page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.categories-page .page-header h1{color:var(--text,#1f2937);margin:0;font-size:28px;font-weight:600}.categories-page .page-header p{color:var(--text-secondary,#6b7280);margin-top:4px;font-size:14px}.create-category-btn{background:var(--primary,#2563eb);color:#fff;border-radius:var(--radius-md,8px);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.create-category-btn:hover{background:var(--primary-dark,#1d4ed8);box-shadow:var(--shadow-md,0 4px 6px #00000012);transform:translateY(-2px)}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:8px;display:grid}.category-card{background:var(--bg,#fff);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm,0 1px 2px #0000000d);border:1px solid var(--border,#e5e7eb);flex-direction:column;padding:20px;transition:all .2s;display:flex;position:relative}.category-card:hover{box-shadow:var(--shadow-lg,0 10px 15px #0000001a);border-color:var(--primary,#2563eb);transform:translateY(-4px)}.category-card.inactive{opacity:.7;background:var(--bg-secondary,#f9fafb)}.category-card.inactive:hover{opacity:.85}.category-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.category-header h3{color:var(--text,#1f2937);flex:1;margin:0;font-size:18px;font-weight:600}.category-status{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.category-status.active{background:var(--success-light,#d1fae5);color:var(--success-dark,#059669)}.category-status.inactive{background:var(--error-light,#fee2e2);color:var(--error-dark,#dc2626)}.category-description{color:var(--text-secondary,#6b7280);flex:1;margin-bottom:16px;font-size:14px;line-height:1.5}.category-meta{color:var(--text-light,#9ca3af);border-top:1px solid var(--border,#e5e7eb);justify-content:space-between;align-items:center;margin-bottom:16px;padding-top:12px;font-size:13px;display:flex}.module-count{align-items:center;gap:6px;display:flex}.module-count .count-number{color:var(--primary,#2563eb);font-weight:600}.category-actions{border-top:1px solid var(--border,#e5e7eb);gap:12px;margin-top:8px;padding-top:16px;display:flex}.category-actions .action-btn{border-radius:var(--radius-md,8px);background:var(--bg-secondary,#f9fafb);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 8px;transition:all .2s;display:flex}.category-actions .action-btn:hover{transform:translateY(-2px)}.category-actions .edit{color:var(--warning,#f59e0b)}.category-actions .edit:hover{background:var(--warning-light,#fef3c7)}.category-actions .deactivate{color:var(--error,#ef4444)}.category-actions .deactivate:hover{background:var(--error-light,#fee2e2)}.category-actions .activate{color:var(--success,#10b981)}.category-actions .activate:hover{background:var(--success-light,#d1fae5)}.header-actions{align-items:center;gap:20px;display:flex}.checkbox-label{color:var(--text-secondary,#6b7280);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.category-form-modal .modal{max-width:500px}.category-form-modal .form-group{margin-bottom:20px}.category-form-modal label{color:var(--text,#1f2937);margin-bottom:8px;font-weight:500;display:block}.category-form-modal input,.category-form-modal textarea,.category-form-modal select{border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-md,8px);width:100%;padding:10px 14px;font-size:14px;transition:all .2s}.category-form-modal input:focus,.category-form-modal textarea:focus,.category-form-modal select:focus{border-color:var(--primary,#2563eb);outline:none;box-shadow:0 0 0 3px #2563eb1a}.category-form-modal textarea{resize:vertical;min-height:80px}.categories-empty-state{text-align:center;background:var(--bg,#fff);border-radius:var(--radius-lg,12px);border:1px solid var(--border,#e5e7eb);padding:60px 20px}.categories-empty-state .empty-icon{opacity:.5;margin-bottom:16px;font-size:64px}.categories-empty-state h3{color:var(--text,#1f2937);margin-bottom:8px;font-size:18px}.categories-empty-state p{color:var(--text-secondary,#6b7280);margin-bottom:20px}.categories-empty-state .btn-primary{background:var(--primary,#2563eb);color:#fff;border-radius:var(--radius-md,8px);cursor:pointer;border:none;padding:10px 24px;font-weight:500;display:inline-block}.categories-empty-state .btn-primary:hover{background:var(--primary-dark,#1d4ed8)}.categories-loading{flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.categories-loading .spinner{border:4px solid var(--border,#e5e7eb);border-top-color:var(--primary,#2563eb);border-radius:50%;width:48px;height:48px;margin-bottom:16px;animation:1s linear infinite spin}@media (width<=768px){.categories-page{padding:16px}.categories-page .page-header{flex-direction:column;align-items:flex-start}.categories-page .page-header h1{font-size:24px}.categories-grid{grid-template-columns:1fr;gap:16px}.category-card{padding:16px}.category-header h3{font-size:16px}.header-actions{flex-direction:column;align-items:flex-start;width:100%}.checkbox-label{width:100%}.create-category-btn{justify-content:center;width:100%}}@media (width<=480px){.category-actions{flex-direction:column;gap:8px}.category-actions .action-btn{flex-direction:row;justify-content:center;gap:8px;padding:8px 12px}.category-meta{flex-direction:column;align-items:flex-start;gap:8px}.category-form-modal .modal{padding:20px}}.category-card{animation:.3s fadeIn}.loading-screen{z-index:9999;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:fixed;inset:0}.loading-content{text-align:center;background:#fff;border-radius:20px;min-width:300px;padding:40px;animation:.3s ease-out fadeInScale;box-shadow:0 20px 40px #0003}.loading-spinner-wheel{border:4px solid #667eea;border-color:#667eea #764ba2;border-radius:50%;width:60px;height:60px;margin:0 auto 20px;animation:.8s linear infinite spin}.loading-content p{color:#374151;margin:10px 0 0;font-size:16px;font-weight:500}.loading-content .loading-sub{color:#9ca3af;margin-top:8px;font-size:12px}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.courses-page{background:#fff;max-width:1400px;min-height:calc(100vh - 70px);margin:0 auto;padding:24px 32px}.courses-header{text-align:center;margin-bottom:32px}.courses-header h1{color:#1f2937;margin-bottom:8px;font-size:32px;font-weight:700}.courses-header p{color:#6b7280;font-size:16px}.courses-search-bar{flex-wrap:wrap;gap:16px;margin-bottom:32px;display:flex}.courses-search-box{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1;align-items:center;min-width:280px;padding:0 16px;transition:all .2s;display:flex}.courses-search-box:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.courses-search-box input{background:0 0;border:none;outline:none;width:100%;padding:14px 0;font-size:15px}.courses-filters{gap:12px;display:flex}.courses-filter-select{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:160px;padding:12px 20px;font-size:14px;transition:all .2s}.courses-filter-select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px;margin-top:8px;display:grid}.courses-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;height:100%;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000d}.courses-card:hover{border-color:#2563eb;transform:translateY(-4px);box-shadow:0 10px 15px #0000001a}.courses-card-image{background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);flex-shrink:0;height:180px;position:relative}.courses-card-image img{object-fit:cover;width:100%;height:100%}.courses-placeholder-image{color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:56px;font-weight:600;display:flex}.courses-level{text-transform:capitalize;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:20px;padding:4px 12px;font-size:11px;font-weight:600;position:absolute;top:12px;left:12px}.courses-level.beginner{background:#10b981}.courses-level.intermediate{background:#f59e0b}.courses-level.advanced{background:#ef4444}.courses-card-info{flex-direction:column;flex:1;padding:20px;display:flex}.courses-category{color:#2563eb;text-transform:uppercase;letter-spacing:.5px;background:#dbeafe;border-radius:20px;width:fit-content;margin-bottom:12px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.courses-card-info h3{color:#1f2937;margin-bottom:10px;font-size:18px;font-weight:600;line-height:1.4}.courses-card-info p{color:#6b7280;-webkit-box-orient:vertical;flex:1;margin-bottom:16px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.courses-meta{color:#9ca3af;border-bottom:1px solid #e5e7eb;gap:16px;margin-bottom:16px;padding-bottom:16px;font-size:13px;display:flex}.courses-meta span{align-items:center;gap:4px;display:flex}.courses-view-btn{color:#2563eb;cursor:pointer;text-align:center;background:0 0;border:1px solid #2563eb;border-radius:8px;width:100%;padding:10px 0;font-size:14px;font-weight:600;transition:all .2s}.courses-view-btn:hover{color:#fff;background:#2563eb;transform:translateY(-2px)}.courses-empty-state{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:60px 20px}.courses-empty-icon{opacity:.5;margin-bottom:16px;font-size:64px}.courses-empty-state h3{color:#1f2937;margin-bottom:8px;font-size:20px}.courses-empty-state p{color:#6b7280;margin-bottom:20px}.courses-reset-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 24px;font-weight:500;transition:all .2s}.courses-reset-btn:hover{background:#1d4ed8;transform:translateY(-2px)}.courses-loading-container{background:#fff;justify-content:center;align-items:center;min-height:100vh;display:flex}.courses-loading-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:20px;min-width:300px;padding:40px}.courses-spinner{border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:50px;height:50px;margin:0 auto 20px;animation:1s linear infinite coursesSpin}.courses-loading-card p{color:#4b5563;margin:10px 0}.courses-loading-note{color:#9ca3af;font-size:12px}@keyframes coursesSpin{to{transform:rotate(360deg)}}@media (width<=768px){.courses-page{padding:16px}.courses-header h1{font-size:24px}.courses-search-bar{flex-direction:column}.courses-search-box{min-width:100%}.courses-filters{width:100%}.courses-filter-select{flex:1}.courses-grid{grid-template-columns:1fr;gap:20px}.courses-card-image{height:160px}.courses-card-info{padding:16px}.courses-card-info h3{font-size:16px}}@media (width<=480px){.courses-header h1{font-size:20px}.courses-meta{flex-direction:column;gap:8px}.courses-empty-state{padding:40px 20px}.courses-empty-icon{font-size:48px}}.course-view-container{background:#f5f7fa;flex-direction:column;height:100vh;display:flex;overflow:hidden}.course-view-top-navbar{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex;box-shadow:0 1px 2px #0000000d}.course-view-navbar-left{align-items:center;gap:16px;display:flex}.course-view-back-button{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.course-view-back-button:hover{color:#1d4ed8;background:#dbeafe}.course-view-navbar-title{color:#1f2937;font-size:16px;font-weight:600}.course-view-navbar-right{align-items:center;gap:16px;display:flex}.course-view-doc-count{color:#2563eb;background:#dbeafe;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500}.course-view-main-content{flex:1;min-height:0;display:flex;overflow:hidden}.course-view-left-column{background:#fff;border-right:1px solid #e5e7eb;flex:0 0 320px;overflow-y:auto}.course-view-right-column{background:#f3f4f6;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.course-view-right-column>div:first-child{flex-direction:column;flex:1;min-height:0;display:flex}.course-view-course-info{border-bottom:1px solid #e5e7eb;padding:20px 20px 16px}.course-view-course-title{color:#1f2937;margin:0 0 10px;font-size:20px;font-weight:700;line-height:1.3}.course-view-course-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.course-view-course-category{color:#2563eb;background:#dbeafe;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.course-view-course-level{text-transform:capitalize;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.course-view-course-level.beginner{color:#065f46;background:#d1fae5}.course-view-course-level.intermediate{color:#92400e;background:#fef3c7}.course-view-course-level.advanced{color:#991b1b;background:#fee2e2}.course-view-course-description{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.course-view-progress-overview{background:#f9fafb;border:1px solid #f3f4f6;border-radius:12px;margin:16px 20px;padding:16px}.course-view-progress-label{color:#1f2937;justify-content:space-between;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.course-view-progress-label span:last-child{color:#2563eb}.course-view-progress-bar-bg{background-color:#e5e7eb;border-radius:10px;height:8px;overflow:hidden}.course-view-progress-bar-fill{background:linear-gradient(90deg,#2563eb,#0ea5e9);border-radius:10px;height:100%;transition:width .3s}.course-view-documents-header{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.course-view-documents-header h3{color:#1f2937;margin:0;font-size:14px;font-weight:600}.course-view-documents-header span{color:#6b7280;background:#f3f4f6;border-radius:20px;padding:2px 8px;font-size:12px}.course-view-upload-section{border-bottom:1px solid #e5e7eb;padding:0 20px 16px}.course-view-upload-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#0ea5e9);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.course-view-upload-btn:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.course-view-upload-btn.disabled{opacity:.6;cursor:not-allowed}.course-view-pdf-tip{color:#d97706;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:11px;display:flex}.course-view-documents-list{flex:1;padding:8px 12px;overflow-y:auto}.course-view-doc-item{cursor:pointer;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:12px;transition:all .2s;display:flex}.course-view-doc-item:hover{background:#f9fafb}.course-view-doc-item-active{background:#dbeafe;position:relative}.course-view-doc-item-active:before{content:"";background:#2563eb;border-radius:0 2px 2px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.course-view-doc-item-completed{opacity:.85;background:#d1fae5}.course-view-doc-item-completed .course-view-doc-title{color:#065f46;text-decoration:line-through}.course-view-doc-item-content{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.course-view-doc-icon{text-align:center;flex-shrink:0;width:28px;font-size:18px}.course-view-doc-info{flex:1;min-width:0}.course-view-doc-title{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;font-weight:500;overflow:hidden}.course-view-doc-size{color:#9ca3af;font-size:10px}.course-view-delete-btn{cursor:pointer;opacity:0;color:#dc2626;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:14px;transition:opacity .2s}.course-view-doc-item:hover .course-view-delete-btn{opacity:.6}.course-view-delete-btn:hover{background:#fee2e2;opacity:1!important}.course-view-no-documents{text-align:center;color:#6b7280;padding:60px 20px}.course-view-no-documents p{margin-bottom:8px;font-size:13px}.course-view-progress-actions{background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;padding:12px 20px}.course-view-complete-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;width:100%;padding:12px;font-size:14px;font-weight:500;transition:all .2s}.course-view-complete-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.course-view-complete-btn.completed{cursor:not-allowed;background:#9ca3af}.course-view-complete-btn:disabled{opacity:.6;cursor:not-allowed}.course-view-no-preview{color:#9ca3af;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.course-view-no-preview-icon{opacity:.5;margin-bottom:16px;font-size:64px}.course-view-no-preview p{margin:0;font-size:14px}.course-view-assessments-section{background:#f9fafb;border-top:1px solid #e5e7eb;margin-top:20px;padding:20px}.course-view-assessments-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.course-view-assessments-header h3{color:#1f2937;margin:0;font-size:15px;font-weight:600}.course-view-assessments-header span{color:#6b7280;background:#fff;border-radius:20px;padding:2px 10px;font-size:12px}.course-view-assessments-list{flex-direction:column;gap:12px;max-height:300px;display:flex;overflow-y:auto}.course-view-assessment-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;transition:all .2s}.course-view-assessment-card:hover{border-color:#dbeafe;transform:translateY(-2px);box-shadow:0 4px 6px #00000012}.course-view-assessment-info h4{color:#1f2937;margin:0 0 8px;font-size:15px;font-weight:600}.course-view-assessment-info p{color:#6b7280;margin:0 0 12px;font-size:12px;line-height:1.4}.course-view-assessment-details{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.course-view-detail-badge{color:#6b7280;background:#f3f4f6;border-radius:20px;padding:4px 10px;font-size:11px}.course-view-detail-badge.passed{color:#065f46;background:#d1fae5}.course-view-detail-badge.failed{color:#991b1b;background:#fee2e2}.course-view-take-assessment-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#0ea5e9);border:none;border-radius:8px;width:100%;padding:10px;font-size:13px;font-weight:500;transition:all .2s}.course-view-take-assessment-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.course-view-loading-container{background:#fff;justify-content:center;align-items:center;min-height:100vh;display:flex}.course-view-loading-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:20px;min-width:300px;padding:40px}.course-view-spinner{border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:50px;height:50px;margin:0 auto 20px;animation:1s linear infinite courseViewSpin}@keyframes courseViewSpin{to{transform:rotate(360deg)}}.course-view-error-container{text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.course-view-error-container h2{color:#ef4444;margin-bottom:12px;font-size:24px}.course-view-error-container p{color:#6b7280;margin-bottom:24px}.course-view-back-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 24px;font-weight:500}.course-view-back-btn:hover{background:#1d4ed8}.course-view-notification-popup{z-index:9999;border-radius:12px;max-width:380px;animation:.3s ease-out courseViewSlideIn;position:fixed;top:80px;right:20px;overflow:hidden;box-shadow:0 10px 15px #0000001a}.course-view-notification-popup.success{background:#10b981}.course-view-notification-popup.error{background:#ef4444}.course-view-notification-popup.info{background:#06b6d4}.course-view-notification-content{align-items:center;gap:12px;padding:14px 18px;display:flex}.course-view-notification-icon{text-align:center;width:24px;font-size:20px;font-weight:700}.course-view-notification-message{color:#fff;white-space:pre-line;flex:1;font-size:13px;line-height:1.4}.course-view-notification-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:20px;transition:background-color .2s;display:flex}.course-view-notification-close:hover{background-color:#fff3}@keyframes courseViewSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (width<=768px){.course-view-main-content{flex-direction:column}.course-view-left-column{border-bottom:1px solid #e5e7eb;border-right:none;flex:none;width:100%;max-height:45%}.course-view-right-column{flex:1}.course-view-progress-actions{justify-content:center}.course-view-notification-popup{max-width:none;top:70px;left:16px;right:16px}}@media (width<=480px){.course-view-top-navbar{padding:0 16px}.course-view-navbar-title{font-size:14px}.course-view-course-title{font-size:18px}.course-view-left-column{max-height:40%}.course-view-course-info{padding:16px}.course-view-progress-overview{margin:12px 16px;padding:12px}.course-view-assessments-section{padding:16px}.course-view-assessment-card{padding:12px}.course-view-assessment-details{gap:6px}.course-view-detail-badge{padding:3px 8px;font-size:10px}.course-view-take-assessment-btn{padding:8px;font-size:12px}}.course-view-cover-banner{aspect-ratio:16/9;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;width:100%;max-height:300px;margin-bottom:1.5rem;overflow:hidden}.course-view-cover-image{object-fit:cover;width:100%;height:100%}.courses-card-image{background:#f5f5f5;width:100%;height:160px;position:relative;overflow:hidden}.courses-card-image img{object-fit:cover;width:100%;height:100%;display:block}.courses-placeholder-image{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:48px;font-weight:700;display:flex;position:absolute;top:0;left:0}.dashboard-container{background:#f5f7fa;min-height:100vh}.dashboard-main-content{max-width:1400px;margin:0 auto;padding:24px 32px}.dashboard-welcome-banner{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:28px;padding:32px 40px;display:flex}.dashboard-welcome-text h1{margin-bottom:8px;font-size:28px;font-weight:600}.dashboard-user-department,.dashboard-user-designation{opacity:.9;margin-top:4px;font-size:14px}.dashboard-welcome-stats{gap:48px;display:flex}.dashboard-stat{text-align:center}.dashboard-stat-value{font-size:36px;font-weight:700;display:block}.dashboard-stat-label{opacity:.9;font-size:14px}.dashboard-progress-overview{background:#fff;border-radius:16px;margin-bottom:28px;padding:20px 24px;box-shadow:0 1px 3px #0000001a}.dashboard-progress-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dashboard-progress-header h3{color:#1f2937;margin:0;font-size:16px;font-weight:600}.dashboard-overall-progress{color:#2563eb;font-weight:600}.dashboard-progress-bar-wrapper{margin-top:8px}.dashboard-progress-bar-bg{background:#e5e7eb;border-radius:10px;height:8px;overflow:hidden}.dashboard-progress-bar-fill{background:linear-gradient(90deg,#2563eb,#0ea5e9);border-radius:10px;height:100%;transition:width .3s}.dashboard-search-filter-bar{flex-wrap:wrap;gap:16px;margin-bottom:28px;display:flex}.dashboard-search-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex:1;align-items:center;min-width:280px;padding:0 16px;display:flex}.dashboard-search-box input{background:0 0;border:none;outline:none;flex:1;padding:14px 0;font-size:15px}.dashboard-search-icon{color:#9ca3af;margin-right:12px}.dashboard-filter-group{align-items:center;gap:12px;display:flex}.dashboard-filter-label{color:#4b5563;font-size:14px;font-weight:500}.dashboard-category-filter,.dashboard-difficulty-filter{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-width:150px;padding:12px 20px;font-size:14px}.dashboard-category-filter:focus,.dashboard-difficulty-filter:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.dashboard-admin-actions{margin-bottom:24px}.dashboard-create-module-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#0ea5e9);border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.dashboard-create-module-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.dashboard-courses-header{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.dashboard-courses-header h2{color:#1f2937;margin:0;font-size:22px;font-weight:600}.dashboard-courses-count{color:#6b7280;font-size:14px}.dashboard-courses-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;display:grid}.dashboard-course-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:16px;transition:all .3s;overflow:hidden;box-shadow:0 1px 3px #0000001a}.dashboard-course-card:hover{border-color:#2563eb;transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.dashboard-course-image{background:linear-gradient(135deg,#667eea,#764ba2);height:160px;position:relative}.dashboard-course-image img{object-fit:cover;width:100%;height:100%}.dashboard-placeholder-image{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);justify-content:center;align-items:center;width:100%;height:100%;font-size:48px;display:flex}.dashboard-course-level{text-transform:capitalize;color:#fff;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:600;position:absolute;top:12px;left:12px}.dashboard-course-level.beginner{background:#10b981}.dashboard-course-level.intermediate{background:#f59e0b}.dashboard-course-level.advanced{background:#ef4444}.dashboard-course-progress-badge{position:absolute;top:12px;right:12px}.dashboard-progress-circle{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;font-size:12px;font-weight:600;display:flex}.dashboard-draft-badge{color:#f59e0b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600;position:absolute;bottom:12px;right:12px}.dashboard-course-info{padding:20px}.dashboard-course-category{color:#2563eb;background:#eff6ff;border-radius:20px;margin-bottom:12px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.dashboard-course-info h3{color:#1f2937;margin-bottom:8px;font-size:18px;font-weight:600}.dashboard-course-info p{color:#6b7280;-webkit-box-orient:vertical;margin-bottom:16px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.dashboard-course-meta{border-bottom:1px solid #e5e7eb;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.dashboard-meta-item{color:#9ca3af;align-items:center;gap:6px;font-size:13px;display:flex}.dashboard-meta-icon{font-size:14px}.dashboard-status-badge{border-radius:12px;padding:2px 8px;font-size:11px;font-weight:500}.dashboard-status-badge.published{color:#065f46;background:#d1fae5}.dashboard-status-badge.draft{color:#92400e;background:#fef3c7}.dashboard-course-footer{justify-content:space-between;align-items:center;display:flex}.dashboard-course-creator{color:#9ca3af;font-size:12px}.dashboard-view-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600;transition:all .2s}.dashboard-view-btn:hover{color:#1d4ed8;transform:translate(4px)}.dashboard-progress-bar-small{background:#e5e7eb;border-radius:2px;height:4px;margin-top:12px;overflow:hidden}.dashboard-progress-fill{background:#10b981;border-radius:2px;height:100%;transition:width .3s}.dashboard-empty-state{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:60px 20px}.dashboard-empty-icon{margin-bottom:16px;font-size:64px}.dashboard-empty-state h3{color:#1f2937;margin-bottom:8px;font-size:18px}.dashboard-empty-state p{color:#6b7280;margin-bottom:20px}.dashboard-reset-btn{color:#1f2937;cursor:pointer;background:#e5e7eb;border:none;border-radius:8px;margin-right:12px;padding:10px 20px}.dashboard-create-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#0ea5e9);border:none;border-radius:8px;padding:10px 20px}.dashboard-loading-state{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;display:flex}.dashboard-spinner{border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.dashboard-loading-note{color:#9ca3af;font-size:12px}.dashboard-error-state{text-align:center;background:#fff;border-radius:16px;padding:60px 20px}.dashboard-error-icon{margin-bottom:16px;font-size:48px}.dashboard-error-state h3{color:#dc2626;margin-bottom:8px}.dashboard-error-state p{color:#6b7280;margin-bottom:20px}.dashboard-retry-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;padding:10px 20px}@media (width<=768px){.dashboard-main-content{padding:16px}.dashboard-welcome-banner{text-align:center;flex-direction:column;gap:20px;padding:24px}.dashboard-welcome-stats{gap:24px}.dashboard-search-filter-bar{flex-direction:column}.dashboard-filter-group{flex-wrap:wrap}.dashboard-category-filter,.dashboard-difficulty-filter{width:100%;min-width:auto}.dashboard-courses-grid{grid-template-columns:1fr}.dashboard-courses-header{flex-direction:column;gap:8px}}.preview-layout{grid-template-columns:280px 1fr;height:100%;min-height:500px;display:grid}.preview-sidebar{background:var(--bg-secondary,#f8f9fa);border-right:1px solid var(--border,#e5e7eb);padding:16px;overflow-y:auto}.preview-main{background:var(--bg,#fff);flex-direction:column;display:flex;overflow:hidden}.no-document-selected{color:var(--text-light,#9ca3af);flex:1;justify-content:center;align-items:center;display:flex}.document-list-item{background:var(--bg,#fff);border:1px solid var(--border,#e5e7eb);cursor:pointer;border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s;display:flex}.document-list-item:hover{border-color:var(--primary,#2563eb);background:var(--primary-light,#dbeafe);transform:translate(4px)}.document-list-item.selected{border-color:var(--primary,#2563eb);background:var(--primary-light,#dbeafe);border-left:3px solid var(--primary,#2563eb)}.doc-icon{text-align:center;flex-shrink:0;width:32px;font-size:24px}.doc-info{flex:1;min-width:0}.doc-title{color:var(--text,#1f2937);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-weight:500;overflow:hidden}.doc-meta{align-items:center;gap:8px;font-size:12px;display:flex}.doc-size{color:var(--text-light,#9ca3af);margin-left:8px;font-size:11px}.preview-note{background:var(--warning-light,#fef3c7);color:var(--warning-dark,#92400e);border-radius:6px;margin-top:16px;padding:12px;font-size:12px}.document-preview-wrapper{background:var(--bg,#fff);border-radius:8px;flex-direction:column;height:100%;display:flex;overflow:hidden}.document-preview-wrapper.fullscreen{z-index:9999;background:#1a1a1a;border-radius:0;position:fixed;inset:0}.preview-toolbar{background:var(--bg-secondary,#f5f5f5);border-bottom:1px solid var(--border,#e5e7eb);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.fullscreen .preview-toolbar{background:#2a2a2a;border-bottom:1px solid #444}.preview-title{color:var(--text,#333);font-weight:500}.fullscreen .preview-title{color:#fff}.preview-actions{gap:8px;display:flex}.fullscreen-btn{background:var(--primary,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:13px;transition:all .2s}.fullscreen-btn:hover{background:var(--primary-dark,#1d4ed8);transform:translateY(-2px)}.pdf-preview-container{flex-direction:column;align-items:center;display:flex}.pdf-controls{background:var(--bg-secondary,#f5f5f5);border-radius:8px;gap:12px;margin-bottom:20px;padding:12px;display:flex}.pdf-controls button{background:var(--bg,#fff);border:1px solid var(--border,#ddd);cursor:pointer;border-radius:6px;padding:8px 16px;transition:all .2s}.pdf-controls button:hover:not(:disabled){background:var(--primary-light,#dbeafe);border-color:var(--primary,#2563eb);color:var(--primary,#2563eb)}.pdf-controls button:disabled{opacity:.5;cursor:not-allowed}.react-pdf__Document{flex-direction:column;align-items:center;display:flex}.react-pdf__Page{max-width:100%;box-shadow:var(--shadow-md,0 4px 6px #00000012)}.react-pdf__Page canvas{max-width:100%;height:auto!important}.upload-label{border:2px dashed var(--border,#cbd5e0);cursor:pointer;background:var(--bg-secondary,#fafafa);color:var(--text-secondary,#6b7280);border-radius:12px;padding:40px;transition:all .2s;display:block}.upload-note{color:var(--text-light,#9ca3af);text-align:center;margin-top:12px;font-size:12px}.document-list-item-wrapper{align-items:center;gap:8px;margin-bottom:8px;display:flex}.document-list-item-wrapper .document-list-item{flex:1;margin-bottom:0}.delete-doc-btn{cursor:pointer;opacity:0;color:var(--error,#dc2626);background:0 0;border:none;border-radius:6px;padding:8px;font-size:18px;transition:opacity .2s}.document-list-item-wrapper:hover .delete-doc-btn{opacity:.6}.delete-doc-btn:hover{background:var(--error-light,#fee2e2);opacity:1!important}@media (width<=768px){.preview-layout{grid-template-columns:1fr}.preview-sidebar{max-height:300px}.upload-label{padding:30px}}.documents-layout{grid-template-columns:320px 1fr;gap:24px;margin-top:8px;display:grid}.module-selector{background:var(--bg,#fff);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm,0 1px 2px #0000000d);border:1px solid var(--border,#e5e7eb);height:fit-content;max-height:calc(100vh - 200px);padding:20px;overflow-y:auto}.module-selector h3{color:var(--text,#1f2937);border-bottom:2px solid var(--primary,#2563eb);margin-bottom:16px;padding-bottom:12px;font-size:16px;font-weight:600;display:inline-block}.module-list{flex-direction:column;gap:10px;display:flex}.module-select-item{border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-md,8px);cursor:pointer;background:var(--bg,#fff);padding:14px 16px;transition:all .2s}.module-select-item:hover{border-color:var(--primary,#2563eb);background:var(--primary-light,#dbeafe);transform:translate(4px)}.module-select-item.selected{border-color:var(--primary,#2563eb);background:var(--primary-light,#dbeafe);border-left:3px solid var(--primary,#2563eb)}.module-select-title{color:var(--text,#1f2937);margin-bottom:8px;font-size:15px;font-weight:600}.module-select-meta{color:var(--text-secondary,#6b7280);justify-content:space-between;align-items:center;font-size:12px;display:flex}.module-select-meta .status-badge{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:10px;font-weight:600}.module-select-meta .status-badge.draft{background:var(--warning-light,#fef3c7);color:var(--warning-dark,#92400e)}.module-select-meta .status-badge.published{background:var(--success-light,#d1fae5);color:var(--success-dark,#065f46)}.documents-content{background:var(--bg,#fff);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm,0 1px 2px #0000000d);border:1px solid var(--border,#e5e7eb);min-height:500px;padding:24px}.documents-header{border-bottom:1px solid var(--border,#e5e7eb);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.documents-header h3{color:var(--text,#1f2937);margin:0;font-size:20px;font-weight:600}.documents-header .btn-primary{background:var(--primary,#2563eb);color:#fff;border-radius:var(--radius-md,8px);cursor:pointer;border:none;padding:8px 20px;font-size:14px;transition:all .2s}.documents-header .btn-primary:hover{background:var(--primary-dark,#1d4ed8);transform:translateY(-2px)}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;background:var(--bg-secondary,#f9fafb);color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border,#e5e7eb);padding:14px 12px;font-size:13px;font-weight:600}.data-table td{border-bottom:1px solid var(--border,#e5e7eb);color:var(--text,#1f2937);vertical-align:middle;padding:14px 12px;font-size:14px}.data-table tr:hover{background:var(--bg-secondary,#f9fafb)}.data-table tr:last-child td{border-bottom:none}.file-icon{font-size:24px;display:inline-block}.status-badge{text-transform:uppercase;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.status-badge.badge-draft,.status-badge.draft{background:var(--warning-light,#fef3c7);color:var(--warning-dark,#92400e)}.status-badge.badge-published,.status-badge.published{background:var(--success-light,#d1fae5);color:var(--success-dark,#065f46)}.table-actions{gap:8px;display:flex}.table-actions .action-btn{border-radius:var(--radius-sm,4px);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px 10px;font-size:16px;transition:all .2s;display:inline-flex}.table-actions .action-btn.publish{color:var(--success,#059669)}.table-actions .action-btn.publish:hover{background:var(--success-light,#d1fae5)}.table-actions .action-btn.delete{color:var(--error,#dc2626)}.table-actions .action-btn.delete:hover{background:var(--error-light,#fee2e2)}.documents-content .empty-state{text-align:center;padding:60px 20px}.documents-content .empty-state p{color:var(--text-secondary,#6b7280);margin-bottom:16px}.documents-content .empty-state button{background:var(--primary,#2563eb);color:#fff;border-radius:var(--radius-md,8px);cursor:pointer;border:none;padding:10px 24px;font-weight:500;transition:all .2s}.documents-content .empty-state button:hover{background:var(--primary-dark,#1d4ed8);transform:translateY(-2px)}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg,#fff);border-radius:var(--radius-xl,16px);width:90%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lg,0 10px 15px #0000001a);padding:28px;animation:.3s slideDown;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border,#e5e7eb);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.modal-header h2{color:var(--text,#1f2937);margin:0;font-size:20px;font-weight:600}.modal-close{cursor:pointer;color:var(--text-light,#9ca3af);background:0 0;border:none;font-size:28px;line-height:1;transition:color .2s}.modal-close:hover{color:var(--text,#1f2937)}.modal-body p{color:var(--text,#1f2937);margin-bottom:12px}.modal-body strong{color:var(--primary,#2563eb)}.file-types-note{color:var(--text-secondary,#6b7280);background:var(--bg-secondary,#f9fafb);border-radius:var(--radius-md,8px);margin:16px 0;padding:8px 12px;font-size:13px}.upload-area{text-align:center;margin:20px 0}.upload-area input[type=file]{display:none}.upload-label{border:2px dashed var(--border,#e5e7eb);border-radius:var(--radius-lg,12px);cursor:pointer;background:var(--bg-secondary,#f9fafb);color:var(--text-secondary,#6b7280);padding:40px 20px;font-weight:500;transition:all .2s;display:block}.upload-label:hover{border-color:var(--primary,#2563eb);background:var(--primary-light,#dbeafe);color:var(--primary,#2563eb)}.upload-note{color:var(--text-light,#9ca3af);margin-top:16px;font-size:12px;font-style:italic}.toast{border-radius:var(--radius-md,8px);color:#fff;z-index:2000;box-shadow:var(--shadow-lg,0 10px 15px #0000001a);padding:12px 24px;font-weight:500;animation:.3s slideIn;position:fixed;bottom:24px;right:24px}.module-selector::-webkit-scrollbar{width:6px}.module-selector::-webkit-scrollbar-track{background:var(--bg-secondary,#f9fafb);border-radius:3px}.module-selector::-webkit-scrollbar-thumb{background:var(--border,#e5e7eb);border-radius:3px}.module-selector::-webkit-scrollbar-thumb:hover{background:var(--text-light,#9ca3af)}@media (width<=992px){.documents-layout{grid-template-columns:280px 1fr;gap:20px}}@media (width<=768px){.documents-layout{grid-template-columns:1fr;gap:20px}.module-selector{max-height:300px}.documents-content{padding:16px;overflow-x:auto}.data-table{min-width:600px}.documents-header{flex-direction:column;align-items:flex-start;gap:12px}.modal{width:95%;padding:20px}.upload-label{padding:30px 20px}}@media (width<=480px){.module-select-item{padding:10px 12px}.module-select-title{font-size:14px}.documents-header h3{font-size:18px}.table-actions{flex-direction:column;gap:4px}.table-actions .action-btn{padding:4px 8px}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.navbar{background:var(--bg-secondary,#fff);box-shadow:var(--shadow-sm,0 1px 2px #0000000d);z-index:100;border-bottom:1px solid var(--border,#e5e7eb);position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;max-width:1400px;height:70px;margin:0 auto;padding:0 24px;display:flex}.logo{cursor:pointer;z-index:101;align-items:center;gap:12px;display:flex}.logo-icon{justify-content:center;align-items:center;font-size:28px;display:flex}.logo-icon img{object-fit:contain;width:auto;height:40px}.logo-text{background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:700}.navbar-links{align-items:center;gap:8px;display:flex}.navbar-link{color:var(--text-secondary,#4b5563);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:15px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.navbar-link:hover{background:var(--bg-tertiary,#f3f4f6);color:var(--primary,#2563eb)}.navbar-link-icon{font-size:18px;line-height:1}.mobile-menu-btn{cursor:pointer;z-index:101;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:28px;height:22px;padding:0;display:none}.hamburger-line{background:var(--text,#1f2937);border-radius:2px;width:100%;height:2.5px;transition:all .3s}.mobile-menu-btn.active .hamburger-line:first-child{transform:translateY(9.5px)rotate(45deg)}.mobile-menu-btn.active .hamburger-line:nth-child(2){opacity:0}.mobile-menu-btn.active .hamburger-line:nth-child(3){transform:translateY(-9.5px)rotate(-45deg)}.mobile-close-btn{background:var(--bg-tertiary,#f3f4f6);cursor:pointer;width:40px;height:40px;color:var(--text,#1f2937);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:none;position:absolute;top:20px;right:20px}@media (width<=1024px) and (width>=769px){.navbar-container{padding:0 20px}.navbar-link{padding:8px 12px;font-size:14px}.navbar-link-icon{font-size:16px}.logo-text{font-size:20px}.navbar-profile-name{max-width:100px;font-size:13px}}@media (width<=768px){.navbar-container{height:60px;padding:0 16px}.logo-text{display:none}.logo-icon img{height:32px}.mobile-menu-btn{display:flex}.navbar-links{z-index:1000;background:#fff;flex-direction:column;align-items:stretch;gap:0;width:85%;max-width:320px;height:100vh;padding:70px 20px 30px;transition:right .3s;position:fixed;top:0;right:-100%;overflow-y:auto;box-shadow:-2px 0 15px #0000001a}.navbar-links.mobile-open{right:0}.mobile-close-btn{display:flex}.navbar-link{color:var(--text,#1f2937);border-radius:10px;justify-content:flex-start;margin:4px 0;padding:14px 16px;font-size:16px}.navbar-link:hover{background:var(--bg-tertiary,#f3f4f6)}.navbar-link span:not(.navbar-link-icon){display:inline}.navbar-link-icon{width:28px;font-size:20px}.navbar-dropdown-container{width:100%}.navbar-dropdown-trigger{justify-content:space-between;width:100%;padding:14px 16px;font-size:16px}.navbar-dropdown-menu{width:100%;box-shadow:none;background:var(--bg-secondary,#f9fafb);border:none;margin-top:4px;margin-bottom:8px;padding-left:40px;position:static}.navbar-dropdown-menu.admin-dropdown,.navbar-dropdown-scrollable{max-height:none;overflow:visible}.navbar-dropdown-item{padding:12px 16px}.navbar-dropdown-item-desc{font-size:12px;display:block}.navbar-profile-container{width:100%;margin-top:8px;margin-left:0}.navbar-profile-trigger{border-radius:10px;justify-content:flex-start;gap:12px;width:100%;padding:14px 16px}.navbar-profile-name{text-align:left;color:var(--text,#1f2937);flex:1;font-size:16px;display:inline}.navbar-profile-avatar{width:36px;height:36px;font-size:16px}.navbar-profile-menu{width:100%;box-shadow:none;background:var(--bg-secondary,#f9fafb);border:none;margin-top:4px;padding-left:40px;position:static}.navbar-links.mobile-open:before{content:"";z-index:-1;background:#00000080;position:fixed;inset:0}}@media (width<=480px){.navbar-container{height:56px;padding:0 12px}.logo-icon img{height:28px}.mobile-menu-btn{width:24px;height:18px}.hamburger-line{height:2px}.mobile-menu-btn.active .hamburger-line:first-child{transform:translateY(8px)rotate(45deg)}.mobile-menu-btn.active .hamburger-line:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.navbar-links{width:100%;max-width:none;padding:60px 16px 20px}.navbar-link{padding:12px 14px;font-size:15px}.navbar-link-icon{width:24px;font-size:18px}.navbar-dropdown-trigger{padding:12px 14px;font-size:15px}.navbar-dropdown-menu{padding-left:32px}.navbar-dropdown-item{padding:10px 14px}.navbar-dropdown-item-title{font-size:13px}.navbar-dropdown-item-desc{font-size:11px}.navbar-profile-trigger{padding:12px 14px}.navbar-profile-name{font-size:15px}.navbar-profile-avatar{width:32px;height:32px;font-size:14px}.mobile-close-btn{width:36px;height:36px;font-size:18px;top:16px;right:16px}}.navbar-dropdown-container{position:relative}.navbar-dropdown-trigger.active{background:var(--primary-light,#dbeafe);color:var(--primary,#2563eb)}.navbar-dropdown-arrow{margin-left:4px;font-size:10px;transition:transform .2s}.navbar-dropdown-arrow.open{transform:rotate(180deg)}.navbar-dropdown-menu{background:var(--bg,#fff);box-shadow:var(--shadow-lg,0 10px 15px #0000001a);z-index:1000;border:1px solid var(--border,#e5e7eb);border-radius:12px;min-width:300px;padding:8px 0;animation:.15s fadeIn;position:absolute;top:calc(100% + 8px);left:0}.navbar-dropdown-header{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px 8px;font-size:11px;font-weight:600}.navbar-dropdown-item{color:var(--text,#374151);cursor:pointer;text-align:left;background:0 0;border:none;align-items:flex-start;gap:12px;width:100%;padding:12px 16px;text-decoration:none;transition:background .15s;display:flex}.navbar-dropdown-item:hover{background:var(--bg-secondary,#f9fafb)}.navbar-dropdown-item-icon{text-align:center;flex-shrink:0;width:24px;font-size:18px}.navbar-dropdown-item-content{flex:1}.navbar-dropdown-item-title{color:var(--text,#111827);margin-bottom:2px;font-size:14px;font-weight:500;display:block}.navbar-dropdown-item-desc{color:var(--text-secondary,#6b7280);font-size:12px;line-height:1.4;display:block}.navbar-dropdown-divider{background:var(--border,#e5e7eb);height:1px;margin:8px 0}@media (width>=1025px){.navbar-dropdown-menu.admin-dropdown{flex-direction:column;max-height:500px;display:flex;overflow:hidden}.navbar-dropdown-scrollable{max-height:400px;overflow:hidden auto}.navbar-dropdown-scrollable::-webkit-scrollbar{width:6px}.navbar-dropdown-scrollable::-webkit-scrollbar-track{background:var(--bg-secondary,#f1f5f9);border-radius:3px}.navbar-dropdown-scrollable::-webkit-scrollbar-thumb{background:var(--border,#cbd5e1);border-radius:3px}.navbar-dropdown-scrollable::-webkit-scrollbar-thumb:hover{background:var(--text-light,#94a3b8)}}.navbar-profile-container{margin-left:8px}.navbar-profile-trigger{cursor:pointer;background:0 0;border:none;border-radius:30px;align-items:center;gap:10px;padding:6px 12px;transition:background .2s;display:flex}.navbar-profile-trigger:hover{background:var(--bg-tertiary,#f3f4f6)}.navbar-profile-avatar{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:600;display:flex}.navbar-profile-name{color:var(--text,#111827);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:14px;font-weight:500;overflow:hidden}.navbar-profile-menu{min-width:260px;left:auto;right:0}.navbar-profile-header{text-transform:none;color:var(--text,#111827);font-size:14px}.navbar-profile-subheader{color:var(--text-secondary,#6b7280);border-bottom:1px solid var(--border,#e5e7eb);padding:0 16px 12px;font-size:13px}.navbar-logout-item{color:var(--error,#ef4444)}.navbar-logout-item:hover{background:var(--error-light,#fef2f2)}.navbar-logout-item .navbar-dropdown-item-title{color:var(--error,#ef4444)}.profile-page{background:var(--bg-tertiary,#f5f7fa);min-height:calc(100vh - 70px);padding:32px}.profile-container{max-width:800px;margin:0 auto}.profile-title{color:var(--text,#1f2937);margin-bottom:24px;font-size:28px;font-weight:600}.profile-card{background:var(--bg,#fff);box-shadow:var(--shadow-sm,0 2px 8px #0000000f);border-radius:16px;margin-bottom:24px;padding:32px;transition:transform .2s,box-shadow .2s}.profile-card:hover{box-shadow:var(--shadow-md,0 4px 12px #0000001a)}.profile-header{border-bottom:1px solid var(--border,#e5e7eb);align-items:center;gap:24px;margin-bottom:32px;padding-bottom:24px;display:flex}.profile-avatar-large{color:#fff;width:100px;height:100px;box-shadow:var(--shadow-md);background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:42px;font-weight:600;display:flex}.profile-header-info h2{color:var(--text,#1f2937);margin-bottom:4px;font-size:24px;font-weight:600}.profile-email{color:var(--text-secondary,#6b7280);margin-bottom:12px;font-size:15px}.profile-roles{flex-wrap:wrap;gap:8px;display:flex}.role-badge{background:var(--primary-light,#dbeafe);color:var(--primary,#2563eb);text-transform:capitalize;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500}.profile-details{flex-direction:column;gap:16px;display:flex}.detail-row{border-bottom:1px solid var(--border,#e5e7eb);align-items:center;padding:12px 0;display:flex}.detail-row:last-child{border-bottom:none}.detail-label{width:140px;color:var(--text-secondary,#6b7280);flex-shrink:0;font-size:14px;font-weight:500}.detail-value{color:var(--text,#1f2937);font-size:15px;font-weight:500}.status-badge{border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-block}.status-badge.active{background:var(--success-light,#d1fae5);color:var(--success-dark,#065f46)}.status-badge.inactive{background:var(--error-light,#fee2e2);color:var(--error-dark,#991b1b)}.password-card{background:var(--bg,#fff);box-shadow:var(--shadow-sm,0 2px 8px #0000000f);border-radius:16px;margin-bottom:24px;padding:32px}.password-card h3{color:var(--text,#1f2937);margin-bottom:8px;font-size:20px;font-weight:600}.password-note{color:var(--text-secondary,#6b7280);margin-bottom:24px;font-size:14px}.password-form{max-width:400px}.form-group input{border:2px solid var(--border,#e5e7eb);box-sizing:border-box;background:var(--bg,#fff);border-radius:8px;width:100%;padding:12px 16px;font-size:15px;transition:all .2s}.form-group input:focus{border-color:var(--primary,#2563eb);outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-group input.error{border-color:var(--error,#ef4444)}.form-group input:disabled{background:var(--bg-secondary,#f5f5f5);cursor:not-allowed;opacity:.7}.error-message{color:var(--error,#ef4444);margin-top:4px;font-size:12px;display:block}.form-actions{gap:12px;margin-top:24px;display:flex}.btn-primary{background:var(--primary,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:15px;font-weight:500;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--primary-dark,#1d4ed8);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-secondary,#f0f0f0);color:var(--text-secondary,#6b7280);border:1px solid var(--border,#e5e7eb);cursor:pointer;border-radius:8px;padding:12px 24px;font-size:15px;font-weight:500;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--border,#e5e7eb);transform:translateY(-2px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.permissions-card{background:var(--bg,#fff);box-shadow:var(--shadow-sm,0 2px 8px #0000000f);border-radius:16px;padding:32px}.permissions-card h3{color:var(--text,#1f2937);margin-bottom:16px;font-size:20px;font-weight:600}.permissions-list{flex-wrap:wrap;gap:10px;display:flex}.permission-tag{background:var(--primary-light,#dbeafe);color:var(--primary,#2563eb);border-radius:20px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s}.permission-tag:hover{background:var(--primary,#2563eb);color:#fff;transform:translateY(-2px)}.profile-loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;display:flex}.profile-loading .spinner{border:4px solid var(--border,#e5e7eb);border-top-color:var(--primary,#2563eb);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.profile-loading p{color:var(--text-secondary,#6b7280);font-size:15px}.profile-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;display:flex}.profile-error .error-icon{font-size:48px}.profile-error h3{color:var(--error,#ef4444);margin-bottom:8px;font-size:20px}.profile-error p{color:var(--text-secondary,#6b7280);margin-bottom:20px}.toast{color:#fff;z-index:2000;box-shadow:var(--shadow-lg);border-radius:8px;padding:14px 24px;font-size:14px;font-weight:500;animation:.3s slideIn;position:fixed;bottom:24px;right:24px}.toast.warning{background:var(--warning,#f59e0b)}.profile-card,.password-card,.permissions-card{animation:.3s fadeIn}@media (width<=768px){.profile-page{padding:16px}.profile-title{margin-bottom:16px;font-size:24px}.profile-card,.password-card,.permissions-card{padding:20px}.profile-header{text-align:center;flex-direction:column;gap:16px}.profile-avatar-large{width:80px;height:80px;font-size:34px}.profile-header-info h2{font-size:20px}.detail-row{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 0}.detail-label{width:auto;font-size:13px}.detail-value{font-size:14px}.form-actions{flex-direction:column;gap:10px}.btn-primary,.btn-secondary{justify-content:center;width:100%}.password-form{max-width:100%}.permissions-list{gap:8px}.permission-tag{padding:4px 10px;font-size:12px}}@media (width<=480px){.profile-page{padding:12px}.profile-card,.password-card,.permissions-card{padding:16px}.profile-avatar-large{width:70px;height:70px;font-size:28px}.profile-roles{justify-content:center}.form-group input{padding:10px 14px;font-size:14px}.btn-primary,.btn-secondary{padding:10px 20px;font-size:14px}.toast{text-align:center;bottom:16px;left:16px;right:16px}}.team-progress-page{background:#f5f7fa;min-height:100vh;padding:24px 32px}.team-progress-container{max-width:1400px;margin:0 auto}.team-progress-header{text-align:center;margin-bottom:32px}.team-progress-header h1{color:#1f2937;margin-bottom:8px;font-size:28px;font-weight:700}.team-progress-header p{color:#6b7280;font-size:14px}.team-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px;display:grid}.team-stat-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px;transition:all .2s;box-shadow:0 1px 3px #0000000d}.team-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.team-stat-icon{margin-bottom:12px;font-size:36px}.team-stat-value{color:#2563eb;margin-bottom:4px;font-size:32px;font-weight:700}.team-stat-label{color:#6b7280;font-size:13px}.team-progress-layout{gap:24px;margin-bottom:32px;display:flex}.users-list-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;flex:0 0 320px;height:fit-content;max-height:600px;display:flex;overflow:hidden}.users-list-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px 20px}.users-list-header h3{color:#1f2937;margin:0;font-size:16px;font-weight:600}.users-list-header span{color:#6b7280;font-size:12px}.users-list{flex:1;padding:8px;overflow-y:auto}.user-list-item{cursor:pointer;border-radius:12px;align-items:center;gap:12px;margin-bottom:4px;padding:12px;transition:all .2s;display:flex}.user-list-item:hover{background:#f9fafb}.user-list-item.selected{background:#eff6ff;border-left:3px solid #2563eb}.user-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:600;display:flex}.user-info{flex:1;min-width:0}.user-name{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:600;overflow:hidden}.user-email{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.user-progress-badge{color:#fff;border-radius:20px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600}.user-progress-content{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex:1;padding:24px}.user-profile-header{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;padding-bottom:20px;display:flex}.user-profile-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:28px;font-weight:600;display:flex}.user-profile-info{flex:1}.user-profile-info h2{color:#1f2937;margin:0 0 4px;font-size:20px}.user-profile-info p{color:#6b7280;margin:0 0 8px;font-size:13px}.user-profile-meta{flex-wrap:wrap;gap:16px;display:flex}.user-role{color:#4b5563;background:#f3f4f6;border-radius:4px;padding:2px 8px;font-size:11px}.user-joined{color:#9ca3af;font-size:11px}.user-overall-progress{text-align:center;background:#f0fdf4;border-radius:12px;padding:12px 20px}.user-overall-percentage{color:#10b981;font-size:28px;font-weight:700}.user-overall-label{color:#6b7280;font-size:11px}.user-modules-completed{color:#10b981;margin-top:4px;font-size:11px}.user-stats-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;display:grid}.user-stat{text-align:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.user-stat-value{color:#2563eb;margin-bottom:4px;font-size:24px;font-weight:700}.user-stat-label{color:#6b7280;font-size:12px}.user-modules-progress h3{color:#1f2937;border-bottom:1px solid #e5e7eb;margin:0 0 16px;padding-bottom:8px;font-size:16px;font-weight:600}.user-modules-list{flex-direction:column;gap:16px;max-height:350px;padding-right:4px;display:flex;overflow-y:auto}.user-module-card{border:1px solid #e5e7eb;border-radius:12px;padding:16px;transition:all .2s}.user-module-card:hover{background:#f9fafb;border-color:#2563eb}.user-module-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.user-module-icon{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.user-module-info{flex:1}.user-module-info h4{color:#1f2937;margin:0 0 4px;font-size:14px;font-weight:600}.user-module-meta{color:#6b7280;flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.user-module-percentage{color:#2563eb;font-size:14px;font-weight:600}.user-module-progress-bar{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden}.user-progress-fill{border-radius:3px;height:100%;transition:width .3s}.no-user-selected{text-align:center;padding:60px 20px}.no-user-icon{opacity:.5;margin-bottom:16px;font-size:48px}.no-user-selected h3{color:#1f2937;margin-bottom:8px;font-size:18px}.no-user-selected p{color:#6b7280;font-size:14px}.no-modules-message{text-align:center;color:#9ca3af;padding:40px}.top-performers-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px}.top-performers-section h3{color:#1f2937;border-bottom:1px solid #e5e7eb;margin:0 0 20px;padding-bottom:8px;font-size:16px;font-weight:600}.top-performers-list{flex-wrap:wrap;gap:16px;display:flex}.top-performer-card{cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;flex:1;align-items:center;gap:12px;min-width:200px;padding:12px 16px;transition:all .2s;display:flex}.top-performer-card:hover{background:#eff6ff;border-color:#2563eb;transform:translateY(-2px)}.top-performer-rank{color:#2563eb;min-width:40px;font-size:20px;font-weight:700}.top-performer-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:600;display:flex}.top-performer-info{flex:1}.top-performer-name{color:#1f2937;margin-bottom:2px;font-size:14px;font-weight:600}.top-performer-progress{color:#2563eb;font-size:12px;font-weight:500}.top-performer-details{color:#9ca3af;font-size:10px}.team-progress-loading{background:#f5f7fa;justify-content:center;align-items:center;min-height:100vh;display:flex}.team-progress-spinner{border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:48px;height:48px;margin-bottom:16px;animation:1s linear infinite teamProgressSpin}@keyframes teamProgressSpin{to{transform:rotate(360deg)}}.team-progress-error{text-align:center;background:#f5f7fa;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.team-progress-error-icon{margin-bottom:16px;font-size:48px}.team-progress-error h3{color:#1f2937;margin-bottom:8px;font-size:20px}.team-progress-error p{color:#6b7280;margin-bottom:20px}.team-progress-retry-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .2s}.team-progress-retry-btn:hover{background:#1d4ed8;transform:translateY(-2px)}@media (width<=1024px){.team-progress-layout{flex-direction:column}.users-list-sidebar{flex:none;max-height:400px}}@media (width<=768px){.team-progress-page{padding:16px}.team-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.team-stat-card{padding:16px}.team-stat-value{font-size:24px}.user-profile-header{text-align:center;flex-direction:column}.user-stats-grid{grid-template-columns:1fr}.user-module-header{text-align:center;flex-direction:column}.top-performers-list{flex-direction:column}.top-performer-card{min-width:auto}}@media (width<=480px){.team-progress-page{padding:12px}.team-stats-grid{grid-template-columns:1fr}.team-stat-value{font-size:28px}.user-list-item{padding:8px}.user-avatar{width:32px;height:32px;font-size:12px}.user-name{font-size:12px}.user-progress-badge{padding:2px 6px;font-size:10px}.user-profile-avatar{width:50px;height:50px;font-size:22px}.user-profile-info h2{font-size:18px}}.users-list::-webkit-scrollbar{width:4px}.user-modules-list::-webkit-scrollbar{width:4px}.users-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.user-modules-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.users-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.user-modules-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.users-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.user-modules-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.users-page{background:#f5f7fa;min-height:100vh;padding:24px 32px}.users-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.users-header h1{color:#1f2937;margin:0;font-size:28px;font-weight:600}.users-create-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#0ea5e9);border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.users-create-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.users-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:auto;box-shadow:0 1px 3px #0000000d}.users-table{border-collapse:collapse;width:100%;min-width:800px}.users-table th{text-align:left;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px;font-size:13px;font-weight:600}.users-table td{color:#1f2937;vertical-align:middle;border-bottom:1px solid #e5e7eb;padding:16px}.users-table tr:hover{background:#f9fafb}.users-user-cell{align-items:center;gap:12px;display:flex}.users-user-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:600;display:flex}.users-user-name{margin-bottom:4px;font-weight:600}.users-user-email{color:#6b7280;font-size:12px}.users-roles-list{flex-wrap:wrap;gap:6px;display:flex}.users-role-tag{color:#1e40af;background:#e0e7ff;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-block}.users-status{border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.users-status.active{color:#065f46;background:#d1fae5}.users-status.inactive{color:#991b1b;background:#fee2e2}.users-actions{flex-wrap:wrap;gap:8px;display:flex}.users-action-btn{cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s}.users-action-btn.edit{color:#92400e;background:#fef3c7}.users-action-btn.edit:hover{background:#fde68a}.users-action-btn.reset{color:#1e40af;background:#dbeafe}.users-action-btn.reset:hover{background:#bfdbfe}.users-action-btn.status{color:#4b5563;background:#e5e7eb}.users-action-btn.status:hover{background:#d1d5db}.users-action-btn.delete{color:#991b1b;background:#fee2e2}.users-action-btn.delete:hover{background:#fecaca}.users-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.users-modal{background:#fff;border-radius:20px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto}.users-modal-small{max-width:500px}.users-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.users-modal-header h2{color:#1f2937;margin:0;font-size:20px}.users-modal-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;font-size:24px}.users-modal-body{padding:24px}.users-modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.users-form-section{margin-bottom:24px}.users-form-section h3{color:#374151;border-bottom:1px solid #e5e7eb;margin:0 0 16px;padding-bottom:8px;font-size:16px}.users-form-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.users-form-group{margin-bottom:16px}.users-form-group label{color:#4b5563;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.users-form-group input,.users-form-group textarea,.users-form-group select{border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;transition:all .2s}.users-form-group input:focus,.users-form-group textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.users-form-group input.error{border-color:#ef4444}.users-error{color:#ef4444;margin-top:4px;font-size:12px;display:block}.users-roles-selector{flex-direction:column;gap:12px;display:flex}.users-role-checkbox{cursor:pointer;border:1px solid #e5e7eb;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;transition:all .2s;display:flex}.users-role-checkbox:hover{background:#f9fafb;border-color:#2563eb}.users-role-checkbox input{cursor:pointer;width:16px;height:16px;margin-top:2px}.users-role-info{flex:1}.users-role-name{color:#1f2937;margin-bottom:4px;font-size:14px;font-weight:600;display:block}.users-role-desc{color:#6b7280;font-size:12px}.users-user-info{background:#f9fafb;border-radius:12px;align-items:center;gap:16px;margin-bottom:24px;padding:16px;display:flex}.users-user-avatar-large{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:20px;font-weight:600;display:flex}.users-user-info h4{color:#1f2937;margin:0 0 4px}.users-user-info p{color:#6b7280;margin:0;font-size:13px}.users-password-hint{background:#fef3c7;border-radius:8px;margin-top:16px;padding:12px}.users-password-hint p{color:#92400e;margin:0 0 8px;font-size:12px;font-weight:600}.users-password-hint ul{margin:0;padding-left:20px}.users-password-hint li{color:#92400e;font-size:12px}.users-error-message{color:#dc2626;background:#fee2e2;border-radius:8px;margin-top:12px;padding:10px;font-size:13px}.users-success-message{text-align:center;padding:20px}.users-success-icon{margin-bottom:16px;font-size:48px}.users-success-message p{color:#1f2937;margin:8px 0}.users-note{color:#6b7280;font-size:12px}.users-btn-cancel,.users-btn-submit{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.users-btn-cancel{color:#374151;background:#f3f4f6}.users-btn-cancel:hover{background:#e5e7eb}.users-btn-submit{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9)}.users-btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.users-btn-submit:disabled{opacity:.6;cursor:not-allowed}.users-toast{color:#fff;z-index:1100;border-radius:8px;padding:12px 20px;font-size:14px;animation:.3s slideIn;position:fixed;bottom:24px;right:24px}.users-toast.success{background:#10b981}.users-toast.error{background:#ef4444}.users-loading-container{background:#f5f7fa;justify-content:center;align-items:center;min-height:100vh;display:flex}.users-loading-card{text-align:center;background:#fff;border-radius:20px;min-width:300px;padding:40px}.users-spinner{border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:50px;height:50px;margin:0 auto 20px;animation:1s linear infinite spin}@media (width<=768px){.users-page{padding:16px}.users-header{flex-direction:column;gap:16px}.users-form-row{grid-template-columns:1fr}.users-modal{width:95%}.users-actions{flex-direction:column}.users-action-btn{width:100%}}.all-assessments-page{background:#f5f7fa;min-height:100vh;padding:24px}.create-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s}.create-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.assessments-list{flex-direction:column;gap:16px;display:flex}.assessment-item{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:24px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a}.assessment-item:hover{box-shadow:0 4px 12px #00000026}.assessment-info{flex:1}.assessment-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.assessment-header h3{color:#2d3748;margin:0;font-size:18px}.badge{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500}.badge.published{color:#22543d;background:#c6f6d5}.badge.draft{color:#7b341e;background:#feebc8}.assessment-description{color:#718096;margin:0 0 12px;font-size:14px}.assessment-meta{flex-wrap:wrap;gap:12px;display:flex}.meta-tag{color:#4a5568;background:#f7fafc;border-radius:6px;padding:4px 10px;font-size:12px}.assessment-actions{margin-left:20px}.modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow:auto}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.empty-state{text-align:center;background:#fff;border-radius:12px;padding:60px}.empty-state h3{color:#2d3748;margin:0 0 8px}.empty-state p{color:#718096;margin-bottom:20px}.access-denied{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.access-denied-content{text-align:center;background:#fff;border-radius:16px;max-width:400px;padding:48px}.access-denied .icon{margin-bottom:16px;font-size:64px}.access-denied h2{color:#2d3748;margin:0 0 8px}.access-denied p{color:#718096;margin-bottom:24px}@media (width<=768px){.all-assessments-page{padding:16px}.page-header{text-align:center;flex-direction:column;gap:16px}.header-left{flex-direction:column;gap:12px}.assessment-item{text-align:center;flex-direction:column}.assessment-actions{margin-top:16px;margin-left:0}.assessment-header,.assessment-meta{justify-content:center}.form-row{grid-template-columns:1fr}}.assessment-edit-page{background:#f5f7fa;min-height:100vh;padding:24px}.page-header{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px 32px;display:flex;box-shadow:0 1px 3px #0000001a}.header-left{align-items:center;gap:24px;display:flex}.back-button{color:#4a5568;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 16px;font-size:14px;transition:all .2s}.back-button:hover{color:#2d3748;background:#f7fafc}.page-header h1{color:#2d3748;margin:0;font-size:24px;font-weight:600}.subtitle{color:#718096;margin:4px 0 0;font-size:14px}.header-actions{gap:12px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-success{color:#fff;cursor:pointer;background:#48bb78;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-success:hover{background:#38a169;transform:translateY(-2px)}.btn-secondary{color:#2d3748;cursor:pointer;background:#e2e8f0;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-secondary:hover{background:#cbd5e0}.questions-container{flex-direction:column;gap:20px;display:flex}.question-card{background:#fff;border-radius:12px;padding:24px;transition:all .2s;box-shadow:0 1px 3px #0000001a}.question-card:hover{box-shadow:0 4px 12px #00000026}.question-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:start;margin-bottom:16px;padding-bottom:12px;display:flex}.question-title{flex:1;gap:12px;display:flex}.question-number{color:#667eea;font-size:16px;font-weight:600}.question-text{color:#2d3748;font-size:16px;font-weight:500}.question-points{color:#718096;background:#f7fafc;border-radius:20px;padding:4px 10px;font-size:13px}.question-body{margin-bottom:16px}.options-list{flex-direction:column;gap:8px;display:flex}.option{background:#f7fafc;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.option.correct{background:#c6f6d5;border-left:3px solid #48bb78}.option-marker{color:#4a5568;font-weight:600}.correct-badge{color:#48bb78;margin-left:auto;font-size:12px;font-weight:500}.true-false-list{gap:16px;display:flex}.tf-option{background:#f7fafc;border-radius:8px;padding:8px 16px}.tf-option.correct{background:#c6f6d5}.short-answer-preview{background:#fef5e7;border-left:3px solid #ed8936;border-radius:8px;padding:12px}.explanation{color:#2c5282;background:#e6f0ff;border-radius:8px;margin-top:12px;padding:12px;font-size:13px}.question-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;padding-top:12px;display:flex}.edit-btn,.delete-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:13px;transition:all .2s}.edit-btn{color:#4299e1}.edit-btn:hover{background:#ebf8ff}.delete-btn{color:#f56565}.delete-btn:hover{background:#fff5f5}.empty-questions{text-align:center;background:#fff;border-radius:12px;padding:60px}.empty-icon{margin-bottom:16px;font-size:64px}.empty-questions h3{color:#2d3748;margin:0 0 8px}.empty-questions p{color:#718096;margin-bottom:20px}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.question-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow:auto}.modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{margin:0;font-size:20px}.close-btn{cursor:pointer;color:#a0aec0;background:0 0;border:none;font-size:24px}.modal-body{padding:24px}.modal-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.form-group{margin-bottom:20px}.form-group label{color:#2d3748;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px;font-size:14px;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-group small{color:#718096;margin-top:4px;font-size:12px;display:block}.type-buttons{gap:8px;display:flex}.type-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:10px;font-size:14px;transition:all .2s}.type-btn.active{color:#fff;background:#667eea;border-color:#667eea}.type-btn:hover:not(.active){background:#f7fafc}.options-section{background:#f7fafc;border-radius:8px;margin-top:20px;padding:16px}.options-section label{margin-bottom:12px;font-weight:600;display:block}.option-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.option-letter{color:#4a5568;width:30px;font-weight:600}.option-row input{border:1px solid #e2e8f0;border-radius:6px;flex:1;padding:8px}.remove-option{cursor:pointer;color:#f56565;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:20px;display:flex}.add-option{color:#667eea;cursor:pointer;background:0 0;border:1px dashed #667eea;border-radius:6px;width:100%;margin-top:8px;padding:8px;font-size:14px}.add-option:hover{background:#ebf8ff}.correct-answer{margin-top:16px}.correct-answer select{border:1px solid #e2e8f0;border-radius:6px;width:100%;padding:8px}.true-false-section{margin-top:20px}.tf-buttons{gap:12px;margin-top:8px;display:flex}.tf-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:10px;transition:all .2s}.tf-btn.active{color:#fff;background:#667eea;border-color:#667eea}.loading-state{text-align:center;background:#fff;border-radius:12px;padding:60px}.spinner{border:3px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;width:48px;height:48px;margin:0 auto 16px;animation:1s linear infinite spin}.error-state{text-align:center;background:#fff;border-radius:12px;padding:60px}.error-icon{margin-bottom:16px;font-size:64px}.toast{color:#fff;z-index:1100;border-radius:8px;padding:12px 20px;font-size:14px;animation:.3s slideIn;position:fixed;bottom:20px;right:20px}.toast.success{background:#48bb78}.toast.error{background:#f56565}@media (width<=768px){.assessment-edit-page{padding:16px}.page-header{flex-direction:column;gap:16px}.header-left{text-align:center;flex-direction:column;gap:12px}.header-actions{flex-direction:column;width:100%}.header-actions button{width:100%}.question-header{flex-direction:column;gap:8px}.type-buttons,.modal-footer{flex-direction:column}.modal-footer button{width:100%}}:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#dbeafe;--primary-bg:#eff6ff;--success:#10b981;--success-light:#d1fae5;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--white:#fff;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem}.take-page{background:var(--gray-100);min-height:100vh;padding:24px 32px}.take-header{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:20px 28px;display:flex}.take-back-btn{background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-600);cursor:pointer;border-radius:var(--radius-sm);padding:8px 18px;font-size:14px;font-weight:500;transition:all .2s}.take-back-btn:hover{background:var(--gray-200);color:var(--gray-800)}.take-header-info{text-align:center;flex:1}.take-header-info h1{color:var(--gray-800);margin:0;font-size:20px;font-weight:600}.take-module{color:var(--gray-500);margin-top:4px;font-size:13px;display:block}.take-stats{gap:28px;display:flex}.take-stat{text-align:center}.take-stat-label{color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;display:block}.take-stat-value{color:var(--primary);font-size:14px;font-weight:600;display:block}.take-progress-section{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);margin-bottom:24px;padding:16px 24px}.take-progress-bar{background:var(--gray-200);border-radius:3px;height:6px;margin-bottom:12px;overflow:hidden}.take-progress-fill{background:var(--primary);border-radius:3px;height:100%;transition:width .3s}.take-progress-stats{color:var(--gray-500);justify-content:space-between;font-size:13px;display:flex}.take-question-card{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);margin-bottom:24px;padding:32px 36px}.take-question-header{justify-content:flex-end;margin-bottom:20px;display:flex}.take-question-points{background:var(--gray-100);color:var(--gray-600);border-radius:20px;padding:4px 14px;font-size:12px;font-weight:500}.take-question-text{color:var(--gray-800);margin-bottom:32px;font-size:20px;font-weight:600;line-height:1.4}.take-options-group{flex-direction:column;gap:12px;display:flex}.take-option-label{border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;background:var(--white);align-items:center;gap:14px;padding:14px 20px;transition:all .2s;display:flex}.take-option-label:hover{border-color:var(--primary);background:var(--primary-bg)}.take-option-label input[type=radio]{cursor:pointer;width:18px;height:18px;accent-color:var(--primary);margin:0}.take-option-text{color:var(--gray-700);flex:1;font-size:15px;line-height:1.4}.take-option-letter{color:var(--primary);width:24px;margin-right:12px;font-weight:600;display:inline-block}.take-true-false-group{gap:16px;display:flex}.take-true-false-group .take-option-label{flex:1;justify-content:center}.take-true-false-group .take-option-text{text-align:center;font-weight:500}.take-short-answer-group{margin-top:8px}.take-short-answer-group textarea{border:1px solid var(--gray-200);border-radius:var(--radius-md);resize:vertical;background:var(--white);width:100%;padding:14px 18px;font-family:inherit;font-size:15px;transition:all .2s}.take-short-answer-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.take-navigation{justify-content:space-between;gap:20px;margin-bottom:24px;display:flex}.take-nav-prev,.take-nav-next,.take-nav-submit{border-radius:var(--radius-md);cursor:pointer;border:none;min-width:140px;padding:12px 28px;font-size:15px;font-weight:500;transition:all .2s}.take-nav-prev{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200)}.take-nav-prev:hover:not(:disabled){background:var(--gray-200);color:var(--gray-800)}.take-nav-next{background:var(--primary);color:#fff}.take-nav-next:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.take-nav-submit{background:var(--success);color:#fff}.take-nav-submit:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.take-nav-prev:disabled,.take-nav-next:disabled,.take-nav-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.take-navigator{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);padding:20px 24px}.take-navigator-title{color:var(--gray-500);letter-spacing:.3px;margin-bottom:14px;font-size:13px;font-weight:500;display:block}.take-navigator-dots{flex-wrap:wrap;gap:8px;display:flex}.take-dot{border:1px solid var(--gray-200);background:var(--white);border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;color:var(--gray-600);justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:all .2s;display:flex}.take-dot:hover{border-color:var(--primary);background:var(--primary-bg);transform:scale(1.05)}.take-dot.active{background:var(--primary);color:#fff;border-color:var(--primary)}.take-dot.answered{background:var(--success-light);border-color:var(--success);color:#065f46}.take-dot.answered.active{background:var(--primary);color:#fff;border-color:var(--primary)}.take-loading-container{background:var(--gray-100);justify-content:center;align-items:center;min-height:100vh;display:flex}.take-loading-card{text-align:center;background:var(--white);border-radius:var(--radius-xl);min-width:320px;box-shadow:var(--shadow-md);border:1px solid var(--gray-200);padding:40px}.take-spinner{border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;margin:0 auto 20px;animation:.8s linear infinite takeSpin}@keyframes takeSpin{to{transform:rotate(360deg)}}.take-loading-card p{color:var(--gray-500);font-size:14px}.take-error-container{background:var(--gray-100);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.take-error-card{background:var(--white);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:480px;box-shadow:var(--shadow-md);border:1px solid var(--gray-200);padding:40px}.take-error-icon{margin-bottom:20px;font-size:64px}.take-error-card h2{color:var(--gray-800);margin-bottom:12px;font-size:24px;font-weight:600}.take-error-message{color:#dc2626;border-radius:var(--radius-sm);background:#fef2f2;border-left:3px solid #dc2626;margin-bottom:20px;padding:12px 16px;font-size:14px}.take-error-details{background:var(--gray-50);border-radius:var(--radius-md);text-align:left;border:1px solid var(--gray-200);margin-bottom:28px;padding:16px 20px}.take-detail-row{justify-content:space-between;padding:8px 0;display:flex}.take-detail-row span{color:var(--gray-500);font-size:13px}.take-detail-row strong{color:var(--gray-800);font-size:13px}.take-btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:12px 28px;font-size:14px;font-weight:500;transition:all .2s}.take-btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.take-toast{border-radius:var(--radius-md);z-index:1000;box-shadow:var(--shadow-lg);align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;animation:.3s takeSlideIn;display:flex;position:fixed;bottom:24px;right:24px}.take-toast.success{background:var(--success);color:#fff}.take-toast.error{color:#fff;background:#ef4444}@keyframes takeSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.take-option-label input[type=radio]{appearance:none;border:2px solid var(--gray-300);border-radius:50%;flex-shrink:0;width:18px;height:18px;transition:all .2s;position:relative}.take-option-label input[type=radio]:checked{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 4px #fff}.take-option-label input[type=radio]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb33}@media (width<=768px){.take-page{padding:16px}.take-header{text-align:center;flex-direction:column;padding:18px 20px}.take-back-btn{align-self:flex-start}.take-stats{justify-content:center}.take-question-card{padding:20px 24px}.take-question-text{font-size:18px}.take-option-label{padding:12px 16px}.take-option-text{font-size:14px}.take-true-false-group{flex-direction:column}.take-navigation{flex-direction:column;gap:12px}.take-nav-prev,.take-nav-next,.take-nav-submit{width:100%;min-width:auto}.take-dot{width:42px;height:42px;font-size:14px}.take-toast{text-align:center;justify-content:center;bottom:16px;left:16px;right:16px}}@media (width<=480px){.take-page{padding:12px}.take-header{padding:16px}.take-question-card{padding:16px 18px}.take-question-text{font-size:16px}.take-option-label{padding:10px 14px}.take-option-text{font-size:13px}.take-dot{width:38px;height:38px;font-size:13px}.take-error-card{padding:24px 20px}.take-error-card h2{font-size:20px}}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.tap-page{background:#f5f7fa;min-height:100vh}.tap-page-header{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:24px;padding:24px 32px;box-shadow:0 1px 3px #0000000d}.tap-page-header h1{color:#1f2937;margin:0 0 8px;font-size:28px;font-weight:700}.tap-page-header p{color:#6b7280;margin:0;font-size:14px}.tap-container{max-width:1400px;margin:0 auto;padding:24px}.tap-assessment-selector{background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:16px;margin-bottom:24px;padding:20px 24px;display:flex;box-shadow:0 1px 3px #0000000d}.tap-selector-label{color:#374151;font-size:14px;font-weight:600}.tap-assessment-select{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1;padding:10px 16px;font-size:14px}.tap-assessment-select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.tap-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.tap-stat-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s;box-shadow:0 1px 3px #0000000d}.tap-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.tap-stat-icon{margin-bottom:8px;font-size:32px}.tap-stat-value{color:#2563eb;font-size:28px;font-weight:700}.tap-stat-label{color:#6b7280;margin-top:4px;font-size:12px}.tap-filters{flex-wrap:wrap;gap:16px;margin-bottom:24px;display:flex}.tap-search-box{flex:1;min-width:250px;position:relative}.tap-search-box input{border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:10px 40px 10px 16px;font-size:14px;transition:all .2s}.tap-search-box input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.tap-search-icon{color:#9ca3af;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.tap-filter-select{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:140px;padding:10px 16px;font-size:14px}.tap-filter-select:focus{border-color:#2563eb;outline:none}.tap-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;overflow:auto;box-shadow:0 1px 3px #0000000d}.tap-table{border-collapse:collapse;width:100%;min-width:900px}.tap-table th{text-align:left;color:#6b7280;cursor:pointer;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:14px 16px;font-size:13px;font-weight:600;transition:background .2s}.tap-table th:hover{background:#f3f4f6}.tap-table td{color:#374151;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-size:14px}.tap-table tr:hover{background:#f9fafb}.tap-user-name{color:#1f2937;font-weight:600}.tap-attempts-count{text-align:center;font-weight:600}.tap-score-passed{color:#10b981;font-weight:700}.tap-score-failed{color:#ef4444;font-weight:700}.tap-status-badge{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.tap-status-badge.passed{color:#065f46;background:#d1fae5}.tap-status-badge.failed{color:#991b1b;background:#fee2e2}.tap-view-details-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:13px;transition:all .2s}.tap-view-details-btn:hover{background:#dbeafe}.tap-no-results{text-align:center;color:#9ca3af;padding:40px}.tap-distribution{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.tap-distribution h3{color:#1f2937;margin:0 0 20px;font-size:16px;font-weight:600}.tap-distribution-bars{justify-content:space-around;align-items:flex-end;gap:12px;height:200px;display:flex}.tap-distribution-bar{text-align:center;flex:1}.tap-bar-label{color:#6b7280;margin-bottom:8px;font-size:10px}.tap-bar-container{justify-content:center;align-items:flex-end;height:140px;display:flex}.tap-bar-fill{background:#2563eb;border-radius:4px 4px 0 0;width:35px;transition:height .3s}.tap-bar-count{color:#4b5563;margin-top:8px;font-size:11px;font-weight:600}.tap-loading-container{background:#f5f7fa;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.tap-loading-spinner{border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:48px;height:48px;margin-bottom:16px;animation:1s linear infinite tapSpin}@keyframes tapSpin{to{transform:rotate(360deg)}}.tap-error-container{text-align:center;background:#f5f7fa;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.tap-error-icon{margin-bottom:16px;font-size:48px}.tap-error-container h3{color:#1f2937;margin-bottom:8px;font-size:20px}.tap-error-container p{color:#6b7280;margin-bottom:20px}.tap-retry-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .2s}.tap-retry-btn:hover{background:#1d4ed8;transform:translateY(-2px)}.tap-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tap-modal{background:#fff;border-radius:20px;width:90%;max-width:580px;max-height:85vh;animation:.3s ease-out modalSlideIn;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.tap-modal-header{background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.tap-modal-header h2{color:#fff;margin:0;font-size:20px;font-weight:600}.tap-modal-close{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:all .2s;display:flex}.tap-modal-close:hover{background:#ffffff4d;transform:scale(1.1)}.tap-modal-body{max-height:calc(85vh - 130px);padding:24px;overflow-y:auto}.tap-user-info{text-align:center;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:16px;margin-bottom:24px;padding:20px}.tap-user-info h3{color:#1e3a8a;margin:0 0 8px;font-size:20px;font-weight:700}.tap-user-info p{color:#3b82f6;margin:0;font-size:14px;font-weight:500}.tap-attempts-list{flex-direction:column;gap:12px;display:flex}.tap-attempt-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000d}.tap-attempt-item:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001a}.tap-attempt-item.passed{background:#f0fdf4;border-left:4px solid #10b981}.tap-attempt-item.failed{background:#fef2f2;border-left:4px solid #ef4444}.tap-attempt-number{color:#1f2937;text-align:center;background:#f3f4f6;border-radius:20px;min-width:85px;padding:4px 12px;font-size:14px;font-weight:700}.tap-attempt-score{min-width:70px;font-size:20px;font-weight:800}.tap-attempt-item.passed .tap-attempt-score{color:#10b981}.tap-attempt-item.failed .tap-attempt-score{color:#ef4444}.tap-attempt-date{color:#6b7280;min-width:150px;font-size:12px}.tap-view-answers-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:8px 20px;font-size:12px;font-weight:600;transition:all .2s}.tap-view-answers-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.tap-no-attempts{text-align:center;color:#6b7280;background:#f9fafb;border-radius:12px;padding:60px 20px}.tap-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;padding:16px 24px;display:flex}.tap-btn-secondary{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .2s}.tap-btn-secondary:hover{background:#e5e7eb;transform:translateY(-1px)}.tap-modal-large{max-width:750px}.tap-attempt-summary{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:16px;justify-content:space-around;gap:16px;margin-bottom:24px;padding:20px;display:flex}.tap-summary-item{text-align:center;flex:1}.tap-summary-item span{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;display:block}.tap-summary-item strong{color:#0f172a;font-size:24px;font-weight:700}.tap-text-passed{color:#10b981}.tap-text-failed{color:#ef4444}.tap-loading-answers{text-align:center;background:#f9fafb;border-radius:12px;padding:60px}.tap-spinner-small{border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:.8s linear infinite spin}.tap-answers-list{flex-direction:column;gap:16px;max-height:500px;padding-right:8px;display:flex;overflow-y:auto}.tap-answers-list::-webkit-scrollbar{width:6px}.tap-answers-list::-webkit-scrollbar-track{background:#e2e8f0;border-radius:10px}.tap-answers-list::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:10px}.tap-answers-list::-webkit-scrollbar-thumb:hover{background:#64748b}.tap-answer-card{background:#fff;border-left:4px solid;border-radius:14px;padding:20px;transition:all .2s;box-shadow:0 1px 3px #0000000d}.tap-answer-card:hover{box-shadow:0 4px 12px #0000001a}.tap-answer-card.correct{background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%);border-left-color:#10b981}.tap-answer-card.incorrect{background:linear-gradient(135deg,#fff 0%,#fef2f2 100%);border-left-color:#ef4444}.tap-answer-header{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.tap-question-number{color:#2563eb;background:#dbeafe;border-radius:20px;padding:4px 12px;font-size:14px;font-weight:700}.tap-answer-status{text-transform:uppercase;border-radius:20px;padding:4px 14px;font-size:12px;font-weight:700}.tap-answer-status.correct{color:#fff;background:#10b981}.tap-answer-status.incorrect{color:#fff;background:#ef4444}.tap-points-earned{color:#64748b;font-size:12px;font-weight:500}.tap-question-text{color:#1e293b;margin-bottom:16px;font-size:15px;font-weight:600;line-height:1.5}.tap-user-answer{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:10px;padding:12px;font-size:13px}.tap-correct-answer{color:#1e40af;background:#dbeafe;border:1px solid #bfdbfe;border-radius:10px;margin-bottom:10px;padding:12px;font-size:13px}.tap-explanation{color:#92400e;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:10px;margin-top:8px;padding:12px;font-size:12px}.tap-no-answers{text-align:center;color:#6b7280;background:#f9fafb;border-radius:12px;padding:60px}.tap-access-denied{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.tap-access-denied-content{text-align:center;background:#fff;border-radius:20px;max-width:400px;padding:48px}.tap-access-denied-icon{margin-bottom:16px;font-size:64px}.tap-access-denied-content h2{color:#1f2937;margin-bottom:8px}.tap-access-denied-content p{color:#6b7280;margin-bottom:24px}.tap-btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .2s}.tap-btn-primary:hover{background:#1d4ed8}@media (width<=768px){.tap-container{padding:16px}.tap-page-header{padding:16px 20px}.tap-page-header h1{font-size:22px}.tap-assessment-selector{flex-direction:column;align-items:stretch}.tap-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.tap-stat-card{padding:16px}.tap-stat-value{font-size:22px}.tap-filters{flex-direction:column}.tap-search-box,.tap-filter-select{width:100%}.tap-distribution-bars{height:160px}.tap-bar-fill{width:25px}}@media (width<=640px){.tap-modal{width:95%;max-height:90vh;margin:10px}.tap-modal-header{padding:16px 20px}.tap-modal-header h2{font-size:18px}.tap-modal-body{padding:16px}.tap-attempt-item{text-align:center;flex-direction:column}.tap-attempt-number,.tap-attempt-score,.tap-attempt-status,.tap-attempt-date{width:100%}.tap-view-answers-btn{width:100%;margin-top:4px}.tap-attempt-summary{flex-direction:column;gap:12px}.tap-summary-item strong{font-size:20px}.tap-answer-header{flex-direction:column;align-items:flex-start}.tap-modal-footer{padding:12px 20px}.tap-btn-secondary{text-align:center;width:100%}}@media (width<=480px){.tap-stats-grid{grid-template-columns:1fr}.tap-distribution-bars{height:140px}.tap-bar-fill{width:20px}}.my-assessments-page{background:#fff;min-height:100vh;padding:24px 32px}.my-assessments-header{text-align:center;margin-bottom:28px}.my-assessments-header h1{color:#1f2937;margin-bottom:8px;font-size:28px;font-weight:700}.my-assessments-header p{color:#6b7280;font-size:14px}.my-assessments-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:32px;display:grid}.my-assessment-stat-card{text-align:center;background:#f9fafb;border-radius:16px;padding:20px;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px #0000000d}.my-assessment-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.my-assessment-stat-value{margin-bottom:8px;font-size:32px;font-weight:700}.my-assessment-stat-label{color:#6b7280;font-size:14px;font-weight:500}.my-assessment-stat-card.completed .my-assessment-stat-value{color:#10b981}.my-assessment-stat-card.available .my-assessment-stat-value{color:#3b82f6}.my-assessment-stat-card.locked .my-assessment-stat-value{color:#6b7280}.my-assessments-list{flex-direction:column;gap:20px;display:flex}.my-assessment-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000d}.my-assessment-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.my-assessment-card.completed{border-left:4px solid #10b981}.my-assessment-card.available{border-left:4px solid #3b82f6}.my-assessment-card.locked{opacity:.85;border-left:4px solid #9ca3af}.my-assessment-status-badge{margin-bottom:16px}.my-assessment-status-completed,.my-assessment-status-available,.my-assessment-status-locked{border-radius:20px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-block}.my-assessment-status-completed{color:#065f46;background:#d1fae5}.my-assessment-status-available{color:#1e40af;background:#dbeafe}.my-assessment-status-locked{color:#4b5563;background:#e5e7eb}.my-assessment-info h3{color:#1f2937;margin:0 0 8px;font-size:20px;font-weight:600}.my-assessment-info p{color:#6b7280;margin:0 0 16px;font-size:14px;line-height:1.5}.my-assessment-meta{border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:16px;margin:16px 0;padding:12px 0;display:flex}.my-assessment-meta-item{color:#4b5563;align-items:center;gap:6px;font-size:13px;display:inline-flex}.my-assessment-best-score{border-radius:12px;margin:12px 0;padding:12px 16px;font-size:14px}.my-assessment-best-score.passed{color:#065f46;background:#d1fae5}.my-assessment-best-score.failed{color:#991b1b;background:#fee2e2}.my-assessment-best-score small{opacity:.8;font-size:11px}.my-assessment-locked-message{color:#92400e;background:#fef3c7;border-radius:8px;margin:12px 0;padding:10px 12px;font-size:13px;display:inline-block}.my-assessment-buttons{margin-top:20px}.my-assessment-take-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;width:100%;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s}.my-assessment-take-btn:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.my-assessment-take-btn.completed{background:#10b981}.my-assessment-take-btn.completed:hover{background:#059669}.my-assessments-empty-state{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:60px 40px;box-shadow:0 1px 3px #0000000d}.my-assessments-empty-icon{margin-bottom:16px;font-size:64px}.my-assessments-empty-state h3{color:#1f2937;margin-bottom:8px;font-size:20px}.my-assessments-empty-state p{color:#6b7280;font-size:14px}.my-assessments-loading-container{background:#fff;justify-content:center;align-items:center;min-height:100vh;display:flex}.my-assessments-loading-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:20px;min-width:300px;padding:40px;box-shadow:0 1px 3px #0000000d}.my-assessments-spinner{border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:50px;height:50px;margin:0 auto 20px;animation:1s linear infinite myAssessmentsSpin}.my-assessments-loading-card p{color:#4a5568;margin:10px 0}.my-assessments-loading-note{color:#a0aec0;font-size:12px}@keyframes myAssessmentsSpin{to{transform:rotate(360deg)}}.my-assessments-error-container{text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.my-assessments-error-icon{margin-bottom:16px;font-size:64px}.my-assessments-error-container h3{color:#1f2937;margin-bottom:8px;font-size:24px}.my-assessments-error-container p{color:#6b7280;margin-bottom:20px}.my-assessments-retry-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.my-assessments-retry-btn:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}@media (width<=768px){.my-assessments-page{padding:16px}.my-assessments-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.my-assessment-stat-card{padding:16px}.my-assessment-stat-value{font-size:24px}.my-assessment-card{padding:16px}.my-assessment-info h3{font-size:18px}.my-assessment-meta{flex-wrap:wrap;gap:10px}.my-assessment-meta-item{font-size:11px}.my-assessment-take-btn{padding:10px 20px}}@media (width<=480px){.my-assessments-stats-grid{grid-template-columns:repeat(2,1fr)}.my-assessment-meta{flex-direction:column;gap:6px}.my-assessment-best-score{font-size:12px}.my-assessments-loading-card{min-width:250px;padding:30px}}:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#dbeafe;--secondary:#0ea5e9;--success:#10b981;--success-light:#d1fae5;--error:#ef4444;--error-light:#fee2e2;--text:#1f2937;--text-secondary:#6b7280;--text-light:#9ca3af;--bg:#fff;--bg-secondary:#f9fafb;--border:#e5e7eb;--shadow-primary:0 4px 12px #2563eb40;--shadow-lg:0 10px 15px #0000001a}.login-container{background:var(--bg,#fff);align-items:stretch;min-height:100vh;display:flex;overflow:hidden}.login-image-section{background-image:url(/business-people-talking.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;flex:1;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-image-overlay{background:linear-gradient(135deg,#2563ebeb 0%,#0ea5e9eb 100%);justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;inset:0}.login-image-content{text-align:center;color:#fff;max-width:450px;animation:.6s ease-out loginFadeInUp}.login-logo{letter-spacing:2px;margin-bottom:20px;font-size:32px;font-weight:700}.login-image-title{margin-bottom:16px;font-size:32px;font-weight:700;line-height:1.2}.login-image-subtitle{opacity:.95;margin-bottom:40px;font-size:16px;line-height:1.5}.login-image-features{text-align:left;flex-direction:column;gap:20px;display:flex}.login-feature{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #fff3;border-radius:12px;align-items:center;gap:16px;padding:16px 20px;transition:all .3s;display:flex}.login-feature:hover{background:#fff3;border-color:#fff6;transform:translate(8px)}.login-feature-icon{font-size:32px}.login-feature h4{margin:0 0 4px;font-size:16px;font-weight:600}.login-feature p{opacity:.9;margin:0;font-size:13px}.login-form-section{background:var(--bg,#fff);flex:1;justify-content:center;align-items:center;padding:40px;display:flex;overflow-y:auto}.login-card-wrapper{width:100%;max-width:450px;animation:.6s ease-out loginFadeInRight}@keyframes loginFadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes loginFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card{background:var(--bg,#fff);padding:40px}.login-mobile-header{text-align:center;margin-bottom:32px}.login-mobile-logo{background:linear-gradient(135deg, var(--primary,#2563eb) 0%, var(--secondary,#0ea5e9) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:20px;font-size:28px;font-weight:700}.login-mobile-title{color:var(--text,#1f2937);margin-bottom:8px;font-size:28px;font-weight:700}.login-mobile-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:14px}.login-header{text-align:center;margin-bottom:32px}.login-title{background:linear-gradient(135deg, var(--primary,#2563eb) 0%, var(--secondary,#0ea5e9) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:32px;font-weight:700}.login-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:14px}.login-error{background:var(--error-light,#fee2e2);color:var(--error,#ef4444);border-left:4px solid var(--error,#ef4444);border-radius:10px;align-items:center;gap:10px;margin-bottom:24px;padding:12px 16px;font-size:14px;display:flex}.login-error-icon{flex-shrink:0}.login-error-message{flex:1}.login-form{margin-bottom:0}.login-form-group{margin-bottom:24px}.login-label{color:var(--text,#1f2937);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.login-input-wrapper{position:relative}.login-input-icon{color:var(--text-light,#9ca3af);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.login-input{border:2px solid var(--border,#e5e7eb);box-sizing:border-box;background:var(--bg,#fff);border-radius:10px;width:100%;padding:12px 16px 12px 44px;font-family:inherit;font-size:15px;transition:all .2s}.login-input:focus{border-color:var(--primary,#2563eb);outline:none;box-shadow:0 0 0 3px #2563eb1a}.login-input:disabled{background-color:var(--bg-secondary,#f9fafb);cursor:not-allowed;opacity:.7}.login-input::placeholder{color:var(--text-light,#9ca3af)}.login-options{justify-content:flex-start;align-items:center;margin-bottom:24px;display:flex}.login-checkbox{color:var(--text-secondary,#6b7280);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.login-checkbox input{cursor:pointer;width:16px;height:16px;accent-color:var(--primary,#2563eb)}.login-button{background:linear-gradient(135deg, var(--primary,#2563eb) 0%, var(--secondary,#0ea5e9) 100%);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-family:inherit;font-size:16px;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.login-button:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.login-button:hover:not(:disabled):before{left:100%}.login-button:hover:not(:disabled){box-shadow:var(--shadow-primary,0 4px 12px #2563eb66);transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-button:disabled:after{content:"";vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin-left:8px;animation:.8s linear infinite loginSpin;display:inline-block}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-footer{border-top:1px solid var(--border,#e5e7eb);text-align:center;margin-top:32px;padding-top:24px}.login-footer p{color:var(--text-secondary,#6b7280);margin:0;font-size:13px}.login-contact-link{color:var(--primary,#2563eb);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.login-contact-link:hover{color:var(--primary-dark,#1d4ed8)}@media (width<=968px){.login-image-title{font-size:28px}.login-image-subtitle{font-size:14px}.login-feature{padding:12px 16px}.login-feature-icon{font-size:24px}.login-feature h4{font-size:14px}.login-feature p{font-size:12px}}@media (width<=768px){.login-container{flex-direction:column}.login-image-section{display:none}.login-form-section{align-items:flex-start;min-height:100vh;padding:60px 20px 20px}.login-card-wrapper{animation:none}.login-card{padding:0}.login-title{font-size:28px}.login-options{flex-direction:column;align-items:flex-start;gap:12px}.login-button{padding:14px;font-size:16px}}@media (width<=480px){.login-form-section{padding:40px 16px 16px}.login-card{padding:0}.login-mobile-logo,.login-mobile-title{font-size:24px}.login-mobile-subtitle{font-size:13px}.login-title{font-size:24px}.login-subtitle{font-size:13px}.login-form-group{margin-bottom:20px}.login-label{font-size:13px}.login-input{padding:10px 12px 10px 40px;font-size:14px}.login-input-icon{width:16px;height:16px;left:12px}.login-button{padding:12px;font-size:15px}.login-footer{margin-top:24px;padding-top:20px}.login-footer p{font-size:12px}.login-error{padding:10px 14px;font-size:13px}}.login-contact-info{background:var(--bg-secondary,#f9fafb);border-radius:12px;margin:20px 0;padding:20px}.login-contact-item{border-bottom:1px solid var(--border,#e5e7eb);align-items:center;gap:12px;padding:10px 0;display:flex}.login-contact-item:last-child{border-bottom:none}.login-contact-icon{width:32px;font-size:20px}.login-contact-email,.login-contact-phone{color:var(--primary,#2563eb);word-break:break-all;font-weight:500;text-decoration:none}.login-contact-email:hover,.login-contact-phone:hover{text-decoration:underline}.login-contact-hours{color:var(--text-secondary,#6b7280);font-size:14px}.login-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s loginFadeIn;display:flex;position:fixed;inset:0}.login-modal{background:var(--bg,#fff);border-radius:20px;width:90%;max-width:450px;max-height:90vh;animation:.3s loginModalSlideIn;overflow-y:auto;box-shadow:0 20px 40px #0003}@keyframes loginModalSlideIn{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes loginFadeIn{0%{opacity:0}to{opacity:1}}.login-modal-header{border-bottom:1px solid var(--border,#e5e7eb);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.login-modal-header h3{color:var(--text,#1f2937);margin:0;font-size:20px}.login-modal-close{cursor:pointer;color:var(--text-light,#9ca3af);background:0 0;border:none;font-size:28px;line-height:1;transition:color .2s}.login-modal-close:hover{color:var(--text,#1f2937)}.login-modal-body{padding:24px}.login-modal-icon{text-align:center;margin-bottom:16px;font-size:48px}.login-modal-text{text-align:center;color:var(--text-secondary,#6b7280);margin-bottom:24px;line-height:1.5}.login-modal-actions{gap:12px;margin-top:20px;display:flex}.login-modal-done{background:linear-gradient(135deg, var(--primary,#2563eb) 0%, var(--secondary,#0ea5e9) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px;font-size:14px;font-weight:500;transition:all .2s}.login-modal-done:hover{box-shadow:var(--shadow-primary,0 4px 12px #2563eb66);transform:translateY(-1px)}.login-modal-alternate{border-top:1px solid var(--border,#e5e7eb);text-align:center;margin-top:20px;padding-top:16px}.login-modal-alternate p{color:var(--text-secondary,#6b7280);margin:0;font-size:12px}@media (width<=480px){.login-modal{width:95%;margin:16px}.login-modal-header{padding:16px 20px}.login-modal-header h3{font-size:18px}.login-modal-body{padding:20px}.login-modal-actions{flex-direction:column}.login-contact-item{flex-wrap:wrap}.login-contact-email,.login-contact-phone{font-size:13px}}body.modal-open{overflow:hidden}.result-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.result-card{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:700px;max-height:90vh;padding:40px;animation:.5s resultSlideUp;overflow-y:auto;box-shadow:0 20px 40px #0003}@keyframes resultSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.result-icon{margin-bottom:20px;font-size:80px}.result-title{color:#2d3748;margin-bottom:8px;font-size:28px}.result-assessment-title{color:#718096;margin-bottom:24px;font-size:14px}.result-score-circle{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:180px;height:180px;margin:0 auto 32px;display:flex}.result-score-circle.passed{background:linear-gradient(135deg,#48bb78 0%,#38a169 100%)}.result-score-circle.failed{background:linear-gradient(135deg,#f56565 0%,#e53e3e 100%)}.result-score-value{margin-bottom:8px;font-size:48px;font-weight:700}.result-score-label{opacity:.9;font-size:14px}.result-details{text-align:left;background:#f7fafc;border-radius:12px;margin-bottom:24px;padding:20px}.result-detail-item{border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:10px 0;display:flex}.result-detail-item:last-child{border-bottom:none}.result-detail-item.highlight{background:#fef5e7;border-bottom:none;border-radius:0 0 12px 12px;margin:8px -20px -20px;padding:12px 20px}.result-detail-label{color:#4a5568;font-weight:600}.result-detail-value{color:#2d3748;font-weight:500}.passed-text{color:#48bb78;font-weight:700}.failed-text{color:#f56565;font-weight:700}.result-answer-review{text-align:left;border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px}.result-answer-review h3{color:#2d3748;margin:0 0 16px;font-size:18px}.result-toggle-answers-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;width:100%;margin-bottom:16px;padding:12px;font-size:14px;font-weight:500;transition:all .2s}.result-toggle-answers-btn:hover{background:#5a67d8;transform:translateY(-1px)}.result-answers-list{flex-direction:column;gap:16px;max-height:400px;padding-right:8px;display:flex;overflow-y:auto}.result-answers-list::-webkit-scrollbar{width:6px}.result-answers-list::-webkit-scrollbar-track{background:#e2e8f0;border-radius:3px}.result-answers-list::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.result-answers-list::-webkit-scrollbar-thumb:hover{background:#a0aec0}.result-answer-item{background:#f7fafc;border-left:4px solid;border-radius:12px;padding:16px}.result-answer-item.correct{background:#f0fff4;border-left-color:#48bb78}.result-answer-item.incorrect{background:#fff5f5;border-left-color:#f56565}.result-answer-question{color:#2d3748;gap:8px;margin-bottom:8px;font-weight:600;display:flex}.result-question-number{color:#667eea}.result-answer-details{color:#4a5568;padding-left:24px;font-size:13px}.result-answer-details div{margin-top:4px}.result-your-answer{color:#4a5568}.result-correct-answer{color:#48bb78}.result-points-earned{color:#718096;margin-top:8px;font-size:12px}.result-actions{justify-content:center;gap:16px;margin-top:32px;display:flex}.result-btn-primary,.result-btn-secondary{cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.result-btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.result-btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.result-btn-secondary{color:#4a5568;background:#e2e8f0}.result-btn-secondary:hover{background:#cbd5e0;transform:translateY(-2px)}.result-loading-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.result-loading-card{text-align:center;background:#fff;border-radius:20px;min-width:300px;padding:40px}.result-spinner{border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;width:50px;height:50px;margin:0 auto 20px;animation:1s linear infinite resultSpin}@keyframes resultSpin{to{transform:rotate(360deg)}}.result-loading-card p{color:#4b5563;margin:10px 0}.result-loading-note{color:#9ca3af;font-size:12px}.result-error-container{text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.result-error-icon{margin-bottom:16px;font-size:64px}.result-error-container h2{color:#fff;margin-bottom:8px;font-size:28px}.result-error-container p{color:#ffffffe6;margin-bottom:24px}.result-error-actions{justify-content:center;gap:16px;display:flex}.result-error-actions .result-btn-primary{color:#667eea;background:#fff}.result-error-actions .result-btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.result-error-actions .result-btn-secondary{color:#fff;background:#fff3;border:1px solid #fff}.result-error-actions .result-btn-secondary:hover{background:#ffffff4d}@media (width<=640px){.result-card{padding:24px}.result-score-circle{width:140px;height:140px}.result-score-value{font-size:36px}.result-actions{flex-direction:column}.result-actions button{width:100%}.result-answer-details{padding-left:16px}.result-error-actions{flex-direction:column}.result-error-actions button{width:100%}.result-title{font-size:24px}}.progress-page{background:#f5f7fa;min-height:100vh;padding:32px 24px}.progress-container{max-width:1200px;margin:0 auto}.progress-header{text-align:center;margin-bottom:32px}.progress-header h1{color:#1f2937;margin-bottom:8px;font-size:28px;font-weight:700}.progress-header p{color:#6b7280;font-size:14px}.progress-overall-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;margin-bottom:32px;padding:28px 32px;box-shadow:0 1px 3px #0000000d}.progress-overall-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.progress-overall-header h2{color:#1f2937;margin:0;font-size:20px;font-weight:600}.progress-overall-percentage{color:#2563eb;font-size:32px;font-weight:700}.progress-bar-wrapper{margin-bottom:28px}.progress-bar-bg{background:#e5e7eb;border-radius:10px;height:10px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:10px;height:100%;transition:width .3s}.progress-stats-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.progress-stat-card{text-align:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s}.progress-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.progress-stat-value{color:#2563eb;margin-bottom:6px;font-size:28px;font-weight:700}.progress-stat-label{color:#1f2937;margin-bottom:4px;font-size:13px;font-weight:600}.progress-stat-sub{color:#6b7280;font-size:11px}.progress-modules-section{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:28px 32px}.progress-modules-header{border-bottom:1px solid #e5e7eb;margin-bottom:24px;padding-bottom:12px}.progress-modules-header h2{color:#1f2937;margin:0 0 4px;font-size:20px;font-weight:600}.progress-modules-header p{color:#6b7280;margin:0;font-size:13px}.progress-modules-list{flex-direction:column;gap:20px;display:flex}.progress-module-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px;transition:all .3s}.progress-module-card:hover{border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.progress-module-header{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.progress-module-icon{color:#fff;background:linear-gradient(135deg,#2563eb,#60a5fa);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;display:flex}.progress-module-info{flex:1;min-width:180px}.progress-module-info h3{color:#1f2937;margin:0 0 6px;font-size:16px;font-weight:600}.progress-module-meta{color:#6b7280;flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.progress-module-category,.progress-module-difficulty,.progress-module-docs,.progress-module-assessment{background:#f3f4f6;border-radius:20px;padding:2px 8px}.progress-module-assessment{color:#2563eb;background:#dbeafe}.progress-module-status{text-align:right;min-width:100px}.progress-status-completed{color:#fff;background:#10b981;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.progress-status-progress{color:#fff;background:#f59e0b;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.progress-status-pending{color:#fff;background:#9ca3af;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.progress-docs-section,.progress-assessment-section,.progress-overall-section{border-top:1px solid #f3f4f6;margin-top:16px;padding-top:12px}.progress-section-header{color:#4b5563;justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}.progress-section-header strong{color:#1f2937}.progress-assessment-badge{border-radius:20px;margin-top:10px;padding:4px 12px;font-size:11px;font-weight:500;display:inline-block}.progress-assessment-badge.passed{color:#065f46;background:#d1fae5}.progress-assessment-badge.available{color:#1e40af;background:#dbeafe}.progress-assessment-badge.failed{color:#991b1b;background:#fee2e2}.progress-assessment-badge.locked{color:#4b5563;background:#e5e7eb}.progress-continue-btn{text-align:right;color:#2563eb;cursor:pointer;margin-top:16px;font-size:13px;font-weight:500;transition:color .2s}.progress-continue-btn:hover{color:#1d4ed8;text-decoration:underline}.progress-completed-badge{text-align:right;color:#10b981;margin-top:16px;font-size:13px;font-weight:500}.progress-empty-state{text-align:center;padding:60px 20px}.progress-empty-icon{opacity:.6;margin-bottom:16px;font-size:64px}.progress-empty-state h3{color:#1f2937;margin-bottom:8px;font-size:18px;font-weight:600}.progress-empty-state p{color:#6b7280;font-size:14px}.progress-loading-container{background:#f5f7fa;justify-content:center;align-items:center;min-height:100vh;display:flex}.progress-loading-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:20px;min-width:320px;padding:40px;box-shadow:0 4px 12px #0000000d}.progress-spinner{border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:48px;height:48px;margin:0 auto 20px;animation:.8s linear infinite progressSpin}@keyframes progressSpin{to{transform:rotate(360deg)}}.progress-loading-card p{color:#4b5563;margin:8px 0}.progress-loading-note{color:#9ca3af;font-size:12px}.progress-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.progress-error-container{text-align:center;background:#f5f7fa;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.progress-error-icon{margin-bottom:16px;font-size:48px}.progress-error-container h3{color:#1f2937;margin-bottom:8px;font-size:20px;font-weight:600}.progress-error-container p{color:#6b7280;margin-bottom:20px;font-size:14px}.progress-retry-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;padding:10px 28px;font-size:14px;font-weight:500;transition:all .2s}.progress-retry-btn:hover{background:#1d4ed8;transform:translateY(-2px)}@media (width<=900px){.progress-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.progress-page{padding:20px 16px}.progress-header h1{font-size:24px}.progress-overall-card{padding:20px}.progress-overall-header h2{font-size:18px}.progress-overall-percentage{font-size:26px}.progress-stat-value{font-size:22px}.progress-modules-section{padding:20px}.progress-module-header{flex-direction:column}.progress-module-status{text-align:left}.progress-module-icon{width:44px;height:44px;font-size:20px}}@media (width<=640px){.progress-stats-grid{grid-template-columns:1fr;gap:12px}.progress-stat-card{padding:16px}.progress-stat-value{font-size:24px}.progress-module-meta{flex-direction:column;gap:6px}.progress-section-header{flex-direction:column;gap:4px}.progress-docs-section,.progress-assessment-section,.progress-overall-section{margin-top:12px;padding-top:10px}}@media (width<=480px){.progress-page{padding:16px 12px}.progress-header h1{font-size:20px}.progress-header p{font-size:12px}.progress-overall-card{padding:16px}.progress-overall-header{text-align:center;flex-direction:column}.progress-modules-section,.progress-module-card{padding:16px}.progress-module-info h3{font-size:14px}.progress-continue-btn,.progress-completed-badge{text-align:center}}.progress-modules-list::-webkit-scrollbar{width:6px}.progress-modules-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.progress-modules-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.progress-modules-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.progress-module-card:active{transform:scale(.99)}.progress-bar-fill{transition:width .5s ease-in-out}.progress-stat-card,.progress-module-card{animation:.3s progressFadeIn}@keyframes progressFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.progress-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.progress-refresh-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.progress-refresh-btn:hover:not(:disabled){background:#5a67d8;transform:translateY(-1px)}.progress-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.progress-refreshing-indicator{text-align:center;color:#4c51bf;background:#e0e7ff;border-radius:6px;margin-top:16px;padding:8px;font-size:12px;animation:1s infinite pulse}.progress-completed-date{color:#10b981;margin-top:4px;font-size:11px;display:block}
