.app-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;justify-content:space-between;background:var(--tangerine-soft);border:1px solid var(--tangerine);border-radius:var(--radius);padding:.8rem 1.2rem;margin-bottom:1.4rem;font-weight:700}.app-banner--mine{background:var(--green-soft);border-color:var(--green);color:var(--green-deep)}.app-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.4rem}.app-lower{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:1.4rem}@media(max-width:900px){.app-grid,.app-lower{grid-template-columns:1fr}}.card h3{margin-top:0}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}.chip{font-family:var(--font-body);font-size:.92rem;font-weight:700;background:var(--green-soft);color:var(--green-deep);border:1px solid transparent;border-radius:999px;padding:.42rem .95rem;cursor:pointer;transition:transform .1s ease,background .12s ease}.chip:hover{transform:translateY(-1px);background:#d3e6cf}.chip--custom{background:var(--tangerine-soft);color:var(--tangerine-deep)}.chips__label{width:100%;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);font-weight:700}.search-box{position:relative}.search-box input{width:100%;font-family:var(--font-body);font-size:1.05rem;padding:.7rem 1rem;border:2px solid var(--line);border-radius:var(--radius-small);background:var(--paper);color:var(--ink)}.search-box input:focus{border-color:var(--green);outline:none}.results{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:2px}.results li button{width:100%;display:flex;justify-content:space-between;gap:.75rem;text-align:left;background:none;border:none;border-radius:var(--radius-small);padding:.5rem .7rem;font-family:var(--font-body);font-size:.98rem;cursor:pointer;color:var(--ink)}.results li button:hover,.results li button.active{background:var(--green-soft)}.result-macros{color:var(--ink-faint);font-size:.85rem;white-space:nowrap}.portion-panel{margin-top:.9rem;border-top:2px solid var(--line);padding-top:.9rem}.portion-panel__food{font-weight:700;margin-bottom:.15rem}.portion-panel__macros{color:var(--ink-soft);font-size:.92rem;margin-bottom:.7rem}.portion-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.7rem}.grams-input{width:5.2em;font-family:var(--font-display);font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;padding:.35rem .6rem;border:2px solid var(--line);border-radius:var(--radius-small);background:var(--paper);color:var(--ink)}.grams-input:focus{border-color:var(--tangerine);outline:none}.preset-btn{font-family:var(--font-body);font-weight:700;font-size:.88rem;border:1px solid var(--line);background:var(--paper-raised);color:var(--ink-soft);border-radius:999px;padding:.32rem .8rem;cursor:pointer}.preset-btn:hover{border-color:var(--green);color:var(--green-deep)}.custom-form{display:grid;gap:.5rem;margin-top:.7rem}.custom-form .macro-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.custom-form input{width:100%;padding:.45rem .6rem;border:2px solid var(--line);border-radius:var(--radius-small);font-family:var(--font-body)}.custom-form label{font-size:.82rem;font-weight:700;color:var(--ink-soft)}.day-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.day-nav{display:flex;align-items:center;gap:.4rem}.day-nav button{border:1px solid var(--line);background:var(--paper-raised);border-radius:999px;width:2.1rem;height:2.1rem;font-size:1.05rem;cursor:pointer;color:var(--ink)}.day-summary{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-bottom:1.2rem}.macro-tiles{display:flex;flex-wrap:wrap;gap:.9rem 1.4rem}.day-nav button:disabled{opacity:.35;cursor:default}.day-nav .day-label{font-family:var(--font-display);font-weight:700;min-width:6.5em;text-align:center}.ring-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.ring-center .big-number{font-size:1.7rem;line-height:1}.ring-center .ring-sub{font-size:.72rem;color:var(--ink-faint);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.macro-tiles{display:grid;grid-template-columns:repeat(3,auto);gap:.9rem}.macro-tile .big-number{font-size:1.35rem}.macro-tile .macro-name{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.meal-group{margin-bottom:1rem}.meal-group h4{margin:0 0 .35rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}.entry-list{list-style:none;margin:0;padding:0}.entry-list li{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.42rem .55rem;border-radius:var(--radius-small)}.entry-list li:hover{background:var(--paper-dim)}.entry-list li.pop{animation:entry-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes entry-pop{0%{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}.entry-main{cursor:pointer;border:none;background:none;font-family:var(--font-body);text-align:left;color:var(--ink);padding:0;font-size:.98rem}.entry-main:hover{color:var(--green-deep);text-decoration:underline}.entry-kcal{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.entry-remove{border:none;background:none;color:var(--ink-faint);cursor:pointer;font-size:1rem;padding:0 .2rem}.entry-remove:hover{color:var(--red)}.entry-empty{color:var(--ink-faint);font-style:italic;font-size:.92rem}.goal-row{display:flex;align-items:center;gap:.6rem;margin-top:.6rem;font-size:.92rem;color:var(--ink-soft)}.goal-row input{width:5.5em;padding:.3rem .5rem;border:2px solid var(--line);border-radius:var(--radius-small);font-family:var(--font-display);font-weight:700}.strip{display:flex;gap:4px;align-items:flex-end;height:74px;margin-bottom:.5rem}.strip button{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;background:none;border:none;padding:0;cursor:pointer}.strip .bar{width:100%;border-radius:3px 3px 0 0;background:var(--green);min-height:3px;transition:height .3s ease}.strip .bar.over{background:var(--tangerine)}.strip .bar.empty{background:var(--line)}.strip button.selected .bar{outline:2px solid var(--ink);outline-offset:1px}.strip-caption{display:flex;justify-content:space-between;font-size:.78rem;color:var(--ink-faint)}.lock-overlay{text-align:center;padding:1.6rem .8rem}.lock-overlay p{color:var(--ink-soft)}.insight-tabs{display:flex;gap:.5rem;margin-bottom:.9rem}.chart-svg{width:100%;height:auto;display:block}.streak-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--tangerine-soft);color:var(--tangerine-deep);font-weight:700;border-radius:999px;padding:.35rem .95rem;margin-bottom:.9rem}.data-actions{display:grid;gap:.7rem}.import-summary{margin-top:.8rem;background:var(--paper-dim);border-radius:var(--radius-small);padding:.7rem .9rem;font-size:.92rem}.data-note{font-size:.85rem;color:var(--ink-faint)}dialog.activate-dialog{border:none;border-radius:var(--radius);box-shadow:0 18px 60px #28281440;padding:1.8rem;width:min(430px,calc(100vw - 2rem))}dialog.activate-dialog::backdrop{background:#24301f73}.activate-status{margin-top:.8rem;font-weight:700;font-size:.95rem}.activate-status.ok{color:var(--green-deep)}.activate-status.warn{color:var(--tangerine-deep)}.activate-status.err{color:var(--red)}.activate-dialog input[type=text]{width:100%;padding:.6rem .8rem;border:2px solid var(--line);border-radius:var(--radius-small);font-family:var(--font-display);font-size:1.1rem;letter-spacing:.04em;margin-top:.4rem}.checkout-note{margin-top:.8rem}
