/* V1.1: same palette, photos and components; denser daily-use layouts. */
.topbar{height:68px}.top-note{display:none}main{max-width:1400px;padding:23px 28px 110px}.page-heading{margin-bottom:20px;align-items:center}.page-heading h1{font-size:31px;margin:0;letter-spacing:-.5px}.page-heading p{font-size:12px;margin-top:5px}.page-heading .primary,.page-heading .secondary{padding:11px 16px}.section{margin-top:23px}.section-heading{margin-bottom:12px}.section-heading h2{font-size:18px}.empty{padding:13px 0}.nutrition-compact{display:grid;grid-template-columns:170px minmax(220px,1fr) 220px;gap:30px;align-items:center;padding:22px 28px}.calorie-ring{width:164px;height:164px;position:relative}.calorie-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.calorie-ring circle{fill:none;stroke:#edf0e7;stroke-width:7}.calorie-ring circle.fill{stroke:#758e64;stroke-linecap:round}.calorie-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.calorie-ring strong{font-size:30px;font-weight:500;letter-spacing:-1px}.calorie-ring span{font-size:12px;color:#7d8878;margin-top:5px}.compact-macros{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:15px;max-width:520px}.macro-value{display:flex;align-items:center;justify-content:space-between;gap:15px}.compact-macros .macro-value p{margin:0 0 7px;font-size:12px}.compact-macros .macro-value span{font-size:12px}.compact-macros b{font-size:17px}.compact-cost{border-left:1px solid #e3e8da;padding-left:28px;display:flex;flex-direction:column;gap:9px}.compact-cost>span{font-size:12px;color:#7d8878}.compact-cost strong{font-size:29px;font-weight:500}.compact-cost small{font-size:10px;color:#8a967d;line-height:1.5}.meal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.meal-card{display:flex;min-height:108px}.meal-card>.food-image{width:98px;height:auto;min-height:108px;flex-shrink:0}.meal-body{padding:12px 12px 0;flex:1;min-width:0}.meal-body h3{font-size:13px;margin:7px 0;min-height:36px;line-height:1.4}.meal-meta{font-size:10px;gap:7px}.meal-meta .pending{color:#947a50}.meal-meta>span:first-child{color:#6e7e63}.text-button{font-size:10px;padding:9px 0}.log-row{padding:11px 0}.log-row small{font-size:11px}.week-grid{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:5px}.week-grid th{font-size:12px;font-weight:550;text-align:left;color:#6c7d61;padding:10px 4px;text-transform:capitalize}.week-grid thead th{text-align:center}.week-grid thead th:first-child{width:91px;text-align:left}.week-grid thead small{display:block;margin-top:5px;font-size:11px;font-weight:400}.week-grid .today-column{background:#e6eddd;border-radius:9px;color:#335d49}.week-grid td{padding:0;vertical-align:top}.week-meal{background:#fff;border:1px solid #e4e9dc;border-radius:12px;overflow:hidden;height:100%;padding-bottom:7px}.week-meal>.food-image{height:59px}.week-meal h3{font-size:11px;line-height:1.35;padding:0 9px;margin:7px 0;min-height:30px;overflow-wrap:anywhere}.entry-actions{display:flex;flex-direction:column;gap:2px;padding:0 5px}.entry-actions button{border:0;background:transparent;text-align:left;padding:6px 4px;color:#647d54;font-size:10px;min-height:28px;border-radius:5px}.entry-actions button:hover{background:#edf2e5}.week-grid .empty-slot{font-size:11px;width:100%;min-height:110px;padding:10px}.mobile-diet{display:none}.pantry-tools input{padding:10px 13px}.pantry-filters{display:flex;gap:9px;padding:14px 0 18px;max-width:640px}.pantry-filters>button,.pantry-filters>select{font-size:12px;border:1px solid #dfe5d6;background:#fff;border-radius:25px;padding:10px 13px;min-width:0}.pantry-filters>select{flex:1;max-width:240px}.pantry-filters>.selected{background:#335d49;color:#fff;border-color:#335d49}.pantry-filters option{background:#fff;color:#283e34}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.product-card{min-height:98px;padding:12px;gap:12px}.product-card .food-image{width:62px;height:68px}.product-card h3{font-size:13px;line-height:1.3}.product-card small{font-size:10px}.shopping-list{max-width:780px;padding:22px 26px}.shopping-list section{margin-bottom:22px}.shopping-list h2{font-size:15px;padding-bottom:7px}.shopping-row{padding:5px 0;min-height:52px}.shopping-row input[type=checkbox]{width:24px;height:24px;margin:10px;cursor:pointer}.shopping-row input:not([type=checkbox]){font-size:14px}.shopping-row .remove{min-width:44px;min-height:44px}.shopping-list .empty{margin:0;font-size:12px}.shopping-list>.secondary{min-height:44px}fieldset{border:0;margin:15px 0 0;padding:0}fieldset legend{font-size:13px;margin-bottom:15px;color:#536e43}fieldset[hidden]{display:none}.form-photo{height:90px;width:110px;border-radius:10px;margin:12px 0}.form-grid{margin-top:14px}dialog{max-width:570px}.ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 112px 34px;gap:10px;align-items:center}.ingredient-row label{font-size:11px}.ingredient-row .ingredient-unit{display:inline}.ingredient-row .remove{margin-top:10px;padding:4px}.ingredient-row input,.ingredient-row select{width:100%;font-size:12px}.ingredient-row label:nth-child(2){position:relative}.ingredient-unit{position:absolute;right:0;top:0;color:#667c59}#dish-preview{margin-top:16px;font-size:12px}.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}nav{bottom:14px}nav a{padding:11px 27px}.fab{bottom:98px;right:28px}
@media(min-width:1450px){.week-meal h3{font-size:12px}.entry-actions button{font-size:11px}.week-meal>.food-image{height:70px}}
@media(max-width:1100px){.nutrition-compact{grid-template-columns:155px 1fr 170px;gap:22px;padding:20px}.compact-cost{padding-left:20px}.calorie-ring{width:150px;height:150px}.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.week-grid{border-spacing:3px}.week-grid thead th:first-child{width:73px}.week-grid th{font-size:10px}.week-meal h3{font-size:10px;padding:0 6px}.entry-actions button{font-size:9px;padding:5px 2px}.week-meal>.food-image{height:48px}}
@media(max-width:899px){.desktop-diet{display:none}.mobile-diet{display:block}.week-days{background:#fff;border:1px solid #e4e9dc;padding:7px;border-radius:14px}.week-days button{padding:9px 4px}.week-days b{font-size:18px;margin-top:5px}.diet-title{margin-top:20px;margin-bottom:5px}.diet-row{padding:12px 0;min-height:85px;gap:13px;flex-wrap:nowrap}.slot{width:83px;flex-shrink:0}.slot b{font-size:12px}.diet-row .food-image{width:75px;height:61px}.diet-row h3{font-size:13px}.diet-row .entry-actions{padding:0;flex-shrink:0}.diet-row .entry-actions button{font-size:10px;min-height:36px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-compact{grid-template-columns:145px 1fr;gap:15px 25px}.compact-cost{grid-column:1/-1;border-left:0;border-top:1px solid #e4e9dc;padding:12px 0 0;flex-direction:row;align-items:center;gap:13px}.compact-cost strong{font-size:22px}.compact-cost small{margin-left:auto}}
@media(max-width:600px){.topbar{height:58px;padding:0 18px}main{padding:18px 16px 100px}.brand{font-size:20px}.brand-icon{width:30px;height:32px;font-size:23px;line-height:29px}.local-note{font-size:8px;padding:7px 8px}.page-heading{display:flex;gap:9px;margin-bottom:17px}.page-heading h1{font-size:28px}.page-heading p{font-size:10px;max-width:190px}.page-heading>.primary,.page-heading>.secondary{margin:0;font-size:10px;padding:10px 12px;white-space:normal;max-width:166px;min-height:42px}.nutrition-compact{grid-template-columns:124px minmax(0,1fr);gap:12px;padding:15px}.calorie-ring{width:124px;height:124px}.calorie-ring strong{font-size:25px}.calorie-ring span{font-size:10px}.compact-macros{gap:13px}.compact-macros .macro-value{gap:5px;display:block}.compact-macros .macro-value span{font-size:10px}.compact-macros .macro-value p{font-size:10px;margin:3px 0 5px}.compact-macros b{font-size:15px}.compact-cost{padding-top:10px;justify-content:space-between}.compact-cost>span{font-size:11px}.compact-cost strong{font-size:21px}.compact-cost small{display:none}.meal-grid{grid-template-columns:1fr;gap:10px}.meal-card{min-height:96px}.meal-card>.food-image{width:87px;min-height:96px}.meal-body{padding:10px 11px 0}.meal-body h3{font-size:13px;min-height:18px;margin:6px 0}.text-button{padding:8px 0;min-height:32px}.meal-meta{font-size:9px}.section{margin-top:20px}.section-heading h2{font-size:16px}.section-heading>span{font-size:10px}.log-row b{font-size:12px}.log-row small{font-size:10px;line-height:1.6}.log-row{gap:10px}.log-row>strong{font-size:12px;white-space:nowrap}.diet-row{flex-wrap:wrap;gap:8px 12px}.slot{width:100%}.slot b{font-size:10px}.diet-row .food-image{width:61px;height:54px}.diet-row h3{font-size:12px;min-width:80px}.diet-row .entry-actions button{font-size:9px;min-height:29px}.week-days button{padding:8px 3px}.week-days span{font-size:10px}.week-days b{font-size:16px}.pantry-filters{gap:6px;padding:12px 0 15px}.pantry-filters>button,.pantry-filters>select{font-size:11px;padding:10px 9px}.product-grid{grid-template-columns:1fr;gap:10px}.product-card{min-height:86px;padding:10px 13px}.product-card .food-image{height:60px;width:60px}.product-card h3{font-size:13px}.shopping-list{padding:17px}.shopping-list h2{font-size:14px}.shopping-row input:not([type=checkbox]){font-size:13px;padding:8px 3px}.shopping-row{gap:5px}.shopping-row input[type=checkbox]{margin:10px 7px 10px 0}.shopping-list .hint{font-size:10px}.ingredient-row{grid-template-columns:minmax(0,1fr) 85px 28px;gap:7px}.ingredient-row select,.ingredient-row input{padding:10px 8px}.fab{bottom:91px;right:20px}nav a{padding:10px 9px}}
@media(prefers-reduced-motion:reduce){.progress i{transition:none}}
@media(min-width:900px){
  .week-meal{display:grid;grid-template-columns:38px minmax(0,1fr);gap:5px 7px;padding:8px;min-height:101px}
  .week-meal>.food-image{width:38px;height:38px;border-radius:8px}
  .week-meal h3{font-size:11px;line-height:1.35;padding:0;margin:0;min-height:38px;align-self:center}
  .week-meal .entry-actions{grid-column:1/-1;flex-direction:row;padding:0;gap:3px}
  .week-meal .entry-actions button{flex:1;font-size:9px;line-height:1.4;min-height:33px;padding:4px 2px}
  .week-grid .empty-slot{min-height:101px}
}
@media(min-width:1101px){.week-meal .entry-actions button{font-size:10px}.week-meal h3{font-size:12px}}
@media(max-width:899px){.diet-row .entry-actions button{min-height:40px;font-size:11px}}
.product-card .food-image>span[role="img"]{font-size:30px}

/* Dieta only: simultaneous weekly view from 720 CSS pixels. */
.diet-week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-6px 0 16px}
.diet-week-range{margin:0;font-size:13px;color:#6c7d61;line-height:1.5}
.diet-week-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}
.diet-week-controls button{min-height:42px;min-width:42px;padding:8px 13px;border:1px solid #dfe5d6;border-radius:10px;background:#fff;font-size:12px}
.diet-week-controls button:disabled{opacity:.55;cursor:default}
#app .desktop-diet .week-grid{border-spacing:5px;width:100%;table-layout:fixed}
#app .desktop-diet .week-grid thead th:first-child{width:87px}
#app .desktop-diet .week-grid th{font-size:12px}
#app .desktop-diet .week-grid .week-meal{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:80px;padding:10px;text-align:left;background:#fff;border:1px solid #e4e9dc;border-radius:12px}
#app .desktop-diet .week-grid .week-meal:hover{border-color:#9cad8a;background:#f4f7ee}
#app .desktop-diet .week-grid .week-meal>.food-image{height:38px;width:38px;border-radius:8px}
#app .desktop-diet .week-grid .dish-name{font-size:12px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}
#app .desktop-diet .week-grid .week-meal>.food-image{display:none}
#app .desktop-diet .week-grid .week-meal .dish-name{grid-column:1/-1;text-align:center;width:100%}
#app .desktop-diet .week-grid .empty-slot{width:100%;min-height:80px;padding:10px;font-size:12px}
#app .desktop-diet .week-grid .today-cell .week-meal,#app .desktop-diet .week-grid .today-cell .empty-slot{border-color:#c3d2b4;background:#fafcf6}
.diet-action-preview p{font-size:13px;color:#6c7d61;text-transform:capitalize}
.diet-action-preview .detail-image{height:140px}
.dish-specs .detail-image{height:180px;border-radius:14px}
.dish-context{color:#6c7d61;font-size:13px;text-transform:capitalize;margin:12px 0}
.dish-total{background:#edf2e5;border-radius:10px;padding:11px 13px;font-size:12px;color:#52694a}
.dish-specs h3{font-size:14px;margin:18px 0 8px}.dish-specs ul{list-style:none;padding:0;margin:0;border-top:1px solid #e4e9dc}.dish-specs li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e4e9dc;font-size:13px}.dish-specs li span{color:#76866d}
@media(min-width:720px){#app .desktop-diet{display:block}#app .mobile-diet{display:none}}
@media(min-width:1200px){#app .desktop-diet .week-grid .week-meal{grid-template-columns:1fr;min-height:85px}#app .desktop-diet .week-grid .dish-name{font-size:13px}#app .desktop-diet .week-grid .empty-slot{min-height:85px}}
@media(min-width:720px) and (max-width:1000px){#app .desktop-diet .week-grid{border-spacing:3px}#app .desktop-diet .week-grid thead th:first-child{width:66px}#app .desktop-diet .week-grid th{font-size:10px}#app .desktop-diet .week-grid .week-meal{grid-template-columns:1fr;gap:5px;padding:7px;min-height:103px}#app .desktop-diet .week-grid .dish-name{font-size:11px}#app .desktop-diet .week-grid .empty-slot{min-height:103px}}
@media(max-width:719px){#app .desktop-diet{display:none}#app .mobile-diet{display:block}.diet-week-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.diet-week-range{font-size:12px}.diet-week-controls{width:100%;justify-content:space-between}.diet-week-controls button{min-height:44px}.diet-week-controls button:nth-child(2){flex:1}}
@media(min-width:720px){#app:has(.desktop-diet)>.fab{position:absolute;top:82px;right:max(28px,calc((100vw - 1344px)/2));bottom:auto;width:42px;height:42px;font-size:25px}}
@media(min-width:1001px) and (max-width:1199px){#app .desktop-diet .week-grid .week-meal{grid-template-columns:32px minmax(0,1fr);gap:7px;min-height:74px;padding:8px}#app .desktop-diet .week-grid .week-meal>.food-image{width:32px;height:32px}#app .desktop-diet .week-grid .dish-name{font-size:11px}#app .desktop-diet .week-grid .empty-slot{min-height:74px}}

/* A single editorial surface; the current-day background belongs to one column. */
#app .desktop-diet .diet-week-toolbar{margin:0 0 18px;gap:16px}
#app .desktop-diet .diet-week-range{font-size:14px;color:#425540;font-weight:500}
#app .desktop-diet .diet-week-range span{margin-left:6px;color:#88917f;font-weight:400;font-size:12px}
#app .desktop-diet .diet-week-controls{gap:4px}
#app .desktop-diet .diet-week-controls button{min-height:32px;min-width:32px;padding:5px 10px;border:0;background:transparent;border-radius:6px;color:#64745c}
#app .desktop-diet .diet-week-controls button:hover{background:#eaf0e3}
#app .desktop-diet .week-surface{background:#fdfefa;overflow:hidden;border-radius:10px}
#app .desktop-diet .week-grid{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}
#app .desktop-diet .week-grid .slot-column,#app .desktop-diet .week-grid thead th:first-child{width:94px}
#app .desktop-diet .week-grid .today-band{background:#eaf2e3}
#app .desktop-diet .week-grid th,#app .desktop-diet .week-grid td{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}
#app .desktop-diet .week-grid thead th{height:48px;padding:0 14px;text-align:left;font-size:12px;font-weight:600;color:#52624b}
#app .desktop-diet .week-grid thead th span{font-weight:400;margin-left:3px;color:#7b8973}
#app .desktop-diet .week-grid thead th[aria-current]{color:#335d49}
#app .desktop-diet .week-grid tbody th{padding:0 12px;font-size:11px;font-weight:500;color:#839078}
#app .desktop-diet .week-grid tbody tr{border-top:1px solid rgba(86,110,66,.09)}
#app .desktop-diet .week-grid td,#app .desktop-diet .week-grid thead th:not(:first-child){border-left:1px solid rgba(86,110,66,.045)}
#app .desktop-diet .week-grid td{position:relative;vertical-align:middle}
#app .desktop-diet .week-grid .week-meal,#app .desktop-diet .week-grid .empty-slot{display:flex;align-items:center;justify-content:flex-start;gap:0;width:100%;height:66px;min-height:0;padding:10px 14px;text-align:left;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:12px}
#app .desktop-diet .week-grid .week-meal:hover,#app .desktop-diet .week-grid .empty-slot:hover{background:rgba(86,110,66,.035)}
#app .desktop-diet .week-grid .week-meal .dish-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-align:left;font-size:13px;font-weight:450;line-height:1.45;color:#354632}
#app .desktop-diet .week-grid .empty-slot{color:#95a18a;font-weight:400}
#app .desktop-diet .week-more{position:absolute;right:3px;top:2px;width:26px;height:22px;padding:0;border:0;border-radius:4px;background:#eef3e8;color:#56704a;opacity:0;pointer-events:none;font-size:19px;line-height:18px}
#app .desktop-diet td:hover .week-more,#app .desktop-diet td:focus-within .week-more{opacity:1;pointer-events:auto}
#app .desktop-diet .week-grid button:focus-visible{outline:2px solid #718b60;outline-offset:-3px}
.diet-options{display:grid;gap:8px}
@media(min-width:720px) and (max-width:1000px){
  #app .desktop-diet .week-grid .slot-column,#app .desktop-diet .week-grid thead th:first-child{width:74px}
  #app .desktop-diet .week-grid thead th{padding:0 8px;font-size:11px}
  #app .desktop-diet .week-grid tbody th{padding:0 8px;font-size:10px}
  #app .desktop-diet .week-grid .week-meal,#app .desktop-diet .week-grid .empty-slot{padding:8px;height:62px;font-size:11px}
  #app .desktop-diet .week-grid .week-meal .dish-name{font-size:11px}
}

/* Optical alignment of the brand initial, including its tilde. */
.brand-icon{display:grid;place-items:center;line-height:1;padding-bottom:2px}
.brand-icon>span{transform:translateY(4px)}
