.hdr{background:var(--bg2);border-bottom:1px solid var(--bdr);padding:14px 20px;display:flex;align-items:center;gap:12px}
.hdr-icon{width:34px;height:34px;background:var(--grn-d);border:1px solid var(--grn-b);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}
.hdr-title{font-size:16px;font-weight:600}.hdr-sub{font-size:11px;color:var(--tx3);margin-top:1px}
.badge{margin-left:auto;background:var(--grn-d);border:1px solid var(--grn-b);color:var(--grn);font-size:11px;padding:2px 9px;border-radius:20px;font-weight:500}
.main{display:grid;grid-template-columns:300px 1fr;min-height:calc(100vh - 62px)}
.side{background:var(--bg2);border-right:1px solid var(--bdr);padding:16px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;max-height:calc(100vh - 62px)}
.slabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tx3);margin-bottom:6px}
.sw{position:relative}.sw input{width:100%;background:var(--bg3);border:1px solid var(--bdr);border-radius:7px;padding:7px 10px 7px 30px;color:var(--tx);font-size:12px;outline:none}
.sw input:focus{border-color:var(--bdr2)}.sw-ic{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--tx3);font-size:13px}
.clist{background:var(--bg3);border:1px solid var(--bdr);border-radius:7px;max-height:180px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bdr2) transparent}
.ci{padding:7px 10px;cursor:pointer;display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--bdr);transition:background .1s}
.ci:last-child{border-bottom:none}.ci:hover{background:var(--bg4)}.ci.sel{background:var(--blu-d);border-left:2px solid var(--blu)}
.cn{font-size:12px;color:var(--tx);flex:1}.ct{font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px;min-width:20px;text-align:center}
.t1,.t2{background:var(--grn-d);color:var(--grn);border:1px solid var(--grn-b)}
.t3,.t4{background:var(--blu-d);color:var(--blu);border:1px solid var(--blu-b)}
.t5,.t6{background:var(--amb-d);color:var(--amb);border:1px solid var(--amb-b)}
.t7,.t8,.t9{background:var(--red-d);color:var(--red);border:1px solid var(--red-b)}
.t10,.t11,.t12,.t13,.t14{background:#2a1040;color:var(--pur);border:1px solid #4a2080}
.pslots{display:flex;flex-direction:column;gap:6px}
.pslot{background:var(--bg3);border:1px solid var(--bdr);border-radius:7px;padding:8px 10px;display:flex;align-items:center;gap:7px;min-height:38px}
.pslot.act{border-color:var(--blu-b);background:var(--blu-d)}.pslot .sl{font-size:10px;color:var(--tx3);min-width:48px}
.pslot .sc{font-size:12px;color:var(--tx);flex:1}.pslot .se{font-size:11px;color:var(--tx3);font-style:italic;flex:1}
.srm{background:none;border:none;color:var(--tx3);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px}
.srm:hover{color:var(--red);background:var(--red-d)}
.soilgrid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.sbtn{background:var(--bg3);border:1px solid var(--bdr);border-radius:6px;padding:7px 9px;color:var(--tx2);font-size:11px;cursor:pointer;text-align:left;transition:all .1s;display:flex;flex-direction:column;gap:2px}
.sbtn.act{background:var(--blu-d);border-color:var(--blu-b);color:var(--blu)}.sbtn:hover:not(.act){border-color:var(--bdr2);color:var(--tx)}
.snm{font-weight:500}.snote{font-size:9px;color:var(--tx3)}.sbtn.act .snote{color:#5a8fc0}
.srow{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.srow label{font-size:11px;color:var(--tx2);min-width:65px}
.srow input[type=range]{flex:1;accent-color:var(--blu)}
.sval{font-size:12px;font-weight:600;color:var(--tx);min-width:24px;text-align:right}
.envt{display:flex;gap:6px;flex-wrap:wrap}
.etbtn{background:var(--bg3);border:1px solid var(--bdr);border-radius:5px;padding:5px 10px;font-size:11px;color:var(--tx2);cursor:pointer;transition:all .1s}
.etbtn.act{background:var(--tel-d);border-color:#1a5a56;color:var(--tel)}.etbtn:hover:not(.act){border-color:var(--bdr2)}
.content{padding:20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;max-height:calc(100vh - 62px)}
.hint{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:40px;color:var(--tx3);text-align:center;background:var(--bg2);border:1px dashed var(--bdr);border-radius:12px}
.hint-icon{font-size:28px;margin-bottom:6px}.hint-title{font-size:14px;color:var(--tx2)}
.hero{background:var(--bg2);border:1px solid var(--bdr);border-radius:10px;padding:16px 20px}
.hero-top{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.hcard{background:var(--bg3);border:1px solid var(--bdr);border-radius:8px;padding:12px;text-align:center}
.hval{font-size:28px;font-weight:700;line-height:1;margin-bottom:3px}.hlbl{font-size:11px;color:var(--tx2)}
.c-grn{color:var(--grn)}.c-amb{color:var(--amb)}.c-red{color:var(--red)}.c-blu{color:var(--blu)}.c-gry{color:var(--tx3)}.c-pur{color:var(--pur)}
.nbar-wrap{margin-top:10px}.nbar-row{display:flex;justify-content:space-between;font-size:10px;color:var(--tx3);margin-bottom:3px}
.nbar-track{height:6px;background:var(--bg4);border-radius:3px;overflow:hidden;border:1px solid var(--bdr)}
.nbar-fill{height:100%;border-radius:3px;transition:width .3s}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 8px;border-radius:20px;background:var(--bg4);color:var(--tx3);border:1px solid var(--bdr)}
.pill.ok{background:var(--grn-d);color:var(--grn);border-color:var(--grn-b)}.pill.warn{background:var(--amb-d);color:var(--amb);border-color:var(--amb-b)}
.path-section{background:var(--bg2);border:1px solid var(--bdr);border-radius:10px;padding:16px 20px}
.path-section h2{font-size:13px;font-weight:600;color:var(--tx2);display:flex;align-items:center;gap:6px;margin-bottom:12px}
.path-grid{display:flex;flex-direction:column;gap:8px}
.path-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:8px;padding:12px 14px}
.path-card.best{border-color:var(--grn-b);background:linear-gradient(135deg,#0f2a1a,var(--bg3))}
.path-steps{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.ps-crop{font-size:11px;background:var(--bg4);border:1px solid var(--bdr);border-radius:4px;padding:2px 8px;color:var(--tx);white-space:nowrap}
.ps-crop.target{background:var(--grn-d);border-color:var(--grn-b);color:var(--grn);font-weight:500}
.ps-crop.starter{background:var(--blu-d);border-color:var(--blu-b);color:var(--blu)}
.ps-arr{color:var(--tx3);font-size:12px;padding:0 2px}
.path-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pmeta-item{font-size:10px;color:var(--tx3);background:var(--gry);border-radius:3px;padding:1px 6px}
.pmeta-item.good{color:var(--grn);background:var(--grn-d)}
.pmeta-item.warn{color:var(--amb);background:var(--amb-d)}
.path-sub{font-size:11px;color:var(--tx3);margin-top:6px;line-height:1.5}
.filter-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.fbtn{background:var(--bg3);border:1px solid var(--bdr);border-radius:5px;padding:4px 10px;font-size:11px;color:var(--tx2);cursor:pointer}
.fbtn.act{background:var(--blu-d);border-color:var(--blu-b);color:var(--blu)}.fbtn:hover:not(.act){border-color:var(--bdr2)}
.rcount{font-size:11px;color:var(--tx3);margin-left:auto}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.mcard{background:var(--bg2);border:1px solid var(--bdr);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.mcard.match{border-left:3px solid var(--grn)}.mcard.pool-m{border-left:3px solid var(--amb)}.mcard.nomatch{opacity:.5}
.mc-top{display:flex;align-items:center;gap:6px}.mc-nm{font-size:13px;font-weight:500;color:var(--tx);flex:1}
.mc-type{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px}
.mc-type.det{background:var(--grn-d);color:var(--grn)}.mc-type.pool{background:var(--amb-d);color:var(--amb)}.mc-type.mach{background:#2a1040;color:var(--pur)}
.mc-par{font-size:10px;color:var(--tx3)}.mc-par span{color:var(--tx2)}
.mc-prob{font-size:12px;font-weight:600}.mc-prob.high{color:var(--grn)}.mc-prob.mid{color:var(--amb)}.mc-prob.low{color:var(--red)}.mc-prob.none{color:var(--tx3)}
.mc-tags{display:flex;flex-wrap:wrap;gap:3px}
.mc-tag{font-size:9px;padding:1px 5px;border-radius:2px;background:var(--gry);color:var(--tx2)}
.mc-req{font-size:10px;color:var(--amb);background:var(--amb-d);border:1px solid var(--amb-b);border-radius:3px;padding:2px 6px}
.mc-soil{font-size:10px;color:var(--tel);background:var(--tel-d);border-radius:3px;padding:1px 6px}
.sect-title{font-size:13px;font-weight:600;color:var(--tx2);display:flex;align-items:center;gap:6px}
.formula-box{background:var(--bg2);border:1px solid var(--bdr);border-radius:8px;padding:14px 18px}
.fl{display:flex;gap:6px;align-items:baseline;margin-bottom:5px;font-size:11px;color:var(--tx3)}
.fl .fk{color:var(--tx2);min-width:130px}.fl .fv{color:var(--tx);font-weight:500}
.no-path{font-size:12px;color:var(--tx3);padding:12px;text-align:center}
.soil-needed{font-size:10px;padding:1px 6px;border-radius:3px;background:var(--tel-d);color:var(--tel);border:1px solid #1a4a48}