: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:not([data-theme]){--bg:#111318;--panel:#191c22;--text:#f1f3f5;--muted:#aab1bc;--line:#303641;--accent:#72d5a6;--chip:#20352d;--good:#72d5a6;--shadow:none}}
:root[data-theme="dark"]{--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{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}.titleActions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.themeToggle{padding:8px 11px;font-size:14px} .newSearch{text-decoration:none;font-weight:650} .meta{color:var(--muted);margin-bottom:6px}.priceLegend{margin:0 0 12px;color:var(--muted);font-size:13px}.priceLegend span{color:var(--good)} #q{width:100%;margin-bottom:8px}.controls{display:grid;grid-template-columns:minmax(180px,1fr) 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}
.filterBox summary,.loyaltyBox summary,.keywordBox summary{cursor:pointer;font-weight:700}.filterBox summary span{float:right;color:var(--accent);font-size:13px}.filterBox[open] summary span{display:none}.filterBox .controls{margin-top:10px}.loyaltyBox,.keywordBox{margin:10px 0;background:var(--panel);border:1px solid var(--line);border-radius:12px}.loyaltyBox summary,.keywordBox summary{display:grid;grid-template-columns:1fr auto;gap:2px 12px}.loyaltySummary,.keywordBox summary span:last-child{font-size:13px;font-weight:400;color:var(--muted)}.loyaltyBox .changeLabel{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent);font-size:13px}.loyaltyBox[open] .changeLabel{display:none}.loyaltyBody,.keywordBody{padding-top:10px}.loyaltyHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.loyaltyTitle{font-weight:700}.loyaltyActions,.keywordActions{display:flex;gap:6px;flex-wrap:wrap}.loyaltyActions button,.keywordActions button,.buttonLabel{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}.keywordBox form,.keywordRow{display:flex;gap:7px;margin:7px 0}.keywordBox form input,.keywordRow input{flex:1;min-width:0}.keywordRow button{min-width:44px}.buttonLabel{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;cursor:pointer}.buttonLabel input{display:none}
.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}
.marketBox summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.marketBox ul{margin:8px 0 0;padding-left:22px}.marketBox li+li{margin-top:5px}.marketChange{font-weight:650}
.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(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{padding-top:0}.controls{grid-template-columns:1fr}.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}.price::before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;font-weight:500;line-height:1.2}.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:not([data-theme]){color-scheme:dark;--overlay:rgba(17,19,24,.94)}}:root[data-theme="dark"]{color-scheme:dark;--overlay:rgba(17,19,24,.94)}
.mainTabs{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}
.retailerHint{margin-top:10px}.keywordControl{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.keywordControl label{display:flex;align-items:center;gap:7px}.keywordControl input{padding:0}.keywordControl button span{display:block;font-size:11px;color:var(--muted)}.keywordDialog{width:min(92vw,680px);height:auto;max-height:85vh;padding:18px}.keywordDialog h2{position:static;max-width:none;margin:0}.keywordDialog .keywordBody{overflow:auto}.keywordDialog form,.keywordRow{display:flex;gap:7px;margin:7px 0}.keywordDialog form input,.keywordRow input{flex:1;min-width:0}@media(max-width:700px){.keywordControl{align-items:stretch;flex-direction:column}.keywordControl button{width:100%}}
