*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:20px}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.5}.medichat-container{bottom:2rem;position:fixed;right:2rem;z-index:1000}.medichat-toggle{align-items:center;background:linear-gradient(135deg,#06c,#00a9a5);border:none;border-radius:50px;box-shadow:0 4px 12px #06c6;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.75rem;padding:1rem 1.5rem;transition:all .3s ease}.medichat-toggle:hover{box-shadow:0 6px 16px #0066cc80;transform:translateY(-2px)}.medichat-icon{font-size:1.5rem}.medichat-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.medichat-window{background:#fff;border:1px solid #e4e7eb;border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;height:600px;overflow:hidden;width:400px}.medichat-header{align-items:center;background:linear-gradient(135deg,#06c,#00a9a5);color:#fff;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.medichat-header-content{display:flex;flex-direction:column}.medichat-title{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.medichat-subtitle{font-size:.875rem;opacity:.9}.medichat-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;transition:background .2s;width:32px}.medichat-close:hover{background:#ffffff4d}.medichat-messages{background:#f8f9fb;display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.5rem}.medichat-message{animation:messageSlideIn .3s ease;display:flex}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.medichat-message.user{justify-content:flex-end}.medichat-message.assistant{justify-content:flex-start}.message-content{border-radius:12px;font-size:.95rem;line-height:1.6;max-width:80%;padding:.875rem 1.125rem}.medichat-message.user .message-content{background:linear-gradient(135deg,#06c,#0052a3);border-bottom-right-radius:4px;color:#fff}.medichat-message.assistant .message-content{background:#fff;border:1px solid #e4e7eb;border-bottom-left-radius:4px;box-shadow:0 1px 3px #0000000d;color:#1a202c}.message-content p{margin:.5rem 0}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content strong{color:#06c;font-weight:700}.medichat-message.user .message-content strong{color:#fff}.message-content li{margin-bottom:.375rem;margin-left:1.25rem}.typing-indicator{display:flex;gap:.375rem;padding:1rem 1.25rem!important}.typing-indicator span{animation:typingBounce 1.4s infinite;background:#9aa5b1;border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.medichat-input-container{background:#fff;border-top:1px solid #e4e7eb;display:flex;gap:.75rem;padding:1rem}.medichat-input{border:2px solid #e4e7eb;border-radius:10px;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.95rem;max-height:100px;padding:.75rem 1rem;resize:none;transition:border-color .2s}.medichat-input:focus{border-color:#06c;box-shadow:0 0 0 3px #e6f2ff;outline:none}.medichat-input:disabled{background:#f8f9fb;cursor:not-allowed}.medichat-send{align-items:center;background:linear-gradient(135deg,#06c,#0052a3);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:44px;justify-content:center;transition:all .2s;width:44px}.medichat-send:hover:not(:disabled){box-shadow:0 4px 8px #0066cc4d;transform:translateY(-2px)}.medichat-send:disabled{cursor:not-allowed;opacity:.5}.medichat-disclaimer{background:#fff9e6;border-top:1px solid #ffe066;padding:.75rem 1rem;text-align:center}.medichat-disclaimer small{color:#7b6f00;font-size:.75rem;line-height:1.4}.medichat-messages::-webkit-scrollbar{width:6px}.medichat-messages::-webkit-scrollbar-track{background:#0000}.medichat-messages::-webkit-scrollbar-thumb{background:#cbd2d9;border-radius:3px}.medichat-messages::-webkit-scrollbar-thumb:hover{background:#9aa5b1}@media (max-width:768px){.medichat-container{bottom:1rem;left:1rem;right:1rem}.medichat-window{height:500px;width:100%}.medichat-toggle{justify-content:center;width:100%}}:root{--primary-blue:#4a90e2;--primary-blue-dark:#357abd;--primary-blue-light:#e8f4fd;--primary-blue-ultra-light:#f5faff;--accent-teal:#5dade2;--accent-teal-light:#ebf8fc;--success-green:#52c93f;--warning-orange:#f39c12;--danger-red:#e74c3c;--neutral-white:#fff;--neutral-bg:#fafbfc;--neutral-border:#d6e4f0;--neutral-border-dark:#a8c5e0;--neutral-text-primary:#2c3e50;--neutral-text-secondary:#5a6c7d;--neutral-text-light:#95a5b8;--shadow-subtle:0 1px 3px #4a90e214;--shadow-card:0 2px 8px #4a90e21f;--shadow-elevated:0 4px 16px #4a90e226;--shadow-hover:0 8px 24px #4a90e22e;--border-thin:1px;--border-medium:2px;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:16px;--border-radius-xl:20px}.patient-ui-container{background:linear-gradient(135deg,#f5faff,#ebf5fc);color:#2c3e50;color:var(--neutral-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;max-width:100%;min-height:100vh;padding:0}.patient-ui-header{align-items:center;background:#fff;background:var(--neutral-white);border-bottom:4px double #e8f4fd;border-bottom:4px double var(--primary-blue-light);box-shadow:0 2px 8px #4a90e21f;box-shadow:var(--shadow-card);display:flex;justify-content:space-between;padding:1.5rem 2.5rem;position:relative}.patient-ui-header:after{background:linear-gradient(90deg,#0000,#4a90e2,#0000);background:linear-gradient(90deg,#0000,var(--primary-blue),#0000);bottom:-2px;content:"";height:1px;left:0;opacity:.3;position:absolute;right:0}.patient-ui-header h1{color:#357abd;color:var(--primary-blue-dark);font-size:1.875rem;font-weight:600;letter-spacing:-.5px;margin:0}.hospital-logo{align-items:center;background:#f5faff;background:var(--primary-blue-ultra-light);border:3px double #d6e4f0;border:3px double var(--neutral-border);border-radius:12px;border-radius:var(--border-radius-md);color:#5a6c7d;color:var(--neutral-text-secondary);display:flex;font-size:1.125rem;font-weight:500;gap:.75rem;padding:.5rem 1.25rem}.patient-details{align-items:center;display:flex;gap:2rem}.patient-info-card{background:#fff;background:var(--neutral-white);border:3px double #e8f4fd;border:3px double var(--primary-blue-light);border-radius:12px;border-radius:var(--border-radius-md);box-shadow:0 1px 3px #4a90e214;box-shadow:var(--shadow-subtle);padding:1rem 2rem}.patient-info-card h3{color:#357abd;color:var(--primary-blue-dark);font-size:1.375rem;font-weight:600;letter-spacing:-.3px;margin:0 0 .75rem}.patient-info-grid{display:flex;font-size:.9375rem;gap:2rem}.patient-info-item{display:flex;flex-direction:column;gap:.25rem}.patient-info-item label{color:#95a5b8;color:var(--neutral-text-light);font-size:.75rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.patient-info-item span{color:#2c3e50;color:var(--neutral-text-primary);font-size:1rem;font-weight:600}.completion-card,.intake-card,.welcome-card{background:#fff;background:var(--neutral-white);border:4px double #e8f4fd;border:4px double var(--primary-blue-light);border-radius:20px;border-radius:var(--border-radius-xl);box-shadow:0 4px 16px #4a90e226;box-shadow:var(--shadow-elevated);margin:3rem auto;max-width:900px;padding:3.5rem;position:relative}.completion-card:before,.intake-card:before,.welcome-card:before{background:linear-gradient(90deg,#0000,#4a90e2,#0000);background:linear-gradient(90deg,#0000,var(--primary-blue),#0000);content:"";height:2px;left:50%;opacity:.2;position:absolute;top:-1px;transform:translateX(-50%);width:60%}.welcome-card h2{color:#357abd;color:var(--primary-blue-dark);font-size:2.5rem;font-weight:600;letter-spacing:-1px;margin-bottom:1.25rem;text-align:center}.welcome-text{color:#5a6c7d;color:var(--neutral-text-secondary);font-size:1.125rem;line-height:1.8;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:700px;text-align:center}.feature-highlights{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin-bottom:3rem}.feature{background:#f5faff;background:var(--primary-blue-ultra-light);border:3px double #e8f4fd;border:3px double var(--primary-blue-light);border-radius:16px;border-radius:var(--border-radius-lg);overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.feature:before{background:linear-gradient(90deg,#4a90e2,#5dade2);background:linear-gradient(90deg,var(--primary-blue),var(--accent-teal));content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.feature:hover{background:#fff;background:var(--neutral-white);border-color:#4a90e2;border-color:var(--primary-blue);box-shadow:0 8px 24px #4a90e22e;box-shadow:var(--shadow-hover);transform:translateY(-4px)}.feature:hover:before{transform:scaleX(1)}.feature-icon{filter:drop-shadow(0 2px 4px rgba(74,144,226,.15));font-size:3rem;margin-bottom:1.25rem}.feature h3{color:#357abd;color:var(--primary-blue-dark);font-size:1.25rem;font-weight:600;letter-spacing:-.3px;margin-bottom:.75rem}.feature p{color:#5a6c7d;color:var(--neutral-text-secondary);font-size:.9375rem;line-height:1.6}.intake-card{max-width:650px}.intake-card h2{color:#357abd;color:var(--primary-blue-dark);font-size:2rem;font-weight:600;letter-spacing:-.5px;margin-bottom:2.5rem;text-align:center}.form-group{margin-bottom:1.75rem}.form-group label{display:block;font-size:.9375rem;font-weight:600;letter-spacing:.2px;margin-bottom:.625rem}.form-group label,.form-input{color:#2c3e50;color:var(--neutral-text-primary)}.form-input{background:var(--neutral-white);border:3px double #d6e4f0;border:3px double var(--neutral-border);border-radius:12px;border-radius:var(--border-radius-md);font-family:inherit;font-size:1rem;padding:1rem 1.25rem;transition:all .3s ease}.form-input:focus{background:#f5faff;background:var(--primary-blue-ultra-light);border-color:#4a90e2;border-color:var(--primary-blue);box-shadow:0 0 0 4px #e8f4fd;box-shadow:0 0 0 4px var(--primary-blue-light)}.form-input::placeholder{color:#95a5b8;color:var(--neutral-text-light)}.camera-upload{background:#f5faff;background:var(--primary-blue-ultra-light);border:3px double #d6e4f0;border:3px double var(--neutral-border);border-radius:12px;border-radius:var(--border-radius-md);margin:2rem 0;padding:2rem;text-align:center}.camera-upload small{color:#5a6c7d;color:var(--neutral-text-secondary);display:block;font-size:.875rem;margin-top:.75rem}.form-actions{display:flex;gap:1rem;margin-top:2.5rem}.form-actions .button{flex:1 1}.session-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr;margin:2rem auto;max-width:1400px;padding:0 2.5rem 2.5rem}.card{background:var(--neutral-white);border:3px double #e8f4fd;border:3px double var(--primary-blue-light);border-radius:16px;border-radius:var(--border-radius-lg);box-shadow:0 2px 8px #4a90e21f;box-shadow:var(--shadow-card);padding:2.5rem;position:relative}.card:after{background:linear-gradient(90deg,#0000,#d6e4f0,#0000);background:linear-gradient(90deg,#0000,var(--neutral-border),#0000);bottom:0;content:"";height:1px;left:2rem;position:absolute;right:2rem}.recording-section{background:linear-gradient(135deg,#4a90e2,#5dade2);background:linear-gradient(135deg,var(--primary-blue) 0,var(--accent-teal) 100%);border:4px double #357abd;border:4px double var(--primary-blue-dark);color:#fff}.recording-section:after{display:none}.recording-section h2{color:#fff;font-size:1.75rem;font-weight:600;letter-spacing:-.5px;margin-bottom:2rem}.doctor-signin,.processing-section,.ready-to-record,.recording-active{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border:3px double #ffffff80;border-radius:12px;border-radius:var(--border-radius-md);color:#2c3e50;color:var(--neutral-text-primary);padding:2.5rem}.instruction-text{color:#5a6c7d;color:var(--neutral-text-secondary);font-size:1.125rem;line-height:1.7;margin-bottom:2rem;text-align:center}.demo-hint{background:#f5faff;background:var(--primary-blue-ultra-light);border:2px double #e8f4fd;border:2px double var(--primary-blue-light);border-radius:8px;border-radius:var(--border-radius-sm);margin-top:1.5rem;padding:1rem;text-align:center}.demo-hint small{color:#5a6c7d;color:var(--neutral-text-secondary);font-size:.875rem}.provider-info{background:#f5faff;background:var(--primary-blue-ultra-light);border:3px double #e8f4fd;border:3px double var(--primary-blue-light);border-radius:12px;border-radius:var(--border-radius-md);margin-bottom:2.5rem;padding:1.5rem;text-align:center}.provider-info h3{color:#357abd;color:var(--primary-blue-dark);font-size:1.875rem;font-weight:600;letter-spacing:-.5px;margin-bottom:.5rem}.provider-info p{color:#5a6c7d;color:var(--neutral-text-secondary);font-size:1.0625rem;font-weight:500}.recording-indicator{align-items:center;background:linear-gradient(135deg,#f5faff,#fff);background:linear-gradient(135deg,var(--primary-blue-ultra-light),#fff);border:3px double #e8f4fd;border:3px double var(--primary-blue-light);border-radius:12px;border-radius:var(--border-radius-md);display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;padding:1.25rem}.pulse-dot{animation:pulse 1.5s ease-in-out infinite;background:#e74c3c;background:var(--danger-red);border-radius:50%;box-shadow:0 0 0 0 #e74c3cb3;height:16px;width:16px}.recording-label{color:#e74c3c;color:var(--danger-red);font-size:1.375rem;font-weight:700;letter-spacing:2px}.recording-info{margin-bottom:2rem;text-align:center}.recording-info h3{color:#357abd;color:var(--primary-blue-dark);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.recording-info p{color:#5a6c7d;color:var(--neutral-text-secondary);font-size:1rem}.recording-time{color:#357abd;color:var(--primary-blue-dark);font-family:SF Mono,Monaco,Courier New,monospace;font-size:3.5rem;font-weight:600;letter-spacing:3px;margin-top:1.5rem;text-shadow:0 2px 4px #4a90e21a}.recording-note{background:#f5faff;background:var(--primary-blue-ultra-light);border:1px solid #e8f4fd;border:1px solid var(--primary-blue-light);border-radius:8px;border-radius:var(--border-radius-sm);color:#5a6c7d;color:var(--neutral-text-secondary);font-size:.9375rem;line-height:1.7;margin-top:1.5rem;padding:1rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #e8f4fd;border-top:4px solid #4a90e2;border:4px solid var(--primary-blue-light);border-radius:50%;border-top-color:var(--primary-blue);height:64px;margin:0 auto 1.5rem;width:64px}.section-header{align-items:center;border-bottom:3px double #e8f4fd;border-bottom:3px double var(--primary-blue-light);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.section-header h2{color:#357abd;color:var(--primary-blue-dark);font-size:1.625rem;font-weight:600;letter-spacing:-.5px;margin:0}.empty-state{color:#95a5b8;color:var(--neutral-text-light);font-size:1.0625rem;font-style:italic;padding:4rem 2rem;text-align:center}.consultations-list{display:flex;flex-direction:column;gap:1.75rem}.consultation-item{background:#f5faff;background:var(--primary-blue-ultra-light);border:3px double #d6e4f0;border:3px double var(--neutral-border);border-radius:16px;border-radius:var(--border-radius-lg);padding:2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.consultation-item:before{background:linear-gradient(180deg,#4a90e2,#5dade2);background:linear-gradient(180deg,var(--primary-blue),var(--accent-teal));border-radius:16px 0 0 16px;border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.consultation-item:hover{background:#fff;background:var(--neutral-white);border-color:#4a90e2;border-color:var(--primary-blue);box-shadow:0 8px 24px #4a90e22e;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.consultation-item:hover:before{opacity:1}.consultation-header{align-items:flex-start;border-bottom:2px double #d6e4f0;border-bottom:2px double var(--neutral-border);display:flex;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1.25rem}.consultation-header h3{color:#357abd;color:var(--primary-blue-dark);font-size:1.375rem;font-weight:600;letter-spacing:-.3px;margin:0 0 .375rem}.specialty{color:#5dade2;color:var(--accent-teal);font-size:1rem;font-weight:600;margin:0}.time-info{color:#5a6c7d;color:var(--neutral-text-secondary);font-size:.9375rem;font-weight:500;text-align:right}.duration{color:#95a5b8;color:var(--neutral-text-light);font-size:.875rem;font-weight:600;margin-top:.375rem}.consultation-summary,.key-findings{margin-bottom:1.5rem}.consultation-summary h4,.key-findings h4{color:#357abd;color:var(--primary-blue-dark);font-size:1.0625rem;font-weight:600;letter-spacing:.2px;margin-bottom:1rem}.consultation-summary p{color:#5a6c7d;color:var(--neutral-text-secondary);font-size:.9375rem;line-height:1.8;margin:0}.key-findings ul{list-style:none;margin:0;padding:0}.key-findings li{color:#5a6c7d;color:var(--neutral-text-secondary);font-size:.9375rem;line-height:1.7;padding:.75rem 0 .75rem 2rem;position:relative}.key-findings li:before{background:#4a90e2;background:var(--primary-blue);border-radius:50%;box-shadow:0 0 0 3px #e8f4fd;box-shadow:0 0 0 3px var(--primary-blue-light);content:"";height:8px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:8px}.consultation-actions{border-top:1px solid #d6e4f0;border-top:1px solid var(--neutral-border);display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem}.session-actions{padding:2rem 0;text-align:center}.completion-card{max-width:750px}.success-icon{align-items:center;background:linear-gradient(135deg,#52c93f,#3aa82e);background:linear-gradient(135deg,var(--success-green) 0,#3aa82e 100%);border:4px double #ffffff80;border-radius:50%;box-shadow:0 4px 16px #4a90e226;box-shadow:var(--shadow-elevated);color:#fff;display:flex;font-size:4rem;height:100px;justify-content:center;margin:0 auto 2rem;width:100px}.completion-card h2{color:#357abd;color:var(--primary-blue-dark);font-size:2.25rem;font-weight:600;letter-spacing:-.5px;margin-bottom:1.25rem}.completion-message{color:#5a6c7d;color:var(--neutral-text-secondary);font-size:1.125rem;line-height:1.7;margin-bottom:2.5rem}.next-steps,.visit-summary{background:#f5faff;background:var(--primary-blue-ultra-light);border:3px double #e8f4fd;border:3px double var(--primary-blue-light);border-radius:12px;border-radius:var(--border-radius-md);margin-bottom:2rem;padding:2rem;text-align:left}.next-steps h3,.visit-summary h3{color:#357abd;color:var(--primary-blue-dark);font-size:1.375rem;font-weight:600;letter-spacing:-.3px;margin-bottom:1.25rem}.summary-item{border-bottom:1px solid #d6e4f0;border-bottom:1px solid var(--neutral-border);color:#5a6c7d;color:var(--neutral-text-secondary);font-size:.9375rem;padding:1rem 0}.summary-item:last-child{border-bottom:none}.summary-item strong{color:#2c3e50;color:var(--neutral-text-primary);font-weight:600;margin-right:.625rem}.next-steps ul{margin:0;padding-left:1.75rem}.next-steps li{color:#5a6c7d;color:var(--neutral-text-secondary);font-size:.9375rem;line-height:1.7;padding:.75rem 0}.button{border-radius:12px;border-radius:var(--border-radius-md);box-shadow:0 2px 8px #4a90e21f;box-shadow:var(--shadow-card);cursor:pointer;font-family:inherit;font-weight:600;letter-spacing:.3px;overflow:hidden;padding:1rem 2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.button:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.button:hover:before{height:300px;width:300px}.button:hover:not(:disabled){box-shadow:0 8px 24px #4a90e22e;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{cursor:not-allowed;opacity:.5}.button.large{font-size:1.125rem;padding:1.25rem 2.5rem}.button.small{font-size:.9375rem;padding:.75rem 1.5rem}.button.primary{background:linear-gradient(135deg,#4a90e2,#357abd);background:linear-gradient(135deg,var(--primary-blue) 0,var(--primary-blue-dark) 100%);color:#fff}.button.primary:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2a6199);background:linear-gradient(135deg,var(--primary-blue-dark) 0,#2a6199 100%)}.button.secondary{background:#fff;background:var(--neutral-white);border:3px double #d6e4f0;border:3px double var(--neutral-border);color:#357abd;color:var(--primary-blue-dark)}.button.secondary:hover:not(:disabled){background:#f5faff;background:var(--primary-blue-ultra-light);border-color:#4a90e2;border-color:var(--primary-blue);color:#357abd;color:var(--primary-blue-dark)}.button.success{background:linear-gradient(135deg,#52c93f,#3aa82e);background:linear-gradient(135deg,var(--success-green) 0,#3aa82e 100%);color:#fff}.button.success:hover:not(:disabled){background:linear-gradient(135deg,#3aa82e,#2e8b23)}.button.warning{background:linear-gradient(135deg,#f39c12,#d68910);background:linear-gradient(135deg,var(--warning-orange) 0,#d68910 100%);color:#fff}.button.warning:hover:not(:disabled){background:linear-gradient(135deg,#d68910,#b8750e)}.button.danger{background:linear-gradient(135deg,#e74c3c,#c0392b);background:linear-gradient(135deg,var(--danger-red) 0,#c0392b 100%);color:#fff}.button.danger:hover:not(:disabled){background:linear-gradient(135deg,#c0392b,#a93226)}.record-button{border:3px double #ffffff4d!important;box-shadow:0 4px 16px #4a90e226!important;box-shadow:var(--shadow-elevated)!important;font-size:1.375rem!important;padding:1.5rem 3rem!important}@media (max-width:768px){.feature-highlights{grid-template-columns:1fr}.patient-ui-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem}.session-content{padding:0 1.25rem 1.25rem}.patient-details{flex-direction:column;gap:1rem;width:100%}.patient-info-card{width:100%}.patient-info-grid{flex-direction:column;gap:.75rem}.completion-card,.intake-card,.welcome-card{margin:1.5rem;padding:2rem}.button.large{font-size:1rem;padding:1rem 2rem}.card{padding:1.75rem}.recording-time{font-size:2.5rem}.consultation-header{flex-direction:column;gap:.75rem}.time-info{text-align:left}}*{transition-duration:.3s;transition-property:background-color,border-color,color,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4a90e2;outline:3px solid var(--primary-blue);outline-offset:2px}.timeline-container{margin-top:1rem}.timeline-params{background:#f8f9fa;border-radius:4px;display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:2rem;padding:1rem}.timeline-params .param{color:#2c3e50;font-size:.9rem}.timeline-section{margin-bottom:2rem}.timeline-section h4{color:#2c3e50;font-size:1.1rem;margin-bottom:.5rem}.timeline-track{border:1px solid #ddd;border-radius:4px;margin-bottom:1rem;overflow:hidden}.time-axis{border-top:1px solid #ddd;height:30px;margin-top:1rem;position:relative}.time-marker{padding-top:.25rem;position:absolute;transform:translateX(-50%)}.score-table-container{margin-top:2rem}.speaker-scores{margin-bottom:2rem}.speaker-scores h4{color:#2c3e50;margin-bottom:1rem}.score-table{border-collapse:collapse;font-size:.9rem;width:100%}.score-table th{background:#2c3e50;color:#fff;font-weight:500;padding:.75rem;text-align:left}.score-table td{border-bottom:1px solid #ddd;padding:.75rem}.score-table tbody tr:hover{background:#f8f9fa}.status-high{color:#27ae60;font-weight:500}.status-medium{color:#f39c12;font-weight:500}.status-low{color:#e74c3c;font-weight:500}.score-timeline{position:relative}.model-section{background:#f8f9fa;border-left:4px solid #3498db;border-radius:4px;margin:2rem 0;padding:1.5rem}.model-section h3{color:#2c3e50;margin-top:0}.model-details{margin-top:1rem}.model-details p{margin:.75rem 0}.model-details ul{margin:.5rem 0;padding-left:2rem}.model-details li{line-height:1.6;margin:.5rem 0}.process-step{margin:2rem 0}.process-step h3{color:#2c3e50;margin-bottom:1rem}.process-step ol{margin:1rem 0;padding-left:2rem}.process-step li{line-height:1.6;margin:.75rem 0}.info-box{background:#d6eaf8;border-left:4px solid #3498db;border-radius:4px;margin:1.5rem 0;padding:1rem}.info-box strong{color:#21618c}.math-section{margin:1.5rem 0}.math-section h3{color:#2c3e50;margin:1.5rem 0 1rem}.formula{background:#2c3e50;border-radius:4px;color:#ecf0f1;font-family:Courier New,monospace;margin:1rem 0;overflow-x:auto;padding:1rem}.formula code{color:#ecf0f1;font-size:1rem}.threshold-section{margin:1.5rem 0}.threshold-section h3{color:#2c3e50;margin:1.5rem 0 1rem}.state-diagram{align-items:center;display:flex;flex-direction:column;margin:2rem 0}.state-box{background:#3498db;border-radius:8px;color:#fff;min-width:300px;padding:1.5rem;text-align:center}.state-box strong{color:#fff;display:block;font-size:1.2rem;margin-bottom:1rem}.state-box p{font-size:.95rem;margin:.5rem 0}.arrow{color:#3498db;font-size:2rem;margin:1rem 0}.example-table{border-collapse:collapse;font-size:.95rem;margin:1rem 0;width:100%}.example-table td,.example-table th{border:1px solid #ddd;padding:.75rem;text-align:left}.example-table thead{background:#2c3e50;color:#fff}.example-table tbody tr:nth-child(2n){background:#f8f9fa}.pipeline{flex-direction:column;margin:2rem 0}.pipeline,.pipeline-step{align-items:center;display:flex}.pipeline-step{background:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;gap:1.5rem;max-width:600px;padding:1rem;width:100%}.step-number{align-items:center;background:#3498db;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:40px;justify-content:center;width:40px}.step-content{flex:1 1}.step-content h4{color:#2c3e50;margin:0 0 .5rem}.step-content p{color:#2c3e50;margin:.25rem 0}.step-content small{color:#7f8c8d;font-size:.85rem}.pipeline-arrow{color:#3498db;font-size:2rem;margin:.5rem 0}.params-table{border-collapse:collapse;font-size:.95rem;margin:1rem 0;width:100%}.params-table td,.params-table th{border:1px solid #ddd;padding:1rem;text-align:left}.params-table thead{background:#2c3e50;color:#fff}.params-table tbody tr:nth-child(2n){background:#f8f9fa}.embedding-explanation{margin:1.5rem 0}.embedding-explanation h3{color:#2c3e50;margin:2rem 0 1rem}.vector-comparison{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:2rem 0}@media (max-width:768px){.vector-comparison{grid-template-columns:1fr}}.vector-type{background:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;padding:1.5rem}.vector-type h4{color:#2c3e50;margin-top:0}.vector-type ul{margin:1rem 0;padding-left:1.5rem}.vector-type li{line-height:1.6;margin:.75rem 0}.vector-type code{background:#2c3e50;border-radius:3px;color:#ecf0f1;font-family:Courier New,monospace;font-size:.9rem;padding:.2rem .5rem}.performance{margin:1.5rem 0}.performance h3{color:#2c3e50;margin:2rem 0 1rem}.performance ul{margin:1rem 0;padding-left:2rem}.performance li{line-height:1.6;margin:.75rem 0}.references{margin:1.5rem 0}.references h3{color:#2c3e50;margin:2rem 0 1rem}.references ul{margin:1rem 0;padding-left:2rem}.references li{line-height:1.6;margin:1rem 0}.references code{background:#f8f9fa;border-radius:3px;color:#2c3e50;font-family:Courier New,monospace;padding:.2rem .5rem}.settings-page{margin:0 auto;max-width:1200px;padding:2rem}.settings-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.settings-container h1{color:#333;font-size:2rem;margin:0 0 2rem}.settings-section{margin-bottom:3rem}.settings-section h2{border-bottom:2px solid #007bff;color:#444;font-size:1.5rem;margin-bottom:.5rem;padding-bottom:.5rem}.section-description{color:#666;line-height:1.6;margin-bottom:1.5rem}.instance-status-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem}.status-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.status-header h3{color:#333;font-size:1.25rem;margin:0}.status-badge{border-radius:4px;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.status-running{background-color:#28a745;color:#fff}.status-stopped{background-color:#6c757d;color:#fff}.status-starting{background-color:#ffc107;color:#333}.status-starting,.status-stopping{animation:pulse 1.5s ease-in-out infinite}.status-stopping{background-color:#ff9800;color:#fff}.status-error{background-color:#dc3545;color:#fff}.status-unknown{background-color:#6c757d;color:#fff}.status-loading{animation:pulse 1.5s ease-in-out infinite;background-color:#17a2b8;color:#fff}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:1rem;padding:1rem}.status-details{margin-bottom:1.5rem}.status-item{color:#333;margin-bottom:1rem}.status-item strong{color:#000;margin-right:.5rem}.instance-list{color:#555;margin:.5rem 0 0;padding-left:1.5rem}.instance-list li{font-family:Courier New,monospace;font-size:.9rem;margin-bottom:.25rem}.launch-time{color:#666;font-size:.85rem}.control-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;min-width:150px;padding:.75rem 1.5rem;transition:all .3s ease}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-start{background-color:#28a745;color:#fff}.btn-start:hover:not(:disabled){background-color:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-2px)}.btn-stop{background-color:#dc3545;color:#fff}.btn-stop:hover:not(:disabled){background-color:#c82333;box-shadow:0 4px 8px #dc35454d;transform:translateY(-2px)}.btn-refresh{background-color:#007bff;color:#fff}.btn-refresh:hover:not(:disabled){background-color:#0056b3;box-shadow:0 4px 8px #007bff4d;transform:translateY(-2px)}.cost-warning{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;margin-top:1rem;padding:1rem}.cost-warning strong{color:#533f03}.config-item{background:#fff;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:.5rem;padding:.75rem}.config-item strong{color:#333;margin-right:.5rem}@media (max-width:768px){.settings-container,.settings-page{padding:1rem}.control-buttons{flex-direction:column}.btn{width:100%}.status-header{align-items:flex-start;flex-direction:column;gap:1rem}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:3rem 1rem}.login-box{background:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:28rem;padding:2rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-icon{align-items:center;background:#667eea;border-radius:9999px;display:flex;height:3rem;justify-content:center;margin:0 auto 1rem;width:3rem}.lock-icon{color:#fff;height:1.5rem;width:1.5rem}.login-title{color:#1a202c;font-size:1.875rem;font-weight:700;margin:0}.error-alert{align-items:center;background:#fed7d7;border:1px solid #fc8181;border-radius:.375rem;color:#742a2a;display:flex;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.error-icon{flex-shrink:0;height:1.25rem;width:1.25rem}.login-form{gap:1.5rem}.form-group,.login-form{display:flex;flex-direction:column}.form-label{color:#4a5568;font-weight:500;margin-bottom:.5rem}.form-input,.form-label{display:block;font-size:.875rem}.form-input{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #cbd5e0;border-radius:.375rem;color:#1a202c;padding:.75rem;position:relative;transition:all .2s;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input:disabled{cursor:not-allowed;opacity:.5}.form-input::placeholder{color:#a0aec0}.submit-button{align-items:center;background:#667eea;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.75rem 1rem;position:relative;transition:all .2s;width:100%}.submit-button:hover:not(:disabled){background:#5568d3}.submit-button:focus{box-shadow:0 0 0 3px #667eea80;outline:none}.submit-button:disabled{cursor:not-allowed;opacity:.5}.loading-container{align-items:center;display:flex;gap:.5rem}.spinner{animation:spin .6s linear infinite;border:2px solid #0000;border-radius:9999px;border-top-color:#fff;height:1rem;width:1rem}.login-footer{color:#718096;font-size:.875rem;margin-top:2rem;text-align:center}.login-footer p{margin:0}.App{display:flex;flex-direction:column;min-height:100vh}.navbar{background-color:#2c3e50;box-shadow:0 2px 4px #0000001a;color:#fff;padding:1rem 0}.navbar .container{align-items:center;display:flex;justify-content:space-between}.logo{font-size:1.5rem;font-weight:700}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{color:#fff;font-weight:500;text-decoration:none;transition:opacity .2s}.nav-links a:hover{opacity:.8}.main-content{flex:1 1;padding:2rem 0}.page-title{color:#2c3e50;font-size:2rem}.card,.page-title{margin-bottom:2rem}.card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem}.button{background-color:#3498db;border:none;border-radius:4px;color:#fff;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.button:hover:not(:disabled){background-color:#2980b9}.button:disabled{background-color:#95a5a6}.button.danger{background-color:#e74c3c}.button.danger:hover:not(:disabled){background-color:#c0392b}.button.success{background-color:#27ae60}.button.success:hover:not(:disabled){background-color:#229954}.input-group{margin-bottom:1.5rem}.input-group label{color:#2c3e50;display:block;font-weight:500;margin-bottom:.5rem}.input-group input[type=file],.input-group input[type=text]{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.status-message{border-radius:4px;margin-bottom:1rem;padding:1rem}.status-message.info{background-color:#d6eaf8;color:#21618c}.status-message.success{background-color:#d5f4e6;color:#186a3b}.status-message.error{background-color:#fadbd8;color:#943126}.loading{color:#7f8c8d;padding:2rem;text-align:center}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.c8693ad8.css.map*/