@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--g1: #7ec681;--g2: #009866;--g3: #005246;--preclinical: #f0ab00;--clinical: #e0684b;--bio: #00c0b5;--mfg: #8131b0;--research: #0057bf;--bg: #f4f7fa;--card: #fff;--txt: #1a1a2e;--muted: #6b7280;--border: #e5e7eb;--shadow: 0 4px 24px rgba(0, 82, 70, .08);--shadow-lg: 0 12px 48px rgba(0, 82, 70, .12);--r: 16px;--rs: 10px;--gradient: linear-gradient(135deg, #005246, #009866, #7ec681)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:15px}body{font-family:Inter,system-ui,-apple-system,Arial,sans-serif;background:var(--bg);color:var(--txt);overflow:hidden;height:100vh}input,button,textarea,select{font-family:inherit;outline:none}button{cursor:pointer;border:none;background:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00986633;border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes typeDot{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}@keyframes growWidth{0%{width:0}}@keyframes countPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.fade-up{animation:fadeUp .5s ease both}.d1{animation-delay:.1s}.d2{animation-delay:.2s}.d3{animation-delay:.3s}.d4{animation-delay:.4s}.d5{animation-delay:.5s}#app{display:flex;height:100vh;overflow:hidden}#login{height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdf4,#ecfdf5 30%,#f0f9ff 70%,#f4f7fa);position:relative;overflow:hidden}.login-orb{position:absolute;border-radius:50%;pointer-events:none}.login-card{width:420px;padding:48px;border-radius:24px;background:#ffffffe0;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.5);box-shadow:0 24px 80px #0052461a;text-align:center;position:relative;z-index:1;animation:fadeUp .6s ease}.login-card h1{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#005246,#009866);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:4px 0}.login-card input{width:100%;padding:12px 16px;border-radius:10px;border:1.5px solid var(--border);font-size:.9rem;margin-bottom:12px;background:#f4f7fa99;transition:border .3s}.login-card input:focus{border-color:var(--g2)}.login-btn{width:100%;padding:13px;border-radius:12px;background:var(--gradient);color:#fff;font-weight:700;font-size:.95rem;border:none;cursor:pointer;box-shadow:0 4px 16px #0098664d;transition:transform .2s}.login-btn:hover{transform:translateY(-2px)}#sidebar{width:260px;height:100vh;background:linear-gradient(180deg,#003d33,#005246 40%,#00695c);display:flex;flex-direction:column;flex-shrink:0;transition:width .3s;overflow:hidden}#sidebar.collapsed{width:72px}#sidebar .logo{padding:20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}#sidebar.collapsed .logo{justify-content:center;padding:20px 0}#sidebar .logo span{color:#fff;font-weight:800;font-size:1.2rem;letter-spacing:-.5px;white-space:nowrap}#sidebar.collapsed .logo span,#sidebar.collapsed .nav-label,#sidebar.collapsed .user-info{display:none}#sidebar nav{flex:1;padding:12px 0;overflow-y:auto}#sidebar nav button{width:100%;display:flex;align-items:center;gap:12px;padding:10px 20px;color:#fff9;font-size:.85rem;transition:all .2s;border-left:3px solid transparent;white-space:nowrap}#sidebar.collapsed nav button{justify-content:center;padding:10px 0}#sidebar nav button:hover{color:#fff;background:#ffffff0d}#sidebar nav button.active{color:#7ec681;background:#7ec68126;border-left-color:#7ec681;font-weight:600}#sidebar .user-bar{padding:16px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:8px;background:var(--gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem;flex-shrink:0}#header{height:56px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.search-bar{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:8px;padding:6px 14px;width:320px}.search-bar input{border:none;background:transparent;font-size:.85rem;flex:1;color:var(--txt)}.notif-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#ef4444;border:2px solid #fff}#main{flex:1;display:flex;flex-direction:column;overflow:hidden}#content{flex:1;overflow-y:auto;overflow-x:hidden}.page{padding:28px;animation:fadeIn .3s ease}.welcome-banner{padding:28px 32px;border-radius:20px;background:linear-gradient(135deg,#005246,#009866,#34d399);color:#fff;margin-bottom:28px;position:relative;overflow:hidden}.welcome-banner:after{content:"";position:absolute;top:0;right:0;width:300px;height:100%;background:radial-gradient(circle at 80% 50%,rgba(255,255,255,.1),transparent);pointer-events:none}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat-card{padding:24px;position:relative;overflow:hidden}.stat-card .icon{position:absolute;top:-10px;right:-10px;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-card .label{font-size:.75rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.stat-card .value{font-size:2rem;font-weight:800;line-height:1}.two-col{display:grid;grid-template-columns:1fr 380px;gap:20px}.study-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:10px;cursor:pointer;transition:background .2s}.study-row:hover{background:var(--bg)}.species-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.progress-bar{height:6px;border-radius:3px;background:var(--bg);overflow:hidden}.progress-fill{height:100%;border-radius:3px;background:var(--gradient);transition:width 1.2s ease}.activity-row{display:flex;gap:12px;padding:10px 12px;border-radius:8px;transition:background .2s;cursor:pointer}.activity-row:hover{background:var(--bg)}.tabs{display:flex;gap:4px;background:var(--bg);padding:4px;border-radius:12px;margin-bottom:24px}.tabs button{flex:1;padding:10px 16px;border-radius:10px;font-weight:500;font-size:.82rem;transition:all .2s;text-transform:capitalize}.tabs button.active{background:#fff;font-weight:700;color:var(--g3);box-shadow:0 2px 8px #0000000f}.chat-layout{display:flex;height:calc(100vh - 56px)}.chat-sidebar{width:260px;border-right:1px solid var(--border);background:#fff;display:flex;flex-direction:column}.chat-main{flex:1;display:flex;flex-direction:column;background:var(--bg)}.chat-messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.msg{max-width:70%;padding:14px 18px;font-size:.85rem;line-height:1.6;animation:fadeUp .3s ease both;white-space:pre-wrap}.msg-user{align-self:flex-end;background:var(--g3);color:#fff;border-radius:18px 18px 4px}.msg-ada{align-self:flex-start;background:#fff;color:var(--txt);border-radius:18px 18px 18px 4px;box-shadow:0 2px 8px #0000000f}.chat-input-bar{padding:16px;background:#fff;border-top:1px solid var(--border);display:flex;gap:10px;align-items:center}.chat-input-bar input{flex:1;padding:12px 16px;border-radius:12px;border:1.5px solid var(--border);font-size:.85rem;transition:border .3s}.chat-input-bar input:focus{border-color:var(--g2)}.timeline{position:relative;display:flex;margin-bottom:40px;padding-top:20px}.timeline:before{content:"";position:absolute;top:38px;left:0;right:0;height:4px;background:var(--border);border-radius:2px}.phase{flex:1;text-align:center;position:relative;z-index:1}.phase-dot{width:40px;height:40px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem;cursor:pointer;transition:transform .3s}.phase-dot:hover{transform:scale(1.15)}.flow-row{display:flex;align-items:center;gap:0;overflow-x:auto;padding:8px 0}.flow-node{min-width:150px;padding:14px;border-radius:10px;text-align:center;cursor:pointer;transition:transform .2s}.flow-node:hover{transform:scale(1.04)}.flow-arrow{width:24px;height:2px;background:var(--border);flex-shrink:0}.search-container{display:grid;grid-template-columns:260px 1fr;gap:20px}.facet-panel{position:sticky;top:0}.facet-group{margin-bottom:16px}.facet-group h4{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:8px}.facet-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.82rem;transition:background .2s}.facet-item:hover{background:#0098660d}.facet-item.active{background:#00986614;color:var(--g3);font-weight:600}.facet-check{width:16px;height:16px;border-radius:4px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;font-size:.65rem;color:#fff}.facet-item.active .facet-check{background:var(--g2);border-color:var(--g2)}.facet-count{margin-left:auto;font-size:.72rem;color:var(--muted);background:var(--bg);padding:1px 8px;border-radius:10px}.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--border);transition:all .3s}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn{padding:10px 24px;border-radius:var(--rs);font-weight:600;font-size:.88rem;transition:all .3s;display:inline-flex;align-items:center;gap:6px}.btn-p{background:var(--gradient);color:#fff}.btn-p:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0098664d}.btn-s{background:transparent;color:var(--g2);border:2px solid var(--g2)}.btn-s:hover{background:var(--g2);color:#fff}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:.68rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.bg-green{background:#0098661a;color:var(--g2)}.bg-orange{background:#f0ab001a;color:#c78800}.bg-blue{background:#0057bf1a;color:var(--research)}.bg-coral{background:#e0684b1a;color:var(--clinical)}.bg-purple{background:#8131b01a;color:var(--mfg)}.toast-container{position:fixed;top:80px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;border-radius:10px;font-size:.85rem;font-weight:500;box-shadow:0 4px 16px #0000001a;animation:fadeUp .4s ease;max-width:360px;border-left:4px solid #10b981;background:#ecfdf5;color:#065f46}.tb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.tb-card{padding:20px;border-radius:var(--rs);border:2px solid var(--border);cursor:pointer;transition:all .25s;text-align:center;position:relative}.tb-card:hover{border-color:var(--g2);transform:translateY(-2px);box-shadow:var(--shadow)}.tb-card.selected{border-color:var(--g2);background:#0098660a;box-shadow:0 0 0 3px #00986626}.tb-card .tb-ico{font-size:2rem;margin-bottom:8px}.tb-card .tb-label{font-weight:700;font-size:.9rem;margin-bottom:2px}.tb-card .tb-meta{font-size:.72rem;color:var(--muted)}.tb-card .tb-check{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--g2);color:#fff;display:none;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.tb-card.selected .tb-check{display:flex}.tb-steps{display:flex;gap:0;margin-bottom:28px;position:relative}.tb-steps:after{content:"";position:absolute;top:18px;left:40px;right:40px;height:2px;background:var(--border);z-index:0}.tb-step{flex:1;text-align:center;position:relative;z-index:1}.tb-step .tb-step-num{width:36px;height:36px;border-radius:50%;background:var(--bg);border:2px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;margin-bottom:6px;transition:all .3s}.tb-step.active .tb-step-num{background:var(--g2);color:#fff;border-color:var(--g2)}.tb-step.done .tb-step-num{background:var(--g1);color:#fff;border-color:var(--g1)}.tb-step .tb-step-label{display:block;font-size:.72rem;font-weight:600;color:var(--muted)}.tb-step.active .tb-step-label{color:var(--g2)}.tb-step.done .tb-step-label{color:var(--g1)}.tb-section-list{max-height:420px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--rs);padding:8px}.tb-section-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;transition:background .2s;cursor:pointer}.tb-section-row:hover{background:var(--bg)}.tb-section-row .tb-sec-num{width:32px;height:32px;border-radius:8px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--g3);flex-shrink:0}.tb-section-row .tb-sec-label{flex:1;font-size:.85rem;font-weight:500}.tb-section-row .tb-sec-status{font-size:.68rem;padding:3px 10px;border-radius:20px;font-weight:600}.tb-notif-panel{border:1px solid var(--border);border-radius:var(--rs);padding:16px;background:var(--bg);margin-top:16px}.tb-notif-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fff;border-radius:8px;margin-bottom:6px;font-size:.82rem}.tb-timeline{position:relative;padding-left:24px;margin:16px 0}.tb-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border)}.tb-timeline-item{position:relative;padding:8px 0 16px;font-size:.82rem}.tb-timeline-item:before{content:"";position:absolute;left:-20px;top:12px;width:10px;height:10px;border-radius:50%;background:var(--g2);border:2px solid #fff;box-shadow:0 0 0 2px var(--g2)}.tb-scope-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tb-scope-tag{padding:4px 12px;border-radius:20px;font-size:.72rem;font-weight:600;border:1.5px solid var(--border);cursor:pointer;transition:all .2s}.tb-scope-tag:hover{border-color:var(--g2)}.tb-scope-tag.active{background:var(--g2);color:#fff;border-color:var(--g2)}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.feature-grid.tri{grid-template-columns:repeat(3,1fr)}.feature-card{padding:20px;cursor:pointer}.feature-card .icon-box{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;margin-bottom:10px}.section-actions button{font-size:.62rem;padding:3px 8px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .15s}.section-actions button:hover{border-color:var(--g2);color:var(--g3);background:#0098660d}.proto-editor h2{font-size:1rem;font-weight:700;margin:18px 0 6px;color:var(--g3)}.proto-editor h3{font-size:.9rem;font-weight:700;margin:14px 0 4px}.proto-editor p{margin:6px 0}.proto-editor table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.8rem}.proto-editor th,.proto-editor td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}.proto-editor th{background:var(--bg);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.3px}.proto-field{background:#00986614;border:1px solid rgba(0,152,102,.25);border-radius:4px;padding:1px 6px;cursor:pointer;position:relative;transition:all .2s;display:inline}.proto-field:hover{background:#00986626;border-color:var(--g2)}.proto-field-q{background:#0057bf14;border:1px solid rgba(0,87,191,.25);border-radius:4px;padding:1px 6px;cursor:pointer;position:relative;transition:all .2s;display:inline}.proto-field-q:hover{background:#0057bf26;border-color:var(--research)}.proto-field-tpl{background:#f0ab0014;border:1px solid rgba(240,171,0,.25);border-radius:4px;padding:1px 6px;cursor:pointer;position:relative;transition:all .2s;display:inline}.proto-field-tpl:hover{background:#f0ab0026;border-color:var(--preclinical)}.proto-field-need{background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:4px;padding:1px 6px;cursor:pointer;position:relative;transition:all .2s;display:inline;color:#dc2626}.proto-field-need:hover{background:#ef444426}.proto-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding:12px 16px;background:var(--bg);border-radius:10px;font-size:.78rem}.proto-legend-item{display:flex;align-items:center;gap:6px}.proto-legend-dot{width:14px;height:14px;border-radius:3px;flex-shrink:0}.proto-section-nav{position:sticky;top:0;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:16px}.proto-section-nav button{padding:4px 12px;border-radius:6px;font-size:.72rem;font-weight:500;margin:2px;transition:all .2s}.proto-section-nav button:hover{background:#00986614}.proto-section-nav button.active{background:var(--g2);color:#fff;font-weight:600}.proto-toc{margin:12px 0 20px;padding:16px 20px;background:var(--bg);border-radius:10px}.proto-toc a{display:block;padding:3px 0;font-size:.82rem;color:var(--g3);text-decoration:none;transition:color .2s}.proto-toc a:hover{color:var(--g2)}.proto-editable{outline:none;border-radius:4px;transition:box-shadow .2s;min-width:20px;display:inline}.proto-editable:focus{box-shadow:0 0 0 2px var(--g2);background:#00986608}.proto-editable:hover{background:#00000005}.wizard-panel{position:fixed;top:0;right:-480px;width:460px;height:100vh;background:#fff;box-shadow:-4px 0 24px #0000001f;z-index:1001;transition:right .35s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.wizard-panel.open{right:0}.wizard-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:1000;opacity:0;transition:opacity .3s;pointer-events:none}.wizard-backdrop.open{opacity:1;pointer-events:auto}.wizard-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.wizard-body{flex:1;overflow-y:auto;padding:20px 24px}.wizard-footer{padding:16px 24px;border-top:1px solid var(--border);flex-shrink:0;background:#fff;display:flex;gap:10px;align-items:center}.wizard-q-card{padding:14px 16px;border:1px solid var(--border);border-radius:12px;margin-bottom:10px;background:#fff;transition:all .2s}.wizard-q-card.answered{border-color:#0098664d;background:#00986605}.wizard-q-card input,.wizard-q-card select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:.84rem;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.wizard-q-card input:focus,.wizard-q-card select:focus{outline:none;border-color:var(--g2);box-shadow:0 0 0 3px #0098661a}.wizard-progress{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.wizard-progress-bar{height:100%;background:var(--g2);border-radius:2px;transition:width .4s ease}.about-hero{padding:36px 40px;border-radius:20px;background:linear-gradient(135deg,#003d33,#005246 40%,#009866 80%,#34d399);color:#fff;margin-bottom:28px;position:relative;overflow:hidden}.about-hero:after{content:"";position:absolute;top:-60px;right:-60px;width:280px;height:280px;border-radius:50%;background:#ffffff0f}.about-section{margin-bottom:24px}.about-section h3{font-size:1rem;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px}.about-cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.about-cap{padding:16px;border-radius:12px;background:#fff;border:1px solid var(--border);transition:all .2s}.about-cap:hover{border-color:var(--g2);transform:translateY(-2px);box-shadow:var(--shadow)}.about-cap .cap-ico{font-size:1.3rem;margin-bottom:6px}.about-cap h5{font-weight:700;font-size:.85rem;margin-bottom:4px}.about-cap p{font-size:.78rem;color:var(--muted);line-height:1.4}.settings-section{margin-bottom:16px;max-width:700px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--bg)}.toggle{width:40px;height:22px;border-radius:11px;background:var(--g2);position:relative;cursor:pointer}.toggle:after{content:"";width:18px;height:18px;border-radius:9px;background:#fff;position:absolute;top:2px;right:2px;transition:all .2s}.donut-wrap{position:relative;width:120px;height:120px;margin:0 auto 12px}.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.val-item{display:flex;gap:10px;padding:10px 14px;border-radius:8px;margin-bottom:8px;font-size:.82rem;align-items:flex-start}.val-error{background:#ef44440d;border:1px solid rgba(239,68,68,.2)}.val-warn{background:#f59e0b0d;border:1px solid rgba(245,158,11,.2)}.search-result{padding:16px 20px;border-radius:12px;background:#fff;border:1px solid var(--border);margin-bottom:10px;transition:all .2s;cursor:pointer}.search-result:hover{border-color:var(--g2);box-shadow:0 4px 12px #00986614}.result-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.result-tag{font-size:.7rem;padding:2px 8px;border-radius:4px;background:var(--bg);color:var(--muted)}.breakdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.breakdown-card{text-align:center;padding:14px;border-radius:10px;background:#fff;border:1px solid var(--border)}.breakdown-card .num{font-size:1.6rem;font-weight:800}.breakdown-card .lbl{font-size:.72rem;color:var(--muted);margin-top:2px}.slider-group{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:20px;align-items:end}.slider-group label{display:block;font-size:.82rem;font-weight:600;margin-bottom:6px}.slider-group input[type=range]{width:100%;accent-color:var(--g2)}.login-page{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdf4,#ecfdf5 30%,#f0f9ff 70%,#f4f7fa);position:relative;overflow:hidden}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.login-orb{position:absolute;border-radius:50%;filter:blur(40px)}.login-card{background:#ffffffb3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);border-radius:24px;padding:48px 40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0052461a;text-align:center;z-index:10}.login-card svg{display:block;margin:0 auto 20px}.login-title{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#005246,#009866,#7ec681);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.login-subtitle{color:var(--muted);font-size:.85rem;margin-bottom:32px;opacity:.85}.login-card form{display:flex;flex-direction:column;gap:12px}.login-error{color:#ef4444;font-size:.8rem;padding:8px 12px;background:#ef444414;border-radius:8px;margin-bottom:12px;text-align:left}.login-input{width:100%;padding:12px 16px;border:1px solid rgba(0,0,0,.08);border-radius:10px;font-size:.9rem;background:#fff9;color:var(--txt);transition:all .3s;box-sizing:border-box}.login-input::placeholder{color:var(--muted)}.login-input:focus{outline:none;border-color:var(--g2);background:#fffffff2;box-shadow:0 0 0 3px #0098661a}.login-input:disabled{opacity:.6;cursor:not-allowed}.login-btn{width:100%;padding:12px 24px;background:var(--gradient);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s;margin-top:8px}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0098664d}.login-btn:disabled{opacity:.8;cursor:not-allowed}.login-footer{margin-top:24px;font-size:.75rem;color:var(--muted)}.page{flex:1;overflow-y:auto;padding:24px 28px 28px}.welcome-banner{background:linear-gradient(135deg,#00986614,#7ec6810f);border:1px solid rgba(0,152,102,.15);border-radius:var(--r);padding:32px 36px;margin-bottom:28px;animation:fadeUp .5s ease both}.welcome-title{font-size:1.5rem;font-weight:700;margin-bottom:8px;color:var(--txt)}.welcome-subtitle{opacity:.85;font-size:.9rem;color:var(--txt);margin-bottom:16px}.welcome-buttons{display:flex;gap:12px;margin-top:16px}.welcome-buttons .btn{padding:10px 24px;border-radius:var(--rs);font-weight:600;font-size:.88rem;border:none;cursor:pointer;transition:all .3s;color:#fff}.welcome-buttons .btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0098664d}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{padding:20px;text-align:center;position:relative}.stat-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;width:48px;height:48px;border-radius:12px;margin-bottom:12px}.stat-label{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.stat-value{font-size:1.8rem;font-weight:800;line-height:1}.impact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.impact-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.impact-label{font-size:.75rem;font-weight:700;color:var(--g3);text-transform:uppercase;letter-spacing:.3px}.impact-value{font-size:1rem;font-weight:800;color:var(--txt);margin-bottom:2px}.impact-subtitle{font-size:.72rem;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.card-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.card-header h3{font-size:.95rem;font-weight:700;margin:0}.study-list{padding:4px}.study-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;transition:background .2s;cursor:pointer}.study-row:hover{background:#0098660a}.species-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.study-info{flex:1}.study-title{font-weight:600;font-size:.85rem;color:var(--txt)}.study-meta{font-size:.75rem;color:var(--muted);margin-top:2px}.study-progress{width:100px;flex-shrink:0}.progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:4px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--g1),var(--g2));border-radius:3px;transition:width .3s ease}.progress-label{font-size:.7rem;color:var(--muted);text-align:right}.activity-list{padding:8px;max-height:400px;overflow-y:auto}.activity-row{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:10px;transition:background .2s}.activity-row:hover{background:#0098660a}.activity-icon{font-size:1.2rem;flex-shrink:0;margin-top:2px}.activity-info{flex:1}.activity-action{font-weight:600;font-size:.82rem;color:var(--txt)}.activity-detail{font-size:.75rem;color:var(--muted);margin-top:2px}.activity-time{font-size:.7rem;color:var(--muted);white-space:nowrap;flex-shrink:0}.roadmap-container{display:flex;align-items:center;position:relative}.roadmap-container:before{content:"";position:absolute;top:18px;left:40px;right:40px;height:2px;background:var(--border);z-index:0}.roadmap-step{flex:1;text-align:center;position:relative;z-index:1}.roadmap-line{height:4px;border-radius:2px;margin-bottom:8px}.roadmap-dot{width:20px;height:20px;border-radius:50%;position:absolute;top:-8px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.roadmap-phase{margin-top:24px;font-size:.75rem;font-weight:600;color:var(--g3)}.roadmap-time{font-size:.65rem;color:var(--muted);margin-top:2px}@media(max-width:1200px){.stat-grid,.impact-strip{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}@media(max-width:768px){.page{padding:16px 12px}.welcome-banner{padding:24px 20px;margin-bottom:20px}.welcome-title{font-size:1.3rem}.welcome-buttons{flex-direction:column}.welcome-buttons .btn{width:100%}.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px}.impact-strip{grid-template-columns:1fr;gap:10px}}.step-bar{display:flex;gap:0;margin-bottom:32px}.step-item{display:flex;align-items:center;flex:1}.step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;transition:all .3s;flex-shrink:0}.step-line{flex:1;height:2px;margin:0 12px;border-radius:1px;transition:background .5s}.drop-zone{max-width:500px;margin:0 auto;padding:48px 32px;border-radius:16px;border:2px dashed var(--g2);background:#00986608;cursor:pointer;text-align:center;transition:all .3s}.drop-zone:hover{border-color:var(--g3);background:#0098660f}.proto-editor{font-family:Inter,system-ui,sans-serif;font-size:.85rem;line-height:1.7;color:var(--txt)}.proto-editor h1{font-size:1.15rem;font-weight:800;margin:24px 0 8px;padding-bottom:6px;border-bottom:2px solid var(--g2);position:relative}.proto-editor h2{font-size:1rem;font-weight:700;margin:20px 0 12px}.proto-editor h3{font-size:.9rem;font-weight:600;margin:16px 0 8px}.proto-editor p{margin:8px 0}.proto-editor table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.85rem}.proto-editor table th{background:var(--bg);padding:10px 12px;text-align:left;font-weight:700;border-bottom:2px solid var(--border)}.proto-editor table td{padding:10px 12px;border-bottom:1px solid var(--border)}.proto-field{background:#00986633;border:1px solid rgba(0,152,102,.4);padding:2px 4px;border-radius:3px;color:var(--g3);cursor:text;transition:all .2s}.proto-field:hover{background:#0098664d;border-color:#00986699}.proto-field-q{background:#0057bf33;border:1px solid rgba(0,87,191,.4);padding:2px 4px;border-radius:3px;color:var(--research);cursor:text;transition:all .2s}.proto-field-q:hover{background:#0057bf4d;border-color:#0057bf99}.proto-field-tpl{background:#f0ab0033;border:1px solid rgba(240,171,0,.4);padding:2px 4px;border-radius:3px;color:#d97706;cursor:default;transition:all .2s}.proto-field-need{background:#ef444433;border:1px solid rgba(239,68,68,.4);padding:2px 4px;border-radius:3px;color:#ef4444;font-style:italic;cursor:text;transition:all .2s}.proto-field-need:hover{background:#ef44444d;border-color:#ef444499}.proto-editable{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);padding:2px 4px;border-radius:3px;cursor:text;transition:all .2s}.proto-editable:hover,.proto-editable:focus{background:#3b82f633;border-color:#3b82f680;outline:none}.proto-legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:12px;background:var(--bg);border-radius:8px;margin-top:16px}.proto-legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:500;color:var(--muted)}.proto-legend-dot{width:12px;height:12px;border-radius:2px}.section-actions{display:none;position:absolute;right:0;top:50%;transform:translateY(-50%);gap:4px;align-items:center}.proto-editor h1:hover .section-actions{display:flex}.protocol-header{margin-bottom:24px}.protocol-content{min-height:400px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeIn .3s ease-out}@media(max-width:768px){.step-bar{margin-bottom:20px}.step-item{flex-direction:column}.step-line{width:2px;height:20px;margin:4px 0}.proto-editor h1{font-size:1rem;margin:16px 0 4px}.drop-zone{padding:32px 16px;max-width:100%}.proto-legend{flex-direction:column;gap:8px;align-items:flex-start}}
