*,: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}.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}.loading-logo{margin-bottom:30px}.logo-text{color:#4a90e2;font-size:1.8rem;font-weight:700}.app-name{background:#fffffff2;border-radius:8px;color:#2d3748!important;display:inline-block;font-size:3rem;font-weight:600;letter-spacing:-1px;margin-bottom:10px;padding:10px 20px}.app-tagline{background:#ffffffe6;border-radius:6px;color:#4a5568!important;font-size:1.3rem;margin-bottom:30px;padding:8px 16px}.app-tagline,.loading-message{display:inline-block;font-weight:400}.loading-message{background:#fffc;border-radius:4px;color:#718096!important;font-size:1.1rem;margin-bottom:20px;padding:6px 12px}.loading-spinner{display:flex;justify-content:center}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;height:40px;width:40px}@media (max-width:768px){.app-name{font-size:2.5rem}.app-tagline{font-size:1.1rem}.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}}.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}.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}}.dashboard{background:linear-gradient(135deg,#f5f7fa,#fff);min-height:100vh}.dashboard-header{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px #0000001a;justify-content:space-between;margin-bottom:30px;padding:30px}.dashboard-header,.user-info{align-items:center;display:flex}.user-info{gap:20px}.user-avatar{align-items:center;background:#4a90e2;border-radius:50%;box-shadow:0 4px 8px #4a90e24d;color:#fff;display:flex;font-size:2rem;font-weight:700;height:80px;justify-content:center;width:80px}.user-details{flex:1 1}.user-name{color:#2d3748;font-size:1.8rem;font-weight:700;margin-bottom:5px}.user-role{color:#718096;font-size:1rem}.menu-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.menu-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 6px #0000001a;cursor:pointer;overflow:hidden;padding:25px;position:relative;transition:all .3s ease}.menu-card:hover{border-color:#4a90e2;box-shadow:0 10px 25px #0000001a;transform:translateY(-2px)}.menu-card:before{background:#10b981;content:"";height:4px;left:0;position:absolute;top:0;width:100%}.menu-card.coming-soon{cursor:not-allowed;opacity:.7}.menu-card.coming-soon:hover{border-color:#0000;transform:none}.menu-icon{display:block;font-size:2.5rem;margin-bottom:15px}.menu-title{color:#2d3748;font-size:1.2rem;font-weight:700;margin-bottom:8px}.menu-description{color:#718096;font-size:.9rem;line-height:1.5}.coming-soon-badge{background:#10b981}.header-actions{gap:10px;position:relative;z-index:10}.header-actions .btn{cursor:pointer;pointer-events:auto;position:relative;z-index:10}.loading-container{padding:60px 20px;text-align:center}.loading-spinner{border:4px solid #e2e8f0;height:50px;width:50px}.error-container{padding:40px 20px}.error-message{background:#fff;border:1px solid #fed7d7;border-radius:16px;box-shadow:0 4px 6px #0000001a;margin:0 auto;max-width:500px;padding:40px}.error-message h3{color:#e53e3e;margin-bottom:15px}.error-message p{color:#718096;margin-bottom:25px}.error-actions{gap:15px}.empty-state{padding:80px 20px}.empty-state-content{background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000001a;margin:0 auto;max-width:500px;padding:60px 40px}.empty-state-content h3{color:#2d3748;font-size:1.5rem;margin-bottom:15px}.empty-state-content p{color:#718096;line-height:1.6;margin-bottom:15px}.assessment-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:30px}.stat-card{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000001a;text-align:center}.stat-number{color:#4a90e2;font-size:2rem}.stat-label{color:#2d3748;font-size:.9rem;letter-spacing:.5px}.assessment-grid .menu-card{cursor:default}.assessment-card{height:100%}.assessment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.assessment-icon{font-size:2rem}.status-badge{align-items:center;border-radius:20px;display:flex;font-size:.8rem;gap:5px;letter-spacing:.5px;padding:6px 12px}.status-completed{background:#c6f6d5;color:#22543d}.status-in-progress{background:#fed7af;color:#c05621}.status-not-started{background:#edf2f7;color:#4a5568}.assessment-info{flex:1 1;margin-bottom:20px}.assessment-title{color:#2d3748;font-size:1.2rem;font-weight:700;line-height:1.3;margin-bottom:8px}.assessment-description{color:#718096;font-size:.9rem;line-height:1.5;margin-bottom:15px}.detail-row{border-bottom:1px solid #e2e8f0;padding:8px 0}.detail-label{color:#718096;font-size:.9rem;font-weight:500}.detail-value{color:#2d3748;font-weight:600}.score-row{background:#f7fafc;border:none;border-radius:8px;margin-top:10px;padding:12px}.score-value{color:#4a90e2;font-size:1.1rem;font-weight:700}.assessment-actions{margin-top:auto}.btn{gap:8px}.btn-block{width:100%}.btn-primary:hover:not(:disabled){background:#357abd}.btn-secondary{background:#718096}.btn-secondary:hover:not(:disabled){background:#4a5568}.btn-outline{background:#0000;border:2px solid #4a90e2;color:#4a90e2}.btn-outline:hover:not(:disabled){background:#4a90e2;color:#fff}.btn-danger{position:relative;z-index:10}.btn-danger:hover:not(:disabled){background:#c53030}.btn-sm{font-size:.8rem}.btn-start{background:#10b981;color:#fff}.btn-start:hover:not(:disabled){background:#059669}.btn-resume{background:#f59e0b;color:#fff}.btn-resume:hover:not(:disabled){background:#d97706}.btn-view-results{background:#6366f1;color:#fff}.btn-view-results:hover:not(:disabled){background:#4f46e5}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:20px;padding:20px;text-align:center}.user-info{flex-direction:column;gap:15px}.user-avatar{height:60px;width:60px}.user-avatar,.user-name{font-size:1.5rem}.menu-grid{gap:15px;grid-template-columns:1fr}.menu-card{padding:20px}.header-actions{flex-direction:column;gap:8px}.assessment-stats{gap:15px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:20px}.stat-number{font-size:1.5rem}.empty-state-content{padding:40px 20px}.assessment-header,.error-actions{flex-direction:column}.assessment-header{align-items:center;gap:10px}.status-badge{align-self:flex-end}}.menu-card.main-module{background:linear-gradient(135deg,#4a90e2,#667eea);border:2px solid #4a90e2;color:#fff;overflow:hidden;position:relative;transform:scale(1.02)}.menu-card.main-module:before{background:linear-gradient(45deg,#ffffff1a,#0000 50%);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.menu-card.main-module .menu-title{color:#fff;font-size:1.3rem;text-shadow:0 1px 2px #0000001a}.menu-card.main-module .menu-description{color:#ffffffe6;text-shadow:0 1px 2px #0000001a}.menu-card.main-module:hover{background:linear-gradient(135deg,#357abd,#5a6fd8);box-shadow:0 12px 25px #4a90e266;transform:scale(1.05)}.menu-card.main-module:after{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;color:#fff;content:"⭐ PRIMARY";font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:4px 8px;position:absolute;right:10px;text-transform:uppercase;top:10px}.unified-dashboard{background:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;margin-bottom:20px;overflow:hidden;padding:20px;position:relative}.curriculum-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:30px;overflow:hidden}.tabs-container{display:flex;flex-direction:column}.curriculum-tab{background:#fff;border:none;border-bottom:1px solid #e9ecef;cursor:pointer;padding:0;text-align:left;transition:all .3s ease}.curriculum-tab:last-child{border-bottom:none}.curriculum-tab:hover{background:#f8f9fa;transform:translateX(2px)}.curriculum-tab.active{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #1976d2;color:#1976d2}.curriculum-tab.active .tab-content{color:#1976d2}.tab-content{align-items:center;display:flex;gap:15px;padding:20px}.tab-icon{font-size:24px;min-width:40px}.tab-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.tab-name{font-size:18px;font-weight:600;margin:0}.tab-description{font-size:14px;margin:0;opacity:.8}.tab-progress{align-items:center;display:flex;gap:10px;min-width:120px}.mini-progress-bar{background:#0000001a;border-radius:3px;height:6px;overflow:hidden;width:60px}.curriculum-tab.active .mini-progress-bar{background:#1976d233}.mini-progress-fill{background:#28a745;border-radius:3px;height:100%;transition:width .3s ease}.curriculum-tab.active .mini-progress-fill{background:#1976d2}.tab-stats{min-width:80px;text-align:right}.course-count{font-size:12px;opacity:.8}.active-curriculum-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:30px;overflow:hidden}.curriculum-content{padding:0}.single-curriculum-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;padding:30px}.curriculum-title{align-items:center;display:flex;gap:15px;margin-bottom:10px}.curriculum-icon{font-size:32px}.curriculum-title h2{color:#495057;font-size:28px;font-weight:700;margin:0}.curriculum-description{color:#6c757d;font-size:16px;margin:0 0 20px}.curriculum-progress{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.courses-grid{padding:20px}.empty-courses{color:#6c757d;padding:60px 20px;text-align:center}.empty-courses .empty-icon{font-size:48px;margin-bottom:15px}.empty-courses h3{color:#495057;margin-bottom:10px}@media (min-width:768px){.tabs-container{flex-direction:row}.curriculum-tab{border-bottom:none;border-right:1px solid #e9ecef;flex:1 1}.curriculum-tab:last-child{border-right:none}.curriculum-tab:hover{transform:translateY(-2px)}.tab-content{flex-direction:column;padding:25px 15px}.tab-content,.tab-info{text-align:center}.tab-progress{justify-content:center}.tab-stats{text-align:center}}.dashboard-header: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='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' 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:.3;position:absolute;right:0;top:0}.header-navigation{margin-bottom:15px;position:relative;z-index:2}.btn-back{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:20px;padding:8px 16px;transition:all .3s ease}.btn-back:hover{background:#ffffff4d;box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.header-content{margin-bottom:20px;position:relative;text-align:center;z-index:2}.header-content h1{font-size:2.2rem;font-weight:700;margin-bottom:8px;text-shadow:0 2px 4px #0000004d}.header-content p{font-size:1.1rem;margin:0;opacity:.9}.header-stats{display:flex;gap:30px;justify-content:center;position:relative;z-index:2}.stat-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:10px;padding:15px 20px;text-align:center}.stat-number{display:block;font-size:1.8rem;margin-bottom:5px}.stat-label{color:#fff!important;display:block;font-size:.85rem;letter-spacing:.8px;text-shadow:0 1px 2px #00000080;text-transform:uppercase}.hierarchy-container{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:20px;overflow:hidden}.hierarchy-item{border-bottom:1px solid #e9ecef;transition:all .2s ease}.hierarchy-item:last-child{border-bottom:none}.hierarchy-item:hover{background-color:#f8f9fa;transform:translateX(2px);transition:all .2s ease}.item-header{cursor:pointer;justify-content:space-between;padding:12px 20px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.item-header,.item-info{align-items:center;display:flex}.item-info{flex:1 1;gap:10px}.expand-icon{color:#6c757d;font-size:12px;min-width:12px;transition:transform .2s ease}.expand-icon.expanded{transform:rotate(90deg)}.item-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:20px;min-width:20px}.item-details{flex:1 1}.item-name{color:#2c3e50;font-weight:600;margin:0 0 2px}.item-description{color:#6c757d;font-size:.85rem;line-height:1.3;margin:0 0 4px}.curriculum-item{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;margin-bottom:2px}.curriculum-item .item-name{color:#fff;font-size:1.2rem}.curriculum-item .item-description{color:#ffffffe6}.curriculum-item:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190)}.course-item{background:#fff;border-left:4px solid #4a90e2;margin-left:20px}.course-item .item-name{color:#4a90e2;font-size:1.05rem}.concept-item{background:#fafbfc;border-left:4px solid #28a745;margin-left:40px}.concept-item .item-name{color:#28a745;font-size:1rem}.subconcept-item{background:#f8f9fa;border-left:4px solid #ffc107;margin-left:60px;padding:6px 12px}.subconcept-item .item-name{color:#856404;font-size:.9rem}.progress-container{align-items:center;display:flex;gap:8px;margin-top:4px}.progress-bar{background-color:#e9ecef;max-width:150px;min-width:80px}.progress-text{min-width:32px;text-align:right}.progress-excellent .progress-fill{background:linear-gradient(90deg,#28a745,#20c997)}.progress-good .progress-fill{background:linear-gradient(90deg,#17a2b8,#6f42c1)}.progress-average .progress-fill{background:linear-gradient(90deg,#ffc107,#fd7e14)}.progress-needs-work .progress-fill{background:linear-gradient(90deg,#dc3545,#e83e8c)}.concept-meta,.course-meta,.curriculum-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.completion-stats{background:#e9ecef;color:#6c757d;font-size:.75rem;font-weight:500}.completion-stats,.mastery-badge{border-radius:8px;padding:1px 6px}.mastery-badge{background:linear-gradient(135deg,gold,#ffed4e);color:#856404;font-size:.7rem;font-weight:600}.item-actions{align-items:center;display:flex;gap:6px}.btn{border-radius:4px;font-size:.75rem;gap:3px;padding:6px 12px}.btn-study{background:linear-gradient(135deg,#17a2b8,#20c997);color:#fff}.btn-study:hover{background:linear-gradient(135deg,#138496,#1a9f86);box-shadow:0 4px 8px #17a2b84d;transform:translateY(-1px)}.btn-quiz{background:linear-gradient(135deg,#fd7e14,#ffc107);color:#fff}.btn-quiz:hover{background:linear-gradient(135deg,#e8680e,#e6ac00);box-shadow:0 4px 8px #fd7e144d;transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#4a90e2,#667eea)}.btn-primary:hover{background:linear-gradient(135deg,#357abd,#5a6fd8);box-shadow:0 4px 8px #4a90e24d}.concepts-container,.courses-container,.subconcepts-container{background:#f8f9fa;border-top:1px solid #e9ecef}.subconcept-item{background:#fff;border-left:2px solid #dee2e6;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:8px;margin-left:40px}.subconcept-item .item-header{padding:15px 20px}.subconcept-item .item-name{color:#495057;font-size:16px;font-weight:600;margin:0 0 5px}.subconcept-item .item-description{color:#6c757d;font-size:14px;margin:0 0 10px}.subconcept-meta{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:10px}.duration-info{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:12px;font-weight:500;padding:2px 8px}.content-info{border-left:3px solid #28a745;border-radius:6px;margin-top:8px;padding:8px 12px}.content-count{color:#6c757d;display:block;font-size:12px;font-weight:500;margin-bottom:5px}.content-types{display:flex;flex-wrap:wrap;gap:8px}.content-type{background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:11px;font-weight:500;padding:2px 6px}.content-type.vid{background:#fff3cd;border-color:#ffeaa7;color:#856404}.content-type.pdf{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.subconcept-item:hover{box-shadow:0 2px 8px #00000026;transform:translateX(3px)}.unified-dashboard.loading{align-items:center;display:flex;justify-content:center;min-height:60vh}.loading-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:40px;text-align:center}.unified-dashboard.error{align-items:center;display:flex;justify-content:center;min-height:60vh}.error-content{background:#fff;border:2px solid #dc3545;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:40px;text-align:center}.error-content p{margin-bottom:20px}@media (max-width:768px){.unified-dashboard{padding:10px}.dashboard-header h1{font-size:2rem}.item-header{align-items:flex-start;flex-direction:column;gap:15px}.item-actions{justify-content:flex-end;width:100%}.concept-meta,.course-meta,.curriculum-meta{align-items:flex-start;flex-direction:column;gap:8px}.progress-container{width:100%}.progress-bar{max-width:none}.course-item{margin-left:10px}.concept-item{margin-left:20px}.subconcept-item{margin-left:30px}}.empty-state{color:#6c757d}.empty-icon{opacity:.7}.empty-state h3{color:#495057;margin-bottom:15px}.empty-state p{font-size:1rem;line-height:1.5;margin-bottom:25px}.footer-navigation{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:15px;justify-content:center;padding:20px}.btn-outline-primary{align-items:center;background:#0000;border:2px solid #667eea;border-radius:8px;color:#667eea;display:inline-flex;font-weight:600;gap:8px;padding:12px 20px;text-decoration:none;transition:all .3s ease}.btn-outline-primary:hover{background:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff;transform:translateY(-2px)}.btn{font-weight:600;gap:6px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);padding:12px 20px}.btn-primary:hover{box-shadow:0 4px 15px #667eea66}.btn-secondary{padding:10px 16px}.btn-secondary:hover{transform:translateY(-1px)}@media (max-width:768px){.header-stats{gap:20px}.stat-item{padding:12px 16px}.stat-number{font-size:1.5rem}.header-content h1{font-size:1.8rem}.footer-navigation{align-items:center;flex-direction:column}.btn-outline-primary{justify-content:center;max-width:250px;width:100%}}@media (max-width:480px){.btn{font-size:.8rem;padding:6px 12px}.item-name{font-size:1rem!important}.header-content h1{font-size:1.6rem}.header-stats{flex-direction:column;gap:15px}.stat-item{margin:0 auto;max-width:200px}}.study-component{background:#f8f9fa;display:flex;flex-direction:column;height:100vh;overflow:hidden}.study-header{background:orange!important;border-bottom:1px solid #e9ecef;box-shadow:none!important;flex-shrink:0;height:30px!important;justify-content:space-between;max-height:30px!important;min-height:30px!important;padding:3px 10px!important}.header-left,.study-header{align-items:center;display:flex}.header-left{flex:1 1;gap:8px}.btn-back{border-radius:4px;font-size:.8rem;gap:3px;padding:4px 8px;transition:background .2s ease}.content-info{flex:1 1}.content-title{color:#2c3e50;font-size:.95rem;font-weight:600;line-height:1.2;margin:0}.breadcrumb{align-items:center;color:#6c757d;display:flex;font-size:.75rem;gap:4px;line-height:1}.separator{color:#adb5bd}.concept-name,.subconcept-name{color:#495057}.header-right{align-items:center;display:flex}.progress-circle,.progress-indicator{position:relative}.progress-circle{align-items:center;display:flex;justify-content:center}.progress-ring{transform:rotate(-90deg)}.progress-ring-circle,.progress-ring-fill{transition:stroke-dashoffset .3s ease}.progress-text{color:#495057;font-size:.8rem;font-weight:600;position:absolute}.study-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.study-navigation{align-items:center;background:#add8e6!important;border-top:1px solid #e9ecef;display:flex;flex-shrink:0;height:30px!important;justify-content:space-between;max-height:30px!important;min-height:30px!important;padding:3px 10px!important}.nav-info{color:#6c757d;display:flex;font-size:.8rem;gap:15px}.nav-controls{display:flex;gap:10px}.btn-nav{background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem!important;height:17px!important;padding:4px 12px!important;transition:background .2s ease}.btn-nav:hover:not(:disabled){background:#357abd}.btn-nav:disabled{background:#adb5bd;cursor:not-allowed}.study-component.error,.study-component.loading{align-items:center;justify-content:center}.error-content,.loading-content{border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:400px;padding:40px}.loading-spinner{border:4px solid #e9ecef;border-top-color:#4a90e2;margin:0 auto 20px}.error-content h3{margin-bottom:15px}.error-actions{gap:10px;margin-top:20px}.video-player{display:flex;flex:1 1;flex-direction:column}.video-container{align-items:center;background:#000;display:flex;height:calc(100vh - 60px);justify-content:center}.video-element{height:80%;max-height:calc(100vh - 120px);object-fit:contain;transform:translateY(-20px);width:80%}.video-loading{color:#fff;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.video-controls{background:#000000e6;bottom:35px;display:block!important;height:30px!important;left:0;min-height:30px!important;opacity:1!important;padding:5px 10px;position:absolute;right:0;transition:opacity .3s ease;z-index:100}.video-controls.hide{opacity:1!important;pointer-events:all!important}.video-controls.show{opacity:1!important}.progress-container{background:#ffffff4d;border-radius:3px;cursor:pointer;height:6px;margin-bottom:8px;position:relative;width:100%}.progress-buffer{background:#ffffff80}.progress-buffer,.progress-played{border-radius:3px;height:100%;position:absolute}.progress-handle,.progress-played{background:#4a90e2}.progress-handle{border-radius:50%;height:14px;position:absolute;top:-4px;transform:translateX(-50%);width:14px}.controls-row{align-items:center;display:flex;justify-content:space-between}.controls-left,.controls-right{align-items:center;display:flex;gap:15px}.control-btn{background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:background .2s ease}.control-btn:hover{background:#ffffff4d}.play-btn{font-size:1.2rem;padding:10px 15px}.volume-control{align-items:center;display:flex;gap:8px}.volume-slider{width:80px}.time-display{color:#fff;font-family:monospace;font-size:.9rem}.speed-select{background:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;padding:4px 8px}.center-play-btn{cursor:pointer;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.play-circle{align-items:center;background:#000000b3;border-radius:50%;color:#fff;display:flex;font-size:2rem;height:80px;justify-content:center;transition:transform .2s ease;width:80px}.play-circle:hover{transform:scale(1.1)}.pdf-viewer{display:flex;flex:1 1;flex-direction:column}.pdf-controls{background:#fff;border-bottom:1px solid #e9ecef;justify-content:space-between;min-height:40px;padding:8px 15px}.page-info,.pdf-controls{align-items:center;display:flex}.page-info{gap:8px}.page-input{border:1px solid #ced4da;border-radius:4px;padding:4px 8px;text-align:center;width:60px}.pdf-container{flex:1 1;overflow:hidden;position:relative}.pdf-frame{border:none;height:100%;width:100%}.pdf-loading{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.reading-stats{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;font-size:.85rem;gap:15px;padding:6px 15px}.stat-item{display:flex;font-size:.9rem;gap:5px}.stat-label{color:#6c757d}.stat-value{color:#495057;font-weight:600}.presentation-viewer{display:flex;flex:1 1;flex-direction:column}.presentation-controls{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;min-height:40px;padding:8px 15px}.slide-info{align-items:center;display:flex;gap:8px}.slide-input{border:1px solid #ced4da;border-radius:4px;padding:4px 8px;text-align:center;width:60px}.auto-advance-control{align-items:center;display:flex;gap:10px}.auto-advance-label{align-items:center;display:flex;font-size:.9rem;gap:5px}.interval-select{border:1px solid #ced4da;border-radius:4px;padding:4px 8px}.presentation-container{flex:1 1;position:relative}.presentation-frame{border:none;height:100%;width:100%}.slide-thumbnails{background:#f8f9fa;border-top:1px solid #e9ecef;max-height:120px;overflow-y:auto;padding:10px}.slide-thumbnails h4{color:#495057;font-size:1rem;margin:0 0 10px}.thumbnails-grid{display:flex;gap:10px;overflow-x:auto;padding:5px 0}.thumbnail-item{align-items:center;background:#fff;border:2px solid #ced4da;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;height:60px;justify-content:center;min-width:60px;position:relative;transition:all .2s ease}.thumbnail-item.current{background:#e3f2fd;border-color:#4a90e2}.thumbnail-item.viewed{border-color:#28a745}.thumbnail-item:hover{transform:scale(1.05)}.thumbnail-number{color:#495057;font-size:.8rem;font-weight:600}.thumbnail-preview{font-size:1.2rem}.viewed-indicator{align-items:center;background:#28a745;border-radius:50%;color:#fff;display:flex;font-size:.7rem;height:16px;justify-content:center;position:absolute;right:-5px;top:-5px;width:16px}.slide-notes{background:#fff;border-top:1px solid #e9ecef;max-height:150px;overflow-y:auto;padding:15px}.slide-notes h4{color:#495057;font-size:1rem;margin:0 0 10px}.notes-content{color:#6c757d;font-size:.9rem;line-height:1.5}.document-viewer{display:flex;flex:1 1;flex-direction:column}.document-controls{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;min-height:40px;padding:8px 15px}.font-controls{align-items:center;display:flex;gap:8px}.font-size{color:#495057;font-size:.9rem;min-width:35px;text-align:center}.document-container{flex:1 1;overflow:auto;position:relative}.document-frame{border:none;height:100%;width:100%}.quick-navigation{background:#f8f9fa;border-top:1px solid #e9ecef;padding:8px 15px}.quick-navigation h4{color:#495057;font-size:1rem;margin:0 0 10px}.nav-buttons{display:flex;flex-wrap:wrap;gap:10px}.nav-btn{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:6px 12px;transition:background .2s ease}.nav-btn:hover{background:#5a6268}.reading-analytics{background:#fff;border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:20px;padding:15px}.web-resource-viewer{display:flex;flex:1 1;flex-direction:column}.web-controls{background:#fff;border-bottom:1px solid #e9ecef;justify-content:space-between;min-height:40px;padding:8px 15px}.url-info,.web-controls{align-items:center;display:flex}.url-info{flex:1 1;gap:10px}.url-label{color:#495057;font-weight:600}.url-link{color:#4a90e2;max-width:300px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.url-link:hover{text-decoration:underline}.time-tracking{align-items:center;display:flex;gap:15px}.time-spent{color:#495057;font-family:monospace}.activity-status{border-radius:12px;font-size:.8rem;font-weight:600;padding:4px 8px}.activity-status.active{background:#d4edda;color:#155724}.activity-status.inactive{background:#f8d7da;color:#721c24}.web-progress{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;gap:15px;padding:10px 20px}.web-container{flex:1 1;position:relative}.web-frame{border:none;height:100%;width:100%}.web-error,.web-loading{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;left:50%;max-width:400px;padding:40px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.web-error h3{color:#dc3545;margin-bottom:15px}.web-error ul{margin:15px 0;text-align:left}.content-info{grid-gap:20px;background:#f8f9fa;border-top:1px solid #e9ecef;display:grid;gap:20px;grid-template-columns:1fr 1fr;padding:20px}.info-section h4{color:#495057;font-size:1rem;margin:0 0 15px}.info-grid{grid-gap:10px;display:grid;gap:10px}.info-item{display:flex;justify-content:space-between}.info-label{color:#6c757d}.info-value{color:#495057}.study-tips{list-style-type:none;margin:0;padding:0}.study-tips li{padding:5px 0 5px 20px;position:relative}.study-tips li:before{content:"💡";left:0;position:absolute}.activity-notice{background:#e3f2fd;border-top:1px solid #bbdefb;padding:10px 15px;text-align:center}.bookmark-info{align-items:center;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;display:flex;font-size:.9rem;gap:8px;margin:10px 15px;padding:10px 15px}.progress-bar{cursor:pointer;flex:1 1}.progress-fill{border-radius:3px}.unsupported-content{align-items:center;color:#6c757d;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px;text-align:center}.btn{border-radius:6px;font-size:.9rem;gap:5px;padding:8px 16px}.video-player .floating-back{display:none}.video-player .floating-back:hover{background:#000000e6}.content-info,.reading-analytics,.slide-notes{display:none}.reading-stats{align-items:center;justify-content:center}@media (max-width:768px){.study-header{align-items:flex-start;flex-direction:column;gap:15px}.header-left{width:100%}.content-title{font-size:1.2rem}.video-controls .controls-row{flex-direction:column;gap:15px}.controls-left,.controls-right{flex-wrap:wrap;justify-content:center}.document-controls,.pdf-controls,.presentation-controls,.web-controls{align-items:stretch;flex-direction:column;gap:15px}.content-info{gap:15px;grid-template-columns:1fr}.nav-buttons,.thumbnails-grid{justify-content:center}.reading-analytics{flex-direction:column;gap:10px}}.video-player{-webkit-tap-highlight-color:transparent}.video-container,.video-player{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.video-container{position:relative}.video-element{-webkit-touch-callout:none;pointer-events:auto;-webkit-user-select:none;user-select:none}.video-element::-webkit-media-controls,.video-element::-webkit-media-controls-panel{display:none!important}.video-element::-webkit-media-controls-play-button,.video-element::-webkit-media-controls-start-playback-button{display:none!important}.study-component *{-webkit-user-select:none;user-select:none}.study-component input,.study-component textarea{-webkit-user-select:text;user-select:text}.copyright-overlay{background:#000000b3;border-radius:4px;color:#fff;font-size:.75rem;opacity:.8;padding:4px 8px;pointer-events:none;position:absolute;right:10px;top:10px;z-index:1000}.copyright-overlay span{font-weight:500;text-shadow:1px 1px 2px #000c}.subconcept-quiz{background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.quiz-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #0000001a;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 2rem}.btn-back,.quiz-header{align-items:center;display:flex}.btn-back{background:#6c757d;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.btn-back:hover{background:#5a6268}.quiz-info{flex:1 1;text-align:center}.quiz-info h1{color:#2c3e50;font-size:1.8rem;font-weight:600;margin:0}.quiz-info h2{color:#34495e;font-size:1.3rem;font-weight:500;margin:.25rem 0}.concept-info{color:#6c757d;font-size:.9rem;font-style:italic;margin:0}.quiz-progress{flex-direction:column;gap:.5rem;min-width:120px}.question-counter{color:#495057;font-size:.9rem;font-weight:500}.progress-bar{background:#e9ecef;border-radius:3px;height:6px;overflow:hidden;width:120px}.progress-fill{background:linear-gradient(90deg,#28a745,#20c997);height:100%;transition:width .3s ease}.quiz-content{align-items:flex-start;display:flex;justify-content:center;min-height:calc(100vh - 120px);padding:2rem}.question-container{border-radius:1rem;box-shadow:0 10px 30px #0000001a;display:flex;flex-direction:column;max-width:800px;min-height:500px;padding:2rem;width:100%}.question-header{border-bottom:2px solid #f8f9fa;margin-bottom:1.5rem;padding-bottom:1rem}.question-number{font-size:1.1rem}.question-marks{background:#e3f2fd;border-radius:1rem;color:#1976d2;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.question-text{flex:0 0 auto;margin-bottom:2rem}.question-text p{color:#2c3e50;font-size:1.2rem;margin:0}.options-container{flex:1 1;gap:1rem;margin-bottom:2rem}.subconcept-quiz .option{align-items:center;background:#fafafa;border:2px solid #e9ecef;border-radius:.75rem;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.subconcept-quiz .option:hover{background:#f8f9ff;border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-1px)}.subconcept-quiz .option.selected{background:linear-gradient(135deg,#007bff,#0056b3);border-color:#007bff;box-shadow:0 4px 15px #007bff4d;color:#fff}.subconcept-quiz .option-indicator{align-items:center;background:#e9ecef;border-radius:50%;display:flex;flex:0 0 auto;height:40px;justify-content:center;transition:all .2s ease;width:40px}.subconcept-quiz .option.selected .option-indicator{background:#fff3;color:#fff}.subconcept-quiz .option-letter{font-size:1rem;font-weight:600}.subconcept-quiz .option-text{flex:1 1;font-size:1rem;line-height:1.4}.question-actions{flex:0 0 auto;justify-content:center;margin-top:auto}.submit-btn{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:.5rem;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;min-width:150px;padding:.75rem 2rem;transition:all .2s ease}.submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #28a7454d;transform:translateY(-2px)}.submit-btn:disabled{background:#6c757d;box-shadow:none;transform:none}.subconcept-quiz.results{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.results-summary{margin:0 auto;max-width:1000px;padding:2rem}.score-display{background:#fff;border-radius:1rem;box-shadow:0 10px 30px #0000001a;gap:2rem;margin-bottom:2rem;padding:2rem}.score-circle,.score-display{align-items:center;display:flex}.score-circle{border-radius:50%;color:#fff;flex:0 0 auto;flex-direction:column;font-weight:600;height:120px;justify-content:center;position:relative;width:120px}.score-circle.passed{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 6px 20px #28a7454d}.score-circle.failed{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 6px 20px #dc35454d}.percentage{font-size:2rem;line-height:1}.score-text{font-size:.9rem;opacity:.9}.score-details{flex:1 1}.score-details h3{color:#2c3e50;font-size:1.5rem;margin:0 0 .5rem}.score-details p{color:#6c757d;margin:.25rem 0}.result-message{color:#495057!important;font-weight:500}.detailed-results{background:#fff;border-radius:1rem;box-shadow:0 10px 30px #0000001a;margin-bottom:2rem;padding:2rem}.detailed-results h4{align-items:center;color:#2c3e50;display:flex;gap:.5rem;margin:0 0 1.5rem}.question-result{border:1px solid #e9ecef;border-radius:.5rem;margin-bottom:1rem;overflow:hidden}.question-result.correct{border-color:#28a745}.question-result.incorrect{border-color:#dc3545}.question-header{align-items:center;background:#f8f9fa;display:flex;justify-content:space-between;padding:.75rem 1rem}.question-result.correct .question-header{background:#d4edda}.question-result.incorrect .question-header{background:#f8d7da}.question-number{color:#495057;font-weight:600}.result-indicator{font-size:1.2rem}.question-content{padding:1rem}.question-text{color:#2c3e50;font-weight:500;margin:0 0 .75rem}.answer-info{display:flex;flex-direction:column;font-size:.9rem;gap:.25rem}.selected-answer{color:#6c757d}.correct-answer{color:#28a745;font-weight:500}.results-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn{border-radius:.5rem;display:flex;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#007bff,#0056b3)}.btn-primary:hover{box-shadow:0 6px 20px #007bff4d;transform:translateY(-2px)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268;box-shadow:0 6px 20px #6c757d4d;transform:translateY(-2px)}.subconcept-quiz.error,.subconcept-quiz.loading{align-items:center;display:flex;justify-content:center;min-height:100vh}.error-content,.loading-content{background:#fff;border-radius:1rem;box-shadow:0 10px 30px #0000001a;max-width:500px;padding:3rem;text-align:center;width:90%}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin:0 auto 1rem;width:40px}.loading-spinner.inline{border-width:2px;height:16px;margin:0;width:16px}.error-content h3{color:#dc3545;margin:0 0 1rem}.error-content p{color:#6c757d;margin:0 0 2rem}.error-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media (max-width:768px){.quiz-header{flex-direction:column;padding:1rem;text-align:center}.quiz-progress{margin-bottom:1rem;order:-1}.quiz-content{padding:1rem}.question-container{min-height:auto;padding:1.5rem}.question-text p{font-size:1.1rem}.score-display{flex-direction:column;gap:1rem;text-align:center}.score-circle{height:100px;width:100px}.percentage{font-size:1.8rem}.detailed-results{padding:1rem}.results-actions{align-items:center;flex-direction:column}.btn{justify-content:center;width:200px}}@media (max-width:480px){.quiz-info h1{font-size:1.5rem}.quiz-info h2{font-size:1.1rem}.subconcept-quiz .option{padding:.75rem}.subconcept-quiz .option-indicator{height:35px;width:35px}.subconcept-quiz .option-text{font-size:.9rem}}.stat-card.clickable{cursor:pointer;pointer-events:auto;transition:all .3s ease;z-index:2}.stat-card.clickable:hover{border-color:#10b981;box-shadow:0 12px 25px #10b98126;transform:translateY(-4px)}.teacher-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.teacher-dashboard .container{max-width:1400px}.teacher-dashboard .dashboard-header{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;overflow:hidden;position:relative;z-index:2}.teacher-dashboard .menu-card{cursor:pointer;pointer-events:auto;position:relative;z-index:1}.teacher-dashboard .menu-card.coming-soon{cursor:not-allowed}.teacher-dashboard .dashboard-header:before{background:linear-gradient(90deg,#10b981,#059669,#047857);content:"";height:4px;left:0;pointer-events:none;position:absolute;right:0;top:0}.teacher-dashboard .header-actions{align-items:center;display:flex;gap:10px;position:relative;z-index:10}.teacher-dashboard .header-actions .btn{cursor:pointer;pointer-events:auto;position:relative;z-index:10}.teacher-avatar{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b98166}.user-center{color:#10b981;font-size:.8rem;font-weight:500;margin-top:2px}.section-title:after{background:linear-gradient(90deg,#10b981,#059669);pointer-events:none}.dashboard-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;gap:8px;margin-bottom:30px;overflow-x:auto;padding:8px;position:relative;z-index:2}.tab-button{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:.9rem;font-weight:500;padding:12px 20px;pointer-events:auto;position:relative;transition:all .3s ease;white-space:nowrap;z-index:1}.tab-button:hover{background:#f1f5f9;color:#1e293b}.tab-button.active{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b9814d;color:#fff}.teacher-stats-section{margin-bottom:40px}.stat-card{pointer-events:auto;z-index:1}.stat-card:before{background:linear-gradient(90deg,#10b981,#059669);pointer-events:none}.stat-icon{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.stat-label{-webkit-text-stroke:0;color:#1e293b!important;font-weight:600;opacity:1!important;text-shadow:none}.quick-action-card{pointer-events:auto;z-index:1}.quick-action-card:before{background:#10b981;background:var(--accent-color,#10b981);pointer-events:none}.quick-action-card:hover{border-color:#10b981;border-color:var(--accent-color,#10b981)}.cohorts-section{margin-bottom:40px}.cohorts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.cohort-card{border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 6px #0000000d;overflow:hidden;padding:25px;transition:all .3s ease}.cohort-card:before{background:linear-gradient(90deg,#10b981,#059669);content:"";height:4px;left:0;position:absolute;right:0;top:0}.cohort-card:hover{box-shadow:0 8px 15px #0000001a}.cohort-header{margin-bottom:16px}.cohort-name{color:#1e293b;font-size:1.2rem;font-weight:600;margin:0}.cohort-semester{background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.cohort-details{margin-bottom:20px}.cohort-info-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:8px 0}.cohort-info-item:last-child{border-bottom:none}.info-label{color:#64748b;font-size:.875rem;font-weight:500}.info-value{color:#1e293b;font-size:.875rem;font-weight:600}.cohort-actions{display:flex;gap:10px}.cohort-actions .btn{flex:1 1;font-size:.875rem}.empty-state{background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d;padding:60px 40px}.empty-icon{opacity:.6}.empty-state h3{color:#1e293b;font-size:1.3rem}.empty-state p{color:#64748b;line-height:1.6;margin:0 auto;max-width:400px}.tools-category{margin-bottom:40px}.tools-category .section-title{font-size:1.3rem;margin-bottom:16px}.teacher-menu-card{border-left:4px solid #10b981;border-left:4px solid var(--accent-color,#10b981);position:relative;transition:all .3s ease}.teacher-menu-card:after{background:linear-gradient(135deg,#10b981,#0000);background:linear-gradient(135deg,var(--accent-color,#10b981),#0000);content:"";height:100%;opacity:.1;position:absolute;right:0;top:0;transition:width .3s ease;width:0}.teacher-menu-card:hover:after{width:100%}.teacher-menu-card .menu-icon{font-size:2.5rem;margin-bottom:15px;position:relative;z-index:1}.teacher-menu-card .menu-description,.teacher-menu-card .menu-title{position:relative;z-index:1}.coming-soon-badge{background:#f59e0b;border-radius:4px;color:#fff;font-size:.7rem;font-weight:700;padding:4px 8px;position:absolute;right:15px;text-transform:uppercase;top:15px;z-index:2}.activity-icon{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.progress-ring{height:60px;margin:0 auto 16px;width:60px}.progress-ring svg{height:100%;transform:rotate(-90deg);width:100%}.progress-ring circle{fill:none;stroke:#e5e7eb;stroke-width:4}.progress-ring .progress{stroke:#10b981;stroke-linecap:round;transition:stroke-dasharray .5s ease}.activity-list::-webkit-scrollbar{width:6px}.activity-list::-webkit-scrollbar-track{background:#f1f5f9}.activity-list::-webkit-scrollbar-thumb{background:#10b981;border-radius:3px}@media (max-width:768px){.teacher-dashboard .dashboard-header{flex-direction:column;gap:20px;padding:25px 20px;text-align:center}.teacher-dashboard .header-actions{justify-content:center;width:100%}.dashboard-tabs{justify-content:flex-start;padding:6px}.tab-button{font-size:.85rem;padding:10px 16px}.stats-grid{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.cohorts-grid{grid-template-columns:1fr}.cohort-card{padding:20px}.cohort-header{align-items:flex-start;gap:10px}.cohort-actions,.cohort-header{flex-direction:column}.section-title{font-size:1.3rem}.stat-card{flex-direction:column;gap:15px;text-align:center}.activity-item{align-items:flex-start;flex-direction:column;gap:12px}.tools-category .menu-grid{grid-template-columns:1fr}}@media (max-width:480px){.quick-actions-grid{grid-template-columns:1fr}.teacher-dashboard .container{padding:15px 10px}.dashboard-tabs{flex-direction:column;gap:4px}.tab-button{text-align:center}.module-placeholder{margin:20px;padding:40px 20px}.empty-state{padding:40px 20px}.cohort-info-item{align-items:flex-start;flex-direction:column;gap:4px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.activity-item,.cohort-card,.quick-action-card,.stat-card{animation:fadeInUp .6s ease-out}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}.quick-action-card:first-child{animation-delay:.1s}.quick-action-card:nth-child(2){animation-delay:.2s}.quick-action-card:nth-child(3){animation-delay:.3s}.quick-action-card:nth-child(4){animation-delay:.4s}.permission-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;margin-left:8px;padding:2px 8px;white-space:nowrap}.permission-badge.owner{background-color:#fef3c7;border:1px solid #f59e0b;color:#92400e}.permission-badge.full{background-color:#dcfdf7;border:1px solid #10b981;color:#065f46}.permission-badge.edit{background-color:#dbeafe;border:1px solid #3b82f6;color:#1e40af}.permission-badge.view{background-color:#f3f4f6;border:1px solid #9ca3af;color:#374151}.assessment-info-card,.authorization-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:20px}.search-input-container{position:relative}.search-loading{color:#6b7280;font-size:.8rem;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.search-results{background:#fff;border:1px solid #d1d5db;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.search-result-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:10px 12px}.search-result-item:hover{background-color:#f9fafb}.search-result-item:last-child{border-bottom:none}.teacher-name{color:#111827;font-weight:600}.teacher-email{color:#6b7280;font-size:.875rem}.authorizations-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.authorizations-list{display:flex;flex-direction:column;gap:12px}.authorization-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:16px;justify-content:space-between;padding:16px}.auth-teacher-info{flex:1 1}.auth-teacher-info .teacher-name{color:#111827;font-weight:600;margin-bottom:2px}.auth-teacher-info .teacher-email{color:#6b7280;font-size:.875rem;margin-bottom:4px}.auth-notes{color:#4b5563;font-size:.875rem;font-style:italic}.auth-details{align-items:center;display:flex;flex-direction:column;gap:4px}.auth-meta{color:#9ca3af;font-size:.75rem;text-align:center}.auth-actions{display:flex;gap:8px}.no-permission-message{color:#6b7280;font-size:.75rem;font-style:italic}@media (prefers-contrast:high){.cohort-card,.stat-card,.tab-button.active,.teacher-menu-card{border:2px solid #000}}@media (max-width:768px){.authorization-item{align-items:stretch;flex-direction:column;text-align:center}.auth-details{align-items:center}.permission-badge{margin:4px 0}}.admin-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.admin-dashboard .container{max-width:1400px}.admin-dashboard .dashboard-header{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;overflow:hidden;position:relative}.admin-dashboard .dashboard-header:before{background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);content:"";height:4px;left:0;position:absolute;right:0;top:0}.admin-dashboard .header-actions{align-items:center;display:flex;gap:10px}.admin-avatar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea66}.user-email{color:#64748b;font-size:.875rem;margin-top:2px}.section-title{border-bottom:2px solid #e2e8f0;color:#1e293b;font-size:1.5rem;font-weight:600;margin-bottom:20px;padding-bottom:10px;position:relative}.section-title:after{background:linear-gradient(90deg,#667eea,#764ba2);bottom:-2px;content:"";height:2px;left:0;position:absolute;width:60px}.stats-section{margin-bottom:40px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 6px #0000000d;display:flex;gap:20px;overflow:hidden;padding:25px;position:relative;transition:all .3s ease}.stat-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:3px;left:0;position:absolute;right:0;top:0}.stat-card:hover{box-shadow:0 8px 15px #0000001a;transform:translateY(-2px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;display:flex;font-size:2.5rem;height:70px;justify-content:center;width:70px}.stat-number{color:#1e293b;font-size:2.2rem;font-weight:700;line-height:1}.stat-label{color:#64748b;font-size:.875rem;font-weight:500;margin-top:4px}.quick-actions-section{margin-bottom:40px}.quick-actions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.quick-action-card{background:#fff;border:2px solid #0000;border-radius:12px;cursor:pointer;overflow:hidden;padding:20px;position:relative;text-align:center;transition:all .3s ease}.quick-action-card:before{background:#667eea;background:var(--accent-color,#667eea);content:"";height:3px;left:0;position:absolute;right:0;top:0}.quick-action-card:hover{border-color:#667eea;border-color:var(--accent-color,#667eea);box-shadow:0 8px 20px #0000001f;transform:translateY(-3px)}.quick-action-icon{font-size:2rem;margin-bottom:12px}.quick-action-title{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:8px}.quick-action-description{color:#64748b;font-size:.875rem;line-height:1.4}.admin-menu-card{border-left:4px solid #667eea;border-left:4px solid var(--accent-color,#667eea);position:relative;transition:all .3s ease}.admin-menu-card:after{background:linear-gradient(135deg,#667eea,#0000);background:linear-gradient(135deg,var(--accent-color,#667eea),#0000);content:"";height:100%;opacity:.1;position:absolute;right:0;top:0;transition:width .3s ease;width:0}.admin-menu-card:hover:after{width:100%}.admin-menu-card .menu-icon{font-size:2.5rem;margin-bottom:15px;position:relative;z-index:1}.admin-menu-card .menu-description,.admin-menu-card .menu-title{position:relative;z-index:1}.available-badge{background:#10b981;border-radius:4px;color:#fff;font-size:.7rem;font-weight:700;padding:4px 8px;position:absolute;right:15px;text-transform:uppercase;top:15px;z-index:2}.system-status-section{margin-bottom:40px}.status-grid{grid-gap:16px;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:25px}.status-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;font-weight:500;gap:12px;padding:10px}.status-indicator{border-radius:50%;flex-shrink:0;height:12px;width:12px}.status-indicator.online{background:#10b981;box-shadow:0 0 0 3px #10b98133}.status-indicator.warning{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}.status-indicator.offline{background:#ef4444;box-shadow:0 0 0 3px #ef444433}.recent-activity-section{margin-bottom:40px}.activity-list{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;overflow:hidden}.activity-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:16px;padding:20px 25px;transition:background-color .2s ease}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#f8fafc}.activity-icon{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:8px;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;width:40px}.activity-text{color:#1e293b;font-weight:500;margin-bottom:2px}.activity-time{color:#64748b;font-size:.875rem}.alert{border:1px solid #0000;border-radius:8px;margin-bottom:20px;padding:16px 20px;position:relative}.alert-error{background:#fef2f2;border-color:#fecaca;color:#dc2626}.alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.25rem;opacity:.7;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:opacity .2s}.alert-close:hover{opacity:1}.module-placeholder{background:#fff;border-radius:16px;box-shadow:0 10px 25px #0000001a;margin:40px auto;max-width:500px;padding:60px 40px;text-align:center}.module-placeholder h2{color:#1e293b;margin-bottom:16px}.module-placeholder p{color:#64748b;font-size:1.1rem;margin-bottom:30px}.admin-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #e2e8f0;padding:12px 16px;text-align:left}.admin-table th{color:#1e293b;font-size:.875rem;font-weight:600}.admin-table tbody tr:hover,.admin-table th{background:#f8fafc}.status-badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.status-pending{background:#fef3c7;color:#92400e}.status-approved{background:#d1fae5;color:#065f46}.status-rejected{background:#fee2e2;color:#991b1b}.action-buttons{gap:8px}.filter-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px;padding:20px}.filter-group,.filter-section{align-items:center;display:flex}.filter-group{gap:12px}.filter-label{color:#374151;font-weight:500}.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.875rem;padding:8px 12px}.filter-stats{display:flex;flex-wrap:wrap;gap:20px}.stat-item{color:#6b7280;font-size:.875rem;font-weight:500}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-large{max-width:700px}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#111827;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;padding:0;width:24px}.modal-close:hover{color:#374151}.modal-body{padding:24px}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.admin-info{background:#f3f4f6;border-radius:8px;margin:16px 0;padding:12px 16px}.detail-grid{grid-gap:16px;display:grid;gap:16px}.detail-row{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:150px 1fr}.detail-row.full-width{grid-column:1/-1;grid-template-columns:none}.detail-row label{color:#374151;font-size:.875rem;font-weight:600}.detail-row span{color:#6b7280}.justification-text,.rejection-reason{background:#f9fafb;border-left:4px solid #d1d5db;border-radius:6px;font-size:.875rem;line-height:1.5;margin-top:8px;padding:12px}.rejection-reason{border-left-color:#ef4444}.password-input-group{align-items:center;display:flex;gap:8px}.password-input-group input{flex:1 1}.info-card{background:#fff;border-left:4px solid #3b82f6;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.info-card h3{color:#1e293b;font-weight:600;margin:0 0 16px}.info-card ul{margin:16px 0;padding-left:20px}.info-card li{color:#374151;line-height:1.5;margin:8px 0}.empty-message,.loading-message{color:#6b7280;padding:40px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:32px;margin:0 auto 16px;width:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.table-container{overflow-x:auto}@media (max-width:768px){.admin-dashboard .dashboard-header{flex-direction:column;gap:20px;padding:25px 20px;text-align:center}.admin-dashboard .header-actions{justify-content:center;width:100%}.stats-grid{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.status-grid{grid-template-columns:1fr}.section-title{font-size:1.3rem}.stat-card{flex-direction:column;gap:15px;text-align:center}.activity-item{align-items:flex-start;flex-direction:column;gap:12px}}@media (max-width:480px){.quick-actions-grid{grid-template-columns:1fr}.admin-dashboard .container{padding:15px 10px}.module-placeholder{margin:20px;padding:40px 20px}}.form-section{margin-bottom:40px}.form-card{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 6px #0000000d;padding:30px}.form-card h3{color:#1e293b;font-size:1.5rem;font-weight:600;margin-bottom:20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-label{color:#374151;font-weight:600}.form-input{border:2px solid #e5e7eb;font-size:.9rem;transition:all .2s ease}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input.error{background-color:#fef2f2;border-color:#ef4444}.form-input.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-message{color:#ef4444}.error-message,.form-hint{font-size:.75rem;margin-top:4px}.form-hint{color:#6b7280;font-style:italic}.password-group{align-items:center;display:flex;gap:10px}.password-group .form-input{flex:1 1}.form-actions{border-top:1px solid #f1f5f9;gap:15px;justify-content:flex-start}.bulk-upload-section{margin-top:20px}.file-upload-area{margin-bottom:30px}.file-input{display:none}.file-upload-label{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:30px;text-align:center;transition:all .3s ease}.file-upload-label:hover{background:#f0f9ff;border-color:#667eea}.file-upload-icon{font-size:3rem;margin-bottom:15px;opacity:.7}.file-upload-hint{color:#64748b;font-size:.75rem;margin-top:5px}.preview-section{background:#f8fafc;border-radius:12px;margin-bottom:20px;padding:20px}.preview-section h4{color:#1e293b;font-size:1.1rem;margin-bottom:15px}.preview-table{margin-bottom:20px;overflow-x:auto}.preview-table table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000000d;overflow:hidden;width:100%}.preview-table td,.preview-table th{border-bottom:1px solid #e5e7eb;font-size:.875rem;padding:12px 15px;text-align:left}.preview-table th{background:#f1f5f9;color:#374151;font-weight:600}.preview-table td{color:#6b7280}.template-section{background:#f0f9ff;border-radius:12px;margin-top:30px;padding:20px}.template-section h4,.template-section h5{color:#1e40af;margin-bottom:15px}.template-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.template-instructions{background:#fff;border:1px solid #bfdbfe;border-radius:8px;padding:15px}.template-instructions ul{color:#374151;margin:10px 0 0 20px}.template-instructions li{font-size:.875rem;margin-bottom:5px}.alert-success{background:#ecfdf5;border-color:#10b981;color:#065f46}.alert-warning{background:#fffbeb;border-color:#f59e0b;color:#92400e}@media (max-width:768px){.form-grid{gap:15px;grid-template-columns:1fr}.form-actions,.password-group{flex-direction:column}.password-group{align-items:stretch}.template-links{flex-direction:column}.file-upload-label{min-height:150px;padding:20px}}.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}}: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:#fff;border:2px solid #e5e7eb;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--quiz-shadow);display:flex;flex-direction:column;justify-content:space-between;padding:24px;transition:all .3s ease;transition:var(--quiz-transition)}.assessment-card:hover{border-color:#4a90e2;border-color:var(--quiz-primary);box-shadow:0 8px 25px #00000026}.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;font-weight:600}.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)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.progress-info{align-items:center;display:flex;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{flex-wrap:wrap;gap:16px;justify-content:space-between}.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}.selection-info{color:#10b981;color:var(--quiz-success);font-size:.9em;font-weight:500}.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:var(--quiz-card-bg);border:2px solid var(--quiz-border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;transition:var(--transition)}.assessment-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.assessment-id{font-size:1.1em;font-weight:600}.card-actions{display:flex;gap:8px}.card-content{padding:20px}.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{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:space-between;padding:16px 20px}.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;margin-bottom:24px;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;display:flex;flex-direction:column;gap:16px;max-height:600px;overflow-y:auto;padding:16px}.question-item{align-items:flex-start;background:#fff;border:2px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:20px;transition:var(--transition)}.question-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #4a90e21a}.question-content{flex:1 1;margin-right:16px}.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:repeat(auto-fit,minmax(200px,1fr))}.question-options span{background:#f1f5f9;border-radius:4px;padding:4px 8px}.question-actions{align-items:center;display:flex}.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{align-items:center;display:flex;flex-wrap:wrap;gap:12px}@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;font-weight:500}.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-group{margin-bottom:20px}.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%}}