:root{--bg:#f4f7f5;--panel:#fff;--text:#14201b;--muted:#63716a;--line:#dce5e0;--accent:#116149;--chip:#e4f2eb;--good:#116149;--shadow:0 8px 28px rgba(17,97,73,.08)}
@media(prefers-color-scheme:dark){:root{--bg:#111318;--panel:#191c22;--text:#f1f3f5;--muted:#aab1bc;--line:#303641;--accent:#72d5a6;--chip:#20352d;--good:#72d5a6;--shadow:none}}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.wrap{max-width:1600px;margin:auto;padding:18px} .top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);padding:4px 0 12px}
h1{font-size:25px;margin:0} .titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px} .newSearch{text-decoration:none;font-weight:650} .meta{color:var(--muted);margin-bottom:12px} .controls{display:grid;grid-template-columns:minmax(220px,2fr) minmax(170px,1fr);gap:8px}
input,select,button{font:inherit;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:10px 12px} button{cursor:pointer} .chips{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 2px} .viewTabs{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 2px} .viewTab{border:1px solid var(--line);border-radius:999px;padding:7px 11px;background:var(--panel)} .viewTab.active{border-color:var(--accent);background:var(--chip);font-weight:650}
.chip{border:1px solid var(--line);border-radius:999px;padding:7px 11px;background:var(--panel)} .chip.active{border-color:var(--accent);background:var(--chip);font-weight:650}
.loyaltyBox{margin:10px 0;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px} .loyaltyHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px} .loyaltyTitle{font-weight:700} .loyaltyActions{display:flex;gap:6px} .loyaltyActions button{padding:5px 9px;font-size:12px} .loyaltyPrograms{display:flex;flex-wrap:wrap;gap:7px 12px} .loyaltyPrograms label{display:flex;align-items:center;gap:6px;cursor:pointer} .loyaltyPrograms input{padding:0} .loyaltyNote{margin-top:7px;color:var(--muted);font-size:13px}
.stats{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);margin:10px 0} details{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin:10px 0}
.table{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)} .row{display:grid;grid-template-columns:72px 125px minmax(260px,2fr) 105px 145px minmax(150px,1fr) 120px;gap:12px;align-items:center;padding:10px 12px;border-top:1px solid var(--line)} .table.single-retailer .row{grid-template-columns:72px minmax(260px,2fr) 105px 145px minmax(150px,1fr) 120px} .table.single-retailer .retailer{display:none}
.row.head{font-weight:700;border-top:0;color:var(--muted);background:color-mix(in srgb,var(--panel) 88%,var(--bg))} .thumb{width:60px;height:60px;object-fit:contain;border-radius:8px;background:#fff} .price{font-size:17px;font-weight:750} .price.best{color:var(--good)} .selectedPrice.saving{color:var(--good)} .product{font-weight:650} .small{font-size:13px;color:var(--muted)} .priceNote{margin-top:3px;max-width:180px;white-space:normal} .savingText{color:var(--good);font-size:13px;font-weight:650}
#sentinel{text-align:center;color:var(--muted);padding:22px} .error{color:#b42318} a{color:var(--accent)}
@media(max-width:980px){.controls{grid-template-columns:1fr 1fr} .controls input{grid-column:1/-1} .row.head{display:none} .row{grid-template-columns:64px 1fr 105px;align-items:start} .table.single-retailer .row{grid-template-columns:64px 1fr 105px} .row .retailer{grid-column:2} .row .productblock{grid-column:2/-1} .row .regularPrice{grid-column:3;grid-row:1} .row .selectedPrice{grid-column:3;grid-row:2} .row .details{grid-column:2/-1} .row .validity{grid-column:2/-1}}
.controls{grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) minmax(170px,1fr)}
.categoryLabel{display:inline-block;margin:4px 0 2px;padding:2px 7px;border-radius:999px;background:var(--chip);color:var(--accent);font-size:12px;font-weight:650}
@media(max-width:980px){.controls{grid-template-columns:1fr 1fr}.controls input{grid-column:1/-1}}
@media(max-width:700px){.wrap{padding:12px}.top{position:static;backdrop-filter:none;background:transparent;padding-top:0}.controls{grid-template-columns:1fr}.controls input{grid-column:auto}.chips,.viewTabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-bottom:4px}.chip,.viewTab{flex:0 0 auto}.loyaltyPrograms{max-height:160px;overflow:auto}.row,.table.single-retailer .row{grid-template-columns:54px minmax(0,1fr) 88px;gap:8px;padding:10px 8px}.thumb{width:48px;height:48px}.productblock{overflow-wrap:anywhere}.price{font-size:15px}.newSearch{padding:8px 0;min-height:44px;display:flex;align-items:center}}
:root{color-scheme:light;--overlay:rgba(244,247,245,.92)}
body{background:linear-gradient(var(--overlay),var(--overlay)),url('/static/korb-bg.svg') center/cover fixed,var(--bg)}
.imageButton{border:0;padding:0;background:transparent;border-radius:8px;display:block}.imageButton:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.modalOpen{overflow:hidden}dialog{width:min(94vw,1100px);height:min(92vh,900px);border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);padding:50px 16px 16px}dialog::backdrop{background:rgba(0,0,0,.78)}dialog img{display:block;width:100%;height:calc(100% - 38px);object-fit:contain;touch-action:auto}dialog h2{position:absolute;left:18px;top:12px;margin:0;max-width:calc(100% - 80px);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#lightboxClose{position:absolute;right:12px;top:8px;font-size:26px;line-height:1;padding:6px 11px}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--overlay:rgba(17,19,24,.94)}}
.mainTabs{position:sticky;top:0;z-index:30;display:flex;justify-content:center;gap:8px;padding:8px;background:var(--panel);border-bottom:1px solid var(--line)}.mainTab.active{background:var(--chip);border-color:var(--accent);font-weight:700}.shoppingAdd{min-height:44px}
