:root{
  color-scheme:dark;
  --bg:#090d12;
  --surface:#11171f;
  --surface2:#18212b;
  --text:#f3f7fa;
  --muted:#91a0ad;
  --accent:#35d0ad;
  --accent2:#22b997;
  --good:#45d392;
  --warn:#f5b95f;
  --bad:#ff7474;
  --border:#25313d;
  --shadow:0 12px 36px rgba(0,0,0,.22);
  --radius:16px;
  --topbar:58px;
  --tabbar:70px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.4;
}
body.has-mobile-tabs{padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom))}
a{color:var(--accent);text-decoration:none}
button,input,select,textarea{font-family:inherit}
button,a{-webkit-tap-highlight-color:transparent}

.topbar{
  position:sticky;
  top:0;
  z-index:40;
  min-height:var(--topbar);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 14px;
  background:rgba(9,13,18,.94);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(12px);
}
.brand{display:flex;align-items:center;gap:9px;font-weight:850;color:var(--text);font-size:1.02rem;min-width:0}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:var(--accent);color:#fff;font-size:.84rem}
.nav-toggle{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--text);
  font-size:1.55rem;
  cursor:pointer;
}
.nav-toggle:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(23,107,91,.22);
  outline-offset:2px;
}

.nav{
  display:none;
  position:absolute;
  top:calc(var(--topbar) - 1px);
  left:0;
  right:0;
  background:var(--surface);
  border-bottom:1px solid var(--border);
  box-shadow:0 16px 32px rgba(24,45,52,.12);
  padding:10px 14px 16px;
}
.nav.open{display:block}
.nav a,.nav-link-button{
  display:flex;
  align-items:center;
  width:100%;
  min-height:48px;
  padding:0 12px;
  border:0;
  border-radius:10px;
  background:none;
  color:var(--text);
  font:inherit;
  font-weight:700;
  cursor:pointer;
  text-align:left;
}
.nav a.active{background:var(--surface2);color:var(--accent)}
.nav form{margin:4px 0 0;border-top:1px solid var(--border);padding-top:4px}

.container{width:100%;max-width:1180px;margin:0 auto;padding:16px 12px 30px}
.footer{padding:18px 12px;color:var(--muted);text-align:center;font-size:.78rem}

