:root{--bg:#101812;--panel:#1a2820;--border:#2e4436;--text:#e8efe8;--muted:#a7b8ab;--accent:#6fce8f;--bra:#6fce8f;--ok:#e0c568;--begrens:#e07a86}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Avenir Next,Segoe UI,system-ui,sans-serif}.container{max-width:560px;margin:0 auto;padding:32px 20px 96px}.eyebrow{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:#8fb89a}h1{font-family:Georgia,serif;font-weight:500;font-size:32px;margin:6px 0 20px}.inputrow{display:flex;gap:10px}input{flex:1 1;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 16px;font-size:16px;color:var(--text);outline:none}button{background:var(--accent);color:var(--bg);border:none;border-radius:12px;padding:0 20px;font-size:15px;font-weight:600;cursor:pointer}.searchbar{display:flex;align-items:center;gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:5px 7px;transition:border-color .15s ease}.searchbar:focus-within{border-color:var(--accent)}.searchbar input{flex:1 1;min-width:0;background:none;border:none;border-radius:0;padding:11px 4px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbar input::-webkit-search-cancel-button{display:none}.searchbar-icon{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;border-radius:50%;color:var(--muted);cursor:pointer}.searchbar-icon:focus-visible{outline:2px solid var(--accent)}.searchbar-icon.camera{color:var(--accent)}.searchbar-divider{flex:none;width:1px;height:24px;background:var(--border)}.muted{color:var(--muted)}.small{font-size:13px;display:block}.error{color:var(--begrens)}.card{margin-top:22px;border-radius:16px;padding:20px 22px;border:1px solid var(--border);background:var(--panel)}.card.bra{background:#1f4d2e;border-color:#2e7045}.card.ok{background:#4d3f1f;border-color:#70602e}.card.begrens{background:#4d1f24;border-color:#702e36}.cardtop{display:flex;align-items:center;gap:10px}.dot{width:12px;height:12px;border-radius:50%;flex:none}.bra .dot{background:var(--bra)}.ok .dot{background:var(--ok)}.begrens .dot{background:var(--begrens)}.ratinglabel{font-size:13px;letter-spacing:.12em;text-transform:uppercase}.bra .ratinglabel{color:var(--bra)}.ok .ratinglabel{color:var(--ok)}.begrens .ratinglabel{color:var(--begrens)}.nova{margin-left:auto;font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:#c3d2c6}.nova-red{border-color:var(--begrens);color:var(--begrens)}.card h2{font-family:Georgia,serif;font-weight:500;font-size:21px;margin:10px 0}.kort{font-weight:600;margin:0 0 8px}.forklaring{color:#d5e0d7;margin:0 0 12px;line-height:1.55}.tips{margin:0;font-size:14px}.bra .tips{color:var(--bra)}.ok .tips{color:var(--ok)}.begrens .tips{color:var(--begrens)}.altbtn{width:100%;margin-top:14px;padding:12px;background:transparent;color:var(--text);border:1px solid var(--border)}.altlist,.altsempty{margin:14px 0 0}.altlist{list-style:none;padding:0}.altlist li+li{margin-top:8px}.altitem{width:100%;text-decoration:none;display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:12px 14px;background:var(--panel);color:var(--text);border:1px solid var(--border)}.altitem .small{color:var(--accent);font-weight:400}.altname{display:flex;align-items:center;gap:8px}.dot.bra{background:var(--bra)}.dot.ok{background:var(--ok)}.suggestions{margin-top:28px}.suggestions-title{font-family:Georgia,serif;font-weight:500;font-size:18px;margin:0 0 12px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--panel);color:var(--text);border:1px solid var(--border);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer}.chip .dot{width:9px;height:9px}.detaillink{margin-top:14px;color:var(--text);font-weight:600}.backlink,.detaillink{display:inline-block;text-decoration:none;font-size:14px}.backlink{margin-bottom:16px;color:var(--muted)}.produkthead{display:flex;gap:16px;align-items:center}.produkthead h1{margin-bottom:4px}.produkthead p{margin:0}.produktbilde{width:96px;height:96px;object-fit:contain;flex:none;border-radius:16px;background:#fff;padding:8px}.detailsection{margin-top:26px}.detailsection h2{font-family:Georgia,serif;font-weight:500;font-size:20px;margin:0 0 10px}.nutritable{width:100%;border-collapse:collapse;font-size:14px}.nutritable td{padding:9px 0;border-bottom:1px solid var(--panel)}.nutritable td:last-child{text-align:right;color:var(--muted)}.ingredients-text,details.ingredients p{color:#d5e0d7;font-size:14px;line-height:1.55;margin:0}details.ingredients summary{cursor:pointer;color:var(--accent);font-size:14px;margin-bottom:8px}.pricelist{list-style:none;padding:0;margin:0;font-size:14px}.pricelist li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--panel)}.pricebadge{background:var(--accent);color:var(--bg);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;margin-left:8px}.refreshbtn{width:100%;padding:12px;background:var(--panel);color:var(--text);border:1px solid var(--border)}.historylist{list-style:none;padding:0;margin:0}.historylist li{border-bottom:1px solid var(--panel)}.historyrow{display:flex;align-items:center;gap:12px;padding:12px 0;color:var(--text);text-decoration:none}.historyrow .small{display:block}.countbadge{margin-left:auto;flex:none;font-size:12px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:2px 9px}.weeksummary{margin-bottom:22px}.weekbar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--panel)}.weekbar .seg.bra{background:var(--bra)}.weekbar .seg.ok{background:var(--ok)}.weekbar .seg.begrens{background:var(--begrens)}.weeknumbers{margin:8px 0 0}.bottomnav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:var(--panel);border-top:1px solid var(--border);padding:14px 0 max(14px,env(safe-area-inset-bottom))}.bottomnav a{color:var(--text);text-decoration:none;font-weight:600}.installbanner{position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:12px;max-width:536px;margin:0 auto;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.4)}.installbanner img{border-radius:10px;flex:none}.installbanner-text{flex:1 1;display:flex;flex-direction:column;gap:2px}.installbanner button{padding:10px 16px;flex:none}.installbanner-close{background:none;color:var(--muted);padding:6px;font-size:14px}.scanner-overlay{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}#scanner{width:min(92vw,480px)}.scanner-close{background:var(--panel);color:var(--text);padding:12px 28px}.scanner-error{max-width:320px;text-align:center;line-height:1.5}