.dashboard-page-v2{min-height:100vh;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);padding-bottom:2rem;overflow-x:hidden;width:100%;max-width:100vw}.dashboard-page-v2 .dashboard-header{background:white;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #00000014;margin-bottom:1.5rem}.dashboard-page-v2 .user-info{display:flex;align-items:center;gap:1rem}.dashboard-page-v2 .user-info-inline{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.dashboard-page-v2 .user-info-inline h1{font-size:1.5rem;margin:0;color:#1a1a2e}.dashboard-page-v2 .user-info-inline .user-email{color:#666;font-size:.9rem}.dashboard-page-v2 .user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.dashboard-page-v2 .user-details h1{font-size:1.5rem;margin:0;color:#1a1a2e}.dashboard-page-v2 .user-email{color:#666;margin:.25rem 0;font-size:.9rem}.dashboard-page-v2 .role-badge{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.dashboard-page-v2 .role-learner{background:#e8f5e9;color:#2e7d32}.dashboard-page-v2 .role-facilitator{background:#e3f2fd;color:#1565c0}.dashboard-page-v2 .role-admin{background:#fff3e0;color:#e65100}.dashboard-page-v2 .header-actions{display:flex;gap:.75rem}.dashboard-page-v2 .compare-button{padding:.5rem 1rem;background:#f0f0f0;border:1px solid #ddd;border-radius:.5rem;color:#666;cursor:pointer;font-size:.85rem;transition:all .2s}.dashboard-page-v2 .compare-button:hover{background:#e0e0e0;color:#333}.dashboard-page-v2 .logout-button{padding:.5rem 1rem;background:transparent;border:1px solid #ddd;border-radius:.5rem;color:#666;cursor:pointer;transition:all .2s}.dashboard-page-v2 .logout-button:hover{background:#fee;border-color:#fcc;color:#c00}.dashboard-page-v2 .dashboard-content{max-width:1200px;margin:0 auto;padding:0 1.5rem;overflow:hidden;box-sizing:border-box}.dashboard-page-v2 .section-label{font-size:.875rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.08em;margin:0}.dashboard-page-v2 .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.dashboard-page-v2 .training-section,.dashboard-page-v2 .quick-actions-section,.dashboard-page-v2 .explore-section{margin-bottom:2rem;max-width:100%;overflow:hidden}.dashboard-page-v2 .quick-actions-section .section-label,.dashboard-page-v2 .explore-section .section-label{margin-bottom:1rem}.dashboard-page-v2 .view-all-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:.9rem;font-weight:500;padding:0}.dashboard-page-v2 .view-all-link:hover{text-decoration:underline}.dashboard-page-v2 .getting-started-banner{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:1rem;margin-bottom:1.5rem;overflow:hidden}.dashboard-page-v2 .getting-started-banner.collapsed{cursor:pointer}.dashboard-page-v2 .banner-collapsed{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;color:#fff}.dashboard-page-v2 .collapsed-text{font-weight:500}.dashboard-page-v2 .expand-icon{opacity:.8}.dashboard-page-v2 .banner-expanded{padding:1.5rem;color:#fff}.dashboard-page-v2 .banner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.dashboard-page-v2 .banner-header h2{margin:0;font-size:1.25rem}.dashboard-page-v2 .collapse-btn{background:rgba(255,255,255,.2);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.dashboard-page-v2 .collapse-btn:hover{background:rgba(255,255,255,.3)}.dashboard-page-v2 .banner-description{margin:0 0 1rem;opacity:.9}.dashboard-page-v2 .start-welcome-btn{background:white;color:#667eea;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.dashboard-page-v2 .start-welcome-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0003}.dashboard-page-v2 .start-welcome-btn:disabled{opacity:.7;cursor:not-allowed}.dashboard-page-v2 .carousel-wrapper{display:flex;align-items:center;gap:.75rem}.dashboard-page-v2 .assignments-carousel{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;padding:.5rem 0;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-width:0}.dashboard-page-v2 .assignments-carousel::-webkit-scrollbar{display:none}.dashboard-page-v2 .carousel-arrow{width:40px;height:40px;border-radius:50%;background:white;border:1px solid #ddd;box-shadow:0 2px 6px #0000001a;font-size:1.5rem;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.dashboard-page-v2 .carousel-arrow:hover{background:#f5f5f5;box-shadow:0 4px 12px #00000026;color:#333}.dashboard-page-v2 .assignments-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.dashboard-page-v2 .assignment-card-inline{background:white;border-radius:1rem;padding:1.25rem;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;gap:.75rem;transition:transform .2s,box-shadow .2s;position:relative;min-width:280px;max-width:320px;flex-shrink:0}.dashboard-page-v2 .assignment-card-inline.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.dashboard-page-v2 .assignment-card-header{display:flex;align-items:center;gap:.75rem}.dashboard-page-v2 .assignment-card-header .assignment-title{flex:1;margin:0;font-size:1rem;font-weight:600;color:#1a1a2e;line-height:1.3}.dashboard-page-v2 .assignment-card-inline.overdue{border-left:4px solid #dc3545}.dashboard-page-v2 .assignment-card-inline.due-soon{border-left:4px solid #ffc107}.dashboard-page-v2 .assignment-card-top{display:flex;justify-content:space-between;align-items:flex-start}.dashboard-page-v2 .assignment-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:#f0f0f0;display:flex;align-items:center;justify-content:center}.dashboard-page-v2 .assignment-avatar img{width:100%;height:100%;object-fit:cover}.dashboard-page-v2 .assignment-avatar.placeholder{background:linear-gradient(135deg,#e0e0e0 0%,#bdbdbd 100%)}.dashboard-page-v2 .avatar-outline{font-size:1.5rem;opacity:.5}.dashboard-page-v2 .status-badge-small{font-size:.9rem}.dashboard-page-v2 .assignment-title{font-size:1.1rem;font-weight:600;color:#1a1a2e;margin:0;line-height:1.3}.dashboard-page-v2 .assignment-stats{display:flex;gap:1rem;font-size:.85rem;color:#666}.dashboard-page-v2 .best-score{font-weight:600;color:#2e7d32}.dashboard-page-v2 .no-score{color:#999}.dashboard-page-v2 .deadline-badge{font-size:.8rem;font-weight:500;padding:.25rem .5rem;border-radius:.25rem;align-self:flex-start}.dashboard-page-v2 .deadline-badge.overdue{background:#ffebee;color:#c62828}.dashboard-page-v2 .deadline-badge.due-soon{background:#fff8e1;color:#f57f17}.dashboard-page-v2 .deadline-badge.due-today{background:#fff3e0;color:#e65100}.dashboard-page-v2 .completion-check{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;flex-shrink:0}.dashboard-page-v2 .completion-check.done{background:#e0e0e0;color:#757575}.dashboard-page-v2 .completion-check.passing{background:#c8e6c9;color:#2e7d32}.dashboard-page-v2 .best-score.passing{color:#2e7d32}.dashboard-page-v2 .loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;border-radius:1rem;font-weight:500;color:#667eea}.dashboard-page-v2 .practice-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:.75rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:auto}.dashboard-page-v2 .practice-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.dashboard-page-v2 .practice-btn:disabled{opacity:.7;cursor:not-allowed}.dashboard-page-v2 .empty-training{background:white;border-radius:1rem;padding:3rem 2rem;text-align:center;box-shadow:0 2px 8px #00000014}.dashboard-page-v2 .empty-training .empty-icon{font-size:3rem;margin-bottom:1rem}.dashboard-page-v2 .empty-training h3{margin:0 0 .5rem;color:#1a1a2e}.dashboard-page-v2 .empty-training p{color:#666;margin:0}.dashboard-page-v2 .empty-training .empty-hint{color:#667eea;margin-top:.5rem}.dashboard-page-v2 .loading-state{background:white;border-radius:1rem;padding:2rem;text-align:center;color:#666}.dashboard-page-v2 .quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:100%}@media (max-width: 600px){.dashboard-page-v2 .quick-actions-grid{grid-template-columns:1fr}}.dashboard-page-v2 .action-card{background:white;border-radius:1rem;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s;min-width:0}.dashboard-page-v2 .action-card.clickable{cursor:pointer}.dashboard-page-v2 .action-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.dashboard-page-v2 .action-icon{font-size:2rem;width:56px;height:56px;background:#f5f7fa;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-page-v2 .action-content h3{margin:0;font-size:1rem;color:#1a1a2e}.dashboard-page-v2 .action-content p{margin:.25rem 0 0;font-size:.85rem;color:#666}.dashboard-page-v2 .community-banner{background:white;border-radius:1rem;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.dashboard-page-v2 .community-banner.clickable{cursor:pointer}.dashboard-page-v2 .community-banner.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.dashboard-page-v2 .banner-icon{font-size:2rem;width:56px;height:56px;background:linear-gradient(135deg,#e8f5e9 0%,#c8e6c9 100%);border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-page-v2 .banner-content{flex:1}.dashboard-page-v2 .banner-content h3{margin:0;font-size:1rem;color:#1a1a2e}.dashboard-page-v2 .banner-content p{margin:.25rem 0 0;font-size:.85rem;color:#666}.dashboard-page-v2 .explore-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:100%}@media (max-width: 600px){.dashboard-page-v2 .explore-grid{grid-template-columns:1fr}}.dashboard-page-v2 .explore-card{background:white;border-radius:1rem;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s;min-width:0}.dashboard-page-v2 .explore-card.clickable{cursor:pointer}.dashboard-page-v2 .explore-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.dashboard-page-v2 .explore-icon{font-size:2rem;width:56px;height:56px;background:#f5f7fa;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-page-v2 .explore-content{flex:1}.dashboard-page-v2 .explore-content h3{margin:0;font-size:1rem;color:#1a1a2e}.dashboard-page-v2 .explore-content p{margin:.25rem 0 0;font-size:.85rem;color:#666}.dashboard-page-v2 .banner-arrow{font-size:1.5rem;color:#999}.dashboard-page-v2 .dashboard-section{margin-bottom:2rem}.dashboard-page-v2 .features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.dashboard-page-v2 .feature-card{background:white;border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.dashboard-page-v2 .feature-card.clickable{cursor:pointer}.dashboard-page-v2 .feature-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.dashboard-page-v2 .feature-card h3{margin:0 0 .5rem;font-size:1.1rem;color:#1a1a2e}.dashboard-page-v2 .feature-card p{margin:0;font-size:.9rem;color:#666}.dashboard-page-v2 .coming-soon{display:inline-block;margin-top:.75rem;padding:.25rem .5rem;background:#f5f5f5;border-radius:.25rem;font-size:.75rem;color:#999;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 600px){.dashboard-page-v2 .dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.dashboard-page-v2 .header-actions{width:100%}.dashboard-page-v2 .compare-button,.dashboard-page-v2 .logout-button{flex:1}.dashboard-page-v2 .dashboard-content{padding:0 1rem}.dashboard-page-v2 .assignments-inline{grid-template-columns:1fr}}.my-assignments-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);padding-bottom:2rem}.my-assignments-page .assignments-header{background:white;padding:1.5rem 2rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 4px #00000014;margin-bottom:1.5rem}.my-assignments-page .back-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:1rem;padding:0}.my-assignments-page .back-button:hover{text-decoration:underline}.my-assignments-page .assignments-header h1{margin:0;font-size:1.5rem;color:#1a1a2e}.my-assignments-page .assignment-count{color:#666;font-size:.9rem;margin-left:auto}.my-assignments-page .filter-bar{max-width:1200px;margin:0 auto 1rem;padding:0 1.5rem;display:flex;gap:.5rem}.my-assignments-page .filter-btn{background:white;border:1px solid #ddd;padding:.5rem 1rem;border-radius:2rem;cursor:pointer;font-size:.9rem;color:#666;transition:all .2s}.my-assignments-page .filter-btn:hover{border-color:#667eea;color:#667eea}.my-assignments-page .filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.my-assignments-page .assignments-list{max-width:1200px;margin:0 auto;padding:0 1.5rem}.my-assignments-page .assignment-row{background:white;border-radius:1rem;padding:1rem 1.5rem;margin-bottom:.75rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative}.my-assignments-page .assignment-row:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.my-assignments-page .assignment-row.overdue{border-left:4px solid #dc3545}.my-assignments-page .assignment-row.due-soon{border-left:4px solid #ffc107}.my-assignments-page .assignment-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:#f0f0f0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.my-assignments-page .assignment-avatar img{width:100%;height:100%;object-fit:cover}.my-assignments-page .assignment-avatar.placeholder{background:linear-gradient(135deg,#e0e0e0 0%,#bdbdbd 100%)}.my-assignments-page .avatar-outline{font-size:1.5rem;opacity:.5}.my-assignments-page .assignment-info{flex:1;min-width:0}.my-assignments-page .assignment-title{margin:0;font-size:1.1rem;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-assignments-page .assignment-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.85rem;color:#666}.my-assignments-page .separator{color:#ccc}.my-assignments-page .best-score{font-weight:600}.my-assignments-page .best-score.passing{color:#2e7d32}.my-assignments-page .no-score{color:#999}.my-assignments-page .deadline.overdue{color:#c62828;font-weight:500}.my-assignments-page .deadline.due-soon{color:#f57f17;font-weight:500}.my-assignments-page .assignment-status{flex-shrink:0}.my-assignments-page .status-badge{font-size:.85rem;color:#666}.my-assignments-page .completion-check{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700}.my-assignments-page .completion-check.done{background:#e0e0e0;color:#757575}.my-assignments-page .completion-check.passing{background:#c8e6c9;color:#2e7d32}.my-assignments-page .loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;border-radius:1rem;font-weight:500;color:#667eea}.my-assignments-page .empty-state{background:white;border-radius:1rem;padding:3rem 2rem;text-align:center;box-shadow:0 2px 8px #00000014}.my-assignments-page .empty-state h3{margin:0 0 .5rem;color:#1a1a2e}.my-assignments-page .empty-state p{margin:0;color:#666}.my-assignments-page .loading-state{max-width:1200px;margin:0 auto;padding:3rem 1.5rem;text-align:center;color:#666}@media (max-width: 600px){.my-assignments-page .assignments-header{padding:1rem;flex-wrap:wrap}.my-assignments-page .assignment-row{padding:1rem}.my-assignments-page .assignment-meta{flex-wrap:wrap}.my-assignments-page .filter-bar{padding:0 1rem;flex-wrap:wrap}}.system-prompt-preview{border:1px solid #e1e5e9;border-radius:8px;background:#ffffff;margin:16px 0;overflow:hidden;transition:all .3s ease}.system-prompt-preview.loading{opacity:.7}.system-prompt-preview.error{border-color:#dc3545}.system-prompt-preview.empty{border-color:#6c757d;border-style:dashed}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-bottom:1px solid #e1e5e9}.preview-header h3{margin:0;font-size:16px;font-weight:600}.header-left{display:flex;flex-direction:column;gap:4px}.metadata{display:flex;gap:12px;font-size:12px;opacity:.9}.metadata span{padding:2px 6px;background:rgba(255,255,255,.2);border-radius:3px}.persona-name{background:rgba(76,175,80,.3)!important}.scenario-name{background:rgba(33,150,243,.3)!important}.token-count{background:rgba(255,193,7,.3)!important}.header-controls{display:flex;align-items:center;gap:8px}.view-mode-selector{display:flex;background:rgba(255,255,255,.2);border-radius:4px;overflow:hidden}.view-mode-selector button{background:transparent;border:none;color:#fff;padding:4px 8px;font-size:12px;cursor:pointer;transition:background-color .2s ease}.view-mode-selector button:hover{background:rgba(255,255,255,.1)}.view-mode-selector button.active{background:rgba(255,255,255,.3);font-weight:600}.refresh-btn,.expand-btn{background:rgba(255,255,255,.2);border:none;color:#fff;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s ease}.refresh-btn:hover,.expand-btn:hover{background:rgba(255,255,255,.3)}.preview-content{padding:16px}.prompt-display{margin-bottom:24px}.preview-tabs{display:flex;gap:8px;margin-bottom:12px}.tab-button{border:1px solid #cbd5f5;background:#f1f5ff;color:#3b4aa7;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease}.tab-button:hover{background:#e2e8ff}.tab-button.active{background:#3b4aa7;color:#fff;border-color:#3b4aa7;font-weight:600}.prompt-content{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;padding:16px;font-family:Courier New,monospace;font-size:13px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;max-height:400px;overflow-y:scroll!important;margin:0}.prompt-content.template{background:#fff3cd;border-color:#ffeaa7}.prompt-content.resolved{background:#d4edda;border-color:#c3e6cb}.prompt-content.voice{background:#e0f2fe;border-color:#bae6fd}.voice-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:12px;color:#0f172a}.voice-line{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.voice-line strong{font-weight:600}.voice-preview.loading,.voice-preview.error,.voice-preview.empty{padding:16px;border:1px dashed #c0d7f5;border-radius:4px;background:#f8fbff;font-size:13px;color:#334155}.prompt-diff{display:grid;grid-template-columns:1fr 1fr;gap:16px}.diff-section h4{margin:0 0 8px;font-size:14px;color:#495057}.field-mapping{margin-bottom:24px}.field-mapping h4{margin:0 0 12px;font-size:14px;color:#495057;border-bottom:1px solid #e9ecef;padding-bottom:4px}.mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}.mapping-item{display:flex;justify-content:space-between;padding:8px 12px;background:#f8f9fa;border-radius:4px;font-size:12px}.section-name{font-weight:600;color:#495057}.field-source{color:#6c757d;font-style:italic}.metadata-section{display:flex;flex-wrap:wrap;gap:16px;padding-top:16px;border-top:1px solid #e9ecef;font-size:12px;color:#6c757d}.metadata-item code{background:#e9ecef;padding:2px 4px;border-radius:2px;font-family:Courier New,monospace}.empty-message{padding:24px;text-align:center;color:#6c757d;font-style:italic}.system-prompt-preview.collapsed .preview-content{display:none}.system-prompt-preview.collapsed{border-color:#6c757d}@media (max-width: 768px){.preview-header{flex-direction:column;align-items:flex-start;gap:8px}.header-controls{align-self:flex-end}.prompt-diff{grid-template-columns:1fr}.metadata{flex-direction:column;gap:4px}.metadata-section{flex-direction:column;gap:8px}}.template-variable-guide{border:1px solid #e1e5e9;border-radius:8px;background:#ffffff;margin:16px 0;overflow:hidden;transition:all .3s ease}.template-variable-guide.compact{border-color:#dee2e6;margin:8px 0}.template-variable-guide.loading{opacity:.7}.template-variable-guide.error{border-color:#dc3545}.guide-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);color:#fff;border-bottom:1px solid #e1e5e9}.template-variable-guide.compact .guide-header{padding:8px 12px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.guide-header h3{margin:0;font-size:16px;font-weight:600}.template-variable-guide.compact .guide-header h3{font-size:14px}.guide-description{margin:4px 0 0;font-size:12px;opacity:.9}.template-variable-guide.compact .guide-description{display:none}.header-controls{display:flex;align-items:center}.expand-btn{background:rgba(255,255,255,.2);border:none;color:#fff;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s ease}.expand-btn:hover{background:rgba(255,255,255,.3)}.guide-content{padding:16px}.template-variable-guide.compact .guide-content{padding:12px}.category-selector{display:flex;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e9ecef}.category-selector button{background:#f8f9fa;border:1px solid #dee2e6;color:#495057;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s ease}.category-selector button:hover{background:#e9ecef;border-color:#adb5bd}.category-selector button.active{background:#007bff;border-color:#007bff;color:#fff}.variables-list{margin-bottom:24px}.variable-item{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid #f8f9fa}.variable-item:last-child{border-bottom:none}.variable-syntax{flex-shrink:0;min-width:120px}.variable-syntax code{background:#e9ecef;color:#495057;padding:4px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:12px;font-weight:600}.variable-description{flex:1;font-size:13px;color:#6c757d;line-height:1.4}.usage-section{margin-bottom:24px}.usage-section h4{margin:0 0 12px;font-size:14px;color:#495057;border-bottom:1px solid #e9ecef;padding-bottom:4px}.usage-list{display:flex;flex-direction:column;gap:8px}.usage-item{font-size:13px;color:#6c757d;line-height:1.4}.usage-item strong{color:#495057}.examples-section{margin-bottom:24px}.examples-section h4{margin:0 0 12px;font-size:14px;color:#495057;border-bottom:1px solid #e9ecef;padding-bottom:4px}.examples-list{display:flex;flex-direction:column;gap:16px}.example-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:12px}.example-description{font-size:13px;color:#495057;margin-bottom:8px;font-weight:500}.example-content{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.example-template,.example-resolved{flex:1;min-width:200px}.example-template label,.example-resolved label{display:block;font-size:11px;color:#6c757d;margin-bottom:4px;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.example-template code,.example-resolved code{display:block;background:white;border:1px solid #dee2e6;padding:8px;border-radius:4px;font-family:Courier New,monospace;font-size:12px;line-height:1.4;word-wrap:break-word}.example-template code{background:#fff3cd;border-color:#ffeaa7}.example-resolved code{background:#d4edda;border-color:#c3e6cb}.example-arrow{flex-shrink:0;font-size:16px;color:#6c757d;font-weight:700}.quick-reference{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:12px}.quick-reference h4{margin:0 0 12px;font-size:14px;color:#495057}.reference-grid{display:flex;flex-direction:column;gap:8px}.reference-item{font-size:13px;color:#6c757d}.reference-item strong{color:#495057;margin-right:8px}.reference-item code{background:#e9ecef;color:#495057;padding:2px 4px;border-radius:2px;font-family:Courier New,monospace;font-size:11px;margin:0 2px}.loading-spinner{display:flex;align-items:center;gap:8px;font-size:14px}.loading-spinner:before{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.error-message{padding:16px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin:16px}.template-variable-guide.collapsed .guide-content{display:none}.template-variable-guide.collapsed{border-color:#6c757d}@media (max-width: 768px){.category-selector{flex-wrap:wrap}.example-content{flex-direction:column;align-items:stretch}.example-arrow{align-self:center;transform:rotate(90deg)}.reference-grid{gap:12px}.variable-item{flex-direction:column;gap:4px}.variable-syntax{min-width:auto}}.session-feedback-gate{display:flex;justify-content:center;align-items:center;min-height:300px;padding:20px}.feedback-card{background:white;border-radius:16px;padding:32px;box-shadow:0 4px 20px #0000001a;max-width:420px;width:100%;text-align:center}.feedback-header h3{margin:0 0 8px;font-size:22px;font-weight:600;color:#1f2937}.feedback-subtitle{margin:0 0 24px;font-size:14px;color:#6b7280}.star-rating{display:flex;justify-content:center;gap:8px;margin-bottom:8px}.star-btn{background:none;border:none;padding:4px;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.star-btn:focus{outline:none}.star-btn:focus-visible{outline:2px solid #6366f1;outline-offset:2px;border-radius:4px}.star-icon{width:32px;height:32px;fill:#e5e7eb;stroke:#d1d5db;stroke-width:1;transition:fill .15s ease,stroke .15s ease;display:block;pointer-events:none}.star-btn:hover .star-icon{fill:#fcd34d;stroke:#fbbf24}.star-btn.filled .star-icon{fill:#fbbf24;stroke:#f59e0b}.rating-label{margin:0 0 20px;font-size:14px;font-weight:500;color:#6366f1;min-height:20px}.feedback-comment{margin-bottom:20px;text-align:left}.feedback-comment label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.feedback-comment .optional{font-weight:400;color:#9ca3af}.feedback-comment textarea{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.feedback-comment textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.feedback-comment textarea::placeholder{color:#9ca3af}.submit-feedback-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:12px}.submit-feedback-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.submit-feedback-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.feedback-note{margin:0;font-size:12px;color:#9ca3af}.feedback-loading{text-align:center;padding:40px}.feedback-loading p{margin:16px 0 0;color:#6b7280;font-size:14px}.feedback-thank-you{text-align:center;padding:40px;animation:fadeIn .3s ease}.thank-you-icon{width:60px;height:60px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px;animation:scaleIn .3s ease}.feedback-thank-you h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#1f2937}.feedback-thank-you p{margin:0 0 16px;color:#6b7280;font-size:14px}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}.loading-spinner.small{width:24px;height:24px;border-width:2px}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 480px){.feedback-card{padding:24px 20px}.feedback-header h3{font-size:20px}.star-icon{width:32px;height:32px}.submit-feedback-btn{padding:12px 20px;font-size:15px}}.feedback-card.in-modal{box-shadow:none;padding:24px 16px;border-radius:0}.feedback-card.in-modal .feedback-header h3{font-size:18px}.feedback-card.in-modal .feedback-subtitle{font-size:13px;margin-bottom:16px}.feedback-card.in-modal .star-rating{gap:6px}.feedback-card.in-modal .star-btn{width:38px;height:38px}.feedback-card.in-modal .submit-feedback-btn{padding:12px 20px;font-size:15px}.thumbs-feedback{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,rgba(99,102,241,.08) 0%,rgba(139,92,246,.08) 100%);border:1px solid rgba(99,102,241,.15);border-radius:12px;margin-top:20px}.thumbs-feedback-submitted{justify-content:center}.thumbs-question{font-size:14px;color:#6366f1;font-weight:600}.thumbs-buttons{display:flex;gap:8px}.thumb-btn{background:white;border:1px solid rgba(99,102,241,.2);border-radius:10px;padding:10px 14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000000d}.thumb-btn:hover{border-color:#d1d5db;background:#f3f4f6}.thumb-btn:focus{outline:none}.thumb-btn:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.thumb-up:hover{border-color:#10b981;background:#ecfdf5}.thumb-up:hover .thumb-icon{stroke:#10b981}.thumb-down:hover{border-color:#ef4444;background:#fef2f2}.thumb-down:hover .thumb-icon{stroke:#ef4444}.thumb-icon{width:22px;height:22px;fill:none;stroke:#6366f1;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.thumbs-thank-you{font-size:14px;color:#10b981;font-weight:500}.thumbs-comment-section{display:flex;flex-direction:column;gap:8px;width:100%}.thumbs-comment-section label{font-size:14px;font-weight:500;color:#374151}.thumbs-comment-section .optional{font-weight:400;color:#9ca3af}.thumbs-comment-section textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.thumbs-comment-section textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.thumbs-comment-section textarea::placeholder{color:#9ca3af}.thumbs-comment-actions{display:flex;gap:8px;justify-content:flex-end}.thumbs-skip-btn{padding:6px 12px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .15s ease}.thumbs-skip-btn:hover{background:#f9fafb;border-color:#d1d5db}.thumbs-submit-btn{padding:6px 12px;background:#6366f1;border:none;border-radius:6px;font-size:13px;color:#fff;font-weight:500;cursor:pointer;transition:all .15s ease}.thumbs-submit-btn:hover{background:#4f46e5}@media (max-width: 480px){.thumbs-feedback{flex-direction:column;align-items:flex-start;gap:8px}.thumbs-buttons{width:100%;justify-content:flex-start}}.learning-objectives-section{margin:20px 0;padding:16px;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.objectives-header{margin-bottom:12px}.objectives-header h4{margin:0;font-size:16px;font-weight:600;color:#111827}.objectives-list{display:flex;flex-direction:column;gap:8px}.objective-card{display:flex;align-items:flex-start;padding:12px 16px;border-radius:8px;transition:background-color .2s ease}.objective-card.mastered{background:#ecfdf5;border:1px solid #a7f3d0}.objective-card.needs-work{background:#fffbeb;border:1px solid #fcd34d}.status-icon{font-size:16px;margin-right:12px;flex-shrink:0;margin-top:2px}.objective-content{flex:1;min-width:0}.objective-name{font-size:14px;font-weight:500;color:#111827;display:block}.objective-coaching{font-size:13px;color:#6b7280;margin-top:4px;display:block;line-height:1.4}.objective-score{font-size:14px;font-weight:600;margin-left:12px;flex-shrink:0;background:transparent}.objective-score.obj-mastered{color:#059669}.objective-score.obj-needs-work{color:#b45309}@media (max-width: 480px){.objective-card{flex-wrap:wrap;gap:8px}.objective-content{width:calc(100% - 40px)}.objective-score{margin-left:28px}}.assessment-results{background:white;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;max-width:900px;margin:0 auto}.assessment-avatar-context{display:flex;align-items:center;gap:16px;padding:16px;background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 100%);border-radius:12px;margin-bottom:20px}.assessment-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;background:white;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:3px solid #667eea;box-shadow:0 2px 8px #667eea4d}.assessment-avatar img{width:100%;height:100%;object-fit:cover}.assessment-avatar .avatar-placeholder{font-size:32px}.assessment-avatar-info{display:flex;flex-direction:column;gap:2px}.assessment-avatar-info .practiced-with{font-size:.85rem;color:#6b7280}.assessment-avatar-info .avatar-name{font-size:1.25rem;font-weight:600;color:#1f2937}.assessment-avatar-info .avatar-role{font-size:.9rem;color:#667eea;font-weight:500}.hero-score-section{text-align:center;margin-bottom:20px}.score-context{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.attempt-badge{font-size:13px;font-weight:500;color:#6b7280;background:#f3f4f6;padding:4px 12px;border-radius:20px}.trajectory-badge{font-size:13px;font-weight:600;padding:4px 12px;border-radius:20px}.trajectory-badge.trajectory-up{background:#dcfce7;color:#16a34a}.trajectory-badge.trajectory-down{background:#fef2f2;color:#dc2626}.trajectory-badge.trajectory-same{background:#f3f4f6;color:#6b7280}.assessment-actions{margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb;text-align:center}.rerun-button-end{padding:12px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;box-shadow:0 2px 8px #667eea4d}.rerun-button-end:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.overall-score{display:inline-block;text-align:center;padding:20px 32px;border-radius:12px;min-width:140px}.overall-score .score-value{font-size:48px;font-weight:700;line-height:1;margin-bottom:6px}.overall-score .score-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.score-mastery{background:linear-gradient(135deg,#34D399,#059669);color:#fff}.score-nearly-there{background:linear-gradient(135deg,#5EEAD4,#14B8A6);color:#fff}.score-good-progress{background:linear-gradient(135deg,#60A5FA,#3B82F6);color:#fff}.score-making-progress{background:linear-gradient(135deg,#FBBF24,#F59E0B);color:#fff}.score-keep-practicing{background:linear-gradient(135deg,#FB7185,#F43F5E);color:#fff}.score-excellent{background:linear-gradient(135deg,#34D399,#059669);color:#fff}.score-good{background:linear-gradient(135deg,#60A5FA,#3B82F6);color:#fff}.score-fair{background:linear-gradient(135deg,#FBBF24,#F59E0B);color:#fff}.score-needs-work{background:linear-gradient(135deg,#FB7185,#F43F5E);color:#fff}.hero-score-section.qualitative-only{margin-bottom:24px}.score-qualitative{background:linear-gradient(135deg,#8B5CF6,#6D28D9);color:#fff}.score-qualitative .score-value{font-size:48px;line-height:1}.dimension-scores{margin-bottom:32px}.dimension-scores h4{margin:0 0 16px;font-size:18px;color:#333}.dimensions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.dimension-card{background:#f9fafb;border-radius:8px;padding:16px;transition:transform .2s,box-shadow .2s}.dimension-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.dimension-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.dimension-name{font-size:14px;font-weight:600;color:#555}.dimension-score{font-size:16px;font-weight:700;padding:4px 12px;border-radius:12px}.dimension-bar-container{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.dimension-bar{height:100%;border-radius:4px;transition:width .6s ease-out}.dimension-description{margin:8px 0 0;font-size:12px;color:#6b7280;line-height:1.4}.narrative-feedback{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}.narrative-section{background:#f9fafb;border-radius:8px;padding:20px}.narrative-section h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#333}.narrative-section ul{margin:0;padding-left:20px;list-style:disc}.narrative-section li{margin-bottom:8px;color:#555;line-height:1.6}.strengths-section{border-left:3px solid #10B981;background:#fafafa}.strengths-section h4{color:#059669}.improvements-section{border-left:3px solid #F59E0B;background:#fafafa}.improvements-section h4{color:#d97706}.exemplar-section{border-left:3px solid #3B82F6;background:#fafafa}.exemplar-section h4{color:#2563eb}.exemplar-section blockquote{margin:0;padding:12px 16px;background:white;border-radius:6px;font-style:italic;color:#555;line-height:1.6;border:1px solid #e5e7eb}.assessment-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;margin-top:24px;border-top:1px solid #e5e7eb}.assessment-footer-left{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.assessment-timestamp,.assessment-stat{color:#9ca3af;font-size:12px}.assessment-loading{text-align:center;padding:48px 24px;background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a}.loading-spinner{margin:0 auto 16px;width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.assessment-loading p{color:#6b7280;font-size:14px}.assessment-error{text-align:center;padding:48px 24px;background:#FEF2F2;border:2px solid #FCA5A5;border-radius:12px}.assessment-error h3{margin:0 0 8px;color:#dc2626;font-size:20px}.assessment-error p{margin:0 0 16px;color:#991b1b}.retry-button{padding:10px 20px;background:#DC2626;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.retry-button:hover{background:#B91C1C}.assessment-empty{text-align:center;padding:48px 24px;background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a}.assessment-empty h3{margin:0 0 8px;color:#333;font-size:20px}.assessment-empty p{margin:0 0 24px;color:#6b7280;font-size:14px}.primary-button{padding:12px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.primary-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.confirmation-dialog{background:white;border-radius:12px;padding:32px;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirmation-dialog h3{margin:0 0 16px;font-size:22px;color:#333}.confirmation-dialog p{margin:0 0 16px;color:#555;line-height:1.6;font-size:14px}.warning-text{color:#dc2626;font-weight:600;margin-bottom:24px!important}.dialog-buttons{display:flex;gap:12px;justify-content:flex-end}.cancel-button,.confirm-button{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.cancel-button{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.cancel-button:hover{background:#e5e7eb;border-color:#9ca3af}.confirm-button{background:#DC2626;color:#fff}.confirm-button:hover{background:#B91C1C;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}@media (max-width: 768px){.assessment-results{padding:16px;border-radius:8px}.hero-score-section{margin-bottom:16px}.overall-score{padding:16px 24px}.overall-score .score-value{font-size:40px}.score-context{margin-top:10px;gap:8px}.attempt-badge,.trajectory-badge{font-size:12px;padding:3px 10px}.dimensions-grid{grid-template-columns:1fr}.narrative-section,.whats-next-section{padding:16px}.cta-button.cta-button-primary{padding:10px 20px;font-size:14px;min-width:160px}.confirmation-dialog{padding:24px}.dialog-buttons{flex-direction:column}.cancel-button,.confirm-button{width:100%}.assessment-footer{flex-direction:column;gap:8px;text-align:center}}.overall-summary{margin-top:16px;padding:16px;background:#f0f9ff;border-left:4px solid #0ea5e9;border-radius:6px}.overall-summary p{margin:0;color:#0c4a6e;font-size:15px;line-height:1.6;font-weight:500}.reflections-section{border-left:3px solid #8b5cf6;background:#fafafa}.reflections-section h4{color:#7c3aed}.reflections-section li{color:#4c1d95;font-style:italic}.transferable-skills-section{margin-top:24px;margin-bottom:24px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.transferable-skills-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f9fafb;border:none;cursor:pointer;font-size:14px;text-align:left;transition:background .2s}.transferable-skills-toggle:hover{background:#f3f4f6}.toggle-icon{font-size:10px;color:#6b7280;width:12px}.toggle-label{font-weight:600;color:#374151}.toggle-hint{color:#9ca3af;font-size:12px;font-weight:400}.transferable-skills-content{padding:16px;background:white;border-top:1px solid #e5e7eb;animation:expandDown .2s ease-out}@keyframes expandDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.transferable-skills-info{margin:0 0 16px;padding:12px;background:#fef3c7;border-radius:6px;font-size:13px;color:#92400e;line-height:1.5}.shadow-scores-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (max-width: 768px){.shadow-scores-grid{grid-template-columns:1fr}}.shadow-score-card{background:#fafafa;border-radius:8px;padding:12px;border:1px solid #e5e7eb}.shadow-score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.shadow-score-name{font-size:13px;font-weight:600;color:#374151}.shadow-score-value{font-size:14px;font-weight:700;padding:2px 8px;border-radius:10px}.shadow-score-bar-container{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:8px}.shadow-score-bar{height:100%;border-radius:3px;transition:width .6s ease-out}.shadow-score-description{margin:0;font-size:11px;color:#6b7280;line-height:1.4}.whats-next-section{margin-top:24px;padding:20px;background:#fafafa;border-radius:12px;border:1px solid #e5e7eb;text-align:center}.whats-next-section h4{margin:0 0 16px;font-size:15px;font-weight:600;color:#374151}.whats-next-buttons{display:flex;flex-direction:column;align-items:center;gap:12px}.cta-button.cta-button-primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;font-size:15px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-decoration:none;min-width:180px}.cta-button.cta-button-primary:hover{background:linear-gradient(135deg,#5a67d8 0%,#6b21a8 100%);transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.cta-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;background:none;border:none;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-decoration:none}.cta-button:hover{color:#374151;background:rgba(0,0,0,.04);border-radius:6px}.secondary-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.rerun-button-link{background:none;border:none;color:#64748b;font-size:13px;cursor:pointer;text-decoration:underline;padding:8px 0}.rerun-button-link:hover{color:#475569}@media (max-width: 480px){.whats-next-buttons{gap:8px}.cta-button.cta-button-primary{width:100%;min-width:auto}.secondary-links{flex-direction:column;width:100%}.secondary-links .cta-button{width:100%;justify-content:center}}.focus-objective-section{margin-bottom:20px;text-align:center}.focus-objective-card{display:inline-flex;align-items:center;gap:12px;padding:16px 24px;border-radius:12px;margin-bottom:12px}.focus-objective-card.passed{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:1px solid #a7f3d0}.focus-objective-card.needs-practice{background:linear-gradient(135deg,#fefce8 0%,#fef3c7 100%);border:1px solid #fde68a}.focus-objective-icon{font-size:1.5rem}.focus-objective-content{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.focus-objective-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-bottom:2px}.focus-objective-card.passed .focus-objective-label{color:#059669}.focus-objective-card.needs-practice .focus-objective-label{color:#d97706}.focus-objective-name{font-size:1rem;font-weight:500;color:#1f2937;line-height:1.4}.focus-objective-guidance{font-size:.9375rem;color:#6b7280;margin:0}.focus-eval-header{margin-bottom:1.5rem}.dashboard-link-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;margin-bottom:1rem;background:white;border:1px solid #e5e7eb;border-radius:6px;color:#4f46e5;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.dashboard-link-btn:hover{background:#f5f3ff;border-color:#c4b5fd}.focus-feedback-section{margin:1rem 0;padding:1.25rem;background:#fafafa;border-radius:8px;border-left:4px solid #7c3aed}.focus-feedback-text{margin:0;font-size:1.0625rem;line-height:1.7;color:#374151}.authoring-feedback-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.authoring-feedback-modal{background:white;border-radius:16px;padding:32px;max-width:420px;width:90%;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0003}.modal-close-btn{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:4px 8px;line-height:1;transition:color .15s ease}.modal-close-btn:hover{color:#4b5563}.authoring-feedback-content{text-align:center}.success-icon{width:60px;height:60px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px}.authoring-feedback-content h3{margin:0 0 4px;font-size:22px;font-weight:600;color:#1f2937}.modal-subtitle{margin:0 0 20px;font-size:14px;color:#6b7280}.authoring-feedback-modal .star-rating{display:flex;justify-content:center;gap:8px;margin-bottom:8px}.authoring-feedback-modal .star-btn{background:none;border:none;padding:4px;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.authoring-feedback-modal .star-btn:focus{outline:none}.authoring-feedback-modal .star-btn:focus-visible{outline:2px solid #6366f1;outline-offset:2px;border-radius:4px}.authoring-feedback-modal .star-icon{width:32px;height:32px;fill:#e5e7eb;stroke:#d1d5db;stroke-width:1;transition:fill .15s ease,stroke .15s ease;display:block;pointer-events:none}.authoring-feedback-modal .star-btn:hover .star-icon{fill:#fcd34d;stroke:#fbbf24}.authoring-feedback-modal .star-btn.filled .star-icon{fill:#fbbf24;stroke:#f59e0b}.authoring-feedback-modal .rating-label{margin:0 0 16px;font-size:14px;font-weight:500;color:#6366f1;min-height:20px}.authoring-feedback-modal .feedback-comment{margin-bottom:20px;text-align:left}.authoring-feedback-modal .feedback-comment label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.authoring-feedback-modal .feedback-comment .optional{font-weight:400;color:#9ca3af}.authoring-feedback-modal .feedback-comment textarea{width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:70px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.authoring-feedback-modal .feedback-comment textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.authoring-feedback-modal .feedback-comment textarea::placeholder{color:#9ca3af}.modal-actions{display:flex;gap:12px}.skip-btn{flex:1;padding:12px 20px;background:white;color:#6b7280;border:1px solid #e5e7eb;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.skip-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.skip-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn{flex:1;padding:12px 20px;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.submit-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 480px){.authoring-feedback-modal{padding:24px 20px;margin:16px}.authoring-feedback-content h3{font-size:20px}}.scenario-dashboard{max-width:800px;margin:0 auto;padding:1.5rem}.scenario-dashboard.loading,.scenario-dashboard.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center}.back-btn{background:none;border:none;color:#6b7280;font-size:.8125rem;cursor:pointer;padding:0;margin-bottom:1rem;display:block}.back-btn:hover{color:#111827}.dashboard-header{display:block!important;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.header-row{display:flex;align-items:flex-start;gap:1.25rem;width:100%}.avatar-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex-shrink:0;width:100px}.scenario-avatar{width:80px;height:80px;border-radius:12px;object-fit:cover}.scenario-avatar-placeholder{width:80px;height:80px;border-radius:12px;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600}.avatar-info{display:flex;flex-direction:column;align-items:center;text-align:center}.avatar-name{font-size:.8125rem;font-weight:500;color:#374151}.avatar-role{font-size:.75rem;color:#6b7280}.scenario-title{flex:1;min-width:0;margin:0;padding-top:.5rem;font-size:1.5rem;font-weight:600;color:#667eea;line-height:1.3}.scenario-brief{display:block;width:100%;margin-top:1rem;background:white;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;box-sizing:border-box}.brief-context{margin:0;font-size:.875rem;color:#374151;line-height:1.5}.brief-roles{margin:.5rem 0 0;font-size:.8125rem;color:#6b7280}.brief-roles strong{color:#374151}.role-separator{color:#d1d5db}.recommended-section{margin-bottom:1.5rem}.recommended-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#ede9fe 0%,#ddd6fe 100%);border:1px solid #c4b5fd;border-radius:12px}.recommended-content{flex:1}.recommended-label{font-size:.6875rem;font-weight:600;color:#7c3aed;text-transform:uppercase;letter-spacing:.05em}.recommended-title{margin:.25rem 0;font-size:.9375rem;font-weight:600;color:#1f2937}.recommended-progress{margin:.25rem 0;font-size:.8125rem;color:#6b7280}.recommended-tip{margin:.5rem 0 0;font-size:.8125rem;color:#4b5563}.recommended-tip em{color:#374151}.full-scenario-section{margin-bottom:1.5rem}.full-scenario-card{position:relative;display:flex;flex-direction:column;gap:.75rem;padding:1rem 120px 1rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}.full-scenario-card.mastered{background:#f0fdf4;border-color:#bbf7d0}.full-scenario-card.in-progress{background:#fffbeb;border-color:#fde68a}.full-scenario-card .practice-btn{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.full-scenario-info h3{margin:0;font-size:.9375rem;font-weight:600;color:#1f2937}.full-scenario-desc{margin:.125rem 0 0;font-size:.8125rem;color:#6b7280}.full-scenario-stats{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8125rem;color:#4b5563}.stat-item{white-space:nowrap}.not-attempted-text{color:#9ca3af;font-style:italic}.objectives-section{margin-bottom:2rem}.objectives-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.objectives-header h2{font-size:1rem;font-weight:600;margin:0;color:#374151;text-transform:uppercase;letter-spacing:.025em}.mastery-info{display:flex;align-items:center;gap:.5rem}.mastery-count{font-size:.875rem;color:#059669;font-weight:500}.scoring-info-btn{width:20px;height:20px;border-radius:50%;border:1px solid #d1d5db;background:white;color:#6b7280;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.scoring-info-btn:hover{background:#f3f4f6;color:#374151}.scoring-tooltip{background:white;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 4px 12px #0000001a}.scoring-tooltip h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#111827}.scoring-tooltip ul{margin:0;padding-left:1.25rem;font-size:.8125rem;color:#4b5563}.scoring-tooltip li{margin-bottom:.5rem}.scoring-tooltip li:last-child{margin-bottom:0}.close-tooltip{margin-top:.75rem;padding:.375rem .75rem;font-size:.75rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer}.close-tooltip:hover{background:#e5e7eb}.objectives-list{display:flex;flex-direction:column;gap:.625rem}.no-objectives{padding:2rem;text-align:center;color:#6b7280;background:#f9fafb;border-radius:8px;border:1px dashed #d1d5db}.objective-card{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1rem 120px 1rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}.objective-card.mastered{background:#f0fdf4;border-color:#bbf7d0}.objective-card.in-progress{background:#fffbeb;border-color:#fde68a}.objective-card .practice-btn{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.objective-main{display:flex;flex-direction:column;gap:.375rem}.objective-info{display:flex;align-items:baseline;gap:.375rem;flex-wrap:wrap}.objective-number{color:#9ca3af;font-size:.8125rem;font-weight:500}.objective-name{font-weight:500;color:#1f2937;font-size:.9375rem;line-height:1.4}.mastered-badge{color:#10b981;font-size:.875rem;margin-left:.25rem}.objective-progress-bar{margin:.25rem 0}.progress-track{position:relative;height:6px;background:#e5e7eb;border-radius:3px;overflow:visible}.progress-fill{height:100%;background:#fbbf24;border-radius:3px;transition:width .3s ease}.progress-fill.mastered{background:#10b981}.mastery-marker{position:absolute;top:-2px;width:2px;height:10px;background:#6b7280;border-radius:1px}.objective-stats{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:#6b7280}.stat-best{font-weight:500;color:#374151}.stat-last,.stat-attempts{color:#9ca3af}.objective-coaching{margin-top:.25rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.05)}.coaching-tip{font-size:.8125rem;color:#4b5563}.coaching-tip strong{color:#374151}.coaching-tip em{color:#6b7280}.practice-btn{background:white;color:#667eea;border:1.5px solid #667eea;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.8125rem;cursor:pointer;transition:all .2s;white-space:nowrap;min-width:90px;text-align:center}.practice-btn:hover:not(:disabled){background:#667eea;color:#fff}.practice-btn:disabled{opacity:.6;cursor:not-allowed}.practice-btn.primary{background:#667eea;color:#fff;border:none}.practice-btn.primary:hover:not(:disabled){background:#5a6fd6}.runs-section{margin-bottom:2rem}.runs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.runs-section h2{font-size:1rem;font-weight:600;margin:0;color:#374151;text-transform:uppercase;letter-spacing:.025em}.runs-tabs{display:flex;gap:.25rem;background:#f3f4f6;border-radius:6px;padding:.125rem}.tab-btn{padding:.375rem .75rem;font-size:.75rem;font-weight:500;border:none;background:transparent;color:#6b7280;border-radius:4px;cursor:pointer;transition:all .2s}.tab-btn:hover{color:#374151}.tab-btn.active{background:white;color:#111827;box-shadow:0 1px 2px #0000000d}.runs-list{display:flex;flex-direction:column;gap:.5rem}.no-runs{padding:1.5rem;text-align:center;color:#6b7280;background:#f9fafb;border-radius:8px;font-size:.875rem}.run-card{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:white;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;transition:all .2s}.run-card:hover{background:#f9fafb;border-color:#d1d5db}.run-card.in-progress{border-left:3px solid #f59e0b}.run-type{flex:1;font-size:.875rem;font-weight:500;color:#1f2937}.run-date{font-size:.75rem;color:#9ca3af;min-width:70px}.run-score{font-size:.875rem;font-weight:600;color:#374151;min-width:70px;text-align:right}.run-action{font-size:.75rem;font-weight:500;padding:.25rem .625rem;border-radius:4px;min-width:90px;text-align:center}.run-action.view{background:#f3f4f6;color:#6b7280}.run-action.continue{background:#fef3c7;color:#92400e}.show-more-btn{padding:.75rem;background:transparent;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;font-size:.8125rem;cursor:pointer;text-align:center}.show-more-btn:hover{background:#f9fafb;color:#374151}@media (max-width: 768px){.scenario-dashboard,.dashboard-header{padding:1rem}.header-row{flex-direction:column;align-items:center;text-align:center;gap:.75rem}.avatar-section{width:auto}.scenario-avatar,.scenario-avatar-placeholder{width:64px;height:64px;font-size:1.5rem}.scenario-title{font-size:1.25rem}.recommended-card{flex-direction:column;align-items:stretch}.recommended-card .practice-btn{width:100%}.full-scenario-card,.objective-card{padding-right:1rem}.full-scenario-card .practice-btn,.objective-card .practice-btn{position:static;transform:none;width:100%;margin-top:.75rem}.runs-header{flex-direction:column;align-items:stretch}.runs-tabs{justify-content:center}.run-card{flex-wrap:wrap;gap:.5rem}.run-type{flex-basis:100%}.run-action{flex:1}}.report-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.report-modal{background:white;border-radius:12px;width:100%;max-width:420px;box-shadow:0 20px 40px #0003;overflow:hidden}.report-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.report-header h2{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.close-btn{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;line-height:1;transition:color .15s}.close-btn:hover{color:#111827}.report-body{padding:1.5rem}.report-scenario-name{margin:0 0 1.25rem;padding:.75rem 1rem;background:#f3f4f6;border-radius:8px;color:#374151;font-size:.95rem}.report-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.report-select{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;color:#111827;background:white;cursor:pointer;margin-bottom:1.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem}.report-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.report-textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;min-height:80px;color:#111827}.report-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.report-textarea::placeholder{color:#9ca3af}.report-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb}.btn-cancel{padding:.625rem 1.25rem;border:1px solid #d1d5db;border-radius:8px;background:white;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-cancel:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-submit{padding:.625rem 1.25rem;border:none;border-radius:8px;background:#ef4444;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-submit:hover:not(:disabled){background:#dc2626}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.scenario-detail-modal{background:white;border-radius:16px;max-width:520px;width:90%;padding:0;box-shadow:0 20px 40px #00000026;animation:slideUp .2s ease-out;position:relative}.modal-close-btn{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:1.5rem;line-height:1;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.scenario-detail-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb}.scenario-detail-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:600;color:#1f2937;padding-right:2rem;line-height:1.3}.scenario-detail-header .visibility-badge{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.scenario-detail-header .visibility-badge.private{background:#f3f4f6;color:#6b7280}.scenario-detail-header .visibility-badge.shared{background:#dbeafe;color:#1d4ed8}.scenario-detail-header .visibility-badge.public{background:#d1fae5;color:#047857}.scenario-detail-content{padding:1.5rem}.scenario-detail-summary{margin:0 0 1.5rem;font-size:1rem;color:#4b5563;line-height:1.6}.scenario-detail-stats{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem;background:#f9fafb;border-radius:12px}.stat-item{display:flex;align-items:center;gap:.375rem;font-size:.9rem}.stat-icon{font-size:1rem}.stat-value{font-weight:600;color:#1f2937}.stat-label{color:#6b7280}.scenario-detail-actions{padding:1rem 1.5rem 1.5rem;display:flex;gap:.75rem;border-top:1px solid #e5e7eb}.scenario-detail-actions .action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.scenario-detail-actions .action-btn .btn-icon{font-size:1rem}.scenario-detail-actions .action-btn.secondary{border:1px solid #d1d5db;background:white;color:#374151}.scenario-detail-actions .action-btn.secondary:hover{background:#f3f4f6;border-color:#9ca3af}.scenario-detail-actions .action-btn.primary{border:none;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.scenario-detail-actions .action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.scenario-detail-actions .action-btn.danger{border:1px solid #fecaca;background:#fef2f2;color:#dc2626}.scenario-detail-actions .action-btn.danger:hover{background:#fee2e2;border-color:#f87171}.scenario-detail-actions .action-btn.warning{border:1px solid #fed7aa;background:#fff7ed;color:#c2410c}.scenario-detail-actions .action-btn.warning:hover{background:#ffedd5;border-color:#fb923c}@media (max-width: 480px){.scenario-detail-actions{flex-direction:column}.scenario-detail-stats{flex-direction:column;gap:.75rem}}.share-settings-modal{background:white;border-radius:16px;max-width:480px;width:90%;padding:0;box-shadow:0 20px 40px #00000026;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.share-modal-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb}.share-modal-header h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#1f2937}.share-scenario-name{margin:0;font-size:.9rem;color:#6b7280;font-style:italic}.share-options{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.share-option{display:flex;flex-direction:column;gap:.5rem}.share-option-header{display:flex;justify-content:space-between;align-items:center}.toggle-label{display:flex;justify-content:space-between;align-items:center;width:100%;cursor:pointer}.toggle-text{font-size:1rem;font-weight:500;color:#1f2937}.toggle-switch{position:relative;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d1d5db;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.share-option-description{margin:0;font-size:.875rem;color:#6b7280;line-height:1.5}.toggle-hint{color:#9ca3af;font-style:italic}.share-modal-footer{padding:1rem 1.5rem 1.5rem;display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid #e5e7eb}.share-modal-footer .btn-secondary{padding:.625rem 1.25rem;border-radius:8px;border:1px solid #d1d5db;background:white;color:#374151;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.share-modal-footer .btn-secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.share-modal-footer .btn-primary{padding:.625rem 1.25rem;border-radius:8px;border:none;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.share-modal-footer .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.share-modal-footer button:disabled{opacity:.6;cursor:not-allowed}.community-feed-page{min-height:100vh;background:#f5f5f5}.community-feed-page .community-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:2rem}.community-feed-page .header-content{max-width:1200px;margin:0 auto}.community-feed-page .back-button{background:rgba(255,255,255,.2);border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;margin-bottom:1rem;transition:background .2s}.community-feed-page .back-button:hover{background:rgba(255,255,255,.3)}.community-feed-page .community-header h1{font-size:2rem;margin:0 0 .5rem;color:#fff!important;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:white!important}.community-feed-page .header-subtitle{opacity:.9;margin:0;font-size:1.1rem;color:#fff!important;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:white!important}.community-tabs{max-width:1200px;margin:0 auto;padding:1.5rem 2rem 0;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.tab{padding:.75rem 1.5rem;border:2px solid #e0e0e0;background:white;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s;color:#555;position:relative}.tab:hover{border-color:#667eea;color:#667eea}.tab.active{background:#667eea;border-color:#667eea;color:#fff}.tab-count-badge{background:#ef4444;color:#fff;font-size:.7rem;font-weight:600;padding:.15rem .4rem;border-radius:999px;margin-left:.5rem;min-width:1.2rem;text-align:center}.tab-count-badge.warning{background:#f59e0b}.tab.active .tab-count-badge{background:white;color:#667eea}.filter-buttons{margin-left:auto;display:flex;gap:.25rem;background:#e5e7eb;border-radius:8px;padding:.25rem}.filter-btn{padding:.5rem 1rem;border:none;border-radius:6px;background:transparent;color:#666;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.filter-btn:hover{color:#333}.filter-btn.active{background:white;color:#667eea;box-shadow:0 1px 3px #0000001a}.community-content{max-width:1200px;margin:0 auto;padding:2rem}.scenarios-feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.feed-description{grid-column:1 / -1;color:#666;margin:0 0 1rem}.community-feed-page .scenario-card{background:white;border-radius:10px;padding:1rem;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;border:1px solid #e5e7eb}.community-feed-page .scenario-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a;border-color:#667eea}.community-feed-page .card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.community-feed-page .card-header .scenario-card-avatar{width:40px;height:40px;flex-shrink:0}.community-feed-page .card-title-block{flex:1;min-width:0}.community-feed-page .scenario-title{font-size:1rem;font-weight:600;color:#333;margin:0;line-height:1.3}.community-feed-page .scenario-author{color:#888;font-size:.8rem;font-style:italic;margin:.125rem 0 0}.community-feed-page .scenario-summary{color:#555;font-size:.875rem;line-height:1.5;margin:0 0 .5rem;flex-grow:1;background:none!important;border:none!important;padding:0!important;border-radius:0!important;display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:unset!important;overflow:visible!important}.community-feed-page .card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.75rem;border-top:1px solid #f0f0f0}.community-feed-page .shared-date{font-size:.8rem;color:#999}.community-feed-page .card-footer-actions{display:flex;gap:.5rem;align-items:center}.btn-primary{background:#667eea;color:#fff;border:none;padding:.625rem 1.25rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.btn-primary:hover{background:#5a6fd6}.btn-secondary{background:#e5e7eb;color:#374151;border:none;padding:.625rem 1.25rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.btn-secondary:hover{background:#d1d5db}.btn-text{background:transparent;border:none;color:#6b7280;padding:.5rem .75rem;cursor:pointer;font-size:.85rem;transition:color .2s}.btn-text:hover{color:#374151}.btn-danger-text{color:#dc2626}.btn-danger-text:hover{color:#b91c1c}.my-scenarios{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.my-scenarios .feed-description{grid-column:1 / -1}.create-new-card-prominent{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-radius:12px;padding:2rem;display:flex;align-items:center;justify-content:center;gap:1rem;cursor:pointer;font-size:1.1rem;font-weight:500;transition:transform .2s,box-shadow .2s;grid-column:1 / -1}.create-new-card-prominent:hover{transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.plus-icon{font-size:1.5rem;font-weight:700}.my-scenario-card{position:relative;background:white;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.my-scenario-card.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.my-scenario-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.my-scenario-card .card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.my-scenario-card .scenario-card-avatar{width:40px;height:40px;flex-shrink:0}.my-scenario-card .card-title-block{flex:1;min-width:0}.my-scenario-card .scenario-title{font-size:1rem;font-weight:600;color:#333;margin:0;line-height:1.3}.visibility-badge.floating{position:absolute;bottom:1rem;right:1rem}.my-scenarios-filters{display:flex;gap:.5rem;margin-bottom:1rem}.visibility-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.visibility-badge.private{background:#f3f4f6;color:#6b7280}.visibility-badge.shared{background:#dbeafe;color:#1d4ed8}.visibility-badge.public{background:#d1fae5;color:#047857}.scenario-stats{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:#666;margin-bottom:1rem}.card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.action-button{padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.action-button.primary{background:#667eea;color:#fff;border:none}.action-button.primary:hover{background:#5a6fd6}.action-button.secondary{background:white;color:#374151;border:1px solid #d1d5db}.action-button.secondary:hover{background:#f3f4f6}.action-button.danger{background:#ef4444;color:#fff;border:none}.action-button.danger:hover{background:#dc2626}.leaderboard{display:flex;flex-direction:column;gap:1rem}.leaderboard-item{background:white;border-radius:12px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 2px 8px #0000000d}.rank{font-size:1.5rem;font-weight:700;color:#667eea;min-width:3rem}.item-content{flex:1}.item-content .scenario-title,.item-content .scenario-author{margin-bottom:.25rem}.item-content .scenario-summary{margin:0;font-size:.9rem}.item-stats{text-align:center}.upvote-count{font-size:1.25rem;font-weight:700;color:#667eea}.community-feed-page .moderation-queue{display:flex;flex-direction:column;gap:.75rem}.community-feed-page .moderation-item{background:white;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb;border-left:3px solid #f59e0b}.community-feed-page .moderation-scenario-title{font-size:1rem;font-weight:600;color:#333;margin:0 0 .5rem}.community-feed-page .moderation-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:1rem}.community-feed-page .report-tags{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.community-feed-page .reason-tag{background:#f3f4f6;color:#6b7280;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:capitalize}.community-feed-page .report-count-tag{background:#fef2f2;color:#dc2626;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600}.community-feed-page .reported-date{font-size:.8rem;color:#9ca3af;white-space:nowrap}.community-feed-page .moderation-actions{display:flex;gap:.5rem}.community-feed-page .mod-btn{padding:.4rem .875rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid transparent}.community-feed-page .mod-btn.dismiss{background:#f3f4f6;color:#374151;border-color:#e5e7eb}.community-feed-page .mod-btn.dismiss:hover{background:#e5e7eb}.community-feed-page .mod-btn.hide{background:#fef2f2;color:#dc2626;border-color:#fecaca}.community-feed-page .mod-btn.hide:hover{background:#fee2e2}.community-feed-page .mod-btn.review{background:white;color:#667eea;border-color:#667eea}.community-feed-page .mod-btn.review:hover{background:#f0f4ff}.community-feed-page .report-details{color:#666;font-size:.9rem;margin:.75rem 0;font-style:italic}.community-feed-page .moderation-actions{display:flex;gap:.5rem;margin-top:1rem}.empty-state,.loading-container{text-align:center;padding:4rem 2rem;background:white;border-radius:12px;box-shadow:0 2px 8px #0000000d;grid-column:1 / -1}.empty-state h3{color:#374151;margin-bottom:.5rem}.empty-state p{color:#6b7280;margin-bottom:1.5rem}.cta-button{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:background .2s}.cta-button:hover{background:#5a6fd6}.loading-spinner{font-size:1.1rem;color:#667eea}.remove-modal{background:white;border-radius:12px;padding:1.5rem;width:90%;max-width:400px;box-shadow:0 20px 40px #0003}.remove-modal h3{margin:0 0 .5rem;color:#333}.modal-scenario-name{color:#666;font-size:.9rem;margin:0 0 1.25rem;padding-bottom:1rem;border-bottom:1px solid #eee}.remove-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.remove-option{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;background:white;cursor:pointer;text-align:left;transition:all .2s}.remove-option:hover{border-color:#667eea;background:#f8f9ff}.remove-option.hide-option:hover{border-color:#ef4444;background:#fff5f5}.option-icon{font-size:1.5rem;flex-shrink:0}.option-content{display:flex;flex-direction:column;gap:.25rem}.option-content strong{color:#333}.option-content span{font-size:.85rem;color:#666}.modal-cancel{width:100%;padding:.75rem;background:#f3f4f6;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:.9rem;transition:background .2s}.modal-cancel:hover{background:#e5e7eb}@media (max-width: 768px){.community-header{padding:1.5rem 1rem}.community-header h1{font-size:1.5rem}.community-tabs,.community-content{padding:1rem}.scenarios-feed,.my-scenarios{grid-template-columns:1fr}.card-footer{flex-direction:column;gap:1rem}.card-footer-actions{width:100%;justify-content:flex-end}.create-new-card-prominent{padding:1.5rem;font-size:1rem}}.my-scenarios-page{min-height:100vh;background:#f5f5f5}.my-scenarios-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:1.5rem 2rem}.my-scenarios-header .header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.my-scenarios-header .header-left{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.my-scenarios-header .back-button{background:rgba(255,255,255,.2);border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s;flex-shrink:0}.my-scenarios-header .back-button:hover{background:rgba(255,255,255,.3)}.my-scenarios-header h1{font-size:1.75rem;margin:0;color:#fff!important;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:white!important}.my-scenarios-header .header-subtitle{opacity:.85;margin:0;font-size:1rem;color:#fff!important}.my-scenarios-stats-bar{background:white;border-bottom:1px solid #e5e7eb}.my-scenarios-stats-bar .stats-content{max-width:1200px;margin:0 auto;padding:.75rem 2rem;display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:#6b7280}.my-scenarios-stats-bar .stat-separator{color:#d1d5db}.my-scenarios-filter-bar{background:white;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.my-scenarios-filter-bar .filter-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.my-scenarios-filter-bar .search-wrapper{flex:1;min-width:200px;position:relative}.my-scenarios-filter-bar .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:.9rem;color:#9ca3af}.my-scenarios-filter-bar .search-input{width:100%;padding:.625rem 2.5rem .625rem 2.25rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.my-scenarios-filter-bar .search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.my-scenarios-filter-bar .clear-search{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:#e5e7eb;border:none;width:20px;height:20px;border-radius:50%;font-size:.8rem;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.my-scenarios-filter-bar .clear-search:hover{background:#d1d5db;color:#374151}.my-scenarios-filter-bar .visibility-filters{display:flex;gap:.25rem;background:#e5e7eb;border-radius:8px;padding:.25rem}.my-scenarios-filter-bar .filter-btn{padding:.5rem 1rem;border:none;border-radius:6px;background:transparent;color:#666;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.my-scenarios-filter-bar .filter-btn:hover{color:#333}.my-scenarios-filter-bar .filter-btn.active{background:white;color:#667eea;box-shadow:0 1px 3px #0000001a}.my-scenarios-filter-bar .filter-separator{display:flex;align-items:center;color:#9ca3af;padding:0 .25rem}.my-scenarios-filter-bar .filter-btn.active.archived{background:#fef3c7;color:#92400e}.my-scenarios-content{max-width:1200px;margin:0 auto;padding:2rem}.my-scenarios-page .scenarios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.my-scenarios-page .create-new-card{background:white;color:#667eea;border:2px dashed #667eea;border-radius:12px;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;transition:all .2s;min-height:180px}.my-scenarios-page .create-new-card:hover{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.my-scenarios-page .create-new-card .plus-icon{font-size:2.5rem;font-weight:300;opacity:.9}.my-scenarios-page .create-new-card .create-text{font-size:1.1rem;font-weight:500}.my-scenarios-page .scenario-card{position:relative;background:white;border-radius:12px;padding:20px 16px;border:1px solid #ddd;display:flex;flex-direction:column;align-items:flex-start;min-height:180px}.my-scenarios-page .scenario-card.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.my-scenarios-page .scenario-card.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.my-scenarios-page .visibility-badge.floating{position:absolute;bottom:16px;right:16px}.my-scenarios-page .visibility-badge{padding:.25rem .625rem;border-radius:20px;font-size:.7rem;font-weight:600}.my-scenarios-page .visibility-badge.private{background:#f3f4f6;color:#6b7280}.my-scenarios-page .visibility-badge.shared{background:#dbeafe;color:#1d4ed8}.my-scenarios-page .visibility-badge.public{background:#d1fae5;color:#047857}.my-scenarios-page .card-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;width:100%}.my-scenarios-page .scenario-card-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#f8f9fa;display:flex;align-items:center;justify-content:center;border:2px solid #667eea}.my-scenarios-page .scenario-card-avatar img{width:100%;height:100%;object-fit:cover}.my-scenarios-page .scenario-card-avatar.placeholder{border:2px dashed #d1d5db;background:#f3f4f6}.my-scenarios-page .scenario-card-avatar .avatar-outline{font-size:1.25rem;opacity:.5}.my-scenarios-page .card-title-block{flex:1;min-width:0}.my-scenarios-page .scenario-title{font-size:1rem;font-weight:600;color:#333;margin:0;line-height:1.3}.my-scenarios-page .scenario-summary{color:#666;font-size:.85rem;line-height:1.4;margin:0 0 12px;flex-grow:1;text-align:left;background:none!important;border:none!important;border-radius:0!important;padding:0!important;display:block;-webkit-line-clamp:unset;-webkit-box-orient:unset;overflow:visible}.my-scenarios-page .scenario-stats{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;color:#9ca3af;margin-top:auto}.my-scenarios-page .scenario-stats .stat{color:#6b7280}.my-scenarios-page .loading-container,.my-scenarios-page .empty-state{text-align:center;padding:4rem 2rem;background:white;border-radius:12px;box-shadow:0 2px 8px #0000000d}.my-scenarios-page .loading-spinner{font-size:1.1rem;color:#667eea}.my-scenarios-page .empty-state p{color:#6b7280;margin-bottom:1.5rem}.my-scenarios-page .cta-button{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:background .2s}.my-scenarios-page .cta-button:hover{background:#5a6fd6}.my-scenarios-page .empty-state-inline{grid-column:2 / -1;text-align:left;padding:2rem;background:#f9fafb;border-radius:12px}.my-scenarios-page .empty-state-inline h3{margin:0 0 .5rem;color:#374151;font-size:1rem}.my-scenarios-page .empty-state-inline p{margin:0;color:#6b7280;font-size:.9rem}@media (max-width: 768px){.my-scenarios-header{padding:1.5rem 1rem}.my-scenarios-header h1{font-size:1.5rem}.my-scenarios-stats-bar .stats-content{padding:.75rem 1rem}.my-scenarios-filter-bar .filter-content{padding:1rem;flex-direction:column;align-items:stretch}.my-scenarios-filter-bar .search-wrapper{min-width:100%}.my-scenarios-filter-bar .visibility-filters{justify-content:center}.my-scenarios-content{padding:1rem}.my-scenarios-page .scenarios-grid{grid-template-columns:1fr}.my-scenarios-page .empty-state-inline{grid-column:1}}.App{min-height:100vh;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%)}.app-loading,.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.loading-spinner{font-size:2rem;animation:spin 2s linear infinite}.home-page{padding:2rem;max-width:1200px;margin:0 auto}.home-header{text-align:center;padding:4rem 0}.home-header h1{font-size:3rem;margin-bottom:1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-subtitle{font-size:1.2rem;color:#666;margin-bottom:2rem}.get-started-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;border-radius:.5rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.get-started-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.features-preview{margin:4rem 0;text-align:center}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:2rem 0}.feature-preview{background:white;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.system-status{text-align:center;margin:2rem 0}.status-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:1rem;background:white}.status-dot{width:10px;height:10px;border-radius:50%}.status-indicator.ok .status-dot{background:#28a745}.status-indicator.error .status-dot{background:#dc3545}.development-status{text-align:center;background:#e3f2fd;padding:1.5rem;border-radius:1rem;border-left:4px solid #2196f3}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.login-container{background:white;padding:3rem;border-radius:1rem;box-shadow:0 10px 25px #0000001a;max-width:500px;width:100%}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.login-form{margin:2rem 0}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input{width:100%;padding:1rem;border:2px solid #e1e5e9;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea}.magic-link-button{width:100%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:1rem;font-size:1.1rem;border-radius:.5rem;cursor:pointer;transition:opacity .2s}.magic-link-button:disabled{opacity:.6;cursor:not-allowed}.success-message,.error-message{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;border-radius:.5rem;margin:1rem 0}.success-message{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.info-message{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;border-radius:.5rem;margin:1rem 0;background:#e3f2fd;border:1px solid #90caf9;color:#1565c0}.info-message.session-expired{background:#fff3e0;border:1px solid #ffb74d;color:#e65100}.message-icon{font-size:1.5rem}.message-content h3{margin:0 0 .5rem}.message-hint{background:rgba(0,0,0,.05);padding:.75rem;border-radius:.25rem;font-size:.9rem;margin-top:.5rem}.login-footer{text-align:center;font-size:.9rem;color:#666;border-top:1px solid #e1e5e9;padding-top:1rem}.verify-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.verify-container{background:white;padding:3rem;border-radius:1rem;box-shadow:0 10px 25px #0000001a;max-width:500px;width:100%;text-align:center}.success-icon,.error-icon{font-size:3rem;margin-bottom:1rem}.verify-actions{margin:2rem 0;display:flex;gap:1rem;justify-content:center}.retry-button,.home-button{padding:.75rem 1.5rem;border:none;border-radius:.5rem;cursor:pointer;font-size:1rem}.retry-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.home-button{background:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.verify-help{text-align:left;background:#f8f9fa;padding:1rem;border-radius:.5rem;margin-top:2rem}.dashboard-page{padding:2rem;max-width:1200px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;background:white;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem}.user-info{display:flex;align-items:center;gap:1rem}.user-avatar{font-size:3rem;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center}.user-email{color:#666;margin:.5rem 0}.role-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:500}.role-admin{background:#ffd700;color:#8b7000}.role-facilitator{background:#e3f2fd;color:#1976d2}.role-learner{background:#e8f5e8;color:#2e7d32}.logout-button{background:#dc3545;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer}.dashboard-content{display:grid;gap:2rem}.role-info-card{background:white;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a}.role-info{display:flex;align-items:center;gap:1rem}.role-icon-large{font-size:4rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.features-grid.learner-row-2{grid-template-columns:repeat(3,1fr)}@media (max-width: 1000px){.features-grid.learner-row-2{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.features-grid.learner-row-2{grid-template-columns:1fr}}.feature-card{background:white;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a;position:relative;transition:transform .2s,box-shadow .2s}.feature-card.clickable{cursor:pointer}.feature-card.clickable:hover{transform:translateY(-2px);box-shadow:0 8px 15px #00000026}.coming-soon{position:absolute;top:1rem;right:1rem;background:#ffc107;color:#8b6914;padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:500}.dashboard-section{background:#f8f9fa;border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem}.dashboard-section .section-label{font-size:1.1rem;font-weight:600;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid transparent}.admin-section{background:linear-gradient(135deg,#fff8e1 0%,#fff3e0 100%);border-left:4px solid #f57c00}.admin-section .section-label{color:#e65100;border-bottom-color:#ffb74d}.facilitator-section{background:linear-gradient(135deg,#e3f2fd 0%,#e8f4fd 100%);border-left:4px solid #1976d2}.facilitator-section .section-label{color:#1565c0;border-bottom-color:#64b5f6}.learner-section{background:linear-gradient(135deg,#ede7f6 0%,#f3e5f5 100%);border-left:4px solid #7c4dff}.learner-section .section-label{color:#512da8;border-bottom-color:#b388ff}.dashboard-section .feature-card{background:white;border:1px solid rgba(0,0,0,.05)}.dashboard-section .feature-card.clickable:hover{border-color:#0000001a}.assignments-section{margin-top:2rem;margin-bottom:1.5rem}.assignments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.assignments-section .section-label{font-size:1.25rem;font-weight:600;color:#333;margin:0}.assignments-search{position:relative;display:flex;align-items:center}.assignment-search-input{padding:.5rem 2rem .5rem .75rem;border:1px solid #dee2e6;border-radius:.5rem;font-size:.875rem;width:200px;transition:border-color .2s,box-shadow .2s}.assignment-search-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.assignments-search .clear-search{position:absolute;right:.5rem;background:none;border:none;color:#6c757d;cursor:pointer;font-size:1.1rem;padding:0;line-height:1}.assignments-search .clear-search:hover{color:#333}.assignments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.assignment-card{background:white;padding:1.25rem;border-radius:.75rem;box-shadow:0 2px 8px #00000014;border:1px solid #e9ecef;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;gap:.75rem}.assignment-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.assignment-card.overdue{border-left:4px solid #dc3545;background:linear-gradient(135deg,#fff5f5 0%,#fff 100%)}.assignment-card.due-soon{border-left:4px solid #fd7e14;background:linear-gradient(135deg,#fff8f0 0%,#fff 100%)}.assignment-card.in_progress{border-left:4px solid #007bff}.assignment-card.completed{border-left:4px solid #28a745}.assignment-card.not_started{border-left:4px solid #6c757d}.assignment-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.assignment-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:2px solid #667eea}.assignment-avatar img{width:100%;height:100%;object-fit:cover}.assignment-avatar.placeholder{border:2px dashed #ccc;background:transparent}.assignment-avatar .avatar-outline{font-size:20px;opacity:.4}.assignment-title{font-size:1rem;font-weight:600;color:#333;margin:0;flex:1}.status-badge{font-size:.7rem;font-weight:500;padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap}.status-badge.overdue{background:#f8d7da;color:#721c24}.status-badge.in_progress{background:#cce5ff;color:#004085}.status-badge.not_started{background:#e2e3e5;color:#495057}.status-badge.completed{background:#d4edda;color:#155724}.assignment-progress{display:flex;gap:1rem;padding:.75rem;background:#f8f9fa;border-radius:.5rem}.progress-stat{display:flex;flex-direction:column;align-items:center;flex:1}.progress-stat .stat-label{font-size:.7rem;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.progress-stat .stat-value{font-size:1.1rem;font-weight:600;color:#333}.progress-stat .stat-value.score-badge{color:#28a745}.deadline{font-size:.85rem;color:#6c757d;padding:.25rem 0}.deadline.overdue{color:#dc3545;font-weight:600}.deadline.due-soon{color:#fd7e14;font-weight:500}.deadline.due-today{color:#fd7e14;font-weight:600}.assignment-cta{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);color:#fff;border:none;padding:.625rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:transform .15s,box-shadow .15s;margin-top:auto}.assignment-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.assignment-cta:disabled{opacity:.6;cursor:not-allowed;transform:none}.assignments-loading{text-align:center;padding:2rem;color:#666}@media (max-width: 768px){.assignments-grid{grid-template-columns:1fr}.assignment-progress{flex-wrap:wrap}.progress-stat{min-width:60px}}.development-info{background:#e3f2fd;padding:2rem;border-radius:1rem;border-left:4px solid #2196f3;text-align:center}.access-denied{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.access-denied-container{background:white;padding:3rem;border-radius:1rem;box-shadow:0 10px 25px #0000001a;max-width:500px;width:100%;text-align:center}.access-denied-icon{font-size:3rem;margin-bottom:1rem}.not-found{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.chat-container{display:flex;flex-direction:column;height:100vh;max-width:1200px;margin:0 auto;background:white;border-radius:8px;box-shadow:0 4px 6px #0000001a}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:2px solid #f0f0f0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-radius:8px 8px 0 0}.chat-header.focus-mode{background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);border-bottom:3px solid #a78bfa}.focus-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.2);padding:.25rem .5rem;border-radius:4px;display:inline-block;margin-bottom:.25rem}.focus-context{font-size:.85rem;opacity:.9;margin-top:.25rem}.chat-header-content{display:flex;align-items:center;gap:1.5rem;width:100%}.chat-header-avatar{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex-shrink:0}.header-avatar-image{width:72px;height:72px;border-radius:50%;overflow:hidden;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.6)}.header-avatar-image img{width:100%;height:100%;object-fit:cover}.header-avatar-image .avatar-placeholder{font-size:32px}.header-avatar-name{font-weight:600;font-size:.9rem;white-space:nowrap;text-align:center;max-width:100px;overflow:hidden;text-overflow:ellipsis}.skills-link{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.skills-link:hover{background:rgba(255,255,255,.15);border-color:#ffffffb3}.chat-badges{position:relative}.message-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;background:#f0f0f0;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid #667eea}.message-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder-small{font-size:18px}.bot-name-title{font-weight:600}.bot-title{font-weight:400;opacity:.8}.chat-info h2{margin:0;font-size:1.5rem}.chat-info p{margin:.5rem 0;opacity:.9}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:700;text-transform:uppercase}.status-badge.active{background:#10b981;color:#fff}.status-badge.completed{background:#6b7280;color:#fff}.modality-badge{padding:.25rem .75rem;border-radius:8px;font-size:.8rem;font-weight:500;background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.duration-info,.data-usage-info{padding:.25rem .75rem;border-radius:8px;font-size:.8rem;font-weight:500;background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.skills-badge{padding:.25rem .75rem;border-radius:8px;font-size:.8rem;font-weight:500;background:#fffbeb;color:#b45309;border:1px solid #fde68a;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.skills-badge:hover{background:#fef3c7;border-color:#fcd34d}.skills-badge:active{background:#fde68a}.skills-popover-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:transparent}.skills-popover{position:absolute;top:calc(100% + 8px);right:0;background:white;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1001;min-width:280px;max-width:320px;max-height:calc(100vh - 200px);overflow-y:auto;animation:popoverFadeIn .2s ease-out}@media (max-width: 768px){.skills-popover{position:fixed;top:auto;bottom:80px;left:50%;transform:translate(-50%);max-width:calc(100vw - 2rem);min-width:calc(100vw - 2rem);max-height:calc(100vh - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.skills-popover-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.skills-popover-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;color:#374151;font-size:.875rem}.skills-popover-close{background:none;border:none;color:#9ca3af;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.skills-popover-close:hover{background:#f3f4f6;color:#374151}.skills-popover-list{padding:.5rem;max-height:300px;overflow-y:auto}.skills-popover-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;border-radius:6px;transition:background .15s;gap:.75rem}.skills-popover-item:hover{background:#f9fafb}.skills-popover-name{color:#111827;font-size:.875rem;font-weight:500;flex:1}.skills-popover-weight{color:#f59e0b;font-size:.75rem;font-weight:700;background:#fef3c7;padding:.125rem .5rem;border-radius:8px;flex-shrink:0}.chat-header-content{display:flex;justify-content:space-between;align-items:flex-start}.chat-header-meta{display:flex;align-items:center;gap:1rem}.chat-header-actions{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end;flex-shrink:0}.chat-actions{display:flex;gap:1rem}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:12px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8 0%,#6b46c1 100%);transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-back{padding:12px 24px;background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-back:hover{background:#e5e7eb;color:#4b5563;border-color:#9ca3af}@media (max-width: 768px){.btn-primary,.btn-secondary,.btn-back{padding:10px 20px;font-size:14px;min-height:44px}}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.message{display:flex;max-width:70%;gap:.75rem;align-items:flex-start}.user-message{align-self:flex-end;flex-direction:row-reverse}.bot-message{align-self:flex-start}.message-content{background:#f8fafc;padding:1rem;border-radius:12px;border:1px solid #e2e8f0;position:relative}.bot-message .message-content:before{content:"";position:absolute;left:-8px;top:12px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:8px solid #e2e8f0}.bot-message .message-content:after{content:"";position:absolute;left:-6px;top:12px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:8px solid #f8fafc}.user-message .message-content{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.user-message .message-content:before{content:"";position:absolute;right:-8px;top:12px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid #764ba2}.user-message .message-content:after{display:none}.message-role{font-size:.8rem;font-weight:700;margin-bottom:.5rem;opacity:.8}.message-text{line-height:1.5;white-space:pre-wrap}.message-time{font-size:.7rem;margin-top:.5rem;opacity:.6}.voice-message .message-content{background:linear-gradient(to right,rgba(156,39,176,.05),transparent);border-left:3px solid rgba(156,39,176,.3)}.user-message.voice-message .message-content{background:linear-gradient(135deg,#7c3aed 0%,#9333ea 100%);border-left:3px solid rgba(255,255,255,.3);color:#fff}.voice-indicator{margin-left:8px;font-size:.9em;opacity:.8}.streaming{opacity:.8}.typing-indicator{animation:blink 1s infinite}.typing-dots{display:inline-flex;gap:4px;align-items:center}.typing-dots .dot{animation:typing-dot 1.4s infinite;opacity:.3}.typing-dots .dot:nth-child(1){animation-delay:0s}.typing-dots .dot:nth-child(2){animation-delay:.2s}.typing-dots .dot:nth-child(3){animation-delay:.4s}@keyframes typing-dot{0%,60%,to{opacity:.3}30%{opacity:1}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.opening-loading-container{display:flex;justify-content:center;align-items:center;padding:60px 20px;min-height:200px}.opening-loading-content{text-align:center;max-width:300px}.opening-loading-icon{font-size:48px;margin-bottom:16px;animation:pulse 2s ease-in-out infinite}.opening-loading-text{font-size:18px;font-weight:600;color:#374151;margin-bottom:8px}.opening-loading-subtext{font-size:14px;color:#6b7280;margin-bottom:16px}.opening-loading-dots{display:inline-flex;gap:6px;align-items:center;font-size:24px;color:#667eea}.opening-loading-dots .dot{animation:typing-dot 1.4s infinite;opacity:.3}.opening-loading-dots .dot:nth-child(1){animation-delay:0s}.opening-loading-dots .dot:nth-child(2){animation-delay:.2s}.opening-loading-dots .dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.chat-input-disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.7}.chat-input-container{padding:1rem 2rem;border-top:2px solid #f0f0f0;background:#f8fafc}.chat-input-wrapper{display:flex;gap:1rem;align-items:flex-end}.chat-input{flex:1;padding:1rem;border:2px solid #e2e8f0;border-radius:12px;resize:vertical;min-height:50px;font-family:inherit;font-size:1rem;transition:border-color .2s}.chat-input:focus{outline:none;border-color:#667eea}.send-button{padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:1.2rem;transition:all .2s}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.send-button:disabled{opacity:.5;cursor:not-allowed}.persona-context-card{margin:0 1rem 1rem;padding:1.5rem;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border:2px solid #cbd5e0;border-radius:16px;box-shadow:0 4px 12px #0000001a;transition:all .3s ease}.persona-context-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea26}.persona-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.persona-header.clickable{cursor:pointer;margin-bottom:0}.persona-header.clickable:hover{background:rgba(102,126,234,.1);border-radius:12px;padding:.5rem;margin:-.5rem}.persona-title-section{display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:4px}.persona-title-section h3{margin:0;font-size:1rem;font-weight:600}.persona-context-card.collapsed{padding:1rem 1.5rem}.persona-context-card.collapsed .persona-header{margin-bottom:0}.persona-header h3{margin:0;color:#2d3748;font-size:1.1rem;font-weight:600}.persona-role{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500;white-space:nowrap}.persona-description{color:#4a5568;margin:.8rem 0;line-height:1.5;font-style:italic}.persona-style,.persona-traits{margin:.6rem 0;color:#2d3748;font-size:.9rem}.persona-style strong,.persona-traits strong{color:#667eea}.expand-toggle{background:none;border:none;color:#667eea;font-size:1rem;cursor:pointer;padding:.2rem .5rem;border-radius:50%;transition:all .2s ease}.expand-toggle:hover{background:rgba(102,126,234,.1);transform:scale(1.1)}.persona-details{padding-top:1rem;border-top:1px solid #e2e8f0;margin-top:1rem;animation:slideDown .3s ease-in-out}.prompt-preview-panel{margin:0 1rem 1rem;background:linear-gradient(135deg,#fff8f0 0%,#fef2e8 100%);border:2px solid #fed7aa;border-radius:16px;box-shadow:0 4px 12px #fb923c1a;transition:all .3s ease}.prompt-preview-panel:hover{transform:translateY(-2px);box-shadow:0 8px 25px #fb923c26}.prompt-preview-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;cursor:pointer;border-radius:14px;transition:all .2s ease}.prompt-preview-header:hover{background:rgba(251,146,60,.1)}.prompt-preview-panel.collapsed .prompt-preview-header{padding:1rem 1.5rem}.preview-title-section{flex:1}.preview-title-section h3{margin:0 0 .5rem;color:#ea580c;font-size:1.1rem;font-weight:600}.preview-subtitle{color:#9a3412;font-size:.85rem;opacity:.8;font-style:italic}.prompt-preview-content{padding:0 1.5rem 1.5rem;animation:slideDown .3s ease-in-out}.loading-state,.error-state{display:flex;align-items:center;gap:.5rem;padding:1rem;border-radius:8px;font-size:.9rem}.loading-state{background:#f0f9ff;color:#0369a1}.error-state{background:#fef2f2;color:#dc2626}.spinner{animation:spin 1s linear infinite}.retry-button{margin-left:1rem;padding:.25rem .75rem;background:#dc2626;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.preview-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab-button{padding:.5rem 1rem;border:2px solid #E5E7EB;background:white;color:#6b7280;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.tab-button.active{background:linear-gradient(135deg,#667EEA 0%,#764BA2 100%);border-color:#667eea;color:#fff}.tab-button:hover:not(.active){border-color:#667eea;color:#667eea}.prompt-display{display:flex;flex-direction:column;gap:1rem}.prompt-meta{display:flex;gap:1.5rem;padding:.75rem;background:rgba(234,88,12,.05);border-radius:8px;font-size:.8rem}.meta-item{display:flex;gap:.5rem}.meta-label{font-weight:600;color:#9a3412}.meta-value{color:#ea580c;font-family:monospace}.prompt-content{background:#1f2937;border-radius:8px;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.prompt-text{padding:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.6;color:#e5e7eb;overflow-x:auto}.prompt-field{margin-bottom:.5rem}.field-name{color:#fbbf24;font-weight:700}.field-content{color:#a7f3d0;margin-left:.5rem}.prompt-line{color:#9ca3af}.inputs-summary{padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.inputs-summary h4{margin:0 0 .75rem;color:#374151;font-size:.9rem}.input-items{display:flex;flex-direction:column;gap:.5rem}.input-item{font-size:.85rem;color:#6b7280}.field-mapping-display{display:flex;flex-direction:column;gap:1rem}.mapping-info{padding:1rem;background:#fef3c7;border-radius:8px;border:1px solid #fcd34d}.mapping-info p{margin:0;color:#92400e;font-size:.9rem}.mapping-fields{display:flex;flex-direction:column;gap:.75rem}.mapping-field{background:#f8fafc;padding:1rem;border-radius:8px;border:1px solid #e2e8f0}.field-header{margin-bottom:.5rem}.field-header .field-name{color:#ea580c;font-weight:700;font-family:monospace;font-size:.9rem}.mapping-source{color:#6b7280;font-size:.85rem;font-style:italic}.transparency-note{padding:1rem;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-radius:8px;border:1px solid #a7f3d0}.transparency-note h4{margin:0 0 .5rem;color:#065f46;font-size:.9rem}.transparency-note p{margin:0;color:#047857;font-size:.85rem}.sessions-container{padding:2rem;max-width:1200px;margin:0 auto}.sessions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.sessions-header h1{margin:0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-actions{display:flex;gap:1rem}.chat-column-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:16px;background:white;border-bottom:2px solid #f0f0f0;margin:-16px -16px 0;min-height:56px}.chat-column-header h3{margin:0;font-size:24px;color:#333}.sessions-tabs{display:flex;gap:.5rem;margin-bottom:2rem}.tab{padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:white;border-radius:8px;cursor:pointer;transition:all .2s}.tab.active{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-color:#667eea}.sessions-list{display:flex;flex-direction:column;gap:1.5rem}.scenario-group{background:white;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.scenario-group-header{background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);padding:1rem 1.5rem;border-bottom:1px solid #d1d5db;transition:background .2s}.scenario-group-header:hover{background:linear-gradient(135deg,#e5e7eb 0%,#d1d5db 100%)}.scenario-group-header h3{font-size:1.1rem;font-weight:600;color:#1f2937}.scenario-group-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:2px solid #667eea}.scenario-group-avatar img{width:100%;height:100%;object-fit:cover}.scenario-group-avatar.placeholder{border:2px dashed #ccc;background:transparent}.scenario-group-avatar .avatar-outline{font-size:18px;opacity:.4}.collapse-indicator{color:#6b7280;font-size:.9rem;transition:transform .2s}.session-count{color:#6b7280;font-size:.9rem;font-weight:500}.scenario-group-sessions{padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.session-card{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:white;border:2px solid #e2e8f0;border-radius:12px;transition:all .2s}.session-card:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.session-info h3{margin:0 0 .5rem;color:#1f2937}.session-info p{margin:0 0 1rem;color:#6b7280}.session-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.session-date{font-size:.8rem;color:#6b7280}.resume-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s}.resume-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.session-card-compact{padding:.75rem 1rem;gap:1rem}.session-info-compact{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.session-card-compact .score-badge{min-width:48px;padding:.35rem .6rem;font-size:.85rem;font-weight:700;border-radius:6px;text-align:center;color:#fff}.session-card-compact .score-badge.score-excellent{background:#22c55e}.session-card-compact .score-badge.score-good{background:#3b82f6}.session-card-compact .score-badge.score-fair{background:#eab308;color:#1f2937}.session-card-compact .score-badge.score-needs-work{background:#ef4444}.session-card-compact .score-badge.score-pending{background:#e2e8f0;color:#64748b}.session-duration{font-size:.85rem;color:#64748b;font-weight:500}.session-mode{font-size:1rem;opacity:.8}.session-date-compact{font-size:.8rem;color:#6b7280}.btn-new-practice{padding:.75rem 1.25rem;font-size:1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn-new-practice:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-secondary.btn-small{padding:.4rem .8rem;font-size:.8rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:white;border-radius:12px;padding:0;max-width:700px;width:90%;max-height:90vh;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #f0f0f0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;position:relative}.modal-header h2{margin:0}.close-button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-button:hover{background:rgba(255,255,255,.2)}.modal-content{padding:1.5rem}.modal-content label{display:block;margin-bottom:.5rem;font-weight:700;color:#374151}.scenario-select{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;margin-bottom:1rem}.scenario-preview{padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;color:#6b7280;font-style:italic}.scenarios-grid{display:flex;flex-direction:column;gap:1rem}.scenario-card-selector{padding:1.25rem;background:white;border:2px solid #e2e8f0;border-radius:12px;cursor:default;transition:all .2s}.scenario-card-selector:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.scenario-card-selector.selected{border-color:#667eea;background:linear-gradient(135deg,rgba(102,126,234,.05),rgba(118,75,162,.05));box-shadow:0 4px 12px #667eea33}.scenario-card-selector .scenario-title{margin:0 0 .75rem;font-size:1.1rem;font-weight:700;color:#1f2937}.scenario-card-selector .scenario-summary{margin:0;color:#6b7280;line-height:1.5;font-size:.95rem}.scenario-card-selector.selected .scenario-title{color:#667eea}.scenario-card-selector.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.scenario-card-selector>div:first-child{cursor:pointer}.skills-section{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.skills-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:10px 0;cursor:pointer;font-size:14px;color:#4f46e5;font-weight:500;text-align:left;transition:color .2s ease;min-height:44px}.skills-toggle:hover{color:#4338ca}.skills-toggle:focus{outline:2px solid #4f46e5;outline-offset:2px;border-radius:4px}.skills-header{text-align:left;flex:1}.toggle-icon{font-size:12px;transition:transform .2s ease;margin-left:8px}.skills-list{margin:8px 0 0;padding-left:20px;list-style-type:disc}.skills-list li{font-size:13px;color:#6b7280;line-height:1.5;margin-bottom:6px}.assessment-criteria-section{margin-top:12px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.criteria-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.criteria-icon{font-size:14px}.criteria-title{font-size:11px;font-weight:700;color:#64748b;letter-spacing:.5px}.criteria-explainer{font-size:12px;color:#6b7280;margin:0 0 8px}.criteria-list{margin:0;padding-left:18px;list-style-type:disc}.criteria-list li{font-size:12px;color:#475569;line-height:1.5;margin-bottom:4px}.show-all-criteria{background:none;border:none;color:#64748b;font-size:12px;cursor:pointer;padding:6px 0 0;text-decoration:underline}.show-all-criteria:hover{color:#475569}@media (max-width: 768px){.skills-toggle{padding:12px 0;font-size:13px;min-height:48px}.skills-list li{font-size:12px;margin-bottom:8px;line-height:1.6}}.modal-actions{display:flex;gap:1rem;padding:1.5rem;border-top:2px solid #f0f0f0;justify-content:flex-end}.modal-actions-vertical{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;border-top:2px solid #f0f0f0}.modal-actions-vertical .primary-button{padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:15px;transition:all .2s}.modal-actions-vertical .primary-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.modal-actions-vertical .secondary-button{padding:1rem 1.5rem;background:white;color:#374151;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-weight:500;font-size:15px;transition:all .2s}.modal-actions-vertical .secondary-button:hover{border-color:#9ca3af;background:#f9fafb}.modal-actions-vertical .text-button{padding:.75rem 1.5rem;background:transparent;color:#6b7280;border:none;border-radius:8px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s}.modal-actions-vertical .text-button:hover{background:#f3f4f6;color:#374151}.cancel-button{padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:white;border-radius:8px;cursor:pointer;transition:all .2s}.cancel-button:hover{border-color:#6b7280}.start-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s}.start-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.start-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.dashboard-header{flex-direction:column;gap:1rem;text-align:center}.features-grid{grid-template-columns:1fr}.verify-actions{flex-direction:column}.chat-container{height:100vh;height:100dvh;display:flex;flex-direction:column;border-radius:0;box-shadow:none;position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden}.chat-header{padding:.5rem;flex-shrink:0;border-radius:0;overflow:hidden;position:sticky;top:0;z-index:10}.chat-header-content{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:100vw}.chat-info{width:100%}.chat-info h2{font-size:.9rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-info p{display:none}.chat-header-meta{display:flex;justify-content:space-between;align-items:center;gap:.5rem;width:100%}.chat-badges{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;flex:1;min-width:0}.chat-header-actions{gap:.5rem;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end}.persona-context-card,.starting-context-card{display:none}.chat-content-wrapper,.chat-messages-column,.assessment-column{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.chat-messages-column.mobile-hidden,.assessment-column.mobile-hidden{display:none}.chat-messages-column.mobile-visible,.assessment-column.mobile-visible{display:flex}.chat-column-header{display:none}.chat-messages{flex:1;overflow-y:scroll;overflow-x:hidden;padding:.75rem .5rem;display:flex;flex-direction:column;gap:.75rem;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}.message{max-width:85%}.message-content{padding:.75rem;border-radius:1rem}.message-role{font-size:.7rem;margin-bottom:.35rem}.message-text{font-size:.95rem;line-height:1.4}.message-time{font-size:.65rem;margin-top:.35rem}.chat-input-container{padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));flex-shrink:0;background:white;border-top:1px solid #e5e7eb;position:sticky;bottom:0;z-index:10}.chat-input-wrapper{gap:.5rem}.chat-input{font-size:16px;min-height:44px;padding:.75rem;border-radius:1rem;resize:none}.send-button{padding:.75rem 1.25rem;min-width:60px;min-height:44px;border-radius:1rem;font-size:1.25rem}.chat-content-wrapper.two-column-layout{display:flex;flex-direction:column}.assessment-column{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:white;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch}.chat-container>div[style*="backgroundColor: #fee"]{margin:.5rem!important;padding:.75rem!important;font-size:.85rem!important}.sessions-header,.session-card{flex-direction:column;gap:1rem;text-align:center}.session-meta{justify-content:center}.modal{width:95%;max-width:95vw}.modal-overlay{padding:.5rem}.modal-actions{flex-direction:column}body{overflow-x:hidden;max-width:100vw}*{max-width:100vw}.chat-container,.modal-overlay,.modal,.chat-header{max-width:100%!important}}.mobile-view-toggle{display:flex;gap:.5rem;padding:.5rem;background:#f8fafc;border-bottom:1px solid #e5e7eb;flex-shrink:0}.mobile-view-toggle .toggle-btn{flex:1;padding:.5rem 1rem;border:1px solid #e5e7eb;background:white;border-radius:.5rem;font-size:.9rem;cursor:pointer;transition:all .2s}.mobile-view-toggle .toggle-btn.active{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-color:#667eea}@media (min-width: 768px){.mobile-view-toggle{display:none!important}.chat-messages-column,.assessment-column{display:flex!important}}.persona-management-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:2rem}.header-content{display:flex;justify-content:space-between;align-items:center;gap:2rem}.header-text h1{margin:0 0 .5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:2.5rem}.header-text p{color:#6b7280;margin:0;font-size:1.1rem}.nav-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s;white-space:nowrap;font-size:.9rem}.nav-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.controls-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.search-controls{display:flex;gap:1rem;flex:1;max-width:600px}.search-input{flex:1;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-select{padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;background:white;font-size:1rem;cursor:pointer;min-width:140px}.create-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s;white-space:nowrap}.create-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.create-button:disabled{opacity:.5;cursor:not-allowed}.personas-table-container{background:white;border-radius:12px;border:2px solid #e2e8f0;overflow:hidden;margin-bottom:2rem;box-shadow:0 4px 6px #0000000d}.personas-table{width:100%;border-collapse:collapse}.personas-table th{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);padding:1rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e2e8f0;position:sticky;top:0;z-index:10}.personas-table td{padding:1rem;border-bottom:1px solid #f3f4f6;vertical-align:top}.personas-table tr:hover{background:#f8fafc}.persona-row.clickable{cursor:pointer;transition:all .2s ease}.persona-row.clickable:hover{background:#f1f5f9!important;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.persona-name strong{color:#1f2937;font-size:1rem;display:block;margin-bottom:.25rem}.persona-description-preview{font-size:.85rem;color:#6b7280;font-style:italic;line-height:1.3}.challenge-badge{padding:.25rem .75rem;border-radius:16px;font-size:.8rem;font-weight:600;text-transform:capitalize}.challenge-helpful{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.challenge-neutral{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.challenge-demanding{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.completion-status{display:flex;align-items:center;justify-content:center}.completion-indicator{text-align:center}.completion-indicator.complete .completion-text{color:#059669;font-weight:600;font-size:.9rem}.completion-indicator.incomplete .completion-text{color:#d97706;font-weight:600;font-size:.9rem}.completion-details{font-size:.75rem;color:#6b7280;margin-top:.25rem}.visibility-badge{padding:.25rem .75rem;border-radius:16px;font-size:.8rem;font-weight:600}.visibility-badge.public{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.visibility-badge.private{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.action-buttons{display:flex;gap:.5rem}.edit-button,.delete-button{padding:.5rem;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.edit-button{background:#f3f4f6;color:#374151}.edit-button:hover:not(:disabled){background:#e5e7eb;transform:scale(1.1)}.delete-button{background:#fef2f2;color:#dc2626}.delete-button:hover:not(:disabled){background:#fee2e2;transform:scale(1.1)}.edit-button:disabled,.delete-button:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:3rem;color:#6b7280}.empty-state h3{margin-bottom:1rem;color:#374151}.field-mapping-guide{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #bae6fd;border-radius:12px;padding:1.5rem;margin-top:2rem}.field-mapping-guide h3{margin:0 0 1rem;color:#0c4a6e;font-size:1.1rem}.field-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.field-guide-item{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:#374151}.field-guide-item strong{color:#1f2937}.persona-edit-modal{max-width:800px;width:95%;max-height:90vh;overflow-y:auto;background:white;border-radius:12px;padding:0}.persona-edit-modal .modal-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.persona-edit-modal .modal-header h2{margin:0;font-size:1.5rem}.persona-form{display:flex;flex-direction:column;height:100%}.form-content{padding:1.5rem;flex:1;overflow-y:auto}.form-errors{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.form-errors h4{margin:0 0 .5rem;color:#dc2626;font-size:.9rem}.form-errors ul{margin:0;padding-left:1.5rem;color:#dc2626;font-size:.85rem}.form-section{margin-bottom:2rem;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.form-section h3{margin:0 0 1.5rem;color:#374151;font-size:1.1rem;padding-bottom:.5rem;border-bottom:2px solid #f3f4f6}.form-field{margin-bottom:1.5rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.9rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.required{color:#dc2626;font-size:.8rem}.field-usage{background:#ddd6fe;color:#6b46c1;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;margin-left:auto}.field-usage.unused{background:#f3f4f6;color:#6b7280}.field-description{display:block;margin-top:.25rem;font-size:.8rem;color:#6b7280;font-style:italic}.form-field input,.form-field textarea,.form-field select{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;transition:border-color .2s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-field textarea{resize:vertical;min-height:80px}.checkbox-field{display:flex;align-items:flex-start;gap:.75rem}.checkbox-field label{display:flex;align-items:center;gap:.5rem;margin-bottom:0}.checkbox-field input[type=checkbox]{width:auto;margin:0}.checkbox-label{font-weight:600;color:#374151}.array-input{display:flex;flex-direction:column;gap:.75rem}.array-add{display:flex;gap:.5rem}.array-add input{flex:1}.array-add button{padding:.75rem 1rem;background:#667eea;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;white-space:nowrap;transition:background .2s}.array-add button:hover{background:#5a67d8}.array-items{display:flex;flex-wrap:wrap;gap:.5rem}.array-item{display:flex;align-items:center;gap:.5rem;background:#f3f4f6;padding:.5rem;border-radius:16px;font-size:.85rem;color:#374151}.array-item button{background:#dc2626;color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.array-item button:hover{background:#b91c1c}.persona-form .modal-actions{padding:1.5rem;border-top:2px solid #f3f4f6;display:flex;gap:1rem;justify-content:flex-end;background:#f9fafb;margin:0}.save-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s;font-size:.9rem}.save-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.save-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-button{padding:.75rem 1.5rem;border:2px solid #e5e7eb;background:white;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.9rem;color:#374151}.cancel-button:hover:not(:disabled){border-color:#9ca3af;background:#f9fafb}.cancel-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.nav-button{align-self:flex-end;padding:.5rem 1rem;font-size:.85rem}.controls-section{flex-direction:column;align-items:stretch}.search-controls{max-width:none}.personas-table-container{overflow-x:auto}.personas-table{min-width:800px}.field-guide-grid{grid-template-columns:1fr}}.chat-content-wrapper{display:flex;flex-direction:column;gap:0;flex:1;overflow:hidden}.chat-content-wrapper.two-column-layout{display:grid;grid-template-columns:2fr 3fr;gap:20px;align-items:start;padding:16px;overflow:hidden}.chat-messages-column{display:flex;flex-direction:column;height:100%;overflow:hidden}.assessment-column{height:100%;overflow-y:auto}.assessment-prompt-inline{background:linear-gradient(135deg,#f9fafb 0%,#ffffff 100%);border:2px dashed #e5e7eb;border-radius:12px;padding:32px 24px;text-align:center}.assessment-prompt-inline h3{margin:0 0 12px;color:#333;font-size:20px}.assessment-prompt-inline p{margin:0 0 24px;color:#6b7280;font-size:14px}.assessment-button{padding:12px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;align-items:center;gap:8px}.assessment-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #667eea4d}.assessment-button:disabled{opacity:.6;cursor:not-allowed}.transcript-footer{padding:12px 16px;text-align:center;border-top:1px solid #e5e7eb;background:#f9fafb}.continue-chat-link{background:none;border:none;color:#667eea;font-size:14px;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:6px;transition:all .2s}.continue-chat-link:hover{background:rgba(102,126,234,.1);color:#5a67d8}.chat-content-wrapper.focus-eval-layout{display:flex;flex-direction:column}.focus-eval-page-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0 1rem;margin-bottom:.5rem;border-bottom:1px solid #e5e7eb;grid-column:1 / -1}.focus-back-to-dashboard{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:white;border:1px solid #e5e7eb;border-radius:6px;color:#4f46e5;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.focus-back-to-dashboard:hover{background:#f5f3ff;border-color:#c4b5fd}.focus-column-labels{display:flex;gap:2rem}.focus-column-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.focus-column-label.transcript-label{color:#6b7280}.focus-column-label.feedback-label{color:#7c3aed}.chat-content-wrapper.focus-eval-layout.two-column-layout{display:grid;grid-template-columns:2fr 3fr;grid-template-rows:auto 1fr;gap:1rem}.chat-content-wrapper.focus-eval-layout .focus-eval-page-header{grid-column:1 / -1;grid-row:1}.chat-content-wrapper.focus-eval-layout .chat-messages-column,.chat-content-wrapper.focus-eval-layout .assessment-column{grid-row:2}@media (max-width: 1024px){.focus-column-labels{display:none}.focus-eval-page-header{justify-content:flex-start}}@media (max-width: 1024px){.chat-content-wrapper.two-column-layout{grid-template-columns:1fr}.assessment-column{position:relative;top:0;max-height:none}}.quick-start-modal{max-width:650px}.quick-start-modal .modal-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.quick-start-description{background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1));padding:1rem;border-radius:8px;border-left:4px solid #667eea;margin-bottom:1.5rem;color:#4a5568;font-size:.95rem;line-height:1.5}.goal-input-row{display:flex;gap:.5rem;margin-bottom:.75rem}.goal-input-row input{flex:1}.btn-remove-goal{padding:.5rem .75rem;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:all .2s}.btn-remove-goal:hover:not(:disabled){background:#dc2626;transform:scale(1.05)}.btn-remove-goal:disabled{opacity:.5;cursor:not-allowed}.btn-add-goal{padding:.5rem 1rem;background:#f3f4f6;color:#4b5563;border:2px dashed #d1d5db;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s;margin-top:.5rem}.btn-add-goal:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af;color:#1f2937}.btn-add-goal:disabled{opacity:.5;cursor:not-allowed}.info-box{background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(5,150,105,.1));padding:1rem;border-radius:8px;border-left:4px solid #10b981;margin-top:1.5rem;font-size:.9rem}.info-box strong{color:#059669;display:block;margin-bottom:.5rem}.info-box ul{margin:.5rem 0;padding-left:1.5rem;color:#4b5563}.info-box li{margin-bottom:.25rem;line-height:1.4}.label-hint{font-weight:400;color:#6b7280;font-size:.85rem;margin-left:.5rem}.field-hint{font-size:.85rem;color:#6b7280;margin-top:.25rem;margin-bottom:.75rem;line-height:1.4}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}.mode-selector-content{max-height:calc(90vh - 100px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.mode-selector-single-column{display:flex;flex-direction:column;gap:2rem;max-width:700px;margin:0 auto}.desktop-only-skills{display:block}@media (max-width: 768px){.desktop-only-skills{display:none}}.section-header{margin:0 0 1rem;color:#374151;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.scenario-context-section{padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.scenario-text{margin:0;color:#4b5563;line-height:1.6;font-size:.9375rem}.focus-intro-section{text-align:center;padding:1.5rem 1rem;background:linear-gradient(135deg,rgba(124,58,237,.05) 0%,rgba(79,70,229,.08) 100%);border-radius:12px;border:1px solid rgba(124,58,237,.15)}.focus-breadcrumb{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.focus-objective-intro{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.75rem}.focus-icon{font-size:1.5rem}.focus-objective-name{font-size:1.25rem;font-weight:600;color:#4f46e5;margin:0}.focus-objective-description{color:#4b5563;font-size:.9375rem;line-height:1.5;margin:0 0 1rem;max-width:500px;margin-left:auto;margin-right:auto}.focus-expectations{background:rgba(255,255,255,.7);padding:.75rem 1rem;border-radius:8px;display:inline-block}.focus-expectations p{margin:0;font-size:.875rem;color:#6b7280;font-style:italic}.mode-selector-single-column .skills-section{padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.criteria-cards{display:flex;flex-direction:column;gap:.75rem}.criterion-card{background:white;padding:1rem;border-radius:8px;border-left:3px solid #f59e0b;box-shadow:0 1px 3px #0000000d;transition:box-shadow .2s}.criterion-card:hover{box-shadow:0 2px 6px #00000014}.criterion-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;gap:.75rem}.criterion-card-name{font-weight:600;color:#111827;font-size:.9375rem;flex:1}.criterion-card-weight{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);color:#fff;padding:.25rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600;flex-shrink:0}.criterion-card-description{margin:0;color:#6b7280;font-size:.875rem;line-height:1.5}.mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.mode-button{padding:1.25rem;border:2px solid;border-radius:12px;background:white;cursor:pointer;transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.mode-button-text{border-color:#2563eb}.mode-button-text:hover{background:#eff6ff;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb33}.mode-button-voice{border-color:#7c3aed}.mode-button-voice:hover:not(.mode-button-disabled){background:#faf5ff;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed33}.mode-button-disabled{border-color:#d1d5db;cursor:not-allowed;opacity:.5}.mode-icon{font-size:2rem}.mode-title{font-weight:600;font-size:1.125rem;color:#1f2937}.mode-button-text .mode-title{color:#2563eb}.mode-button-voice:not(.mode-button-disabled) .mode-title{color:#7c3aed}.mode-button-disabled .mode-title{color:#9ca3af}.unavailable-label{font-size:.875rem;font-weight:400;color:#9ca3af}.mode-description{font-size:.875rem;color:#6b7280;line-height:1.4}.mode-note{margin:0;font-size:.8125rem;color:#9ca3af;font-style:italic;text-align:center}.mode-data-hint{font-size:.75rem;color:#6b7280;font-weight:500;margin-top:.25rem;padding:.25rem .5rem;background:rgba(0,0,0,.05);border-radius:4px}.mode-button-text .mode-data-hint{color:#4b5563}.mode-button-voice:not(.mode-button-disabled) .mode-data-hint{color:#6b21a8;background:rgba(124,58,237,.08)}.mode-button-disabled .mode-data-hint{color:#9ca3af}.data-usage-note{margin:.75rem 0 0;font-size:.75rem;color:#9ca3af;text-align:center;line-height:1.4}@media (max-width: 768px){.mode-selector-single-column{gap:1.5rem;padding:.5rem}.mode-selector-content{max-height:90vh;overflow-y:auto;padding:.5rem}.modal-header h2{font-size:1rem!important}.modal-header button{font-size:.8rem!important;padding:.35rem .7rem!important}.scenario-context-section{padding:.75rem;background:#f8f9fa;border-radius:8px;border:none;border-bottom:none}.scenario-context-section .section-header{font-size:.7rem!important;margin-bottom:.5rem!important;color:#6b7280}.scenario-text{font-size:.85rem!important;line-height:1.35!important;max-height:4.5em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#374151}.mode-selector-single-column .skills-section{display:none!important}.mode-selection-section{position:relative;background:transparent;padding:0;margin:0}.mode-selection-section .section-header{font-size:.8rem!important;margin-bottom:.75rem!important;text-align:center}.mode-buttons{display:flex;flex-direction:column;gap:.75rem}.mode-button{padding:1rem!important;border-width:2px}.mode-icon{font-size:1.75rem!important}.mode-title{font-size:1rem!important;font-weight:600}.mode-description{font-size:.8rem!important;line-height:1.3!important}.unavailable-label{font-size:.75rem!important}.mode-note{font-size:.75rem!important;margin-top:.5rem!important}.section-header{font-size:.75rem!important;margin-bottom:.5rem!important;letter-spacing:.03em}}.performance-container{max-width:1400px;margin:0 auto;padding:2rem}.performance-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #E5E7EB}.performance-header h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667EEA 0%,#764BA2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.performance-header-left{display:flex;flex-direction:column;gap:.5rem}.learner-header-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.learner-email-badge{background:linear-gradient(135deg,#667EEA 0%,#764BA2 100%);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.learner-stat-badge{background:#F3F4F6;color:#4b5563;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.performance-header .learner-role-badge{background:#E5E7EB;color:#374151;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;text-transform:uppercase;font-weight:600}.performance-filters{display:flex;gap:2rem;margin-bottom:2rem;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:600;color:#374151}.date-range-buttons{display:flex;gap:.5rem}.date-range-buttons button{padding:.5rem 1rem;border:2px solid #E5E7EB;background:white;color:#6b7280;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.date-range-buttons button:hover{border-color:#667eea;color:#667eea}.date-range-buttons button.active{background:linear-gradient(135deg,#667EEA 0%,#764BA2 100%);border-color:#667eea;color:#fff}.scenario-filter{padding:.5rem 1rem;border:2px solid #E5E7EB;border-radius:8px;font-size:.875rem;color:#374151;background:white;cursor:pointer;transition:border-color .2s;min-width:200px}.scenario-filter:hover{border-color:#667eea}.scenario-filter:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem}.overview-card{background:white;border:2px solid #E5E7EB;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .2s}.overview-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.overview-card .card-icon{font-size:2rem;line-height:1}.overview-card .card-content{flex:1}.overview-card .card-value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.2;margin-bottom:.25rem}.overview-card .card-label{font-size:.875rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.session-history{background:white;border:2px solid #E5E7EB;border-radius:12px;padding:2rem}.session-history h2{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 1.5rem}.table-container{overflow-x:auto}.sessions-table{width:100%;border-collapse:collapse}.sessions-table thead{background:#F9FAFB;border-bottom:2px solid #E5E7EB}.sessions-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.sessions-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.sessions-table th.sortable:hover,.sessions-table th.sorted{color:#667eea}.sessions-table tbody tr{border-bottom:1px solid #F3F4F6;transition:background-color .2s}.sessions-table tbody tr.clickable-row{cursor:pointer}.sessions-table tbody tr.clickable-row:hover{background-color:#f9fafb}.sessions-table td{padding:1rem;font-size:.875rem;color:#374151}.score-badge{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;letter-spacing:.5px}.score-excellent{background:linear-gradient(135deg,#10B981,#059669);color:#fff}.score-good{background:linear-gradient(135deg,#84CC16,#65A30D);color:#fff}.score-fair{background:linear-gradient(135deg,#FBBF24,#D97706);color:#fff}.score-needs-work{background:linear-gradient(135deg,#F87171,#DC2626);color:#fff}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.assessed{background-color:#d1fae5;color:#065f46}.status-badge.pending{background-color:#fef3c7;color:#92400e}.scenario-summary{background:white;border:2px solid #E5E7EB;border-radius:12px;padding:2rem;margin-bottom:2rem}.modal .scenario-summary,.modal-content .scenario-summary{background:none;border:none;border-radius:0;padding:0;margin-bottom:.75rem}.scenario-summary h2{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 1.5rem}.scenario-summary-table{width:100%;border-collapse:collapse}.scenario-summary-table thead{background:#F9FAFB;border-bottom:2px solid #E5E7EB}.scenario-summary-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.scenario-summary-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.scenario-summary-table th.sortable:hover,.scenario-summary-table th.sorted{color:#667eea}.scenario-summary-table tbody tr{border-bottom:1px solid #E5E7EB;transition:all .2s}.scenario-summary-table tbody tr.clickable-row{cursor:pointer}.scenario-summary-table tbody tr.clickable-row:hover{background-color:#f9fafb}.scenario-summary-table tbody tr.highlighted{background:linear-gradient(135deg,rgba(102,126,234,.1) 0%,rgba(118,75,162,.1) 100%);border-left:4px solid #667EEA}.scenario-summary-table tbody tr.highlighted:hover{background:linear-gradient(135deg,rgba(102,126,234,.15) 0%,rgba(118,75,162,.15) 100%)}.scenario-summary-table td{padding:1rem;font-size:.875rem;color:#374151}.scenario-summary-table .trend-indicator{display:inline-flex;align-items:center;gap:.25rem;font-weight:500}.scenario-summary-table .scenario-link{display:flex;align-items:center;gap:.5rem;font-weight:500}.scenario-summary-table .view-skills-hint{font-size:.75rem;color:#9ca3af;font-weight:400;opacity:0;transition:opacity .2s}.scenario-summary-table tbody tr:hover .view-skills-hint{opacity:1;color:#667eea}.empty-state{text-align:center;padding:4rem 2rem;background:white;border:2px solid #E5E7EB;border-radius:12px;margin-top:2rem}.empty-state-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:.5rem}.empty-state p{color:#6b7280;font-size:1rem;margin-bottom:2rem}.empty-state .primary-button{padding:.75rem 2rem;background:linear-gradient(135deg,#667EEA 0%,#764BA2 100%);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.empty-state .primary-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.loading-container{text-align:center;padding:4rem 2rem}.loading-spinner{font-size:3rem;animation:spin 2s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{text-align:center;padding:4rem 2rem;background:#FEE2E2;border:2px solid #F87171;border-radius:12px;margin-top:2rem}.error-container h3{font-size:1.5rem;font-weight:700;color:#991b1b;margin-bottom:.5rem}.error-container p{color:#dc2626;font-size:1rem;margin-bottom:2rem}.error-container .retry-button{padding:.75rem 2rem;background:#DC2626;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.error-container .retry-button:hover{background:#991B1B;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#FEF2F2 0%,#FEE2E2 100%);text-align:center}.error-fallback h2{font-size:2rem;font-weight:700;color:#991b1b;margin-bottom:1rem}.error-fallback p{color:#7f1d1d;font-size:1.125rem;margin-bottom:2rem;max-width:400px}.error-fallback button{padding:.875rem 2rem;background:#DC2626;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.error-fallback button:hover{background:#B91C1C;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.performance-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0;padding-bottom:0}.skills-tab-content{margin-top:1rem}.skills-empty{margin-top:2rem}.skills-cards{display:flex;flex-direction:column;gap:1rem}.skill-scenario-card{background:white;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.skill-scenario-card:hover{border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed26}.skill-scenario-card.expanded{border-color:#7c3aed;box-shadow:0 8px 24px #7c3aed33}.skill-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;cursor:pointer;background:linear-gradient(135deg,#f8f7ff 0%,#f3f0ff 100%);transition:background .2s}.skill-card-header:hover{background:linear-gradient(135deg,#f3f0ff 0%,#ede9fe 100%)}.skill-card-title{display:flex;align-items:center;gap:.75rem}.skill-card-icon{font-size:1.25rem}.skill-card-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:2px solid #667eea}.skill-card-avatar img{width:100%;height:100%;object-fit:cover}.skill-card-avatar.placeholder{border:2px dashed #ccc;background:transparent}.skill-card-avatar .avatar-outline{font-size:18px;opacity:.4}.skill-card-title h3{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.attempt-count{font-size:.875rem;color:#6b7280;font-weight:400}.skill-card-summary{display:flex;align-items:center;gap:1rem}.trend-badge{display:flex;align-items:center;gap:.25rem}.trend-text{font-size:.875rem;font-weight:600}.trend-text.improving{color:#059669}.trend-text.declining{color:#dc2626}.trend-text.steady{color:#6b7280}.improvement{font-size:.75rem;margin-left:.25rem;opacity:.8}.avg-score-badge{display:flex;flex-direction:column;align-items:center;padding:.25rem .75rem;border-radius:12px;font-weight:600}.avg-score-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.avg-score-value{font-size:1rem;font-weight:700}.expand-icon{font-size:.75rem;color:#9ca3af;transition:transform .2s}.skill-card-body{padding:1.5rem;background:white;border-top:1px solid #e0e0e0;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.skill-chart-container{background:white;border-radius:12px;padding:1rem;margin-bottom:1.5rem;border:1px solid #e0e0e0}.skills-comparison-table{width:100%;overflow-x:auto}.comparison-header{display:grid;gap:.5rem;padding:.75rem 1rem;background:#f3f4f6;border-radius:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;color:#6b7280;margin-bottom:.5rem;min-width:fit-content}.comparison-header .header-dimension{text-align:left}.comparison-header .header-improvement,.comparison-header .header-attempt,.comparison-header .header-average{text-align:center}.comparison-header .header-average{font-weight:700}.comparison-header .header-attempt.clickable{cursor:pointer;transition:all .2s;border-radius:4px;padding:.25rem .5rem;margin:-.25rem -.5rem}.comparison-header .header-attempt.clickable:hover{background:linear-gradient(135deg,#667EEA 0%,#764BA2 100%);color:#fff}.comparison-row{display:grid;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #f3f4f6;align-items:center;min-width:fit-content}.comparison-row:last-child{border-bottom:none}.comparison-row .dimension-name{font-weight:500;color:#1f2937}.comparison-row .dimension-improvement,.comparison-row .dimension-score-cell{text-align:center}.comparison-row.overall-row{border-top:2px solid #e5e7eb;background:#f9fafb;margin-top:.5rem;padding-top:1rem}.comparison-row.overall-row .overall-label{font-weight:700;color:#111827}.change-badge{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.change-badge.positive{background:#d1fae5;color:#059669}.change-badge.negative{background:#fee2e2;color:#dc2626}.change-badge.neutral{background:#f3f4f6;color:#6b7280}.skill-attempt-comparison{display:flex;justify-content:center;align-items:center;gap:2rem}.attempt-box{text-align:center;padding:1rem 2rem;border-radius:12px;min-width:120px}.attempt-box.first-attempt{background:#f3f4f6;border:2px solid #d1d5db}.attempt-box.latest-attempt{background:linear-gradient(135deg,#f3f0ff 0%,#ede9fe 100%);border:2px solid #7c3aed}.attempt-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:#6b7280;margin-bottom:.5rem}.attempt-score{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.attempt-date{font-size:.75rem;color:#9ca3af}.attempt-arrow{font-size:1.5rem;color:#7c3aed;font-weight:700}.chart-empty{text-align:center;padding:2rem;color:#9ca3af;font-style:italic}@media (max-width: 768px){.performance-container{padding:1rem}.performance-header{flex-direction:column;align-items:flex-start;gap:1rem}.performance-filters{flex-direction:column;gap:1rem}.date-range-buttons{flex-wrap:wrap}.overview-cards{grid-template-columns:1fr}.sessions-table{font-size:.75rem}.sessions-table th,.sessions-table td{padding:.5rem}.scenario-summary-table{font-size:.75rem}.scenario-summary-table th,.scenario-summary-table td{padding:.75rem .5rem}.performance-tabs{gap:0}.tab-button{flex:1;padding:.75rem .5rem;font-size:.875rem}.skill-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.skill-card-title{flex-wrap:wrap}.skill-card-title h3{font-size:1rem}.skill-card-summary{width:100%;justify-content:space-between}.skill-attempt-comparison{flex-direction:column;gap:1rem}.attempt-arrow{transform:rotate(90deg)}.attempt-box{width:100%;padding:.75rem}.comparison-header{grid-template-columns:1.5fr 1fr 1fr 1fr;font-size:.65rem;padding:.5rem}.comparison-row{grid-template-columns:1.5fr 1fr 1fr 1fr;padding:.5rem}.comparison-row .dimension-name{font-size:.8rem}.score-badge{font-size:.7rem;padding:.15rem .4rem}.change-badge{font-size:.65rem;padding:.15rem .35rem}}.meta-evaluation-section{background:white;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000d}.meta-eval-header h2{margin:0 0 .5rem;color:#1f2937;font-size:1.25rem}.meta-eval-description{color:#6b7280;margin:0 0 1rem;font-size:.9rem}.meta-eval-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-height:44px}.meta-eval-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.meta-eval-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.meta-eval-loading{text-align:center;padding:2rem}.meta-eval-loading .loading-spinner{animation:spin 1s linear infinite;font-size:2rem;margin-bottom:.5rem}.meta-eval-loading p{color:#6b7280;margin:.5rem 0}.meta-eval-loading .loading-hint{font-size:.85rem;color:#9ca3af}.meta-eval-loading-compact{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:8px;color:#0369a1;font-size:.95rem}.loading-spinner-inline{animation:spin 1s linear infinite;font-size:1.25rem}.meta-eval-error{padding:1rem;background:#fef3c7;border-radius:8px;text-align:center}.meta-eval-error p{color:#92400e;margin:0 0 .75rem}.retry-button-small{padding:.5rem 1rem;background:#f59e0b;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.retry-button-small:hover{background:#d97706}.meta-eval-results{padding-top:1rem}.meta-eval-results-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.meta-eval-results-header h3{margin:0;color:#1f2937}.meta-eval-badge{padding:.25rem .75rem;background:#ede9fe;color:#7c3aed;border-radius:16px;font-size:.8rem;font-weight:500}.meta-eval-date-range{padding:.25rem .75rem;background:#f3f4f6;color:#6b7280;border-radius:16px;font-size:.8rem}.trajectory-badge{padding:.25rem .75rem;border-radius:16px;font-size:.8rem;font-weight:500}.trajectory-badge.improving{background:#d1fae5;color:#047857}.trajectory-badge.declining{background:#fee2e2;color:#b91c1c}.trajectory-badge.steady{background:#fef3c7;color:#92400e}.meta-eval-themes{margin-bottom:1.5rem}.meta-eval-themes h4{margin:0 0 .5rem;color:#374151;font-size:1rem}.general-skills-explainer{margin:0 0 1rem;font-size:.875rem;color:#6b7280;font-style:italic}.themes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.theme-card{background:#f9fafb;border-radius:10px;padding:1rem;border:1px solid #e5e7eb}.theme-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.theme-name{font-weight:600;color:#1f2937;font-size:.9rem}.theme-score{font-weight:700;font-size:.9rem;padding:.2rem .6rem;border-radius:10px}.theme-bar-container{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:.5rem}.theme-bar{height:100%;border-radius:3px;transition:width .5s ease-out}.theme-meta{display:flex;justify-content:space-between;font-size:.75rem;color:#6b7280}.theme-trend{display:flex;align-items:center;gap:.25rem}.meta-eval-insights{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media (max-width: 768px){.meta-eval-insights{grid-template-columns:1fr}}.insights-column{padding:1rem;border-radius:10px}.insights-column.strengths{background:#ecfdf5;border-left:4px solid #10b981}.insights-column.growth-areas{background:#fffbeb;border-left:4px solid #f59e0b}.insights-column h4{margin:0 0 .75rem;font-size:1rem}.insights-column.strengths h4{color:#047857}.insights-column.growth-areas h4{color:#b45309}.insights-column ul{margin:0;padding-left:1.25rem}.insights-column li{margin-bottom:.5rem;line-height:1.5}.insights-column.strengths li{color:#065f46}.insights-column.growth-areas li{color:#78350f}.evidence-item{margin-bottom:1rem}.evidence-item strong{display:block;font-size:.95rem;margin-bottom:.25rem}.evidence-description{margin:0 0 .5rem;font-size:.9rem;line-height:1.5}.evidence-quote{margin:.5rem 0 0;padding:.5rem .75rem;border-left:3px solid;font-style:italic;font-size:.85rem;line-height:1.4}.insights-column.strengths .evidence-quote{border-color:#10b981;background:rgba(16,185,129,.08)}.insights-column.growth-areas .evidence-quote{border-color:#f59e0b;background:rgba(245,158,11,.08)}.evidence-quote cite{display:block;margin-top:.25rem;font-size:.75rem;font-style:normal;opacity:.75}.meta-eval-patterns{background:#f0f9ff;border-left:4px solid #0ea5e9;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.meta-eval-patterns h4{margin:0 0 .5rem;color:#0369a1;font-size:1rem}.meta-eval-patterns p{margin:0;color:#0c4a6e;line-height:1.6}.meta-eval-recommendations{background:#faf5ff;border-left:4px solid #8b5cf6;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.meta-eval-recommendations h4{margin:0 0 .75rem;color:#6d28d9;font-size:1rem}.meta-eval-recommendations ul{margin:0;padding-left:1.25rem}.meta-eval-recommendations li{margin-bottom:.5rem;color:#5b21b6;line-height:1.5}.refresh-analysis-button{padding:.5rem 1rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.refresh-analysis-button:hover{background:#e5e7eb;border-color:#9ca3af}.refresh-analysis-button:disabled{opacity:.6;cursor:not-allowed}.section-divider{border:none;border-top:1px solid #e5e7eb;margin:2rem 0}.session-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.session-popup{background:white;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.session-popup-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667EEA 0%,#764BA2 100%);border-radius:12px 12px 0 0}.session-popup-header h3{margin:0;color:#fff;font-size:1.25rem;font-weight:600}.session-popup-close{background:rgba(255,255,255,.2);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.session-popup-close:hover{background:rgba(255,255,255,.3)}.session-popup-content{padding:1.5rem}.session-popup-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.session-popup-date{color:#374151;font-size:.9rem}.session-popup-score{font-size:1rem;font-weight:600}.session-popup-dimensions h4{margin:0 0 1rem;color:#374151;font-size:1rem;font-weight:600}.session-popup-dimensions .dimension-list{display:flex;flex-direction:column;gap:.75rem}.session-popup-dimensions .dimension-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.session-popup-dimensions .dimension-item:last-child{border-bottom:none}.session-popup-dimensions .dimension-item-name{color:#374151;font-size:.9rem}.session-popup-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb;text-align:center}.session-popup-nav-btn{background:linear-gradient(135deg,#667EEA 0%,#764BA2 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.session-popup-nav-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.session-popup.session-popup-enhanced{display:flex;flex-direction:column;max-height:85vh;overflow:hidden}.session-popup-enhanced .session-popup-header{flex-shrink:0}.session-popup-scrollable{flex:1;overflow-y:auto;padding:1.5rem}.session-popup-footer{flex-shrink:0;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px}.session-popup-narrative{margin-top:1.5rem}.session-popup-narrative .narrative-block{margin-bottom:1.25rem;padding:1rem;border-radius:8px;background:#f9fafb}.session-popup-narrative .narrative-block:last-child{margin-bottom:0}.session-popup-narrative .narrative-block h4{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.session-popup-narrative .summary-block{background:#f0f9ff;border-left:3px solid #0ea5e9}.session-popup-narrative .summary-block h4{color:#0369a1}.session-popup-narrative .summary-block p{margin:0;color:#0c4a6e;font-size:.9rem;line-height:1.6}.session-popup-narrative .strengths-block{background:#f0fdf4;border-left:3px solid #22c55e}.session-popup-narrative .strengths-block h4{color:#166534}.session-popup-narrative .improvements-block{background:#fffbeb;border-left:3px solid #f59e0b}.session-popup-narrative .improvements-block h4{color:#b45309}.session-popup-narrative .reflections-block{background:#faf5ff;border-left:3px solid #a855f7}.session-popup-narrative .reflections-block h4{color:#7e22ce}.session-popup-narrative ul{margin:0;padding-left:1.25rem}.session-popup-narrative li{margin-bottom:.5rem;font-size:.9rem;line-height:1.5;color:#374151}.session-popup-narrative li:last-child{margin-bottom:0}.session-popup-dimensions.shadow-scores{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.session-popup-dimensions.shadow-scores h4{color:#7c3aed}.learner-progress-container{max-width:1400px;margin:0 auto;padding:2rem}.cohort-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.learner-filters{display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:white;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;flex-wrap:wrap}.learner-filters .filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.learner-filters .performance-filter-group{min-width:auto}.learner-filters .search-group{flex:1;min-width:250px}.learner-filters label{font-weight:600;font-size:.875rem;color:#374151}.learner-filters .filter-select,.learner-filters .search-input{padding:.625rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s}.learner-filters .filter-select:focus,.learner-filters .search-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.learner-table-section{margin-top:2rem}.learner-table-section h2{font-size:1.5rem;color:#1f2937;margin-bottom:1rem}.learner-table{width:100%;border-collapse:collapse;background:white;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.learner-table thead{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.learner-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.learner-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.learner-table th.sortable:hover{background-color:#ffffff1a}.learner-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.learner-table tbody tr:hover{background-color:#f9fafb}.learner-table tbody tr.learner-row.clickable{cursor:pointer}.learner-table td{padding:1rem;font-size:.875rem;color:#374151}.learner-table td.no-results{text-align:center;padding:3rem;color:#6b7280;font-style:italic}.learner-table .learner-email{font-weight:500;color:#1f2937}.learner-table .session-count{font-weight:600;color:#6366f1}.learner-table .assessment-breakdown{font-size:.875rem;white-space:nowrap}.learner-table .assessment-breakdown .assessed-count{color:#10b981;font-weight:600}.learner-table .assessment-breakdown .separator{margin:0 .5rem;color:#d1d5db}.learner-table .assessment-breakdown .unassessed-count{color:#f59e0b;font-weight:600}.learner-table .trend-cell{white-space:nowrap}.learner-table .trend-indicator{display:inline-flex;align-items:center;gap:.25rem}.learner-table .last-active{color:#6b7280;font-size:.8125rem}.learner-table .score-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-weight:600;font-size:.8125rem}.learner-table .score-badge.score-na{background-color:#f3f4f6;color:#6b7280}.view-details-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s}.view-details-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.view-details-btn:active{transform:translateY(0)}.group-scenario-modal{max-width:600px}.group-scenario-modal h2{margin-bottom:.5rem}.group-scenario-modal .member-count-info{font-size:.875rem;color:#6b7280;margin-bottom:1rem}.group-scenario-modal .section-help{font-size:.8125rem;color:#6b7280;margin-bottom:.75rem}.learner-progress-container .empty-state{text-align:center;padding:4rem 2rem;background:white;border-radius:12px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d}.learner-progress-container .empty-state-icon{font-size:4rem;margin-bottom:1rem}.learner-progress-container .empty-state h3{font-size:1.5rem;color:#1f2937;margin-bottom:.5rem}.learner-progress-container .empty-state p{color:#6b7280;margin-bottom:2rem}@media (max-width: 1200px){.cohort-overview{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (max-width: 768px){.learner-progress-container{padding:1rem}.cohort-overview{grid-template-columns:repeat(2,1fr)}.learner-filters{flex-direction:column;gap:1rem}.learner-filters .filter-group,.learner-filters .search-group{min-width:100%}.learner-table{font-size:.75rem}.learner-table th,.learner-table td{padding:.75rem .5rem}.view-details-btn{padding:.375rem .75rem;font-size:.75rem}}@media (max-width: 480px){.cohort-overview{grid-template-columns:1fr}.learner-table-section h2{font-size:1.25rem}}.learner-detail-container{max-width:1400px;margin:0 auto;padding:2rem}.breadcrumb-nav{margin-bottom:1.5rem}.breadcrumb-back{padding:.625rem 1.25rem;background:white;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.breadcrumb-back:hover{background-color:#f9fafb;border-color:#9ca3af;transform:translate(-2px)}.learner-header-info{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;padding:2rem;margin-bottom:2rem;color:#fff;box-shadow:0 4px 12px #667eea4d}.learner-info-content h1{font-size:1.75rem;margin-bottom:.75rem;font-weight:600}.learner-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.learner-email{font-size:1.125rem;font-weight:500;opacity:.95}.learner-role-badge{display:inline-block;padding:.25rem .75rem;background:rgba(255,255,255,.2);border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.learner-stats-quick{display:flex;gap:2rem;flex-wrap:wrap}.learner-stats-quick .stat-item{display:flex;gap:.5rem;align-items:baseline}.learner-stats-quick .stat-label{font-size:.875rem;opacity:.85}.learner-stats-quick .stat-value{font-size:1.25rem;font-weight:700}.learner-detail-container .performance-container{padding:0;max-width:none}.learner-detail-container .loading-container,.learner-detail-container .error-container{text-align:center;padding:4rem 2rem;background:white;border-radius:12px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d}.learner-detail-container .error-container h3{font-size:1.5rem;color:#dc2626;margin-bottom:.5rem}.learner-detail-container .error-container p{color:#6b7280;margin-bottom:1.5rem}@media (max-width: 768px){.learner-detail-container{padding:1rem}.learner-header-info{padding:1.5rem}.learner-info-content h1{font-size:1.5rem}.learner-email{font-size:1rem}.learner-stats-quick{flex-direction:column;gap:1rem}}@media (max-width: 480px){.learner-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.learner-stats-quick .stat-value{font-size:1.125rem}}.allocation-page{padding:2rem;max-width:1400px;margin:0 auto}.allocation-header{margin-bottom:2rem}.allocation-header h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.page-subtitle{color:#6b7280;font-size:1rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:white;border-radius:12px;padding:1.25rem;text-align:center;border:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d}.summary-number{display:block;font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.summary-label{font-size:.875rem;color:#6b7280}.summary-not-started .summary-number{color:#6b7280}.summary-in-progress .summary-number{color:#3b82f6}.summary-completed .summary-number{color:#10b981}.summary-overdue .summary-number{color:#ef4444}.view-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f3f4f6;padding:.25rem;border-radius:8px;width:fit-content}.toggle-btn{padding:.75rem 1.5rem;border:none;background:transparent;border-radius:6px;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.toggle-btn.active{background:white;color:#667eea;box-shadow:0 1px 3px #0000001a}.toggle-btn:hover:not(.active){color:#1f2937}.view-tip{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(139,92,246,.1));border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:12px 16px;margin-bottom:20px;font-size:.9rem;color:#4f46e5}.view-tip .tip-icon{font-size:1.1rem;flex-shrink:0}.view-tip .tip-text{flex:1;line-height:1.4}.view-tip .tip-dismiss{background:none;border:none;color:#6366f1;font-size:1.2rem;cursor:pointer;padding:0 4px;opacity:.6;transition:opacity .2s}.view-tip .tip-dismiss:hover{opacity:1}.assign-group-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#374151;background:white;cursor:pointer;min-width:150px}.assign-group-select:hover{border-color:#667eea}.assign-group-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.show-tips-btn{background:none;border:none;color:#6366f1;font-size:.85rem;cursor:pointer;padding:4px 8px;margin-bottom:16px;opacity:.7;transition:opacity .2s}.show-tips-btn:hover{opacity:1;text-decoration:underline}.group-assignment-list{max-height:400px;overflow-y:auto;margin:1rem 0}.group-assignment-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e5e7eb}.group-assignment-row:last-child{border-bottom:none}.group-assignment-label{display:flex;align-items:center;gap:12px;cursor:pointer;flex:1}.group-assignment-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.group-assignment-name{font-weight:500;color:#1f2937}.group-member-count{font-weight:400;color:#6b7280;font-size:.875rem;margin-left:8px}.group-assignment-date{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#374151;margin-left:16px}.group-assignment-date:focus{outline:none;border-color:#667eea}.scenarios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.scenario-allocation-card{background:white;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000d;transition:all .2s}.scenario-allocation-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.scenario-allocation-header{display:flex;align-items:center;gap:12px;margin-bottom:.5rem}.scenario-allocation-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:2px solid #667eea}.scenario-allocation-avatar img{width:100%;height:100%;object-fit:cover}.scenario-allocation-avatar.placeholder{border:2px dashed #ccc;background:transparent}.scenario-allocation-avatar .avatar-outline{font-size:20px;opacity:.4}.scenario-allocation-card h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.scenario-allocation-card .scenario-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:1rem;min-height:40px}.allocation-stats{display:flex;gap:1rem;margin-bottom:1rem;padding:1rem;background:#f9fafb;border-radius:8px}.allocation-stats .stat{flex:1;text-align:center}.allocation-stats .stat-number{display:block;font-size:1.5rem;font-weight:700;color:#1f2937}.allocation-stats .stat-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.allocation-stats .stat-completed .stat-number{color:#10b981}.allocation-stats .stat-overdue .stat-number{color:#ef4444}.card-actions{display:flex;gap:.5rem}.assign-btn{flex:1;padding:.75rem 1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.assign-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.assignments-table-container{background:white;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000d}.table-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase}.filter-group select,.filter-group input{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;min-width:180px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.assignments-table{width:100%;border-collapse:collapse}.assignments-table th,.assignments-table td{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb}.assignments-table th{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;background:#f9fafb}.assignments-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.assignments-table th.sortable:hover{color:#667eea}.assignments-table td{font-size:.875rem;color:#1f2937}.assignments-table tbody tr:hover{background:#f9fafb}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-completed{background:#d1fae5;color:#065f46}.status-in-progress{background:#dbeafe;color:#1e40af}.status-not-started{background:#f3f4f6;color:#4b5563}.status-overdue{background:#fee2e2;color:#991b1b}.due-date-cell{display:flex;flex-direction:column;gap:.25rem}.no-due-date{color:#9ca3af;font-style:italic}.countdown{font-size:.75rem}.countdown-normal{color:#6b7280}.countdown-soon{color:#d97706}.countdown-today{color:#ea580c;font-weight:500}.countdown-overdue{color:#dc2626;font-weight:500}.action-cell{display:flex;gap:.5rem}.action-btn{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.action-btn:hover{background:#e5e7eb}.action-btn.delete-btn:hover{background:#fee2e2}.filter-group-action{display:flex;align-items:flex-end}.bulk-delete-btn{padding:.5rem 1rem;font-size:.875rem;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.bulk-delete-btn:hover:not(:disabled){background:#fecaca}.bulk-delete-btn:disabled{opacity:.5;cursor:not-allowed;background:#f3f4f6;color:#9ca3af;border-color:#d1d5db}.checkbox-column{width:40px;text-align:center!important}.checkbox-column input[type=checkbox]{width:16px;height:16px;cursor:pointer}.assignments-table tr.selected-row{background:#eff6ff}.assignments-table tr.selected-row:hover{background:#dbeafe}.inline-date-input{padding:.375rem .5rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:6px;background:white;color:#1f2937;min-width:130px}.inline-date-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.inline-date-input:disabled{background:#f3f4f6;cursor:not-allowed}.assignment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.assignment-modal-content{position:relative;background:white;border-radius:16px;padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.assignment-modal-content.small-modal{max-width:450px}.assignment-modal-content h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.modal-description{color:#6b7280;font-size:.875rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px}.due-date-picker{display:flex;flex-direction:column;gap:.75rem}.due-date-picker input[type=date]{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem}.quick-dates{display:flex;gap:.5rem;flex-wrap:wrap}.quick-dates button{padding:.5rem 1rem;border:1px solid #d1d5db;background:white;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s}.quick-dates button:hover{border-color:#667eea;color:#667eea}.learner-search{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem}.select-all-buttons{display:flex;gap:.5rem;margin-top:.5rem}.select-all-buttons button{padding:.5rem 1rem;border:1px solid #d1d5db;background:white;border-radius:6px;font-size:.75rem;cursor:pointer}.select-all-buttons button:hover{background:#f9fafb}.learner-list{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;margin-top:.5rem}.learner-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background .15s}.learner-item:last-child{border-bottom:none}.learner-item:hover{background:#f9fafb}.learner-item.selected{background:#ede9fe}.learner-item.already-assigned{background:#fef3c7}.learner-email{flex:1;font-size:.875rem}.assigned-badge{font-size:.7rem;background:#fbbf24;color:#78350f;padding:.125rem .5rem;border-radius:4px}.no-learners{padding:2rem;text-align:center;color:#6b7280}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.cancel-btn{padding:.75rem 1.5rem;border:1px solid #d1d5db;background:white;border-radius:8px;font-size:.875rem;cursor:pointer}.cancel-btn:hover{background:#f9fafb}.assign-submit-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.assign-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.assign-submit-btn:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-btn{padding:.75rem 1.5rem;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer}.delete-confirm-btn:hover:not(:disabled){background:#b91c1c}.warning-text{font-size:.875rem;color:#6b7280;font-style:italic}.allocation-page .empty-state{text-align:center;padding:3rem 2rem;background:#f9fafb;border-radius:12px;border:2px dashed #d1d5db}.allocation-page .empty-state p{color:#6b7280;margin-bottom:1rem}.allocation-page .empty-state button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer}@media (max-width: 768px){.allocation-page{padding:1rem}.summary-cards{grid-template-columns:repeat(2,1fr)}.scenarios-grid{grid-template-columns:1fr}.table-filters{flex-direction:column}.filter-group{width:100%}.filter-group select,.filter-group input{width:100%;min-width:0}.assignments-table{font-size:.8rem}.assignments-table th,.assignments-table td{padding:.75rem .5rem}.assignment-modal-content{padding:1.5rem;margin:.5rem}}@media (max-width: 480px){.summary-cards{grid-template-columns:1fr}.view-toggle{width:100%}.toggle-btn{flex:1;text-align:center}.allocation-stats{flex-direction:column;gap:.5rem}}.view-actions{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.create-group-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.create-group-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.group-card{background:white;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000d;cursor:pointer;transition:all .2s}.group-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.group-card.default-group{border-color:#d1d5db;background:#f9fafb}.group-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.group-card-header h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.default-badge{font-size:.7rem;background:#e5e7eb;color:#6b7280;padding:.125rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.group-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.group-stats{display:flex;gap:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.group-stat{text-align:center}.group-stat .stat-number{display:block;font-size:1.5rem;font-weight:700;color:#1f2937}.group-stat .stat-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.group-modal{max-width:700px}.group-modal-header{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.group-name-edit{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.group-name-input{font-size:1.5rem;font-weight:600;color:#1f2937;border:none;border-bottom:2px solid transparent;padding:.25rem 0;background:transparent;flex:1;transition:border-color .2s}.group-name-input:focus{outline:none;border-bottom-color:#667eea}.group-name-input:disabled{color:#6b7280}.group-description-input{width:100%;font-size:.875rem;color:#6b7280;border:1px solid #e5e7eb;border-radius:6px;padding:.5rem .75rem;resize:vertical;margin-bottom:1rem}.group-description-input:focus{outline:none;border-color:#667eea}.group-modal-actions{display:flex;gap:.75rem}.save-group-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer}.save-group-btn:hover:not(:disabled){box-shadow:0 2px 8px #667eea66}.delete-group-btn{padding:.5rem 1rem;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer}.delete-group-btn:hover:not(:disabled){background:#fecaca}.group-section{margin-bottom:1.5rem}.group-section h4{font-size:1rem;font-weight:600;color:#374151;margin-bottom:.75rem}.section-header-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.section-header-row h4{margin:0 auto 0 0}.add-members-btn{padding:.375rem .75rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:.8125rem;cursor:pointer;transition:all .2s}.add-members-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.add-all-btn{padding:.375rem .75rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:.8125rem;cursor:pointer;transition:all .2s}.add-all-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.add-all-btn:disabled{opacity:.5;cursor:not-allowed}.remove-all-btn{padding:.375rem .75rem;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;font-size:.8125rem;cursor:pointer;transition:all .2s}.remove-all-btn:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.remove-all-btn:disabled{opacity:.5;cursor:not-allowed}.scenario-checkboxes{display:flex;flex-direction:column;gap:.75rem;max-height:250px;overflow-y:auto;padding:.5rem;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.scenario-checkbox-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:white;border-radius:6px;border:1px solid #e5e7eb}.scenario-checkbox-item label{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex:1}.scenario-checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.scenario-checkbox-name{font-size:.875rem;color:#374151}.scenario-due-date{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px}.members-list{max-height:200px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.member-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #f3f4f6}.member-item:last-child{border-bottom:none}.member-email{font-size:.875rem;color:#374151}.remove-member-btn{width:24px;height:24px;border:none;background:#f3f4f6;color:#6b7280;border-radius:50%;cursor:pointer;font-size:1.125rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-member-btn:hover:not(:disabled){background:#fee2e2;color:#dc2626}.no-members{text-align:center;padding:2rem;color:#6b7280;font-size:.875rem;background:#f9fafb;border-radius:8px}.section-header-buttons{display:flex;gap:.5rem}.invite-learners-btn{padding:.375rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.8125rem;cursor:pointer;transition:all .2s}.invite-learners-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.invite-learners-btn:disabled{opacity:.6;cursor:not-allowed}.pending-invitations{margin-bottom:1rem;padding:.75rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px}.pending-invitations h5{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:#92400e}.invitations-list{display:flex;flex-direction:column;gap:.375rem}.invitation-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:white;border-radius:4px}.invitation-email{flex:1;font-size:.8125rem;color:#374151}.invitation-badge.pending{padding:.125rem .375rem;background:#fef3c7;color:#92400e;border-radius:4px;font-size:.6875rem;font-weight:500}.cancel-invitation-btn{width:20px;height:20px;border:none;background:#f3f4f6;color:#6b7280;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s}.cancel-invitation-btn:hover:not(:disabled){background:#fee2e2;color:#dc2626}.invite-textarea{resize:vertical;min-height:120px}.email-count{margin:.5rem 0 0;font-size:.875rem;color:#059669;font-weight:500}.invite-results{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.result-success{margin:0;padding:.75rem;background:#d1fae5;color:#065f46;border-radius:8px;font-weight:500}.result-warning{padding:.75rem;background:#fef3c7;color:#92400e;border-radius:8px}.result-warning p{margin:0 0 .5rem;font-weight:500}.result-warning ul{margin:0;padding-left:1.25rem;font-size:.875rem}.result-warning li{margin-bottom:.25rem}.result-hint{margin-top:.5rem!important;font-size:.8125rem;font-style:italic;opacity:.9}.result-error{padding:.75rem;background:#fee2e2;color:#b91c1c;border-radius:8px}.result-error p{margin:0 0 .5rem;font-weight:500}.result-error ul{margin:0;padding-left:1.25rem;font-size:.875rem}.result-error li{margin-bottom:.25rem}.group-badge{display:inline-block;padding:.25rem .5rem;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:.75rem;font-weight:500}.individual-badge{display:inline-block;padding:.25rem .5rem;background:#f3f4f6;color:#6b7280;border-radius:4px;font-size:.75rem}.summary-sections{display:flex;flex-direction:row;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.summary-section{background:#f8fafc;border-radius:10px;padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;flex:1;min-width:300px}.summary-section-title{font-size:.7rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0;white-space:nowrap}.summary-section .summary-cards{display:flex;gap:.75rem;flex-wrap:nowrap;margin-bottom:0;flex:1;min-width:0}.summary-section .summary-card{padding:.5rem .75rem;min-width:0;flex:1}.summary-section .summary-number{font-size:1.25rem}.summary-section .summary-label{font-size:.65rem;white-space:nowrap}.summary-section .summary-label.multiline{white-space:normal;line-height:1.2;max-width:70px}.create-group-card{border:2px dashed #d1d5db;background:#fafafa;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:120px;transition:all .2s}.create-group-card:hover{border-color:#667eea;background:#f5f3ff}.create-group-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#6b7280}.create-group-card:hover .create-group-content{color:#667eea}.create-group-icon{font-size:2rem;font-weight:300;line-height:1}.create-group-text{font-size:.875rem;font-weight:500}.scenario-checkbox-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.scenario-checkbox-row:last-child{border-bottom:none}.scenario-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex:1}.scenario-checkbox-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:1.5px solid #667eea}.scenario-checkbox-avatar img{width:100%;height:100%;object-fit:cover}.scenario-checkbox-avatar.placeholder{border:1.5px dashed #ccc;background:transparent}.scenario-checkbox-avatar span{font-size:12px;opacity:.4}.scenario-inline-date{padding:.375rem .5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.75rem;color:#374151;background:white;cursor:pointer;min-width:130px}.scenario-inline-date:hover{border-color:#667eea}.scenario-inline-date:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.modal-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#374151;background:white;font-family:inherit;transition:border-color .2s,box-shadow .2s}.modal-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-input::placeholder{color:#9ca3af}.modal-textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#374151;background:white;font-family:inherit;resize:vertical;min-height:80px;line-height:1.5;transition:border-color .2s,box-shadow .2s}.modal-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-textarea::placeholder{color:#9ca3af}.modal-close-btn{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;border:none;background:#f3f4f6;color:#6b7280;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.modal-close-btn:hover{background:#e5e7eb;color:#374151}.loading-text{font-size:1rem;color:#6b7280;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.group-description-input{width:100%;font-size:.875rem;color:#374151;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;resize:vertical;min-height:60px;background:white;font-family:inherit;line-height:1.5}.group-description-input::placeholder{color:#9ca3af}.group-description-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}@media (max-width: 768px){.groups-grid{grid-template-columns:1fr}.group-modal{max-width:100%}.group-modal-actions{flex-direction:column}.section-header-row{flex-direction:column;align-items:flex-start;gap:.5rem}.summary-sections{flex-direction:column}.summary-section{flex-direction:column;align-items:flex-start}.summary-section .summary-cards{flex-wrap:wrap}}.skills-coach-section{margin-bottom:2rem}.skills-coach-section .meta-evaluation-section{background:white;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .3s ease}.skills-coach-section .meta-evaluation-section.collapsed{border-radius:12px}.skills-coach-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;cursor:pointer;background:#fafafa;border-bottom:1px solid transparent;transition:background .2s ease}.skills-coach-header:hover{background:#f5f5f5}.meta-evaluation-section.expanded .skills-coach-header{border-bottom:1px solid #e5e7eb}.skills-coach-header-content{flex:1}.skills-coach-header h2{font-size:1.25rem;color:#1f2937;margin:0;font-weight:600;display:flex;align-items:center;gap:.75rem}.skills-coach-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover}.skills-coach-title-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.skills-coach-title-row h2{margin-right:auto}.meta-eval-context.header-context{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.meta-eval-context.header-context .meta-eval-badge,.meta-eval-context.header-context .meta-eval-date-range,.meta-eval-context.header-context .trajectory-badge{font-size:.75rem}.skills-coach-summary{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.skills-coach-summary .summary-line{font-size:.875rem;color:#6b7280}.skills-coach-summary .summary-line strong{color:#374151}.skills-coach-summary .summary-line.loading{color:#9ca3af;font-style:italic}.skills-coach-chevron{font-size:1rem;color:#9ca3af;transition:transform .2s ease;margin-left:1rem}.skills-coach-body{padding:1.5rem}.skills-coach-body .meta-eval-description{color:#6b7280;font-size:.875rem;margin:0 0 1.5rem}.meta-eval-context{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.meta-eval-date-range{font-size:.875rem;color:#6b7280;padding:.25rem .75rem;background:#f3f4f6;border-radius:20px}.quick-stats-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.quick-stats-3 .overview-card{min-width:0}.score-delta{display:inline-block;font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:12px;margin-left:.5rem;vertical-align:middle}.score-delta.positive{background:#d1fae5;color:#059669}.score-delta.negative{background:#fee2e2;color:#dc2626}.card-sublabel{font-size:.7rem;color:#9ca3af;margin-top:.25rem}.scenario-progress-section{margin-bottom:2rem}.scenario-progress-section h2{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:1.5rem}.next-attempt-focus{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:2px solid #f59e0b;border-radius:12px;padding:1.25rem;margin-top:1.5rem}.next-attempt-focus h4{font-size:1rem;font-weight:700;color:#92400e;margin:0 0 .75rem}.next-attempt-focus p{margin:0 0 .5rem;color:#78350f;line-height:1.5}.next-attempt-focus p strong{color:#92400e}.next-attempt-focus .focus-tip{font-style:italic;color:#a16207;font-size:.9rem}.scenario-card-actions{display:flex;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.practice-again-btn{background:linear-gradient(135deg,#7c3aed 0%,#6366f1 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.practice-again-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.recent-sessions-condensed{margin-bottom:2rem}.section-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header-with-action h2{margin:0;font-size:1.5rem;font-weight:700;color:#111827}.view-all-btn{background:transparent;border:2px solid #7c3aed;color:#7c3aed;padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.view-all-btn:hover{background:#7c3aed;color:#fff}@media (max-width: 768px){.quick-stats-3{grid-template-columns:1fr;gap:1rem}.meta-eval-context{flex-direction:column;align-items:flex-start}.section-header-with-action{flex-direction:column;align-items:flex-start;gap:.75rem}.scenario-card-actions{justify-content:stretch}.practice-again-btn{width:100%;text-align:center}.next-attempt-focus{margin-top:1rem}}.overview-stats-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.stat-box{display:flex;align-items:baseline;gap:.35rem;padding:.5rem 1rem;background:#f3f4f6;border-radius:8px;border:1px solid #e5e7eb}.stat-box.tooltip-trigger{position:relative;cursor:help}.stat-box .custom-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.75rem;white-space:nowrap;z-index:100;box-shadow:0 4px 12px #0003}.stat-box .custom-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937}.stat-box-value{font-size:1.25rem;font-weight:700;color:#1f2937}.stat-box-label{font-size:.875rem;color:#6b7280}.stat-box-sublabel{font-size:.75rem;color:#9ca3af}.stat-box-sep{color:#d1d5db;margin:0 .25rem}.stat-box.active-box{background:#f5f3ff;border-color:#ddd6fe}.stat-box.active-box .stat-box-label{color:#6366f1;font-weight:600;margin-right:.5rem}.performance-filter-group{position:relative;align-items:flex-start}.filter-dropdown-btn{padding:.5rem 1rem;font-size:.875rem;background:white;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:all .2s;text-align:left;width:auto}.filter-dropdown-btn:hover,.filter-dropdown-btn.has-filters{border-color:#6366f1;color:#6366f1}.performance-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:white;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;padding:.25rem 0;width:auto;min-width:0}.checkbox-option{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:.5rem;padding:.25rem .75rem;font-size:.8125rem;cursor:pointer;transition:background-color .15s;white-space:nowrap}.checkbox-option:hover{background:#f5f3ff}.checkbox-option input[type=checkbox]{width:14px;height:14px;accent-color:#6366f1;flex-shrink:0;margin:0}.checkbox-option span{flex:none}.clear-filters-btn{width:100%;padding:.375rem;border:none;border-top:1px solid #e0e0e0;background:#f9fafb;color:#6b7280;font-size:.75rem;cursor:pointer;margin-top:.125rem;text-align:center}.clear-filters-btn:hover{color:#dc2626;background:#fef2f2}.learner-groups-section{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.learner-group{background:white;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d;transition:box-shadow .2s}.learner-group:hover{box-shadow:0 4px 12px #0000001a}.group-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #e0e0e0;cursor:pointer;transition:background-color .2s}.group-header:hover{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%)}.group-header-left{display:flex;align-items:center;gap:.75rem}.group-toggle{font-size:.75rem;color:#6b7280;width:1rem;display:inline-flex;justify-content:center}.group-name{font-size:1.125rem;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:.5rem}.group-name.clickable{color:#6366f1;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;cursor:pointer}.group-name.clickable:hover{color:#4f46e5;text-decoration-style:solid}.default-badge{padding:.125rem .5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;font-size:.625rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.group-member-count{font-size:.875rem;color:#6b7280;font-weight:400;background:#e5e7eb;padding:.125rem .5rem;border-radius:10px;margin-left:.25rem}.group-header-stats{display:flex;gap:1.5rem}.group-stat{font-size:.875rem;color:#4b5563;display:flex;align-items:center;gap:.25rem}.group-content{padding:1rem}.no-members{text-align:center;padding:2rem;color:#6b7280;font-style:italic}.info-icon{margin-left:.25rem;cursor:help;font-size:.75rem;opacity:.7}.info-icon:hover{opacity:1}.tooltip-card{position:relative}.custom-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.75rem;white-space:nowrap;z-index:100;box-shadow:0 4px 12px #0003}.custom-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937}.performance-header .header-actions{display:flex;gap:.75rem;align-items:center}.btn-secondary{padding:.5rem 1rem;background:white;color:#6366f1;border:2px solid #6366f1;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#6366f1;color:#fff}.learner-row .expand-indicator{display:inline-block;width:1rem;margin-right:.5rem;font-size:.625rem;color:#6b7280;transition:transform .2s}.learner-row.expanded .expand-indicator{color:#8b5cf6}.learner-row.expanded{background-color:#faf5ff}.other-groups-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:#e0e7ff;color:#4f46e5;font-size:.625rem;font-weight:600;border-radius:10px;cursor:help}.expanded-row{background:linear-gradient(135deg,#faf5ff 0%,#f5f3ff 100%)}.expanded-row td{padding:0!important}.expanded-content{padding:1rem 1.5rem 1rem 2.5rem;border-top:1px dashed #e0e0e0}.scenario-breakdown{background:linear-gradient(135deg,#f8f7ff 0%,#faf5ff 100%);border-radius:8px;border:1px solid #e9e3ff}.scenario-subrow-table{width:100%;border-collapse:collapse;font-size:.8125rem}.scenario-subrow-table thead tr{background:linear-gradient(135deg,#f0eeff 0%,#e9e3ff 100%)}.scenario-subrow-table th{padding:.625rem .75rem;text-align:left;font-weight:600;color:#5b21b6;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;border-bottom:1px solid #ddd6fe}.scenario-subrow-table th:first-child{border-radius:8px 0 0;padding-left:1rem}.scenario-subrow-table th:last-child{border-radius:0 8px 0 0}.scenario-subrow{border-bottom:1px solid #f3f0ff;transition:background .15s ease}.scenario-subrow:last-child{border-bottom:none}.scenario-subrow:hover{background:rgba(139,92,246,.05)}.scenario-subrow td{padding:.625rem .75rem;color:#374151}.scenario-subrow .scenario-name-cell{font-weight:500;color:#1f2937;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:1rem}.scenario-subrow .attempt-count,.scenario-subrow .assessed-count{text-align:center;font-weight:500}.scenario-subrow .score-badge{font-size:.75rem;padding:.25rem .5rem}.scenario-subrow .score-na{color:#9ca3af}.scenario-subrow .trend-cell{text-align:center}.scenario-subrow .trend-indicator{font-size:.875rem}.scenario-subrow .last-attempt{color:#6b7280;font-size:.75rem}.scenario-subrow .not-started{color:#9ca3af;font-style:italic;font-size:.75rem}.no-scenarios-assigned{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;color:#6b7280;font-size:.875rem}.no-scenarios-assigned .empty-icon{font-size:1.25rem}.expanded-placeholder{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#f5f3ff;border:1px dashed #c4b5fd;border-radius:8px;margin-bottom:1rem}.placeholder-icon{font-size:1.25rem}.placeholder-text{color:#7c3aed;font-size:.875rem;font-style:italic}.expanded-summary{display:flex;gap:2rem;flex-wrap:wrap}.summary-item{font-size:.875rem;color:#4b5563}.summary-item strong{color:#1f2937}.assigned-count{font-weight:600;color:#6366f1}.assessed-count{font-weight:600;color:#10b981}.unassessed-count{font-weight:600;color:#f59e0b}@media (max-width: 1024px){.group-header{flex-direction:column;align-items:flex-start;gap:.75rem}.group-header-stats{flex-wrap:wrap;gap:1rem}}@media (max-width: 768px){.group-header-stats{gap:.75rem}.group-stat{font-size:.8125rem}.expanded-summary{flex-direction:column;gap:.75rem}.group-content .table-container{overflow-x:auto}.group-content .learner-table{min-width:800px}}.onboarding-banner{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;padding:2rem;margin-bottom:2rem;color:#fff;box-shadow:0 10px 40px #667eea4d}.onboarding-content h2{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;color:#fff}.onboarding-guide{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-top:.5rem}.guide-pointer{display:flex;align-items:center;gap:.5rem}.pointer-arrow{font-size:1.25rem;animation:bounce 1.5s ease-in-out infinite}.pointer-text{font-size:.95rem;font-weight:500;opacity:.95}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.onboarding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.onboarding-header h2{margin:0}.collapse-btn{background:rgba(255,255,255,.2);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:.875rem;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.collapse-btn:hover{background:rgba(255,255,255,.3)}.onboarding-banner.collapsed{padding:0}.onboarding-collapsed{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;cursor:pointer;transition:background-color .2s ease}.onboarding-collapsed:hover{background:linear-gradient(135deg,#5a70d9 0%,#6a4295 100%)}.collapsed-text{font-weight:600;font-size:.95rem}.collapsed-progress{font-weight:400;opacity:.8;margin-left:.5rem}.expand-icon{font-size:.75rem;opacity:.8}@media (max-width: 640px){.onboarding-banner{padding:1.25rem}.onboarding-content h2{font-size:1.25rem}.onboarding-guide{grid-template-columns:1fr;gap:.5rem}.pointer-text{font-size:.875rem}}.scenario-section{margin-bottom:2rem}.section-title{font-size:1.125rem;font-weight:600;color:#374151;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #E5E7EB}.section-title.getting-started-title{color:#667eea;border-bottom-color:#667eea}.scenario-card-selector.onboarding-scenario{background:linear-gradient(135deg,#f0f3ff 0%,#e8edff 100%);border:2px solid #667eea}.scenario-card-selector.onboarding-scenario:hover{border-color:#764ba2;box-shadow:0 4px 12px #667eea33}.scenario-badge{display:inline-block;margin-top:.75rem;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.scenario-badge.not-assessed{background-color:#e5e7eb;color:#6b7280}.scenario-badge.completed{background-color:#d1fae5;color:#059669}.empty-scenarios-message{background:#F9FAFB;border:2px dashed #D1D5DB;border-radius:8px;padding:1.5rem;text-align:center;color:#4b5563}.empty-scenarios-message p{margin:0;line-height:1.5}.scenarios-page{max-width:1200px;margin:0 auto;padding:20px}.scenarios-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.scenarios-header-left{display:flex;flex-direction:column}.scenarios-header h1{margin:0 0 5px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.scenarios-subtitle{color:#666;margin:0;font-size:14px}.scenarios-header-right{display:flex;align-items:center}.scenarios-tab-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px;flex-wrap:wrap}.scenarios-filter-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search-input-wrapper{position:relative;flex:1;min-width:200px;max-width:300px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:14px;pointer-events:none}.scenarios-search-input{width:100%;padding:10px 12px 10px 38px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.scenarios-search-input:focus{outline:none;border-color:#9c27b0;box-shadow:0 0 0 3px #9c27b01a}.scenarios-filter-select{padding:10px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:white;cursor:pointer;min-width:140px;transition:border-color .2s}.scenarios-filter-select:focus{outline:none;border-color:#9c27b0}.btn-clear-filters{padding:10px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;font-size:14px;cursor:pointer;color:#4b5563;transition:all .2s;white-space:nowrap}.btn-clear-filters:hover{background:#e5e7eb;border-color:#9ca3af}.scenarios-tabs{display:flex;gap:0;border-bottom:2px solid #e5e7eb}.scenarios-tab{padding:12px 24px;background:transparent;color:#6b7280;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:15px;font-weight:400;transition:all .2s ease}.scenarios-tab:hover{color:#374151}.scenarios-tab.active{color:#9c27b0;font-weight:600;border-bottom-color:#9c27b0}.scenarios-bulk-toolbar{background:linear-gradient(135deg,#9C27B0 0%,#7B1FA2 100%);border-radius:8px;padding:12px 20px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;color:#fff;box-shadow:0 2px 8px #9c27b04d}.scenarios-bulk-toolbar-left{display:flex;align-items:center;gap:15px}.scenarios-bulk-toolbar .selected-count{font-weight:600;font-size:15px}.scenarios-bulk-toolbar .btn-deselect{background:rgba(255,255,255,.2);border:none;color:#fff;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.scenarios-bulk-toolbar .btn-deselect:hover{background:rgba(255,255,255,.3)}.scenarios-bulk-toolbar-right{display:flex;gap:10px}.scenarios-bulk-toolbar .btn-bulk-action{background:white;border:none;color:#9c27b0;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s}.scenarios-bulk-toolbar .btn-bulk-action:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.scenarios-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.new-scenario-card{border:2px dashed #4CAF50;border-radius:8px;padding:20px;background:#f9fff9;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;text-align:center}.new-scenario-card:hover{background:#e8f5e9;border-color:#388e3c}.new-scenario-card .plus-icon{font-size:48px;margin-bottom:10px;color:#4caf50}.new-scenario-card h3{margin:0 0 8px;color:#4caf50;font-size:18px}.new-scenario-card p{margin:0;color:#666;font-size:14px}.scenario-card{border:1px solid #ddd;border-radius:12px;padding:20px 16px;background:white;cursor:pointer;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column;align-items:flex-start;min-height:180px}.scenario-card:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-2px)}.scenario-card-header{display:flex;justify-content:flex-start;align-items:flex-start;margin-bottom:10px;gap:12px}.scenario-card-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:2px solid #667eea}.scenario-card-avatar img{width:100%;height:100%;object-fit:cover}.scenario-card-avatar.placeholder{border:2px dashed #ccc;background:transparent}.scenario-card-avatar .avatar-outline{font-size:24px;opacity:.4}.scenario-card-avatar-large{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:3px solid #667eea}.scenario-card-avatar-large img{width:100%;height:100%;object-fit:cover}.scenario-card-avatar-large.placeholder{border:3px dashed #ccc;background:transparent}.scenario-card-avatar-large .avatar-outline{font-size:36px;opacity:.4}.scenario-card-title{margin:0 0 8px;color:#333;font-size:1rem;text-align:left;line-height:1.3}.scenario-card-title-row{display:flex;align-items:flex-start;gap:10px;flex:1}.scenario-card-checkbox{width:18px;height:18px;cursor:pointer;margin-top:2px;accent-color:#9C27B0}.scenario-card h3{margin:0;color:#333;flex:1}.scenario-card-description{color:#666;margin-bottom:12px;font-size:.85rem;line-height:1.4;text-align:left;flex-grow:1}.scenario-card-tags{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}.scenario-card-tag{font-size:11px;padding:3px 8px;background:#f0f0f0;border-radius:12px;color:#666}.scenario-card-tag.more{background:transparent;color:#999}.scenario-card-footer{display:flex;gap:15px;font-size:12px;color:#888;border-top:1px solid #f0f0f0;padding-top:10px}.scenarios-results-count{margin-top:20px;text-align:center;color:#666;font-size:14px}.scenarios-empty-state{text-align:center;padding:60px 20px;color:#666;grid-column:1 / -1}.scenarios-loading,.scenarios-error{padding:20px;text-align:center}.scenarios-error h2{color:#dc2626}.scenarios-error button{padding:10px 20px;margin-top:10px;background:#9C27B0;color:#fff;border:none;border-radius:8px;cursor:pointer}@media (max-width: 768px){.scenarios-header{flex-direction:column;gap:1rem}.scenarios-header-right{align-self:flex-start}.scenarios-tab-row,.scenarios-filter-bar{flex-direction:column;align-items:stretch}.search-input-wrapper{max-width:none}.scenarios-filter-select{width:100%}.scenarios-tabs{flex-wrap:wrap}.scenarios-tab{flex:1;text-align:center;padding:10px 12px}.scenarios-bulk-toolbar{flex-direction:column;gap:12px}.scenarios-bulk-toolbar-left,.scenarios-bulk-toolbar-right{width:100%;justify-content:center}.scenarios-cards-grid{grid-template-columns:1fr}}.export-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.export-modal{background:white;border-radius:12px;width:100%;max-width:520px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d}.export-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#6c5ce7 0%,#a29bfe 100%);color:#fff}.export-modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.export-modal-close{background:rgba(255,255,255,.2);border:none;color:#fff;font-size:1.5rem;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.export-modal-close:hover{background:rgba(255,255,255,.3)}.export-tabs{display:flex;border-bottom:1px solid #e9ecef;background:#f8f9fa}.export-tab{flex:1;padding:14px 16px;border:none;background:transparent;cursor:pointer;font-size:.9rem;font-weight:500;color:#666;transition:all .2s;position:relative}.export-tab:hover{color:#6c5ce7;background:rgba(108,92,231,.05)}.export-tab.active{color:#6c5ce7;background:white}.export-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:#6c5ce7;border-radius:3px 3px 0 0}.export-modal-content{padding:24px;overflow-y:auto;max-height:calc(90vh - 180px)}.export-tab-content{display:flex;flex-direction:column;gap:20px}.export-preview{background:#f8f9fa;border-radius:8px;padding:20px}.export-preview h3{margin:0 0 8px;font-size:1.1rem;color:#2d3436}.export-description{margin:0 0 16px;color:#636e72;font-size:.9rem;line-height:1.5}.export-warning{display:flex;align-items:flex-start;gap:10px;background:#fff3cd;color:#856404;padding:12px 16px;border-radius:6px;font-size:.85rem;margin-bottom:16px}.export-warning .warning-icon{flex-shrink:0}.export-includes{margin-top:16px}.export-includes h4{margin:0 0 10px;font-size:.9rem;color:#2d3436;font-weight:600}.export-includes ul{list-style:none;padding:0;margin:0}.export-includes li{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:.9rem;color:#2d3436}.export-includes .check{color:#00b894;font-weight:700}.export-includes .cross{color:#d63031;font-weight:700}.export-count{margin:16px 0 0;font-size:.85rem;color:#6c5ce7;font-weight:500}.export-email-info{display:flex;align-items:center;gap:10px;background:white;padding:12px 16px;border-radius:6px;margin-bottom:16px;border:1px solid #e9ecef}.export-email-info .email-icon{font-size:1.2rem}.export-email-info .email-address{color:#2d3436;font-weight:500}.export-btn{width:100%;padding:14px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.export-btn.primary{background:linear-gradient(135deg,#6c5ce7 0%,#a29bfe 100%);color:#fff}.export-btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6c5ce766}.export-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.export-result{padding:12px 16px;border-radius:6px;font-size:.9rem;text-align:center;margin-top:12px}.export-result.success{background:#d4edda;color:#155724}.export-result.error{background:#f8d7da;color:#721c24}.export-button-header{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#6c5ce7 0%,#a29bfe 100%);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.export-button-header:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6c5ce74d}.export-button-header .export-icon{font-size:1rem}.performance-header-actions{display:flex;align-items:center;gap:12px}@media (max-width: 480px){.export-modal{max-width:100%;margin:10px;border-radius:8px}.export-modal-header{padding:16px 20px}.export-modal-header h2{font-size:1.1rem}.export-tabs{overflow-x:auto}.export-tab{padding:12px;font-size:.85rem;white-space:nowrap}.export-modal-content,.export-preview{padding:16px}.export-btn{padding:12px 20px;font-size:.95rem}.export-button-header{padding:8px 12px;font-size:.85rem}.export-button-header span:not(.export-icon){display:none}}.community-page{padding:2rem;max-width:900px;margin:0 auto}.community-header{margin-bottom:2rem}.community-header h1{font-size:2rem;margin:1rem 0 0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.community-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e1e5e9;padding-bottom:.5rem;flex-wrap:wrap;align-items:center}.community-tabs .tab{padding:.75rem 1.5rem;border:none;background:transparent;cursor:pointer;font-size:1rem;color:#666;border-radius:.5rem .5rem 0 0;transition:all .2s}.community-tabs .tab:hover{background:#f0f0f0}.community-tabs .tab.active{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.community-tabs .tab{position:relative}.tab-count-badge{position:absolute;top:-.4rem;right:-.4rem;display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.2rem;padding:0 .3rem;font-size:.7rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:1rem;box-shadow:0 1px 3px #0003}.community-tabs .sort-dropdown{margin-left:auto;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.community-tabs .sort-dropdown select{padding:.4rem .6rem;border:1px solid #e1e5e9;border-radius:.3rem;font-size:.9rem}.community-content{min-height:300px}.feed-description{color:#666;margin-bottom:1rem;font-size:.9rem}.scenarios-feed,.my-scenarios{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.leaderboard{display:flex;flex-direction:column;gap:.75rem}.community-card,.my-scenario-card{background:white;border:1px solid #e1e5e9;border-radius:8px;padding:1rem;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}.community-card:hover,.my-scenario-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.community-card .card-header,.my-scenario-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.25rem}.community-card .scenario-title,.my-scenario-card .scenario-title{font-size:1rem;font-weight:600;margin:0;color:#333;line-height:1.3;flex:1}.scenario-author{font-size:.8rem;color:#888;margin-bottom:.5rem}.scenario-summary{color:#666;font-size:.85rem;line-height:1.4;margin-bottom:.75rem;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.community-card .card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #f0f0f0;margin-top:auto}.shared-date{font-size:.75rem;color:#999}.practice-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:.4rem .8rem;border-radius:.4rem;font-size:.8rem;cursor:pointer;transition:transform .2s,opacity .2s;white-space:nowrap}.practice-button:hover{transform:translateY(-1px);opacity:.95}.card-footer-actions{display:flex;gap:.5rem;align-items:center}.hide-button{background:transparent;border:1px solid #e1e5e9;padding:.4rem .6rem;border-radius:.4rem;font-size:.75rem;color:#888;cursor:pointer;transition:all .2s}.hide-button:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.upvote-button{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:2px solid #e1e5e9;border-radius:2rem;background:white;cursor:pointer;transition:all .3s ease;min-width:auto}.upvote-button:hover:not(.loading){border-color:#667eea;background:linear-gradient(135deg,rgba(102,126,234,.08) 0%,rgba(118,75,162,.08) 100%);transform:scale(1.05)}.upvote-button.upvoted{border-color:transparent;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 2px 8px #667eea66}.upvote-button.upvoted .upvote-icon{filter:grayscale(1) brightness(10)}.upvote-button.upvoted .upvote-count{color:#fff}.upvote-icon{font-size:1rem;line-height:1;transition:transform .2s ease}.upvote-button:not(.upvoted) .upvote-icon{filter:grayscale(.5);opacity:.7}.upvote-button:hover:not(.loading):not(.upvoted) .upvote-icon{filter:none;opacity:1;transform:scale(1.1)}.upvote-count{font-size:.85rem;font-weight:600;color:#333}.upvote-display.own-scenario{display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;color:#888;background:#f5f5f5;border-radius:2rem}.upvote-display.own-scenario .upvote-icon{font-size:.9rem;filter:grayscale(.5);opacity:.6}.scenario-stats{display:flex;gap:.5rem;font-size:.85rem;color:#888;margin-bottom:1rem;flex-wrap:wrap}.scenario-stats .stat{white-space:nowrap}.visibility-badge{font-size:.75rem;padding:.25rem .6rem;border-radius:1rem;text-transform:uppercase;font-weight:600}.visibility-badge.shared{background:#e8f5e9;color:#2e7d32}.visibility-badge.private{background:#f3e5f5;color:#7b1fa2}.card-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto;padding-top:.75rem;border-top:1px solid #f0f0f0}.action-button{padding:.4rem .75rem;border-radius:.3rem;font-size:.8rem;cursor:pointer;transition:all .2s;border:none}.action-button.primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.action-button.primary:hover{opacity:.95;transform:translateY(-1px)}.action-button.secondary{background:white;border:1px solid #e1e5e9;color:#555}.action-button.secondary:hover{background:#f5f5f5}.create-new-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;border:2px dashed #e1e5e9;border-radius:8px;cursor:pointer;color:#888;transition:all .2s;min-height:120px}.create-new-card:hover{border-color:#667eea;color:#667eea;background:rgba(102,126,234,.05)}.create-new-card .plus-icon{font-size:1.5rem;font-weight:300}.create-new-card-prominent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:linear-gradient(135deg,rgba(102,126,234,.08) 0%,rgba(118,75,162,.08) 100%);border:2px dashed #667eea;border-radius:8px;cursor:pointer;color:#667eea;font-weight:600;font-size:.9rem;transition:all .2s;min-height:100px}.create-new-card-prominent:hover{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-color:transparent;box-shadow:0 4px 12px #667eea4d}.create-new-card-prominent .plus-icon{font-size:1.5rem;font-weight:400}.leaderboard-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:white;border:1px solid #e1e5e9;border-radius:8px;transition:box-shadow .2s}.leaderboard-item:hover{box-shadow:0 2px 8px #00000014}.leaderboard-item .rank{font-size:1.1rem;font-weight:700;color:#667eea;min-width:2rem;text-align:center}.leaderboard-item .item-content{flex:1;min-width:0}.leaderboard-item .item-content .scenario-title{font-size:.95rem;font-weight:600;margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-item .item-content .scenario-author{margin-bottom:0;font-size:.75rem}.leaderboard-item .item-content .scenario-summary{display:none}.leaderboard-item .item-stats{display:flex;align-items:center;gap:.25rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:.3rem .6rem;border-radius:1rem;color:#fff}.leaderboard-item .item-stats .upvote-count{font-size:.85rem;font-weight:600;color:#fff}.leaderboard-item .item-stats:before{content:"👍";font-size:.8rem;filter:grayscale(1) brightness(10)}.empty-state{text-align:center;padding:3rem;color:#666}.empty-state h3{margin-bottom:.5rem;color:#444}.empty-state p{margin-bottom:1.5rem}.cta-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;cursor:pointer;transition:transform .2s}.cta-button:hover{transform:translateY(-2px)}.badge-celebration-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:2000}.badge-celebration-modal{background:white;padding:3rem;border-radius:1.5rem;text-align:center;max-width:400px;width:90%;position:relative;overflow:hidden}.badge-icon-large{font-size:4rem;margin-bottom:1rem}.badge-title{font-size:1.5rem;margin-bottom:.75rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.badge-description{color:#666;margin-bottom:1.5rem}.badge-actions{display:flex;justify-content:center}.confetti-container{position:absolute;top:0;left:0;right:0;height:100%;overflow:hidden;pointer-events:none}.confetti{position:absolute;width:10px;height:10px;top:-10px;animation:fall 3s ease-in forwards}@keyframes fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(400px) rotate(720deg);opacity:0}}.share-prompt-modal{max-width:450px}.share-prompt-modal .success-message{font-size:1.1rem;margin-bottom:1.5rem}.share-prompt-box{background:linear-gradient(135deg,rgba(102,126,234,.08) 0%,rgba(118,75,162,.08) 100%);border-radius:.75rem;padding:1.25rem;margin-bottom:.5rem}.share-prompt-box h3{margin:0 0 .5rem;font-size:1.1rem}.share-prompt-box p{margin-bottom:.75rem;color:#555}.share-prompt-box ul{margin:0;padding-left:1.5rem;color:#555}.share-prompt-box li{margin-bottom:.25rem}.share-success{text-align:center;padding:1rem}.share-success .success-icon{font-size:3rem;display:block;margin-bottom:1rem}.share-success p{font-size:1.1rem;margin-bottom:.5rem}.share-hint{font-size:.9rem!important;color:#888!important}@media (max-width: 768px){.community-page{padding:1rem}.community-header h1{font-size:1.5rem}.community-tabs{gap:.25rem}.community-tabs .tab{padding:.5rem 1rem;font-size:.9rem}.community-tabs .sort-dropdown{width:100%;margin-top:.5rem;justify-content:flex-end}.community-card,.my-scenario-card{padding:1rem}.card-actions{flex-direction:column}.card-actions .action-button{width:100%;text-align:center}}.camera-selection-modal{max-width:500px}.camera-selection-modal .modal-header{justify-content:center}.camera-description{text-align:center;color:#6b7280;margin-bottom:1.5rem;line-height:1.5}.camera-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.camera-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s;position:relative}.camera-option:hover{border-color:#667eea;background:#f0f5ff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.camera-option-recommended{border-color:#667eea;background:linear-gradient(135deg,rgba(102,126,234,.05),rgba(118,75,162,.05))}.camera-option-recommended:hover{background:linear-gradient(135deg,rgba(102,126,234,.12),rgba(118,75,162,.12))}.camera-option .option-icon{font-size:2rem}.camera-option .option-title{font-size:1.1rem;font-weight:600;color:#1f2937}.camera-option .option-data{font-size:.875rem;color:#6b7280}.recommended-badge{position:absolute;top:-8px;right:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.back-link{display:block;width:100%;text-align:center;background:none;border:none;color:#6b7280;font-size:.9rem;cursor:pointer;padding:.75rem;transition:color .2s}.back-link:hover{color:#667eea}.modal-overlay:has(.finishing-modal){z-index:2000}.finishing-modal{max-width:400px;text-align:center}.finishing-modal .modal-content{padding:2rem 1.5rem}.finishing-icon{font-size:3rem;margin-bottom:1rem}.finishing-modal h2{margin:0 0 1rem;color:#1f2937;font-size:1.5rem}.finishing-description{color:#6b7280;margin:0 0 .5rem;line-height:1.5}.finishing-time{color:#9ca3af;font-size:.875rem;margin:0 0 1.5rem}.skip-button,.mute-button{background:#f3f4f6;border:1px solid #e5e7eb;color:#6b7280;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s;margin-top:.5rem}.skip-button:hover,.mute-button:hover{background:#e5e7eb;color:#374151}.voice-delivery-section.collapsible{margin-top:24px;margin-bottom:24px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.voice-delivery-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f9fafb;border:none;cursor:pointer;font-size:14px;text-align:left;transition:background .2s}.voice-delivery-toggle:hover{background:#f3f4f6}.voice-delivery-toggle .toggle-icon{font-size:10px;color:#6b7280;width:12px}.voice-delivery-toggle .toggle-label{font-weight:600;color:#374151}.voice-delivery-toggle .toggle-hint{color:#9ca3af;font-size:12px;font-weight:400}.voice-delivery-content{padding:16px;background:white;border-top:1px solid #e5e7eb;color:#374151;line-height:1.6;font-size:.95rem;animation:expandDown .2s ease-out}.session-stat.muted{color:#9ca3af;font-size:.8rem;font-weight:400;background:transparent;padding:0}.session-stat.muted:before{content:"•";margin-right:.5rem;color:#d1d5db}.session-stat.muted:first-child:before{display:none}.btn-next{background:white;color:#667eea;border:2px solid white;padding:.5rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #00000026}.btn-next:hover{background:rgba(255,255,255,.95);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.next-options-modal{max-width:380px;border-radius:16px}.next-options-modal .modal-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:1.25rem 1.5rem;border-radius:16px 16px 0 0;border-bottom:none}.next-options-modal .modal-header h2{font-size:1.1rem;color:#fff}.next-options-modal .modal-header .close-button{color:#fff;opacity:.8}.next-options-modal .modal-header .close-button:hover{opacity:1}.next-options-content{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 1rem}.next-option-button{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.875rem 1rem;background:white;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .15s;text-align:center;font-size:.95rem;font-weight:600;color:#1f2937}.next-option-button:hover{border-color:#667eea;background:#fafaff}.next-option-primary{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.next-option-primary:hover{background:linear-gradient(135deg,#5a6fd6,#6a4190);border-color:transparent}.next-option-primary .next-option-description{color:#ffffffd9}.next-option-description{font-size:.75rem;font-weight:400;color:#9ca3af}.next-option-done{background:#f9fafb;border-color:#d1d5db;color:#6b7280}.next-option-done:hover{background:#f3f4f6;border-color:#9ca3af}.assessment-next-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;text-align:center}.assessment-next-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.9rem 2.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 3px 12px #667eea4d}.assessment-next-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;margin:0 auto}
