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}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#0f0f23,#1a1a2e 50%,#16213e);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app,body{min-height:100vh}.app{display:flex;flex-direction:column}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;border-bottom:1px solid #ffffff1a;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00d4ff,#5b9bd5,#70c0e8);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.header-content p{color:#a0a0a0;font-size:1.1rem}.backend-status{font-size:.75rem;position:fixed;right:20px;top:20px;z-index:1000}.status-active{background:#10b98126;border:1px solid #10b98166;border-radius:20px;box-shadow:0 0 20px #10b9814d;color:#10b981}.status-active,.status-initializing{display:inline-block;font-weight:600;padding:8px 16px}.status-initializing{animation:pulse-glow 2s infinite;background:#fbbf2426;border:1px solid #fbbf2466;border-radius:20px;box-shadow:0 0 20px #fbbf244d;color:#fbbf24}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #fbbf244d;opacity:1}50%{box-shadow:0 0 30px #fbbf2480;opacity:.7}}.app-main{flex:1 1;padding:2rem}.simulation-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr;margin-bottom:2rem}@media (max-width:1200px){.simulation-container{grid-template-columns:1fr}}.molecule-viewer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;overflow:hidden}.viewer-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1.5rem 2rem}.viewer-header h3{color:#00d4ff;font-size:1.5rem}.status{border-radius:20px;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.status.active{background:linear-gradient(135deg,#0f8,#00d4ff);color:#000}.status.inactive{background:#ffffff1a;color:#a0a0a0}.canvas-container{background:radial-gradient(circle,#00d4ff1a 0,#0000 70%);height:500px;position:relative}.viewer-controls{background:#0003;border-top:1px solid #ffffff1a;padding:1rem 2rem}.control-hint{color:#a0a0a0;font-size:.9rem;text-align:center}.control-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;height:-webkit-fit-content;height:fit-content;padding:2rem}.panel-header h3{color:#00d4ff;font-size:1.4rem;margin-bottom:.5rem}.panel-header p{color:#a0a0a0}.control-section,.panel-header p{margin-bottom:2rem}.control-section h4{color:#fff;font-size:1.1rem;margin-bottom:1rem}.molecule-grid{display:flex;flex-direction:column;gap:1rem}.molecule-card{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;cursor:pointer;display:flex;padding:1rem;transition:all .3s ease}.molecule-card:hover{background:#00d4ff1a;border-color:#00d4ff;transform:translateY(-2px)}.molecule-card.selected{background:#00d4ff33;border-color:#00d4ff}.molecule-icon{color:#00d4ff;margin-right:1rem}.molecule-info h5{color:#fff;margin-bottom:.5rem}.molecule-info .description{color:#a0a0a0;font-size:.9rem;margin-bottom:.3rem}.molecule-info .rwanda-context{color:#0f8;font-size:.8rem;font-weight:500}.method-selector{display:flex;flex-direction:column;gap:.8rem}.method-option{align-items:center;border-radius:8px;cursor:pointer;display:flex;padding:.8rem;transition:background-color .2s ease}.method-option:hover{background:#ffffff0d}.method-option input[type=radio]{accent-color:#00d4ff;margin-right:.8rem}.method-label strong{color:#fff;display:block}.method-label small{color:#a0a0a0;font-size:.8rem}.context-selector{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:1rem;padding:.8rem;width:100%}.context-selector option{background:#1a1a2e;color:#fff}.location-info{display:flex;flex-direction:column;gap:.5rem}.location-item{display:flex;justify-content:space-between;padding:.5rem 0}.location-item .label{color:#a0a0a0}.location-item .value{color:#0f8;font-weight:500}.run-button{align-items:center;background:linear-gradient(135deg,#00d4ff,#09c);border:none;border-radius:12px;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%}.run-button:hover:not(:disabled){background:linear-gradient(135deg,#00b8e6,#08b);box-shadow:0 8px 25px #00d4ff4d;transform:translateY(-2px)}.run-button:disabled{cursor:not-allowed;opacity:.7}.info-box{background:#00ff881a;border:1px solid #00ff884d;border-radius:12px;padding:1.5rem}.info-box h5{color:#0f8;margin-bottom:1rem}.info-box ul{list-style:none}.info-box li{color:#a0a0a0;margin-bottom:.5rem;padding-left:1rem;position:relative}.info-box li:before{color:#0f8;content:"•";left:0;position:absolute}.dashboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:2rem}.dashboard-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.dashboard-header h3{color:#00d4ff;font-size:1.8rem}.status-badge{border-radius:20px;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.status-badge.success{background:linear-gradient(135deg,#0f8,#00d4aa);color:#000}.status-badge.error{background:linear-gradient(135deg,#ff4757,#ff3742);color:#fff}.metrics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.metric-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;padding:1.5rem;transition:transform .3s ease}.metric-card:hover{transform:translateY(-4px)}.metric-card.blue{background:linear-gradient(135deg,#00d4ff1a,#5b9bd51a);border-color:#00d4ff4d}.metric-card.green{background:linear-gradient(135deg,#00ff881a,#22c55e1a);border-color:#00ff884d}.metric-card.orange{background:linear-gradient(135deg,#ff9f431a,#fb923c1a);border-color:#ff9f434d}.metric-card.purple{background:linear-gradient(135deg,#74b9ff1a,#a29bfe1a);border-color:#74b9ff4d}.metric-header{align-items:center;display:flex;margin-bottom:1rem}.metric-icon{color:#00d4ff;margin-right:1rem}.metric-value{color:#fff;font-size:2rem;font-weight:700;margin-bottom:.5rem}.metric-description{color:#a0a0a0;font-size:.9rem}.results-section{margin-bottom:2rem}.results-section h4{align-items:center;color:#fff;display:flex;font-size:1.3rem;gap:.5rem;margin-bottom:1rem}.section-icon{color:#00d4ff}.properties-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.property-item{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.property-label{color:#a0a0a0}.property-value{color:#fff;font-weight:600}.property-value.bioavailability.high{color:#0f8}.property-value.bioavailability.medium{color:#ffb84d}.property-value.safety.high{color:#0f8}.districts-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.district-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1rem}.district-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.district-header h5{color:#fff}.suitability-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:.3rem .8rem}.suitability-badge.high{background:#0f8;color:#000}.suitability-badge.medium{background:#ffb84d;color:#000}.district-crop{color:#a0a0a0;margin-bottom:.5rem}.district-metrics small{color:#00d4ff}.roadmap{display:flex;flex-direction:column;gap:1rem}.roadmap-item{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;display:flex;padding:1rem}.roadmap-item.completed{background:#00ff881a;border-color:#0f8}.roadmap-item.active{background:#00d4ff1a;border-color:#00d4ff}.step-number{align-items:center;background:#00d4ff;border-radius:50%;color:#000;display:flex;font-weight:700;height:40px;justify-content:center;margin-right:1rem;width:40px}.roadmap-item.completed .step-number{background:#0f8}.step-content h5{color:#fff;margin-bottom:.3rem}.step-content p{color:#a0a0a0;font-size:.9rem}.technical-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tech-item{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:flex;flex-direction:column;padding:1rem}.tech-item label{color:#a0a0a0;font-size:.9rem;margin-bottom:.3rem}.tech-item span{color:#fff;font-weight:600}.tech-item span.success{color:#0f8}.loading-spinner{align-items:center;color:#a0a0a0;display:flex;flex-direction:column;height:200px;justify-content:center}.spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#00d4ff;height:40px;margin-bottom:1rem;width:40px}.spinner.small{border-width:2px;height:20px;margin-bottom:0;margin-right:.5rem;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dashboard-placeholder{align-items:center;display:flex;height:300px;justify-content:center}.placeholder-content{color:#a0a0a0;text-align:center}.placeholder-icon{margin-bottom:1rem;opacity:.5}.app-footer{background:#0000004d;border-top:1px solid #ffffff1a;color:#a0a0a0;padding:1rem 2rem;text-align:center}.icon{height:20px;width:20px}@media (max-width:768px){.header-content h1{font-size:2rem}.app-main{padding:1rem}.metrics-grid{grid-template-columns:1fr}.simulation-container{gap:1rem}.control-panel,.molecule-viewer{padding:1rem}.backend-status{font-size:.7rem;right:10px;top:10px}.status-active,.status-initializing{padding:6px 12px}}
/*# sourceMappingURL=main.7c5bc0da.css.map*/