.error-boundary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.error-container{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:400px;padding:2rem;text-align:center}.error-container h2{color:#e74c3c;font-size:1.5rem;margin-bottom:1rem}.error-message{color:#555;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.error-reset-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.error-reset-button:hover{box-shadow:0 4px 8px #667eea4d;transform:translateY(-2px)}.file-upload-container{display:flex;flex-direction:column;gap:2rem}.drug-selection-section,.upload-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.drug-selection-section h2,.upload-section h2{color:#333;font-size:1.3rem;margin-bottom:1.5rem}.drag-drop-zone{background:#f0f4ff;border:2px dashed #667eea;border-radius:8px;cursor:pointer;padding:2rem;text-align:center;transition:all .3s ease;-webkit-user-select:none;user-select:none}.drag-drop-zone:hover{background:#e8ebff;border-color:#764ba2}.drag-drop-zone.active{background:#e8f8f5;border-color:#27ae60;box-shadow:0 0 10px #27ae604d}.drag-icon{font-size:3rem;margin-bottom:1rem}.zone-content p{margin:.5rem 0}.main-text{color:#333;font-size:1.1rem;font-weight:600}.sub-text{color:#666;font-size:.95rem}.file-info{background:#e8f8f5;border-left:4px solid #27ae60;border-radius:4px;margin-top:1rem;padding:1rem}.file-name{color:#27ae60;font-weight:600;margin:0}.file-size{color:#666;font-size:.85rem;margin:.5rem 0 0}.file-requirements{background:#fff;border-left:4px solid #667eea;border-radius:4px;margin-top:1.5rem;padding:1rem}.file-requirements p{color:#333;font-weight:600;margin-bottom:.5rem}.file-requirements ul{list-style:none;padding-left:1rem}.file-requirements li{color:#666;margin:.3rem 0}.file-requirements li:before{color:#667eea;content:"✓ ";font-weight:700;margin-right:.5rem}.drug-input-group{margin-bottom:1.5rem}.drug-input-group label{color:#333;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.drug-input-group input{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.95rem;padding:.75rem;transition:border-color .3s ease;width:100%}.drug-input-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.drug-input-group input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.quick-selection{margin:1.5rem 0}.quick-select-label{color:#333;font-size:.9rem;font-weight:600;margin-bottom:.75rem}.drug-buttons{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.drug-button{background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.6rem .8rem;transition:all .3s ease;white-space:nowrap}.drug-button:hover:not(:disabled){border-color:#667eea;color:#667eea}.drug-button.active{background:#667eea;border-color:#667eea;color:#fff}.drug-button:disabled{cursor:not-allowed;opacity:.5}.supported-drugs{background:#fff;border-left:4px solid #64ba2a;border-radius:4px;margin-top:1.5rem;padding:1rem}.supported-drugs p{color:#333;font-weight:600;margin-bottom:.5rem}.supported-drugs ul{list-style:none;padding-left:1rem}.supported-drugs li{color:#666;font-size:.9rem;margin:.4rem 0}.supported-drugs strong{color:#333}@media (max-width:640px){.drag-drop-zone{padding:1.5rem}.drug-buttons{grid-template-columns:repeat(2,1fr)}.drag-icon{font-size:2rem;margin-bottom:.5rem}}.results-display{width:100%}.results-list{display:flex;flex-direction:column;gap:1.5rem}.result-card{border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s ease}.result-card:hover{box-shadow:0 4px 12px #0000001f}.result-header{align-items:flex-start;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:1.5rem}.result-info h3{color:#333;font-size:1.4rem;margin:0}.patient-id{color:#666;font-family:Courier New,monospace;font-size:.85rem;margin:.3rem 0}.timestamp{color:#999;font-size:.8rem;margin:.3rem 0 0}.risk-indicator{border-radius:6px;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600;min-width:120px;padding:1rem 1.5rem;text-align:center}.risk-text{display:block;font-size:.9rem}.result-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.section{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.section-toggle{align-items:center;background:#f8f9fa;border:none;border-bottom:1px solid #e0e0e0;color:#333;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:1rem;text-align:left;transition:background .3s ease;width:100%}.section-toggle:hover{background:#f0f2f5}.toggle-icon{display:inline-block;text-align:center;transition:transform .3s ease;width:20px}.section-content{background:#fff;padding:1rem}.section-content p{color:#555;font-size:.95rem;margin:.5rem 0}.section-content strong{color:#333;font-weight:600}.variants-list{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.variants-list ul{list-style:none;margin-top:.5rem;padding-left:1rem}.variants-list li{color:#666;font-family:Courier New,monospace;font-size:.85rem;margin:.3rem 0;padding-left:1rem;position:relative}.variants-list li:before{color:#667eea;content:"◆";left:0;position:absolute}.explanation-item{background:#f8f9fa;border-left:4px solid #667eea;border-radius:4px;margin-bottom:1rem;padding:1rem}.explanation-item h5{color:#333;font-weight:600;margin:0 0 .5rem}.explanation-item p{color:#555;line-height:1.6;margin:0}.explanation-item ul{list-style:none;margin:.5rem 0 0;padding-left:1rem}.explanation-item li{color:#666;margin:.3rem 0;padding-left:1rem;position:relative}.explanation-item li:before{color:#667eea;content:"•";font-weight:700;left:0;position:absolute}.result-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:1rem;padding:1.5rem}.action-button{background:#fff;border:1px solid #667eea;border-radius:6px;color:#667eea;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.75rem 1rem;transition:all .3s ease}.action-button:hover{background:#667eea;box-shadow:0 2px 8px #667eea4d;color:#fff}.action-button.download{border-color:#27ae60;color:#27ae60}.action-button.download:hover{background:#27ae60;color:#fff}.action-button.copy{border-color:#f39c12;color:#f39c12}.action-button.copy:hover{background:#f39c12;color:#fff}.no-results{background:#f8f9fa;border:1px dashed #ddd;border-radius:8px;color:#999;font-size:1.1rem;padding:3rem;text-align:center}@media (max-width:768px){.result-header{flex-direction:column;gap:1rem}.risk-indicator{width:100%}.result-actions{flex-direction:column}.result-info h3{font-size:1.1rem}}.results-page{margin:0 auto;max-width:1200px;padding:2rem}.results-page h1{color:#667eea;margin-bottom:1rem}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}#root,.dashboard{min-height:100vh}.dashboard{display:flex;flex-direction:column}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 6px #0000001a;color:#fff;padding:2rem 0}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.title-section h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.subtitle{font-size:1.1rem;opacity:.9}.server-status{align-items:center;background:#fff3;border-radius:20px;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem}.status-indicator{animation:pulse 2s infinite;border-radius:50%;height:10px;width:10px}.status-indicator.online{background-color:#27ae60}.status-indicator.offline{background-color:#e74c3c}.status-indicator.checking{background-color:#f39c12}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.dashboard-content{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.content-wrapper{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.input-section{height:-webkit-fit-content;height:fit-content}.input-section,.results-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.results-section h2{color:#667eea;margin-bottom:1.5rem}.analyze-section{border-top:1px solid #eee;margin-top:2rem;padding-top:2rem}.analyze-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 8px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease;width:100%}.analyze-button:hover:not(:disabled){box-shadow:0 6px 12px #667eea66;transform:translateY(-2px)}.analyze-button:disabled{cursor:not-allowed;opacity:.5}.analyze-button.loading{opacity:.8}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.button-icon{font-size:1.3rem}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;margin-top:1rem;padding:1rem}.error-message p{margin:0}.dashboard-footer{background-color:#333;color:#fff;font-size:.9rem;margin-top:2rem;padding:2rem;text-align:center}.footer-links{margin-top:1rem}.footer-links a{color:#667eea;margin:0 .5rem;text-decoration:none}.footer-links a:hover{text-decoration:underline}@media (max-width:968px){.content-wrapper{grid-template-columns:1fr}.header-content{flex-direction:column;gap:1rem;text-align:center}.title-section h1{font-size:2rem}}@media (max-width:640px){.dashboard-content{padding:1rem}.input-section,.results-section{padding:1.5rem}.title-section h1{font-size:1.5rem}.subtitle{font-size:.95rem}}
/*# sourceMappingURL=main.76a8a897.css.map*/