*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root,.landing-page{min-height:100vh}.landing-page{align-items:center;background:linear-gradient(135deg,#f5f7fa,#e8f0f2);display:flex;justify-content:center;padding:2rem}.landing-container{max-width:500px;width:100%}.landing-header{margin-bottom:2rem;text-align:center}.landing-header h1{color:var(--sage-green-dark);font-size:2.25rem;margin-bottom:.75rem}.subtitle{color:var(--text-secondary);font-size:1.125rem;line-height:1.6}.landing-card,.landing-card h2{margin-bottom:1.5rem}.landing-card h2{color:var(--text-primary);text-align:center}.landing-form{gap:1.25rem}.form-group,.landing-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:var(--text-primary);font-size:.9375rem;font-weight:500}.error-message{background-color:#fee2e2;border-left:4px solid var(--error);color:var(--error);font-size:.9375rem;padding:.75rem}.submit-button{align-items:center;display:flex;justify-content:center;margin-top:.5rem}.landing-info{background-color:#fff9;border-radius:var(--border-radius);padding:1rem;text-align:center}.landing-info p{font-size:.9375rem;line-height:1.6}.instructor-link{margin-top:1rem;text-align:center}.link-secondary{color:var(--sage-green-dark);font-size:.9375rem;font-weight:600;text-decoration:none;transition:color .2s}.link-secondary:hover{color:var(--sage-green);text-decoration:underline}@media (max-width:768px){.landing-page{padding:1rem}.landing-header h1{font-size:1.75rem}.subtitle{font-size:1rem}}.conversation-view{background:linear-gradient(135deg,#f5f7fa,#e8f0f2);display:flex;flex-direction:column;min-height:100vh}.conversation-header{background-color:#fff;border-bottom:2px solid var(--warm-gray-light);box-shadow:0 2px 4px #0000000d;padding:1rem 2rem}.conversation-header .header-content{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px}.header-center{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem}.conversation-header h2{color:var(--sage-green-dark);margin:0;text-align:center}.difficulty-badge{border-radius:20px;display:inline-block;font-size:.8125rem;font-weight:600;letter-spacing:.5px;padding:.35rem .85rem;text-transform:uppercase}.difficulty-easy{background-color:#d1fae5;color:#065f46}.difficulty-medium{background-color:#fef3c7;color:#92400e}.difficulty-hard{background-color:#fee2e2;color:#991b1b}.header-actions{align-items:center;display:flex;gap:.75rem}.difficulty-selector{align-items:center;background:#f3f4f6;border-radius:6px;display:flex;gap:.5rem;padding:.25rem .5rem}.difficulty-selector label{color:#6b7280;font-size:.8125rem;font-weight:500}.difficulty-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:.875rem;padding:.35rem .5rem}.difficulty-select:focus{border-color:var(--sage-green);outline:none}.table-info{display:flex;flex-direction:column;gap:.25rem;min-width:100px}.table-badge{background-color:var(--sage-green);border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.student-name{color:var(--text-secondary);font-size:.8125rem;padding-left:.25rem}.question-nav{align-items:center;display:flex;gap:.75rem;margin-top:.25rem}.question-indicator{color:var(--text-secondary)}.btn-nav{align-items:center;background:var(--sage-green-light);border:none;border-radius:50%;color:var(--sage-green-dark);cursor:pointer;display:flex;font-size:1rem;font-weight:600;height:32px;justify-content:center;transition:all .2s ease;width:32px}.btn-nav:hover:not(:disabled){background:var(--sage-green);color:#fff}.btn-nav:disabled{cursor:not-allowed;opacity:.3}.btn-leave{font-size:.875rem}.question-prompt{background-color:#e8f5e9;border:2px solid #a5d6a7;border-radius:12px;margin:0 1.5rem 1rem;padding:1.25rem}.question-prompt h3{color:#2e7d32;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.question-prompt .question-text{color:#1b5e20;font-size:1.0625rem;line-height:1.5;margin:0}.empty-state{padding:2rem}.empty-state p{margin:.5rem 0}.empty-state .hint{font-size:.875rem}.api-error-banner{background:linear-gradient(135deg,#fff3e0,#ffecb3);border:2px solid #ffb74d;border-radius:12px;display:flex;flex-direction:column;gap:1rem;margin:1rem 1.5rem;padding:1.5rem}.api-error-icon{font-size:2rem;text-align:center}.api-error-content h4{color:#e65100;font-size:1.125rem;margin:0 0 .5rem}.api-error-content p{color:#bf360c;font-size:.9375rem;margin:0 0 .5rem}.api-error-content .api-error-hint{color:#6d4c41;font-size:.875rem;font-style:italic}.api-error-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.api-error-actions button{min-width:140px}.conversation-container{grid-gap:2rem;box-sizing:border-box;display:grid;flex:1 1;gap:2rem;grid-template-columns:350px 1fr;margin:0 auto;max-width:1400px;padding:2rem;width:100%}.scenario-context{align-self:start;max-height:calc(100vh - 4rem);overflow-y:auto;position:-webkit-sticky;position:sticky;top:2rem}.scenario-context h3{border-bottom:2px solid var(--warm-gray-light);color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem}.context-section{margin-bottom:1.5rem}.context-section:last-child{margin-bottom:0}.context-section h4{color:var(--sage-green-dark);font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.context-section p{font-size:.9375rem;line-height:1.6;margin-bottom:.5rem}.context-section p:last-child{margin-bottom:0}.patient-background{color:var(--text-secondary);font-style:italic}.consider-questions{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:1rem;padding:1rem}.consider-questions h4{color:#166534}.consider-questions ul{margin:0;padding-left:1.25rem}.consider-questions li{color:var(--text-primary);font-size:.875rem;line-height:1.5;margin-bottom:.5rem}.consider-questions li:last-child{margin-bottom:0}.chat-container{background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);display:flex;flex-direction:column;height:calc(100vh - 12rem);max-height:800px}.chat-header{border-bottom:2px solid var(--warm-gray-light);padding:1.5rem}.chat-header h3{margin-bottom:.25rem}.chat-subtitle{color:var(--text-secondary);font-size:.9375rem;margin:0}.typing-indicator{background-color:var(--background);border-radius:18px;display:flex;gap:.5rem;max-width:60px;padding:1rem;width:-webkit-fit-content;width:fit-content}.typing-dot{animation:typing 1.4s infinite;background-color:var(--warm-gray);border-radius:50%;height:8px;width:8px}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.error-message-inline{background-color:#fee2e2;border-left:4px solid var(--error);border-radius:8px;color:var(--error);font-size:.9375rem;margin:0 1.5rem;padding:.75rem 1rem}.message-input-form{border-top:2px solid var(--warm-gray-light);display:flex;gap:1rem;padding:1.5rem}.message-input{border:2px solid var(--warm-gray-light);border-radius:24px;flex:1 1;font-size:1rem;padding:.75rem 1rem}.message-input:focus{border-color:var(--sage-green);outline:none}.send-button{border-radius:24px;padding:.75rem 2rem;white-space:nowrap}.conversation-actions{align-items:center;border-top:1px solid var(--warm-gray-light);display:flex;gap:.75rem;justify-content:space-between;padding:.75rem 1.5rem 1.5rem}.response-count{color:var(--text-secondary);font-size:.875rem;font-weight:500}.exchanges-container{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1rem 1.5rem}.exchange-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;padding:1rem;position:relative}.exchange-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.exchange-number{color:var(--sage-green-dark);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.btn-remove{background:none;border:none;color:#999;cursor:pointer;font-size:1.25rem;line-height:1;padding:0;transition:color .2s}.btn-remove:hover{color:var(--error)}.exchange-student{margin-bottom:.75rem}.exchange-ai{background:#fff;border-left:3px solid var(--sage-green);border-radius:8px;padding:.75rem}.exchange-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.3px;margin-bottom:.25rem;text-transform:uppercase}.exchange-content{color:var(--text-primary);font-size:.9375rem;line-height:1.5}.exchange-error{color:var(--error);font-size:.875rem;font-style:italic}.btn-continue{background:#0000;border:1px solid var(--sage-green);border-radius:4px;color:var(--sage-green-dark);cursor:pointer;font-size:.75rem;margin-top:.75rem;padding:.4rem .75rem;transition:all .2s ease}.btn-continue:hover:not(:disabled){background:var(--sage-green-light)}.btn-continue.active{background:var(--sage-green);border-color:var(--sage-green);color:#fff}.btn-continue:disabled{cursor:not-allowed;opacity:.5}.exchange-card.continuing-from{background:#f0fdf4;border:2px solid var(--sage-green);box-shadow:0 0 0 3px #4caf501a}.exchange-card.is-continuation{border-left:3px solid #3b82f6;margin-left:1rem}.continuation-badge{background:#dbeafe;color:#1e40af;font-size:.65rem;padding:.15rem .4rem}.continuation-badge,.teammate-badge{border-radius:4px;font-weight:500;letter-spacing:0;margin-left:.5rem;text-transform:none}.teammate-badge{background:#fef3c7;color:#92400e;font-size:.7rem;padding:.15rem .5rem}.exchange-card.from-teammate{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-left:3px solid #f59e0b}.exchange-card.from-teammate .exchange-label{color:#92400e}.continue-indicator{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-top:2px solid var(--sage-green);color:var(--sage-green-dark);display:flex;font-size:.875rem;font-weight:500;justify-content:space-between;padding:.75rem 1.5rem}.btn-cancel-continue{background:#fff;border:1px solid #e0e0e0;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.75rem;padding:.35rem .75rem;transition:all .2s ease}.btn-cancel-continue:hover{background:#f5f5f5;border-color:#ccc}.message-input.continuing{background:#f0fdf4;border-color:var(--sage-green)}.typing-indicator-inline{display:flex;gap:.35rem;padding:.5rem 0}.typing-indicator-inline .typing-dot{animation:typing 1.4s infinite;background-color:var(--warm-gray);border-radius:50%;height:6px;width:6px}.typing-indicator-inline .typing-dot:nth-child(2){animation-delay:.2s}.typing-indicator-inline .typing-dot:nth-child(3){animation-delay:.4s}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.exchanges-container::-webkit-scrollbar,.scenario-context::-webkit-scrollbar{width:6px}.exchanges-container::-webkit-scrollbar-track,.scenario-context::-webkit-scrollbar-track{background:var(--background);border-radius:3px}.exchanges-container::-webkit-scrollbar-thumb,.scenario-context::-webkit-scrollbar-thumb{background:var(--warm-gray-light);border-radius:3px}.exchanges-container::-webkit-scrollbar-thumb:hover,.scenario-context::-webkit-scrollbar-thumb:hover{background:var(--warm-gray)}@media (max-width:1024px){.conversation-container{grid-template-columns:1fr}.scenario-context{max-height:none;position:static}.chat-container{height:600px}}@media (max-width:768px){.conversation-header{padding:1rem}.conversation-header .header-content{align-items:stretch;flex-direction:column}.conversation-header h2{order:-1;text-align:left}.header-actions{flex-direction:column;width:100%}.back-button,.header-actions button{width:100%}.conversation-container{padding:1rem}.message-input-form{flex-direction:column}.send-button{width:100%}}.text-response-view{background-color:#f5f7fa;min-height:100vh}.text-response-header{background:#fff;box-shadow:0 2px 4px #0000001a;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.text-response-header .header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.text-response-header .header-center{text-align:center}.text-response-header h2{color:#333;font-size:1.25rem;margin:0 0 .25rem}.mode-badge{background-color:#e3f2fd;border-radius:20px;color:#1976d2;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.question-indicator{color:#666;font-size:.875rem;font-weight:500}.text-response-view .table-info{display:flex;flex-direction:column;gap:.25rem;min-width:100px}.text-response-view .table-badge{background-color:#6b9969;border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.text-response-view .student-name{color:#666;font-size:.8125rem;padding-left:.25rem}.text-response-view .header-actions{display:flex;gap:.5rem}.text-response-view .btn-leave{font-size:.875rem;padding:.5rem 1rem}.text-response-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1.5fr;margin:0 auto;max-width:1200px;padding:2rem}.text-response-view .scenario-context{background:#fff;border-radius:12px;height:-webkit-fit-content;height:fit-content;padding:1.5rem;position:-webkit-sticky;position:sticky;top:100px}.text-response-view .scenario-context h3{border-bottom:2px solid #e0e0e0;color:#333;margin-top:0;padding-bottom:.5rem}.text-response-view .context-section{margin-bottom:1.25rem}.text-response-view .context-section h4{color:#555;font-size:.875rem;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.text-response-view .context-section p{color:#666;line-height:1.6;margin:0}.text-response-view .patient-background{color:#777;font-style:italic;margin-top:.25rem!important}.response-section{background:#fff;border-radius:12px;padding:2rem}.question-box{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;margin-bottom:1.5rem;padding:1.5rem}.question-box h3{font-size:.875rem;letter-spacing:1px;margin:0 0 .75rem;opacity:.9;text-transform:uppercase}.question-text{font-size:1.25rem;font-weight:500;line-height:1.5;margin:0}.response-form{display:flex;flex-direction:column;gap:1rem}.response-form label{color:#333;font-weight:500}.response-form textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;min-height:150px;padding:1rem;resize:vertical;transition:border-color .2s;width:100%}.response-form textarea:focus{border-color:#667eea;outline:none}.response-form textarea:disabled{background-color:#f5f5f5}.submit-button{align-self:flex-end;font-size:1rem;padding:.75rem 2rem}.submitted-state{padding:2rem;text-align:center}.success-icon{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:50%;color:#fff;display:flex;font-size:2rem;height:60px;justify-content:center;margin:0 auto 1rem;width:60px}.submitted-state h4{color:#333;margin:0 0 .5rem}.submitted-state>p{color:#666;margin:0 0 1.5rem}.submitted-response{background:#f5f7fa;border-radius:8px;margin-bottom:1.5rem;padding:1rem;text-align:left}.submitted-response strong{color:#555;display:block;font-size:.875rem;margin-bottom:.5rem}.submitted-response p{color:#333;line-height:1.6;margin:0}.waiting-message{color:#1976d2;font-style:italic}.error-message-inline{background:#ffebee;border-radius:4px;color:#d32f2f;padding:.75rem}@media (max-width:1024px){.text-response-container{grid-template-columns:1fr;padding:1rem}.text-response-view .scenario-context{position:relative;top:0}}@media (max-width:768px){.text-response-header .header-content{flex-wrap:wrap;gap:1rem}.text-response-header .header-center{order:-1;width:100%}.question-text{font-size:1.1rem}}.instructor-dashboard{background:linear-gradient(135deg,#f5f7fa,#e8f0f2);min-height:100vh;padding:2rem}.dashboard-header{margin:0 auto 2rem;max-width:1400px}.dashboard-header-content{align-items:center;display:flex;justify-content:space-between;text-align:left}.dashboard-header-content>div{flex:1 1}.dashboard-header h1{color:var(--sage-green-dark);margin-bottom:.5rem}.dashboard-subtitle{color:var(--text-secondary);font-size:1.0625rem}.header-buttons{align-items:center;display:flex;gap:.75rem}.reset-session-btn{background-color:#f97316;border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:background-color .2s}.reset-session-btn:hover{background-color:#ea580c}.logout-btn{background-color:#ef4444;border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:background-color .2s}.logout-btn:hover{background-color:#dc2626}.dashboard-nav{background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);display:flex;gap:1rem;margin:0 auto 2rem;max-width:1400px;padding:1rem}.nav-btn{background-color:#fff;border:2px solid var(--warm-gray-light);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s}.nav-btn:hover{background-color:#6a99800d;border-color:var(--sage-green)}.nav-btn.active{background:linear-gradient(135deg,var(--sage-green) 0,var(--sage-green-dark) 100%);border-color:var(--sage-green);color:#fff}.dashboard-content{margin:0 auto;max-width:1400px}.control-view h2,.reflections-view h2,.submissions-view h2,.tables-view h2{color:var(--text-primary);margin-bottom:1.5rem}.control-section{margin-bottom:1.5rem}.control-section h3{border-bottom:2px solid var(--warm-gray-light);color:var(--sage-green-dark);margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.control-description{color:var(--text-secondary);margin-bottom:1rem}.mode-buttons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.mode-btn{align-items:center;background:#fff;border:2px solid var(--warm-gray-light);border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;padding:1.5rem;transition:all .2s}.mode-btn:hover{background:#6a99800d;border-color:var(--sage-green)}.mode-btn.active{background:linear-gradient(135deg,#6a99801a,#58816b1a);border-color:var(--sage-green)}.mode-icon{font-size:2.5rem;margin-bottom:.75rem}.mode-label{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.mode-desc{color:var(--text-secondary);font-size:.875rem;text-align:center}.scenario-select{background:#fff;border:2px solid var(--warm-gray-light);border-radius:var(--border-radius);font-size:1rem;padding:.75rem;width:100%}.question-list{display:flex;flex-direction:column;gap:.75rem}.question-btn{align-items:flex-start;background:#fff;border:2px solid var(--warm-gray-light);border-radius:var(--border-radius);cursor:pointer;display:flex;gap:1rem;padding:1rem;text-align:left;transition:all .2s}.question-btn.active,.question-btn:hover{border-color:var(--sage-green)}.question-btn.active{background:linear-gradient(135deg,var(--sage-green) 0,var(--sage-green-dark) 100%);color:#fff}.question-num{background:#0000001a;border-radius:4px;font-size:.875rem;font-weight:700;padding:.25rem .5rem}.question-btn.active .question-num{background:#fff3}.question-preview{flex:1 1;line-height:1.5}.live-display{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff}.live-display h3{border-bottom-color:#fff3;color:#fff}.display-preview{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1.5fr;min-height:300px}.display-question{background:#ffffff1a;border-radius:var(--border-radius);padding:1.5rem}.display-question h4{font-size:.875rem;letter-spacing:1px;margin:0 0 .75rem;opacity:.8;text-transform:uppercase}.display-question p{font-size:1.125rem;line-height:1.6;margin:0}.display-submissions{background:#ffffff0d;border-radius:var(--border-radius);max-height:400px;overflow-y:auto;padding:1.5rem}.display-submissions h4{font-size:.875rem;letter-spacing:1px;margin:0 0 1rem;opacity:.8;text-transform:uppercase}.no-submissions{color:#ffffff80;font-style:italic}.submission-cards{display:flex;flex-direction:column;gap:1rem}.live-display .submission-card{background:#ffffff1a;border-radius:8px;padding:1rem}.submission-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.student-name{font-weight:600}.table-badge{background:#6a99804d;padding:.125rem .5rem}.score-badge,.table-badge{border-radius:4px;font-size:.75rem}.score-badge{font-weight:600;padding:.2rem .6rem}.score-badge.high{background:#d1fae5;color:#065f46}.score-badge.medium{background:#fef3c7;color:#92400e}.score-badge.low{background:#fee2e2;color:#991b1b}.submission-text{line-height:1.5;margin:0}.filter-bar{display:flex;gap:1rem;margin-bottom:1.5rem}.filter-bar select{background:#fff;border:2px solid var(--warm-gray-light);border-radius:var(--border-radius);font-size:1rem;padding:.5rem 1rem}.current-question-display{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:1.5rem}.current-question-display h3{border-bottom-color:#ffffff4d;color:#fff;margin-top:0}.current-question-display p{font-size:1.125rem;line-height:1.6;margin:0}.submissions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.submissions-view .submission-card{display:flex;flex-direction:column}.submissions-view .submission-header{border-bottom:1px solid var(--warm-gray-light);margin-bottom:.75rem;padding-bottom:.75rem}.submissions-view .timestamp{color:var(--text-secondary);font-size:.75rem;margin-left:auto}.tables-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.table-card{display:flex;flex-direction:column;gap:1rem}.table-card-header{align-items:center;border-bottom:2px solid var(--warm-gray-light);display:flex;justify-content:space-between;padding-bottom:.75rem}.table-card-header h3{color:var(--sage-green-dark);margin:0}.difficulty-indicator{border-radius:16px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.difficulty-indicator.difficulty-easy{background-color:#d1fae5;color:#065f46}.difficulty-indicator.difficulty-medium{background-color:#fef3c7;color:#92400e}.difficulty-indicator.difficulty-hard{background-color:#fee2e2;color:#991b1b}.table-members ul{list-style:none;margin:.5rem 0 0;padding:0}.table-members li{color:var(--text-secondary);padding:.25rem 0}.table-scenario{border-top:1px solid var(--warm-gray-light);padding-top:.75rem}.table-scenario p{margin:.5rem 0 1rem}.no-scenario,.table-scenario p{color:var(--text-secondary);font-style:italic}.no-scenario{padding:1rem 0;text-align:center}.btn-small{font-size:.875rem;padding:.5rem 1rem}.conversation-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:2000}.modal-content{animation:modalSlideIn .3s ease;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:2px solid var(--warm-gray-light);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.modal-header h3{color:var(--sage-green-dark);margin:0}.close-btn{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;line-height:1;padding:0;transition:color .2s;width:32px}.close-btn:hover{color:var(--text-primary)}.modal-messages{flex:1 1;gap:1rem;overflow-y:auto}.modal-message,.modal-messages{display:flex;flex-direction:column}.modal-message{border-radius:12px;gap:.25rem;max-width:85%;padding:.75rem}.modal-message.student{align-self:flex-end;background-color:var(--sage-green);color:#fff}.modal-message.patient{align-self:flex-start;background-color:var(--background)}.modal-message .msg-sender{font-size:.75rem;font-weight:600;opacity:.8}.modal-message .msg-content{font-size:.9375rem;line-height:1.5}.reflections-list{display:flex;flex-direction:column;gap:1.5rem}.reflection-card{display:flex;flex-direction:column;gap:1rem}.reflection-header{align-items:flex-start;border-bottom:2px solid var(--warm-gray-light);display:flex;justify-content:space-between;padding-bottom:.75rem}.reflection-header h3{color:var(--sage-green-dark);margin:0}.reflection-meta{color:var(--text-secondary);font-size:.875rem;margin:.25rem 0 0}.reflection-responses{display:flex;flex-direction:column;gap:1rem}.response-section{display:flex;flex-direction:column;gap:.5rem}.response-section strong{color:var(--sage-green-dark);font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.response-section p{color:var(--text-primary);line-height:1.6;margin:0}.empty-state{color:var(--text-secondary);padding:3rem 2rem;text-align:center}.empty-state p{font-size:1.125rem;margin:0}.empty-state .hint{font-size:.9375rem;font-style:italic;margin-top:.5rem}.exemplary-view .view-description{color:var(--text-secondary);margin-bottom:1.5rem}.badge-new{background:#ef4444;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.125rem .5rem}.displayed-exemplary{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;margin-bottom:2rem}.displayed-header{align-items:center;border-bottom:2px solid #f59e0b;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.displayed-header h3{color:#92400e;margin:0}.exemplary-display-content{display:flex;flex-direction:column;gap:1rem}.exemplary-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.student-badge{background:var(--sage-green);color:#fff;font-size:.875rem;font-weight:600}.reason-badge,.student-badge{border-radius:16px;padding:.25rem .75rem}.reason-badge{background:#dbeafe;color:#1e40af;font-size:.8125rem;font-style:italic}.exemplary-exchange{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.patient-responded,.student-said{background:#fff;border-radius:8px;padding:1rem}.student-said{border-left:4px solid var(--sage-green)}.patient-responded{border-left:4px solid #6366f1}.patient-responded strong,.student-said strong{display:block;font-size:.875rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.patient-responded p,.student-said p{font-size:1.0625rem;line-height:1.6;margin:0}.exemplary-list{gap:1rem}.exemplary-card,.exemplary-list{display:flex;flex-direction:column}.exemplary-card{gap:.75rem}.exemplary-header{gap:.75rem;justify-content:space-between}.exemplary-header,.exemplary-info{align-items:center;display:flex;flex-wrap:wrap}.exemplary-info{gap:.5rem}.exemplary-info .student-name{color:var(--sage-green-dark);font-weight:600}.exemplary-info .scenario-name{color:var(--text-secondary);font-size:.8125rem}.exemplary-info .question-num{background:#e0e7ff;border-radius:8px;color:#4338ca;font-size:.75rem;font-weight:600;padding:.125rem .5rem}.exemplary-actions{display:flex;gap:.5rem}.exemplary-reason{background:#f0fdf4;border-radius:6px;color:#166534;font-size:.875rem;padding:.5rem .75rem}.reason-label{font-weight:600}.exemplary-content{display:flex;flex-direction:column;font-size:.9375rem;gap:.5rem}.exemplary-content .student-message{color:var(--text-primary)}.exemplary-content .ai-response,.exemplary-time{color:var(--text-secondary)}.exemplary-time{font-size:.75rem;text-align:right}.modal-messages::-webkit-scrollbar{width:6px}.modal-messages::-webkit-scrollbar-track{background:var(--background);border-radius:3px}.modal-messages::-webkit-scrollbar-thumb{background:var(--warm-gray-light);border-radius:3px}.modal-messages::-webkit-scrollbar-thumb:hover{background:var(--warm-gray)}@media (max-width:768px){.instructor-dashboard{padding:1rem}.dashboard-nav{flex-direction:column}.tables-grid{grid-template-columns:1fr}.conversation-modal{padding:1rem}.modal-content{max-height:90vh}}.response-type-badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.ai-badge{background-color:#dbeafe;color:#1d4ed8}.text-badge{background-color:#f3e8ff;color:#7c3aed}.response-card{border-left:4px solid #3b82f6}.response-content{margin-top:.75rem}.student-message{background:#f8fafc;border-radius:8px;margin-bottom:.5rem;padding:.75rem}.ai-response strong,.student-message strong{color:var(--text-secondary);display:block;font-size:.75rem;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.ai-response p,.student-message p{color:var(--text-primary);line-height:1.5;margin:0}.ai-response{background:#f0fdf4;border-left:3px solid var(--sage-green);border-radius:8px;padding:.75rem}.ai-response p{color:#166534}.delete-response-btn{align-items:center;background:#fee2e2;border:none;border-radius:4px;color:#dc2626;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;line-height:1;margin-left:auto;transition:all .2s;width:24px}.delete-response-btn:hover{background:#dc2626;color:#fff}.faculty-login-container{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;justify-content:center;min-height:100vh;padding:20px}.faculty-login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:40px;width:100%}.faculty-login-header{margin-bottom:32px;text-align:center}.faculty-login-header h1{color:#1a1a2e;font-size:28px;margin:0 0 8px}.faculty-login-header p{color:#666;font-size:14px;margin:0}.faculty-login-form{display:flex;flex-direction:column;gap:20px}.faculty-login-form .form-group{display:flex;flex-direction:column;gap:8px}.faculty-login-form label{color:#333;font-size:14px;font-weight:600}.faculty-login-form input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:14px 16px;transition:border-color .2s,box-shadow .2s}.faculty-login-form input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.faculty-login-form input:disabled{background:#f5f5f5;cursor:not-allowed}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;padding:12px 16px;text-align:center}.login-btn{background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:background .2s,transform .1s}.login-btn:hover:not(:disabled){background:#4338ca}.login-btn:active:not(:disabled){transform:scale(.98)}.login-btn:disabled{background:#c7c7c7;cursor:not-allowed}.faculty-login-footer{margin-top:24px;text-align:center}.back-link{color:#666;font-size:14px;text-decoration:none;transition:color .2s}.back-link:hover{color:#4f46e5}.App{background:linear-gradient(135deg,#f5f7fa,#e8f0f2);min-height:100vh}:root{--sage-green:#8ba888;--sage-green-light:#a8c5a4;--sage-green-dark:#6b8e68;--warm-gray:#9ca3af;--warm-gray-light:#d1d5db;--warm-gray-dark:#6b7280;--soft-blue:#7ba3c5;--soft-blue-light:#a3c4db;--soft-blue-dark:#5b84a8;--white:#fff;--text-primary:#374151;--text-secondary:#6b7280;--error:#ef4444;--success:#10b981;--background:#f9fafb;--border-radius:12px;--box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--box-shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}body{color:#374151;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}h1{font-size:2rem}h1,h2{color:#374151;color:var(--text-primary);font-weight:600;margin-bottom:.5rem}h2{font-size:1.5rem}h3{color:#374151;color:var(--text-primary);font-size:1.25rem;font-weight:500}p{color:#6b7280;color:var(--text-secondary);line-height:1.6}button{border:none;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--box-shadow);cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}button:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--box-shadow-lg);transform:translateY(-2px)}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-primary{background-color:#8ba888;background-color:var(--sage-green);color:#fff}.btn-primary:hover:not(:disabled){background-color:#6b8e68;background-color:var(--sage-green-dark)}.btn-secondary{background-color:#d1d5db;background-color:var(--warm-gray-light);color:#374151;color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:#9ca3af;background-color:var(--warm-gray)}.btn-danger{background-color:#ef4444;background-color:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}input,select{background-color:#fff;border:2px solid #d1d5db;border:2px solid var(--warm-gray-light);border-radius:12px;border-radius:var(--border-radius);box-sizing:border-box;color:#374151;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease;width:100%}input:focus,select:focus{border-color:#8ba888;border-color:var(--sage-green);outline:none}.card{background-color:#fff;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--box-shadow);padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--box-shadow-lg);transform:translateY(-2px)}.loading{animation:spin .8s linear infinite;border:3px solid #d1d5db;border-top-color:#8ba888;border:3px solid var(--warm-gray-light);border-radius:50%;border-top-color:var(--sage-green);display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}@media (max-width:768px){h1{font-size:1.75rem}h2{font-size:1.25rem}button{font-size:.9375rem;padding:.625rem 1.25rem}.card{padding:1rem}}
/*# sourceMappingURL=main.19a940f6.css.map*/