*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;line-height:1.15;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#fff);color:#2d3748;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;margin:0;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6,li,ol,p,ul{margin:0;padding:0}ol,ul{list-style:none}a{color:inherit;text-decoration:none}img{display:block;height:auto;max-width:100%}h1{font-size:2.5rem;font-weight:700;line-height:1.2}h2{font-size:2rem;line-height:1.3}h2,h3{font-weight:600}h3{font-size:1.5rem}h3,h4{line-height:1.4}h4{font-size:1.25rem;font-weight:500}h5{font-size:1rem}h5,h6{font-weight:500;line-height:1.5}h6{font-size:.875rem}::selection{background:#4a90e2;color:#fff}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}:root{--color-primary:#4a90e2;--color-secondary:#f5f7fa;--color-accent:#10b981;--color-text:#2d3748;--color-text-light:#718096;--color-border:#e2e8f0;--color-error:#e53e3e;--color-success:#38a169;--color-warning:#ed8936;--color-bg:#fff;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:3rem;--border-radius-sm:4px;--border-radius-md:8px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 6px #0000001a}.error-boundary{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:400px;padding:20px}.error-boundary-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 32px #0000001a;max-width:500px;padding:40px;text-align:center;width:100%}.error-icon{display:block;font-size:48px;margin-bottom:16px}.error-title{color:#1e293b;font-size:24px;font-weight:600;line-height:1.3;margin:0 0 12px}.error-message{color:#64748b;font-size:16px;line-height:1.5;margin:0 0 24px}.error-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin:20px 0;padding:12px;text-align:left}.error-details summary{color:#475569;cursor:pointer;font-weight:500;margin-bottom:8px}.error-stack{background:#f1f5f9;border-radius:4px;color:#475569;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;margin:8px 0 0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-all}.error-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:20px}.error-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;min-width:120px;padding:12px 24px;text-decoration:none;transition:all .2s ease}.error-btn:disabled{cursor:not-allowed;opacity:.5}.error-btn-primary{background:#3b82f6;color:#fff}.error-btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.error-btn-secondary{background:#f8fafc;border:1px solid #e2e8f0;color:#475569}.error-btn-secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.error-btn-link{background:#0000;border:1px solid #3b82f6;color:#3b82f6}.error-btn-link:hover{background:#3b82f6;color:#fff}.error-btn-outline{background:#0000;border:1px solid #cbd5e1;color:#64748b}.error-btn-outline:hover{background:#f8fafc;color:#475569}.error-additional-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.retry-warning{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;color:#92400e;font-size:14px;line-height:1.4;margin-top:16px;padding:12px 16px}@media (max-width:768px){.error-boundary{min-height:300px;padding:16px}.error-boundary-content{padding:24px 20px}.error-title{font-size:20px}.error-message{font-size:14px}.error-actions{align-items:center;flex-direction:column}.error-btn{max-width:200px;width:100%}.error-additional-actions{align-items:center;flex-direction:column}.error-additional-actions .error-btn{max-width:180px;width:100%}}@media (prefers-color-scheme:dark){.error-boundary{background:linear-gradient(135deg,#0f172a,#1e293b)}.error-boundary-content{background:#1e293b;border-color:#334155}.error-title{color:#f1f5f9}.error-message{color:#cbd5e1}.error-details{background:#0f172a;border-color:#334155}.error-details summary{color:#cbd5e1}.error-stack{background:#0a0e1a;color:#94a3b8}.error-btn-secondary{background:#334155;border-color:#475569;color:#cbd5e1}.error-btn-secondary:hover{background:#475569}.error-btn-outline{border-color:#475569;color:#94a3b8}.error-btn-outline:hover{background:#334155;color:#cbd5e1}.retry-warning{background:#451a03;border-color:#92400e;color:#fbbf24}}@media (prefers-reduced-motion:reduce){.error-btn{transition:none}.error-btn-primary:hover:not(:disabled){transform:none}}@media (prefers-contrast:high){.error-boundary-content{border:2px solid #000}.error-btn{border:2px solid}}.loading-screen{align-items:center;background:linear-gradient(135deg,#4a90e2,#10b981);color:#fff;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.loading-container{animation:fadeInUp .8s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 40px #00000026;margin:0 auto;max-width:400px;padding:35px;text-align:center}.loading-logo{margin-bottom:25px}.logo-circle{height:120px;width:120px}.logo-text{color:#4a90e2;font-size:1.8rem;font-weight:700}.app-name{color:#2d3748!important;font-size:2.2rem;font-weight:600;letter-spacing:-1px;margin:0 0 8px}.app-tagline{color:#4a5568!important;font-size:1rem;font-weight:400;margin:0 0 20px}.loading-message{color:#718096!important;font-size:.9rem;font-weight:400;margin:0 0 25px}.loading-spinner{display:flex;justify-content:center}.spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;width:40px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.loading-container{margin:15px;max-width:320px;padding:25px}.app-name{font-size:1.8rem}.app-tagline{font-size:.9rem}.loading-message{font-size:.8rem}.logo-circle{height:100px;width:100px}.logo-text{font-size:1.5rem}}.welcome-screen{align-items:center;background:linear-gradient(135deg,#4a90e2,#10b981);color:#fff;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity .5s ease-in-out;width:100%;z-index:9998}.welcome-screen.show{opacity:1}.welcome-screen.hide{opacity:0;pointer-events:none}.welcome-content{animation:welcomeSlide .8s ease-out;text-align:center}.welcome-logo{margin-bottom:30px}.logo-circle{align-items:center;animation:pulse 2s infinite;display:flex;height:200px;justify-content:center;margin:0 auto;width:200px}.welcome-title{font-size:3.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:15px}.welcome-message{font-size:1.5rem;margin-bottom:40px;opacity:.9}.welcome-loading{align-items:center;display:flex;flex-direction:column}.loading-dots{display:flex;gap:8px;margin-bottom:15px}.loading-dots span{animation:loadingDots 1.4s infinite both;background:#fff;border-radius:50%;height:12px;width:12px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.welcome-loading p{font-size:1rem;opacity:.8}@keyframes welcomeSlide{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes loadingDots{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (max-width:768px){.welcome-title{font-size:2.8rem}.welcome-message{font-size:1.3rem}}:root{--quiz-primary:#4a90e2;--quiz-success:#10b981;--quiz-error:#ef4444;--quiz-warning:#f59e0b;--quiz-background:#f5f7fa;--quiz-card-bg:#fff;--quiz-border:#e5e7eb;--quiz-shadow:0 4px 6px -1px #0000001a;--quiz-transition:all 0.3s ease}.final-results{align-items:center;background:#f5f7fa;background:var(--quiz-background);display:flex;justify-content:center;min-height:100vh;padding:20px}.final-results-content{background:#fff;background:var(--quiz-card-bg);border-radius:16px;box-shadow:0 10px 25px -5px #0000001a;max-width:500px;padding:40px;text-align:center;width:100%}.time-up-notification{background:#fef3c7;border:2px solid #f59e0b;border:2px solid var(--quiz-warning);border-radius:12px;margin-bottom:30px;padding:20px}.time-up-notification h2{color:#f59e0b;color:var(--quiz-warning);font-size:1.5rem;margin:0 0 10px}.completion-header{margin-bottom:30px}.success-icon{font-size:4rem;margin-bottom:20px}.completion-header h2{color:#4a90e2;color:var(--quiz-primary);font-size:1.8rem;margin:0 0 10px}.score-display{background:#f8fafc;border-radius:12px;margin:30px 0;padding:30px}.score-display h3{font-size:1.3rem;margin:0 0 20px}.score-breakdown{margin-bottom:20px}.score-main{color:#4a90e2;color:var(--quiz-primary);font-size:3rem;font-weight:700;line-height:1}.score-divider{color:#6b7280;margin:0 10px}.score-percentage{color:#10b981;color:var(--quiz-success);font-size:1.5rem;font-weight:600;margin-top:10px}.score-details{text-align:left}.score-details p{color:#374151;margin:8px 0}.time-up-notice{color:#f59e0b!important;color:var(--quiz-warning)!important;font-style:italic}.results-actions{margin-top:30px}.btn-large{font-size:1.1rem;font-weight:600;padding:15px 30px}.assessments-container{margin:0 auto;max-width:1200px;padding:20px}.assessment-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.assessment-card{background:var(--quiz-card-bg);border:2px solid #e5e7eb;border:2px solid var(--quiz-border);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--quiz-shadow);display:flex;flex-direction:column;justify-content:space-between;padding:24px;transition:var(--quiz-transition)}.assessment-card:hover{border-color:#4a90e2;border-color:var(--quiz-primary);box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.assessment-info h3{color:#4a90e2;color:var(--quiz-primary);font-size:1.2em;font-weight:600;margin-bottom:16px}.assessment-details p{align-items:center;display:flex;justify-content:space-between;margin:8px 0}.assessment-details span:first-child{color:#6b7280;font-weight:500}.status.completed{color:#10b981;color:var(--quiz-success);font-weight:600}.status.pending{color:#f59e0b;color:var(--quiz-warning);font-weight:600}.score{color:#10b981;color:var(--quiz-success);font-size:1.1em}.completion-date{color:#6b7280;font-size:.9em}.start-btn{background:#4a90e2;background:var(--quiz-primary);border-radius:8px;color:#fff;font-weight:600;margin-top:16px;padding:12px 24px;transition:all .3s ease;transition:var(--quiz-transition)}.start-btn:hover:not(:disabled){background:#3a7bd5;transform:translateY(-1px)}.start-btn.disabled{background:#9ca3af;cursor:not-allowed}.no-assessments{background:#fff;background:var(--quiz-card-bg);border-radius:12px;margin:20px 0;padding:60px 20px;text-align:center}.help-text{color:#6b7280;margin-top:10px}.quiz-container{margin:0 auto;max-width:900px;padding:20px}.quiz-header{background:#fff;background:var(--quiz-card-bg);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--quiz-shadow);margin-bottom:24px;padding:24px}.quiz-header h2{color:#4a90e2;color:var(--quiz-primary);font-size:1.5em;margin-bottom:16px}.quiz-progress{flex-wrap:wrap;gap:16px;justify-content:space-between}.quiz-progress,.timer{align-items:center;display:flex}.timer{font-weight:600;gap:8px}.time-warning{animation:pulse 1s infinite;color:#ef4444;color:var(--quiz-error)}.progress-info{align-items:center;gap:20px}.score-info{color:#10b981;color:var(--quiz-success);font-weight:600}.question-container{background:#fff;background:var(--quiz-card-bg);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--quiz-shadow);padding:32px}.question-text h3{color:#4a90e2;color:var(--quiz-primary);font-size:1.3em;margin-bottom:16px}.question-text p{color:#374151;font-size:1.1em;line-height:1.6;margin-bottom:24px}.options-container{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.option{align-items:center;background:#fff;border:2px solid #e5e7eb;border:2px solid var(--quiz-border);border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:16px 20px;transition:all .3s ease;transition:var(--quiz-transition)}.option:hover:not(.disabled){background:#f0f9ff}.option.selected,.option:hover:not(.disabled){border-color:#4a90e2;border-color:var(--quiz-primary)}.option.selected{background:#ebf8ff;box-shadow:0 0 0 2px #4a90e233}.option.disabled{cursor:not-allowed;opacity:.6}.option-marker{align-items:center;background:#4a90e2;background:var(--quiz-primary);border-radius:50%;color:#fff;display:flex;font-size:.9em;font-weight:600;height:28px;justify-content:center;width:28px}.option.selected .option-marker{background:#10b981;background:var(--quiz-success)}.option-text{font-size:1em;line-height:1.4}.question-actions{gap:16px;justify-content:space-between;min-height:44px}.feedback-area{flex:1 1}.submit-btn{background:#10b981;background:var(--quiz-success);border-radius:8px;color:#fff;font-size:1em;font-weight:600;padding:14px 28px;transition:all .3s ease;transition:var(--quiz-transition)}.submit-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.inline-feedback{bottom:0;left:0;position:absolute;z-index:10}.question-wrapper{position:relative}.inline-feedback .feedback-message{align-items:center;animation:slideInLeft .3s ease-out;border-radius:6px;display:inline-flex;font-size:.9em;font-weight:500;gap:8px;padding:8px 16px}.inline-feedback .feedback-message.correct{background:#10b9811a;border:1px solid #10b9814d;color:#10b981;color:var(--quiz-success)}.inline-feedback .feedback-message.incorrect{background:#ef44441a;border:1px solid #ef44444d;color:#ef4444;color:var(--quiz-error)}.feedback-text{font-weight:500}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.feedback-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.feedback-modal{animation:scaleIn .3s ease-out;background:#fff;background:var(--quiz-card-bg);border-radius:16px;box-shadow:0 20px 40px #0003;max-width:400px;padding:40px 48px;text-align:center;width:90%}.feedback-modal.correct{border-left:6px solid #10b981;border-left:6px solid var(--quiz-success)}.feedback-modal.incorrect{border-left:6px solid #ef4444;border-left:6px solid var(--quiz-error)}.feedback-icon-large{font-size:4rem;margin-bottom:20px}.feedback-modal .feedback-title{font-size:1.8em;font-weight:600;margin-bottom:16px}.feedback-modal.correct .feedback-title{color:#10b981;color:var(--quiz-success)}.feedback-modal.incorrect .feedback-title{color:#ef4444;color:var(--quiz-error)}.feedback-modal .feedback-message{color:#6b7280;font-size:1.2em;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.feedback-container{animation:slideIn .3s ease-out;background:#fff;background:var(--quiz-card-bg);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--quiz-shadow);padding:48px 32px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.feedback-container.correct{border-left:6px solid #10b981;border-left:6px solid var(--quiz-success)}.feedback-container.incorrect{border-left:6px solid #ef4444;border-left:6px solid var(--quiz-error)}.feedback-icon{align-items:center;border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.correct .feedback-icon{background:#d1fae5;color:#10b981;color:var(--quiz-success)}.incorrect .feedback-icon{background:#fee2e2;color:#ef4444;color:var(--quiz-error)}.feedback-icon svg{height:32px;width:32px}.feedback-title{font-size:1.5em;font-weight:600;margin-bottom:12px}.correct .feedback-title{color:#10b981;color:var(--quiz-success)}.incorrect .feedback-title{color:#ef4444;color:var(--quiz-error)}.feedback-message{color:#6b7280;font-size:1.1em}.thank-you-container{margin:40px auto;max-width:600px;padding:20px}.thank-you-content{background:#fff;background:var(--quiz-card-bg);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--quiz-shadow);padding:48px 32px;text-align:center}.success-icon{align-items:center;background:#d1fae5;border-radius:50%;color:#10b981;color:var(--quiz-success);display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.check-icon{height:40px;width:40px}.thank-you-content h2{color:#4a90e2;color:var(--quiz-primary);font-size:2em;margin-bottom:16px}.completion-message{color:#6b7280;font-size:1.1em;margin-bottom:24px}.score-display{background:#f0f9ff;border-left:4px solid #4a90e2;border-left:4px solid var(--quiz-primary);border-radius:8px;margin:24px 0;padding:20px}.score-display h3{color:#4a90e2;color:var(--quiz-primary);margin-bottom:8px}.next-steps{background:#f9fafb;border-radius:8px;margin:24px 0;padding:20px;text-align:left}.next-steps h4{color:#4a90e2;color:var(--quiz-primary);margin-bottom:12px}.next-steps ul{list-style:none;padding:0}.next-steps li{color:#6b7280;padding:4px 0}.countdown{color:#f59e0b;color:var(--quiz-warning);font-size:1.1em;font-weight:600;margin:24px 0}.action-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:24px 0}.dashboard-btn,.return-btn{border-radius:8px;display:inline-block;font-weight:600;padding:14px 28px;text-decoration:none;transition:all .3s ease;transition:var(--quiz-transition)}.return-btn{background:#4a90e2;background:var(--quiz-primary);color:#fff}.return-btn:hover{background:#3a7bd5}.dashboard-btn{background:#6b7280;color:#fff}.dashboard-btn:hover{background:#4b5563}.additional-info{background:#fffbeb;border-left:4px solid #f59e0b;border-left:4px solid var(--quiz-warning);border-radius:8px;margin-top:24px;padding:16px}.info-text{color:#92400e;font-size:.95em}.error-container{background:#fff;background:var(--quiz-card-bg);border-left:4px solid #ef4444;border-left:4px solid var(--quiz-error);border-radius:12px;padding:32px;text-align:center}.error-container h3{color:#ef4444;color:var(--quiz-error);margin-bottom:16px}.error-help{color:#6b7280;margin:16px 0 8px}.error-container ul{color:#6b7280;margin:16px 0;text-align:left}.back-btn,.retry-btn,.return-btn{border-radius:6px;font-weight:500;margin:8px;padding:10px 20px}.retry-btn{background:#4a90e2;background:var(--quiz-primary);color:#fff}.back-btn{background:#6b7280;color:#fff}.loading{color:#4a90e2;color:var(--quiz-primary);font-size:1.2em;text-align:center}@media (max-width:768px){.assessments-container,.quiz-container,.thank-you-container{padding:16px}.assessment-list{gap:16px;grid-template-columns:1fr}.quiz-progress{align-items:flex-start;flex-direction:column;gap:12px}.question-container{padding:24px 20px}.question-text h3{font-size:1.2em}.option{padding:14px 16px}.thank-you-content{padding:32px 24px}.action-buttons{flex-direction:column}.dashboard-btn,.return-btn{text-align:center;width:100%}}@media (max-width:480px){.question-text p{font-size:1em}.option-text{font-size:.95em}.thank-you-content h2{font-size:1.5em}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.dashboard-btn:focus,.option:focus,.return-btn:focus,.start-btn:focus,.submit-btn:focus{outline:2px solid #4a90e2;outline:2px solid var(--quiz-primary);outline-offset:2px}@media (prefers-contrast:high){:root{--quiz-border:#000;--quiz-shadow:0 2px 4px #0000004d}.option{border-width:3px}}.assessment-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:24px}.assessment-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;position:relative;transition:all .3s ease}.assessment-card:hover{border-color:#4facfe;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-4px)}.card-header{align-items:flex-start;background:linear-gradient(135deg,#4facfe14,#4facfe0a);border-bottom:1px solid #4facfe26;border-radius:12px 12px 0 0;color:#1e3a8a;display:flex;justify-content:space-between;overflow:hidden;padding:20px 24px;position:relative}.card-header:before{background:linear-gradient(90deg,#4facfe,#00f2fe,#10b981);content:"";height:2px;left:0;opacity:.8;position:absolute;top:0;width:100%}.assessment-info-header{flex:1 1;margin-right:16px}.assessment-id-line{align-items:center;color:#4a5568;display:flex;font-size:.85em;font-weight:600;gap:10px;margin-bottom:8px}.assessment-name-line{word-wrap:break-word;color:#1a365d;font-size:1.15em;font-weight:600;line-height:1.3;max-width:320px}.assessment-id{align-items:center;display:flex;flex-wrap:wrap;font-size:1.2em;font-weight:700;gap:12px}.assessment-id .served-badge{animation:pulse 2s infinite;background:#ef444426;border:1px solid #ef44444d;border-radius:6px;color:#dc2626;font-size:.75em;font-weight:600;padding:4px 8px}.assessment-id .permission-badge{background:#4facfe26;border:1px solid #4facfe4d;border-radius:6px;color:#2563eb;font-size:.75em;font-weight:600;padding:4px 8px}.assessment-id .permission-badge.full{background:#10b98126;border-color:#10b9814d;color:#047857}.assessment-id .permission-badge.edit{background:#f59e0b26;border-color:#f59e0b4d;color:#d97706}.card-actions{align-items:center;display:flex;gap:8px}.card-actions .no-permission-message,.card-actions .served-message{background:#10b9811a;border:1px solid #10b98133;border-radius:6px;color:#047857;font-size:.8em;font-weight:500;padding:6px 10px}.card-content{background:#fff;padding:24px}.assessment-title{color:var(--primary-color);font-size:1.3em;font-weight:600;margin-bottom:16px}.assessment-details{margin-bottom:20px}.detail-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px}.detail-row:last-child{border-bottom:none;margin-bottom:0}.detail-row .label{color:var(--text-light);font-weight:500}.detail-row .value{color:var(--text-dark);font-weight:600}.courses-section{border-top:2px solid #f0f0f0;margin-top:20px;padding-top:16px}.courses-section h4{color:var(--primary-color);font-size:1.1em;margin-bottom:12px}.course-list{display:flex;flex-direction:column;gap:8px}.course-item{background:#f8fafc;border-left:4px solid var(--primary-color);border-radius:6px;padding:12px}.course-name{margin-bottom:4px}.course-stats{color:var(--text-light);display:flex;font-size:.9em;gap:16px}.card-footer{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.card-footer,.footer-buttons{flex-wrap:wrap;gap:16px}.footer-buttons{flex-wrap:nowrap;justify-content:flex-start}.footer-action-btn,.footer-buttons{align-items:center;display:flex;gap:4px}.footer-action-btn{background:#4facfe1a;border:none;border-radius:6px;color:#4facfe;cursor:pointer;font-size:.85em;font-weight:500;height:32px;justify-content:center;min-width:110px;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.footer-action-btn:hover:not(:disabled){background:#4facfe33;transform:translateY(-1px)}.results-btn{background:#22c55e1a;color:#16a34a}.results-btn:hover:not(:disabled){background:#22c55e33}.serve-btn{background:#10b9811a;color:#10b981}.serve-btn:hover:not(:disabled){background:#10b98133}.serve-more-btn{background:#10b9811a;color:#10b981}.serve-more-btn:hover:not(:disabled){background:#10b98133}.access-btn{background:#8b5cf61a;color:#8b5cf6}.access-btn:hover:not(:disabled){background:#8b5cf633}.assessment-overview{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:30px;padding:24px}.assessment-overview h3{color:var(--primary-color);font-size:1.2em;margin:0 0 20px}.overview-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:0}.assessment-overview .stat-item{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:20px;text-align:center}.assessment-overview .stat-label{color:#64748b;font-size:.9em;font-weight:500;margin-bottom:8px}.assessment-overview .stat-value{color:#1e293b;font-size:1.4em;font-weight:700}.performance-stats-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;margin-top:20px;padding:24px}.performance-stats-section h3{color:var(--primary-color);font-size:1.2em;margin:0 0 20px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-item{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:20px;text-align:center}.stat-label{color:#64748b;font-size:.9em;font-weight:500;margin-bottom:8px}.stat-value{color:#1e293b;font-size:1.4em;font-weight:700}.results-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;margin-top:20px;padding:24px}.results-section h3{color:var(--primary-color);font-size:1.2em;margin:0 0 20px}.results-table-container{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.results-table{border-collapse:collapse;font-size:.9em;width:100%}.results-table th{background:#f1f5f9;border-bottom:2px solid #e2e8f0;color:#475569;font-weight:600;padding:12px 16px;text-align:left}.results-table td{border-bottom:1px solid #e2e8f0;padding:12px 16px;vertical-align:middle}.results-table tbody tr:hover{background-color:#f8fafc;cursor:pointer}.results-table tbody tr{transition:background-color .2s ease}.student-info{display:flex;flex-direction:column}.student-name{color:#1e293b;font-weight:600;margin-bottom:4px}.student-id{color:#64748b;font-size:.8em}.score{color:var(--primary-color);font-weight:600}.percentage.passing{color:#059669;font-weight:600}.percentage.failing{color:#dc2626;font-weight:600}.completion-date{color:#475569;font-size:.85em}.duration{color:#6b7280;font-weight:500}.student-column{min-width:150px;width:25%}.percentage-column,.score-column{text-align:center;width:15%}.date-column{min-width:180px;width:25%}.duration-column{text-align:center;width:20%}.empty-state-content{padding:40px 20px;text-align:center}.empty-state-content h4{color:var(--primary-color);font-size:1.3em;margin-bottom:12px}.empty-state-content p{color:var(--text-light);line-height:1.5;margin-bottom:16px}.footer-status{align-items:center;display:flex;margin-left:auto}.footer-status .served-status{align-items:center;background:#10b9811a;border:1px solid #10b98133;border-radius:8px;color:#059669;display:flex;font-size:.85em;font-style:normal;font-weight:600;gap:6px;padding:8px 12px;white-space:nowrap}.empty-state{background:var(--quiz-card-bg);border-radius:12px;margin:24px 0}.empty-state h3{color:var(--primary-color);margin-bottom:12px}.empty-state p{color:var(--text-light);margin-bottom:24px}.form-container{background:var(--quiz-card-bg);border-radius:12px;box-shadow:var(--shadow);margin:24px 0;padding:32px}.form-container h3{border-bottom:2px solid #f0f0f0;color:var(--primary-color);font-size:1.4em;margin-bottom:20px;padding-bottom:12px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.progress-indicator{display:flex;gap:24px;justify-content:center;margin-bottom:32px}.step{background:#f1f5f9;border-radius:20px;color:var(--text-light);font-size:.9em;font-weight:500;padding:8px 16px;transition:var(--transition)}.step.completed{background:var(--primary-color);color:#fff}.step.completed:before{content:"✓ ";margin-right:4px}.allocation-summary{grid-gap:16px;background:#f8fafc;border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px;padding:20px}.summary-item{align-items:center;background:#fff;border-radius:6px;display:flex;font-weight:500;justify-content:space-between;padding:8px 12px}.summary-item span:first-child{color:var(--text-light)}.summary-item span:last-child{color:var(--primary-color);font-weight:600}.allocation-complete{background:#f0f9ff;border:2px solid var(--accent-color);border-radius:8px;margin-top:20px;padding:24px;text-align:center}.success-message{color:var(--accent-color);font-size:1.1em;margin-bottom:16px}.selection-progress{background:var(--primary-color);border-radius:8px;color:#fff;font-weight:600;padding:12px 20px;text-align:center}.course-selection{margin-bottom:32px}.course-selection h4{color:var(--primary-color);margin-bottom:16px}.course-buttons{display:flex;flex-wrap:wrap;gap:12px}.questions-container{margin-top:32px}.questions-list{background:#f8fafc;border-radius:8px;gap:16px;max-height:600px;overflow-y:auto;padding:16px}.question-item,.questions-list{display:flex;flex-direction:column}.question-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;position:relative;transition:all .2s ease}.question-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #4a90e226;transform:translateY(-1px)}.question-item.selected{background:#34a85305;border-color:var(--success-color)}.question-content{margin-bottom:16px;width:100%}.question-id{background:var(--primary-color);border-radius:4px;color:#fff;display:inline-block;font-size:.8em;font-weight:600;margin-bottom:8px;padding:4px 8px}.question-text{color:var(--text-dark);font-weight:600;line-height:1.5;margin-bottom:12px}.question-options{grid-gap:8px;color:var(--text-light);display:grid;font-size:.9em;gap:8px;grid-template-columns:1fr 1fr;margin-top:8px}.question-options span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-weight:500;padding:8px 12px}.question-actions{align-items:center;display:flex;justify-content:flex-end}.question-actions .btn{font-weight:600;min-width:150px;transition:all .2s ease}.question-actions .btn-success{background:var(--success-color);border-color:var(--success-color)}.question-actions .btn-success:hover{background:#dc3545;border-color:#dc3545;color:#fff}.question-actions .btn-success:hover:after{content:" (Click to Remove)"}.selection-progress{background:#fff;border:2px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.progress-info{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.progress-text{color:var(--text-dark);font-weight:600}.progress-bar-container{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,var(--primary-color),var(--success-color));height:100%;transition:width .3s ease}.selected-questions-summary{margin-top:16px}.selected-questions-summary details{border:1px solid #e2e8f0;border-radius:8px;padding:12px}.selected-questions-summary summary{color:var(--primary-color);cursor:pointer;font-weight:600;padding:4px 0}.selected-questions-summary summary:hover{color:var(--accent-color)}.selected-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.selected-item{align-items:center;background:#f8fafc;border-radius:6px;display:flex;font-size:.9em;gap:12px;padding:8px 12px}.selected-number{color:var(--primary-color);font-weight:600;min-width:20px}.selected-id{background:var(--primary-color);border-radius:4px;color:var(--text-dark);color:#fff;font-size:.8em;font-weight:600;padding:2px 6px}.selected-preview{color:var(--text-light);flex:1 1}.btn-outline{align-items:center;background:#0000;border:1px solid #dc3545;color:#dc3545;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;width:24px}.btn-outline:hover{background:#dc3545;color:#fff}.finalize-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;margin-top:32px;padding:32px;text-align:center}.finalize-section .success-message{font-size:1.2em;margin-bottom:24px}.btn-success{background:var(--success-color);color:#fff}.btn-success:hover:not(:disabled){background:#2d7a5f;transform:translateY(-1px)}.btn-success:disabled{cursor:not-allowed;opacity:.7}.header-actions{flex-wrap:wrap;gap:12px}.header-actions,.header-btn{align-items:center;display:flex}.header-btn{background:#4facfe1a;border:none;border-radius:6px;color:#4facfe;cursor:pointer;font-size:.9em;font-weight:500;gap:6px;height:36px;justify-content:center;min-width:120px;padding:8px 16px;transition:all .3s ease}.header-btn:hover{background:#4facfe33;transform:translateY(-1px)}.create-btn{background:#10b9811a;border:1px solid #10b9814d;color:#10b981}.create-btn:hover{background:#10b98133;border-color:#10b98180}.refresh-btn{background:#22c55e1a;border:1px solid #22c55e4d;color:#16a34a}.refresh-btn:hover{background:#22c55e33;border-color:#22c55e80}.back-btn{background:#8b5cf61a;border:1px solid #8b5cf64d;color:#8b5cf6}.back-btn:hover{background:#8b5cf633;border-color:#8b5cf680}@media (max-width:768px){.assessment-grid{gap:16px;grid-template-columns:1fr}.form-container{margin:16px 0;padding:20px}.form-row{gap:16px;grid-template-columns:1fr}.progress-indicator{flex-direction:column;gap:12px}.allocation-summary{gap:12px;grid-template-columns:1fr}.course-buttons,.question-item{flex-direction:column}.question-item{align-items:stretch}.question-content{margin-bottom:16px;margin-right:0}.question-options{grid-template-columns:1fr}.card-footer{flex-direction:column;gap:8px}.header-actions{justify-content:center;width:100%}}@media (max-width:480px){.form-container{padding:16px}.progress-indicator{font-size:.8em}.step{padding:6px 12px}.allocation-summary{padding:16px}.questions-list{padding:12px}.question-item{padding:16px}}.form-help{color:#666;display:block;font-size:.85em;font-style:italic;margin-top:4px}.duration-input-group{display:flex;flex-direction:column;gap:8px}.duration-controls{display:flex;gap:8px}.duration-controls .btn{flex:1 1;font-size:.9em;padding:6px 12px}.duration-display{margin-top:4px}.form-input[readonly]{background-color:#f8f9fa;border-color:#e9ecef;color:#6c757d;cursor:not-allowed}select.form-input{-webkit-appearance:auto;appearance:auto;background-image:none;cursor:pointer;padding-right:12px}select.form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.serve-assessment-steps{align-items:center;background:var(--secondary-color);border-radius:var(--border-radius-lg);display:flex;justify-content:center;margin:30px 0;padding:20px;position:relative}.serve-assessment-steps:before{background:#e2e8f0;content:"";height:2px;left:20%;position:absolute;right:20%;top:50%;z-index:1}.step{flex:1 1;flex-direction:column;max-width:200px;position:relative;z-index:2}.step,.step-number{align-items:center;display:flex}.step-number{background:#e2e8f0;border-radius:50%;font-size:1.2rem;font-weight:700;height:50px;justify-content:center;margin-bottom:8px;width:50px}.step-number,.step-title{color:#718096;transition:var(--transition)}.step-title{font-size:.9rem;font-weight:500;text-align:center}.step.active .step-number{background:var(--primary-color);color:#fff}.step.active .step-title{color:var(--text-dark)}.step.completed .step-number{background:var(--success-color);color:#fff}.step.completed .step-title{color:var(--success-color)}.step-content{background:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow);margin:20px 0;padding:30px}.step-content h3{color:var(--text-dark);font-size:1.5rem;margin-bottom:20px}.assessment-details .assessment-card{background:var(--secondary-color);border-radius:var(--border-radius);margin:20px 0;padding:20px}.assessment-details .card-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.assessment-details .card-header h4{color:var(--text-dark);font-size:1.3rem;margin:0}.assessment-id{background:var(--primary-color);border-radius:12px;color:#fff;font-size:.8rem;font-weight:500;padding:4px 12px}.assessment-details .detail-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 0}.assessment-details .detail-row:last-child{border-bottom:none}.assessment-details .label{color:var(--text-light);font-weight:500}.assessment-details .value{color:var(--text-dark);font-weight:600}.cohort-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:20px 0}.cohort-card{background:#fff;border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;padding:20px;position:relative;transition:var(--transition)}.cohort-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow);transform:translateY(-2px)}.cohort-card.selected{background:#ebf8ff;border-color:var(--primary-color);box-shadow:var(--shadow-lg)}.cohort-card.selected:before{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;content:"✓";display:flex;font-size:.8rem;font-weight:700;height:24px;justify-content:center;position:absolute;right:10px;top:10px;width:24px}.cohort-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.cohort-header h4{color:var(--text-dark);font-size:1.1rem;margin:0}.cohort-id{background:#f7fafc;border-radius:8px;color:var(--text-light);font-size:.8rem;padding:2px 8px}.cohort-details .detail-item{align-items:center;display:flex;justify-content:space-between;margin:8px 0}.cohort-details .label{color:var(--text-light);font-size:.9rem}.cohort-details .value{color:var(--text-dark);font-size:.9rem;font-weight:500}.confirmation-details{background:var(--secondary-color);border-radius:var(--border-radius);margin:20px 0;padding:25px}.confirmation-section{border-bottom:1px solid var(--border-color);margin-bottom:25px;padding-bottom:20px}.confirmation-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.confirmation-section h4{color:var(--text-dark);font-size:1.1rem;font-weight:600;margin-bottom:12px}.confirmation-item{color:var(--text-dark);margin:6px 0;padding:8px 0}.confirmation-item strong{color:var(--primary-color)}.students-list{background:#fff;border-radius:var(--border-radius);margin-top:10px;max-height:200px;overflow-y:auto;padding:15px}.student-item{border-bottom:1px solid #f0f0f0;color:var(--text-dark);font-size:.9rem;padding:8px 0}.student-item:last-child{border-bottom:none}.student-item.more-students{color:var(--text-light);font-style:italic;padding:12px 0;text-align:center}.serving-info{background:#fff;border-radius:var(--border-radius);margin-top:10px;padding:15px 20px}.serving-info li{color:var(--text-dark);font-size:.9rem;margin:8px 0}.step-actions{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:30px;padding-top:20px}.step-actions .btn{min-width:120px}.step-actions .btn-lg{font-size:1.1rem;font-weight:600;min-width:250px;padding:16px 32px}.success-container{background:#f0fff4;border:1px solid #9ae6b4;border-radius:var(--border-radius);margin:20px 0;padding:20px;text-align:center}.success-message{color:var(--success-color);font-size:1.1rem;font-weight:600;margin-bottom:10px}.success-container p{color:var(--text-light);margin:0}.error-container{align-items:center;background:#fed7d7;border:1px solid #fc8181;border-radius:var(--border-radius);display:flex;justify-content:space-between;margin:20px 0;padding:20px}.error-message{flex:1 1}.empty-state{color:var(--text-light);padding:60px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:20px}.empty-state h4{color:var(--text-dark);margin-bottom:10px}.empty-state p{margin-bottom:20px}.loading{align-items:center;color:var(--text-light);display:flex;font-size:1.1rem;justify-content:center;padding:60px 20px}@media (max-width:768px){.serve-assessment-steps{flex-direction:column;gap:20px}.serve-assessment-steps:before{display:none}.step{align-items:center;flex-direction:row;gap:15px;max-width:none}.step-number{margin-bottom:0}.cohort-grid{grid-template-columns:1fr}.step-actions{flex-direction:column;gap:15px}.step-actions .btn{width:100%}.assessment-details .card-header,.cohort-header{align-items:flex-start;flex-direction:column;gap:10px}}@media (max-width:480px){.confirmation-details,.step-content{padding:20px}.students-list{padding:10px}}.App{min-height:100vh;text-align:left}:root{--primary-color:#4a90e2;--secondary-color:#f5f7fa;--accent-color:#10b981;--text-dark:#2d3748;--text-light:#718096;--border-color:#e2e8f0;--error-color:#e53e3e;--success-color:#38a169;--shadow:0 4px 6px #0000001a;--shadow-lg:0 10px 25px #0000001a;--border-radius:8px;--border-radius-lg:16px;--transition:all 0.3s ease}.container{margin:0 auto;max-width:1200px;padding:20px}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-family:inherit;font-size:1rem;font-weight:500;justify-content:center;min-height:48px;outline:none;padding:12px 24px;text-decoration:none;transition:all .3s ease;transition:var(--transition)}.btn-primary{background:#4a90e2;background:var(--primary-color);color:#fff}.btn-primary:hover{background:#357abd;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow);transform:translateY(-1px)}.btn-danger{background:#e53e3e;background:var(--error-color);color:#fff}.btn-danger:hover{background:#c53030;transform:translateY(-1px)}.btn-sm{font-size:.875rem;min-height:36px;padding:8px 16px}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.form-label{color:#2d3748;color:var(--text-dark);display:block;font-size:.875rem;font-weight:500;margin-bottom:8px}.form-input{background:#fff;border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);font-family:inherit;font-size:1rem;padding:12px 16px;transition:all .3s ease;transition:var(--transition);width:100%}.form-input:focus{border-color:#4a90e2;border-color:var(--primary-color);box-shadow:0 0 0 3px #4a90e21a;outline:none}.form-input.error{border-color:#e53e3e;border-color:var(--error-color)}.error-message{color:#e53e3e;color:var(--error-color);font-size:.875rem;margin-top:5px}.error-message-dismissible{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;gap:10px;justify-content:space-between;margin-top:8px;padding:12px}.error-content{align-items:flex-start;display:flex;flex:1 1;gap:8px}.error-icon{font-size:16px;margin-top:1px}.error-text{color:#dc2626;flex:1 1;font-size:.875rem;line-height:1.4}.error-dismiss-btn{align-items:center;background:none;border:none;border-radius:4px;color:#dc2626;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:20px;justify-content:center;padding:0;transition:background-color .2s;width:20px}.error-dismiss-btn:hover{background-color:#fee2e2}.hidden{display:none!important}.loading{opacity:.7;pointer-events:none}@media (max-width:768px){.container{padding:15px}.btn{justify-content:center;width:100%}}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:15px;position:relative}.login-page:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='10' cy='10' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.6;position:absolute;right:0;top:0}.login-container{max-width:400px;width:100%}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 40px #00000026;padding:35px;position:relative;z-index:1}.login-header{margin-bottom:30px;text-align:center}.login-logo{align-items:center;animation:pulse 3s infinite;background:#fff;border:2px solid #667eea33;border-radius:20px;display:flex;height:140px;justify-content:center;margin:0 auto 20px;overflow:hidden;width:140px}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #667eea66;transform:scale(1)}50%{box-shadow:0 0 0 10px #667eea00;transform:scale(1.02)}}.login-logo .logo-text{color:#fff;font-size:1.2rem;font-weight:700}.login-title{color:#2d3748;font-size:1.8rem;font-weight:700;margin-bottom:8px}.login-subtitle{color:#718096;font-size:.95rem}.demo-credentials{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;box-shadow:inset 0 1px 3px #0000001a;font-size:.8rem;margin-bottom:20px;padding:12px}.demo-credentials h4{color:#667eea;font-size:.85rem;font-weight:700;margin-bottom:8px;text-align:center}.demo-cred{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 8px;transition:all .2s ease}.demo-cred:hover{background:#667eea1a;border-color:#667eea33;transform:translateX(2px)}.demo-cred strong{color:#2d3748;flex-shrink:0;font-size:.75rem;font-weight:600}.demo-cred-values{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.demo-cred code{background:#667eea1a;border-radius:4px;color:#667eea;font-family:Monaco,Consolas,monospace;font-size:.7rem;font-weight:600;padding:1px 4px;white-space:nowrap}.demo-note{color:#718096;font-size:.7rem;font-style:italic;margin-top:8px;text-align:center}.login-form{margin-top:20px}@media (max-width:768px){.login-page{align-items:flex-start;padding:20px 10px 10px}.login-card{max-height:90vh;overflow-y:auto;padding:25px 18px}.demo-credentials{margin-bottom:15px;padding:10px}.demo-credentials h4{font-size:.8rem;margin-bottom:6px}.demo-cred{align-items:flex-start;flex-direction:column;gap:3px;margin-bottom:3px;padding:5px 6px}.demo-cred strong{font-size:.7rem}.demo-cred-values{gap:4px;justify-content:flex-start}.demo-cred code{font-size:.65rem;padding:1px 3px}.demo-note{font-size:.65rem;margin-top:6px}.login-header{margin-bottom:20px}.login-logo{height:100px;margin-bottom:15px;width:100px}.login-title{font-size:1.5rem}.login-subtitle{font-size:.85rem}}@media (max-width:480px){.login-container{max-width:95%}.login-card{padding:20px 15px}.demo-credentials{padding:8px}.demo-cred{padding:4px 5px}}.password-options{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:15px;text-align:center}.change-password-link,.forgot-password-link{border-bottom:1px solid #0000;color:#667eea;font-size:.9rem;text-decoration:none;transition:all .2s ease}.change-password-link:hover,.forgot-password-link:hover{border-bottom-color:#5a6fd8;color:#5a6fd8}.divider{color:#cbd5e1;font-size:.9rem}.message{border:1px solid;border-radius:8px;font-size:.9rem;line-height:1.4;margin:16px 0;padding:12px 16px}.message.success{background:#ecfdf5;border-color:#10b981;color:#065f46}.message.error{background:#fef2f2;border-color:#ef4444;color:#dc2626}.message.info{background:#eff6ff;border-color:#3b82f6;color:#1e40af}.form-group{margin-bottom:20px}.form-group label{color:#374151;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.form-group input.error{background-color:#fef2f2;border-color:#ef4444}.form-group input.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-message{color:#ef4444;font-size:.75rem;font-weight:500;margin-top:4px}.form-group small{color:#6b7280;display:block;font-size:.75rem;font-style:italic;margin-top:4px}.radio-option{border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;margin:10px 0;padding:12px;transition:all .2s ease}.radio-option:hover{background-color:#f8fafc;border-color:#667eea}.radio-option label{align-items:center;cursor:pointer;display:flex;font-weight:500;margin:0}.radio-option input[type=radio]{margin-bottom:0;margin-right:10px}.radio-option input[type=radio]:checked+span{color:#667eea;font-weight:600}.radio-option:has(input:checked){background-color:#f0f9ff;border-color:#667eea}.message ul{margin:10px 0;padding-left:20px}.message li{line-height:1.4;margin:5px 0}.role-selection-modal{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.role-selection-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-width:400px;padding:30px;text-align:center;width:90%}.role-selection-content h3{color:#2d3748;font-size:1.3rem;font-weight:600;margin-bottom:15px}.role-selection-content p{color:#718096;line-height:1.5;margin-bottom:25px}.role-options{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}.role-option-btn{background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:16px;text-align:left;transition:all .2s ease;width:100%}.role-option-btn:hover{background:#f8fafc;border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.role-info{display:flex;flex-direction:column;gap:4px}.role-title{color:#2d3748;font-size:1rem;font-weight:600}.role-name{color:#718096;font-size:.85rem}.role-selection-actions{display:flex;gap:12px;justify-content:center}@media (max-width:480px){.role-selection-content{margin:20px;padding:25px 20px}.role-selection-content h3{font-size:1.1rem}.role-option-btn{padding:14px}.role-title{font-size:.9rem}.role-name{font-size:.8rem}}.not-found-page{align-items:center;background:linear-gradient(135deg,#f5f7fa,#fff);display:flex;justify-content:center;min-height:100vh;padding:20px}.not-found-container{max-width:600px;text-align:center;width:100%}.not-found-content{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 25px #0000001a;padding:50px 40px;position:relative}.not-found-icon{animation:bounce 2s infinite;font-size:4rem;margin-bottom:20px}.not-found-title{color:#2d3748;font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:15px}.not-found-message{color:#718096;font-size:1.1rem;line-height:1.6;margin-bottom:30px;margin-left:auto;margin-right:auto;max-width:400px}.user-info-banner{align-items:center;background:#ebf8ff;border:1px solid #90cdf4;border-radius:8px;color:#2b6cb0;display:inline-flex;font-size:.9rem;gap:10px;margin-bottom:25px;padding:10px 16px}.user-avatar-small{align-items:center;background:#4a90e2;border-radius:50%;color:#fff;display:flex;font-size:.8rem;font-weight:700;height:30px;justify-content:center;width:30px}.suggestions-section{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:30px;padding:20px}.suggestions-section h3{color:#2d3748;font-size:1.1rem;margin-bottom:15px}.suggestions-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.suggestion-link{background:#4a90e2;border-radius:6px;color:#fff;display:inline-block;font-size:.875rem;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .3s ease}.suggestion-link:hover{background:#357abd;box-shadow:0 4px 8px #4a90e24d;transform:translateY(-1px)}.not-found-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:30px}.not-found-actions .btn{border:none;cursor:pointer;font-family:inherit;min-width:140px;text-decoration:none}.help-section{background:#fffbeb;border:1px solid #f6d55c;border-radius:12px;margin-bottom:20px;padding:20px;text-align:left}.help-section h4{color:#b7791f;font-size:1rem;margin-bottom:10px}.help-section p{color:#744210;font-size:.9rem;margin-bottom:15px}.help-list{list-style:none;margin:0;padding:0}.help-list li{color:#744210;font-size:.875rem;margin-bottom:5px;padding-left:20px;position:relative}.help-list li:before{color:#38a169;content:"✓";font-weight:700;left:0;position:absolute}.error-footer{border-top:1px solid #e2e8f0;margin-top:15px;padding-top:15px}.error-footer small{color:#a0aec0;font-family:Monaco,Consolas,monospace;font-size:.75rem;line-height:1.4}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width:768px){.not-found-content{margin:10px;padding:40px 30px}.not-found-title{font-size:2rem}.not-found-message{font-size:1rem}.not-found-actions{align-items:center;flex-direction:column}.not-found-actions .btn{max-width:250px;width:100%}.suggestions-list{flex-direction:column}.suggestion-link{width:100%}.help-section,.suggestion-link{text-align:center}.help-list{text-align:left}}@media (max-width:480px){.not-found-page{padding:10px}.not-found-content{padding:30px 20px}.not-found-icon{font-size:3rem}.not-found-title{font-size:1.7rem}.user-info-banner{flex-direction:column;gap:8px}}@media (prefers-color-scheme:dark){.not-found-content{background:#2d3748;border-color:#4a5568;color:#f7fafc}.not-found-title{color:#f7fafc}.not-found-message{color:#cbd5e0}.suggestions-section{background:#4a5568;border-color:#718096}.help-section{background:#744210;border-color:#b7791f}.error-footer{border-color:#4a5568}}@media (prefers-contrast:high){.not-found-content{border:2px solid #000}.btn,.suggestion-link{border:2px solid}}