/* Shared alignment: SVGs occupy an exact box without the inline baseline gap. */
svg{display:block;vertical-align:initial}
button,a{touch-action:manipulation}
.icon-btn,.theme-switch button,.meal-icon,.soft-icon,.favorite,.profile>svg{flex-shrink:0}
.icon-btn,.theme-switch button,.meal-icon,.soft-icon,.favorite{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}
.icon-btn svg,.theme-switch svg,.meal-icon svg,.soft-icon svg,.favorite svg{display:block;margin:0;flex-shrink:0}
.meal-icon{aspect-ratio:1;flex-shrink:0}
.meal-title,.entry-info,.macro-area,.main-column,.right-column{min-width:0}
.meal-title strong{line-height:1.4}.meal-title p{line-height:1.5;margin-top:3px}
.add-round{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:69px;height:38px;flex-shrink:0;border-radius:8px;padding:0 12px;font-size:12px;font-weight:600;line-height:1;background:var(--sage);color:var(--green);border-color:var(--line)}
.meal-calories{margin-right:0;white-space:nowrap}.entry-info{overflow-wrap:anywhere}.entry-info strong{line-height:1.5}
.entry-info small{line-height:1.6}.entry-kcal{white-space:nowrap}.meal-entry>.food-thumb{flex-shrink:0}
.topbar .tiny{display:flex;align-items:center;justify-content:center;padding:0;line-height:1}
.product-result>span:last-child{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;flex-shrink:0}
.product-result>span:last-child svg{width:15px;height:15px}.product-result-info strong{overflow-wrap:anywhere}
.plan-calculate span{display:inline-flex;align-items:center;justify-content:center;line-height:1}
@media(max-width:1020px) and (min-width:761px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.right-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.right-column>.calendar-card{grid-row:span 2}.right-column>.local-info{grid-column:1/-1}.overview-body{gap:25px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 body{font-size:14px}main{padding:25px 18px calc(100px + env(safe-area-inset-bottom))}.page{min-width:0}
 .topbar{padding:env(safe-area-inset-top) 18px 0;height:calc(64px + env(safe-area-inset-top));gap:12px}.top-actions{gap:12px}.theme-switch button{width:36px;height:34px}.theme-switch button svg{width:17px;height:17px}.topbar .tiny{width:38px;height:38px;font-size:12px}
 .heading{display:block;margin-bottom:23px}.heading h1{font-size:clamp(25px,6.4vw,32px);line-height:1.3}.heading p{font-size:13px;line-height:1.7;max-width:none;margin-top:7px}.heading .eyebrow{font-size:12px;line-height:1.7;letter-spacing:1.5px}
 .mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:8;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);border-bottom:0;box-shadow:0 -4px 20px #10251b08}
 .mobile-nav>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:49px;padding:6px 4px;font-size:12px;line-height:1.2;border-radius:9px;color:var(--muted)}.mobile-nav>button svg{width:20px;height:20px}.mobile-nav>button.active{background:var(--sage);color:var(--green)}
 .dashboard-grid{display:flex;flex-direction:column;gap:18px}.main-column,.right-column{display:contents}.overview{order:0}.section-title{order:1;margin:5px 0 0}.meals{order:2}.calendar-card{order:3;margin-top:0}.nutrients-card{order:4}.catalog-access{order:5;display:block}.quote-card{order:6}.local-info{order:7}
 .section-title{flex-wrap:wrap;gap:7px}.section-title h2{font-size:17px}.section-title .quiet{font-size:12px}.section-title h2>span{font-size:12px}
 .day-toolbar{margin-bottom:18px}.date-selector{width:100%;gap:3px;justify-content:space-between}.date-label{flex:1;min-width:0;font-size:12px;line-height:1.5;padding:8px 1px;text-align:center}.date-selector .icon-btn{width:40px;height:44px}.today-btn{min-height:40px;padding:0 10px;font-size:12px;flex-shrink:0}
 .meal{padding:17px 15px}.meal-header{gap:10px}.meal-icon{width:38px;height:38px}.meal-title strong{font-size:14px}.meal-title p{font-size:12px}.meal-calories{font-size:13px}.meal-calories small{font-size:12px}.add-round{min-width:65px;height:42px;padding:0 10px;font-size:12px}
 .empty-meal{margin-left:48px;font-size:12px;line-height:1.6}.meal-entry{gap:8px}.meal-entry>.food-thumb{width:34px;height:34px}.entry-info strong{font-size:12px}.entry-info small{font-size:12px}.entry-kcal{font-size:12px}.entry-remove{width:36px;height:42px}.entry-remove svg{width:17px;height:17px}
 .card-head{gap:12px}.card-head .text-btn{line-height:1.5}.icon-btn{min-width:36px;min-height:40px}.calendar .icon-btn{min-width:0}.calendar-header .icon-btn{width:38px;height:40px}.calendar>button{min-height:40px;aspect-ratio:auto}.calendar-header h2{font-size:16px}.calendar-days{font-size:12px}.calendar-legend{font-size:12px}.calendar-legend button{min-height:40px}
 .catalog-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-controls .search-field{grid-column:1/-1;width:100%}.catalog-controls select{min-width:0;width:100%;max-width:100%;height:44px;font-size:13px;padding:0 10px}.catalog-controls .btn{min-height:44px;font-size:12px}.catalog-top p{font-size:12px}.catalog-top .btn{min-height:44px;font-size:12px}.catalog-notice{flex-wrap:wrap}.catalog-notice p{flex-basis:calc(100% - 35px)}.catalog-notice .text-btn{margin-left:28px;min-height:36px}.catalog-credit,.source-credit{font-size:12px}
 .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card-body{padding:12px}.product-card-body h3{font-size:13px;line-height:1.5}.product-bottom{flex-wrap:wrap;gap:8px}.product-bottom button{min-height:36px;font-size:12px}.product-bottom strong{font-size:15px}.product-mini-macros{font-size:12px}.product-card>.favorite{width:34px;height:34px}.product-card>.favorite svg{width:17px;height:17px}
 dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:calc(18px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;scroll-padding:20px}.modal-top{gap:12px;align-items:center}.modal-top h2{font-size:23px;line-height:1.4}.modal-top>.icon-btn{width:44px;height:44px}.modal-top .eyebrow{font-size:12px}.modal-meal{align-items:center;gap:10px}.meal-date-note{font-size:12px;flex-shrink:0}
 input,select,.form-input,.catalog-controls select,.search-field input{font-size:16px}.form-input{min-height:46px}.form-label{font-size:12px}.form-grid small,.form-help{font-size:12px}.form-grid{gap:16px 12px}.search-field{min-height:48px}.search-field input{min-width:0}.search-field>svg{width:19px;height:19px}
 .product-list{max-height:none;overflow:visible}.product-result{gap:10px;padding:16px 0}.product-result>.food-thumb{width:42px;height:42px}.product-result-info strong{font-size:13px;line-height:1.5}.product-result-info small{font-size:12px;line-height:1.7}.product-result>span:last-child{font-size:12px;max-width:85px;white-space:normal;line-height:1.5}.modal-tabs{flex-wrap:wrap;gap:8px}.pill{min-height:38px;font-size:12px;padding:8px 11px}
 .store-options{gap:10px}.store-option-body{min-height:55px;padding:9px 8px;gap:8px}.store-option strong{font-size:12px}.store-option small{font-size:12px}.search-stores legend{font-size:13px}.search-stores legend small{font-size:12px}.retailer-logo{width:36px;flex-basis:36px;height:32px}
 .modal-actions{gap:10px}.modal-actions>.btn{min-height:46px;font-size:13px}.modal-actions .text-btn{min-height:44px;font-size:13px}.portion-shortcuts{flex-wrap:wrap;gap:8px}.portion-shortcuts>span{flex-basis:100%;font-size:12px}.portion-shortcuts button{height:42px;min-width:48px;font-size:14px}.portion-product h3{font-size:16px;line-height:1.5}.portion-product p{font-size:12px;overflow-wrap:anywhere}.portion-macros{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portion-macros>div{padding:15px 10px}.portion-macros small{font-size:12px}.portion-macros strong{font-size:21px}.detail-data{flex-wrap:wrap;gap:10px}.detail-data .text-btn{min-height:36px;font-size:12px}.nutrition-table{font-size:12px}.nutrition-table td,.nutrition-table th{padding:12px 6px;white-space:normal}.nutrient-inputs label{font-size:12px}
 .plan-form-card .form-label{font-size:13px}.plan-form-card .form-grid{gap:18px}.plan-grid{gap:18px}.plan-result-card,.plan-form-card{padding:22px 18px}.plan-intro p,.plan-notes p,.plan-method p{font-size:12px}.plan-sources{font-size:12px;overflow-wrap:anywhere}.plan-macros strong{font-size:21px}.plan-macros span,.plan-macros small{font-size:12px}.plan-calculate,.plan-apply{min-height:48px;font-size:14px}
 .data-actions .btn{white-space:normal;min-height:48px;line-height:1.6}.toast{bottom:calc(88px + env(safe-area-inset-bottom));font-size:12px;width:max-content;max-width:calc(100vw - 30px)}footer{margin-top:28px;gap:12px}footer>span:last-child{margin-left:0}.progress-card .card-head>div:last-child{display:flex;align-items:center;gap:8px}.progress-card .text-btn{min-height:40px}
}
@media(max-width:480px){
 main{padding-left:15px;padding-right:15px}.overview{padding:20px 17px}.overview-body{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:23px}.energy{flex:0 0 auto;width:100%}.ring{width:140px;height:140px;margin:0 auto}.ring-center{width:120px;height:120px}.ring-center strong{font-size:34px}.ring-label{font-size:12px}.ring-center>span:last-child{font-size:12px}.energy-legend{justify-content:center;font-size:12px;margin-top:12px}.macro-area{width:100%}.budget{gap:14px;justify-content:space-between}.budget strong{font-size:22px}.budget>div>span{font-size:12px}.budget strong small{font-size:12px}.macro-name{font-size:13px}.macro-numbers{font-size:12px}.macro-bar>div:first-child{margin-bottom:7px}.macro-bar{margin-top:15px}.summary-foot{font-size:12px;line-height:1.7}.overview .card-head h2{font-size:16px}.overview .text-btn{font-size:12px}.section-title .quiet{display:none}
 .meal-header{gap:8px}.meal-title strong{font-size:13px}.meal-icon{width:33px;height:33px;border-radius:8px}.meal-icon svg{width:18px;height:18px}.meal-title p{font-size:12px}.meal-calories{font-size:12px}.add-round{min-width:58px;padding:0 8px;font-size:12px}.empty-meal{margin-left:41px}.micro-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.micro-item span{font-size:12px}.micro-item strong{font-size:16px}.micro-item small{font-size:12px}.nutrients-card .card-head{align-items:start}.nutrients-card h2{font-size:16px;line-height:1.5}.card-head p{font-size:12px;line-height:1.6}
}
@media(max-width:360px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .full{grid-column:auto}.store-options{grid-template-columns:minmax(0,1fr)}.meal{padding-left:12px;padding-right:12px}.meal-header{gap:6px}.meal-title p{max-width:95px}.meal-icon{width:29px;height:29px}.meal-calories{font-size:12px}.add-round{min-width:54px}.date-label{font-size:12px}.today-btn{padding:0 7px}.catalog-grid{grid-template-columns:minmax(0,1fr)}.product-photo{height:180px}.catalog-controls{grid-template-columns:minmax(0,1fr)}.catalog-controls .search-field{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:360px){.store-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.store-option-body{padding:8px 6px;gap:6px}.retailer-logo{width:28px;height:29px;flex-basis:28px}.store-option strong{font-size:12px}.store-option small{font-size:12px}.store-radio{width:10px;height:10px}.coming-soon .store-radio{display:none}}
