body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:#f5f5f5;min-height:100vh}.App-header{background-color:#2c3e50;box-shadow:0 2px 10px #0000001a;color:#fff;padding:20px;text-align:center}.App-header h1{font-size:2em;margin:0}.App-main{margin:40px auto;max-width:900px;padding:20px}.case-view{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000001a;max-width:100%;overflow:hidden;padding:30px}.case-content h2{word-wrap:break-word;color:#2c3e50;font-size:1.8em;margin-top:0;max-width:100%;overflow-wrap:break-word}.scenario{background:#f8f9fa;border-left:4px solid #5a6c7d;border-radius:8px;margin:20px 0;max-width:100%;overflow:hidden;padding:20px}.scenario h3{color:#333;margin-top:0}.scenario p{word-wrap:break-word;color:#555;font-size:1.05em;line-height:1.6;max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.primary-button{background:#5a6c7d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1em;margin-top:0;padding:15px 30px;transition:all .3s ease;width:100%}.primary-button:hover{background:#4a5a6a;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.primary-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.secondary-button{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;margin:10px 5px;padding:12px 24px;transition:all .3s ease}.secondary-button:hover{background:#5a6268;transform:translateY(-2px)}.danger-button{background:#7d5a5a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;margin:10px 5px;padding:12px 24px;transition:all .3s ease}.danger-button:hover{background:#6a4a4a;transform:translateY(-2px)}.success-button{background:#5a7d5a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;margin:10px 5px;padding:12px 24px;transition:all .3s ease}.success-button:hover{background:#4a6a4a;transform:translateY(-2px)}.case-presentation{align-items:center;display:flex;justify-content:center}.welcome-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000001a;max-width:600px;padding:40px}.welcome-card h2{color:#2c3e50;font-size:2em;margin-top:0;text-align:center}.welcome-card>p{color:#555;font-size:1.05em;line-height:1.6;margin-bottom:30px}.error-message{background:#f5f5f5;border:1px solid #d0d0d0;border-radius:6px;color:#5a5a5a}.instructions{border-top:2px solid #f0f0f0;margin-top:40px;padding-top:30px}.instructions h3{color:#333;margin-bottom:15px}.instructions ol{color:#555;line-height:1.8;padding-left:20px}.instructions li{margin-bottom:8px}.voice-recorder{align-items:center;display:flex;justify-content:center}.context-content,.markdown-content,.prompt-text-markdown{word-wrap:break-word;max-width:100%;overflow-wrap:break-word}.context-content img,.context-content video,.markdown-content img,.markdown-content video,.prompt-text-markdown img,.prompt-text-markdown video{border-radius:8px;box-shadow:0 2px 8px #0000001a;display:block;height:auto;margin:1rem 0;max-width:100%}.context-content iframe,.markdown-content iframe,.prompt-text-markdown iframe{border-radius:8px;box-shadow:0 2px 8px #0000001a}.prompt-text-markdown h1,.prompt-text-markdown h2{color:#2c3e50;font-size:1.5em;margin:.5rem 0}.context-content p,.context-content pre,.markdown-content p,.markdown-content pre,.prompt-text-markdown p,.prompt-text-markdown pre{word-wrap:break-word;margin:.5rem 0;overflow-wrap:anywhere;white-space:pre-wrap}.context-content pre,.markdown-content pre,.prompt-text-markdown pre{font-family:inherit;max-width:100%;overflow-x:auto}.context-content code,.markdown-content code,.prompt-text-markdown code{word-wrap:break-word;font-family:inherit;overflow-wrap:anywhere;white-space:pre-wrap}.context-content pre code,.markdown-content pre code,.prompt-text-markdown pre code{word-wrap:break-word;display:block;max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.context-content{margin-top:1rem}.recorder-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000001a;max-width:700px;padding:40px;width:100%}.recorder-card h2{color:#2c3e50;margin-top:0;text-align:center}.case-context{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;margin-bottom:30px;padding:20px}.case-context .case-title{border-bottom:2px solid #5a6c7d;color:#2c3e50;font-size:1.5em;margin:0 0 15px;padding-bottom:10px;text-align:left}.case-scenario{margin-top:15px}.case-scenario h3{color:#495057;font-size:1em;font-weight:600;margin:0 0 10px}.case-scenario p{word-wrap:break-word;color:#333;font-size:.95em;line-height:1.6;margin:0;max-width:100%;overflow-wrap:break-word;white-space:pre-wrap}.recording-status{display:flex;justify-content:center;margin:30px 0}.recording-indicator{align-items:center;color:#7d5a5a;display:flex;font-size:1.2em;font-weight:700;gap:10px}.pulse-dot{animation:pulse 1.5s infinite;background:#7d5a5a;border-radius:50%;height:12px;width:12px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.ready-indicator{color:#5a7d5a;font-size:1.1em;font-weight:700}.error-message{align-items:center;border-radius:8px;display:flex;gap:15px;justify-content:space-between;margin:20px 0;padding:15px}.clear-error-button{background:#c33;border:none;border-radius:5px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.9em;padding:6px 12px;transition:background .3s}.clear-error-button:hover{background:#a22}.transcript-box{margin:30px 0}.transcript-box h3{color:#333;margin-bottom:10px}.transcript-content{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#495057;font-size:1em;line-height:1.6;max-height:400px;min-height:200px;overflow-y:auto;padding:20px;white-space:pre-wrap}.button-group{gap:10px;margin-top:30px}.button-group,.button-group button{align-items:center;display:flex;justify-content:center}.button-group button{height:48px}.help-text{border-top:2px solid #f0f0f0;margin-top:30px;padding-top:20px}.help-text p{color:#666;line-height:1.6;margin:0}.prompt-progress{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;margin-bottom:30px;padding:20px}.progress-header{align-items:center;border-bottom:2px solid #5a6c7d;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.progress-header h3{color:#2c3e50;font-size:1.3em;margin:0}.prompt-counter{background:#5a6c7d;border-radius:20px;color:#fff;font-size:.9em;font-weight:600;padding:6px 15px}.current-prompt h2{word-wrap:break-word;color:#2c3e50;font-size:1.4em;line-height:1.4;margin:0 0 15px;max-width:100%;overflow-wrap:break-word;text-align:left}.prompt-context{margin-top:20px}.hide-context-button,.show-context-button{background:#0000;border:none;color:#5a6c7d;cursor:pointer;font-size:.9em;font-weight:600;padding:5px 0;text-decoration:underline}.hide-context-button:hover,.show-context-button:hover{color:#2c3e50}.context-content{background:#fff;border-left:4px solid #5a6c7d;border-radius:4px;margin-top:10px;padding:15px}.context-content p{color:#333;font-size:.95em;line-height:1.6;margin:0 0 10px;white-space:pre-wrap}.results-breakdown{align-items:flex-start;display:flex;justify-content:center}.results-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000001a;max-width:800px;padding:40px;width:100%}.results-card h2{color:#2c3e50;font-size:2em;margin-top:0;text-align:center}.score-summary{background:#f8f9fa;border-left:6px solid;border-radius:12px;gap:30px;margin:30px 0;padding:30px}.score-circle,.score-summary{align-items:center;display:flex}.score-circle{border-radius:50%;flex-shrink:0;height:120px;justify-content:center;width:120px}.score-percentage{color:#fff;font-size:2em;font-weight:700}.score-details{flex:1 1}.score-details p{color:#333;font-size:1.1em;margin:8px 0}.rubric-score{color:#5a6c7d;font-weight:700}.breakdown-section{margin:40px 0}.breakdown-section h3{color:#333;font-size:1.5em;margin-bottom:20px}.points-list{display:flex;flex-direction:column;gap:15px}.point-item{border-left:4px solid;border-radius:8px;padding:15px}.point-item.hit{background:#e8f0e8;border-color:#5a7d5a}.point-item.missed{background:#f0e8e8;border-color:#7d5a5a}.point-header{align-items:center;display:flex;gap:15px}.point-status{flex-shrink:0;font-size:1.5em;font-weight:700;width:30px}.point-item.hit .point-status{color:#5a7d5a}.point-item.missed .point-status{color:#7d5a5a}.point-description{color:#333;flex:1 1;font-weight:500}.point-value{color:#666;font-size:.95em;font-weight:700}.relevant-dialogue{background:#ffffff80;border-radius:6px;color:#495057;font-size:.9em;font-style:italic;margin-top:10px;padding:10px}.transcript-section{margin:40px 0}.transcript-section h3{color:#333;margin-bottom:15px}.transcript-display{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#495057;line-height:1.6;max-height:300px;overflow-y:auto;padding:20px;white-space:pre-wrap}.action-buttons{margin-top:40px;text-align:center}.admin-login-container{align-items:center;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.admin-login-box{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000001a;max-width:400px;padding:40px;width:100%}.admin-login-box h1{color:#2c3e50;font-size:28px;margin:0 0 10px;text-align:center}.admin-login-box .subtitle{color:#666;font-size:14px;margin:0 0 30px;text-align:center}.error-message{background:#fee;border:1px solid #fcc;border-radius:5px;color:#c33;margin-bottom:20px;padding:12px}.form-group input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#5a6c7d;outline:none}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.login-button{background:#5a6c7d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:15px;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){background:#4a5a6a;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{background:#ccc;cursor:not-allowed}.admin-dashboard{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.markdown-content{word-wrap:break-word;max-width:100%;overflow:hidden;overflow-wrap:anywhere}.markdown-content img,.markdown-content video{display:block;height:auto;margin:1rem 0;max-width:100%}.markdown-content iframe,.markdown-content img,.markdown-content video{border-radius:8px;box-shadow:0 2px 8px #0000001a}.markdown-content p,.markdown-content pre{word-wrap:break-word;margin:.5rem 0;max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.markdown-content pre{font-family:inherit;overflow-x:auto}.markdown-content code{font-family:inherit}.markdown-content code,.markdown-content pre code{word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap}.markdown-content pre code{display:block;max-width:100%}.help-text{color:#666;display:block;font-size:.85rem;font-style:italic;margin-top:.5rem}.help-text code{background-color:#f4f4f4;border-radius:3px;color:#d63384;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.admin-header{background-color:#2c3e50;box-shadow:0 2px 10px #0000001a;color:#fff;padding:20px 0}.header-content{align-items:center;box-sizing:border-box;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 20px;width:100%}.admin-header h1{font-size:24px;margin:0}.header-right{align-items:center;display:flex;gap:15px}.user-info{font-size:14px}.rubrics-link-button{background:#fff3;border:1px solid #fff;border-radius:5px;color:#fff;cursor:pointer;margin-right:15px;padding:8px 16px;transition:background .3s}.rubrics-link-button:hover{background:#ffffff4d}.logout-button{background:#fff3;border:1px solid #fff;border-radius:5px;color:#fff;cursor:pointer;padding:8px 16px;transition:background .3s}.logout-button:hover{background:#ffffff4d}.dashboard-content{display:flex;flex:1 1;margin:0 auto;max-width:1400px;width:100%}.cases-sidebar{background:#fff;border-right:1px solid #e1e8ed;display:flex;flex-direction:column;width:350px}.sidebar-header{border-bottom:1px solid #e1e8ed;padding:20px}.cases-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.sidebar-header h2{color:#333;font-size:18px;margin:0}.new-case-icon-button{align-items:center;background:#5a6c7d;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:32px;justify-content:center;line-height:1;transition:all .3s ease;width:32px}.new-case-icon-button:hover{background:#4a5a6a;box-shadow:0 4px 12px #00000026;transform:scale(1.1)}.search-container{margin-bottom:15px}.search-input{border:2px solid #e1e8ed;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#5a6c7d;box-shadow:0 0 0 3px #5a6c7d1a;outline:none}.search-input::placeholder{color:#999}.sidebar-buttons{display:flex;flex-wrap:wrap;gap:8px}.new-case-button{background:#5a6c7d;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;padding:8px 16px;transition:all .3s ease}.new-case-button:hover{background:#4a5a6a;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.header-admin-menu-container{position:relative}.header-admin-menu-button{background:#fff3;border:1px solid #ffffff4d;border-radius:5px;color:#fff;cursor:pointer;font-size:20px;line-height:1;padding:8px 12px;transition:all .3s ease}.header-admin-menu-button:hover{background:#ffffff4d;transform:scale(1.1)}.header-admin-menu-dropdown{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);z-index:1000}.admin-menu-item{background:#fff;border:none;border-bottom:1px solid #f0f0f0;color:#333;cursor:pointer;font-size:14px;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.admin-menu-item:last-child{border-bottom:none}.admin-menu-item:hover:not(:disabled){background:#f8f9fa}.admin-menu-item:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.admin-menu-divider{background:#e0e0e0;height:1px;margin:5px 0}.danger-item{color:#dc3545;font-weight:500}.danger-item:hover:not(:disabled){background:#fff5f5}.logout-item{color:#6c757d;font-weight:500}.logout-item:hover:not(:disabled){background:#f8f9fa}.cases-list{flex:1 1;overflow-y:auto}.case-item{border-bottom:1px solid #e1e8ed;cursor:pointer;padding:15px 20px;transition:background .2s}.case-item:hover{background:#f5f7fa}.case-item.active{background:#e8edf3;border-left:3px solid #5a6c7d}.case-title{word-wrap:break-word;color:#333;font-weight:500;margin-bottom:6px;max-width:100%;overflow-wrap:break-word}.case-meta{color:#666;display:flex;font-size:12px;gap:10px}.difficulty{border-radius:3px;font-weight:500;padding:2px 8px}.difficulty.beginner{background:#d4edda;color:#155724}.difficulty.intermediate{background:#fff3cd;color:#856404}.difficulty.advanced{background:#f8d7da;color:#721c24}.case-details{flex:1 1;overflow-y:auto;padding:30px}.no-selection{align-items:center;color:#666;display:flex;height:100%;justify-content:center}.case-view,.edit-form{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 10px #0000001a;max-width:100%;overflow:hidden;padding:30px}.case-header{align-items:center;border-bottom:2px solid #e1e8ed;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.case-header h2{word-wrap:break-word;color:#2c3e50;margin:0;max-width:100%;overflow-wrap:break-word}.case-actions{display:flex;gap:10px}.edit-button,.save-button{background:#5a6c7d;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:12px 24px;transition:all .3s ease}.edit-button:hover,.save-button:hover{background:#4a5a6a;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.test-case-button{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:12px 24px;transition:all .3s ease}.test-case-button:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.delete-button{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:12px 24px;transition:all .3s ease}.delete-button:hover{background:#c82333;box-shadow:0 4px 12px #dc35454d;transform:translateY(-2px)}.cancel-button{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;margin-left:10px;padding:12px 24px;transition:all .3s ease}.cancel-button:hover{background:#5a6268;transform:translateY(-2px)}.case-info{margin-bottom:30px}.info-row{border-bottom:1px solid #f0f0f0;display:flex;padding:10px 0}.info-row .label{color:#666;font-weight:500;width:150px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#e8edf3;color:#5a6c7d}.active-badge,.tag{border-radius:12px;font-size:12px;padding:3px 10px}.active-badge{background:#d4edda;color:#155724}.inactive-badge{background:#f8d7da;border-radius:12px;color:#721c24;font-size:12px;padding:3px 10px}.section{margin:30px 0}.section h3{word-wrap:break-word;color:#2c3e50;font-size:18px;margin:0 0 15px;max-width:100%;overflow-wrap:break-word}.prompts-list{display:flex;flex-direction:column;gap:20px}.prompt-card{background:#fafbfc;border:1px solid #e1e8ed;border-radius:6px;max-width:100%;overflow:hidden;padding:20px}.prompt-header{display:flex;justify-content:space-between;margin-bottom:12px}.prompt-number{color:#333}.phase-badge.data_acquisition{background:#cfe2ff;color:#084298}.phase-badge.diagnosis{background:#fff3cd;color:#856404}.phase-badge.management{background:#d1e7dd;color:#0f5132}.prompt-text{word-wrap:break-word;color:#333;line-height:1.6;margin:0 0 15px;max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.model-answer{background:#f8f9fa;border-left:4px solid #5a6c7d;border-radius:8px;padding:15px}.model-answer strong{color:#2c3e50;display:block;margin-bottom:8px}.model-answer p{word-wrap:break-word;color:#555;line-height:1.6;margin:0;max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.form-header{align-items:center;border-bottom:2px solid #e1e8ed;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.form-header h2{margin:0}.form-actions{display:flex}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px;transition:border-color .3s;width:100%}.form-group input[type=number]:focus,.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#5a6c7d;outline:none}.form-group input[type=checkbox]{margin-right:6px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr 1fr}.admin-loading{align-items:center;color:#666;display:flex;font-size:18px;justify-content:center;min-height:100vh}.json-import-section{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;margin-bottom:30px;padding:20px}.json-import-section h3{color:#2c3e50;font-size:16px;margin:0 0 8px}.json-import-section .help-text{color:#666;font-size:13px;margin:0 0 15px}.json-input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;margin-bottom:12px;padding:12px;resize:vertical;width:100%}.json-input:focus{border-color:#5a6c7d;outline:none}.parse-json-button{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s ease}.parse-json-button:hover{background:#5a6268;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.form-divider{margin:30px 0;position:relative;text-align:center}.form-divider:before{background:#dee2e6;content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:1}.form-divider span{background:#fff;color:#6c757d;font-size:14px;font-weight:500;padding:0 15px;position:relative;z-index:2}.prompts-editor-section{border-top:2px solid #e1e8ed;margin-top:40px;padding-top:30px}.prompts-editor-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.prompts-editor-section .section-header h3{color:#2c3e50;font-size:18px;margin:0}.add-prompt-button{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s ease}.add-prompt-button:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.prompts-editor-list{display:flex;flex-direction:column;gap:20px;position:relative}.prompt-editor-card{background:#fafbfc;border:2px solid #e1e8ed;border-radius:8px;cursor:move;padding:20px;position:relative;transition:all .3s ease}.prompt-editor-card:hover{border-color:#5a6c7d;box-shadow:0 2px 8px #00000014}.prompt-editor-card[draggable=true]:active{cursor:grabbing}.prompt-editor-card.dragging{cursor:grabbing;opacity:.4}.prompts-editor-list:has(.dragging) .prompt-editor-card:not(.dragging){transition:transform .3s ease,margin .3s ease}.prompt-editor-header{align-items:center;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.prompt-header-left{align-items:center;display:flex;gap:10px}.drag-handle{color:#999;cursor:grab;font-size:18px;line-height:1;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.prompt-editor-card:hover .drag-handle{color:#5a6c7d}.prompt-number-label{color:#2c3e50;font-size:16px;font-weight:600}.delete-prompt-button{background:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .3s ease}.delete-prompt-button:hover{background:#c82333;box-shadow:0 2px 8px #dc35454d;transform:translateY(-2px)}.prompt-editor-card .form-group{margin-bottom:15px}.prompt-editor-card .form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:2fr 1fr;margin-bottom:15px}.pagination-container{background:#fafbfc;border-top:1px solid #e1e8ed;padding:15px 20px}.page-size-selector{align-items:center;color:#666;display:flex;font-size:14px;gap:8px;margin-bottom:12px}.page-size-selector label{font-weight:500}.page-size-selector select{background:#fff;border:1px solid #e1e8ed;border-radius:5px;cursor:pointer;font-size:14px;padding:6px 10px;transition:border-color .3s}.page-size-selector select:focus{border-color:#5a6c7d;outline:none}.pagination-controls{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:10px}.pagination-button{background:#fff;border:1px solid #e1e8ed;border-radius:5px;color:#5a6c7d;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .3s ease}.pagination-button:hover:not(:disabled){background:#5a6c7d;border-color:#5a6c7d;color:#fff}.pagination-button:disabled{background:#f5f5f5;color:#999;cursor:not-allowed;opacity:.5}.page-numbers{display:flex;gap:4px}.page-number{align-items:center;background:#fff;border:1px solid #e1e8ed;border-radius:5px;color:#5a6c7d;cursor:pointer;display:flex;font-size:13px;font-weight:500;height:32px;justify-content:center;transition:all .3s ease;width:32px}.page-number:hover{background:#f5f7fa;border-color:#5a6c7d}.page-number.active{background:#5a6c7d;border-color:#5a6c7d;color:#fff}.pagination-info{color:#666;font-size:13px;text-align:center}.case-loading{align-items:center;color:#666;display:flex;flex-direction:column;height:400px;justify-content:center}.case-loading p{color:#5a6c7d;font-size:16px;margin-top:20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#5a6c7d;height:50px;width:50px}.section-description{color:#666;font-size:14px;font-style:italic;margin-bottom:10px}.source-json{background:#1e1e1e;border:1px solid #333;border-radius:5px;color:#d4d4d4;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:13px;line-height:1.6;max-height:600px;overflow-x:auto;overflow-y:auto;padding:20px}.source-json::-webkit-scrollbar{height:10px;width:10px}.source-json::-webkit-scrollbar-track{background:#2d2d2d}.source-json::-webkit-scrollbar-thumb{background:#555;border-radius:5px}.source-json::-webkit-scrollbar-thumb:hover{background:#666}.back-button{background:#fff3;border:1px solid #fff;border-radius:5px;color:#fff;cursor:pointer;margin-right:15px;padding:8px 16px;transition:background .3s}.back-button:hover{background:#ffffff4d}.specialty-badge{background:#e8edf3;color:#5a6c7d}.active-badge-inline,.specialty-badge{border-radius:3px;font-size:11px;padding:2px 8px}.active-badge-inline{background:#d4edda;color:#155724;font-weight:500}.rubric-usage{color:#666;font-size:11px}.rubric-type-badge{background:#cfe2ff;border-radius:12px;color:#084298;font-size:12px;padding:3px 10px;text-transform:capitalize}.config-display{word-wrap:break-word;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;line-height:1.6;overflow-x:auto;padding:20px;white-space:pre-wrap}.config-display,.json-input{font-family:Courier New,monospace;font-size:13px}.chat-interface{background:#fff;color:#000;display:flex;flex-direction:column;height:100vh;transition:background-color .3s,color .3s}.chat-interface.dark-mode{background:#1a1a1a;color:#e5e5e5}.chat-header{align-items:center;background:#fff;border-bottom:1px solid #e5e5e5;display:flex;justify-content:center;padding:12px 16px;position:relative;transition:background-color .3s,border-color .3s}.dark-mode .chat-header{background:#2a2a2a;border-bottom-color:#404040}.chat-header-content{text-align:center}.chat-header-content h1{color:#000;font-size:14px;font-weight:600;margin:0;transition:color .3s}.dark-mode .chat-header-content h1{color:#e5e5e5}.chat-header-content p{color:#6e6e80;font-size:11px;margin:0;transition:color .3s}.dark-mode .chat-header-content p{color:#a0a0a0}.chat-header-controls{align-items:center;display:flex;gap:8px;position:absolute;right:16px}.mode-selector{background:#fff;border:1px solid #d9d9e3;border-radius:6px;color:#000;cursor:pointer;font-size:13px;font-weight:500;min-width:120px;padding:6px 10px;transition:all .15s}.dark-mode .mode-selector{background:#3a3a3a;border-color:#555;color:#e5e5e5}.mode-selector:hover:not(:disabled){background:#f7f7f8;border-color:#c5c5d2}.dark-mode .mode-selector:hover:not(:disabled){background:#4a4a4a;border-color:#666}.mode-selector:disabled{cursor:not-allowed;opacity:.5}.mode-selector:focus{border-color:#10a37f;box-shadow:0 0 0 1px #10a37f;outline:none}.model-selector{background:#fff;border:1px solid #d9d9e3;border-radius:6px;color:#000;cursor:pointer;font-size:13px;font-weight:500;min-width:200px;padding:6px 10px;transition:all .15s}.dark-mode .model-selector{background:#3a3a3a;border-color:#555;color:#e5e5e5}.model-selector:hover:not(:disabled){background:#f7f7f8;border-color:#c5c5d2}.dark-mode .model-selector:hover:not(:disabled){background:#4a4a4a;border-color:#666}.model-selector:disabled{cursor:not-allowed;opacity:.5}.model-selector:focus{border-color:#10a37f;box-shadow:0 0 0 1px #10a37f;outline:none}.clear-button,.theme-toggle{background:#0000;border:1px solid #d9d9e3;border-radius:6px;color:#000;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .15s;white-space:nowrap}.dark-mode .clear-button,.dark-mode .theme-toggle{border-color:#555;color:#e5e5e5}.clear-button:hover,.theme-toggle:hover{background:#f7f7f8;border-color:#c5c5d2}.dark-mode .clear-button:hover,.dark-mode .theme-toggle:hover{background:#3a3a3a;border-color:#666}.chat-messages{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px}.message{display:flex;max-width:768px;width:100%}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-inner{display:flex;max-width:80%}.message-avatar{display:none}.message-content{width:100%}.message-role{display:none}.message.user .message-text{word-wrap:break-word;background:#e3f2fd;border:1px solid #90caf9;border-radius:18px;color:#000;font-size:15px;line-height:1.6;padding:12px 18px;transition:background-color .3s,border-color .3s,color .3s;white-space:pre-wrap}.dark-mode .message.user .message-text{background:#1e3a5f;border-color:#2563eb;color:#e5e5e5}.message.assistant .message-text{word-wrap:break-word;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;color:#374151;font-size:15px;line-height:1.75;padding:16px 20px;transition:background-color .3s,border-color .3s,color .3s;white-space:pre-wrap}.dark-mode .message.assistant .message-text{background:#2a2a2a;border-color:#555;color:#d0d0d0}.message-image-container{display:flex;flex-direction:column;gap:8px;max-width:512px}.message-image{border:2px solid #dee2e6;border-radius:12px;height:auto;transition:border-color .3s;width:100%}.dark-mode .message-image{border-color:#555}.image-metadata{background:#f8f9fa;border-radius:6px;color:#6e6e80;font-size:11px;padding:4px 8px;transition:background-color .3s,color .3s}.dark-mode .image-metadata{background:#2a2a2a;color:#a0a0a0}.image-loading-placeholder{align-items:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;display:flex;flex-direction:column;gap:16px;height:512px;justify-content:center;transition:background-color .3s,border-color .3s;width:512px}.dark-mode .image-loading-placeholder{background:#2a2a2a;border-color:#555}.image-loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e5e5;border-radius:50%;border-top-color:#10a37f;height:48px;width:48px}.dark-mode .image-loading-spinner{border-color:#10a37f #404040 #404040}.image-loading-text{color:#6e6e80;font-size:14px;font-weight:500}.dark-mode .image-loading-text{color:#a0a0a0}.message-error{align-items:flex-start;background:#fef2f2;border:2px solid #fca5a5;border-radius:12px;display:flex;gap:12px;padding:16px;transition:background-color .3s,border-color .3s}.dark-mode .message-error{background:#3a1f1f;border-color:#991b1b}.error-icon{flex-shrink:0;font-size:24px;line-height:1}.error-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.error-title{color:#dc2626;font-size:14px;font-weight:600;transition:color .3s}.dark-mode .error-title{color:#ef4444}.error-message{word-wrap:break-word;color:#991b1b;font-size:14px;line-height:1.5;transition:color .3s;white-space:pre-wrap}.dark-mode .error-message{color:#fca5a5}.typing-indicator{align-items:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;display:flex;gap:4px;padding:16px 20px;transition:background-color .3s,border-color .3s;width:-webkit-fit-content;width:fit-content}.dark-mode .typing-indicator{background:#2a2a2a;border-color:#555}.typing-indicator span{animation:typing 1.4s infinite;background:#9ca3af;border-radius:50%;height:6px;width:6px}.dark-mode .typing-indicator span{background:#6b7280}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.chat-input-container{background:#fff;border-top:1px solid #e5e5e5;padding:20px 16px 32px;transition:background-color .3s,border-color .3s}.dark-mode .chat-input-container{background:#1a1a1a;border-top-color:#404040}.chat-input-form{align-items:flex-end;background:#fff;border:1px solid #d9d9e3;border-radius:12px;box-shadow:0 0 0 0 #0000;display:flex;gap:10px;margin:0 auto;max-width:768px;padding:12px 16px;transition:all .15s}.dark-mode .chat-input-form{background:#2a2a2a;border-color:#555}.chat-input-form:focus-within{border-color:#10a37f;box-shadow:0 0 0 1px #10a37f}.chat-input{background:#0000;border:none;color:#000;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5;max-height:200px;outline:none;overflow-y:auto;resize:none;transition:color .3s}.dark-mode .chat-input{color:#e5e5e5}.chat-input::placeholder{color:#9ca3af;transition:color .3s}.dark-mode .chat-input::placeholder{color:#6b7280}.chat-input:disabled{cursor:not-allowed;opacity:.5}.send-button{align-items:center;background:#000;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:all .15s;width:32px}.dark-mode .send-button{background:#e5e5e5;color:#1a1a1a}.send-button:hover:not(:disabled){background:#2d2d2d}.dark-mode .send-button:hover:not(:disabled){background:#d0d0d0}.send-button:disabled{background:#d9d9e3;cursor:not-allowed;opacity:.5}.dark-mode .send-button:disabled{background:#555;color:#888}.chat-input-hint{color:#9ca3af;font-size:11px;margin:8px auto 0;max-width:768px;text-align:center;transition:color .3s}.dark-mode .chat-input-hint{color:#6b7280}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.dark-mode .chat-messages::-webkit-scrollbar-thumb{background:#555}.chat-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af}.dark-mode .chat-messages::-webkit-scrollbar-thumb:hover{background:#666}.chat-input::-webkit-scrollbar{width:6px}.chat-input::-webkit-scrollbar-track{background:#0000}.chat-input::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.dark-mode .chat-input::-webkit-scrollbar-thumb{background:#555}.chat-input::-webkit-scrollbar-thumb:hover{background:#9ca3af}.dark-mode .chat-input::-webkit-scrollbar-thumb:hover{background:#666}.attempt-history{background:#f5f5f5;min-height:100vh}.attempt-history-empty,.attempt-history-error,.attempt-history-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.attempt-history-loading .loading-spinner,.details-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#5a6c7d;height:50px;margin-bottom:20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.retry-button,.start-new-button{background:#5a6c7d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;margin-top:15px;padding:12px 24px;transition:all .3s ease}.retry-button:hover,.start-new-button:hover{background:#4a5a6a;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.empty-state{padding:40px;text-align:center}.empty-state h2{color:#333;margin-bottom:10px}.error-banner{align-items:center;background:#fee;border:1px solid #fcc;color:#c33;display:flex;justify-content:space-between;padding:12px 30px}.error-banner button{background:none;border:none;color:#c33;cursor:pointer;font-size:18px}.attempt-history-container{display:flex;height:100vh;width:100%}.attempts-list-panel{background:#fff;border-right:1px solid #e1e8ed;display:flex;flex-direction:column;width:400px}.panel-header{align-items:center;border-bottom:1px solid #e1e8ed;display:flex;justify-content:space-between;padding:20px}.panel-header h2{color:#333;font-size:18px;margin:0}.new-attempt-button{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:32px;justify-content:center;line-height:1;transition:all .3s ease;width:32px}.new-attempt-button:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:scale(1.1)}.attempts-list{flex:1 1;overflow-y:auto}.attempt-item{border-bottom:1px solid #e1e8ed;cursor:pointer;padding:15px 20px;transition:background .2s}.attempt-item:hover{background:#f5f7fa}.attempt-item.active{background:#e8edf3;border-left:3px solid #5a6c7d}.attempt-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.attempt-date{color:#333;font-size:14px;font-weight:500}.status-badge{border-radius:12px;font-size:11px;font-weight:500;padding:3px 10px;text-transform:capitalize}.status-badge.status-completed{background:#d4edda;color:#155724}.status-badge.status-in-progress{background:#fff3cd;color:#856404}.status-badge.status-abandoned{background:#f8d7da;color:#721c24}.attempt-case-title{color:#666;font-size:13px;margin-bottom:8px}.attempt-score{align-items:center;display:flex;gap:10px;margin:10px 0}.score-badge{border-radius:15px;font-size:14px;font-weight:600;padding:4px 12px}.score-badge.excellent{background:#d4edda;color:#155724}.score-badge.good{background:#d1ecf1;color:#0c5460}.score-badge.fair{background:#fff3cd;color:#856404}.score-badge.poor{background:#f8d7da;color:#721c24}.attempt-progress,.score-details{color:#666;font-size:12px}.attempt-progress{margin-top:5px}.attempt-details-panel{background:#f5f5f5;flex:1 1;overflow-y:auto;padding:30px}.details-loading,.no-selection{align-items:center;color:#666;display:flex;flex-direction:column;height:100%;justify-content:center}.attempt-details{margin:0 auto;max-width:900px}.details-header{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;padding:30px}.details-header h2{color:#2c3e50;margin:0 0 15px}.details-meta{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.meta-item{color:#666;font-size:14px}.overall-grade-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;padding:30px}.overall-grade-card h3{color:#2c3e50;margin:0 0 20px}.grade-summary{align-items:center;display:flex;gap:30px;margin-bottom:25px}.final-score{border-radius:15px;font-size:48px;font-weight:700;padding:20px 30px}.final-score.excellent{background:#d4edda;color:#155724}.final-score.good{background:#d1ecf1;color:#0c5460}.final-score.fair{background:#fff3cd;color:#856404}.final-score.poor{background:#f8d7da;color:#721c24}.grade-details{flex:1 1}.detail-row{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 0}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:#666;font-weight:500}.detail-row span:last-child{color:#333}.letter-grade{font-size:18px;font-weight:700}.overall-feedback{border-top:2px solid #e1e8ed;margin-top:25px;padding-top:25px}.feedback-section{margin-bottom:20px}.feedback-section:last-child{margin-bottom:0}.feedback-section h4{font-size:16px;margin:0 0 10px}.feedback-section.strengths h4{color:#155724}.feedback-section.weaknesses h4{color:#721c24}.feedback-section.recommendations h4{color:#0c5460}.feedback-section ul{list-style-type:disc;margin:0;padding-left:20px}.feedback-section li{color:#555;line-height:1.5;margin-bottom:6px}.responses-section{margin-top:20px}.responses-section h3{color:#2c3e50;font-size:20px;margin:0 0 15px}.responses-list{display:flex;flex-direction:column;gap:20px}.response-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:25px}.response-header{border-bottom:2px solid #e1e8ed;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.prompt-info,.response-header{align-items:center;display:flex}.prompt-info{gap:10px}.prompt-number{color:#2c3e50;font-size:16px;font-weight:600}.phase-badge{background:#e8edf3;border-radius:12px;color:#5a6c7d;font-size:12px;padding:3px 10px;text-transform:capitalize}.response-score{border-radius:10px;font-size:20px;font-weight:600;padding:5px 15px}.response-score.excellent{background:#d4edda;color:#155724}.response-score.good{background:#d1ecf1;color:#0c5460}.response-score.fair{background:#fff3cd;color:#856404}.response-score.poor{background:#f8d7da;color:#721c24}.prompt-text,.user-response{margin-bottom:15px}.prompt-text strong,.user-response strong{color:#2c3e50;display:block;margin-bottom:8px}.user-response p{background:#f8f9fa;border-left:4px solid #5a6c7d;border-radius:8px;color:#555;line-height:1.6;margin:0;padding:15px}.response-audio{margin-top:10px;max-width:400px;width:100%}.evaluation-feedback{border-top:2px solid #e1e8ed;margin-top:20px;padding-top:20px}.score-breakdown{color:#666;font-size:14px;font-weight:500;margin-bottom:15px}.points-evaluation{margin-bottom:20px}.points-evaluation strong{color:#2c3e50;display:block;margin-bottom:10px}.points-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.points-hit,.points-missed{border-radius:8px;padding:15px}.points-hit{background:#d4edda;border-left:4px solid #155724}.points-missed{background:#f8d7da;border-left:4px solid #721c24}.points-hit h5,.points-missed h5{font-size:14px;margin:0 0 10px}.points-hit h5{color:#155724}.points-missed h5{color:#721c24}.points-hit ul,.points-missed ul{list-style-type:none;margin:0;padding-left:20px}.points-hit li{color:#155724;margin-bottom:5px}.points-missed li{color:#721c24;margin-bottom:5px}.points-hit li:before{content:"✓ ";font-weight:700}.points-missed li:before{content:"✗ ";font-weight:700}.feedback-list{margin-bottom:15px}.feedback-list strong{color:#2c3e50;display:block;margin-bottom:8px}.feedback-list.strengths strong{color:#155724}.feedback-list.weaknesses strong{color:#721c24}.feedback-list.recommendations strong{color:#0c5460}.feedback-list ul{list-style-type:disc;margin:0;padding-left:20px}.feedback-list li{color:#555;line-height:1.5;margin-bottom:5px}.no-responses{color:#666;padding:40px;text-align:center}@media (max-width:1024px){.attempts-list-panel{width:300px}.points-grid{grid-template-columns:1fr}}@media (max-width:768px){.attempt-history-container{flex-direction:column}.attempts-list-panel{max-height:300px;width:100%}.attempt-details-panel{padding:15px}.grade-summary{align-items:flex-start;flex-direction:column}.final-score{font-size:36px;padding:15px 25px}}
/*# sourceMappingURL=main.4de23bac.css.map*/