*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}img,svg,canvas,video{max-width:100%}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}#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}.page-loader-container{background:radial-gradient(circle at 0 0,#3b82f624,#0000 32%),linear-gradient(#fff 0%,#f8fafc 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.page-loader-card{text-align:center;background:#ffffffeb;border:1px solid #e5e7eb;border-radius:16px;width:min(360px,100%);padding:36px 32px;box-shadow:0 20px 45px #0f172a1a}.page-loader{width:92px;height:92px;margin:0 auto 22px;position:relative}.page-loader-ring{border:2px solid #3b82f6;border-color:#3b82f6 #10b981 #dbeafe #dbeafe;border-radius:50%;animation:1.1s linear infinite pageLoaderSpin;position:absolute;inset:0}.page-loader-ring:before,.page-loader-ring:after{content:"";background:#f59e0b;border-radius:50%;width:10px;height:10px;position:absolute}.page-loader-ring:before{top:8px;right:10px}.page-loader-ring:after{background:#10b981;bottom:8px;left:10px}.page-loader-core{color:#2563eb;background:#fff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex;position:absolute;inset:16px;box-shadow:inset 0 0 0 1px #e5e7eb}.page-loader-core svg{width:22px;height:22px}.page-loader-core span{background:#bfdbfe;border-radius:999px;width:28px;height:3px;animation:1.3s ease-in-out infinite pageLoaderPulse}.page-loader-core span:nth-child(3){width:22px;animation-delay:.16s}.page-loader-core span:nth-child(4){width:30px;animation-delay:.32s}.page-loader-card p{color:#1f2937;margin:0 0 8px;font-weight:600}.page-loader-note{color:#6b7280;font-size:12px;font-weight:500}@keyframes pageLoaderSpin{to{transform:rotate(360deg)}}@keyframes pageLoaderPulse{0%,to{opacity:.45;transform:scaleX(.72)}50%{opacity:1;transform:scaleX(1)}}.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{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@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-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}.courses-meta{color:#6b7280;gap:16px;margin:12px 0;font-size:13px;display:flex}.courses-meta-item{align-items:center;gap:6px;display:inline-flex}.courses-meta-item svg{flex-shrink:0}.courses-view-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.courses-view-btn svg{transition:transform .2s}.courses-view-btn:hover{background:#4338ca}.courses-view-btn:hover svg{transform:translate(4px)}.courses-card-image{background:#f3f4f6;height:160px;position:relative;overflow:hidden}.courses-card-image img{transition:transform .3s}.courses-card:hover .courses-card-image img{transform:scale(1.05)}.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-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-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-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}.dashboard-category-filter::-ms-expand{display:none}.dashboard-difficulty-filter::-ms-expand{display:none}.dashboard-filter-group{align-items:center;gap:8px;display:flex}.dashboard-filter-label{color:#4b5563;flex-shrink:0;font-size:14px;font-weight:500}.dashboard-select-wrapper{min-width:150px;position:relative}.dashboard-category-filter,.dashboard-difficulty-filter{color:#111827;cursor:pointer;appearance:none;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;min-width:150px;height:46px;padding:0 42px 0 16px;font-size:14px}.dashboard-category-filter::-ms-expand{display:none}.dashboard-difficulty-filter::-ms-expand{display:none}.dashboard-select-icon{pointer-events:none;color:#6b7280;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.dashboard-select-icon svg{width:16px;height:16px;position:static}.dashboard-category-filter:focus,.dashboard-difficulty-filter:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}@media (width<=768px){.dashboard-main-content{padding:16px}.dashboard-filter-group{flex-direction:column;align-items:stretch;gap:8px;width:100%}.dashboard-select-wrapper{width:100%;min-width:0}.dashboard-category-filter,.dashboard-difficulty-filter{width:100%;min-width:0;height:52px;font-size:15px}.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-courses-grid{grid-template-columns:1fr}.dashboard-courses-header{flex-direction:column;gap:8px}}.dashboard-view-btn{align-items:center;gap:8px;display:flex}.dashboard-view-btn svg{transition:transform .2s}.dashboard-view-btn:hover svg{transform:translate(4px)}.dashboard-meta-icon,.creator-icon{align-items:center;margin-right:4px;display:inline-flex}.dashboard-draft-badge{align-items:center;gap:4px;display:inline-flex}.dashboard-draft-badge svg{width:12px;height:12px}.placeholder-emoji{font-size:32px}.dashboard-user-department,.dashboard-user-designation{color:#fff;align-items:center;gap:6px;margin-top:4px;font-size:14px;display:inline-flex}.dashboard-overall-progress{align-items:center;gap:8px;display:inline-flex}.dashboard-search-box{align-items:center;display:flex;position:relative}.dashboard-search-box svg{color:#9ca3af;position:absolute;left:12px}.dashboard-search-box input{padding-left:38px}.dashboard-create-module-btn,.dashboard-create-btn{align-items:center;gap:8px;display:inline-flex}.dashboard-retry-btn{align-items:center;gap:8px;margin-top:16px;display:inline-flex}.dashboard-error-state{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px;display:flex}.dashboard-empty-state{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;display:flex}.dashboard-user-meta{flex-wrap:wrap;align-items:center;gap:24px;margin-top:10px;display:flex}.dashboard-user-department,.dashboard-user-designation{color:#fff;opacity:.9;align-items:center;gap:6px;margin:0;font-size:14px;display:inline-flex}@media (width<=768px){.dashboard-user-meta{justify-content:center;gap:12px}}.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;min-height:0}.preview-sidebar{border-right:0;border-bottom:1px solid var(--border,#e5e7eb);max-height:240px}.preview-main{min-height:55vh}.document-list-item{padding:10px}.doc-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.upload-label{padding:30px}}@media (width<=480px){.preview-sidebar{max-height:210px;padding:12px}.preview-main{min-height:60vh}.doc-meta{flex-wrap:wrap}}.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}body.mobile-menu-open{overflow:hidden}.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}.navbar-mobile-backdrop{display:none}@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{width:85%;max-width:360px;height:100dvh;padding:70px 18px max(28px, env(safe-area-inset-bottom));z-index:1002;-webkit-overflow-scrolling:touch;background:#fff;flex-direction:column;align-items:stretch;gap:0;transition:right .3s;position:fixed;top:0;right:-100%;overflow-y:auto;box-shadow:-18px 0 40px #0f172a2e}.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:1px solid #e5e7eb;border-radius:12px;margin-top:4px;margin-bottom:8px;padding-left:0;position:static;overflow:hidden}.navbar-dropdown-menu.admin-dropdown,.navbar-dropdown-scrollable{max-height:none;overflow:visible}.navbar-dropdown-item{gap:10px;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:1px solid #e5e7eb;border-radius:12px;margin-top:4px;padding-left:0;position:static;overflow:hidden}.navbar-mobile-backdrop{z-index:1001;cursor:pointer;background:#0f172a7a;border:0;width:100%;height:100dvh;padding:0;display:block;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:64px 14px max(20px, env(safe-area-inset-bottom))}.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:0}.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)}.login-input{padding-right:40px!important}.password-toggle{cursor:pointer;z-index:2;color:#9ca3af;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle:hover{color:#4f46e5}@media (width<=768px){.navbar-links{width:min(86vw,360px);max-width:360px;height:100dvh;padding:72px 18px max(24px, env(safe-area-inset-bottom));z-index:1002;-webkit-overflow-scrolling:touch;background:#fff;flex-direction:column;align-items:stretch;gap:4px;transition:transform .28s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-18px 0 40px #0f172a2e}.navbar-links.mobile-open{transform:translate(0)}.navbar-link,.navbar-dropdown-trigger,.navbar-profile-trigger{width:100%;min-height:48px;color:var(--text,#1f2937);border-radius:12px;justify-content:flex-start;align-items:center;gap:12px;padding:12px 14px;font-size:15px;display:flex}.navbar-link-icon{justify-content:center;align-items:center;width:24px;min-width:24px;display:flex}.navbar-dropdown-arrow{justify-content:center;align-items:center;margin-left:auto;display:flex}.navbar-profile-name{text-align:left;flex:1;min-width:0}.navbar-mobile-backdrop{z-index:1001;background:#0f172a7a;border:0;width:100%;height:100dvh;padding:0;display:block;position:fixed;inset:0}}@media (width<=480px){.navbar-links{width:88vw;max-width:340px;padding:68px 14px max(20px, env(safe-area-inset-bottom))}.mobile-close-btn{top:16px;right:16px}}.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-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}@media (width<=768px){.users-page{padding:16px}.users-header{flex-direction:column;align-items:stretch;gap:16px}.users-create-btn{width:100%}.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}}.meta-tag,.badge{align-items:center;gap:6px;display:inline-flex}.create-button,.btn-primary,.btn-secondary{align-items:center;gap:8px;display:inline-flex}.empty-state svg{color:#9ca3af;margin-bottom:16px}.access-denied-content svg{color:#ef4444;margin-bottom:16px}.toast{z-index:1000;border-radius:8px;align-items:center;gap:10px;padding:12px 20px;animation:.3s slideIn;display:inline-flex;position:fixed;bottom:20px;right:20px}.close-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.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-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;align-items:center;gap:8px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.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-meta-item svg{flex-shrink:0}.my-assessment-best-score{border-radius:12px;flex-direction:column;gap:6px;margin:12px 0;padding:12px 16px;font-size:14px;display:flex}.my-assessment-best-score svg{vertical-align:-3px;margin-right:6px;display:inline-block}.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;align-items:center;gap:4px;font-size:11px;display:flex}.my-assessment-locked-message{color:#92400e;background:#fef3c7;border-radius:8px;align-items:center;gap:8px;margin:12px 0;padding:10px 12px;font-size:13px;display:inline-flex}.my-assessment-buttons{margin-top:20px}.my-assessment-take-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.my-assessment-take-btn:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.my-assessment-take-btn svg{transition:transform .2s}.my-assessment-take-btn:hover svg{transform:translate(2px)}.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;flex-direction:column;align-items:center;gap:16px;padding:60px 40px;display:flex;box-shadow:0 1px 3px #0000000d}.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-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;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.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}}:root{--login-ink:#263868;--login-muted:#263868;--login-soft:#f4f7fb;--login-line:#dbe3ef;--login-primary:#263868;--login-primary-dark:#263868;--login-accent:#eab308;--login-danger:#dc2626;--login-danger-bg:#fef2f2}.login-container{min-height:100vh;color:var(--login-ink);background:#fff;grid-template-columns:minmax(460px,1.05fr) minmax(420px,.95fr);display:grid;overflow:hidden}.login-visual-section{isolation:isolate;background-image:linear-gradient(#0a142433,#0a1424d1),url(/business-people-talking.jpg);background-position:50%;background-size:cover;flex-direction:column;justify-content:space-between;min-height:100vh;padding:44px;display:flex;position:relative}.login-visual-section:after{content:"";z-index:-1;background:linear-gradient(#0a142400,#0a1424bf);height:44%;position:absolute;inset:auto 0 0}.login-brand-pill{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff24;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:12px;width:fit-content;padding:10px 14px;font-size:14px;font-weight:700;display:inline-flex}.login-brand-pill img{object-fit:contain;background:#fff;border-radius:50%;width:28px;height:28px;padding:4px}.login-visual-copy{color:#fff;max-width:680px}.login-eyebrow,.login-kicker{color:var(--login-primary);letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.login-eyebrow{color:#fde68a;margin-bottom:16px}.login-visual-copy h1{color:#fff;max-width:660px;margin:0;font-size:clamp(40px,5vw,68px);font-weight:800;line-height:.98}.login-visual-copy p{color:#ffffffdb;max-width:560px;margin:22px 0 0;font-size:17px;line-height:1.7}.login-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.login-feature{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#ffffff21;border:1px solid #ffffff38;border-radius:8px;flex-direction:column;justify-content:space-between;gap:18px;min-height:128px;padding:18px;display:flex}.login-feature-icon{color:#0f172a;background:#fef3c7;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.login-feature h2{color:#fff;margin:0 0 4px;font-size:15px;font-weight:800}.login-feature p{color:#ffffffc2;margin:0;font-size:13px;line-height:1.45}.login-form-section{background:radial-gradient(circle at 100% 0,#0f766e17,#0000 34%),linear-gradient(#fff,#f8fafc);justify-content:center;align-items:center;min-height:100vh;padding:48px;display:flex;overflow-y:auto}.login-card-wrapper{width:100%;max-width:452px}.login-card{padding:0}.login-header{margin-bottom:32px}.login-logo-mark{border:1px solid var(--login-line);background:#fff;border-radius:8px;justify-content:center;align-items:center;width:200px;height:58px;margin-bottom:24px;display:flex;box-shadow:0 18px 45px #10182814}.login-logo-mark img{object-fit:contain;width:190px;height:100px}.login-title{color:var(--login-ink);margin:10px 0;font-size:36px;font-weight:800;line-height:1.08}.login-subtitle{color:var(--login-muted);margin:0;font-size:15px;line-height:1.6}.login-error{color:var(--login-danger);background:var(--login-danger-bg);border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:22px;padding:13px 14px;font-size:14px;line-height:1.45;display:flex}.login-error-icon{flex:none;margin-top:1px}.login-error-message{flex:1}.login-form{gap:20px;display:grid}.login-form-group{gap:8px;display:grid}.login-label{color:#344054;font-size:14px;font-weight:700}.login-input-wrapper{position:relative}.login-input-icon{color:#98a2b3;pointer-events:none;display:flex;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.login-input{border:1px solid var(--login-line);width:100%;min-height:52px;color:var(--login-ink);font:inherit;background:#fff;border-radius:8px;outline:none;padding:14px 16px 14px 46px;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s}.login-input-password{padding-right:50px}.login-input::placeholder{color:#98a2b3}.login-input:focus{border-color:var(--login-primary);box-shadow:0 0 0 4px #0f766e21}.login-input:disabled{color:#98a2b3;cursor:not-allowed;background:#f8fafc}.password-toggle{color:#98a2b3;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s,color .2s;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{color:var(--login-primary);background:#ecfdf5;outline:none}.login-options{justify-content:space-between;align-items:center;margin-top:-2px;display:flex}.login-checkbox{color:#475467;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.login-checkbox input[type=checkbox]{opacity:0;pointer-events:none;position:absolute}.checkbox-custom{color:#fff;cursor:pointer;background:#fff;border:1.5px solid #b8c2d2;border-radius:5px;justify-content:center;align-items:center;width:19px;height:19px;transition:border-color .2s,background .2s,box-shadow .2s;display:inline-flex}.login-checkbox input[type=checkbox]:checked+.checkbox-custom{border-color:var(--login-primary);background:var(--login-primary)}.login-checkbox input[type=checkbox]:focus-visible+.checkbox-custom{box-shadow:0 0 0 4px #0f766e24}.login-checkbox.disabled{opacity:.6;cursor:not-allowed}.login-checkbox.disabled input,.login-checkbox.disabled .checkbox-custom,.login-checkbox.disabled span{cursor:not-allowed}.login-button{color:#fff;background:var(--login-primary);width:100%;min-height:52px;font:inherit;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:14px 18px;font-size:15px;font-weight:800;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex;box-shadow:0 16px 34px #0f766e38}.login-button:hover:not(:disabled),.login-button:focus-visible:not(:disabled){background:var(--login-primary-dark);outline:none;transform:translateY(-1px);box-shadow:0 18px 40px #0f766e47}.login-button:disabled{cursor:not-allowed;opacity:.72;box-shadow:none}.spinner{animation:.9s linear infinite loginSpin}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-footer{border-top:1px solid var(--login-line);text-align:center;margin-top:28px;padding-top:24px}.login-footer p{color:var(--login-muted);margin:0;font-size:14px}.login-contact-link{color:var(--login-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.login-contact-link:hover,.login-contact-link:focus-visible{color:var(--login-primary-dark);outline:none;text-decoration:underline}.login-contact-info{border:1px solid var(--login-line);background:#f8fafc;border-radius:8px;margin:20px 0;padding:10px}.login-contact-item{color:#475467;border-bottom:1px solid #e7edf5;align-items:center;gap:12px;padding:12px;display:flex}.login-contact-item:last-child{border-bottom:0}.login-contact-icon{width:34px;height:34px;color:var(--login-primary);background:#ccfbf1;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.login-contact-email,.login-contact-phone{color:var(--login-primary);word-break:break-word;font-weight:700;text-decoration:none}.login-contact-email:hover,.login-contact-phone:hover{text-decoration:underline}.login-contact-hours{color:var(--login-muted);font-size:14px}.login-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a8a;justify-content:center;align-items:center;padding:20px;animation:.18s loginFadeIn;display:flex;position:fixed;inset:0}.login-modal{background:#fff;border-radius:8px;width:min(100%,460px);max-height:calc(100vh - 40px);animation:.22s loginModalSlideIn;overflow-y:auto;box-shadow:0 28px 70px #0f172a40}.login-modal-header{border-bottom:1px solid var(--login-line);justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.login-modal-header h3{color:var(--login-ink);margin:0;font-size:20px;font-weight:800}.login-modal-close{color:#667085;cursor:pointer;background:#f2f4f7;border:0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.login-modal-close:hover,.login-modal-close:focus-visible{color:var(--login-ink);background:#e7edf5;outline:none}.login-modal-body{padding:24px}.login-modal-icon{width:52px;height:52px;color:var(--login-primary);background:#ccfbf1;border-radius:8px;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.login-modal-text{max-width:340px;color:var(--login-muted);text-align:center;margin:0 auto 6px;line-height:1.6}.login-modal-alternate{border-top:1px solid var(--login-line);text-align:center;margin-top:18px;padding-top:16px}.login-modal-alternate p{color:var(--login-muted);margin:0;font-size:13px}.login-modal-actions{margin-top:20px}.login-modal-done{color:#fff;background:var(--login-primary);width:100%;min-height:46px;font:inherit;cursor:pointer;border:0;border-radius:8px;font-weight:800}.login-modal-done:hover,.login-modal-done:focus-visible{background:var(--login-primary-dark);outline:none}@keyframes loginFadeIn{0%{opacity:0}to{opacity:1}}@keyframes loginModalSlideIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1100px){.login-container{grid-template-columns:minmax(360px,.85fr) minmax(400px,1fr)}.login-visual-section{padding:32px}.login-feature-grid{grid-template-columns:1fr}}@media (width<=860px){.login-container{background:linear-gradient(#0a14244d,#0a1424c7),url(/business-people-talking.jpg) 50%/cover fixed;min-height:100vh;display:block;overflow-y:auto}.login-visual-section{background:0 0;min-height:auto;padding:24px 20px 0}.login-visual-section:after,.login-visual-copy,.login-feature-grid{display:none}.login-brand-pill{background:#ffffff2e}.login-form-section{background:0 0;min-height:auto;padding:34px 20px 36px}.login-card-wrapper{max-width:500px}.login-card{background:#fffffff0;border:1px solid #ffffff8a;border-radius:8px;padding:28px;box-shadow:0 24px 56px #0f172a47}}@media (width<=520px){.login-brand-pill{font-size:13px}.login-form-section{padding:24px 14px 28px}.login-card{padding:22px 18px}.login-logo-mark{width:52px;height:52px;margin-bottom:20px}.login-title{font-size:28px}.login-header{margin-bottom:26px}.login-input{min-height:50px}.login-options{align-items:flex-start}.login-modal-overlay{padding:12px}.login-modal-header,.login-modal-body{padding:18px}.login-contact-item{align-items:flex-start}}.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 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-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-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-refresh-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.progress-refresh-btn:hover:not(:disabled){background:#5a67d8;transform:translateY(-1px)}.progress-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.progress-refreshing-indicator{color:#4c51bf;background:#e0e7ff;border-radius:6px;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:8px;font-size:12px;display:flex}.progress-refreshing-indicator svg{animation:1s linear infinite spin}.progress-completed-date{color:#10b981;margin-top:4px;font-size:11px;display:block}.progress-status-completed,.progress-status-progress,.progress-status-pending{align-items:center;gap:6px;display:inline-flex}.progress-module-docs{align-items:center;gap:4px;display:inline-flex}.progress-continue-btn{color:#667eea;cursor:pointer;align-items:center;gap:8px;margin-top:12px;font-weight:500;display:inline-flex}.progress-continue-btn svg{transition:transform .2s}.progress-continue-btn:hover svg{transform:translate(4px)}.progress-completed-badge{color:#065f46;background:#d1fae5;border-radius:6px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;font-size:13px;font-weight:500;display:inline-flex}.progress-overall-percentage{color:#667eea;align-items:center;gap:8px;font-size:24px;font-weight:700;display:inline-flex}.progress-error-container{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px;display:flex}.progress-retry-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;display:inline-flex}.progress-empty-state{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px;display:flex}.progress-section-header{color:#6b7280;justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}.progress-section-header svg{margin-right:4px}.progress-spinner{animation:1s linear infinite spin}
