:root{color-scheme:light;--bg:#f4f5ed;--card:#fffef9;--fg:#21392e;--muted:#5b7064;--line:#d8e1d6;--accent:#246747;--on:#fff;--soft:#e8eedf;--shadow:0 8px 24px #1d372807}
:root[data-theme=dark]{color-scheme:dark;--bg:#14201c;--card:#1d2d25;--fg:#edf3e8;--muted:#afc2b2;--line:#3b5144;--accent:#a6dfad;--on:#162c1e;--soft:#2d4434;--shadow:none}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,sans-serif}main{max-width:820px;margin:auto;padding:22px 20px calc(28px + env(safe-area-inset-bottom))}h1{font-size:clamp(36px,8vw,60px);line-height:1.07;letter-spacing:-.05em;margin:18px 0}h2{font-size:24px;line-height:1.2;margin:0 0 14px}h3{font-size:18px;margin:20px 0 10px}p{margin:12px 0}.brand{display:flex;align-items:center;gap:10px;padding:0 0 20px}.brand strong{font-size:19px;letter-spacing:-.03em}.brand small{display:block;color:var(--muted);font-size:12px}.brand>a{margin-left:auto;font-size:12px}.brand-icon{background:var(--accent);color:var(--on);border-radius:15px;display:grid;place-items:center;width:46px;height:46px;font-size:30px}.in-telegram .brand>a{display:none}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--accent)}a{color:var(--accent)}.card{background:var(--card);padding:24px;border:1px solid var(--line);border-radius:24px;margin:18px 0;box-shadow:var(--shadow)}.muted,#estimate-note,#recommend-note{color:var(--muted);font-size:14px}button,input,select,.button{font:inherit;border-radius:12px;max-width:100%;min-height:46px}input,select{width:100%;padding:11px 13px;background:var(--bg);color:var(--fg);border:1px solid var(--line)}button,.button{border:1px solid transparent;background:var(--accent);color:var(--on);padding:11px 16px;font-weight:650;cursor:pointer;text-decoration:none;display:inline-block;margin:4px 4px 4px 0}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}label{display:grid;gap:7px;margin:15px 0;font-size:14px;font-weight:550}input[type=checkbox]{width:23px;min-height:23px;accent-color:var(--accent)}label:has(input[type=checkbox]){grid-template-columns:25px 1fr;align-items:start}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row label{margin:8px 0}#app-nav{display:flex;gap:5px;overflow-x:auto;position:sticky;top:0;background:var(--bg);z-index:5;padding:9px 0;margin:0 -2px}#app-nav button{flex:none;background:transparent;color:var(--muted);font-size:14px;padding:10px 13px;margin:0}#app-nav button[aria-current=page]{background:var(--fg);color:var(--bg)}#app-toolbar{display:flex;justify-content:flex-end}#app-toolbar label{margin:8px 0;display:flex;align-items:center;color:var(--muted)}#app-toolbar input{width:auto;max-width:200px;background:var(--card)}#total{font-size:36px;letter-spacing:-.04em;display:block}#daily-goal{font-size:21px;font-weight:650}#encouragement{padding:14px;background:var(--soft);border-radius:14px}#entries{list-style:none;padding:0}#entries li{padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}#entries button,#food-results button,#recipes button,#shared-plan button,#family-plan button,#family-members button{font-size:13px;min-height:42px}#entries button{background:var(--soft);color:var(--fg)}article,#food-results>p,#shared-plan>p{border:1px solid var(--line);padding:16px;border-radius:17px;margin:12px 0;overflow-wrap:anywhere}article h3{margin-top:0}#weight-history{color:var(--muted)}#form>button,#food-save{margin-top:12px}#cancel-edit,#food-save{background:var(--soft);color:var(--fg)}#status,#food-status,#family-status,#product-status,#shared-status,#profile-status,#ingredient-status{overflow-wrap:anywhere;color:var(--accent)}#welcome{padding:32px}#welcome>p{max-width:520px}#camera-panel{padding:10px;background:var(--soft);border-radius:16px;margin-top:12px}
@media(max-width:460px){main{padding:16px 14px 28px}.card{padding:20px;border-radius:20px}.brand strong{font-size:18px}.row{grid-template-columns:1fr}#app-nav button{padding:10px 11px}#welcome{padding:24px}button{font-size:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:460px){#app-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}#app-nav button{padding:9px 4px;font-size:13px;min-height:42px}#app-nav button[aria-current=page]{border-radius:11px}}

#app-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}#app-nav button{min-width:0;padding:10px 4px}#app-toolbar{gap:12px;flex-wrap:wrap;justify-content:space-between}#scope-label{display:grid!important;gap:5px}#scope-label[hidden]{display:none!important}#scope-label select{max-width:230px}#scope-status,#shopping-status,#plan-food-status{color:var(--accent);overflow-wrap:anywhere}@media(max-width:460px){#app-nav{grid-template-columns:repeat(4,minmax(0,1fr))}#app-nav button{font-size:12px}}
#fridge-scanner{width:min(580px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:24px;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:24px}#fridge-scanner::backdrop{background:#10281f99}

.nutrition-rings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:520px;margin:20px auto}.nutrient-ring{position:relative;aspect-ratio:1;min-width:0;--ring-color:var(--accent)}.nutrient-kcal{grid-column:1/-1;width:min(100%,240px);justify-self:center}.nutrient-protein{--ring-color:#518ac0}.nutrient-fat{--ring-color:#bd8540}.nutrient-carbs{--ring-color:#8b72b3}.nutrient-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.nutrient-ring circle{fill:none;stroke-width:7}.ring-track{stroke:var(--line)}.ring-value{stroke:var(--ring-color);stroke-linecap:round;stroke-dasharray:0 100;transition:stroke-dasharray .35s}.ring-content{position:absolute;inset:12%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.35}.ring-content span{font-size:12px;color:var(--muted)}.ring-content strong{font-size:clamp(15px,3vw,22px);white-space:nowrap}.ring-content small{font-size:10px;color:var(--muted)}.nutrient-kcal .ring-content strong{font-size:30px}.nutrient-kcal .ring-content span,.nutrient-kcal .ring-content small{font-size:14px}#daily-goal.ring-summary{text-align:center;font-size:17px}#macro-missing{text-align:center;font-size:13px;color:var(--muted)}@media(prefers-reduced-motion:reduce){.ring-value{transition:none}}

.ecosystem-nav{flex-wrap:wrap}[data-kompas-theme]{font:inherit;font-size:12px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:9px;padding:5px 9px;min-height:34px}