h1{font-size:1.72rem;line-height:1.08;margin:0 0 6px}
h2{font-size:1.08rem;line-height:1.2;margin:0 0 14px}
h3{font-size:1rem;margin:0 0 8px}
.subtle{color:var(--muted)}
.page-head{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.foods-page-head{flex-direction:row;align-items:flex-start;justify-content:space-between}
.foods-page-head>div:first-child{min-width:0}
.page-head .actions{width:100%}

.grid{display:grid;gap:12px}
.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3,.grid-2{grid-template-columns:1fr}

.card{
  min-width:0;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:15px;
}
.card.compact{padding:13px}

.metric{padding:13px}
.metric .label{font-size:.78rem;color:var(--muted);font-weight:800}
.metric .value{font-size:1.35rem;font-weight:850;margin-top:4px;overflow-wrap:anywhere}
.metric .remaining{font-size:.78rem;margin-top:3px;color:var(--accent)}
.progress{height:8px;background:#222d38;border-radius:999px;overflow:hidden;margin-top:10px}
.progress>span{display:block;height:100%;background:var(--accent);border-radius:inherit;max-width:100%}

.section{margin-top:14px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.section-head h2{margin:0}
.section-head>a{font-size:.88rem;font-weight:700;white-space:nowrap}

.btn{
  appearance:none;
  min-height:48px;
  border:0;
  border-radius:12px;
  background:var(--accent);
  color:#fff;
  padding:10px 15px;
  font-size:.98rem;
  font-weight:800;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.btn.secondary{background:var(--surface2);color:var(--text)}
.btn.danger{background:#3a2025;color:#ff9696}
.btn.small{min-height:42px;padding:8px 11px;font-size:.86rem}
.btn.block{width:100%}
@media(hover:hover) and (pointer:fine){.btn:hover{background:var(--accent2)}}

input,select,textarea{
  width:100%;
  min-height:48px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 12px;
  background:#0d131a;
  color:var(--text);
  font-size:16px;
}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:3px solid rgba(23,107,91,.12)}
input[type="checkbox"],input[type="radio"]{width:22px;height:22px;min-height:22px;flex:0 0 22px}
label{display:block;font-size:.86rem;font-weight:800;margin-bottom:6px}
.field{margin-bottom:14px}
.form-grid{display:grid;grid-template-columns:1fr;gap:12px}
.form-grid .field{margin:0}
.form-actions{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.form-actions>.btn,.form-actions>a{width:100%}

.quick-food{
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px;
  gap:9px;
  align-items:end;
  padding:13px 0;
  border-bottom:1px solid var(--border);
}
.quick-food:last-child{border-bottom:0}
.quick-food>div:first-of-type{grid-column:1/-1;min-width:0}
.quick-food strong{display:block;font-size:1rem;overflow-wrap:anywhere}
.quick-food small{display:block;color:var(--muted);margin-top:2px}
.quick-food .btn{width:92px}
.quick-food input{text-align:center;font-weight:800}

.actions{display:flex;gap:8px;flex-wrap:wrap}
.page-head .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.page-head .actions form,.page-head .actions input,.page-head .actions .btn{width:100%}
.inline-form{display:flex;gap:8px;align-items:center}
.inline-form input{width:100px}

.table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
}
table{border-collapse:collapse;width:100%;min-width:620px;background:var(--surface)}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#151e27}
tr:last-child td{border-bottom:0}
.num{text-align:right}

.mobile-list{display:grid;gap:9px}
.mobile-row{border:1px solid var(--border);border-radius:13px;background:var(--surface);padding:12px}
.mobile-row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.mobile-row-title{font-weight:850;min-width:0;overflow-wrap:anywhere}
.mobile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.mobile-stat{background:var(--surface2);border-radius:10px;padding:8px}
.mobile-stat b{display:block;font-size:.93rem}
.mobile-stat span{display:block;font-size:.68rem;color:var(--muted);margin-top:2px}
.mobile-row-actions{display:flex;gap:8px;margin-top:10px}
.mobile-row-actions .btn{flex:1}

.desktop-only{display:none}
.mobile-only{display:block}

.flash{padding:12px 14px;border-radius:12px;margin-bottom:14px;border:1px solid;font-size:.92rem}
.flash.success{background:#122d24;border-color:#23543f;color:#7ce0ae}
.flash.error{background:#331c22;border-color:#63303b;color:#ff9da8}

.auth-shell{width:100%;max-width:460px;margin:18px auto}
.auth-shell .brandline{text-align:center;margin-bottom:12px}
.auth-shell h1{text-align:center;font-size:2rem}
.auth-shell .subtle{text-align:center;margin-bottom:20px}
.auth-shell .card{padding:20px 16px}

.pill{display:inline-flex;align-items:center;padding:5px 9px;background:var(--surface2);border-radius:999px;font-size:.76rem;color:var(--muted)}
.kpi-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mini-kpi{min-width:0;background:var(--surface2);border-radius:11px;padding:10px}
.mini-kpi b{display:block;font-size:1.05rem;overflow-wrap:anywhere}
.mini-kpi span{font-size:.72rem;color:var(--muted)}
.body-highlight{display:flex;justify-content:space-between;gap:12px;align-items:center}
.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.delta.neutral{color:var(--muted)}
.chart{width:100%;height:180px;display:block}
.empty{padding:24px 16px;text-align:center;color:var(--muted);background:var(--surface2);border-radius:13px}
hr{border:0;border-top:1px solid var(--border);margin:18px 0}

.muscle-layout{display:grid;grid-template-columns:1fr;gap:12px}
.diagram-grid{display:grid;grid-template-columns:1fr;gap:10px}
.diagram-grid img{display:block;width:100%;max-height:560px;object-fit:contain;background:#e9eef0;border:1px solid var(--border);border-radius:14px;padding:8px}
.card-grid{display:grid;grid-template-columns:1fr;gap:10px}
.muscle-card{display:block;padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text)}
.muscle-card h3{margin:0 0 6px}
.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.tag{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#1c2932;color:#b9cbc9;font-size:.73rem;font-weight:750}
.schedule-day{padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}
.schedule-list{margin:8px 0 0 18px;padding:0}
.exercise-table td small{display:block;color:var(--muted)}

/* Fixed bottom navigation for the phone-first experience */
.mobile-tabbar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:50;
  height:calc(var(--tabbar) + env(safe-area-inset-bottom));
  padding:6px 4px calc(6px + env(safe-area-inset-bottom));
  display:grid;
  grid-template-columns:repeat(5,1fr);
  background:rgba(9,13,18,.97);
  border-top:1px solid var(--border);
  box-shadow:0 -8px 24px rgba(24,45,52,.08);
}
.mobile-tabbar a{
  min-width:0;
  min-height:56px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:2px;
  color:var(--muted);
  border-radius:10px;
  font-size:.66rem;
  font-weight:750;
}
.mobile-tabbar a.active{color:var(--accent);background:rgba(53,208,173,.11)}
.tab-icon{font-size:1.25rem;line-height:1}

@media(min-width:700px){
  body.has-mobile-tabs{padding-bottom:0}
  .container{padding:24px 20px 46px}
  .topbar{min-height:64px;padding:0 22px}
  .brand{font-size:1.08rem}
  .brand-mark{width:40px;height:40px;flex-basis:40px}
  h1{font-size:2.15rem}
  .page-head{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
  .page-head .actions{width:auto;display:flex}
  .page-head .actions form{width:auto}
  .page-head .actions input{width:auto}
  .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card{padding:20px}
  .metric{padding:18px}
  .metric .value{font-size:1.65rem}
  .metric .label,.metric .remaining{font-size:.86rem}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .form-actions{flex-direction:row;align-items:center}
  .form-actions>.btn,.form-actions>a{width:auto}
  .quick-food{grid-template-columns:minmax(0,1fr) 110px 82px}
  .quick-food>div:first-of-type{grid-column:auto}
  .quick-food .btn{width:82px}
  .kpi-row{display:flex;gap:14px;flex-wrap:wrap}
  .mini-kpi{min-width:120px;background:transparent;padding:0}
  .mobile-only{display:none}
  .desktop-only{display:block}
  .muscle-layout{grid-template-columns:1.1fr 1fr;gap:16px}
  .diagram-grid{grid-template-columns:1fr 1fr}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-tabbar{display:none}
  .auth-shell{margin:6vh auto}
  .auth-shell .card{padding:28px 26px}
}

@media(min-width:980px){
  .nav-toggle{display:none}
  .nav{
    position:static;
    display:flex!important;
    align-items:center;
    gap:4px;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
  }
  .nav a,.nav-link-button{
    width:auto;
    min-height:42px;
    padding:0 9px;
    font-size:.88rem;
  }
  .nav a.active{background:var(--surface2)}
  .nav form{margin:0 0 0 4px;padding:0 0 0 4px;border:0;border-left:1px solid var(--border)}
}

/* Compact AI camera */
.camera-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.compact-camera-form{display:flex;align-items:center;justify-content:flex-end;gap:9px}
.camera-icon-button{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border:1px solid rgba(53,208,173,.32);border-radius:14px;background:linear-gradient(145deg,#1c2a31,#121a22);color:var(--accent);box-shadow:0 9px 22px rgba(0,0,0,.25);cursor:pointer}
.camera-icon-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.camera-icon-button:active{transform:scale(.96)}
.camera-icon-button:disabled{opacity:.4;cursor:not-allowed}
.camera-status{display:flex;align-items:center;gap:8px;max-width:190px;color:var(--muted);font-size:.78rem;font-weight:750}
.camera-thumb{width:36px;height:36px;flex:0 0 36px;border-radius:10px;object-fit:cover;border:1px solid var(--border)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ai-result-note{
  margin-bottom:14px;
  padding:11px 12px;
  border-radius:12px;
  background:#14231f;
  border:1px solid #29483f;
  color:#b8d7ce;
  font-size:.86rem;
}
.ai-result-note>div{margin-top:4px}
.confidence{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 9px;
  border-radius:999px;
  font-size:.73rem;
  font-weight:800;
  white-space:nowrap;
}
.confidence-high{background:#173629;color:#79dda9}
.confidence-medium{background:#392d18;color:#f0c372}
.confidence-low{background:#3a2025;color:#ff9494}
.check-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  cursor:pointer;
}
button:disabled{opacity:.55;cursor:not-allowed}

/* Version 8 — polished mobile-first wellness interface */
:root{
  --bg:#080c11;
  --surface:#10161d;
  --surface2:#171f28;
  --surface3:#1d2731;
  --text:#f5f7f8;
  --muted:#8e9ba7;
  --accent:#71e6bd;
  --accent2:#4bc99f;
  --border:rgba(255,255,255,.085);
  --shadow:0 18px 54px rgba(0,0,0,.28);
  --radius:22px;
  --topbar:64px;
}

html{background:var(--bg)}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 85% -10%,rgba(73,202,160,.12),transparent 34%),
    radial-gradient(circle at -15% 38%,rgba(72,111,217,.08),transparent 30%),
    var(--bg);
  letter-spacing:-.008em;
}
.app-icon{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topbar{height:var(--topbar);padding:0 16px;background:rgba(8,12,17,.82);border-color:var(--border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.brand{gap:10px;font-size:1rem;letter-spacing:-.02em}
.brand-mark{width:39px;height:39px;flex-basis:39px;border-radius:14px;background:linear-gradient(145deg,var(--accent),#2fae88);color:#07120f;box-shadow:0 8px 22px rgba(72,201,159,.2)}
.brand-mark .app-icon{width:21px;height:21px;stroke-width:2.1}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy b{font-size:1rem}.brand-copy small{margin-top:3px;color:var(--muted);font-size:.61rem;letter-spacing:.16em;text-transform:uppercase}
.nav-toggle{width:42px;height:42px;border:1px solid var(--border);background:var(--surface);font-size:1.25rem}
.nav{background:rgba(15,21,28,.98);border-color:var(--border);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.nav a,.nav-link-button{gap:11px;border-radius:13px;color:#cbd3d9}.nav a .app-icon{width:19px;height:19px;color:var(--muted)}
.nav a.active{background:rgba(113,230,189,.1);color:var(--accent)}.nav a.active .app-icon{color:var(--accent)}
.container{max-width:1120px;padding:22px 15px 38px}
.footer{color:#65717b;padding-top:28px}

h1{font-size:2rem;letter-spacing:-.045em;font-weight:780;margin-bottom:6px}
h2{letter-spacing:-.025em;font-weight:750}
.subtle{color:var(--muted)}
.eyebrow{display:block;margin-bottom:5px;color:var(--accent);font-size:.67rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.page-head{margin-bottom:22px;gap:12px}.page-head .subtle{max-width:650px;font-size:.92rem}
.foods-page-head{align-items:center}
.head-icon-link{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;border:1px solid var(--border);background:var(--surface);color:var(--accent)}

.card,.surface-panel{background:linear-gradient(155deg,rgba(19,27,35,.98),rgba(13,19,25,.98));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.surface-panel{padding:17px}.card{padding:17px}
.section{margin-top:16px}
.section-head{margin-bottom:15px}.section-head h2{margin:1px 0 0;font-size:1.12rem}.section-head>a{color:var(--accent);font-size:.8rem}
.pill,.count-badge{display:inline-grid;place-items:center;min-width:30px;min-height:30px;padding:4px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--muted);font-size:.72rem;font-weight:800}

.btn{min-height:50px;border-radius:15px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#07130f;box-shadow:0 10px 24px rgba(69,196,154,.16);font-weight:850}
.btn.secondary{background:var(--surface2);border:1px solid var(--border);color:var(--text);box-shadow:none}.btn.danger{background:rgba(255,100,112,.1);border:1px solid rgba(255,100,112,.15);color:#ff8b94;box-shadow:none}
.btn.small{min-height:40px;border-radius:12px}.btn.compact{min-height:44px;padding:8px 13px;font-size:.85rem}

input,select,textarea{min-height:50px;border:1px solid var(--border);border-radius:14px;background:#0b1117;color:var(--text);padding:11px 13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
input::placeholder,textarea::placeholder{color:#58636d}
label{color:#dce2e6;font-size:.8rem}
.flash{border-radius:15px}
.empty{background:rgba(255,255,255,.025);border:1px dashed var(--border);padding:25px 17px}

/* Home */
.dashboard-head{margin-bottom:17px}.head-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-control input{width:auto;min-height:40px;padding:7px 10px;border-radius:12px;font-size:.79rem}.icon-text-button{min-height:40px;padding:8px 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--muted);font-weight:750}
.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}
.quick-action{min-width:0;display:flex;align-items:center;gap:10px;padding:12px 10px;border:1px solid var(--border);border-radius:18px;background:rgba(16,22,29,.86);color:var(--text);box-shadow:0 10px 30px rgba(0,0,0,.14)}
.quick-action.primary{background:linear-gradient(145deg,rgba(113,230,189,.18),rgba(16,33,30,.9));border-color:rgba(113,230,189,.22)}
.quick-action-icon{width:37px;height:37px;flex:0 0 37px;display:grid;place-items:center;border-radius:12px;background:var(--surface2);color:var(--accent)}
.quick-action.primary .quick-action-icon{background:var(--accent);color:#07130f}.quick-action .app-icon{width:19px;height:19px}
.quick-action b,.quick-action small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-action b{font-size:.82rem}.quick-action small{margin-top:2px;color:var(--muted);font-size:.65rem}
.nutrition-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wellness-metric{min-width:0;padding:15px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(155deg,rgba(22,31,40,.95),rgba(13,19,25,.95));box-shadow:0 12px 34px rgba(0,0,0,.18)}
.metric-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.wellness-metric .label{color:#c9d2d8;font-size:.75rem;font-weight:780}.metric-percent{color:var(--muted);font-size:.68rem}
.wellness-metric .value{margin-top:14px;font-size:1.65rem;font-weight:820;letter-spacing:-.045em}.wellness-metric .remaining{margin-top:0;color:var(--accent);font-size:.68rem}.metric-caption{margin-top:7px;color:#6f7b85;font-size:.65rem}
.progress{height:5px;margin-top:12px;background:#26313b}.progress>span{background:linear-gradient(90deg,var(--accent2),var(--accent));box-shadow:0 0 12px rgba(113,230,189,.25)}
.quick-food-list{display:grid;gap:8px}.quick-food-item{border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.018);overflow:hidden}.quick-food-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;cursor:pointer;list-style:none}.quick-food-item summary::-webkit-details-marker{display:none}.quick-food-item summary b,.quick-food-item summary small{display:block}.quick-food-item summary b{font-size:.9rem}.quick-food-item summary small{margin-top:2px;color:var(--muted);font-size:.7rem}.round-plus{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:rgba(113,230,189,.11);color:var(--accent)}.round-plus .app-icon{width:16px;height:16px}
.quick-log-panel{display:grid;grid-template-columns:1fr auto;gap:8px;padding:0 12px 12px}.quick-log-panel label{margin:0}.quick-log-panel label span{display:none}.quick-log-panel input{min-height:44px}.quick-log-panel .btn{align-self:end}
.kpi-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mini-kpi{padding:12px;background:rgba(255,255,255,.025);border:1px solid var(--border);border-radius:14px}.mini-kpi b{font-size:1rem}.mini-kpi span{font-size:.67rem}

/* Progressive editors */
.editor-sheet{margin-bottom:16px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(150deg,rgba(18,26,34,.98),rgba(12,18,24,.98));box-shadow:var(--shadow);overflow:hidden}
.editor-sheet>summary{min-height:70px;display:flex;align-items:center;gap:12px;padding:13px 15px;cursor:pointer;list-style:none}.editor-sheet>summary::-webkit-details-marker{display:none}
.summary-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:14px;background:rgba(113,230,189,.1);color:var(--accent)}.summary-icon .app-icon{width:20px;height:20px}.editor-sheet>summary b,.editor-sheet>summary small{display:block}.editor-sheet>summary b{font-size:.94rem}.editor-sheet>summary small{margin-top:3px;color:var(--muted);font-size:.72rem}.summary-arrow{margin-left:auto;color:var(--muted);font-size:1.3rem;transition:transform .2s}.editor-sheet[open] .summary-arrow{transform:rotate(180deg)}
.editor-content{padding:4px 15px 17px;border-top:1px solid var(--border)}
.soft-form{padding-top:14px}.soft-field-row{display:grid;grid-template-columns:1fr;gap:10px}.soft-field{margin-bottom:11px}.soft-field label{display:flex;justify-content:space-between}.soft-field label span{color:var(--muted);font-size:.68rem;font-weight:600}.hero-field input{font-size:1.08rem;font-weight:720}
.field-caption{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:19px 0 10px}.field-caption b{font-size:.86rem}.field-caption span{color:var(--muted);font-size:.68rem;text-align:right}
.macro-input-grid,.goal-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.macro-input-grid>label,.goal-input-grid>label{position:relative;margin:0;padding:11px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}.macro-input-grid label>span,.goal-input-grid label>span{display:block;color:var(--muted);font-size:.68rem;font-weight:750}.macro-input-grid input,.goal-input-grid input{min-height:38px;padding:5px 22px 2px 0;border:0;background:transparent;font-size:1.15rem;font-weight:800;box-shadow:none;outline:0!important}.macro-input-grid label>small,.goal-input-grid label>small{position:absolute;right:11px;bottom:14px;color:#697681;font-size:.65rem}
.advanced-disclosure{margin-top:13px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.advanced-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 1px;list-style:none;cursor:pointer;color:#d6dde1;font-size:.79rem;font-weight:780}.advanced-disclosure>summary::-webkit-details-marker{display:none}.advanced-disclosure>summary span{color:var(--muted);font-size:.66rem;font-weight:600}.advanced-grid{padding:4px 0 8px}.full-span{grid-column:1/-1}
.favorite-toggle{display:flex;align-items:center;gap:11px;margin:15px 0 0;padding:12px;border-radius:15px;background:rgba(255,255,255,.025);cursor:pointer}.favorite-toggle b,.favorite-toggle small{display:block}.favorite-toggle small{margin-top:2px;color:var(--muted);font-size:.67rem}.favorite-toggle input{accent-color:var(--accent)}
.settings-stack{display:grid;gap:12px}.privacy-note{display:flex;flex-direction:column;gap:3px;margin-top:17px;padding:13px;border-radius:14px;background:rgba(113,230,189,.06);color:#cfe9df;font-size:.76rem}.privacy-note span{color:var(--muted)}

/* Food library */
.compact-camera-form{position:relative}.camera-icon-button{width:48px;height:48px;flex-basis:48px;border-radius:16px;background:linear-gradient(145deg,var(--accent),var(--accent2));border:0;color:#07130f;box-shadow:0 12px 30px rgba(72,201,159,.22)}.camera-icon-button .app-icon{width:23px;height:23px;stroke-width:2}
.camera-status{position:absolute;right:57px;top:2px;height:44px;padding:4px 8px 4px 4px;border:1px solid var(--border);border-radius:14px;background:var(--surface);white-space:nowrap;z-index:3}.camera-thumb{width:34px;height:34px;flex-basis:34px}
.ai-result-note{display:flex;flex-direction:column;gap:3px;margin-top:13px}.ai-result-note span{color:var(--muted)}
.saved-food-list{display:grid;gap:9px}.saved-food-card{padding:13px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.02)}.saved-food-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}.food-avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#24372f,#17241f);color:var(--accent);font-weight:850}.saved-food-main h3{margin:0;font-size:.92rem}.saved-food-main p{margin:2px 0 0;color:var(--muted);font-size:.7rem}.favorite-dot{color:var(--accent);font-size:.62rem}.food-macros{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.food-macros span{padding:5px 8px;border-radius:999px;background:var(--surface2);color:var(--muted);font-size:.65rem}.food-macros b{color:#dce4e7}.food-card-actions{display:flex;justify-content:flex-end;gap:13px;margin-top:8px}.food-card-actions form{margin:0}.text-action{padding:4px 0;border:0;background:transparent;color:var(--accent);font-size:.72rem;font-weight:800;cursor:pointer}.danger-text{color:#e17a83}.empty-state{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.empty-state>span{width:48px;height:48px;display:grid;place-items:center;margin-bottom:10px;border-radius:16px;background:rgba(113,230,189,.1);color:var(--accent)}.empty-state b{font-size:.95rem}.empty-state small{max-width:260px;margin-top:5px;color:var(--muted)}

/* Progress, training and data screens */
.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:-5px 0 16px;padding:4px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.segmented-control a{min-height:38px;display:grid;place-items:center;border-radius:11px;color:var(--muted);font-size:.76rem;font-weight:800}.segmented-control a.active{background:var(--surface3);color:var(--accent);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.chart-panel h2{margin-bottom:8px}.chart{height:190px}.table-wrap{border-color:var(--border);background:var(--surface);border-radius:16px}table{background:transparent}th{background:#151d25;border-color:var(--border)}td{border-color:var(--border)}
.muscle-card{border-color:var(--border);background:rgba(255,255,255,.02);border-radius:17px}.muscle-card:hover{border-color:rgba(113,230,189,.24)}.tag{background:rgba(113,230,189,.08);color:#acd3c5}.schedule-day{border-color:var(--border);background:rgba(255,255,255,.02);border-radius:17px}.diagram-grid img{border-radius:18px;background:#dce4e4;padding:12px}.schedule-list li{margin-bottom:7px;color:#c6cfd4}
.mobile-row{border-color:var(--border);background:rgba(255,255,255,.02);border-radius:17px}.mobile-stat{background:var(--surface2)}

/* Authentication */
.auth-shell{max-width:430px;margin:6vh auto}.auth-shell .card{padding:28px 20px;background:linear-gradient(155deg,rgba(19,27,35,.98),rgba(11,17,23,.98))}.auth-shell h1{font-size:2.15rem}.auth-shell .subtle{line-height:1.55}

/* Bottom navigation */
.mobile-tabbar{height:calc(72px + env(safe-area-inset-bottom));padding:7px 5px calc(7px + env(safe-area-inset-bottom));background:rgba(9,13,18,.94);border-color:var(--border);box-shadow:0 -12px 34px rgba(0,0,0,.26);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.mobile-tabbar a{min-height:56px;gap:4px;border-radius:14px;font-size:.61rem}.mobile-tabbar a.active{background:rgba(113,230,189,.09);color:var(--accent)}.tab-icon{font-size:inherit}.tab-icon .app-icon{width:21px;height:21px}

@media(max-width:420px){
  .quick-actions{grid-template-columns:1fr 1fr}.quick-action:first-child{grid-column:1/-1}.quick-action:first-child small{display:block}
  .quick-action small{display:none}
  .nutrition-overview{gap:8px}.wellness-metric{padding:13px}.wellness-metric .value{font-size:1.48rem}
}

@media(min-width:700px){
  .container{padding:30px 24px 52px}.surface-panel,.card{padding:22px}.editor-content{padding:6px 22px 22px}
  .nutrition-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-actions{max-width:700px;gap:12px}.quick-action{padding:14px}
  .soft-field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.macro-input-grid,.goal-input-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .saved-food-list{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-stack{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
}

@media(min-width:980px){
  .topbar{padding:0 28px}.nav a,.nav-link-button{gap:6px;padding:0 8px;font-size:.8rem}.nav a .app-icon{width:16px;height:16px}
  .mobile-tabbar{display:none}
}

/* Version 9 — compact Home and one camera in the top navigation */
.topbar-actions{order:3;margin-left:auto;display:flex;align-items:center;gap:8px}
.topbar>.brand{order:1}.topbar>.nav{order:2}
.top-camera-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--accent);cursor:pointer}
.top-camera-button .app-icon{width:20px;height:20px}.top-camera-button:active{transform:scale(.96)}
.topbar-camera .camera-status{position:fixed;right:15px;top:72px;width:auto;max-width:210px;height:48px;padding:5px 10px 5px 5px;border-radius:15px;background:#111920;box-shadow:0 18px 45px rgba(0,0,0,.45)}

.dashboard-head{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:13px}
.dashboard-head h1{font-size:1.55rem;margin-bottom:2px}.dashboard-head .subtle{font-size:.75rem}.dashboard-head .head-tools{gap:6px}
.dashboard-head .date-control input{min-height:36px;padding:5px 8px;font-size:.72rem}.dashboard-head .icon-text-button{min-height:36px;padding:6px 9px;font-size:.7rem}

.compact-trackers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:4px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(155deg,rgba(19,27,35,.96),rgba(12,18,24,.96));box-shadow:0 12px 34px rgba(0,0,0,.2)}
.compact-trackers .wellness-metric{min-height:82px;padding:9px 7px;border:0;border-radius:13px;background:transparent;box-shadow:none}
.compact-trackers .wellness-metric+.wellness-metric{border-left:1px solid var(--border);border-radius:0}
.compact-trackers .metric-top{display:block}.compact-trackers .metric-percent{display:none}.compact-trackers .label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.61rem}
.compact-trackers .value{margin-top:7px;font-size:1.02rem;letter-spacing:-.035em;white-space:nowrap}.compact-trackers .remaining{font-size:.58rem}.compact-trackers .metric-caption{display:none}.compact-trackers .progress{height:3px;margin-top:8px}

.home-summary-list{display:grid;gap:8px}
.home-disclosure,.compact-empty-action{border:1px solid var(--border);border-radius:17px;background:linear-gradient(150deg,rgba(18,26,34,.96),rgba(12,18,24,.96));box-shadow:0 10px 28px rgba(0,0,0,.16);overflow:hidden}
.home-disclosure>summary,.compact-empty-action{min-height:61px;display:flex;align-items:center;gap:11px;padding:10px 12px;list-style:none;color:var(--text);cursor:pointer}
.home-disclosure>summary::-webkit-details-marker{display:none}.home-disclosure>summary b,.home-disclosure>summary small,.compact-empty-action b,.compact-empty-action small{display:block}.home-disclosure>summary b,.compact-empty-action b{font-size:.86rem}.home-disclosure>summary small,.compact-empty-action small{margin-top:2px;color:var(--muted);font-size:.66rem}
.home-disclosure .summary-icon,.compact-empty-action .summary-icon{width:37px;height:37px;flex-basis:37px;border-radius:12px}.home-disclosure .summary-icon .app-icon,.compact-empty-action .summary-icon .app-icon{width:18px;height:18px}
.home-disclosure-content{padding:0 12px 12px;border-top:1px solid var(--border)}.home-disclosure-content>.section-head{min-height:30px;margin:0 0 5px}.home-disclosure-content>.section-head a{margin-left:auto}
.compact-empty-action{margin-top:10px}.compact-empty-action .summary-arrow{transform:none}

@media(max-width:370px){
  .compact-trackers .wellness-metric{padding-left:5px;padding-right:5px}.compact-trackers .value{font-size:.92rem}.compact-trackers .label{font-size:.57rem}
}

@media(min-width:700px){
  .dashboard-head h1{font-size:1.8rem}.compact-trackers{max-width:760px}.compact-trackers .wellness-metric{min-height:92px;padding:11px 14px}.compact-trackers .value{font-size:1.25rem}.compact-trackers .label{font-size:.7rem}
  .home-summary-list,.home-disclosure.section,.compact-empty-action{max-width:760px}
}

@media(min-width:980px){
  .topbar>.nav{margin-left:auto}.topbar-actions{margin-left:8px}.top-camera-button{width:40px;height:40px}.nav-toggle{display:none}
}

/* Version 10 — clean mobile shell, safe areas, and multi-photo capture */
:root{--surface:#121820;--surface2:#18212a;--surface3:#202b35;--radius:17px;--topbar:58px;--tabbar:64px}
body{background:#090e13;letter-spacing:0}
body.camera-sheet-open{overflow:hidden}
.topbar{
  min-height:calc(var(--topbar) + env(safe-area-inset-top));
  height:calc(var(--topbar) + env(safe-area-inset-top));
  padding:env(safe-area-inset-top) 14px 0;
  background:#0c1218;
  border-color:#1e2932;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.brand-mark{width:35px;height:35px;flex-basis:35px;border-radius:11px;box-shadow:none}.brand-copy b{font-size:.91rem}.brand-copy small{font-size:.54rem}.brand-mark .app-icon{width:18px;height:18px}
.top-camera-button,.nav-toggle{width:38px;height:38px;border-radius:11px;background:#131b23}.top-camera-button .app-icon{width:18px;height:18px}.nav-toggle{font-size:1.08rem}
.nav{top:100%;background:#10171e}
.container{padding:18px 14px 26px}
h1{font-size:1.7rem;letter-spacing:-.035em}h2{font-size:1rem}.page-head{margin-bottom:16px}.page-head .subtle{font-size:.82rem;line-height:1.35}.eyebrow{font-size:.59rem;margin-bottom:4px}
.surface-panel,.card,.editor-sheet,.home-disclosure,.compact-empty-action{background:#111820;border-color:#23303b;box-shadow:none;border-radius:16px}
.surface-panel,.card{padding:15px}.section{margin-top:12px}.section-head{margin-bottom:11px}
.footer{display:none}
.btn{min-height:46px;border-radius:13px;box-shadow:none}.btn.compact{min-height:42px}
.empty{padding:16px;border-radius:13px}

.dashboard-head{margin-bottom:10px}.dashboard-head h1{font-size:1.38rem}.dashboard-head .date-control input{min-height:34px;background:#111820}
.compact-trackers{grid-template-columns:repeat(5,minmax(0,1fr));padding:2px;border-radius:15px;background:#111820;box-shadow:none}
.compact-trackers .wellness-metric{min-height:70px;padding:8px 5px}.compact-trackers .label{font-size:.53rem}.compact-trackers .value{margin-top:6px;font-size:.86rem}.compact-trackers .remaining{font-size:.53rem}.compact-trackers .progress{margin-top:6px}
.home-disclosure>summary,.compact-empty-action{min-height:55px;padding:8px 10px}.home-disclosure .summary-icon,.compact-empty-action .summary-icon{width:34px;height:34px;flex-basis:34px}.home-disclosure>summary b,.compact-empty-action b{font-size:.8rem}
.compact-empty-action{margin-top:8px}

.food-library{padding:14px}.first-food-action{min-height:58px;display:flex;align-items:center;gap:10px;padding:8px 4px;color:var(--text)}.first-food-action b,.first-food-action small{display:block}.first-food-action b{font-size:.84rem}.first-food-action small{margin-top:2px;color:var(--muted);font-size:.65rem}.first-food-action>span:nth-child(2){flex:1}.first-food-action>span:last-child{color:var(--muted);font-size:1.25rem}
.first-food-action.standalone{padding:10px;border:1px solid #23303b;border-radius:15px;background:#111820}.label-detail-grid{display:grid;gap:8px;padding:3px 0 8px}.label-detail-grid textarea{resize:vertical;line-height:1.45}.dashboard-head+.compact-trackers{margin-top:0}.mobile-stats.four-cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.mobile-stats.four-cols .mobile-stat{padding:8px 3px}.mobile-stats.four-cols .mobile-stat b{font-size:.76rem}.mobile-stats.four-cols .mobile-stat span{font-size:.57rem}
.nutrition-detail-disclosure{margin-top:10px;border-top:1px solid var(--border)}.nutrition-detail-disclosure>summary{min-height:54px;display:flex;align-items:center;gap:9px;padding:8px 2px;list-style:none;cursor:pointer}.nutrition-detail-disclosure>summary::-webkit-details-marker{display:none}.nutrition-detail-disclosure>summary span:first-child{flex:1}.nutrition-detail-disclosure>summary b,.nutrition-detail-disclosure>summary small{display:block}.nutrition-detail-disclosure>summary b{font-size:.78rem}.nutrition-detail-disclosure>summary small{margin-top:2px;color:var(--muted);font-size:.61rem}.nutrition-detail-disclosure[open] .summary-arrow{transform:rotate(180deg)}.complete-nutrient-list{display:grid;grid-template-columns:1fr 1fr;gap:1px 12px;padding:3px 0 8px}.complete-nutrient-list h3{grid-column:1/-1;margin:10px 0 3px;color:var(--accent);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.complete-nutrient-list>div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.055);font-size:.67rem}.complete-nutrient-list>div span{color:var(--muted)}.complete-nutrient-list>div b{text-align:right;white-space:nowrap}
.editor-sheet>summary{min-height:60px;padding:9px 12px}.editor-content{padding:2px 12px 13px}.summary-icon{width:37px;height:37px;flex-basis:37px;border-radius:11px}.summary-icon .app-icon{width:18px;height:18px}.editor-sheet>summary b{font-size:.86rem}.editor-sheet>summary small{font-size:.65rem}
.saved-food-card{border-radius:14px;background:#151d25}.food-macros span{font-size:.61rem}

.mobile-tabbar{height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding:5px 4px calc(5px + env(safe-area-inset-bottom));background:#0a0f15;box-shadow:none}.mobile-tabbar a{min-height:50px;border-radius:12px;font-size:.57rem}.tab-icon .app-icon{width:19px;height:19px}

.camera-sheet{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-end;justify-content:center}.camera-sheet[hidden]{display:none}
.camera-sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.camera-sheet-panel{position:relative;width:100%;max-width:520px;padding:18px 15px calc(16px + env(safe-area-inset-bottom));border:1px solid #293640;border-bottom:0;border-radius:22px 22px 0 0;background:#111820;box-shadow:0 -20px 60px rgba(0,0,0,.5)}
.camera-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.camera-sheet-head h2{margin:0;font-size:1.28rem}.sheet-close{width:36px;height:36px;display:grid;place-items:center;border:1px solid #2a3640;border-radius:11px;background:#182129;color:var(--text);font-size:1.5rem;line-height:1}.camera-sheet-copy{margin:8px 0 13px;color:var(--muted);font-size:.75rem;line-height:1.4}
.photo-slot-list{display:grid;gap:8px}.photo-slot{position:relative;width:100%;min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;border:1px solid #293640;border-radius:14px;background:#151e26;color:var(--text);text-align:left;overflow:hidden}.photo-slot-number{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#202c35;color:var(--accent);font-size:.75rem;font-weight:850}.photo-slot-copy b,.photo-slot-copy small{display:block}.photo-slot-copy b{font-size:.82rem}.photo-slot-copy small{margin-top:2px;color:var(--muted);font-size:.63rem;line-height:1.25}.photo-slot-action{color:var(--accent)}.photo-slot-action .app-icon{width:19px;height:19px}.photo-slot img{width:52px;height:52px;grid-column:1;grid-row:1;border-radius:10px;object-fit:cover}.photo-slot.has-photo .photo-slot-number{display:none}.photo-slot.has-photo{border-color:rgba(113,230,189,.35)}.photo-slot.is-loading{opacity:.55}
.camera-sheet-actions{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-top:13px}.camera-sheet-actions>span{color:var(--muted);font-size:.65rem}.camera-sheet-actions .text-action{justify-self:start}.camera-sheet-actions .btn{white-space:nowrap}

@media(min-width:700px){
  .topbar{padding-left:20px;padding-right:20px}.container{padding:24px 20px 42px}.footer{display:block}.camera-sheet{align-items:center;padding:20px}.camera-sheet-panel{border-bottom:1px solid #293640;border-radius:22px;padding-bottom:18px}
  .compact-trackers{max-width:820px}.compact-trackers .wellness-metric{min-height:78px}.compact-trackers .value{font-size:1rem}.compact-trackers .label{font-size:.62rem}
}

/* Version 11 — camera-first capture and visual food library */
body.camera-sheet-open{overflow:hidden;background:#000}
.camera-capture{position:fixed;inset:0;z-index:300;background:#000;color:#fff}.camera-capture[hidden]{display:none}.camera-capture-panel{position:relative;width:100%;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;background:#000;overflow:hidden}
.capture-topbar{position:absolute;top:0;left:0;right:0;z-index:4;min-height:calc(58px + env(safe-area-inset-top));display:grid;grid-template-columns:1fr auto 1fr;align-items:end;padding:env(safe-area-inset-top) 16px 10px;background:linear-gradient(180deg,rgba(0,0,0,.78),transparent)}.capture-topbar>span{padding-bottom:7px;color:#d5dbe0;font-size:.74rem;font-weight:750}.capture-text-button,.capture-done{min-height:36px;padding:6px 0;border:0;background:transparent;color:#fff;font-size:.82rem;font-weight:750}.capture-text-button{justify-self:start}.capture-done{justify-self:end;color:var(--accent);font-weight:850}.capture-done:disabled{color:#68737d;opacity:1}
.capture-viewfinder{position:absolute;inset:0;background:#030405;overflow:hidden}.capture-viewfinder video{width:100%;height:100%;display:block;object-fit:cover}.capture-guide,.camera-unavailable{position:absolute;left:50%;top:50%;width:min(82%,340px);transform:translate(-50%,-50%);padding:15px 17px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(5,10,13,.66);text-align:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.capture-guide b,.capture-guide span,.camera-unavailable b,.camera-unavailable span{display:block}.capture-guide b,.camera-unavailable b{font-size:.9rem}.capture-guide span,.camera-unavailable span{margin-top:4px;color:#bec7ce;font-size:.7rem}
.capture-filmstrip{position:absolute;left:0;right:0;bottom:calc(116px + env(safe-area-inset-bottom));z-index:4;min-height:64px;display:flex;align-items:center;gap:8px;padding:5px 14px;overflow-x:auto;scrollbar-width:none}.capture-filmstrip::-webkit-scrollbar{display:none}.capture-thumb{position:relative;width:57px;height:57px;flex:0 0 57px;padding:0;border:2px solid rgba(255,255,255,.8);border-radius:11px;background:#111;overflow:hidden}.capture-thumb img{width:100%;height:100%;display:block;object-fit:cover}.capture-thumb span{position:absolute;right:2px;top:1px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:.85rem}
.capture-controls{position:absolute;left:0;right:0;bottom:0;z-index:4;min-height:calc(112px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:11px 25px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.25))}.capture-library,.capture-clear{min-width:54px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px;border:0;background:transparent;color:#fff}.capture-library{justify-self:start}.capture-clear{justify-self:end}.capture-library>span,.capture-clear>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.15)}.capture-library .app-icon{width:17px;height:17px}.capture-library small,.capture-clear small{font-size:.58rem}.capture-shutter{width:70px;height:70px;padding:5px;border:3px solid #fff;border-radius:50%;background:transparent;transition:transform .12s}.capture-shutter span{width:100%;height:100%;display:block;border-radius:50%;background:#fff}.capture-shutter.captured{transform:scale(.86)}.capture-shutter:disabled{opacity:.35}
.capture-processing{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#090e13;text-align:center}.capture-processing[hidden]{display:none}.processing-ring{width:46px;height:46px;margin-bottom:18px;border:3px solid #26343d;border-top-color:var(--accent);border-radius:50%;animation:camera-spin .8s linear infinite}.capture-processing b{font-size:1.05rem}.capture-processing small{margin-top:5px;color:var(--muted);font-size:.72rem}@keyframes camera-spin{to{transform:rotate(360deg)}}

.foods-gallery-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.foods-gallery-head h1{margin:0}.foods-gallery-head .subtle{margin-top:4px}.food-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.food-product-card{position:relative;min-width:0;border:1px solid #202c35;border-radius:18px;background:#111820;overflow:hidden}.product-cover{position:relative;aspect-ratio:1.12/1;background:linear-gradient(145deg,#1c2c2a,#111820);overflow:hidden}.product-cover img{width:100%;height:100%;display:block;object-fit:cover}.product-cover-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--accent);font-size:2.3rem;font-weight:850}.product-card-body{padding:11px}.product-brand{min-height:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent);font-size:.55rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.product-card-body h2{min-height:34px;display:-webkit-box;margin:4px 0 9px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.86rem;line-height:1.2}.product-metric-row{display:grid;grid-template-columns:1fr 1fr;gap:5px}.product-metric{padding:7px;border-radius:10px;background:#182129}.product-metric b,.product-metric span{display:block}.product-metric b{font-size:.72rem}.product-metric span{margin-top:1px;color:var(--muted);font-size:.5rem}.product-ai-note{width:100%;display:flex;align-items:center;gap:7px;margin-top:9px;padding:8px;border:1px solid rgba(113,230,189,.2);border-radius:11px;background:rgba(113,230,189,.065);color:#d8efe7;text-align:left}.product-ai-note .app-icon{width:16px;height:16px;flex:0 0 16px;color:var(--accent)}.product-ai-note span{font-size:.58rem;line-height:1.3}.product-facts{margin-top:8px;border-top:1px solid var(--border)}.product-facts>summary{display:flex;align-items:center;justify-content:space-between;min-height:34px;list-style:none;color:var(--muted);font-size:.59rem;font-weight:750;cursor:pointer}.product-facts>summary::-webkit-details-marker{display:none}.product-facts[open]>summary span:last-child{transform:rotate(180deg)}.product-fact-list{display:grid;gap:5px;padding:3px 0 7px}.product-fact-list>div{display:flex;justify-content:space-between;gap:5px;font-size:.56rem}.product-fact-list span{color:var(--muted)}.product-fact-list b{text-align:right}.product-remove{width:100%;margin-top:4px;padding:7px 0;border:0;background:transparent;color:#d57981;font-size:.58rem;font-weight:750}.food-gallery-empty{min-height:330px;display:grid;place-items:center;text-align:center}.food-gallery-empty>div{max-width:260px}.empty-product-icon{width:66px;height:66px;display:grid;place-items:center;margin:0 auto 13px;border-radius:22px;background:#13251f;color:var(--accent)}.empty-product-icon .app-icon{width:29px;height:29px}.food-gallery-empty h2{margin:0 0 5px;font-size:1.05rem}.food-gallery-empty p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.45}

@media(min-width:700px){.camera-capture{display:grid;place-items:center;background:rgba(0,0,0,.9)}.camera-capture[hidden]{display:none}.camera-capture-panel{max-width:520px;max-height:900px;border:1px solid #26343d;border-radius:24px}.food-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.foods-gallery-head,.food-product-grid,.food-gallery-empty{max-width:900px}}
.product-fact-list .product-long-fact{display:block}.product-long-fact span,.product-long-fact b{display:block}.product-long-fact b{margin-top:3px;color:#cbd4d9;text-align:left;font-weight:600;line-height:1.35}

/* Version 12 — one-line AI food description */
.ai-food-composer{max-width:620px;min-height:52px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin:0 0 14px;padding:6px 7px 6px 12px;border:1px solid #27343e;border-radius:17px;background:#121a22;box-shadow:0 10px 28px rgba(0,0,0,.15)}.composer-spark{color:var(--accent)}.composer-spark .app-icon{width:18px;height:18px}.ai-food-composer input{min-width:0;min-height:38px;padding:4px 2px;border:0;background:transparent;box-shadow:none;color:var(--text);font-size:.86rem;outline:0}.ai-food-composer input::placeholder{color:#788691}.ai-food-composer button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:12px;background:var(--accent);color:#07130f;font-size:1.18rem;font-weight:900}.ai-food-composer.is-submitting{opacity:.72;pointer-events:none}.ai-food-composer.is-submitting button span{width:16px;height:16px;border:2px solid rgba(7,19,15,.28);border-top-color:#07130f;border-radius:50%;font-size:0;animation:camera-spin .7s linear infinite}

/* Version 13 — visual shopping list */
.shopping-list-link{position:relative;min-height:40px;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #27343e;border-radius:12px;background:#121a22;color:var(--text);font-size:.67rem;font-weight:800}.shopping-list-link .app-icon{width:17px;height:17px;color:var(--accent)}.shopping-list-link b{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 4px;border-radius:10px;background:var(--accent);color:#07130f;font-size:.56rem}.product-shopping-action{margin-top:8px}.product-shopping-action form{margin:0}.product-shopping-action button,.product-shopping-action a{width:100%;min-height:32px;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 8px;border:1px solid #2a3943;border-radius:10px;background:#172129;color:#cbd5da;font-size:.58rem;font-weight:800}.product-shopping-action button span,.product-shopping-action a span{color:var(--accent);font-size:.8rem}.product-shopping-action a{border-color:rgba(113,230,189,.2);background:rgba(113,230,189,.06);color:var(--accent)}
.shopping-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:17px}.shopping-page-head h1{margin:0}.shopping-page-head .subtle{margin-top:4px}.shopping-back-link{min-height:38px;display:grid;place-items:center;padding:7px 11px;border:1px solid #27343e;border-radius:12px;background:#121a22;color:var(--accent);font-size:.67rem;font-weight:800;white-space:nowrap}.shopping-checklist{display:grid;gap:8px;max-width:700px}.shopping-item{min-height:72px;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid #23303a;border-radius:16px;background:#111820;transition:opacity .2s}.shopping-check-form,.shopping-remove-form{margin:0}.shopping-check{width:30px;height:30px;display:grid;place-items:center;padding:0;border:2px solid #3b4a54;border-radius:10px;background:transparent;color:transparent}.shopping-item.is-checked .shopping-check{border-color:var(--accent);background:var(--accent);color:#07130f}.shopping-thumb{width:50px;height:50px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#20322d,#15211d);overflow:hidden;font-size:1.45rem}.shopping-thumb img{width:100%;height:100%;display:block;object-fit:cover}.shopping-item-copy{min-width:0}.shopping-item-copy h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}.shopping-item-copy p{margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.62rem}.shopping-remove-form button{width:32px;height:32px;padding:0;border:0;border-radius:10px;background:transparent;color:#71808b;font-size:1.15rem}.shopping-item.is-checked{opacity:.52}.shopping-item.is-checked .shopping-item-copy h2{text-decoration:line-through}.clear-shopping-form{max-width:700px;margin-top:12px}.clear-shopping-form button{width:100%;min-height:42px;border:1px solid #2a3640;border-radius:13px;background:#111820;color:var(--muted);font-size:.68rem;font-weight:800}.shopping-empty{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.shopping-empty>span{width:66px;height:66px;display:grid;place-items:center;margin-bottom:13px;border-radius:22px;background:#13251f;color:var(--accent)}.shopping-empty>span .app-icon{width:29px;height:29px}.shopping-empty h2{margin:0;font-size:1.05rem}.shopping-empty p{max-width:280px;margin:6px 0 15px;color:var(--muted);font-size:.73rem;line-height:1.45}.shopping-empty>a{min-height:40px;display:grid;place-items:center;padding:7px 13px;border-radius:12px;background:var(--accent);color:#07130f;font-size:.7rem;font-weight:850}
@media(min-width:700px){.shopping-page-head,.shopping-checklist,.clear-shopping-form,.shopping-empty{max-width:760px}.shopping-item{min-height:78px;padding:11px}.shopping-thumb{width:56px;height:56px}}

/* Version 14 — focused Body progress experience */
body.body-dialog-open{overflow:hidden}
.body-page-head{max-width:760px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}.body-page-head h1{margin:0}.body-page-head .subtle{margin-top:4px}.body-page-head .head-icon-link{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border:1px solid #27343e;border-radius:12px;background:#121a22;color:var(--accent)}.body-page-head .head-icon-link .app-icon{width:18px;height:18px}
.body-migration-note{max-width:760px;display:flex;flex-direction:column;gap:3px;margin-bottom:11px;padding:11px 13px;border:1px solid #684e30;border-radius:14px;background:#211a13;color:#f1d0a2}.body-migration-note b{font-size:.76rem}.body-migration-note span{font-size:.65rem;line-height:1.4}.body-migration-note code{color:#ffe2b8}
.body-weight-hero{max-width:760px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px;border:1px solid #284039;border-radius:20px;background:radial-gradient(circle at 90% 0,rgba(113,230,189,.12),transparent 45%),linear-gradient(145deg,#14211f,#10171e);overflow:hidden}.body-weight-copy>span,.body-weight-copy>small,.body-weight-copy>strong{display:block}.body-weight-copy>span{color:#91a29f;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.body-weight-copy>strong{margin-top:4px;font-size:2.15rem;line-height:1;letter-spacing:-.055em}.body-weight-copy>strong small{display:inline;margin-left:5px;color:#9cada8;font-size:.75rem;letter-spacing:0}.body-weight-copy>small{margin-top:6px;color:#74827f;font-size:.61rem}
.body-primary-action{min-height:45px;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border:0;border-radius:14px;background:var(--accent);color:#07130f;font-size:.72rem;font-weight:900}.body-primary-action>span{width:20px;height:20px;display:grid;place-items:center}.body-primary-action .app-icon{width:17px;height:17px}.body-goal-strip{grid-column:1/-1;padding-top:12px;border-top:1px solid rgba(255,255,255,.075)}.body-goal-strip>div:first-child{display:flex;justify-content:space-between;gap:12px;color:#8c9b99;font-size:.62rem}.body-goal-strip>div:first-child b{color:#cbd6d2}.body-goal-strip>button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0;border:0;background:transparent;color:var(--accent);font-size:.68rem;font-weight:850}.body-goal-progress{height:5px;margin-top:8px;border-radius:999px;background:#25302f;overflow:hidden}.body-goal-progress span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--accent2),var(--accent))}
.body-snapshot{max-width:760px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:9px;border:1px solid #23303a;border-radius:17px;background:#111820;overflow:hidden}.body-snapshot>div{min-width:0;padding:11px 8px}.body-snapshot>div+div{border-left:1px solid #23303a}.body-snapshot span,.body-snapshot b,.body-snapshot small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body-snapshot span{color:#819099;font-size:.54rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.body-snapshot b{margin-top:5px;font-size:.93rem;letter-spacing:-.025em}.body-snapshot small{margin-top:2px;color:#72808a;font-size:.52rem}
.body-action-row{max-width:760px;display:grid;gap:8px;margin-top:9px}.body-action-row>button{min-height:61px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 12px;border:1px solid #23303a;border-radius:16px;background:#111820;color:var(--text);text-align:left}.body-action-row>button>.app-icon{width:20px;height:20px;color:var(--accent)}.body-action-row>button span b,.body-action-row>button span small{display:block}.body-action-row>button span b{font-size:.78rem}.body-action-row>button span small{margin-top:2px;color:#7e8c95;font-size:.61rem}.body-action-row>button i{color:#71808a;font-size:1.2rem;font-style:normal}.body-action-row>button:disabled{opacity:.45}
.body-estimate-note{max-width:760px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;margin-top:9px;padding:10px 12px;border-radius:14px;background:rgba(113,230,189,.06);color:#9eaaa9}.body-estimate-note>span{color:var(--accent)}.body-estimate-note .app-icon{width:17px;height:17px}.body-estimate-note p{margin:0;font-size:.62rem;line-height:1.45}.body-estimate-note b{color:#d9e6e1}
.body-recent{max-width:760px;margin-top:20px}.body-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:8px}.body-section-title h2{margin:0}.body-section-title a{color:var(--accent);font-size:.66rem;font-weight:800}.body-empty{min-height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;border:1px dashed #28343d;border-radius:16px;background:#0f151b;text-align:center}.body-empty b{font-size:.82rem}.body-empty span{margin-top:4px;color:#77858e;font-size:.64rem}.body-timeline{border:1px solid #23303a;border-radius:17px;background:#111820;overflow:hidden}.body-timeline article{min-height:62px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px}.body-timeline article+article{border-top:1px solid #202b34}.body-timeline time,.body-timeline time small{display:block}.body-timeline time{color:#d4dcdf;font-size:.69rem;font-weight:850}.body-timeline time small{margin-top:1px;color:#697780;font-size:.54rem;font-weight:650}.body-timeline-main{min-width:0}.body-timeline-main b,.body-timeline-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body-timeline-main b{font-size:.77rem}.body-timeline-main span{margin-top:3px;color:#7b8991;font-size:.59rem}.body-timeline article>i{color:#66747e;font-size:1.1rem;font-style:normal}
.body-dialog{width:100%;max-width:none;max-height:calc(92vh - env(safe-area-inset-top));max-height:calc(92dvh - env(safe-area-inset-top));margin:auto 0 0;padding:0;border:0;border-radius:22px 22px 0 0;background:#111820;color:var(--text);box-shadow:0 -24px 70px rgba(0,0,0,.6);overflow:hidden}.body-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.body-dialog-card{max-height:calc(92vh - env(safe-area-inset-top));max-height:calc(92dvh - env(safe-area-inset-top));padding:18px 15px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.body-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.body-dialog-head h2{margin:0;font-size:1.25rem}.body-dialog-head>button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid #2a3640;border-radius:11px;background:#182129;color:#dce3e6;font-size:1.35rem}.body-dialog-copy{margin:-5px 0 14px;color:#829099;font-size:.69rem;line-height:1.4}
.body-hero-input,.body-dialog-grid>label,.body-goal-input,.body-notes-input{display:block;margin:0}.body-hero-input>span,.body-dialog-grid>label>span,.body-goal-input>span,.body-notes-input>span{display:block;margin-bottom:6px;color:#9ba8af;font-size:.64rem;font-weight:800}.body-hero-input>span small,.body-dialog-grid>label>span small,.body-goal-input>span small,.body-notes-input>span small{color:#687780;font-weight:650}.body-hero-input{padding:13px;border:1px solid rgba(113,230,189,.34);border-radius:17px;background:rgba(113,230,189,.055)}.body-hero-input>div,.unit-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.body-hero-input input{min-height:52px;padding:0;border:0;background:transparent;box-shadow:none;font-size:2rem;font-weight:850;letter-spacing:-.05em}.body-hero-input b,.unit-input b{padding-left:7px;color:#7f8d95;font-size:.66rem}.body-dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.body-dialog-grid>label,.body-goal-input,.body-notes-input{padding:10px;border:1px solid #28343d;border-radius:14px;background:#151d25}.body-dialog-grid input,.body-dialog-grid select,.body-goal-input input,.body-notes-input textarea{width:100%;min-height:39px;padding:6px 8px;border:0;border-radius:8px;background:#10171e;box-shadow:none;color:var(--text);font-size:.76rem}.body-dialog-grid select{appearance:auto}.body-goal-input,.body-notes-input{margin-top:10px}.body-formula-caption{margin-top:10px;padding:9px 10px;border-radius:11px;background:#0f161c;color:#77868e;font-size:.6rem;line-height:1.45}.body-save-button{width:100%;margin-top:13px}.body-measurement-card{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
@media(max-width:370px){.body-snapshot>div{padding-left:6px;padding-right:6px}.body-snapshot b{font-size:.84rem}.body-snapshot span{font-size:.49rem}.body-primary-action{padding-left:10px;padding-right:10px}}
@media(min-width:700px){.body-weight-hero{padding:20px}.body-weight-copy>strong{font-size:2.55rem}.body-action-row{grid-template-columns:repeat(2,minmax(0,1fr))}.body-dialog{width:min(520px,calc(100% - 32px));max-width:520px;margin:auto;border:1px solid #2a3640;border-radius:22px}.body-dialog-card{padding:21px}.body-measurement-dialog{width:min(620px,calc(100% - 32px));max-width:620px}.body-measurement-card{max-width:620px}}

/* Version 15 — compact progress, activity tracking, and supplements */
.top-profile-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #27343e;border-radius:11px;background:#131b23;color:#aab6bd}.top-profile-button .app-icon{width:18px;height:18px}.body-page-head{align-items:center;margin-bottom:9px}.body-page-head h1{font-size:1.45rem}.body-report-link{min-height:36px;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #27343e;border-radius:11px;background:#121a22;color:var(--accent);font-size:.65rem;font-weight:850}.body-report-link .app-icon{width:16px;height:16px}
.body-primary-stats{max-width:760px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #26333c;border-radius:16px;background:linear-gradient(145deg,#121a22,#0f161c);overflow:hidden}.body-primary-stats>div{min-width:0;padding:12px 9px}.body-primary-stats>div+div{border-left:1px solid #26333c}.body-primary-stats span,.body-primary-stats b,.body-primary-stats small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body-primary-stats span{color:#7f8d96;font-size:.52rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.body-primary-stats b{margin-top:5px;font-size:1.04rem;letter-spacing:-.03em}.body-primary-stats small{margin-top:2px;color:#687780;font-size:.5rem}.body-compact-progress{position:relative;max-width:760px;height:21px;margin-top:6px;border-radius:8px;background:#121a22;overflow:hidden}.body-compact-progress>span{height:3px;display:block;background:var(--accent)}.body-compact-progress small{position:absolute;right:7px;top:5px;color:#82908f;font-size:.52rem}.body-quick-actions{max-width:760px;display:flex;gap:7px;margin-top:8px;overflow-x:auto;scrollbar-width:none}.body-quick-actions::-webkit-scrollbar{display:none}.body-quick-actions button,.body-quick-actions a{min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border:1px solid #28353e;border-radius:12px;background:#131b23;color:#d7dfe2;font-size:.61rem;font-weight:800;white-space:nowrap}.body-quick-actions .body-add-weight{border-color:rgba(113,230,189,.28);background:var(--accent);color:#07130f}.body-quick-actions .app-icon{width:15px;height:15px}.body-estimate-note{margin-top:8px}.body-recent{margin-top:16px}

.supplement-head,.training-head,.muscles-head{max-width:900px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.supplement-head h1,.training-head h1,.muscles-head h1{margin:0}.supplement-head .subtle,.training-head .subtle,.muscles-head .subtle{margin-top:4px}.small-camera-launch,.training-head>button{min-height:38px;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(113,230,189,.25);border-radius:12px;background:#13221e;color:var(--accent);font-size:.65rem;font-weight:850}.small-camera-launch .app-icon,.training-head>button .app-icon{width:17px;height:17px}.supplement-grid{max-width:900px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.supplement-card{border:1px solid #22303a;border-radius:18px;background:#111820;overflow:hidden}.supplement-cover{position:relative;aspect-ratio:1.2/1;display:grid;place-items:center;background:linear-gradient(145deg,#1b2927,#111820);overflow:hidden;color:var(--accent)}.supplement-cover img{width:100%;height:100%;object-fit:cover}.supplement-cover>span .app-icon{width:42px;height:42px}.taken-badge{position:absolute;right:8px;top:8px;padding:5px 8px;border-radius:999px;background:var(--accent);color:#07130f;font-size:.54rem}.supplement-body{padding:11px}.supplement-body h2{min-height:35px;margin:4px 0 2px;font-size:.88rem;line-height:1.2}.supplement-body>p{margin:0 0 8px;color:var(--muted);font-size:.58rem}.supplement-body form{margin:0}.supplement-taken-button{width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #2d3d46;border-radius:10px;background:#182129;color:#d9e1e3;font-size:.62rem;font-weight:850}.supplement-taken-button span{color:var(--accent)}.supplement-card.is-taken{border-color:rgba(113,230,189,.32)}.supplement-card.is-taken .supplement-taken-button{background:rgba(113,230,189,.08);color:var(--accent)}.supplement-empty,.training-empty{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.supplement-empty>span,.training-empty>span{width:66px;height:66px;display:grid;place-items:center;margin-bottom:13px;border-radius:21px;background:#13251f;color:var(--accent)}.supplement-empty .app-icon,.training-empty .app-icon{width:28px;height:28px}.supplement-empty h2,.training-empty h2{margin:0;font-size:1.05rem}.supplement-empty p,.training-empty p{max-width:310px;margin:6px 0 14px;color:var(--muted);font-size:.7rem;line-height:1.45}.training-empty button{min-height:39px;padding:7px 13px;border:0;border-radius:11px;background:var(--accent);color:#07130f;font-size:.66rem;font-weight:850}

.today-training,.training-history{max-width:760px}.activity-list{display:grid;gap:8px}.activity-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid #24313b;border-radius:16px;background:#111820}.activity-symbol{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:#182a27;color:var(--accent);font-weight:900}.activity-symbol .app-icon{width:18px;height:18px}.activity-copy{min-width:0}.activity-copy h3,.activity-copy p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-copy h3{margin:0;font-size:.78rem}.activity-copy p{margin:3px 0 0;color:#7e8c94;font-size:.58rem}.activity-controls{display:flex;gap:5px}.activity-controls form{margin:0}.activity-controls button{min-height:32px;padding:5px 8px;border:1px solid #2c3a43;border-radius:10px;background:#172129;color:#cbd5d9;font-size:.58rem;font-weight:850}.activity-controls .activity-done{border-color:rgba(113,230,189,.25);color:var(--accent)}.activity-card>details{grid-column:2/-1}.activity-card>details summary{color:#71808a;font-size:.55rem;cursor:pointer}.activity-card>details p{margin:7px 0;color:#9aa7ad;font-size:.61rem;line-height:1.4}.activity-card>details button{padding:4px 0;border:0;background:transparent;color:#cf7c83;font-size:.55rem}.activity-card.is-complete{opacity:.63;border-color:rgba(113,230,189,.3)}.activity-card.is-complete h3{text-decoration:line-through}.training-history{margin-top:20px}.training-history-list{border:1px solid #23303a;border-radius:16px;background:#111820;overflow:hidden}.training-history-list>div{min-height:54px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 11px}.training-history-list>div+div{border-top:1px solid #202b34}.training-history-list time{font-size:.62rem;font-weight:800}.training-history-list span b,.training-history-list span small{display:block}.training-history-list span b{font-size:.7rem}.training-history-list span small{margin-top:2px;color:#74828a;font-size:.54rem}.training-history-list i{color:var(--accent);font-style:normal}

.modern-muscle-map{max-width:760px;padding:13px;border:1px solid #25343d;border-radius:19px;background:radial-gradient(circle at 50% 10%,rgba(113,230,189,.08),transparent 45%),#111820}.muscle-map-head{display:flex;align-items:center;justify-content:space-between}.muscle-map-head h2{margin:0;font-size:.92rem}.muscle-map-head>div{display:flex;padding:3px;border-radius:10px;background:#0c1217}.muscle-map-head button{min-height:29px;padding:4px 10px;border:0;border-radius:8px;background:transparent;color:#74838c;font-size:.58rem;font-weight:800}.muscle-map-head button.active{background:#21312f;color:var(--accent)}.muscle-stage{height:340px;display:grid;place-items:center;overflow:hidden}.muscle-stage img{max-width:100%;height:330px;grid-area:1/1;transition:opacity .18s,transform .18s}.muscle-stage .back,.muscle-stage[data-view=back] .front{opacity:0;pointer-events:none;transform:translateX(8px)}.muscle-stage[data-view=back] .back{opacity:1;transform:none}.muscle-chip-row{max-width:900px;display:flex;gap:7px;margin:10px 0 16px;padding-bottom:3px;overflow-x:auto;scrollbar-width:none}.muscle-chip-row::-webkit-scrollbar{display:none}.muscle-chip-row a{min-height:34px;display:flex;align-items:center;padding:5px 10px;border:1px solid #293640;border-radius:999px;background:#111820;color:#8c9aa2;font-size:.59rem;font-weight:800;white-space:nowrap}.muscle-chip-row a.active{border-color:rgba(113,230,189,.35);background:#183028;color:var(--accent)}.muscle-focus{max-width:900px;display:grid;gap:12px}.muscle-focus-intro{padding:14px 2px}.muscle-focus-intro h2{margin:1px 0 4px}.muscle-focus-intro p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.45}.current-measure-chips{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.current-measure-chips span{padding:6px 8px;border-radius:9px;background:#151e25;color:#8c9aa2;font-size:.55rem}.current-measure-chips b{color:#d8e0e2}.home-exercise-list{display:grid;gap:8px}.home-exercise-list .section-head{margin-bottom:0}.home-exercise-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid #24313a;border-radius:15px;background:#111820}.home-exercise-list article span{color:var(--accent);font-size:.51rem;font-weight:850;text-transform:uppercase}.home-exercise-list article h3{margin:3px 0;font-size:.79rem}.home-exercise-list article p{margin:0;color:#819098;font-size:.59rem;line-height:1.4}.home-exercise-list form{margin:0}.home-exercise-list button{min-height:34px;padding:6px 9px;border:1px solid rgba(113,230,189,.25);border-radius:10px;background:#162721;color:var(--accent);font-size:.58rem;font-weight:850}.measurement-guide{max-width:900px;display:grid;grid-template-columns:minmax(0,1fr) 145px;align-items:center;gap:10px;margin-top:20px;padding:15px;border:1px solid #26343d;border-radius:18px;background:#111820}.measurement-guide h2{margin:2px 0 5px}.measurement-guide p,.measurement-guide li{color:#87959c;font-size:.61rem;line-height:1.45}.measurement-guide ul{margin:8px 0;padding-left:17px}.measurement-guide button{min-height:34px;padding:6px 10px;border:0;border-radius:10px;background:var(--accent);color:#07130f;font-size:.59rem;font-weight:850}.measurement-guide img{width:100%;height:230px;object-fit:contain}

.report-head{max-width:900px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.report-head a{color:var(--accent);font-size:.62rem}.report-head h1{margin:3px 0 0}.report-head p{margin:3px 0 0;color:var(--muted);font-size:.58rem}.report-head button{min-height:36px;display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #2a3942;border-radius:11px;background:#151e25;color:var(--accent);font-size:.61rem;font-weight:850}.report-head .app-icon{width:15px;height:15px}.report-summary{max-width:900px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:13px;border:1px solid #26333c;border-radius:16px;background:#111820;overflow:hidden}.report-summary>div{padding:11px 8px}.report-summary>div+div{border-left:1px solid #26333c}.report-summary span,.report-summary b{display:block}.report-summary span{color:#7c8a93;font-size:.51rem;text-transform:uppercase;font-weight:850}.report-summary b{margin-top:5px;font-size:.78rem}.report-section{max-width:900px;margin-top:18px;padding:14px;border:1px solid #25323b;border-radius:17px;background:#111820}.report-section h2{margin:0 0 10px;font-size:.9rem}.report-table-wrap{overflow-x:auto}.report-section table{width:100%;border-collapse:collapse;font-size:.62rem}.report-section th,.report-section td{padding:8px;text-align:left;border-bottom:1px solid #243039}.report-section th{color:#78868e;font-size:.52rem;text-transform:uppercase}.report-measurements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.report-measurements>div{padding:8px;border-radius:10px;background:#172129}.report-measurements span,.report-measurements b{display:block}.report-measurements span{color:#78868e;font-size:.52rem}.report-measurements b{margin-top:3px;font-size:.68rem}.report-disclaimer{max-width:900px;color:#6f7d85;font-size:.55rem;line-height:1.45}

@media(max-width:370px){.top-profile-button{display:none}.body-primary-stats>div{padding-left:6px;padding-right:6px}.body-primary-stats b{font-size:.9rem}.measurement-guide{grid-template-columns:minmax(0,1fr) 110px}.measurement-guide img{height:190px}}
@media(min-width:700px){.supplement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.muscle-focus{grid-template-columns:.7fr 1.3fr}.measurement-guide{grid-template-columns:minmax(0,1fr) 220px}.measurement-guide img{height:300px}.modern-muscle-map{padding:16px}.muscle-stage{height:430px}.muscle-stage img{height:420px}}
@media print{.topbar,.mobile-tabbar,.footer,.report-head button{display:none!important}.container{max-width:none;padding:0;color:#111}.report-summary,.report-section{border-color:#bbb;background:#fff}.report-summary span,.report-section th,.report-disclaimer{color:#555}.report-section table{color:#111}.report-measurements>div{background:#f3f3f3}body{background:#fff}.report-head a{display:none}.report-head h1{color:#111}}

/* Version 16 — Food, Pantry, Menu, Body, Journal */
.food-today-head,.menu-page-head,.journal-head{max-width:820px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.food-today-head h1,.menu-page-head h1,.journal-head h1{margin:0}.food-today-head p,.menu-page-head p,.journal-head p{margin:3px 0 0;color:var(--muted);font-size:.66rem}.food-today-head>button,.menu-page-head>button{min-height:38px;display:flex;align-items:center;gap:5px;padding:7px 10px;border:0;border-radius:11px;background:var(--accent);color:#07130f;font-size:.63rem;font-weight:900}.food-today-head>button .app-icon,.menu-page-head>button .app-icon{width:15px;height:15px}
.daily-sticky-count{position:sticky;top:calc(var(--topbar) + env(safe-area-inset-top));z-index:30;max-width:820px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 -4px 9px;padding:4px;border:1px solid #26323b;border-radius:15px;background:rgba(13,19,25,.96);box-shadow:0 8px 22px rgba(0,0,0,.34);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.daily-sticky-count>div{min-width:0;padding:7px 4px;text-align:center}.daily-sticky-count>div+div{border-left:1px solid #26323b}.daily-sticky-count span,.daily-sticky-count b,.daily-sticky-count small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-sticky-count span{color:#829098;font-size:.48rem;font-weight:850;text-transform:uppercase}.daily-sticky-count b{margin-top:3px;font-size:.83rem}.daily-sticky-count small{margin-top:1px;color:#68767e;font-size:.43rem}
.voice-meal-box{max-width:820px;min-height:52px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;margin:0 0 16px;padding:6px;border:1px solid rgba(113,230,189,.25);border-radius:17px;background:#111a20}.voice-meal-box textarea{min-width:0;max-height:110px;padding:9px 4px;border:0;background:transparent;color:var(--text);font-size:.76rem;line-height:1.35;resize:none;outline:0}.voice-button,.voice-submit,.journal-mic{width:39px;height:39px;display:grid;place-items:center;padding:0;border:0;border-radius:12px}.voice-button,.journal-mic{background:#183029;color:var(--accent)}.voice-submit{background:var(--accent);color:#07130f;font-size:1rem;font-weight:900}.voice-button .app-icon,.journal-mic .app-icon{width:18px;height:18px}.voice-button.is-listening,.journal-mic.is-listening{animation:voice-pulse 1s infinite;background:var(--accent);color:#07130f}@keyframes voice-pulse{50%{box-shadow:0 0 0 8px rgba(113,230,189,.08)}}
.today-log{max-width:820px}.food-today-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #28353e;border-radius:18px;background:#0f161c;text-align:center}.food-today-empty>span{width:55px;height:55px;display:grid;place-items:center;margin-bottom:10px;border-radius:18px;background:#162a24;color:var(--accent)}.food-today-empty .app-icon{width:24px;height:24px}.food-today-empty b{font-size:.82rem}.food-today-empty small{max-width:270px;margin-top:4px;color:#78868e;font-size:.6rem;line-height:1.4}.today-entry-list{display:grid;gap:7px}.today-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid #24313a;border-radius:15px;background:#111820}.today-entry-thumb{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#20302c,#16201f);overflow:hidden;font-size:1.35rem}.today-entry-thumb img{width:100%;height:100%;object-fit:cover}.today-entry-main{min-width:0}.today-entry-main h3,.today-entry-main p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-entry-main h3{margin:0;font-size:.77rem}.today-entry-main p{margin:3px 0 0;color:#7f8d95;font-size:.56rem}.today-entry>details{position:relative}.today-entry>details>summary{width:31px;height:31px;display:grid;place-items:center;list-style:none;border-radius:9px;background:#182129;color:#84929a;font-size:.66rem;cursor:pointer}.today-entry>details>summary::-webkit-details-marker{display:none}.entry-more{grid-column:1/-1;margin-top:8px;padding-top:9px;border-top:1px solid #243039}.today-entry>details[open]{grid-column:1/-1;width:100%}.today-entry>details[open]>summary{margin-left:auto}.today-entry>details[open] .entry-more{display:block}.entry-more>small{display:block;color:#74828a;font-size:.53rem}.entry-macros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:7px}.entry-macros span{padding:7px 3px;border-radius:9px;background:#182129;color:#77858d;text-align:center;font-size:.48rem}.entry-macros b{display:block;color:#dbe3e5;font-size:.64rem}.entry-edit{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:6px;margin-top:8px}.entry-edit label span{display:block;margin-bottom:3px;color:#76848c;font-size:.5rem}.entry-edit input{width:100%;min-height:34px;padding:5px 7px;border:1px solid #2b3942;border-radius:9px;background:#0f161c;color:var(--text);font-size:.62rem}.entry-edit button{min-height:34px;padding:5px 9px;border:0;border-radius:9px;background:var(--accent);color:#07130f;font-size:.56rem;font-weight:850}.entry-more form{margin-bottom:0}.entry-delete{width:100%;padding:7px 0;border:0;background:transparent;color:#cf7c83;font-size:.53rem}
.food-picker-dialog .body-dialog-card{padding-top:15px}.picker-group+.picker-group{margin-top:16px}.picker-group>h3{margin:0 0 7px;color:#8b999f;font-size:.59rem;text-transform:uppercase;letter-spacing:.09em}.picker-item{border-bottom:1px solid #243039}.picker-item>summary,.picker-item-row{min-height:56px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}.picker-item>summary{list-style:none;cursor:pointer}.picker-item>summary::-webkit-details-marker{display:none}.picker-thumb{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#19251f;overflow:hidden}.picker-thumb img{width:100%;height:100%;object-fit:cover}.picker-item>summary b,.picker-item-row>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.picker-item>summary i{color:var(--accent);font-size:1rem;font-style:normal}.picker-add-button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--accent);font-size:1rem;font-weight:500}.picker-add-button[aria-expanded="true"]{color:var(--accent)}.picker-item>form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:7px;padding:5px 0 12px 49px}.picker-item>form[hidden]{display:none}.picker-item label{min-width:0;color:#76848c;font-size:.49rem}.picker-item input{width:100%;min-width:0;min-height:38px;display:block;margin-top:3px;padding:5px 7px;border:1px solid #2b3942;border-radius:9px;background:#0f161c;color:var(--text)}.picker-item form button{grid-column:1/-1;width:100%;min-height:48px;padding:8px 12px;border:0;border-radius:11px;background:var(--accent);color:#07130f;font-size:.63rem;font-weight:900}.picker-item form button:active{transform:translateY(1px)}
.menu-page-head,.journal-head{align-items:center}.menu-card-grid{max-width:900px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.menu-card{border:1px solid #24313a;border-radius:18px;background:#111820;overflow:hidden}.menu-cover{aspect-ratio:1.3/1;display:grid;place-items:center;background:linear-gradient(145deg,#20332d,#111820);font-size:2.2rem;overflow:hidden}.menu-cover img{width:100%;height:100%;object-fit:cover}.menu-card-body{padding:10px}.menu-card-body>span{color:var(--accent);font-size:.5rem;font-weight:850;text-transform:uppercase}.menu-card-body h2{min-height:34px;margin:3px 0 7px;font-size:.8rem}.menu-numbers{display:flex;gap:6px}.menu-numbers>b{flex:1;padding:7px;border-radius:9px;background:#182129;font-size:.68rem}.menu-numbers small{display:block;color:#74828a;font-size:.46rem;font-weight:650}.menu-card details{margin-top:7px}.menu-card summary{color:#829098;font-size:.54rem;cursor:pointer}.menu-card details p,.menu-card details li{color:#839199;font-size:.55rem;line-height:1.4}.menu-card details ul{padding-left:16px}.menu-card details li b{float:right;color:#d4dddf}.menu-card details button{width:100%;padding:6px;border:0;background:transparent;color:#cf7c83;font-size:.52rem}.menu-empty,.journal-empty{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.menu-empty>span,.journal-empty>span{width:62px;height:62px;display:grid;place-items:center;margin-bottom:11px;border-radius:20px;background:#152923;color:var(--accent)}.menu-empty .app-icon,.journal-empty .app-icon{width:27px;height:27px}.menu-empty h2,.journal-empty h2{margin:0;font-size:.96rem}.menu-empty p,.journal-empty p{max-width:290px;margin:5px 0 13px;color:#7d8b93;font-size:.65rem}.menu-empty button{min-height:37px;padding:6px 11px;border:0;border-radius:10px;background:var(--accent);color:#07130f;font-size:.6rem;font-weight:850}.menu-name-input,.menu-description{display:block;padding:10px;border:1px solid #28343d;border-radius:14px;background:#151d25}.menu-name-input span,.menu-description span,.menu-small-grid label>span{display:block;margin-bottom:5px;color:#95a2a9;font-size:.57rem;font-weight:800}.menu-name-input input,.menu-description textarea,.menu-small-grid input{width:100%;min-height:38px;padding:6px 8px;border:0;border-radius:8px;background:#10171e;color:var(--text)}.menu-small-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.menu-small-grid label{padding:9px;border:1px solid #28343d;border-radius:13px;background:#151d25}.menu-description{margin-top:7px}.menu-ingredient-head{margin-top:14px}.menu-ingredient-head h3{margin:0;font-size:.74rem}.menu-ingredient-head small{color:#75838b;font-size:.53rem}.menu-ingredient-list{max-height:300px;margin-top:7px;overflow-y:auto;border:1px solid #25323b;border-radius:13px;background:#10171e}.menu-ingredient-list label{min-height:53px;display:grid;grid-template-columns:minmax(0,1fr) 70px;align-items:center;gap:8px;padding:7px 9px}.menu-ingredient-list label+label{border-top:1px solid #222e36}.menu-ingredient-list span,.menu-ingredient-list small{display:block}.menu-ingredient-list span{font-size:.65rem;font-weight:750}.menu-ingredient-list small{margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6f7d85;font-size:.48rem;font-weight:500}.menu-ingredient-list input{width:100%;min-height:34px;padding:5px 7px;border:1px solid #2b3942;border-radius:9px;background:#151e25;color:var(--text)}
.journal-head{max-width:760px}.journal-composer{max-width:760px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:10px;border:1px solid rgba(113,230,189,.24);border-radius:17px;background:#111820}.journal-mic{align-self:start}.journal-composer textarea{width:100%;min-height:75px;padding:7px;border:0;background:transparent;color:var(--text);font-size:.76rem;line-height:1.45;resize:vertical;outline:0}.journal-composer>div{grid-column:2;display:flex;justify-content:flex-end;gap:6px}.journal-composer input{min-height:35px;padding:5px 7px;border:1px solid #2b3942;border-radius:9px;background:#0f161c;color:var(--text)}.journal-composer>div button{min-height:35px;padding:6px 10px;border:0;border-radius:9px;background:var(--accent);color:#07130f;font-size:.58rem;font-weight:850}.journal-days{max-width:760px;margin-top:18px}.journal-day+.journal-day{margin-top:19px}.journal-date{display:flex;align-items:baseline;gap:6px;margin-bottom:7px}.journal-date b{font-size:.76rem}.journal-date span{color:#718089;font-size:.53rem}.journal-entry-list{display:grid;gap:7px}.journal-entry-list article{position:relative;padding:10px 38px 10px 12px;border:1px solid #24313a;border-radius:14px;background:#111820}.journal-entry-list time{color:var(--accent);font-size:.5rem;font-weight:800}.journal-entry-list p{margin:4px 0 0;color:#d4dcdf;font-size:.67rem;line-height:1.45}.journal-entry-list article>details{position:absolute;right:8px;top:8px}.journal-entry-list article>details>summary{width:27px;height:27px;display:grid;place-items:center;list-style:none;border-radius:8px;background:#182129;color:#78868e;font-size:.55rem;cursor:pointer}.journal-entry-list article>details[open]{position:static}.journal-entry-list article>details[open]>summary{position:absolute;right:8px;top:8px}.journal-edit{display:grid;gap:6px;margin-top:9px}.journal-edit textarea{width:100%;padding:7px;border:1px solid #2a3740;border-radius:9px;background:#0f161c;color:var(--text);font-size:.63rem}.journal-edit input{min-height:34px;padding:5px 7px;border:1px solid #2a3740;border-radius:9px;background:#0f161c;color:var(--text)}.journal-edit button{min-height:34px;border:0;border-radius:9px;background:var(--accent);color:#07130f;font-size:.56rem;font-weight:850}.journal-delete{width:100%;padding:7px;border:0;background:transparent;color:#cf7c83;font-size:.52rem}
.product-research-form{margin:9px 0 0}.product-research-form button{width:100%;min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border:1px solid rgba(113,230,189,.24);border-radius:10px;background:#162721;color:var(--accent);font-size:.56rem;font-weight:850}.product-research-form .app-icon{width:14px;height:14px}
.product-unit-basis{margin:-1px 0 7px;color:#708089;font-size:.52rem;font-weight:750}
@media(max-width:370px){.daily-sticky-count>div{padding-left:2px;padding-right:2px}.daily-sticky-count b{font-size:.73rem}.daily-sticky-count span{font-size:.43rem}.menu-small-grid{grid-template-columns:1fr}.entry-edit{grid-template-columns:1fr 1fr}.entry-edit button{grid-column:1/-1}}
@media(min-width:700px){.menu-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.food-picker-dialog,.menu-dialog{max-width:580px}.daily-sticky-count{top:calc(64px + env(safe-area-inset-top))}}

/* Version 17 — confirmation, editable Pantry, weight history, Active Journal */
.daily-sticky-count i{height:3px;display:block;margin-top:5px;border-radius:99px;background:#24313a;overflow:hidden}.daily-sticky-count i em{height:100%;display:block;border-radius:inherit;background:var(--accent);transition:width .3s ease}.daily-sticky-count div:nth-child(5) i em{background:#7fe6ad}
.meal-preview{max-width:820px;margin:-6px 0 16px;padding:12px;border:1px solid rgba(113,230,189,.27);border-radius:18px;background:#111a20}.meal-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.meal-preview-head h2{margin:2px 0 0;font-size:.9rem}.meal-preview-head>span{padding:5px 8px;border-radius:999px;background:#19272a;color:var(--accent);font-size:.54rem;font-weight:800}.meal-preview-list{display:grid;gap:6px;margin-top:10px}.meal-preview-item{min-height:56px;display:grid;grid-template-columns:auto auto minmax(0,1fr) 65px auto;align-items:center;gap:7px;padding:7px;border:1px solid #27343d;border-radius:13px;background:#0e151b}.meal-preview-item>input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}.meal-preview-thumb{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#192721;overflow:hidden}.meal-preview-thumb img{width:100%;height:100%;object-fit:cover}.meal-preview-item>span:nth-of-type(2){min-width:0}.meal-preview-item b,.meal-preview-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-preview-item b{font-size:.68rem}.meal-preview-item small{margin-top:2px;color:#76848c;font-size:.49rem}.meal-preview-item>input[type=number]{width:100%;min-height:33px;padding:5px 6px;border:1px solid #2b3942;border-radius:8px;background:#151e25;color:var(--text);font-size:.62rem}.meal-preview-item>i{color:#75838b;font-size:.5rem;font-style:normal}.meal-preview-item.is-missing{grid-template-columns:auto minmax(0,1fr);border-color:rgba(218,164,91,.35);background:rgba(150,100,45,.07)}.meal-preview-item.is-missing .meal-preview-thumb{background:#2b241c;color:#d9a45f}.meal-preview-actions{display:flex;align-items:end;justify-content:flex-end;gap:8px;margin-top:10px}.meal-preview-actions label{color:#7b8991;font-size:.5rem}.meal-preview-actions input{display:block;min-height:35px;margin-top:3px;padding:5px 7px;border:1px solid #2b3942;border-radius:9px;background:#0f161c;color:var(--text)}.meal-preview-actions button{min-height:36px;padding:6px 11px;border:0;border-radius:10px;background:var(--accent);color:#07130f;font-size:.58rem;font-weight:900}.meal-preview-cancel{margin:3px 0 0;text-align:right}.meal-preview-cancel button{padding:5px 2px;border:0;background:transparent;color:#75838b;font-size:.52rem}

.pantry-head-actions{display:flex;align-items:center;gap:7px}.pantry-archive-link{min-height:40px;display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #27343e;border-radius:12px;background:#121a22;color:#cbd5da;font-size:.62rem;font-weight:800}.pantry-archive-link .app-icon{width:16px;height:16px;color:var(--accent)}.pantry-search{max-width:620px;min-height:46px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin-bottom:14px;padding:5px 6px 5px 11px;border:1px solid #27343e;border-radius:15px;background:#121a22}.pantry-search .app-icon{width:17px;height:17px;color:#78868e}.pantry-search input{min-width:0;min-height:34px;border:0;background:transparent;color:var(--text);outline:0}.pantry-search button{min-height:34px;padding:5px 9px;border:0;border-radius:9px;background:var(--accent);color:#07130f;font-size:.55rem;font-weight:850}.archive-grid .food-product-card{opacity:.85}.product-restore-form{margin:8px 0 0}.product-restore-form button,.product-edit-button{width:100%;min-height:32px;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 8px;border:1px solid #2a3943;border-radius:10px;background:#172129;color:#cbd5da;font-size:.58rem;font-weight:800}.product-restore-form button{border-color:rgba(113,230,189,.25);background:#162721;color:var(--accent)}.product-edit-button{margin-top:6px}.product-edit-button .app-icon{width:13px;height:13px;color:var(--accent)}.product-fact-basis{margin:-1px 0 7px;color:#708089;font-size:.5rem;font-weight:750}.pantry-edit-dialog .body-dialog-card{max-width:560px;max-height:min(90vh,760px);overflow-y:auto}.pantry-edit-form{display:block}.pantry-edit-identity{display:grid;gap:7px}.pantry-edit-form label{display:block}.pantry-edit-form label>span,.pantry-photo-tools label>span{display:block;margin-bottom:4px;color:#8b999f;font-size:.52rem;font-weight:800}.pantry-edit-form input,.pantry-edit-form textarea,.pantry-edit-form select{width:100%;min-height:37px;padding:6px 8px;border:1px solid #2a3740;border-radius:9px;background:#0f161c;color:var(--text)}.pantry-edit-form textarea{min-height:70px;resize:vertical}.pantry-photo-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px;margin-top:9px;padding:9px;border:1px solid #27343d;border-radius:12px;background:#151e25}.pantry-photo-tools input[type=file]{font-size:.55rem}.pantry-photo-tools button{min-height:37px;display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid rgba(113,230,189,.25);border-radius:9px;background:#162721;color:var(--accent);font-size:.54rem;font-weight:850}.pantry-photo-tools .app-icon{width:14px;height:14px}.pantry-nutrition-head{display:flex;align-items:end;justify-content:space-between;gap:8px;margin:15px 0 7px}.pantry-nutrition-head h3{margin:0;font-size:.72rem}.pantry-nutrition-head small{color:#718089;font-size:.49rem}.pantry-nutrition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pantry-edit-more{margin-top:10px;border-top:1px solid #28343d}.pantry-edit-more summary{padding:10px 0;color:var(--accent);font-size:.58rem;font-weight:800;cursor:pointer}.pantry-edit-more label+label{margin-top:7px}.nutrition-research-overlay{position:fixed;inset:0;z-index:350;display:grid;place-items:center;padding:20px;background:rgba(4,8,11,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nutrition-research-overlay[hidden]{display:none}.nutrition-research-overlay>div{width:min(100%,310px);display:flex;flex-direction:column;align-items:center;padding:26px 20px;border:1px solid #2a3943;border-radius:20px;background:#111820;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.55)}.nutrition-research-overlay b{font-size:.87rem}.nutrition-research-overlay small{max-width:250px;margin-top:5px;color:#7c8a92;font-size:.59rem;line-height:1.45}.is-waiting{opacity:.68;pointer-events:none}

.body-row-edit{min-height:30px;padding:5px 8px;border:1px solid #2a3943;border-radius:9px;background:#172129;color:var(--accent);font-size:.53rem;font-weight:850}

.journal-search{max-width:760px;min-height:47px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin-bottom:11px;padding:5px 6px 5px 11px;border:1px solid #27343e;border-radius:15px;background:#111820}.journal-search>span{color:#78868e}.journal-search .app-icon{width:17px;height:17px}.journal-search input{min-width:0;min-height:35px;border:0;background:transparent;color:var(--text);outline:0}.journal-search button{min-height:35px;padding:5px 10px;border:0;border-radius:9px;background:#1a2c27;color:var(--accent);font-size:.55rem;font-weight:850}.journal-calendar{max-width:760px;padding:11px;border:1px solid #25323b;border-radius:18px;background:#111820}.journal-calendar>header{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;text-align:center}.journal-calendar>header>a{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#182129;color:var(--text);font-size:1.25rem}.journal-calendar>header span{color:var(--accent);font-size:.47rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.journal-calendar>header h2{margin:2px 0 0;font-size:.82rem}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-weekdays{margin-top:9px}.calendar-weekdays span{padding:4px 0;color:#63717a;text-align:center;font-size:.43rem;font-weight:800}.calendar-days>a,.calendar-blank{min-height:39px}.calendar-days>a{position:relative;display:grid;place-items:center;border:1px solid transparent;border-radius:9px;color:#9aa7ad}.calendar-days>a b{font-size:.58rem}.calendar-days>a small{position:absolute;right:3px;top:3px;min-width:13px;height:13px;display:grid;place-items:center;border-radius:7px;background:#20312d;color:var(--accent);font-size:.4rem}.calendar-days>a.is-today{border-color:#40514e;color:#e6edee}.calendar-days>a.is-selected{border-color:var(--accent);background:var(--accent);color:#07130f}.calendar-days>a.is-selected small{background:#0e1b17;color:var(--accent)}.journal-upcoming{max-width:760px;margin-top:14px}.journal-upcoming .section-head{margin-bottom:6px}.journal-upcoming .section-head h2{margin-top:2px}.journal-upcoming>div:last-child{display:grid;gap:6px}.journal-upcoming article{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid #24313a;border-radius:13px;background:#111820}.journal-upcoming time b,.journal-upcoming time span{display:block}.journal-upcoming time b{font-size:.58rem}.journal-upcoming time span{margin-top:2px;color:#76848c;font-size:.46rem}.journal-upcoming p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem}.journal-upcoming p span{display:block;margin-bottom:2px;color:var(--accent);font-size:.43rem;text-transform:uppercase;font-weight:850}.journal-upcoming form{margin:0}.journal-upcoming button{width:30px;height:30px;padding:0;border:1px solid rgba(113,230,189,.3);border-radius:9px;background:#162721;color:var(--accent)}.journal-composer{margin-top:14px}.journal-composer>.journal-entry-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:6px}.journal-entry-options label>span{display:block;margin-bottom:3px;color:#76848c;font-size:.48rem}.journal-entry-options input,.journal-entry-options select{width:100%;min-height:35px;padding:5px 6px;border:1px solid #2b3942;border-radius:9px;background:#0f161c;color:var(--text);font-size:.55rem}.journal-composer>.journal-entry-options button{min-height:35px;padding:6px 10px;border:0;border-radius:9px;background:var(--accent);color:#07130f;font-size:.56rem;font-weight:850}.journal-results-title{max-width:760px;display:flex;align-items:end;justify-content:space-between;gap:8px;margin:18px 0 7px}.journal-results-title h2{margin:2px 0 0;font-size:.8rem}.journal-results-title a{color:var(--accent);font-size:.53rem}.journal-days{margin-top:0}.journal-entry-list article{padding-right:38px}.journal-entry-meta{display:flex;align-items:center;gap:6px}.journal-entry-meta>span{padding:3px 5px;border-radius:6px;background:#1b2a26;color:var(--accent);font-size:.42rem;font-weight:850;text-transform:uppercase}.journal-entry-meta>span.kind-reminder{background:#30281c;color:#e6bb78}.journal-entry-meta>span.kind-meeting{background:#23273a;color:#aebcff}.journal-entry-meta time{color:#73818a}.journal-entry-meta i{color:#6f9d88;font-size:.43rem;font-style:normal}.journal-entry-list article.is-complete{opacity:.62}.journal-entry-list article.is-complete>p{text-decoration:line-through}.journal-complete-form{margin:7px 0 0}.journal-complete-form button{min-height:27px;padding:4px 7px;border:1px solid rgba(113,230,189,.22);border-radius:8px;background:#162721;color:var(--accent);font-size:.49rem;font-weight:800}.journal-edit{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.journal-edit textarea{grid-column:1/-1}.journal-edit select,.journal-edit input{width:100%;min-width:0}.journal-edit button{padding:5px 8px}.journal-entry-list article>details[open] form:last-child{margin:0}

@media(max-width:430px){.meal-preview-item{grid-template-columns:auto auto minmax(0,1fr) 52px auto}.pantry-head-actions{gap:4px}.pantry-archive-link,.shopping-list-link{padding-left:8px;padding-right:8px}.journal-composer>.journal-entry-options{grid-template-columns:1fr 1fr}.journal-entry-options label:first-child{grid-column:1/-1}.journal-composer>.journal-entry-options button{grid-column:1/-1}.journal-edit{grid-template-columns:1fr 1fr}.journal-edit select{grid-column:1/-1}.journal-edit button{grid-column:1/-1}}
@media(min-width:700px){.journal-calendar{padding:14px}.calendar-days>a,.calendar-blank{min-height:48px}.pantry-edit-identity{grid-template-columns:2fr 1fr 1fr}}

/* Version 18 — compact Journal agenda and clear Pantry identities */
.global-reminder{max-width:760px;display:grid;grid-template-columns:34px minmax(0,1fr) 12px;align-items:center;gap:9px;margin:0 0 10px;padding:8px 10px;border:1px solid rgba(113,230,189,.3);border-radius:13px;background:linear-gradient(135deg,#13241f,#111a1d);color:var(--text)}.global-reminder>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#1b332b;color:var(--accent)}.global-reminder .app-icon{width:18px;height:18px}.global-reminder p{min-width:0;margin:0}.global-reminder small,.global-reminder b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-reminder small{color:var(--accent);font-size:.45rem;text-transform:uppercase;font-weight:850;letter-spacing:.06em}.global-reminder b{margin-top:2px;font-size:.58rem}.global-reminder i{color:var(--accent);font-style:normal}
.journal-compact-head,.agenda-page-head{max-width:760px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.journal-compact-head h1,.agenda-page-head h1{margin:2px 0 0}.journal-compact-head p{margin:4px 0 0;color:var(--muted);font-size:.59rem}.journal-icon-actions{display:flex;gap:7px}.journal-icon-actions button,.agenda-page-head>a,.agenda-page-head>button{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid #2a3942;border-radius:13px;background:#121b22;color:var(--accent)}.journal-icon-actions .app-icon,.agenda-page-head .app-icon{width:19px;height:19px}
.journal-schedule-peek{max-width:760px;margin-bottom:15px;padding:10px;border:1px solid #25343c;border-radius:17px;background:#111920}.journal-schedule-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.journal-schedule-head h2{margin:2px 0 0;font-size:.75rem}.journal-schedule-head>a{display:flex;align-items:center;gap:5px;color:var(--accent);font-size:.51rem;font-weight:800}.journal-schedule-head .app-icon{width:15px;height:15px}.journal-schedule-strip{display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:2px}.journal-schedule-strip>a{min-width:min(290px,83vw);display:grid;grid-template-columns:46px minmax(0,1fr) 8px;align-items:center;gap:8px;padding:8px;border-radius:12px;background:#172129;color:var(--text);scroll-snap-align:start}.journal-schedule-strip time b,.journal-schedule-strip time span{display:block}.journal-schedule-strip time b{font-size:.55rem}.journal-schedule-strip time span{margin-top:2px;color:#7f8c93;font-size:.43rem}.journal-schedule-strip p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.57rem}.journal-schedule-strip p small{display:block;margin-bottom:2px;color:var(--accent);font-size:.4rem;font-weight:850;text-transform:uppercase}.journal-schedule-strip i{color:#7a898f;font-style:normal}.journal-no-schedule{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;column-gap:9px;padding:8px;border:0;border-radius:12px;background:#151f26;color:var(--text);text-align:left}.journal-no-schedule>span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#1a2d28;color:var(--accent)}.journal-no-schedule b{font-size:.57rem}.journal-no-schedule small{color:#7f8c93;font-size:.48rem}
.journal-feed-head{max-width:760px;display:flex;align-items:end;justify-content:space-between;gap:10px;margin:0 0 7px}.journal-feed-head h2{margin:2px 0 0;font-size:.79rem}.journal-feed-head>a{color:var(--accent);font-size:.5rem}.journal-feed{max-width:760px;display:grid;gap:13px}.journal-feed-day{display:grid;grid-template-columns:66px minmax(0,1fr);gap:8px}.journal-feed-date{padding-top:5px}.journal-feed-date b,.journal-feed-date span{display:block}.journal-feed-date b{font-size:.53rem}.journal-feed-date span{margin-top:2px;color:#6f7d85;font-size:.42rem}.journal-feed-day>div:last-child{display:grid;gap:6px}.journal-feed-entry{position:relative;border:1px solid #24323a;border-radius:13px;background:#111920;overflow:hidden}.journal-entry-open{width:100%;display:block;padding:9px 40px 9px 10px;border:0;background:transparent;color:var(--text);text-align:left}.journal-entry-open p{margin:4px 0;font-size:.58rem;line-height:1.35}.journal-entry-open time{color:#718087;font-size:.43rem}.journal-kind{display:inline-block;padding:2px 5px;border-radius:6px;background:#1b2c27;color:var(--accent);font-size:.39rem;font-weight:850;text-transform:uppercase}.journal-kind.kind-reminder{background:#30281c;color:#e6bb78}.journal-kind.kind-meeting{background:#23273a;color:#aebcff}.journal-feed-entry.is-complete{opacity:.58}.journal-feed-entry.is-complete p{text-decoration:line-through}.journal-feed-check{position:absolute;right:7px;top:50%;margin:0;transform:translateY(-50%)}.journal-feed-check button{width:27px;height:27px;padding:0;border:1px solid rgba(113,230,189,.28);border-radius:8px;background:#182721;color:var(--accent)}
.journal-simple-dialog .body-dialog-card{max-width:540px}.journal-smart-input{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:8px}.journal-smart-input textarea,.journal-edit-content{width:100%;resize:vertical;border:1px solid #2b3942;border-radius:13px;background:#0f171d;color:var(--text);font:inherit;line-height:1.4}.journal-smart-input textarea{min-height:126px;padding:11px}.journal-mic{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid rgba(113,230,189,.28);border-radius:13px;background:#173128;color:var(--accent)}.journal-mic .app-icon{width:20px;height:20px}.journal-mic.is-listening{animation:pulse 1.2s infinite;background:var(--accent);color:#07130f}.journal-smart-hint{margin:8px 0 12px;color:#78868e;font-size:.51rem;line-height:1.4}.journal-search-field{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;padding:6px 9px;border:1px solid #2b3942;border-radius:12px;background:#0f171d}.journal-search-field>span{color:#718087}.journal-search-field .app-icon{width:18px;height:18px}.journal-search-field input{width:100%;min-height:37px;border:0;background:transparent;color:var(--text);outline:0}.journal-edit-content{min-height:110px;padding:10px}.journal-edit-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:9px 0}.journal-edit-fields label>span{display:block;margin:0 0 3px;color:#77858d;font-size:.46rem}.journal-edit-fields input,.journal-edit-fields select{width:100%;min-height:38px;padding:6px;border:1px solid #2b3942;border-radius:10px;background:#0f171d;color:var(--text)}.journal-dialog-delete{max-width:540px;margin:-4px auto 0;padding:0 14px 14px}.journal-dialog-delete button{border:0;background:transparent;color:#dc7d7d;font-size:.5rem}
.agenda-page-head{justify-content:flex-start}.agenda-page-head>div{flex:1}.agenda-page-head>a{color:var(--text);font-size:1.35rem}.agenda-month-nav{max-width:760px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:10px;padding:7px;border:1px solid #25343c;border-radius:14px;background:#111920;text-align:center}.agenda-month-nav>a{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#182129;color:var(--text);font-size:1.2rem}.agenda-month-nav>div span,.agenda-month-nav>div b{display:block}.agenda-month-nav>div span{color:var(--accent);font-size:.42rem;font-weight:850}.agenda-month-nav>div b{font-size:.68rem}.agenda-list{max-width:760px;display:grid;gap:8px}.agenda-day{display:grid;grid-template-columns:50px minmax(0,1fr);gap:7px}.agenda-day>header{padding:7px 2px;text-align:center}.agenda-day>header b,.agenda-day>header strong,.agenda-day>header span{display:block}.agenda-day>header b{color:#7d8a91;font-size:.43rem;text-transform:uppercase}.agenda-day>header strong{font-size:.95rem}.agenda-day>header span{color:#718087;font-size:.43rem}.agenda-day.is-today>header strong{color:var(--accent)}.agenda-day>div{display:grid;gap:5px}.agenda-day article{position:relative;border:1px solid #25333c;border-radius:12px;background:#111920}.agenda-entry-open{width:100%;display:grid;grid-template-columns:58px minmax(0,1fr) 9px;align-items:center;gap:8px;padding:9px 40px 9px 9px;border:0;background:transparent;color:var(--text);text-align:left}.agenda-entry-open time{color:var(--accent);font-size:.48rem;font-weight:800}.agenda-entry-open p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.57rem}.agenda-entry-open p small{display:block;margin-bottom:2px;color:#7a888f;font-size:.4rem;text-transform:uppercase}.agenda-entry-open i{font-style:normal}.agenda-day article>form{position:absolute;right:7px;top:50%;margin:0;transform:translateY(-50%)}.agenda-day article>form button{width:27px;height:27px;padding:0;border:1px solid rgba(113,230,189,.26);border-radius:8px;background:#182721;color:var(--accent)}.agenda-day article.is-complete{opacity:.55}.agenda-day article.is-complete p{text-decoration:line-through}.agenda-empty{max-width:760px;padding:28px 18px;border:1px dashed #2b3a42;border-radius:17px;background:#111820;text-align:center}.agenda-empty>span{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 8px;border-radius:15px;background:#193029;color:var(--accent)}.agenda-empty h2{margin:0}.agenda-empty p{max-width:440px;margin:6px auto 12px;color:var(--muted);font-size:.55rem}.agenda-empty button{padding:8px 12px;border:0;border-radius:10px;background:var(--accent);color:#07130f;font-weight:850}
.product-exact-title{display:-webkit-box;margin-top:2px;overflow:hidden;color:#718087;font-size:.47rem;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pantry-tracking-basis{margin:8px 0 0;padding:7px 9px;border:1px solid #283740;border-radius:11px}.pantry-tracking-basis summary{cursor:pointer;color:var(--accent);font-size:.51rem;font-weight:800}.pantry-tracking-basis>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.pantry-tracking-basis label>span{display:block;margin-bottom:3px;color:#77858d;font-size:.44rem}.pantry-tracking-basis input,.pantry-tracking-basis select{width:100%;min-height:38px;padding:6px;border:1px solid #2b3942;border-radius:9px;background:#0f171d;color:var(--text)}
@media(max-width:560px){.journal-feed-day{grid-template-columns:53px minmax(0,1fr)}.journal-edit-fields,.pantry-tracking-basis>div{grid-template-columns:1fr}.journal-compact-head p{display:none}.journal-icon-actions button{width:40px;height:40px}.agenda-entry-open{grid-template-columns:52px minmax(0,1fr) 8px}.agenda-page-head{margin-bottom:10px}}
.journal-mic.is-listening{animation:voice-pulse 1.2s infinite}
.voice-meal-box.is-waiting .voice-submit{font-size:0}.voice-meal-box.is-waiting .voice-submit:after{content:"";width:15px;height:15px;border:2px solid rgba(7,19,15,.28);border-top-color:#07130f;border-radius:50%;animation:camera-spin .7s linear infinite}

/* Version 18.1 — direct Food/Recipe pickers and journal-first layout */
.food-today-actions{display:flex;align-items:center;gap:6px}.food-today-actions button{min-height:38px;display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid transparent;border-radius:11px;background:var(--accent);color:#07130f;font-size:.56rem;font-weight:900;white-space:nowrap}.food-today-actions button .app-icon{width:14px;height:14px}.food-today-actions .add-recipe-button{border-color:#2c3b43;background:#152028;color:var(--accent)}.picker-upgrade-note{margin:0 0 8px;padding:8px 9px;border:1px solid #755a2d;border-radius:11px;background:#271f14}.picker-upgrade-note b,.picker-upgrade-note span{display:block}.picker-upgrade-note b{color:#edc58b;font-size:.53rem}.picker-upgrade-note span{margin-top:3px;color:#bca781;font-size:.47rem;line-height:1.35}.picker-item form button:disabled{opacity:.4}.picker-empty{padding:24px 10px;text-align:center}.picker-empty span,.picker-empty b,.picker-empty a{display:block}.picker-empty span{font-size:1.6rem}.picker-empty b{margin-top:6px}.picker-empty a{margin-top:7px;color:var(--accent);font-size:.55rem}
.journal-icon-actions a{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid #2a3942;border-radius:13px;background:#121b22;color:var(--accent)}.journal-icon-actions a .app-icon{width:19px;height:19px}.journal-main-composer{max-width:760px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:start;gap:8px;margin:0 0 16px;padding:9px;border:1px solid rgba(113,230,189,.28);border-radius:17px;background:#111920}.journal-main-composer textarea{width:100%;min-height:76px;padding:8px 2px;border:0;background:transparent;color:var(--text);font:inherit;font-size:.68rem;line-height:1.4;resize:vertical;outline:0}.journal-main-save{width:42px;height:42px;padding:0;border:0;border-radius:12px;background:var(--accent);color:#07130f;font-size:1rem;font-weight:900}.journal-main-composer>small{grid-column:2/4;color:#718087;font-size:.44rem}.journal-main-composer.is-waiting .journal-main-save{font-size:0}.journal-main-composer.is-waiting .journal-main-save:after{content:"";display:inline-block;width:15px;height:15px;border:2px solid rgba(7,19,15,.28);border-top-color:#07130f;border-radius:50%;animation:camera-spin .7s linear infinite}
.short-name-upgrade-note{margin:0 0 9px;padding:8px 9px;border:1px solid #755a2d;border-radius:11px;background:#271f14}.short-name-upgrade-note b,.short-name-upgrade-note span{display:block}.short-name-upgrade-note b{color:#edc58b;font-size:.54rem}.short-name-upgrade-note span{margin-top:3px;color:#bca781;font-size:.47rem;line-height:1.35}
@media(max-width:560px){.food-today-head{align-items:flex-start}.food-today-actions{display:grid;grid-template-columns:1fr 1fr}.food-today-actions button{justify-content:center;padding:6px 7px}.food-today-actions button .app-icon{display:none}.journal-main-composer{grid-template-columns:40px minmax(0,1fr) 40px}.journal-icon-actions a,.journal-icon-actions button{width:40px;height:40px}}

/* Version 19 — journal only, recipe editing/archive, and daily history */
.body-migration-note,.picker-upgrade-note,.short-name-upgrade-note{display:none!important}.food-date-nav{max-width:820px;display:flex;align-items:center;gap:6px;margin:0 0 10px}.food-date-nav>a,.food-date-nav>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid #293740;border-radius:10px;background:#121b22;color:var(--accent);font-size:1rem}.food-date-nav>span{opacity:.3}.food-date-nav form{margin:0}.food-date-nav input{height:34px;padding:5px 8px;border:1px solid #293740;border-radius:10px;background:#121b22;color:var(--text);font-size:.52rem}.food-date-nav .food-date-today{width:auto;padding:0 10px;font-size:.49rem;font-weight:850}.menu-head-actions{display:flex;align-items:center;gap:6px}.menu-head-actions>a,.menu-head-actions>button{min-height:38px;display:flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #2a3942;border-radius:11px;background:#152028;color:var(--accent);font-size:.56rem;font-weight:900;white-space:nowrap}.menu-head-actions>button{border-color:transparent;background:var(--accent);color:#07130f}.menu-head-actions .app-icon{width:15px;height:15px}.menu-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.menu-card-actions form{margin:0}.menu-card-actions button,.menu-restore-form button{width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border:1px solid #2a3942;border-radius:10px;background:#172129;color:var(--accent);font-size:.52rem;font-weight:800}.menu-card-actions form button{color:#d88989}.menu-card-actions .app-icon{width:14px;height:14px}.menu-restore-form{margin:9px 0 0}.journal-note-fields{grid-template-columns:1fr 1fr}.journal-main-composer{margin-top:2px}.journal-main-composer textarea{min-height:88px}.journal-entry-open{padding-right:10px}.journal-entry-open p{margin-top:0}
@media(max-width:560px){.menu-page-head{align-items:flex-start}.menu-head-actions{display:grid}.menu-head-actions>a,.menu-head-actions>button{justify-content:center;padding:6px 8px}.food-date-nav{margin-top:2px}.journal-note-fields{grid-template-columns:1fr 1fr}}

/* Version 19.1 — unified meal entry and compact recipes */
.flash{position:fixed;z-index:140;top:calc(var(--topbar) + env(safe-area-inset-top) + 8px);left:50%;width:max-content;max-width:calc(100vw - 28px);margin:0;padding:8px 12px;border-radius:11px;box-shadow:0 10px 28px rgba(0,0,0,.45);font-size:.57rem;transform:translateX(-50%);transition:opacity .2s,transform .2s}.flash.is-hiding{opacity:0;transform:translate(-50%,-8px)}
.food-date-nav{justify-content:center;margin:0 0 7px}.food-date-nav input{width:132px;text-align:center}.daily-sticky-count{margin-bottom:7px}.voice-meal-box{grid-template-columns:43px 43px 39px minmax(0,1fr) 39px;gap:4px;margin-bottom:13px;padding:5px}.meal-source-button{width:43px;height:43px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;border:1px solid #2b3a42;border-radius:11px;background:#151f26;color:var(--accent)}.meal-source-button .app-icon{width:15px;height:15px}.meal-source-button small{font-size:.36rem;font-weight:800;line-height:1}.voice-meal-box textarea{padding-left:3px;padding-right:2px;font-size:.64rem}.voice-button,.voice-submit{width:39px;height:39px}.voice-meal-box.is-waiting .meal-source-button,.voice-meal-box.is-waiting .voice-button{pointer-events:none;opacity:.45}
.recipe-toolbar{max-width:820px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.recipe-toolbar>div:first-child{min-width:0}.recipe-toolbar strong,.recipe-toolbar small{display:block}.recipe-toolbar strong{font-size:.78rem}.recipe-toolbar small{margin-top:1px;color:#718087;font-size:.46rem}.recipe-toolbar .menu-head-actions{display:flex}.menu-head-actions>a,.menu-head-actions>button{min-height:34px;padding:5px 8px;border-radius:10px;font-size:.49rem}.menu-head-actions .app-icon{width:14px;height:14px}.menu-card-grid{max-width:820px;display:grid;grid-template-columns:1fr;gap:7px}.recipe-row{display:grid;grid-template-columns:58px minmax(0,1fr) 32px;align-items:center;gap:9px;padding:8px 9px;border:1px solid #24313a;border-radius:15px;background:#111820}.recipe-thumb{width:58px;height:58px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#20332d,#151e22);overflow:hidden;font-size:1.35rem}.recipe-thumb img{width:100%;height:100%;object-fit:cover}.recipe-row-copy{min-width:0}.recipe-row-copy>span,.recipe-row-copy h2,.recipe-row-copy p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-row-copy>span{display:block;color:var(--accent);font-size:.4rem;font-weight:850;text-transform:uppercase}.recipe-row-copy h2{margin:2px 0 3px;font-size:.7rem}.recipe-row-copy p{margin:0;color:#77858d;font-size:.48rem}.recipe-row-copy p b{color:#cfd8db}.recipe-row-copy p i{margin:0 2px;font-style:normal}.recipe-row-more>summary{width:32px;height:32px;display:grid;place-items:center;list-style:none;border-radius:9px;background:#182129;color:#84929a;font-size:.61rem;cursor:pointer}.recipe-row-more>summary::-webkit-details-marker{display:none}.recipe-row-more[open]{grid-column:1/-1;width:100%}.recipe-row-more[open]>summary{margin-left:auto}.recipe-row-details{margin-top:7px;padding-top:8px;border-top:1px solid #243039}.recipe-row-details>p,.recipe-row-details li{color:#839199;font-size:.52rem;line-height:1.4}.recipe-row-details>p{margin:0 0 6px}.recipe-row-details ul{margin:0;padding-left:16px}.recipe-row-details li b{float:right;color:#d4dddf}.recipe-row .menu-card-actions{max-width:300px;margin-top:9px}.menu-empty{min-height:220px}.menu-restore-form{max-width:300px}
@media(max-width:390px){.voice-meal-box{grid-template-columns:39px 39px 36px minmax(0,1fr) 36px;gap:3px}.meal-source-button{width:39px;height:41px}.meal-source-button small{font-size:.33rem}.voice-button,.voice-submit{width:36px;height:36px}.voice-meal-box textarea{font-size:.57rem}.food-date-nav input{width:124px}}

/* Version 20 — compact Food controls and restaurant meal scanning */
.top-camera-button{width:auto;min-width:58px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 8px}.top-camera-button>span{font-size:.48rem;font-weight:850}.top-camera-button .app-icon{flex:0 0 auto}
.meal-entry-actions{max-width:820px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 6px}.meal-entry-actions button{min-width:0;min-height:36px;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border:1px solid #2a3942;border-radius:11px;background:#141e25;color:#cbd5d9;font-size:.52rem;font-weight:850;white-space:nowrap}.meal-entry-actions button .app-icon{width:15px;height:15px;color:var(--accent)}.meal-entry-actions .add-meal-camera{border-color:rgba(113,230,189,.3);background:#173029;color:var(--accent)}
.voice-meal-box{grid-template-columns:39px minmax(0,1fr) 39px;gap:6px;margin-bottom:7px;padding:5px}.voice-meal-box textarea{padding:8px 3px;font-size:16px;line-height:1.25}.voice-meal-box.is-waiting .voice-button{pointer-events:none;opacity:.45}
.food-log-filter-row{max-width:820px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}.food-log-filter-row .food-date-nav{justify-content:flex-start;margin:0}.food-log-filter-row>.pill{flex:0 0 auto}.today-log{margin-top:0}
.restaurant-meal-preview{max-width:820px;margin:0 0 14px;padding:11px;border:1px solid rgba(113,230,189,.3);border-radius:18px;background:#111a20}.restaurant-preview-head{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px}.restaurant-preview-head>img,.restaurant-preview-head>span{width:58px;height:58px;display:grid;place-items:center;border-radius:13px;background:#1a2c27;object-fit:cover;overflow:hidden;color:var(--accent)}.restaurant-preview-head .app-icon{width:24px;height:24px}.restaurant-preview-head small,.restaurant-preview-head h2,.restaurant-preview-head p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.restaurant-preview-head small{color:var(--accent);font-size:.45rem;font-weight:850;text-transform:uppercase}.restaurant-preview-head h2{margin:2px 0;font-size:.83rem}.restaurant-preview-head p{margin:0;color:#7d8b92;font-size:.5rem}.restaurant-item-list{display:grid;gap:5px;margin-top:9px}.restaurant-estimate-item{min-height:51px;display:grid;grid-template-columns:auto minmax(0,1fr) 58px 13px 44px;align-items:center;gap:6px;padding:6px 7px;border:1px solid #27343d;border-radius:12px;background:#0e151b}.restaurant-estimate-item>input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}.restaurant-estimate-item>span{min-width:0}.restaurant-estimate-item b,.restaurant-estimate-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.restaurant-estimate-item b{font-size:.64rem}.restaurant-estimate-item small{margin-top:2px;color:#75838b;font-size:.43rem}.restaurant-estimate-item>input[type=number]{width:100%;min-height:35px;padding:5px 6px;border:1px solid #2b3942;border-radius:8px;background:#151e25;color:var(--text);font-size:16px}.restaurant-estimate-item>i,.restaurant-estimate-item>em{color:#74828a;font-size:.45rem;font-style:normal}.restaurant-estimate-item>em{text-align:right}.restaurant-estimate-note{margin:8px 2px 0;color:#7b8990;font-size:.49rem;line-height:1.4}.restaurant-confirm-options{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:9px}.restaurant-confirm-options>label>span{display:block;margin-bottom:3px;color:#78868e;font-size:.46rem}.restaurant-confirm-options input[type=time]{min-height:36px;padding:5px 7px;border:1px solid #2b3942;border-radius:9px;background:#0f161c;color:var(--text);font-size:16px}.restaurant-confirm-options .save-restaurant-menu{min-height:36px;display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #2a3942;border-radius:9px;background:#151e25}.restaurant-confirm-options .save-restaurant-menu span{margin:0;color:#c7d0d3;font-size:.49rem}.restaurant-confirm-options .save-restaurant-menu input{accent-color:var(--accent)}.restaurant-confirm-options>button{min-height:36px;padding:6px 11px;border:0;border-radius:10px;background:var(--accent);color:#07130f;font-size:.55rem;font-weight:900}
@media(max-width:560px){.top-camera-button{min-width:54px;padding:0 7px}.meal-entry-actions button{padding-left:4px;padding-right:4px;font-size:.48rem}.food-log-filter-row{gap:5px}.food-log-filter-row .food-date-nav{gap:4px}.food-log-filter-row .food-date-nav input{width:120px}.restaurant-estimate-item{grid-template-columns:auto minmax(0,1fr) 54px 11px}.restaurant-estimate-item>em{grid-column:2/-1;text-align:left}.restaurant-confirm-options{grid-template-columns:1fr 1fr}.restaurant-confirm-options .save-restaurant-menu{grid-column:1/-1}.restaurant-confirm-options>button{min-height:39px}}
@media(max-width:380px){.meal-entry-actions{gap:4px}.meal-entry-actions button{gap:3px;font-size:.44rem}.meal-entry-actions button .app-icon{width:13px;height:13px}.food-log-filter-row>.pill{display:none}.food-log-filter-row .food-date-nav{margin-inline:auto}.top-camera-button>span{font-size:.44rem}}

/* Version 20.6 — family-batch recipes and editable logged ingredients */
.menu-serving-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-serving-grid label>small{display:block;margin-top:4px;color:#718087;font-size:.45rem}.menu-batch-note{margin:7px 2px 0;color:#829098;font-size:.52rem;line-height:1.4}.picker-recipe-name{min-width:0}.picker-recipe-name b,.picker-recipe-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-recipe-name b{font-size:.7rem}.picker-recipe-name small{margin-top:3px;color:#718087;font-size:.45rem}.recipe-edit-upgrade{margin:7px 0;padding:8px 9px;border:1px solid #6f5830;border-radius:10px;background:#251f16;color:#cbb38b;font-size:.5rem;line-height:1.4}.recipe-edit-upgrade b,.recipe-edit-upgrade span{display:block}.recipe-edit-upgrade b{color:#e1c18b}.meal-ingredient-editor{margin-top:10px;padding-top:10px;border-top:1px solid #26343c}.meal-ingredient-editor h4{margin:0;font-size:.65rem}.meal-ingredient-editor>p{margin:3px 0 7px;color:#76858c;font-size:.49rem;line-height:1.4}.logged-ingredient-list{display:grid;gap:5px}.logged-ingredient-list label{display:grid;grid-template-columns:minmax(0,1fr) 78px 14px;align-items:center;gap:6px;padding:5px 7px;border:1px solid #26343c;border-radius:9px;background:#0f161c}.logged-ingredient-list label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cbd5d8;font-size:.55rem}.logged-ingredient-list input,.logged-ingredient-add input,.logged-ingredient-add select{width:100%;min-width:0;min-height:35px;padding:5px 7px;border:1px solid #2b3942;border-radius:8px;background:#151e25;color:var(--text);font-size:16px}.logged-ingredient-list i{color:#718087;font-size:.48rem;font-style:normal}.logged-ingredient-add{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:6px;margin-top:7px}.logged-ingredient-add label>span{display:block;margin-bottom:3px;color:#76848c;font-size:.48rem}.update-saved-recipe{display:flex;align-items:center;gap:7px;margin-top:8px;padding:7px 8px;border:1px solid #2a3840;border-radius:9px;background:#131c22}.update-saved-recipe input{width:18px;height:18px;accent-color:var(--accent)}.update-saved-recipe span{color:#aeb9bd;font-size:.51rem}.save-meal-ingredients{width:100%;min-height:39px;margin-top:7px;padding:7px 10px;border:0;border-radius:9px;background:var(--accent);color:#07130f;font-size:.56rem;font-weight:900}
@media(max-width:560px){.menu-serving-grid{grid-template-columns:1fr 1fr}.menu-serving-grid .menu-photo-pick{grid-column:1/-1}}

/* Version 20.7 — reusable restaurants and repeat orders */
.menu-section-tabs{max-width:820px;display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 8px;padding:4px;border:1px solid #26343c;border-radius:13px;background:#10171d}.menu-section-tabs a{min-height:35px;display:grid;place-items:center;border-radius:9px;color:#829098;font-size:.56rem;font-weight:850}.menu-section-tabs a.active{background:#193028;color:var(--accent)}.restaurant-library{max-width:820px;display:grid;gap:10px}.restaurant-card{padding:10px;border:1px solid #27353d;border-radius:17px;background:#101820}.restaurant-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.restaurant-card>header>div:first-child{min-width:0}.restaurant-card>header span,.restaurant-card>header h2,.restaurant-card>header p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.restaurant-card>header>div:first-child>span{color:var(--accent);font-size:.42rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.restaurant-card>header h2{margin:2px 0 0;font-size:.79rem}.restaurant-card>header p{margin:2px 0 0;color:#78868e;font-size:.48rem}.restaurant-card-actions{display:flex;gap:5px}.restaurant-card-actions button{min-height:35px;display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border:1px solid #2a3942;border-radius:9px;background:#152028;color:#bac6ca;font-size:.48rem;font-weight:850}.restaurant-card-actions button:first-child{border-color:rgba(113,230,189,.28);background:#173029;color:var(--accent)}.restaurant-card-actions .app-icon{width:14px;height:14px}.restaurant-notes{margin:7px 0 0;color:#7b8990;font-size:.5rem;line-height:1.4}.restaurant-saved-meals{display:grid;gap:6px;margin-top:9px}.restaurant-saved-meals .recipe-row{border-radius:12px;background:#0d141a}.restaurant-no-meals{margin:0;padding:13px;border:1px dashed #29363e;border-radius:11px;color:#75838b;text-align:center;font-size:.51rem}.restaurant-picker-title{margin-top:17px!important}.picker-restaurant-heading{margin-top:8px;padding:5px 7px;border-radius:7px;background:#17241f;color:var(--accent);font-size:.48rem;font-weight:900;text-transform:uppercase}.picker-restaurants-link{display:block;margin-top:7px;padding:8px;border:1px dashed #2d3b43;border-radius:9px;color:var(--accent);text-align:center;font-size:.51rem}.restaurant-name-confirm span{display:block;color:var(--accent);font-size:.41rem;font-weight:850;text-transform:uppercase}.restaurant-name-confirm input{width:100%;min-height:34px;margin-top:2px;padding:5px 7px;border:1px solid #2b3942;border-radius:8px;background:#0f161c;color:var(--text);font-size:16px}.menu-description input,.menu-description select{width:100%;min-height:38px;padding:6px 8px;border:0;border-radius:8px;background:#10171e;color:var(--text);font-size:16px}
@media(max-width:560px){.restaurant-card>header{align-items:start}.restaurant-card-actions{display:grid}.restaurant-card-actions button{min-width:82px}.restaurant-card-actions button span{font-size:.44rem}.restaurant-saved-meals .recipe-row{grid-template-columns:50px minmax(0,1fr) 32px}.restaurant-saved-meals .recipe-thumb{width:50px;height:50px}}

/* Version 20.8 — local barcode scanning and shared food library */
.barcode-scan-strip{position:absolute;z-index:6;top:calc(62px + env(safe-area-inset-top));left:12px;right:12px;display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:none}.barcode-scan-strip[hidden]{display:none}.barcode-scan-strip>button{min-height:34px;display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(113,230,189,.32);border-radius:10px;background:rgba(10,21,20,.82);color:var(--accent);font-size:.5rem;font-weight:850;white-space:nowrap;pointer-events:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.barcode-scan-strip>button[aria-pressed=false]{border-color:rgba(255,255,255,.16);background:rgba(14,19,23,.8);color:#a1adb4}.barcode-scan-strip .app-icon{width:16px;height:16px;stroke-width:1.5}.barcode-scan-strip>span{max-width:300px;padding:7px 9px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(8,12,15,.78);color:#d3dadd;font-size:.48rem;line-height:1.25;pointer-events:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@media(max-width:520px){.barcode-scan-strip{justify-content:flex-start;gap:5px}.barcode-scan-strip>button{padding-inline:7px}.barcode-scan-strip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.44rem}}

.scan-review{position:absolute;inset:0;z-index:12;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));background:rgba(3,8,11,.94);overflow:auto}.scan-review[hidden]{display:none}.scan-review-card{--review:#e6bd4f;position:relative;width:min(100%,620px);max-height:100%;overflow:auto;padding:18px;border:1px solid color-mix(in srgb,var(--review) 48%,#26343d);border-radius:22px;background:#101920;box-shadow:0 24px 80px rgba(0,0,0,.52)}.scan-review-card[data-tone=green]{--review:#63dfb7}.scan-review-card[data-tone=red]{--review:#ef7768}.scan-review-timer{height:4px;margin:-18px -18px 14px;overflow:hidden;border-radius:22px 22px 0 0;background:#26333a}.scan-review-timer span{display:block;width:100%;height:100%;background:var(--review);transform-origin:left}@keyframes scan-review-countdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}.scan-review-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.scan-review-card>header h2{margin:3px 0 0;font-size:1.18rem}.scan-review-card>header button{width:42px;height:42px;flex:0 0 auto;border:1px solid #30404a;border-radius:13px;background:#172129;color:#d9e0e3;font-size:1.35rem}.scan-review-product{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:13px;margin-top:15px;padding:11px;border:1px solid #293841;border-radius:15px;background:#0c1419}.scan-review-image{height:92px;border-radius:11px;background:#fff;overflow:hidden}.scan-review-image[hidden]{display:none}.scan-review-image img{width:100%;height:100%;object-fit:contain}.scan-review-product>div:last-child>span{color:var(--accent);font-size:.58rem;font-weight:900;letter-spacing:.08em}.scan-review-product h3{margin:3px 0;font-size:1.08rem}.scan-review-product small{color:#8f9da4;font-size:.65rem}.scan-review-verdict{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center;margin-top:12px;padding:13px;border:1px solid color-mix(in srgb,var(--review) 55%,#2b3941);border-radius:15px;background:color-mix(in srgb,var(--review) 9%,#0e171c)}.scan-review-verdict>span{width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--review);border-radius:50%;color:var(--review);font-size:1.35rem;font-weight:950}.scan-review-verdict b{color:var(--review);font-size:.92rem}.scan-review-verdict p{margin:3px 0 0;color:#bcc7cc;font-size:.67rem;line-height:1.4}.scan-review-reasons{display:grid;gap:7px;margin:11px 0 0;padding:0;list-style:none}.scan-review-reasons li{display:grid;gap:2px;padding:9px 11px;border-left:3px solid var(--review);border-radius:7px;background:#0c1419}.scan-review-reasons b{font-size:.68rem}.scan-review-reasons span{color:#94a2a9;font-size:.59rem;line-height:1.4}.scan-review-alternatives{margin-top:13px}.scan-review-alternatives[hidden]{display:none}.scan-review-alternatives>h3{margin:0 0 7px;color:#dce4e7;font-size:.72rem}.scan-review-alternatives>div{display:grid;gap:7px}.scan-review-alternatives article{display:grid;grid-template-columns:58px minmax(0,1fr);gap:9px;align-items:center;padding:7px;border:1px solid #2a3941;border-radius:11px;background:#0d151a}.scan-review-alternatives article>img{width:58px;height:58px;border-radius:8px;background:#fff;object-fit:contain}.scan-review-alternatives article b,.scan-review-alternatives article small,.scan-review-alternatives article p{display:block}.scan-review-alternatives article b{font-size:.66rem}.scan-review-alternatives article small{margin-top:2px;color:#7f8f96;font-size:.52rem}.scan-review-alternatives article p{margin:3px 0 0;color:var(--accent);font-size:.55rem;line-height:1.35}.scan-review-disclaimer{margin:11px 0;color:#78888f;font-size:.53rem;line-height:1.4}.scan-review-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}.scan-review-actions>button,.scan-review-actions form button{width:100%;min-height:45px;border:1px solid #304049;border-radius:12px;background:#172129;color:#d7dfe2;font-size:.67rem;font-weight:900}.scan-review-actions form{margin:0}.scan-review-actions form button{border-color:color-mix(in srgb,var(--review) 54%,#314049);background:var(--review);color:#06110e}.scan-review-actions[aria-disabled=true]{opacity:.62}.scan-review-actions button:disabled{cursor:wait;filter:saturate(.45)}
@media(max-width:520px){.scan-review{place-items:end center;padding:0}.scan-review-card{width:100%;max-height:100%;padding:16px 15px calc(16px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:22px 22px 0 0}.scan-review-timer{margin:-16px -15px 13px}.scan-review-product{grid-template-columns:76px minmax(0,1fr)}.scan-review-image{height:76px}.scan-review-card>header h2{font-size:1.05rem}.scan-review-alternatives>div{grid-template-columns:1fr}.scan-review-actions{position:sticky;bottom:0;padding-top:8px;background:linear-gradient(transparent,#101920 22%)} }

/* Version 20.9 — attach barcodes to existing Pantry items */
.barcode-missing{color:#718087;font-weight:650}.pantry-scan-control{display:grid;gap:4px}.pantry-scan-control>span{color:#8b999f;font-size:.48rem;font-weight:800}.pantry-scan-control>span b{color:#d5dddf}.pantry-scan-control>span b.barcode-missing{color:#718087}.pantry-scan-control button{justify-content:center;white-space:nowrap}.pantry-scan-control>small{max-width:220px;color:#74848a;font-size:.43rem;line-height:1.3}
@media(max-width:430px){.pantry-photo-tools{grid-template-columns:1fr}.pantry-photo-tools button{width:100%;justify-content:center}}

/* Version 20.11 — explainable product choice guidance */
.product-guidance{margin:9px 0;border:1px solid #2a3942;border-radius:12px;background:#10181e;overflow:hidden}.product-guidance>summary{min-height:43px;display:grid;grid-template-columns:10px minmax(0,1fr) 16px;align-items:center;gap:7px;padding:7px 9px;list-style:none;cursor:pointer}.product-guidance>summary::-webkit-details-marker{display:none}.product-guidance>summary span:nth-child(2){min-width:0}.product-guidance>summary b,.product-guidance>summary small{display:block}.product-guidance>summary b{font-size:.56rem}.product-guidance>summary small{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7c8a91;font-size:.43rem}.product-guidance>summary i{color:#718087;font-size:.7rem;font-style:normal}.product-guidance[open]>summary i{transform:rotate(180deg)}.guidance-status-dot{width:9px;height:9px;border-radius:50%;background:#7b8990;box-shadow:0 0 0 3px rgba(123,137,144,.1)}.guidance-simple{border-color:rgba(84,209,163,.36)}.guidance-simple .guidance-status-dot{background:#54d1a3;box-shadow:0 0 0 3px rgba(84,209,163,.12)}.guidance-watch{border-color:rgba(224,177,87,.42)}.guidance-watch .guidance-status-dot{background:#e0b157;box-shadow:0 0 0 3px rgba(224,177,87,.12)}.guidance-limit{border-color:rgba(222,125,101,.46)}.guidance-limit .guidance-status-dot{background:#de7d65;box-shadow:0 0 0 3px rgba(222,125,101,.12)}.product-guidance-symbols{display:flex;flex-wrap:wrap;gap:5px;padding:0 9px 8px}.product-guidance-symbols>span{min-height:25px;display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid #2a3942;border-radius:8px;background:#151f26;color:#aeb9bd}.product-guidance-symbols .app-icon{width:13px;height:13px}.product-guidance-symbols b{font-size:.43rem}.product-guidance-symbols .symbol-positive{border-color:rgba(84,209,163,.3);color:#72dcba}.product-guidance-symbols .symbol-warning{border-color:rgba(224,177,87,.35);color:#e3bd70}.product-guidance-reasons{display:grid;gap:6px;padding:9px;border-top:1px solid #25323a}.product-guidance-reasons>div{padding:7px 8px;border-radius:9px;background:#151e25}.product-guidance-reasons b{font-size:.51rem}.product-guidance-reasons p,.product-better-choice p{margin:3px 0 0;color:#94a1a7;font-size:.47rem;line-height:1.45}.product-guidance-reasons .reason-strong{background:#281d1b}.product-guidance-reasons .reason-review{background:#242016}.product-guidance-reasons .reason-positive{background:#14231f}.product-better-choice{margin:0 9px 9px;padding:8px;border:1px solid rgba(113,230,189,.2);border-radius:9px;background:#13211d}.product-better-choice b{color:#72dcba;font-size:.49rem}.guidance-disclaimer{display:block;padding:0 9px 9px;color:#69777e;font-size:.4rem;line-height:1.4}
.guidance-help-button{width:37px;height:37px;display:grid;place-items:center;padding:0;border:1px solid #2a3942;border-radius:11px;background:#121b22;color:var(--accent)}.guidance-help-button .app-icon{width:17px;height:17px}.guidance-help-dialog .body-dialog-card{max-width:560px}.guidance-legend{display:grid;gap:6px;margin-bottom:14px}.guidance-legend>div{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:8px;padding:7px 8px;border:1px solid #25323a;border-radius:10px;background:#111920}.guidance-legend p,.guidance-legend b,.guidance-legend small{display:block;margin:0}.guidance-legend b{font-size:.56rem}.guidance-legend small{margin-top:2px;color:#7b8990;font-size:.45rem}.legend-simple{background:#54d1a3}.legend-watch{background:#e0b157}.legend-limit{background:#de7d65}.guidance-help-dialog h3{margin:10px 0 7px;font-size:.68rem}.guidance-symbol-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px}.guidance-symbol-legend>span{display:flex;align-items:center;gap:6px;padding:7px;border:1px solid #25323a;border-radius:9px;background:#111920;color:#b6c1c5}.guidance-symbol-legend .app-icon{width:16px;height:16px;color:var(--accent)}.guidance-symbol-legend b{font-size:.48rem}.guidance-help-copy{margin-top:12px}.guidance-help-copy p{color:#93a0a6;font-size:.5rem;line-height:1.5}.guidance-sources{display:grid;gap:5px;margin-top:12px;padding-top:10px;border-top:1px solid #25323a}.guidance-sources b{font-size:.51rem}.guidance-sources a{color:var(--accent);font-size:.47rem}

/* Version 20.12 — compact Pantry summaries with full expandable details */
.product-brand-line{min-width:0;min-height:20px;display:flex;align-items:center;gap:5px}.product-brand-line .product-brand{min-width:0;flex:1 1 auto}.product-brand-line .product-guidance-symbols{flex:0 0 auto;display:flex;flex-wrap:nowrap;gap:3px;margin:0;padding:0}.product-brand-line .product-guidance-symbols>span{width:18px;height:18px;min-height:18px;display:grid;place-items:center;padding:0;border-radius:6px}.product-brand-line .product-guidance-symbols .app-icon{width:11px;height:11px}.product-card-body h2{min-height:21px;margin:3px 0 4px;-webkit-line-clamp:2}.product-summary-basis{margin-bottom:3px;color:#6f7e86;text-align:right;font-size:.36rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.product-nutrient-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #26343d;border-radius:9px;background:#151e25;overflow:hidden}.product-nutrient-strip>span{min-width:0;padding:4px 2px;text-align:center}.product-nutrient-strip>span+span{border-left:1px solid #26343d}.product-nutrient-strip small,.product-nutrient-strip b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-nutrient-strip small{color:#7e8c93;font-size:.36rem;font-weight:800}.product-nutrient-strip b{margin-top:2px;color:#dbe3e5;font-size:.47rem}.product-facts{margin-top:7px}.product-facts>summary{min-height:37px}.product-more-details{display:flex;align-items:center;gap:7px;color:#cbd5d8}.product-more-details .guidance-status-dot{width:8px;height:8px}.product-detail-section{padding:9px 0;border-top:1px solid #25323a}.product-detail-section>h3{margin:0 0 7px;color:#d6dfe1;font-size:.58rem}.product-detail-section .product-fact-list{padding:0}.product-guidance-detail{border:1px solid #2a3942;border-radius:11px;background:#10181e;overflow:hidden}.product-guidance-detail-head{min-height:42px;display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:7px;padding:7px 9px}.product-guidance-detail-head b,.product-guidance-detail-head small{display:block}.product-guidance-detail-head b{font-size:.55rem}.product-guidance-detail-head small{margin-top:2px;color:#7c8a91;font-size:.43rem;line-height:1.35}.product-symbol-details{display:flex;flex-wrap:wrap;gap:4px;padding:0 9px 8px}.product-symbol-details>span{min-height:25px;display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid #2a3942;border-radius:8px;background:#151f26;color:#aeb9bd}.product-symbol-details .app-icon{width:13px;height:13px}.product-symbol-details b{font-size:.43rem}.product-symbol-details .symbol-positive{border-color:rgba(84,209,163,.3);color:#72dcba}.product-symbol-details .symbol-warning{border-color:rgba(224,177,87,.35);color:#e3bd70}.product-guidance-detail .product-guidance-reasons{border-top:1px solid #25323a}.product-nutrition-details>div{padding:2px 0;border-bottom:1px solid rgba(37,50,58,.55)}.product-nutrition-details>div:last-child{border-bottom:0}
@media(max-width:390px){.product-card-body{padding:9px}.product-brand-line .product-guidance-symbols{gap:2px}.product-brand-line .product-guidance-symbols>span{width:17px;height:17px}.product-nutrient-strip small{font-size:.33rem}.product-nutrient-strip b{font-size:.42rem}}

/* Version 20.13 — familiar indicators and readable full-screen Pantry details */
.product-indicator-row{min-height:24px;display:flex;align-items:center;gap:4px;margin:0 0 5px}.product-indicator{width:23px;height:23px;flex:0 0 23px;display:grid;place-items:center;border:1px solid #34434c;border-radius:7px;background:#172129;color:#aab5ba}.product-indicator .app-icon{width:15px;height:15px;stroke-width:1.8}.product-status-simple{border-color:rgba(84,209,163,.52);background:rgba(84,209,163,.12);color:#63deb5}.product-status-watch{border-color:rgba(224,177,87,.56);background:rgba(224,177,87,.12);color:#e4b75f}.product-status-limit{border-color:rgba(222,125,101,.62);background:rgba(222,125,101,.14);color:#e5846d}.product-status-unknown{border-color:#43515a;background:#1a2329;color:#9ba8ae}.product-indicator.symbol-positive{border-color:rgba(84,209,163,.45);background:rgba(84,209,163,.08);color:#63dcb4}.product-indicator.symbol-warning{border-color:rgba(224,177,87,.52);background:rgba(224,177,87,.09);color:#e4b75f}.product-indicator.symbol-neutral{border-color:#3c4a53;background:#172129;color:#a7b2b7}.product-card-body>.product-brand{width:100%;min-height:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-details-button{width:100%;min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:7px;padding:6px 1px;border:0;border-top:2px solid #34434c;background:transparent;color:#d1dade;text-align:left;font-size:.61rem;font-weight:850;cursor:pointer}.product-details-button.guidance-simple{border-top-color:rgba(84,209,163,.52)}.product-details-button.guidance-watch{border-top-color:rgba(224,177,87,.58)}.product-details-button.guidance-limit{border-top-color:rgba(222,125,101,.65)}.product-details-button>span:last-child{padding-right:3px;color:#7f8d94;font-size:1rem;line-height:1}
.product-details-dialog{inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;background:#10171d}.product-details-dialog .product-details-card{width:100%;height:100%;max-height:none;padding:0;overflow-y:auto;background:#10171d}.product-details-header{position:sticky;top:0;z-index:5;min-height:calc(76px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid #2a3740;background:rgba(16,23,29,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.product-details-heading{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px}.product-details-heading>.product-indicator{width:38px;height:38px;border-radius:12px}.product-details-heading>.product-indicator .app-icon{width:23px;height:23px}.product-details-heading>div{min-width:0}.product-details-heading .eyebrow,.product-details-heading h2,.product-details-heading p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-details-heading .eyebrow{font-size:.72rem}.product-details-heading h2{margin:2px 0 0;font-size:1.26rem}.product-details-heading p{margin:3px 0 0;color:#93a1a8;font-size:.78rem}.product-details-header>button{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;padding:0;border:1px solid #33414a;border-radius:13px;background:#182129;color:#e0e6e8;font-size:1.65rem}.product-details-content{max-width:760px;margin:0 auto;padding:4px 18px calc(34px + env(safe-area-inset-bottom))}.product-details-dialog .product-detail-section{padding:20px 0;border-top:1px solid #29363e}.product-details-dialog .product-detail-section:first-child{border-top:0}.product-details-dialog .product-detail-section>h3{margin:0 0 12px;font-size:1.04rem}.product-details-dialog .product-fact-list{gap:0;padding:0}.product-details-dialog .product-fact-list>div{min-height:40px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid rgba(42,55,64,.72);font-size:.91rem;line-height:1.45}.product-details-dialog .product-fact-list>div:last-child{border-bottom:0}.product-details-dialog .product-fact-list span{color:#96a3a9}.product-details-dialog .product-fact-list b{max-width:62%;color:#e0e6e8;text-align:right;line-height:1.45}.product-details-dialog .product-long-fact{display:block!important}.product-details-dialog .product-long-fact span,.product-details-dialog .product-long-fact b{display:block;max-width:none;text-align:left}.product-details-dialog .product-long-fact b{margin-top:6px}.product-details-dialog .product-guidance-detail{border-radius:16px}.product-details-dialog .product-guidance-detail-head{min-height:66px;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px 14px}.product-details-dialog .product-guidance-detail-head .product-indicator{width:32px;height:32px}.product-details-dialog .product-guidance-detail-head .product-indicator .app-icon{width:20px;height:20px}.product-details-dialog .product-guidance-detail-head b{font-size:1rem}.product-details-dialog .product-guidance-detail-head small{margin-top:4px;font-size:.81rem;line-height:1.4}.product-details-dialog .product-symbol-details{gap:7px;padding:0 14px 13px}.product-details-dialog .product-symbol-details>span{min-height:36px;gap:7px;padding:7px 10px;border-radius:10px}.product-details-dialog .product-symbol-details .app-icon{width:18px;height:18px}.product-details-dialog .product-symbol-details b{font-size:.77rem}.product-details-dialog .product-guidance-reasons{gap:10px;padding:13px}.product-details-dialog .product-guidance-reasons>div{padding:13px 14px;border-radius:12px}.product-details-dialog .product-guidance-reasons b{font-size:.91rem}.product-details-dialog .product-guidance-reasons p,.product-details-dialog .product-better-choice p{margin-top:6px;font-size:.84rem;line-height:1.5}.product-details-dialog .product-better-choice{margin:0 13px 13px;padding:14px;border-radius:12px}.product-details-dialog .product-better-choice b{font-size:.87rem}.product-details-dialog .guidance-disclaimer{padding:0 14px 14px;font-size:.72rem;line-height:1.45}.product-details-dialog .product-nutrition-details>div{padding:10px 0}.product-details-dialog .product-research-form{margin-top:16px}.product-details-dialog .product-research-form button{min-height:50px;border-radius:13px;font-size:.9rem}.product-details-dialog .product-research-form .app-icon{width:19px;height:19px}.product-details-dialog .product-remove{min-height:46px;font-size:.82rem}.guidance-legend>div{grid-template-columns:25px minmax(0,1fr)}.guidance-legend .product-indicator{width:24px;height:24px}.guidance-legend .product-indicator .app-icon{width:15px;height:15px}
@media(min-width:700px){.product-details-dialog{width:min(720px,calc(100% - 40px));height:min(900px,calc(100dvh - 40px));max-width:720px;max-height:900px;margin:auto;border:1px solid #2a3740;border-radius:24px}.product-details-dialog .product-details-card{border-radius:24px}.product-details-header{border-radius:24px 24px 0 0}.product-details-content{padding-inline:28px}}

/* Version 20.14 — compact Pantry card order, actions, and category filters */
.pantry-filter-bar{max-width:900px;display:flex;gap:6px;margin:0 0 12px;padding:1px 0 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pantry-filter-bar::-webkit-scrollbar{display:none}.pantry-filter-bar a{min-height:34px;flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #2a3740;border-radius:999px;background:#121a21;color:#9aa7ad;font-size:.56rem;font-weight:850;white-space:nowrap}.pantry-filter-bar a small{min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px;border-radius:9px;background:#1c2730;color:#7f8d94;font-size:.44rem}.pantry-filter-bar a.active{border-color:rgba(113,230,189,.42);background:#173029;color:var(--accent)}.pantry-filter-bar a.active small{background:var(--accent);color:#07130f}.product-card-body>h2{min-height:21px;margin:0 0 5px}.product-card-body>h2+.product-indicator-row{margin-top:0}.product-indicator-row{margin-bottom:4px}.product-card-body>.product-brand{margin-bottom:4px}.product-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.product-primary-actions .product-shopping-action,.product-primary-actions .product-edit-button{min-width:0;margin:0}.product-primary-actions .product-shopping-action form{height:100%;margin:0}.product-primary-actions .product-shopping-action button,.product-primary-actions .product-shopping-action a,.product-primary-actions .product-edit-button{height:100%;min-height:35px;padding:5px 4px;font-size:.51rem}.product-primary-actions .product-edit-button .app-icon{width:12px;height:12px}
@media(max-width:380px){.pantry-filter-bar a{font-size:.52rem}.product-primary-actions .product-shopping-action button,.product-primary-actions .product-shopping-action a,.product-primary-actions .product-edit-button{font-size:.47rem}}

/* Version 20.15 — shared Store catalog */
.pantry-filter-bar .catalog-switch-link{border-color:rgba(113,230,189,.38);background:#162721;color:var(--accent)}.catalog-switch-link .app-icon{width:14px;height:14px}.store-gallery-head{max-width:900px}.store-pantry-link{min-height:40px;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(113,230,189,.3);border-radius:12px;background:#162721;color:var(--accent);font-size:.61rem;font-weight:850}.store-pantry-link .app-icon{width:17px;height:17px}.store-intro{max-width:900px;margin:-3px 0 11px;color:#809097;font-size:.56rem;line-height:1.45}.store-search{max-width:900px;margin-bottom:9px}.store-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.store-card-actions form{height:100%;margin:0}.store-card-actions a,.store-card-actions button{width:100%;height:100%;min-height:35px;display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 4px;border:1px solid #2a3943;border-radius:10px;background:#172129;color:#cbd5da;font-size:.49rem;font-weight:850;text-align:center}.store-card-actions form button{border-color:rgba(113,230,189,.34);background:#173028;color:var(--accent)}.store-card-actions .store-in-pantry{border-color:rgba(113,230,189,.22);background:rgba(113,230,189,.07);color:var(--accent)}.store-card-actions .app-icon{width:13px;height:13px;flex:0 0 13px}.store-card-actions button>span:last-child{font-size:.8rem}.store-detail-action{position:sticky;bottom:0;padding:14px 0 4px;background:linear-gradient(180deg,rgba(16,23,29,0),#10171d 22%)}.store-detail-action form{margin:0}.store-detail-action a,.store-detail-action button{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(113,230,189,.38);border-radius:13px;background:#173128;color:var(--accent);font-size:.9rem;font-weight:900}.store-detail-action .app-icon{width:19px;height:19px}.catalog-pagination{max-width:900px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:16px 0 4px}.catalog-pagination a{min-height:38px;display:flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid #2a3943;border-radius:11px;background:#172129;color:var(--accent);font-size:.55rem;font-weight:850}.catalog-pagination a:last-child{grid-column:3}.catalog-pagination b{color:#85939a;font-size:.51rem;text-align:center}.store-empty-link{display:inline-flex;margin-top:12px;padding:8px 11px;border:1px solid rgba(113,230,189,.3);border-radius:10px;background:#162721;color:var(--accent);font-size:.56rem;font-weight:850}
@media(max-width:390px){.store-card-actions a,.store-card-actions button{font-size:.44rem}.store-intro{font-size:.52rem}.store-pantry-link span{display:none}.store-pantry-link{width:40px;justify-content:center;padding:0}}

/* Version 20.16 — protected Store Manager */
.store-head-actions{display:flex;align-items:center;gap:6px}.store-admin-link{min-height:40px;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(224,177,87,.38);border-radius:12px;background:#292317;color:#e4bd70;font-size:.61rem;font-weight:850}.store-admin-link .app-icon{width:17px;height:17px}.admin-auth-shell .card{max-width:480px}.show-password-control{margin-top:10px!important;display:flex!important;align-items:center;gap:9px;cursor:pointer;font-weight:600!important}.admin-migration-warning{margin:16px 0;padding:12px;border:1px solid #755a2d;border-radius:12px;background:#271f14}.admin-migration-warning b,.admin-migration-warning span{display:block}.admin-migration-warning b{color:#edc58b;font-size:.7rem}.admin-migration-warning span{margin-top:5px;color:#bca781;font-size:.58rem;line-height:1.5}.admin-auth-back{margin-top:18px}.store-admin-head{max-width:900px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:11px}.store-admin-head h1{margin:0}.store-admin-head p{margin:4px 0 0;color:#839198;font-size:.6rem}.store-admin-head-actions{display:flex;align-items:center;gap:6px}.store-admin-head-actions>button,.store-admin-head-actions>a,.store-admin-head-actions>form button{min-height:39px;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 9px;border:1px solid #2b3942;border-radius:11px;background:#162028;color:#cbd5d9;font-size:.53rem;font-weight:850;white-space:nowrap}.store-admin-head-actions>button{border-color:rgba(113,230,189,.35);background:#173128;color:var(--accent)}.store-admin-head-actions>button:disabled{opacity:.42}.store-admin-head-actions>form{margin:0}.store-admin-head-actions .app-icon{width:15px;height:15px;color:var(--accent)}.store-admin-note{max-width:900px;margin-bottom:10px;padding:9px 11px;border:1px solid rgba(113,230,189,.22);border-radius:12px;background:#13211d}.store-admin-note b,.store-admin-note span{display:block}.store-admin-note b{color:var(--accent);font-size:.58rem}.store-admin-note span{margin-top:3px;color:#89979d;font-size:.51rem;line-height:1.45}.store-admin-note strong{color:#cfd9db}.store-admin-search{max-width:900px;margin-bottom:9px}.admin-store-list{max-width:900px;display:grid;gap:7px}.admin-store-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border:1px solid #26343d;border-radius:14px;background:#111920}.admin-store-thumb{width:64px;height:64px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#20332d,#151e22);overflow:hidden;color:var(--accent);font-size:1.35rem}.admin-store-thumb img{width:100%;height:100%;object-fit:cover}.admin-store-copy{min-width:0}.admin-store-copy>span,.admin-store-copy h2,.admin-store-copy p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-store-copy>span{color:var(--accent);font-size:.43rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.admin-store-copy h2{margin:2px 0 3px;font-size:.72rem}.admin-store-copy p{margin:0;color:#7f8d94;font-size:.48rem}.admin-status{display:inline-flex;margin-top:4px;padding:2px 5px;border-radius:6px;background:#202a31;color:#9facb1;font-size:.39rem;font-weight:850;text-transform:uppercase}.admin-status.status-admin_verified{background:#173128;color:#67dcb5}.admin-status.status-needs_review,.admin-status.status-ai_low{background:#31271a;color:#e3b96b}.admin-store-row-actions{display:flex;gap:5px}.admin-store-row-actions>button,.admin-store-row-actions form button{min-height:34px;display:flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid #2b3942;border-radius:9px;background:#172129;color:#cbd5d9;font-size:.48rem;font-weight:850}.admin-store-row-actions>button{color:var(--accent)}.admin-store-row-actions form{margin:0}.admin-store-row-actions .app-icon{width:13px;height:13px}.admin-product-dialog .product-details-card{overflow:hidden}.admin-product-form{min-height:100%;display:block}.admin-product-content{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.admin-product-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-product-fields .wide{grid-column:1/-1}.admin-product-fields label>span,.admin-product-textareas label>span,.admin-nutrition-grid label>span{display:block;margin-bottom:4px;color:#95a2a8;font-size:.72rem;font-weight:800}.admin-product-fields input,.admin-product-fields select,.admin-product-textareas textarea,.admin-nutrition-grid input{width:100%;min-height:44px;padding:8px 10px;border:1px solid #2b3942;border-radius:10px;background:#0e161b;color:#e0e6e8;font-size:.86rem}.admin-product-textareas{display:grid;gap:10px}.admin-product-textareas textarea{min-height:92px;line-height:1.45;resize:vertical}.admin-nutrition-grid{gap:8px}.admin-extra-nutrients{margin-top:13px;border:1px solid #2a3740;border-radius:12px;background:#111920}.admin-extra-nutrients summary{padding:11px 12px;color:var(--accent);font-size:.78rem;font-weight:850;cursor:pointer}.admin-extra-nutrients>div{padding:0 11px 12px}.admin-sync-linked{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px;margin:15px 0;padding:12px;border:1px solid rgba(224,177,87,.32);border-radius:12px;background:#282116}.admin-sync-linked input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}.admin-sync-linked b,.admin-sync-linked small{display:block}.admin-sync-linked b{font-size:.82rem}.admin-sync-linked small{margin-top:3px;color:#9b8d72;font-size:.69rem;line-height:1.4}.admin-save-product{width:100%;min-height:50px;margin-top:0;font-size:.9rem}
@media(max-width:650px){.store-admin-head{align-items:flex-start;flex-direction:column}.store-admin-head-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.store-admin-head-actions>button,.store-admin-head-actions>a,.store-admin-head-actions>form button{width:100%;min-width:0;padding:6px 4px}.store-admin-head-actions span{font-size:.43rem}.admin-store-row{grid-template-columns:55px minmax(0,1fr)}.admin-store-thumb{width:55px;height:55px}.admin-store-row-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.admin-store-row-actions>button,.admin-store-row-actions form button{width:100%;justify-content:center}.admin-product-fields{grid-template-columns:1fr}.admin-product-fields .wide{grid-column:auto}.store-head-actions .store-admin-link span,.store-head-actions .store-pantry-link span{display:none}.store-head-actions .store-admin-link,.store-head-actions .store-pantry-link{width:40px;justify-content:center;padding:0}}

/* Version 20.18.2 — concise known-value Pantry and Store details */
.product-nutrition-all{display:grid;gap:18px}.product-nutrient-group{margin:0}.product-nutrient-group h4{margin:0 0 5px;color:var(--accent);font-size:.75rem;text-transform:uppercase;letter-spacing:.055em}.product-details-dialog .product-fact-list b.fact-missing{color:#7f8c92;font-weight:650}.product-details-dialog .barcode-missing{color:#e1b96a!important}
@media(min-width:760px){.product-nutrition-all{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.nutrient-group-core,.nutrient-group-minerals,.nutrient-group-vitamins{grid-column:1/-1}.nutrient-group-core .product-fact-list,.nutrient-group-minerals .product-fact-list,.nutrient-group-vitamins .product-fact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}}
@media(max-width:420px){.discovery-card-actions{gap:4px}.discovery-card-actions button,.discovery-card-actions a{font-size:.42rem;padding:4px 2px}.discovery-lead-summary{font-size:.41rem}}

/* Version 20.18.6 — grams-only Pantry logging */
.pantry-tracking-basis{display:none!important}
.admin-product-content .product-detail-section:has(select[name="tracking_unit"])>h3{font-size:0}
.admin-product-content .product-detail-section:has(select[name="tracking_unit"])>h3:after{content:"Label serving";font-size:1rem}
.admin-product-content .product-detail-section:has(select[name="tracking_unit"]) .admin-product-fields>label:nth-child(-n+3){display:none!important}

/* Version 20.22 — photo-only curated Store */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.admin-status.status-source_complete{background:#173128;color:#6ee0b9}
.store-detail-action button:disabled{opacity:.38}

/* Version 20.23 — shared nutrition, package-specific images, and image review */
.food-product-card .product-cover img,.shopping-thumb img,.picker-thumb img,.today-entry-thumb img{object-fit:contain;background:#0d1419}
.shared-product-lock{margin:10px 0;padding:11px 12px;border:1px solid rgba(113,230,189,.28);border-radius:12px;background:#13231e}.shared-product-lock b{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:.72rem}.shared-product-lock .app-icon{width:16px;height:16px}.shared-product-lock p{margin:5px 0 0;color:#8d9b9f;font-size:.62rem;line-height:1.45}.pantry-photo-tools label small,.admin-product-fields label small{display:block;margin-top:5px;color:#7d8b91;font-size:.58rem;line-height:1.4}.admin-sync-linked{grid-template-columns:1fr;border-color:rgba(113,230,189,.28);background:#13231e}.admin-sync-linked small{color:#86a097}.admin-status-row{display:flex;flex-wrap:wrap;gap:4px}.admin-store-row.needs-image-review{border-color:rgba(224,177,87,.46)}
.package-image-review-list{display:grid;gap:14px}.package-image-review-panel{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:14px;padding:14px;border:1px solid #2a3942;border-radius:17px;background:#111920}.package-image-review-panel>header{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid #29363e}.package-image-review-panel>header span,.package-image-review-panel>header small{display:block;color:var(--accent);font-size:.48rem;font-weight:850;text-transform:uppercase}.package-image-review-panel>header h2{margin:3px 0;font-size:.88rem}.package-image-review-panel>header small{color:#7e8c93;font-weight:650;text-transform:none}.package-current-image h3,.package-candidate-images h3{margin:0 0 8px;font-size:.68rem}.package-current-image>img,.package-image-missing{width:100%;height:190px;border:1px solid #2a3740;border-radius:13px;background:#0d1419;object-fit:contain}.package-image-missing{display:grid;place-items:center;color:#718087}.package-image-missing .app-icon{width:34px;height:34px}.package-image-missing span{margin-top:-42px;font-size:.56rem}.package-current-image>p,.package-candidate-images article>p,.package-no-candidates{margin:7px 0;color:#8c999f;font-size:.55rem;line-height:1.4}.package-current-image form{margin:8px 0 0}.package-current-image button,.package-candidate-images button{min-height:35px;padding:6px 9px;border:1px solid #304049;border-radius:9px;background:#172129;color:#cbd5d9;font-size:.5rem;font-weight:850}.package-current-image form:not(.flag-image-form) button,.package-candidate-images form:first-child button{border-color:rgba(113,230,189,.34);background:#173028;color:var(--accent)}.flag-image-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.flag-image-form input{min-width:0;padding:6px 8px;border:1px solid #2d3b43;border-radius:9px;background:#0e151a;color:#dce3e5;font-size:16px}.package-candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.package-candidate-grid article{padding:8px;border:1px solid #28363e;border-radius:12px;background:#0e161b}.package-candidate-grid article>img{width:100%;height:145px;border-radius:9px;background:#091015;object-fit:contain}.package-candidate-grid article>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.package-candidate-grid form{margin:0}.package-candidate-grid button{width:100%;display:flex;align-items:center;justify-content:center;gap:4px}.package-candidate-grid .app-icon{width:13px;height:13px}
@media(max-width:650px){.package-image-review-panel{grid-template-columns:1fr}.package-image-review-panel>header{grid-column:auto}.package-current-image>img,.package-image-missing{height:240px}.package-candidate-grid{grid-template-columns:1fr}.package-candidate-grid article>img{height:220px}}
/* Version 20.24 — barcode-first quick product review */
.scan-review-product.no-image{grid-template-columns:1fr}
.scan-review-no-choice{margin:0;padding:9px 11px;border:1px dashed #304049;border-radius:10px;color:#84939a;font-size:.58rem;line-height:1.4}

/* Version 20.25 — separate live barcode scanner and product-photo capture */
.barcode-capture-stage,.photo-capture-stage{position:absolute;inset:0;overflow:hidden;background:#000}
.barcode-capture-stage[hidden],.photo-capture-stage[hidden]{display:none}
.barcode-capture-topbar>span:last-child{min-width:48px}
.barcode-bottom-actions{position:absolute;z-index:7;left:16px;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:10px;padding:12px;border-radius:18px;background:rgba(7,17,19,.84);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.barcode-bottom-actions button{min-height:52px;padding:10px 14px;border-radius:14px;font-size:.78rem;font-weight:900}.barcode-cancel-button{border:1px solid #4a5962;background:#172129;color:#e1e7e9}.barcode-wont-scan-button{border:1px solid #9af0d1;background:var(--accent);color:#071511;box-shadow:0 8px 22px rgba(53,208,173,.28)}
.barcode-viewfinder:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.24),transparent 24%,transparent 76%,rgba(0,0,0,.36));pointer-events:none}
.barcode-target{position:absolute;z-index:3;left:50%;top:50%;width:min(82vw,380px);height:150px;transform:translate(-50%,-50%);border:2px solid var(--accent);border-radius:17px;box-shadow:0 0 0 999px rgba(0,0,0,.38),inset 0 0 20px rgba(113,230,189,.08);overflow:hidden}
.barcode-target>span{position:absolute;left:8%;right:8%;top:50%;height:2px;background:var(--accent);box-shadow:0 0 12px rgba(113,230,189,.9);animation:barcode-live-scan 1.5s ease-in-out infinite alternate}
@keyframes barcode-live-scan{from{transform:translateY(-45px)}to{transform:translateY(45px)}}
.barcode-live-status{position:absolute;z-index:4;left:50%;bottom:calc(112px + env(safe-area-inset-bottom));width:min(88%,390px);display:flex;align-items:center;justify-content:center;gap:9px;transform:translateX(-50%);padding:11px 13px;border:1px solid rgba(113,230,189,.35);border-radius:13px;background:rgba(7,17,19,.82);color:#e3ecea;text-align:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.barcode-live-status .app-icon{width:20px;height:20px;flex:0 0 auto;color:var(--accent)}.barcode-live-status span{font-size:.68rem;font-weight:750;line-height:1.35}
.scan-review-actions.single-action{grid-template-columns:1fr}.scan-review-actions form[hidden]{display:none}
@media(min-width:700px){.barcode-target{width:min(72%,390px)}}

/* Version 20.26 — obvious completion control and unobstructed camera */
body.camera-sheet-open .mobile-tabbar{display:none!important}
body.camera-sheet-open .topbar{z-index:1000}
.camera-capture{z-index:1100;height:100vh;height:100dvh}
.capture-topbar{grid-template-columns:minmax(66px,1fr) auto minmax(104px,1fr);align-items:center;padding-bottom:10px}
.capture-topbar>span{padding-bottom:0}
.capture-done{min-width:104px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;border:2px solid #baf8df;border-radius:14px;background:var(--accent);color:#06130f;font-size:.9rem;font-weight:950;letter-spacing:.04em;box-shadow:0 8px 24px rgba(53,208,173,.38)}
.capture-done>span{font-size:1.18rem;line-height:1}
.capture-done:disabled{border-color:#46525a;background:#263139;color:#758189;box-shadow:none}
.photo-capture-stage .capture-filmstrip{bottom:calc(120px + env(safe-area-inset-bottom))}
.photo-capture-stage .capture-controls{bottom:0;z-index:6}

/* Version 20.27 — modern, detailed product review */
.scan-review{position:fixed;inset:0;z-index:12;display:block;padding:0;background:#e9efeb;color:#18231f;overflow:hidden}
.scan-review[hidden]{display:none}
.scan-review-card{--review:#bd8525;--review-soft:#fff2d7;--review-ink:#6e4a12;width:100%;height:100%;max-height:none;padding:0;border:0;border-radius:0;background:linear-gradient(155deg,#f9fbf8 0%,#f0f5f1 46%,#e8efeb 100%);color:#18231f;box-shadow:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.scan-review-card[data-tone=green]{--review:#238b68;--review-soft:#dff4ea;--review-ink:#126247}
.scan-review-card[data-tone=red]{--review:#bd5948;--review-soft:#fbe7e1;--review-ink:#7c3025}
.scan-review-card>.scan-review-header{position:sticky;top:0;z-index:5;min-height:calc(72px + env(safe-area-inset-top));display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:calc(12px + env(safe-area-inset-top)) 22px 12px;background:rgba(249,251,248,.9);border:0;border-bottom:1px solid rgba(25,56,45,.09);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.scan-review-header .eyebrow{color:var(--review);font-size:.62rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.scan-review-card>.scan-review-header h2{margin:3px 0 0;color:#17221e;font-size:1.18rem;letter-spacing:-.02em}.scan-review-card>.scan-review-header button{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;padding:0;border:1px solid rgba(25,56,45,.12);border-radius:50%;background:rgba(255,255,255,.8);color:#26362f;font-size:1.45rem;box-shadow:0 6px 18px rgba(31,58,48,.08)}
.scan-review-content{width:min(100%,700px);margin:0 auto;padding:24px 22px calc(36px + env(safe-area-inset-bottom))}
.scan-review-product{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:22px;margin:0;padding:4px 0 23px;border:0;border-radius:0;background:transparent}
.scan-review-image{width:118px;height:118px;border:0;border-radius:24px;background:#fff;box-shadow:0 16px 40px rgba(33,60,50,.13);overflow:hidden}.scan-review-image img{width:100%;height:100%;display:block;object-fit:contain}.scan-review-product.no-image{grid-template-columns:1fr}.scan-review-identity{min-width:0}.scan-review-product>.scan-review-identity>span{display:block;color:var(--review);font-size:.67rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.scan-review-product h3{margin:7px 0 4px;color:#17221e;font-size:1.65rem;line-height:1.08;letter-spacing:-.04em}.scan-review-product small{color:#66736d;font-size:.75rem}
.scan-review-verdict{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:15px;margin:0;padding:18px 19px;border:0;border-radius:22px;background:var(--review-soft);box-shadow:0 10px 30px rgba(37,66,55,.07)}
.scan-review-verdict>span{width:54px;height:54px;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:var(--review);box-shadow:0 7px 20px rgba(33,60,50,.1)}.scan-review-verdict>span .app-icon{width:30px;height:30px}.scan-review-verdict b{display:block;color:var(--review-ink);font-size:1.13rem;letter-spacing:-.02em}.scan-review-verdict p{margin:5px 0 0;color:#59665f;font-size:.78rem;line-height:1.45}
.scan-review-symbols{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.scan-review-symbols[hidden]{display:none}.scan-review-symbols>span{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(29,69,54,.1);border-radius:999px;background:rgba(255,255,255,.76);color:#45534d;box-shadow:0 4px 14px rgba(33,60,50,.05)}.scan-review-symbols .app-icon{width:18px;height:18px}.scan-review-symbols b{font-size:.68rem}.scan-review-symbols .symbol-positive{color:#187655;background:#e9f7f0}.scan-review-symbols .symbol-warning{color:#9a501f;background:#fff0e7}
.scan-review-detail-section,.scan-review-alternatives{margin-top:30px;padding-top:24px;border-top:1px solid rgba(31,67,53,.12)}.scan-review-detail-section[hidden],.scan-review-alternatives[hidden]{display:none}.scan-review-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.scan-review-section-heading>span{color:#1d2a25;font-size:.98rem;font-weight:900;letter-spacing:-.015em}.scan-review-section-heading>small{color:#7a8781;font-size:.61rem;text-align:right}
.scan-review-reasons{display:grid;gap:0;margin:0;padding:0;list-style:none}.scan-review-reasons li{position:relative;display:grid;gap:5px;padding:14px 4px 14px 21px;border:0;border-bottom:1px solid rgba(31,67,53,.09);border-radius:0;background:transparent}.scan-review-reasons li:last-child{border-bottom:0}.scan-review-reasons li:before{content:"";position:absolute;left:2px;top:20px;width:8px;height:8px;border-radius:50%;background:#99a59f}.scan-review-reasons li[data-kind=positive]:before{background:#2b9c74}.scan-review-reasons li[data-kind=review]:before{background:#d29a35}.scan-review-reasons li[data-kind=strong]:before{background:#c85d4b}.scan-review-reasons b{color:#283630;font-size:.81rem}.scan-review-reasons span{color:#69766f;font-size:.7rem;line-height:1.52}
.scan-review-nutrition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.scan-review-nutrition-grid>div{min-width:0;padding:13px 9px;border:1px solid rgba(31,67,53,.09);border-radius:15px;background:rgba(255,255,255,.7);text-align:center}.scan-review-nutrition-grid span,.scan-review-nutrition-grid b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-review-nutrition-grid span{color:#78857f;font-size:.58rem}.scan-review-nutrition-grid b{margin-top:4px;color:#203029;font-size:.79rem}
.scan-review-label-details dl{margin:0}.scan-review-label-details dl>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;padding:13px 2px;border-bottom:1px solid rgba(31,67,53,.09)}.scan-review-label-details dl>div:last-child{border-bottom:0}.scan-review-label-details dt{color:#7c8983;font-size:.63rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.scan-review-label-details dd{margin:0;color:#33423b;font-size:.71rem;line-height:1.55}
.scan-review-alternatives>div:last-child{display:grid;gap:10px}.scan-review-alternatives article{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:13px;padding:10px;border:0;border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 10px 28px rgba(33,60,50,.08)}.scan-review-alternatives article>img{width:74px;height:74px;border-radius:13px;background:#fff;object-fit:contain}.scan-review-alternatives article b,.scan-review-alternatives article small,.scan-review-alternatives article p{display:block}.scan-review-alternatives article b{color:#22312a;font-size:.78rem}.scan-review-alternatives article small{margin-top:3px;color:#7b8882;font-size:.61rem}.scan-review-alternatives article p{margin:6px 0 0;color:#267b5c;font-size:.65rem;line-height:1.42}
.scan-review-disclaimer{margin:27px 0 0;color:#87928d;font-size:.58rem;line-height:1.5;text-align:center}.scan-review-actions{position:static;bottom:auto;display:block;margin-top:20px;padding:0;background:transparent}.scan-review-actions[hidden],.scan-review-actions form[hidden]{display:none}.scan-review-actions form{margin:0}.scan-review-actions form button{width:100%;min-height:54px;border:0;border-radius:16px;background:#1f8f68;color:#fff;font-size:.86rem;font-weight:950;box-shadow:0 12px 28px rgba(31,143,104,.24)}.scan-review-actions form button:disabled{opacity:.55;box-shadow:none}.scan-review-icon-bank[hidden]{display:none}
@media(max-width:390px){.scan-review-content{padding-left:17px;padding-right:17px}.scan-review-product{grid-template-columns:96px minmax(0,1fr);gap:16px}.scan-review-image{width:96px;height:96px;border-radius:20px}.scan-review-product h3{font-size:1.4rem}.scan-review-nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:700px){.scan-review{display:grid;place-items:center;padding:24px;background:rgba(8,14,12,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.scan-review[hidden]{display:none}.scan-review-card{width:min(100%,720px);height:min(920px,calc(100dvh - 48px));border-radius:30px;box-shadow:0 35px 100px rgba(0,0,0,.38)}.scan-review-card>.scan-review-header{border-radius:30px 30px 0 0}}

/* Version 20.28 — compact one-glance product decision */
.scan-review{position:fixed;inset:0;z-index:12;display:grid;place-items:center;padding:18px;background:rgba(3,9,7,.72);color:#18231f;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.scan-review[hidden]{display:none}
.scan-review-card{--review:#c28c28;--review-soft:#fff1d1;--review-ink:#724c0d;width:min(100%,430px);height:auto;max-height:calc(100dvh - 36px);margin:0;padding:0;border:1px solid rgba(255,255,255,.58);border-radius:27px;background:#f7faf7;color:#18231f;box-shadow:0 28px 80px rgba(0,0,0,.34);overflow-y:auto;overscroll-behavior:contain}
.scan-review-card[data-tone=green]{--review:#18875f;--review-soft:#dcf3e8;--review-ink:#0f6143}.scan-review-card[data-tone=red]{--review:#bd5143;--review-soft:#fbe2dc;--review-ink:#7d2e24}
.scan-review-content{width:100%;margin:0;padding:18px}
.scan-review-product{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:15px;margin:0;padding:0 0 14px;border:0;background:transparent}.scan-review-product.no-image{grid-template-columns:1fr}.scan-review-image{width:82px;height:82px;border:0;border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(25,54,43,.12);overflow:hidden}.scan-review-image img{width:100%;height:100%;display:block;object-fit:contain}.scan-review-product>.scan-review-identity>span{display:block;color:var(--review);font-size:.57rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.scan-review-product h3{margin:4px 0 2px;color:#17231e;font-size:1.28rem;line-height:1.1;letter-spacing:-.03em}.scan-review-product small{color:#748079;font-size:.62rem}
.scan-review-verdict{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;margin:0;padding:13px 14px;border:0;border-radius:18px;background:var(--review-soft);box-shadow:none}.scan-review-verdict>span{width:46px;height:46px;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:var(--review);box-shadow:0 6px 16px rgba(25,54,43,.1)}.scan-review-verdict>span .app-icon{width:27px;height:27px}.scan-review-verdict b{display:block;color:var(--review-ink);font-size:1rem;letter-spacing:-.015em}.scan-review-verdict p{margin:3px 0 0;color:#59665f;font-size:.65rem;line-height:1.35}
.scan-review-glance{display:grid;gap:7px;margin-top:11px}.scan-review-glance section{display:grid;grid-template-columns:45px minmax(0,1fr);align-items:start;gap:7px}.scan-review-glance section[hidden]{display:none}.scan-review-glance section>b{padding-top:7px;color:#718078;font-size:.55rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.scan-review-glance section>div{display:flex;flex-wrap:wrap;gap:5px}.scan-review-glance section>div>span{min-height:29px;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(26,73,55,.1);border-radius:999px;background:#fff;color:#405047}.scan-review-glance section>div>span .app-icon{width:14px;height:14px}.scan-review-glance section>div>span b{font-size:.55rem}.scan-review-good section,.scan-review-good{color:#187454}.scan-review-good>div>span{color:#187454!important;background:#edf8f3!important}.scan-review-watch>div>span{color:var(--review-ink)!important;background:var(--review-soft)!important}
.scan-review-alternative{margin-top:11px;padding:9px 10px;border:1px solid rgba(31,67,53,.1);border-radius:14px;background:#fff}.scan-review-alternative[hidden]{display:none}.scan-review-alternative>span{display:block;margin-bottom:6px;color:#68766f;font-size:.52rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.scan-review-alternative article{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px;padding:0;border:0;background:transparent;box-shadow:none}.scan-review-alternative article>img{width:46px;height:46px;border-radius:9px;background:#fff;object-fit:contain}.scan-review-alternative article b,.scan-review-alternative article small,.scan-review-alternative article p{display:block}.scan-review-alternative article b{color:#26352e;font-size:.64rem}.scan-review-alternative article small{margin-top:1px;color:#7c8882;font-size:.5rem}.scan-review-alternative article p{margin:3px 0 0;color:#247a59;font-size:.52rem;line-height:1.3}
.scan-review-actions{position:static;display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;margin-top:14px;padding:0;background:transparent}.scan-review-actions.single-action{grid-template-columns:1fr}.scan-review-actions>button,.scan-review-actions form button{width:100%;min-height:47px;border:1px solid #cbd5cf;border-radius:14px;background:#fff;color:#34433b;font-size:.72rem;font-weight:950;box-shadow:none}.scan-review-actions form{margin:0}.scan-review-actions form[hidden]{display:none}.scan-review-actions form button{border-color:#1f8f68;background:#1f8f68;color:#fff;box-shadow:0 9px 20px rgba(31,143,104,.2)}.scan-review-actions form button:disabled{opacity:.5;box-shadow:none}
@media(max-width:390px){.scan-review{padding:12px}.scan-review-card{max-height:calc(100dvh - 24px);border-radius:23px}.scan-review-content{padding:15px}.scan-review-product{grid-template-columns:72px minmax(0,1fr);gap:12px}.scan-review-image{width:72px;height:72px;border-radius:15px}.scan-review-product h3{font-size:1.14rem}.scan-review-verdict{padding:11px 12px}.scan-review-glance section{grid-template-columns:40px minmax(0,1fr)}}
@media(min-width:700px){.scan-review{display:grid;padding:24px}.scan-review[hidden]{display:none}.scan-review-card{width:min(100%,430px);height:auto;max-height:calc(100dvh - 48px);border-radius:27px}}

/* Version 20.29 — compact review in the Pantry card language */
.scan-review{background:rgba(2,7,10,.88);color:#e6edef}
.scan-review-card{--review:#e4b75f;--review-soft:rgba(224,177,87,.1);--review-ink:#f0c976;--review-border:rgba(224,177,87,.42);--review-glow:rgba(224,177,87,.2);width:min(100%,390px);border:1px solid #283640;border-radius:24px;background:#111820;color:#e4ebed;box-shadow:0 30px 90px rgba(0,0,0,.58);scrollbar-width:none}
.scan-review-card::-webkit-scrollbar{display:none}.scan-review-card[data-tone=green]{--review:#63deb5;--review-soft:rgba(84,209,163,.1);--review-ink:#72dfbb;--review-border:rgba(84,209,163,.42);--review-glow:rgba(84,209,163,.18)}.scan-review-card[data-tone=red]{--review:#e5846d;--review-soft:rgba(222,125,101,.12);--review-ink:#ee947f;--review-border:rgba(222,125,101,.48);--review-glow:rgba(222,125,101,.2)}
.scan-review-content{padding:0 0 14px}
.scan-review-product{display:block;margin:0;padding:0;background:transparent}.scan-review-image{width:100%;height:176px;border:0;border-radius:23px 23px 0 0;background:#0d1419;box-shadow:none}.scan-review-image img{object-fit:contain;background:#0d1419}.scan-review-product.no-image{display:block}.scan-review-product.no-image .scan-review-identity{padding-top:18px}
.scan-review-identity{padding:12px 15px 10px}.scan-review-product h3{min-height:0;margin:0 0 7px;color:#f1f5f6;font-size:1.18rem;line-height:1.15;letter-spacing:-.025em}.scan-review-symbol-row{min-height:27px;display:flex;align-items:center;gap:5px;margin-bottom:6px}.scan-review-symbol{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border:1px solid #3a4851;border-radius:8px;background:#172129;color:#aab5ba}.scan-review-symbol .app-icon{width:16px;height:16px;stroke-width:1.8}.scan-review-symbol.symbol-positive{border-color:rgba(84,209,163,.52);background:rgba(84,209,163,.1);color:#63deb5}.scan-review-symbol.symbol-warning{border-color:rgba(224,177,87,.56);background:rgba(224,177,87,.1);color:#e4b75f}.scan-review-symbol.symbol-strong{border-color:rgba(222,125,101,.62);background:rgba(222,125,101,.13);color:#e5846d}.scan-review-brand-line{min-width:0;display:flex;align-items:center;gap:0;color:#69dfb8;font-size:.56rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.scan-review-brand-line span,.scan-review-brand-line small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font:inherit}.scan-review-brand-line small:not(:empty):before{content:" · ";white-space:pre}.scan-review-brand-line span:empty+small:before{content:""}
.scan-review-verdict{grid-template-columns:39px minmax(0,1fr);gap:10px;margin:0 14px;padding:10px 11px;border:1px solid var(--review-border);border-radius:13px;background:var(--review-soft)}.scan-review-verdict>span{width:37px;height:37px;border:1px solid var(--review-border);border-radius:10px;background:#172129;color:var(--review);box-shadow:none}.scan-review-verdict>span .app-icon{width:23px;height:23px}.scan-review-verdict b{color:var(--review-ink);font-size:.84rem}.scan-review-verdict p{margin-top:2px;color:#9eaaaf;font-size:.57rem;line-height:1.35}
.scan-review-alternative{margin:10px 14px 0;padding:9px;border:1px solid #2b3942;border-radius:12px;background:#151e25}.scan-review-alternative>span{color:#94a1a7}.scan-review-alternative article{background:transparent}.scan-review-alternative article b{color:#e1e8ea}.scan-review-alternative article small{color:#87959b}.scan-review-alternative article p{color:#6cdbb6}
.scan-review-status-line{height:3px;margin:10px 14px 0;border-radius:999px;background:var(--review);box-shadow:0 0 14px var(--review-glow)}
.scan-review-actions{gap:8px;margin:10px 14px 0}.scan-review-actions>button,.scan-review-actions form button{min-height:46px;border:1px solid #34424b;border-radius:12px;background:#172129;color:#e0e7e9;font-size:.7rem}.scan-review-actions form button{border-color:rgba(84,209,163,.45);background:#23936e;color:#fff;box-shadow:none}.scan-review-actions form button:disabled{opacity:.5}
.scan-review-reasons{margin:9px 14px 0}.scan-review-reasons li{padding:8px 10px;background:#151e25}.scan-review-reasons b{color:var(--review-ink);font-size:.62rem}.scan-review-reasons span{font-size:.54rem}.scan-review-actions>button:last-child{border-color:rgba(84,209,163,.45);background:#23936e;color:#fff}
.scan-review-reasons .reason-positive{border-left-color:#63deb5}.scan-review-reasons .reason-positive b{color:#72dfbb}.scan-review-reasons .reason-strong{border-left-color:#e5846d}.scan-review-reasons .reason-strong b{color:#ee947f}
@media(max-width:390px){.scan-review-card{width:min(100%,370px);border-radius:21px}.scan-review-image{height:158px;border-radius:20px 20px 0 0}.scan-review-content{padding:0 0 12px}.scan-review-identity{padding:10px 13px 8px}.scan-review-verdict,.scan-review-alternative{margin-left:12px;margin-right:12px}.scan-review-status-line{margin-left:12px;margin-right:12px}.scan-review-actions{margin-left:12px;margin-right:12px}}
@media(min-width:700px){.scan-review-card{width:min(100%,390px);border-radius:24px}}

/* Version 20.32 — simplified, readable Pantry */
.pantry-product-grid{max-width:900px;grid-template-columns:1fr;gap:15px}.pantry-product-card .product-cover{aspect-ratio:1.48/1;background:#0d1419}.pantry-product-card .product-cover img{width:100%;height:100%;object-fit:cover!important;object-position:center 48%;background:#0d1419;transform:scale(1.04)}.pantry-product-card .product-card-body{padding:14px}.pantry-product-card .product-card-body>h2{font-size:1.02rem}.pantry-product-card .product-indicator-row{margin-top:6px}.pantry-product-card .product-primary-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.pantry-product-card .product-primary-actions>form{height:100%;margin:0}.pantry-product-card .product-primary-actions .product-shopping-action button,.pantry-product-card .product-primary-actions .product-shopping-action a,.pantry-product-card .product-remove-button{width:100%;height:100%;min-height:42px;display:flex;align-items:center;justify-content:center;padding:7px 8px;border:1px solid #2a3943;border-radius:11px;background:#172129;color:#d5dee1;font-size:.65rem;font-weight:850}.pantry-product-card .product-remove-button{border-color:rgba(222,125,101,.34);background:rgba(222,125,101,.07);color:#e58b78}.pantry-product-card .product-details-button{min-height:43px;margin-top:9px;font-size:.7rem}.product-details-dialog .product-details-content{padding-top:0}.product-details-dialog .product-detail-section{padding:14px 0}.product-details-dialog .product-detail-section>h3{margin-bottom:9px;font-size:.92rem}.product-details-dialog .product-guidance-detail-head{min-height:58px;padding:10px 12px}.product-details-dialog .product-symbol-details{padding:0 12px 11px}.product-details-dialog .product-guidance-reasons{gap:7px;padding:10px 12px}.product-details-dialog .product-guidance-reasons>div{padding:10px 11px}.product-details-dialog .guidance-disclaimer{padding:0 12px 12px}.product-details-dialog .product-detail-section>.product-nutrition-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.product-details-dialog .product-detail-section>.product-nutrition-details>div{min-height:42px;padding:8px 0;font-size:.78rem}.product-allergen-section p{margin:0;padding:11px 12px;border:1px solid rgba(224,177,87,.3);border-radius:11px;background:rgba(224,177,87,.07);color:#d9d2c3;font-size:.78rem;line-height:1.45}
@media(min-width:700px){.pantry-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pantry-product-card .product-cover{aspect-ratio:1.35/1}}
@media(max-width:360px){.product-details-dialog .product-detail-section>.product-nutrition-details{grid-template-columns:1fr}.pantry-product-card .product-cover{aspect-ratio:1.3/1}}

/* Version 20.34 — three Pantry views and inline details */
.pantry-view-options{
  max-width:900px;display:flex;align-items:center;justify-content:flex-end;gap:5px;
  margin:-5px 0 10px;
}
.pantry-view-options>span{margin-right:2px;color:#7f8d94;font-size:.54rem;font-weight:850}
.pantry-view-options button{
  min-height:32px;padding:5px 9px;border:1px solid #2a3943;border-radius:9px;
  background:#121a21;color:#8f9ca2;font-size:.54rem;font-weight:850;
}
.pantry-view-options button[aria-pressed=true]{border-color:rgba(113,230,189,.42);background:#173029;color:var(--accent)}
.pantry-product-grid{grid-template-columns:1fr}
.pantry-product-grid.is-two-view{grid-template-columns:repeat(2,minmax(0,1fr))}
.pantry-product-grid.is-mini-view{grid-template-columns:1fr;gap:8px}
.pantry-product-grid.is-mini-view .pantry-product-card{display:grid;grid-template-columns:76px minmax(0,1fr)}
.pantry-product-grid.is-mini-view .product-cover{width:76px;height:76px;aspect-ratio:auto;grid-column:1;grid-row:1;background:#0d1419}
.pantry-product-grid.is-mini-view .product-cover img{transform:none;object-fit:contain!important}
.pantry-product-grid.is-mini-view .product-card-body{grid-column:2;grid-row:1;padding:9px 10px}
.pantry-product-grid.is-mini-view .product-card-body>h2{min-height:0;margin:0 0 4px;font-size:.82rem;-webkit-line-clamp:1}
.pantry-product-grid.is-mini-view .product-indicator-row{min-height:21px;margin:0 0 3px}
.pantry-product-grid.is-mini-view .product-indicator{width:20px;height:20px;flex-basis:20px;border-radius:6px}
.pantry-product-grid.is-mini-view .product-indicator .app-icon{width:13px;height:13px}
.pantry-product-grid.is-mini-view .product-brand{min-height:12px;margin:0;font-size:.48rem}
.pantry-product-grid.is-mini-view .product-summary-basis,.pantry-product-grid.is-mini-view .product-nutrient-strip,.pantry-product-grid.is-mini-view .product-ai-note{display:none}
.pantry-product-grid.is-mini-view .product-primary-actions{gap:5px;margin-top:6px}
.pantry-product-grid.is-mini-view .product-primary-actions .product-shopping-action button,.pantry-product-grid.is-mini-view .product-primary-actions .product-shopping-action a,.pantry-product-grid.is-mini-view .product-remove-button{min-height:31px;padding:4px;font-size:.48rem}
.pantry-product-grid.is-mini-view .product-details-button{min-height:30px;margin-top:5px;font-size:.52rem}
.pantry-product-grid.is-mini-view .pantry-inline-details{grid-column:1/-1}
.pantry-inline-details[hidden]{display:none}
.pantry-inline-details{border-top:1px solid #2b3942;background:#0f171d}
.pantry-inline-details-content{padding:0 14px 14px}
.pantry-inline-details .product-detail-section{padding:14px 0;border-top:1px solid #29363e}
.pantry-inline-details .product-detail-section:first-child{border-top:0}
.pantry-inline-details .product-detail-section>h3{margin:0 0 9px;color:#dce4e6;font-size:.84rem}
.pantry-inline-details .product-guidance-detail{border-radius:13px}
.pantry-inline-details .product-guidance-detail-head{min-height:54px;grid-template-columns:30px minmax(0,1fr);padding:10px 11px}
.pantry-inline-details .product-guidance-detail-head .product-indicator{width:29px;height:29px}
.pantry-inline-details .product-guidance-detail-head b{font-size:.82rem}
.pantry-inline-details .product-guidance-detail-head small{font-size:.67rem}
.pantry-inline-details .product-symbol-details{padding:0 11px 10px}
.pantry-inline-details .product-symbol-details>span{min-height:31px;padding:6px 8px}
.pantry-inline-details .product-symbol-details b{font-size:.64rem}
.pantry-inline-details .product-guidance-reasons{gap:7px;padding:10px}
.pantry-inline-details .product-guidance-reasons>div{padding:10px 11px}
.pantry-inline-details .product-guidance-reasons b{font-size:.75rem}
.pantry-inline-details .product-guidance-reasons p,.pantry-inline-details .product-better-choice p{font-size:.68rem;line-height:1.45}
.pantry-inline-details .product-better-choice{margin:0 10px 10px;padding:11px}
.pantry-inline-details .guidance-disclaimer{padding:0 11px 11px;font-size:.58rem}
.pantry-inline-details .product-nutrition-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.pantry-inline-details .product-nutrition-details>div{min-height:40px;padding:8px 0;font-size:.69rem}
.pantry-label-details>div+div{margin-top:9px}
.pantry-label-details b{display:block;color:#dfe6e8;font-size:.72rem}
.pantry-label-details p{margin:5px 0 0;padding:10px 11px;border:1px solid #2a3942;border-radius:10px;background:#151e25;color:#aeb9bd;font-size:.67rem;line-height:1.5}
.pantry-label-details .product-allergen-section p{border-color:rgba(224,177,87,.3);background:rgba(224,177,87,.07);color:#d9d2c3}
.pantry-details-less{width:100%;min-height:42px;margin-top:12px;border:1px solid #34434c;border-radius:11px;background:#172129;color:#dce4e6;font-size:.7rem;font-weight:900}
.pantry-product-card.details-open .product-details-button>span:last-child{transform:rotate(90deg)}
@media(max-width:390px){
  .pantry-view-options{justify-content:space-between;gap:4px}
  .pantry-view-options button{padding-inline:7px}
  .pantry-product-grid.is-mini-view .pantry-product-card{grid-template-columns:68px minmax(0,1fr)}
  .pantry-product-grid.is-mini-view .product-cover{width:68px;height:68px}
}
@media(max-width:350px){.pantry-inline-details .product-nutrition-details{grid-template-columns:1fr}}
@media(max-width:650px){.store-head-actions .store-pantry-link{width:auto;padding:7px 10px}.store-head-actions .store-pantry-link span{display:inline}}

/* Version 20.35 — matched Store views and stable return positions */
.pantry-view-options{
  justify-content:flex-start;max-width:900px;overflow-x:auto;white-space:nowrap;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.pantry-view-options::-webkit-scrollbar{display:none}
.pantry-view-options .view-switch-link{
  min-height:32px;display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;margin-left:4px;
  padding:5px 9px;border:1px solid rgba(113,230,189,.42);border-radius:9px;
  background:#173029;color:var(--accent);font-size:.54rem;font-weight:900;text-decoration:none;
}
.pantry-view-options .view-switch-link .app-icon{width:14px;height:14px}
.catalog-view-grid{max-width:900px;grid-template-columns:1fr}
.catalog-view-grid.is-two-view{grid-template-columns:repeat(2,minmax(0,1fr))}
.catalog-view-grid.is-mini-view{grid-template-columns:1fr;gap:8px}
.catalog-view-grid.is-mini-view .food-product-card{display:grid;grid-template-columns:76px minmax(0,1fr)}
.catalog-view-grid.is-mini-view .product-cover{
  width:76px;height:76px;aspect-ratio:auto;grid-column:1;grid-row:1;background:#0d1419;
}
.catalog-view-grid.is-mini-view .product-cover img{transform:none;object-fit:contain!important}
.catalog-view-grid.is-mini-view .product-card-body{grid-column:2;grid-row:1;padding:9px 10px}
.catalog-view-grid.is-mini-view .product-card-body>h2{min-height:0;margin:0 0 4px;font-size:.82rem;-webkit-line-clamp:1}
.catalog-view-grid.is-mini-view .product-indicator-row{min-height:21px;margin:0 0 3px}
.catalog-view-grid.is-mini-view .product-indicator{width:20px;height:20px;flex-basis:20px;border-radius:6px}
.catalog-view-grid.is-mini-view .product-indicator .app-icon{width:13px;height:13px}
.catalog-view-grid.is-mini-view .product-brand{min-height:12px;margin:0;font-size:.48rem}
.catalog-view-grid.is-mini-view .product-summary-basis,
.catalog-view-grid.is-mini-view .product-nutrient-strip,
.catalog-view-grid.is-mini-view .product-ai-note{display:none}
.catalog-view-grid.is-mini-view .store-card-actions{gap:5px;margin-top:6px}
.catalog-view-grid.is-mini-view .store-card-actions>a,
.catalog-view-grid.is-mini-view .store-card-actions button{min-height:31px;padding:4px;font-size:.48rem}
.catalog-view-grid.is-mini-view .pantry-inline-details{grid-column:1/-1}
@media(max-width:390px){
  .pantry-view-options{justify-content:flex-start}
  .catalog-view-grid.is-mini-view .food-product-card{grid-template-columns:68px minmax(0,1fr)}
  .catalog-view-grid.is-mini-view .product-cover{width:68px;height:68px}
}

/* Version 20.36 — one stable Pantry/Store layout */
.catalog-page-controls{scroll-margin-top:90px}
.pantry-view-options .view-switch-link{margin:0 4px 0 0}
.catalog-view-grid{gap:15px}
.catalog-view-grid .product-cover{aspect-ratio:1.48/1;background:#0d1419}
.catalog-view-grid .product-card-body{padding:14px}
.catalog-view-grid .product-card-body>h2{font-size:1.02rem}
.catalog-view-grid .product-indicator-row{margin-top:6px}
.store-product-card .product-cover img{width:100%;height:100%;object-fit:contain!important;background:#0d1419}
.store-product-card .store-card-actions{gap:8px;margin-top:11px}
.store-product-card .store-card-actions a,
.store-product-card .store-card-actions button{min-height:42px;padding:7px 8px;font-size:.65rem}
.store-search{max-width:900px;margin-top:10px;margin-bottom:14px}
@media(min-width:700px){.catalog-view-grid .product-cover{aspect-ratio:1.35/1}}
@media(max-width:360px){.catalog-view-grid .product-cover{aspect-ratio:1.3/1}}

/* Version 20.44 — fixed Store filters and stable catalog actions */
.catalog-page-controls .view-switch-link{order:0;margin-left:0}
.catalog-page-controls>span{order:1}
.catalog-page-controls>button{order:2}
.store-product-card .product-cover img{width:100%;height:100%;object-fit:cover!important;object-position:center 48%;background:#0d1419;transform:scale(1.04)}
.catalog-view-grid.is-mini-view .store-product-card .product-cover img{object-fit:contain!important;transform:none}

/* Version 21.0 — visual Store shopping experience */
.page-store .container{max-width:1040px;padding:10px 10px 28px}
.page-store .footer{display:none}
.page-title-brand{gap:0}
.page-title-copy{display:flex;flex-direction:column;line-height:1.05}
.page-title-copy b{font-size:1.16rem;letter-spacing:-.02em}
.page-title-copy small{margin-top:3px;color:var(--accent);font-size:.5rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.page-store .top-camera-button span{display:none}

.store-discovery{position:sticky;top:calc(var(--topbar) + env(safe-area-inset-top));z-index:32;margin:0 -10px 9px;padding:7px 10px 8px;border-bottom:1px solid rgba(48,63,74,.72);background:rgba(9,13,18,.93);box-shadow:0 8px 24px rgba(0,0,0,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.store-discovery-primary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px}
.store-compact-action,.store-layout-toggle{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid #2a3944;border-radius:12px;background:#131c24;color:#d7e0e4;font-size:.57rem;font-weight:850;white-space:nowrap}
.store-compact-action .app-icon,.store-layout-toggle .app-icon{width:15px;height:15px;color:var(--accent)}
.store-manage-action{width:38px;padding:0}
.store-quick-search{height:38px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;margin:0;padding:0 4px 0 10px;border:1px solid #2a3944;border-radius:12px;background:#111920}
.store-quick-search>.app-icon{width:15px;height:15px;color:#74838d}
.store-quick-search input{min-width:0;min-height:34px;padding:0;border:0;background:transparent;color:var(--text);font-size:16px;outline:0}
.store-quick-search button{height:30px;min-width:34px;padding:0 8px;border:0;border-radius:9px;background:var(--accent);color:#07130f;font-size:.54rem;font-weight:900}
.store-filter-rail{display:flex;gap:6px;margin:7px -10px -2px;padding:0 10px 2px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain}
.store-filter-rail::-webkit-scrollbar{display:none}
.store-filter-rail a{min-height:32px;display:flex;align-items:center;gap:5px;padding:0 10px;border:1px solid #26343e;border-radius:999px;background:#121a22;color:#9aa7ae;font-size:.54rem;font-weight:850;white-space:nowrap}
.store-filter-rail a small{min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;background:#1d2831;color:#8e9ba3;font-size:.48rem}
.store-filter-rail a.active{border-color:rgba(113,230,189,.48);background:#163029;color:var(--accent)}
.store-filter-rail a.active small{background:var(--accent);color:#07130f}
.store-result-summary{margin:2px 2px 9px;color:#78868e;font-size:.53rem;font-weight:750}

.store-product-grid.catalog-view-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:none}
.store-product-card{position:relative;scroll-margin-top:150px;border:0;border-radius:17px;background:#111820;box-shadow:none;cursor:pointer;overflow:hidden;isolation:isolate}
.store-product-card:focus-visible{outline:3px solid rgba(113,230,189,.55);outline-offset:2px}
.store-product-card .store-product-hero{aspect-ratio:.84/1;border:1px solid #25333d;border-radius:17px;background:#0d1419;overflow:hidden}
.store-product-card .store-product-hero img{width:100%;height:100%;object-fit:cover!important;object-position:center!important;background:#0d1419;transform:none!important;transition:transform .25s ease}
.store-product-card:active .store-product-hero img{transform:scale(1.015)!important}
.store-product-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:44px 9px 9px;background:linear-gradient(180deg,transparent 40%,rgba(4,8,11,.2) 57%,rgba(4,8,11,.94) 100%);pointer-events:none}
.store-product-caption{min-width:0;padding-right:34px}
.store-product-caption h2{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#fff;font-size:.84rem;line-height:1.13;text-shadow:0 2px 8px rgba(0,0,0,.8)}
.store-product-caption p{margin:4px 0 0;overflow:hidden;color:#aebbc0;font-size:.46rem;font-weight:800;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.store-product-tools{position:absolute;right:8px;bottom:8px;display:flex;flex-direction:column;gap:6px;pointer-events:auto}
.store-product-tools form{margin:0}
.store-guidance-dot,.store-overlay-action{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:rgba(7,13,17,.78);color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.store-guidance-dot .app-icon,.store-overlay-action .app-icon{width:16px;height:16px}
.store-guidance-dot.product-status-simple,.store-overlay-action.is-saved{border-color:rgba(113,230,189,.62);color:var(--accent)}
.store-guidance-dot.product-status-watch{border-color:rgba(245,185,95,.65);color:var(--warn)}
.store-guidance-dot.product-status-limit{border-color:rgba(255,116,116,.68);color:#ff8b7d}
.store-overlay-action{cursor:pointer}
.store-overlay-action:not(.is-saved){background:var(--accent);color:#07130f;border-color:var(--accent)}
.store-insight-track,.store-focus-footer{display:none}

.store-product-grid.is-store-single{grid-template-columns:1fr;gap:14px}
.store-product-grid.is-store-single .store-product-card{cursor:default}
.store-product-grid.is-store-single .store-product-hero{aspect-ratio:1.05/1}
.store-product-grid.is-store-single .store-product-caption h2{font-size:1.2rem}
.store-product-grid.is-store-single .store-product-caption p{font-size:.58rem}
.store-product-grid.is-store-single .store-guidance-dot,.store-product-grid.is-store-single .store-overlay-action{width:36px;height:36px;border-radius:12px}
.store-product-grid.is-store-single .store-insight-track,.store-product-grid.is-product-focus .is-focused .store-insight-track{display:flex}
.store-insight-track{gap:9px;margin-top:9px;padding:0 1px 4px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}
.store-insight-track::-webkit-scrollbar{display:none}
.store-insight-card{width:88%;min-width:88%;min-height:210px;display:flex;flex-direction:column;padding:18px;border:1px solid #283741;border-radius:17px;background:linear-gradient(145deg,#172129,#111820);scroll-snap-align:start}
.store-insight-card.guidance-simple{border-color:rgba(113,230,189,.34);background:linear-gradient(145deg,rgba(33,77,62,.72),#111820)}
.store-insight-card.guidance-watch{border-color:rgba(245,185,95,.35);background:linear-gradient(145deg,rgba(87,65,31,.72),#111820)}
.store-insight-card.guidance-limit{border-color:rgba(255,116,116,.35);background:linear-gradient(145deg,rgba(91,43,43,.72),#111820)}
.store-insight-kicker{color:var(--accent);font-size:.55rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.store-insight-card h3{margin:7px 0 6px;font-size:1.12rem}
.store-insight-card p{margin:0;color:#a8b4ba;font-size:.73rem;line-height:1.48}
.store-insight-card>small{display:block;margin-top:auto;padding-top:12px;color:#9ba8ae;font-size:.62rem;line-height:1.45}
.store-insight-card>small b{display:block;margin-bottom:3px;color:#eef3f5;font-size:.66rem}
.store-insight-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.store-insight-chips span{display:flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid #33434d;border-radius:999px;color:#c8d3d7;font-size:.55rem;font-weight:800}
.store-insight-chips .app-icon{width:13px;height:13px}
.store-insight-nutrition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}
.store-insight-nutrition span{padding:9px 5px;border-radius:10px;background:rgba(255,255,255,.045);text-align:center}
.store-insight-nutrition small,.store-insight-nutrition b{display:block}
.store-insight-nutrition small{color:#7f8e96;font-size:.48rem}
.store-insight-nutrition b{margin-top:3px;font-size:.7rem}
.store-insight-note{margin-top:auto!important;padding-top:12px}
.store-insight-card dl{margin:5px 0 0}
.store-insight-card dl div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid #2b3841;font-size:.68rem}
.store-insight-card dt{color:#7f8d95}.store-insight-card dd{margin:0;color:#e8eef0;font-weight:800;text-align:right;overflow-wrap:anywhere}
.store-focus-footer{align-items:center;justify-content:space-between;padding:6px 2px 0;color:#75838b;font-size:.54rem}
.store-focus-footer button{padding:6px 0;border:0;background:transparent;color:var(--accent);font-size:.58rem;font-weight:850}
.store-product-grid.is-store-single .store-focus-footer,.store-product-grid.is-product-focus .is-focused .store-focus-footer{display:flex}

.store-product-grid.is-product-focus{display:block}
.store-product-grid.is-product-focus .store-product-card:not(.is-focused){display:none}
.store-product-grid.is-product-focus .store-product-card.is-focused{display:block;cursor:default}
.store-product-grid.is-product-focus .store-product-card.is-focused .store-product-hero{aspect-ratio:1.05/1}
.store-product-grid.is-product-focus .store-product-card.is-focused .store-product-caption h2{font-size:1.2rem}
.store-product-grid.is-product-focus .store-product-card.is-focused .store-product-caption p{font-size:.58rem}
body.store-product-focused{overscroll-behavior-y:contain}

@media(min-width:700px){
  .page-store .container{padding-left:18px;padding-right:18px}
  .store-discovery{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}
  .store-filter-rail{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}
  .store-product-grid.catalog-view-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .store-product-grid.is-product-focus{max-width:620px;margin:0 auto}
  .store-insight-card{width:76%;min-width:76%}
}
@media(max-width:380px){
  .store-compact-action span,.store-layout-toggle span{display:none}
  .store-compact-action,.store-layout-toggle{width:38px;padding:0}
  .store-product-caption h2{font-size:.76rem}
  .store-product-caption p{font-size:.42rem}
}

/* Version 21.1 — full-card horizontal Store carousel */
.store-visual-track{display:block;width:100%;overflow:hidden}
.store-visual-track>.store-insight-card,.store-visual-track>.store-additional-photo{display:none}
.store-product-grid.is-store-single .store-visual-track,
.store-product-grid.is-product-focus .is-focused .store-visual-track{height:clamp(420px,calc(100svh - var(--topbar) - var(--tabbar) - 70px),680px);display:flex;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}
.store-product-grid.is-store-single .store-visual-track::-webkit-scrollbar,
.store-product-grid.is-product-focus .is-focused .store-visual-track::-webkit-scrollbar{display:none}
.store-product-grid.is-store-single .store-visual-slide,
.store-product-grid.is-product-focus .is-focused .store-visual-slide{width:100%;min-width:100%;height:100%;min-height:0;flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
.store-product-grid.is-store-single .store-product-hero,
.store-product-grid.is-product-focus .is-focused .store-product-hero{aspect-ratio:auto;border-radius:17px}
.store-product-grid.is-store-single .store-product-hero img,
.store-product-grid.is-product-focus .is-focused .store-product-hero img{object-fit:contain!important;object-position:center!important;background:#0d1419;transform:none!important}
.store-product-grid.is-store-single .store-insight-card,
.store-product-grid.is-product-focus .is-focused .store-insight-card{display:flex;margin:0;padding:clamp(24px,7vw,48px) clamp(22px,6vw,42px);border-radius:17px;justify-content:center}
.store-product-grid.is-store-single .store-additional-photo,
.store-product-grid.is-product-focus .is-focused .store-additional-photo{position:relative;display:block;margin:0;border:1px solid #25333d;border-radius:17px;background:#0d1419;overflow:hidden}
.store-additional-photo img{width:100%;height:100%;display:block;object-fit:contain;background:#0d1419}
.store-additional-photo figcaption{position:absolute;left:12px;bottom:12px;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(7,13,17,.74);color:#d8e1e4;font-size:.55rem;font-weight:800;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.store-product-grid.is-store-single .store-insight-card h3,
.store-product-grid.is-product-focus .is-focused .store-insight-card h3{font-size:clamp(1.35rem,6vw,2rem)}
.store-product-grid.is-store-single .store-insight-card p,
.store-product-grid.is-product-focus .is-focused .store-insight-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:10;font-size:clamp(.78rem,3.4vw,1rem);line-height:1.55}
.store-product-grid.is-store-single .store-insight-card>small,
.store-product-grid.is-product-focus .is-focused .store-insight-card>small{font-size:.7rem}
.store-product-grid.is-store-single .store-focus-footer,
.store-product-grid.is-product-focus .is-focused .store-focus-footer{position:absolute;z-index:6;top:10px;left:10px;right:10px;display:flex;padding:0;pointer-events:none}
.store-focus-footer span,.store-focus-footer button{min-height:34px;display:flex;align-items:center;padding:0 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(7,13,17,.74);box-shadow:0 5px 15px rgba(0,0,0,.25);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.store-focus-footer span{color:#d6dfe2;font-weight:800}
.store-focus-footer button{color:var(--accent);pointer-events:auto}
.store-insight-track{display:none!important}
@media(min-width:700px){
  .store-product-grid.is-store-single .store-visual-track,
  .store-product-grid.is-product-focus .is-focused .store-visual-track{height:min(680px,calc(100svh - 180px))}
}

/* Version 21.2 — product-first Store tiles and instant Pantry state */
.store-product-card .store-product-hero img{object-fit:contain!important;object-position:center!important;background:#0d1419;transform:none!important}
.store-product-overlay{justify-content:space-between;padding:9px;background:linear-gradient(180deg,rgba(4,8,11,.5) 0,transparent 24%,transparent 66%,rgba(4,8,11,.72) 100%)}
.store-product-caption,.store-product-tools{display:none!important}
.store-product-indicators{position:absolute;top:8px;left:8px;right:8px;display:flex;align-items:center;gap:5px;pointer-events:auto}
.store-product-indicators .store-guidance-dot{width:29px;height:29px;flex:0 0 29px;border-radius:9px}
.store-product-indicators .store-guidance-dot.symbol-positive{border-color:rgba(84,209,163,.62);background:rgba(16,45,36,.88);color:#63deb5}
.store-product-indicators .store-guidance-dot.symbol-warning{border-color:rgba(224,177,87,.68);background:rgba(55,43,20,.9);color:#e4b75f}
.store-product-indicators .store-guidance-dot.symbol-strong{border-color:rgba(222,125,101,.72);background:rgba(59,29,25,.9);color:#ed8c76}
.store-product-indicators .store-guidance-dot.symbol-neutral{border-color:#4a5962;background:rgba(20,29,35,.88);color:#b1bdc2}
.store-pantry-control{position:absolute;left:9px;right:9px;bottom:9px;pointer-events:auto}
.store-pantry-control form{margin:0}
.store-pantry-button{width:100%;min-height:39px;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 9px;border:1px solid rgba(113,230,189,.72);border-radius:12px;background:rgba(28,158,119,.94);color:#fff;box-shadow:0 7px 20px rgba(0,0,0,.34);font-size:.61rem;font-weight:900;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.store-pantry-button .app-icon{width:16px;height:16px}
.store-pantry-button.is-saved{border-color:rgba(113,230,189,.54);background:rgba(10,31,25,.88);color:var(--accent)}
.store-pantry-button.is-saved .app-icon{display:none}
.store-pantry-button.is-saved:before{content:'✓';font-size:.82rem;font-weight:950}
.store-pantry-button[aria-busy="true"]{opacity:.82;cursor:wait}
.store-product-grid.is-store-single .store-pantry-button,
.store-product-grid.is-product-focus .is-focused .store-pantry-button{min-height:48px;border-radius:14px;font-size:.78rem}
.store-product-grid.is-store-single .store-product-indicators .store-guidance-dot,
.store-product-grid.is-product-focus .is-focused .store-product-indicators .store-guidance-dot{width:34px;height:34px;flex-basis:34px;border-radius:11px}
.store-product-grid.is-store-single .store-focus-footer,
.store-product-grid.is-product-focus .is-focused .store-focus-footer{left:auto;right:10px;width:auto}
.store-product-grid.is-store-single .store-focus-footer span,
.store-product-grid.is-product-focus .is-focused .store-focus-footer span{display:none}
@media(max-width:380px){
  .store-pantry-button{min-height:37px;padding-left:5px;padding-right:5px;font-size:.55rem}
  .store-product-indicators{gap:4px}
  .store-product-indicators .store-guidance-dot{width:27px;height:27px;flex-basis:27px}
}

/* Version 21.3 — precise Store snapping and richer compact details */
.store-product-grid.is-store-single .store-product-card,
.store-product-grid.is-product-focus .store-product-card.is-focused{width:100%;max-width:100%;margin-inline:auto;overflow:hidden}
.store-product-grid.is-store-single .store-visual-track,
.store-product-grid.is-product-focus .is-focused .store-visual-track{width:100%;max-width:100%;height:clamp(400px,calc(100svh - var(--topbar) - var(--tabbar) - 100px),620px);gap:0;scroll-padding-inline:0;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain}
.store-product-grid.is-store-single .store-visual-slide,
.store-product-grid.is-product-focus .is-focused .store-visual-slide{box-sizing:border-box;inline-size:100%;min-inline-size:100%;max-inline-size:100%;flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always}
.store-product-grid.is-store-single .store-insight-card,
.store-product-grid.is-product-focus .is-focused .store-insight-card{justify-content:flex-start;padding:22px 20px 58px;overflow:hidden}
.store-guidance-slide .store-guidance-summary{display:block!important;margin:0;color:#bdc7cb;font-size:.75rem!important;-webkit-line-clamp:unset!important}
.store-guidance-slide .store-insight-chips{margin-top:10px}
.store-guidance-reason-list{display:grid;gap:6px;margin-top:12px}
.store-guidance-reason-list article{padding:8px 10px;border:1px solid #31404a;border-radius:11px;background:rgba(255,255,255,.035)}
.store-guidance-reason-list article.reason-strong{border-color:rgba(222,125,101,.42);background:rgba(93,43,35,.3)}
.store-guidance-reason-list article.reason-review{border-color:rgba(224,177,87,.4);background:rgba(89,66,27,.25)}
.store-guidance-reason-list article.reason-positive{border-color:rgba(84,209,163,.35);background:rgba(28,77,60,.24)}
.store-guidance-reason-list b{display:block;color:#eef3f4;font-size:.65rem}
.store-guidance-reason-list p{display:-webkit-box!important;margin:3px 0 0!important;overflow:hidden!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;color:#aeb9be!important;font-size:.59rem!important;line-height:1.4!important}
.store-label-summary{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}
.store-label-summary h4{margin:0 0 6px;color:var(--accent);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase}
.store-label-summary p{display:block!important;margin:3px 0!important;color:#b6c0c4!important;font-size:.61rem!important;line-height:1.4!important;-webkit-line-clamp:unset!important}
.store-label-summary .store-ingredient-text{display:-webkit-box!important;overflow:hidden!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important}
.store-nutrition-slide h3{margin-bottom:14px}
.store-nutrition-primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.store-nutrition-primary>span{min-width:0;padding:12px 5px;border:1px solid #2b3a44;border-radius:13px;background:rgba(255,255,255,.04);text-align:center}
.store-nutrition-primary small,.store-nutrition-primary strong,.store-nutrition-primary em{display:block}
.store-nutrition-primary small{color:#89979e;font-size:.5rem;font-weight:800}
.store-nutrition-primary strong{margin-top:4px;color:#f2f6f7;font-size:1.28rem;line-height:1}
.store-nutrition-primary em{margin-top:3px;color:var(--accent);font-size:.52rem;font-style:normal;font-weight:850}
.store-nutrition-details{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.store-nutrition-details>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid #293842;border-radius:11px;background:rgba(255,255,255,.025);font-size:.61rem}
.store-nutrition-details span{color:#91a0a7}.store-nutrition-details b{color:#eef3f5;white-space:nowrap}
.store-nutrition-context{margin-top:12px;padding:11px 12px;border:1px solid rgba(113,230,189,.25);border-radius:12px;background:rgba(28,77,60,.17)}
.store-nutrition-context>b{display:block;color:var(--accent);font-size:.65rem}
.store-nutrition-context p{display:block!important;margin:4px 0 7px!important;color:#adb9bd!important;font-size:.61rem!important;line-height:1.42!important;-webkit-line-clamp:unset!important}
.store-nutrition-context small{display:block;color:#84939a;font-size:.54rem;line-height:1.4}
.store-carousel-dots{display:none}
.store-product-grid.is-store-single .store-carousel-dots,
.store-product-grid.is-product-focus .is-focused .store-carousel-dots{position:absolute;z-index:7;left:50%;bottom:57px;display:flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;background:rgba(7,13,17,.66);transform:translateX(-50%);pointer-events:none;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.store-carousel-dots i{width:5px;height:5px;display:block;border-radius:50%;background:#67757d;transition:width .18s,background .18s}
.store-carousel-dots i.active{width:14px;border-radius:999px;background:var(--accent)}
@media(min-width:700px){
  .store-product-grid.is-store-single .store-visual-track,
  .store-product-grid.is-product-focus .is-focused .store-visual-track{height:min(620px,calc(100svh - 205px))}
}
@media(max-width:360px){
  .store-product-grid.is-store-single .store-insight-card,
  .store-product-grid.is-product-focus .is-focused .store-insight-card{padding:18px 16px 54px}
  .store-guidance-reason-list article:nth-child(n+3){display:none}
  .store-label-summary .store-ingredient-text{-webkit-line-clamp:3!important}
}

/* Version 21.4 — complete label nutrition and neutral ingredient education */
.store-product-grid.is-store-single .store-insight-card,
.store-product-grid.is-product-focus .is-focused .store-insight-card{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#52636c transparent}
.store-ingredient-explanations{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}
.store-ingredient-explanations h4{margin:0 0 7px;color:var(--accent);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase}
.store-ingredient-explanations article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.018)}
.store-ingredient-explanations article:first-of-type{border-radius:10px 10px 0 0}.store-ingredient-explanations article:last-of-type{border-bottom:0;border-radius:0 0 10px 10px}
.store-ingredient-explanations b{color:#eef3f4;font-size:.62rem}.store-ingredient-explanations small{color:#e0b157;font-size:.52rem;font-weight:850;text-align:right}
.store-ingredient-explanations p{grid-column:1/-1;display:block!important;margin:2px 0 0!important;color:#aeb9be!important;font-size:.57rem!important;line-height:1.4!important;-webkit-line-clamp:unset!important}
.store-nutrition-slide h3{margin-bottom:5px}
.store-nutrition-basis{display:block!important;margin:0 0 10px!important;color:#94a2a8!important;font-size:.59rem!important;line-height:1.38!important;-webkit-line-clamp:unset!important}
.store-nutrient-group{margin-top:9px}
.store-nutrient-group h4{margin:0 0 5px;color:var(--accent);font-size:.57rem;letter-spacing:.075em;text-transform:uppercase}
.store-nutrient-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.store-nutrient-group span{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:7px 8px;border:1px solid #293842;border-radius:9px;background:rgba(255,255,255,.025)}
.store-nutrient-group small{min-width:0;color:#91a0a7;font-size:.52rem;line-height:1.2}.store-nutrient-group strong{flex:0 0 auto;color:#eef3f5;font-size:.58rem;white-space:nowrap}
.store-nutrition-missing{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;margin-top:9px;padding:9px 10px;border:1px solid rgba(224,177,87,.43);border-radius:10px;background:rgba(89,66,27,.22)}
.store-nutrition-missing b{color:#e6bd69;font-size:.59rem}.store-nutrition-missing span{color:#b9c2c5;font-size:.55rem;line-height:1.38}
.store-nutrition-slide .store-nutrition-context{margin-top:10px;padding:8px 10px}
@media(max-width:360px){
  .store-ingredient-explanations article{padding:6px 8px}.store-ingredient-explanations p{font-size:.54rem!important}
  .store-nutrient-group span{padding:6px}.store-nutrient-group small{font-size:.49rem}.store-nutrient-group strong{font-size:.54rem}
}

/* Version 21.5 — simplified guidance and desktop carousel arrows */
.store-guidance-status{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-top:8px}
.store-guidance-status h3{margin:0!important}.store-guidance-status .store-guidance-summary{margin-top:3px!important;font-size:.65rem!important;line-height:1.35!important}
.store-guidance-status-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border:1px solid #47545c;border-radius:13px;background:rgba(7,13,17,.56);color:#b4c0c5}
.store-guidance-status-icon .app-icon{width:23px;height:23px}
.store-guidance-status-icon.product-status-simple{border-color:rgba(113,230,189,.6);background:rgba(22,70,54,.5);color:var(--accent)}
.store-guidance-status-icon.product-status-watch{border-color:rgba(245,185,95,.65);background:rgba(86,62,24,.48);color:var(--warn)}
.store-guidance-status-icon.product-status-limit{border-color:rgba(255,116,116,.65);background:rgba(90,40,35,.48);color:#ff8b7d}
.store-guidance-slide .store-insight-chips{margin-top:9px}
.store-guidance-reason-list{margin-top:11px}
.store-guidance-reason-list h4{margin:0 0 6px;color:#89979e;font-size:.56rem;letter-spacing:.06em;text-transform:uppercase}
.store-guidance-disclosure{margin-top:8px;border:1px solid #2d3b45;border-radius:11px;background:rgba(255,255,255,.025);overflow:hidden}
.store-guidance-disclosure summary{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;color:#e5ecee;font-size:.61rem;font-weight:850;cursor:pointer;list-style:none}
.store-guidance-disclosure summary::-webkit-details-marker{display:none}
.store-guidance-disclosure summary:after{content:'⌄';color:var(--accent);font-size:.78rem;transition:transform .16s}
.store-guidance-disclosure[open] summary:after{transform:rotate(180deg)}
.store-guidance-disclosure summary span{min-width:0}.store-guidance-disclosure summary small{margin-left:auto;color:#829198;font-size:.5rem;font-weight:750;white-space:nowrap}
.store-guidance-disclosure[open] summary{border-bottom:1px solid #2d3b45;background:rgba(255,255,255,.025)}
.store-guidance-disclosure .store-ingredient-explanations,.store-guidance-disclosure .store-label-summary{margin:0;padding:7px;border:0}
.store-guidance-disclosure .store-label-summary p{font-size:.57rem!important}.store-guidance-disclosure .store-label-summary .store-ingredient-text{-webkit-line-clamp:unset!important}
.store-carousel-arrows{display:none}
@media(min-width:700px){
  .store-product-grid.is-store-single .store-carousel-arrows,
  .store-product-grid.is-product-focus .is-focused .store-carousel-arrows{position:absolute;z-index:8;top:50%;left:8px;right:8px;display:flex;align-items:center;justify-content:space-between;transform:translateY(-50%);pointer-events:none}
  .store-carousel-arrows button{width:38px;height:48px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(7,13,17,.68);color:#fff;font-size:1.55rem;line-height:1;box-shadow:0 5px 18px rgba(0,0,0,.3);cursor:pointer;pointer-events:auto;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .store-carousel-arrows button:hover:not(:disabled){border-color:rgba(113,230,189,.7);color:var(--accent)}
  .store-carousel-arrows button:disabled{opacity:.2;cursor:default}
}
.catalog-pagination-compact{max-width:150px;margin:14px auto 4px}
.catalog-pagination-compact a{width:36px;min-height:36px;justify-self:center;padding:0;border-radius:50%;font-size:1.05rem}
.catalog-pagination-compact b{font-size:.5rem}

/* Version 21.6.1 — preserve the current guidance design; group existing content only */
.store-guidance-breakout{margin-top:10px}
.store-guidance-breakout>h4{margin:0 0 6px;color:#89979e;font-size:.56rem;letter-spacing:.06em;text-transform:uppercase}
.store-guidance-breakout .store-insight-chips{margin-top:0}
.store-guidance-breakout .store-guidance-reason-list{margin-top:7px}
.store-guidance-breakout.breakout-positive{padding-top:9px;border-top:1px solid rgba(255,255,255,.09)}
.store-guidance-breakout.breakout-positive>h4{color:var(--accent)}

/* Version 21.7 — consistent, color-led 100-point product grading */
.store-grade-pill{min-width:62px;height:34px;display:flex;align-items:baseline;justify-content:center;gap:2px;padding:0 9px;border:1px solid currentColor;border-radius:999px;background:rgba(7,13,17,.88);box-shadow:0 5px 14px rgba(0,0,0,.32);color:#aeb9bd;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.store-grade-pill b{font-size:.78rem;line-height:1}.store-grade-pill small{font-size:.42rem;font-weight:850;white-space:nowrap}
.grade-tone-dark-green{--grade-color:#15935f;--grade-soft:rgba(21,147,95,.15)}
.grade-tone-light-green{--grade-color:#43c87d;--grade-soft:rgba(67,200,125,.14)}
.grade-tone-orange{--grade-color:#ec8724;--grade-soft:rgba(236,135,36,.14)}
.grade-tone-red{--grade-color:#e33b2d;--grade-soft:rgba(227,59,45,.14)}
.grade-tone-neutral{--grade-color:#849198;--grade-soft:rgba(132,145,152,.12)}
.store-grade-pill[class*="grade-tone-"],.grade-color-dot[class*="grade-tone-"]{color:var(--grade-color)}
.store-product-grid.is-store-single .store-grade-pill,.store-product-grid.is-product-focus .is-focused .store-grade-pill{height:38px;min-width:70px}.store-product-grid.is-store-single .store-grade-pill b,.store-product-grid.is-product-focus .is-focused .store-grade-pill b{font-size:.9rem}
.store-guidance-slide[class*="grade-tone-"]{border-color:var(--grade-color);background:linear-gradient(155deg,var(--grade-soft),#111820 42%)}
.grade-summary{display:flex;align-items:center;gap:13px;margin-top:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.09)}
.grade-color-dot{width:13px;height:13px;display:inline-block;flex:0 0 13px;border-radius:50%;background:var(--grade-color,#849198);box-shadow:0 0 0 5px var(--grade-soft,rgba(132,145,152,.12))}
.grade-summary>.grade-color-dot{width:20px;height:20px;flex-basis:20px;box-shadow:0 0 0 7px var(--grade-soft)}
.grade-summary h3{margin:0!important;color:#f4f7f8;font-size:1.8rem!important;line-height:1}.grade-summary h3 small{margin-left:2px;color:#9ba8ae;font-size:.82rem}.grade-summary p{display:block!important;margin:5px 0 0!important;color:var(--grade-color)!important;font-size:.76rem!important;font-weight:900!important;line-height:1!important}
.grade-basis{display:block!important;margin:9px 0 0!important;color:#8f9da4!important;font-size:.54rem!important;line-height:1.35!important;-webkit-line-clamp:unset!important}
.grade-components{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}
.grade-components>div{min-width:0;padding:8px;border:1px solid #2b3942;border-radius:10px;background:rgba(255,255,255,.025)}.grade-components span,.grade-components b{display:flex;align-items:center}.grade-components span{gap:6px;color:#aab6bb;font-size:.49rem;font-weight:800}.grade-components b{margin-top:5px;color:#f0f4f5;font-size:.72rem}.grade-components .grade-color-dot{width:7px;height:7px;flex-basis:7px;box-shadow:none}
.grade-factor-group{margin-top:13px}.grade-factor-group>h4{margin:0 0 5px;color:#dfe6e8;font-size:.65rem;letter-spacing:0;text-transform:none}
.grade-factor{border-bottom:1px solid rgba(255,255,255,.085)}.grade-factor>summary{min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:6px 1px;list-style:none;cursor:pointer}.grade-factor>summary::-webkit-details-marker{display:none}.grade-factor>summary:after{content:'›';grid-column:4;color:#7f8d94;font-size:1rem;transition:transform .16s}.grade-factor[open]>summary:after{transform:rotate(90deg)}
.grade-factor>summary .grade-color-dot{width:9px;height:9px;flex-basis:9px;box-shadow:none}.grade-factor>summary span{min-width:0}.grade-factor>summary b,.grade-factor>summary small{display:block}.grade-factor>summary b{color:#eef3f4;font-size:.61rem}.grade-factor>summary small{margin-top:2px;overflow:hidden;color:#89979e;font-size:.49rem;text-overflow:ellipsis;white-space:nowrap}.grade-factor>summary strong{color:#e7edef;font-size:.59rem;white-space:nowrap}
.grade-factor-detail{padding:2px 1px 9px 18px}.grade-factor-detail p{display:block!important;margin:7px 0 0!important;color:#9daab0!important;font-size:.52rem!important;line-height:1.4!important;-webkit-line-clamp:unset!important}.grade-scale{position:relative;height:7px;border-radius:99px;background:linear-gradient(90deg,#15935f 0 25%,#43c87d 25% 50%,#ec8724 50% 75%,#e33b2d 75% 100%)}.grade-scale>i{position:absolute;top:-4px;left:clamp(2px,var(--position),calc(100% - 2px));width:2px;height:15px;border-radius:2px;background:#fff;box-shadow:0 1px 4px #000;transform:translateX(-50%)}
.store-guidance-slide .store-guidance-disclosure{flex:0 0 auto}.grade-disclaimer{display:block!important;margin-top:10px!important;padding-top:8px!important;border-top:1px solid rgba(255,255,255,.08);color:#7f8d94!important;font-size:.49rem!important;line-height:1.35!important}.pantry-grade-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--grade-color);border-radius:999px;background:var(--grade-soft);color:var(--grade-color)}.pantry-grade-badge b{font-size:.53rem}.pantry-grade-badge small{font-size:.43rem;font-weight:800}.pantry-grade-detail{padding:10px 12px;border:1px solid var(--grade-color);border-radius:12px;background:linear-gradient(145deg,var(--grade-soft),#10181e)}
.scan-review-color-dot{width:18px!important;height:18px!important;display:block!important;flex:0 0 18px!important;border:0!important;border-radius:50%!important;background:var(--grade-color)!important;box-shadow:0 0 0 6px var(--grade-soft)!important}.scan-review-grade-pill{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--grade-color);border-radius:999px;background:var(--grade-soft);color:var(--grade-color);font-size:.66rem;font-weight:900}
.grade-help-ranges{display:grid;gap:7px;margin:10px 0 15px}.grade-help-ranges>div{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #2a3942;border-radius:11px;background:#111920}.grade-help-ranges p,.grade-help-ranges b,.grade-help-ranges small{display:block;margin:0}.grade-help-ranges b{font-size:.66rem}.grade-help-ranges small{margin-top:2px;color:#87959b;font-size:.52rem}
@media(max-width:360px){.grade-components>div{padding:7px 5px}.grade-components span{font-size:.45rem}.grade-factor>summary{gap:7px}.grade-factor>summary small{max-width:150px}}

/* Version 21.7.1 — every single-product carousel panel scrolls vertically */
.store-product-grid.is-store-single .store-visual-slide,
.store-product-grid.is-product-focus .is-focused .store-visual-slide{overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:contain;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#52636c transparent}
.store-product-grid.is-store-single .store-insight-card,
.store-product-grid.is-product-focus .is-focused .store-insight-card{padding-bottom:72px}
.store-product-grid.is-store-single .store-additional-photo,
.store-product-grid.is-product-focus .is-focused .store-additional-photo{display:grid;grid-template-rows:minmax(100%,auto) auto;align-content:start}
.store-product-grid.is-store-single .store-additional-photo img,
.store-product-grid.is-product-focus .is-focused .store-additional-photo img{min-height:100%;height:auto;max-height:none;object-fit:contain}
.store-product-grid.is-store-single .store-additional-photo figcaption,
.store-product-grid.is-product-focus .is-focused .store-additional-photo figcaption{position:sticky;left:auto;bottom:12px;justify-self:start;margin:0 12px 12px}

/* Version 21.8 — compact score cards without ambiguous range bars */
.grade-scale{display:none!important}
.grade-score-table,.grade-compact-list{display:grid;gap:0;margin-top:12px;border-top:1px solid rgba(255,255,255,.1)}
.grade-score-row,.grade-compact-row{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.grade-score-row .grade-color-dot,.grade-compact-row .grade-color-dot{width:10px;height:10px;flex-basis:10px;box-shadow:none}
.grade-score-row span,.grade-compact-row span{min-width:0}
.grade-score-row b,.grade-score-row small,.grade-compact-row b,.grade-compact-row small{display:block}
.grade-score-row b,.grade-compact-row b{color:#eef3f5;font-size:.68rem;line-height:1.2}
.grade-score-row small,.grade-compact-row small{margin-top:3px;color:#9aa7ad;font-size:.59rem;line-height:1.38}
.grade-score-row strong,.grade-compact-row strong{color:var(--grade-color,#e8edef);font-size:.7rem;white-space:nowrap}
.store-grade-detail-slide h3,.store-label-slide h3,.store-ingredient-guide-slide h3{margin-bottom:4px!important}
/* Version 21.20 — matched Store and Pantry top navigation */
.page-foods .container{max-width:1040px;padding:10px 10px 28px}
.page-foods .top-camera-button span{display:none}
.page-foods .store-product-grid.catalog-view-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:none}
.page-foods .store-product-grid.is-product-focus{display:block;max-width:620px;margin:0 auto}
.page-foods .store-product-grid.is-store-single{grid-template-columns:1fr;gap:14px}
.page-foods .store-discovery{margin-top:0}.page-foods .store-discovery-primary{grid-template-columns:auto minmax(0,1fr) auto auto auto}.store-shopping-action{position:relative}.store-shopping-action b{position:absolute;right:-5px;top:-6px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 3px;border-radius:9px;background:var(--accent);color:#07130f;font-size:.4rem;line-height:1}.pantry-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pantry-hero-actions .store-pantry-button{text-decoration:none}.pantry-list-hero-button{background:rgba(19,132,98,.96)!important}.pantry-list-hero-button:before{content:'+';font-size:1rem;font-weight:950}.pantry-list-hero-button.is-saved{border-color:rgba(113,230,189,.54)!important;background:rgba(10,31,25,.92)!important;color:var(--accent)!important}.pantry-list-hero-button.is-saved:before{content:'✓';font-size:.76rem}.pantry-remove-hero-button{border-color:rgba(222,125,101,.68)!important;background:rgba(83,32,28,.92)!important;color:#f2a092!important}.pantry-remove-hero-button:before{content:'−';font-size:1rem;font-weight:950}
.pantry-store-actions .product-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.pantry-store-actions .product-primary-actions form{margin:0}.pantry-store-actions .product-primary-actions button,.pantry-store-actions .product-primary-actions a{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #34434c;border-radius:12px;background:#172129;color:#dce4e6;font-size:.68rem;font-weight:850;text-decoration:none}.pantry-store-actions .product-remove-button{border-color:rgba(222,125,101,.34)!important;background:rgba(222,125,101,.07)!important;color:#e58b78!important}
@media(min-width:700px){.page-foods .store-product-grid.catalog-view-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:390px){.page-foods .store-shopping-action span{display:none}.page-foods .store-shopping-action{width:38px;padding:0}}
/* Version 21.21 — faster batch food entry */
.food-batch-picker{margin:0}.food-batch-picker-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0 8px;background:#111820}.food-batch-picker-head h3{margin:0;font-size:.72rem}.food-batch-picker-head small{display:block;margin-top:2px;color:#73818a;font-size:.48rem}.food-batch-picker-head button{min-height:36px;padding:6px 10px;border:0;border-radius:10px;background:var(--accent);color:#07130f;font-size:.55rem;font-weight:900}.food-batch-picker-head button:disabled{opacity:.38}.food-batch-list{border:1px solid #27343d;border-radius:14px;background:#0f161c;overflow:hidden}.food-batch-item{display:grid;grid-template-columns:44px 38px minmax(0,1fr) 76px;align-items:center;gap:7px;min-height:58px;padding:7px 8px}.food-batch-item+.food-batch-item{border-top:1px solid #202d35}.food-batch-select{min-height:32px;padding:4px;border:1px solid #2c3c45;border-radius:9px;background:#172129;color:#aebbc0;font-size:.49rem;font-weight:850}.food-batch-item.is-selected{background:rgba(84,209,163,.055)}.food-batch-item.is-selected .food-batch-select{border-color:rgba(113,230,189,.5);background:#163128;color:var(--accent)}.food-batch-check{position:absolute;opacity:0;pointer-events:none}.food-batch-item .picker-thumb{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#17242a;overflow:hidden;font-size:1rem}.food-batch-item .picker-thumb img{width:100%;height:100%;object-fit:cover}.food-batch-item label{min-width:0}.food-batch-item label b,.food-batch-item label small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-batch-item label b{font-size:.61rem}.food-batch-item label small{margin-top:2px;color:#7b8990;font-size:.44rem}.food-batch-item>input[type=number]{width:100%;min-height:37px;padding:5px 6px;border:1px dashed #61717a;border-radius:9px;background:#151e25;color:var(--text);font-size:16px}.food-batch-item>input[type=number]::placeholder{color:#aeb9bd;font-size:.48rem;font-weight:800}.food-batch-item.is-selected>input[type=number]{border-style:solid;border-color:rgba(113,230,189,.52)}.menu-component-add{margin:0}.menu-component-add-button{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px;border:0;background:transparent;color:var(--text);text-align:left}.menu-component-add-button .picker-thumb{width:38px;height:38px}.menu-component-add-button i{color:var(--accent);font-size:.49rem;font-style:normal;font-weight:900;white-space:nowrap}.menu-component-add-button:active{background:#172129}
.food-batch-item.is-missing-amount>input[type=number]{border-color:#e5846d;background:#2a1b1a}
@media(max-width:380px){.food-batch-item{grid-template-columns:40px 34px minmax(0,1fr) 66px;gap:5px;padding-left:6px;padding-right:6px}.food-batch-item .picker-thumb{width:34px;height:34px}.food-batch-select{font-size:.44rem}.food-batch-item label b{font-size:.56rem}}
.grade-card-intro{display:block!important;margin:2px 0 4px!important;color:#9aa7ad!important;font-size:.6rem!important;line-height:1.4!important;-webkit-line-clamp:unset!important}
.grade-equation{display:grid;gap:4px;margin-top:10px;padding:10px 12px;border:1px solid rgba(113,230,189,.24);border-radius:11px;background:rgba(8,16,21,.54)}
.grade-equation span{color:#a8b4ba;font-size:.58rem;line-height:1.35}
.grade-equation strong{color:#71e6bd;font-size:.68rem;line-height:1.35}
.grade-total-equation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(8,16,21,.46)}
.grade-total-equation span{color:#9aa7ad;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.grade-total-equation strong{color:#eef3f5;font-size:.68rem;white-space:nowrap}
.store-nutrition-calculation-slide .grade-compact-row,.store-ingredient-calculation-slide .grade-compact-row{padding:8px 0}
.store-nutrition-calculation-slide .grade-compact-row small,.store-ingredient-calculation-slide .grade-compact-row small{font-size:.52rem;line-height:1.3}
.store-ingredient-calculation-slide .grade-compact-row b{overflow-wrap:anywhere}
.store-allergen-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin-top:14px;padding:11px 12px;border:1px solid #30404a;border-radius:11px;background:rgba(255,255,255,.035);font-size:.64rem;line-height:1.4}
.store-allergen-line b{color:#eef3f5}.store-allergen-line span{color:#b3bec2}
.store-ingredient-copy{display:block!important;margin-top:14px!important;padding:14px;border:1px solid #2d3c45;border-radius:12px;background:rgba(255,255,255,.025);color:#c5ced1!important;font-size:.69rem!important;line-height:1.55!important;-webkit-line-clamp:unset!important;overflow-wrap:anywhere}
.store-card-part{margin-top:auto!important;color:#87959b!important;text-align:right}
.store-ingredient-guide-slide .store-ingredient-explanations{margin-top:10px}
.score-method-link{display:inline-flex;margin-top:13px;color:var(--accent);font-size:.56rem;font-weight:850;text-decoration:none}
.grade-start-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:9px 0;border-top:1px solid rgba(255,255,255,.1);color:#aab6bb;font-size:.65rem;font-weight:800}
.grade-start-row strong{color:#eef3f5;font-size:.72rem}
.store-guidance-slide .grade-score-row small{display:none}
.store-ingredient-calculation-slide .grade-compact-row{grid-template-columns:auto minmax(0,1fr)}
.score-method-page{width:min(100% - 24px,720px);margin:0 auto;padding:18px 0 90px}.score-method-head{margin-bottom:14px}.score-method-head>a{display:inline-flex;margin-bottom:16px;color:var(--accent);font-size:.7rem;font-weight:850;text-decoration:none}.score-method-head h1{margin:6px 0 0;font-size:1.55rem}.score-method-card{margin-bottom:12px;padding:17px}.score-method-card h2{margin:0 0 12px;font-size:.9rem}.score-method-card>p{margin:12px 0 0;color:#9aa7ad;font-size:.66rem;line-height:1.5}.score-method-table{display:grid}.score-method-table>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.09)}.score-method-table b{font-size:.68rem}.score-method-table span{color:#99a6ac;font-size:.61rem}.score-method-table strong{color:#ec8724;font-size:.66rem}.score-method-table-simple>div{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.score-method-formula{margin-top:13px;padding:11px 12px;border:1px solid rgba(113,230,189,.25);border-radius:10px;color:var(--accent);font-size:.68rem;font-weight:850}.score-method-sources{display:grid;gap:8px}.score-method-sources h2{margin-bottom:3px}.score-method-sources a{color:var(--accent);font-size:.64rem;text-decoration:none}.score-method-sources small{margin-top:5px;color:#87959b;font-size:.56rem;line-height:1.45}
.store-product-grid.is-store-single .store-visual-slide,
.store-product-grid.is-product-focus .is-focused .store-visual-slide{overflow:hidden;overscroll-behavior:auto;touch-action:pan-x pan-y;scrollbar-width:none}
.store-product-grid.is-store-single .store-insight-card,
.store-product-grid.is-product-focus .is-focused .store-insight-card{padding:22px 20px 58px}
.store-product-grid.is-store-single .store-additional-photo,
.store-product-grid.is-product-focus .is-focused .store-additional-photo{position:relative;display:block}
.store-product-grid.is-store-single .store-additional-photo img,
.store-product-grid.is-product-focus .is-focused .store-additional-photo img{width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain}
.store-product-grid.is-store-single .store-additional-photo figcaption,
.store-product-grid.is-product-focus .is-focused .store-additional-photo figcaption{position:absolute;left:12px;bottom:12px;margin:0}
@media(max-width:360px){
  .grade-score-row,.grade-compact-row{gap:8px;padding:10px 0}
  .grade-score-row b,.grade-compact-row b{font-size:.63rem}
  .grade-score-row small,.grade-compact-row small{font-size:.54rem}
  .store-ingredient-copy{font-size:.62rem!important;line-height:1.48!important}
}
