:root{color:#17202a;font-synthesis:none;text-rendering:optimizelegibility;background:#eef2f5;font-family:Inter,Segoe UI,Arial,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:#17202a;cursor:pointer;background:#fff;border:1px solid #c8d2dc;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;display:inline-flex}button:hover:not(:disabled){color:#173f51;border-color:#4f7f96}button:disabled{opacity:.52;cursor:not-allowed}input{color:#17202a;background:#fff;border:1px solid #c8d2dc;border-radius:6px;width:100%;min-height:36px;padding:0 10px}input:focus{border-color:#4f7f96;outline:2px solid #87b8ce}.app{width:min(1920px,100vw - 16px);margin:0 auto;padding:12px 0 24px}.topbar{border-bottom:1px solid #cfd8df;justify-content:space-between;align-items:center;gap:18px;min-height:78px;margin-bottom:14px;display:flex}h1,h2,p{margin:0}h1{color:#0f2632;font-size:25px;font-weight:760}h2{color:#132c38;font-size:16px;font-weight:740}.topbar p{color:#5d6b74;margin-top:5px;font-size:13px}.statusStrip{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.metric{background:#f9fbfc;border:1px solid #d5dee5;border-radius:7px;flex-direction:column;gap:2px;min-width:86px;min-height:46px;padding:7px 10px;display:flex}.metric span{color:#6a7881;text-transform:uppercase;font-size:11px}.metric strong{color:#142c38;font-size:15px;line-height:1.1}.iconButton{width:42px;min-width:42px;padding:0}.workspace{grid-template-columns:350px minmax(0,1fr);align-items:start;gap:12px;display:grid}.searchPane,.mainPane,.importPanel{background:#f8fafb;border:1px solid #cfd8df;border-radius:8px}.searchPane{max-height:calc(100vh - 24px);padding:14px;position:sticky;top:12px;overflow:auto}.mainPane{min-width:0;min-height:620px;overflow:hidden}.panelHeader,.selectionBand{justify-content:space-between;align-items:center;gap:12px;display:flex}.panelHeader{margin-bottom:12px}.panelHeaderActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.eyebrow{color:#6e7f87;text-transform:uppercase;font-size:11px;font-weight:760}.segmented{border:1px solid #c8d2dc;border-radius:7px;grid-template-columns:repeat(3,1fr);margin-bottom:12px;display:grid;overflow:hidden}.segmented button{background:#fff;border:0;border-right:1px solid #c8d2dc;border-radius:0}.segmented button:last-child{border-right:0}.segmented button.active{color:#fff;background:#21485a}.field{color:#44545e;gap:7px;font-size:13px;display:grid}.inputRow{grid-template-columns:minmax(0,1fr) 42px;gap:7px;display:grid}.inputRow button{padding:0}.rangeGrid{gap:8px;display:grid}.rangeLine{grid-template-columns:82px 1fr 1fr;align-items:center;gap:7px;display:grid}.rangeLine span{color:#4f5e66;font-size:12px}.fullButton{width:100%}.resultList{gap:8px;margin-top:14px;display:grid}.listHead{color:#53636c;justify-content:space-between;font-size:12px;display:flex}.resultItem{background:#fff;border:1px solid #d7e0e6;border-radius:7px;grid-template-columns:36px minmax(0,1fr);gap:10px;min-height:86px;padding:10px;display:grid}.addIcon{width:34px;min-width:34px;height:34px;padding:0}.resultItem div,.selectedChip div,.historyItem div{gap:3px;min-width:0;display:grid}.resultItem b,.selectedChip b,.historyItem b{color:#102d3a;font-size:13px}.resultItem span,.selectedChip span,.historyItem span{color:#485862;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.resultItem small{color:#6d7b84;font-size:11px}.resultFacts{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex!important}.resultFacts span{color:#314650;text-overflow:clip;white-space:nowrap;background:#f5f8fa;border:1px solid #d9e2e8;border-radius:5px;width:auto;max-width:none;min-height:21px;padding:3px 6px;font-size:11px;line-height:1.2;overflow:visible}.resultFacts .warnFact,.missingText{color:#7c5712;background:#fff6df;border-color:#efd29c;font-weight:720}.selectionBand{background:#fff;border-bottom:1px solid #cfd8df;padding:14px 16px}.selectionBand h2{text-overflow:ellipsis;white-space:nowrap;max-width:780px;overflow:hidden}.actionGroup{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.primary{color:#fff;background:#1f5a70;border-color:#1f5a70}.primary:hover:not(:disabled){color:#fff;background:#17485a}.selectedGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;padding:12px 16px 0;display:grid}.selectedChip{background:#fff;border:1px solid #d5dee5;border-radius:7px;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:8px;min-height:58px;padding:9px 8px 9px 10px;display:grid}.selectedChip button{width:30px;min-width:30px;height:30px;padding:0}.compareArea{padding:14px 16px 16px}.emptyState{color:#65747c;text-align:center;background:#f5f8fa;border:1px dashed #b9c7d0;border-radius:8px;align-content:center;place-items:center;gap:9px;min-height:430px;padding:24px;display:grid}.emptyState strong{color:#203845}.emptyState span{max-width:460px;font-size:13px}.tableWrap{background:#fff;border:1px solid #ccd7df;border-radius:8px;max-height:690px;overflow:auto}.compareTable{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.compareTable th,.compareTable td{vertical-align:top;text-align:left;border-bottom:1px solid #e0e6eb;padding:8px 9px}.compareTable th{z-index:2;color:#fff;background:#203944;font-weight:690;position:sticky;top:0}.compareTable th:nth-child(-n+6){z-index:5}.compareTable th:first-child,.compareTable td:first-child{z-index:3;color:#52636c;background:#fff;width:110px;min-width:110px;position:sticky;left:0}.compareTable th:nth-child(2),.compareTable td:nth-child(2){z-index:3;background:#fff;width:105px;min-width:105px;position:sticky;left:110px}.compareTable th:nth-child(3),.compareTable td:nth-child(3),.compareTable th:nth-child(4),.compareTable td:nth-child(4){z-index:3;background:#fff;width:220px;min-width:220px;position:sticky}.compareTable th:nth-child(3),.compareTable td:nth-child(3){left:215px}.compareTable th:nth-child(4),.compareTable td:nth-child(4){left:435px}.compareTable th:nth-child(5),.compareTable td:nth-child(5){z-index:3;background:#fff;width:96px;min-width:96px;position:sticky;left:655px}.compareTable th:nth-child(6),.compareTable td:nth-child(6){z-index:3;background:#fff;width:96px;min-width:96px;position:sticky;left:751px}.compareTable th:nth-child(-n+6){background:#203944}.compareTable th:nth-child(n+7),.compareTable td:nth-child(n+7){width:154px;min-width:154px}.productColumnHeader{color:#fff;gap:4px;min-width:0;display:grid}.productColumnHeader b,.productColumnHeader span,.productColumnHeader small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.productColumnHeader b{color:#fff;font-size:12px}.productColumnHeader span{color:#edf7fb;font-size:11px;font-weight:620}.productColumnHeader small{color:#b9ced8;font-size:10px;font-weight:520}.productColumnHeader div{flex-wrap:wrap;gap:3px;display:flex}.productColumnHeader em{color:#fff;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff2e;border-radius:4px;min-height:18px;padding:2px 4px;font-size:10px;font-style:normal;line-height:1.15}.compareTable td b,.compareTable td span{display:block}.compareTable td span{color:#687780;margin-top:3px}.compareTable tbody tr:hover,.compareTable tbody tr:hover td:nth-child(-n+6){background:#f3f8fa}.compareTable tfoot td{color:#132c38;z-index:4;background:#edf4f7;font-weight:740;position:sticky;bottom:0}.compareTable tfoot td:first-child{left:0}.compareTable tfoot td:nth-child(2){left:110px}.productInfoWrap{margin-bottom:12px}.productInfoTitle{color:#000;letter-spacing:0;background:#94e96f;border:1px solid #7fca64;border-bottom:0;place-items:center;height:26px;font-family:Times New Roman,serif;font-size:20px;font-weight:760;display:grid}.productInfoScroll{border-radius:0 0 8px 8px;max-height:none}.productInfoTable{border-collapse:collapse;background:#fff;width:100%;min-width:760px;font-size:12px}.productInfoTable th,.productInfoTable td{text-align:left;vertical-align:top;border:1px solid #d4dde4;padding:5px 7px}.productInfoTable th{color:#000;z-index:1;background:#e8e8fb;width:190px;min-width:190px;font-weight:760;position:sticky;left:0}.productInfoTable td{color:#000;background:#edf7fb;min-width:128px}.productInfoTable tr:last-child th,.productInfoTable tr:last-child td{background:#e7e7f7;font-weight:760}.pill{border:1px solid #0000;border-radius:999px;align-items:center;min-height:22px;padding:0 8px;font-size:11px;font-weight:740;display:inline-flex}.pill.good{color:#22613b;background:#e7f5ed;border-color:#b9dcc9}.pill.warn{color:#725616;background:#fff5dc;border-color:#ead08d}.pill.bad{color:#9a302b;background:#fde9e8;border-color:#efb7b3}.bottomGrid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;margin-top:14px;display:grid}.ingredientLookupPanel{background:#f8fafb;border:1px solid #cfd8df;border-radius:8px;margin-top:14px;padding:14px}.lookupControls{grid-template-columns:minmax(260px,420px) auto auto;align-items:center;gap:8px;display:grid}.ingredientResultGrid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:10px;margin-top:12px;display:grid}.ingredientCard{background:#fff;border:1px solid #d7e0e6;border-radius:7px;gap:9px;min-width:0;padding:10px;display:grid}.ingredientCardHead{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.ingredientCardHead div:first-child{gap:3px;min-width:0;display:grid}.ingredientCardHead b{color:#102d3a;font-size:14px}.ingredientCardHead span,.ingredientCardHead small{color:#53636c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ingredientFacts,.compositionList{flex-wrap:wrap;gap:5px;display:flex}.ingredientFacts{justify-content:flex-end;max-width:360px}.ingredientFacts span,.compositionList span,.matchedTerm{color:#314650;background:#f5f8fa;border:1px solid #d9e2e8;border-radius:5px;min-height:21px;padding:3px 6px;font-size:11px;line-height:1.2}.matchedTerm{color:#4b5c65;width:fit-content;max-width:100%}.miniTableWrap{border:1px solid #dce4ea;border-radius:6px;overflow:auto}.miniTable{border-collapse:collapse;width:100%;min-width:540px;font-size:12px}.miniTable th,.miniTable td{text-align:left;border-bottom:1px solid #e2e8ed;padding:6px 7px}.miniTable th{color:#273f4b;background:#edf4f7;font-weight:720}.importPanel{padding:14px}.importControls{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.compactControls{gap:7px}.filePicker{color:#43545e;cursor:pointer;background:#fff;border:1px dashed #9eb0bb;border-radius:7px;flex:340px;align-items:center;gap:9px;min-width:280px;min-height:38px;padding:0 12px;display:flex}.filePicker span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.filePicker input{display:none}.checkLine{color:#41525c;white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.checkLine input{width:16px;min-height:16px}.importResult{gap:10px;margin-top:12px;display:grid}.referenceImportBlock{border-top:1px solid #d7e0e6;margin-top:12px;padding-top:12px}.referenceImportBlock:first-of-type{border-top:0;margin-top:0;padding-top:0}.referenceImportTitle{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.referenceImportTitle strong{color:#273f4b;font-size:13px}.referenceImportTitle span{color:#6b7880;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.resultStats{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;display:grid}.warningBox{color:#604914;background:#fff8e7;border:1px solid #ead08d;border-radius:7px;gap:5px;padding:10px;font-size:12px;display:grid}.warningBox.error{color:#842d28;background:#fdecea;border-color:#efb7b3}.historyList{gap:8px;display:grid}.historyItem{background:#fff;border:1px solid #d7e0e6;border-radius:7px;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:54px;padding:8px 10px;display:grid}.historyItem small{color:#6e7b83;font-size:11px}.emptySmall{color:#687780;text-align:center;border:1px dashed #c3ced6;border-radius:7px;padding:16px;font-size:13px}.notice{color:#842d28;background:#fdecea;border:1px solid #efb7b3;border-radius:7px;align-items:center;gap:9px;min-height:42px;margin-bottom:12px;padding:8px 10px;display:flex}.notice.compact{margin:10px 0 0;font-size:12px}.notice button{background:0 0;border:0;width:30px;min-width:30px;height:30px;margin-left:auto;padding:0}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.workspace,.bottomGrid{grid-template-columns:1fr}.searchPane{max-height:none;position:static}}@media (width<=760px){.app{width:calc(100vw - 18px);padding-top:10px}.topbar,.selectionBand{flex-direction:column;align-items:stretch}.statusStrip,.actionGroup{justify-content:stretch}.statusStrip .metric,.actionGroup button,.importControls button{flex:auto}.rangeLine{grid-template-columns:1fr 1fr}.rangeLine span{grid-column:1/-1}.historyItem{grid-template-columns:72px minmax(0,1fr)}.historyItem small{grid-column:1/-1}.lookupControls,.ingredientCardHead{grid-template-columns:1fr}.lookupControls button,.ingredientFacts{justify-content:stretch;width:100%}.ingredientResultGrid{grid-template-columns:1fr}}
