/* Shared feedback and food form; existing theme tokens remain authoritative. */
#nt {display:flex;align-items:center;gap:12px;max-width:min(420px,calc(100vw - 32px));width:max-content;left:50%;right:auto;bottom:calc(90px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:var(--card);color:var(--t);border:1px solid var(--line);padding:14px 18px;border-radius:16px;pointer-events:none;z-index:12000;font-size:14px;line-height:1.4;box-shadow:0 10px 40px #0002}
#nt {top:auto;margin:0;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
#nt.on {transform:translate(-50%,0);opacity:1;visibility:visible}
.jf-toast-icon {display:grid;place-items:center;min-width:26px;height:26px;background:var(--soft);border-radius:50%;font-weight:800}
#nt[data-tone=success] .jf-toast-icon {color:var(--g)}
#nt[data-tone=error] .jf-toast-icon {color:var(--r)}
.jf-save-error {padding:12px;border:1px solid var(--r);border-radius:10px;color:var(--t);font-size:14px;line-height:1.5}
[aria-invalid=true] {outline:2px solid var(--r)!important}
.jf-portion-controls {display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin:16px 0}
#fr:has(.jf-e2-food-selected) {max-height:none;overflow:visible}
.jf-portion-controls label {font-size:13px;font-weight:650;min-width:0}
.jf-portion-controls input,.jf-portion-controls select {width:100%;min-height:46px;margin-top:6px}
.jf-portion-hint {font-size:12px;color:var(--t2);line-height:1.6}
.jf-sync-detail {font-size:13px;color:var(--t2);display:block;margin-top:12px}
.jf-confirm {background:var(--card);color:var(--t);border:1px solid var(--line);border-radius:22px;padding:26px;max-width:min(440px,calc(100vw - 32px));margin:auto}
.jf-confirm::backdrop {background:#10151bb8}
.jf-confirm h2 {margin:0 0 14px;font-size:22px}.jf-confirm p {font-size:15px;line-height:1.6;margin-bottom:22px}.jf-confirm button {margin-right:8px;min-height:44px}
#sy:not([data-s=offline]):not([data-s=error]):not([data-s=invalid]) {display:none!important}
@media(min-width:960px){#nt{bottom:28px}}
@media(prefers-reduced-motion:reduce){#nt{transition:none}}
