@import"https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&display=swap";:root{--background: #ffffff;--surface: #ffffff;--surface-secondary: #f5f5f5;--border: #e5e7eb;--text-primary: #171717;--text-secondary: #737373;--text-disabled: #a3a3a3;--primary: #16a34a;--primary-pressed: #15803d;--primary-subtle: #f0fdf4;--on-primary: #ffffff;--protein: #7c3aed;--protein-subtle: #f5f3ff;--fat: #f59e0b;--fat-subtle: #fffbeb;--carbs: #16a34a;--error: #dc2626;--error-subtle: #fef2f2;--radius: 12px;--shadow-menu: 0 20px 56px rgb(23 23 23 / 16%);color:var(--text-primary);background:var(--background);font-family:Onest,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--background)}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0}button:disabled{cursor:not-allowed;background:var(--surface-secondary);color:var(--text-disabled);opacity:1}.number-input{display:grid;min-width:0}.number-input>input{width:100%}.number-input.has-error>input{border-color:var(--error)}.number-input__error{margin-top:4px;color:var(--error);font-size:.7rem;line-height:1.2}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}a{color:inherit}.login-page{display:grid;min-height:100vh;place-items:center;padding:20px;background:linear-gradient(120deg,#15803de6,#16a34a70),url(https://images.unsplash.com/photo-1490645935967-10de6ba17061?auto=format&fit=crop&w=1600&q=80);background-position:center;background-size:cover}.login-panel{width:min(100%,420px);border:1px solid rgba(255,255,255,.4);border-radius:12px;background:#fffffff5;box-shadow:0 24px 80px #1717172e;color:var(--text-primary);padding:24px}.login-panel h1,.page-header h1{margin:0;font-size:clamp(1.5rem,5vw,2rem);font-weight:600;line-height:1.25}.login-panel label,.filters-panel label,.form-panel label,.modal-panel label{display:grid;gap:8px}.login-panel label{margin-top:18px}.login-panel span,.filters-panel span,.form-panel label span,.modal-panel label span{color:var(--text-secondary);font-size:.875rem;font-weight:500}.login-panel input,.filters-panel input,.filters-panel select,.date-controls input,.form-panel input,.dish-list-page input,.form-panel select,.form-panel textarea,.modal-panel input,.modal-panel select{min-height:44px;width:100%;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);padding:0 12px}.form-panel textarea{min-height:112px;padding:12px;resize:vertical}.login-panel button,.date-controls button,.filters-panel button,.form-panel button,.dish-list-page button,.food-page>button[type=submit],.modal-panel button[type=submit]{min-height:44px;border:0;border-radius:12px;background:var(--primary);color:var(--on-primary);font-weight:500;padding:0 16px}.login-panel button:not(:disabled):hover,.date-controls button:not(:disabled):hover,.filters-panel button:not(:disabled):hover,.form-panel button:not(:disabled):hover,.dish-list-page button:not(:disabled):hover,.food-page>button[type=submit]:not(:disabled):hover,.modal-panel button[type=submit]:not(:disabled):hover{background:var(--primary-pressed);color:var(--on-primary)}.login-panel button{width:100%;margin-top:24px}.eyebrow,.app-kicker{color:var(--primary);font-size:.75rem;font-weight:500;text-transform:uppercase}.toast-stack{position:fixed;z-index:50;top:16px;right:16px;display:grid;width:min(340px,calc(100vw - 32px));gap:10px}.toast{border-radius:12px;background:var(--text-primary);box-shadow:0 16px 44px #17171733;color:var(--on-primary);padding:14px 16px}.app-layout{min-height:100vh;background:var(--background)}.topbar{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:1fr auto 1fr;min-height:68px;align-items:center;border-bottom:1px solid var(--border);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:12px clamp(16px,4vw,40px)}.topnav-shell{position:absolute;inset:0;display:flex;width:min(960px,100%);align-items:center;margin:0 auto;pointer-events:none;padding:0 clamp(16px,4vw,40px)}.app-brand{justify-self:start;text-decoration:none}.topnav{display:flex;align-items:center;gap:4px;pointer-events:auto}.topnav a{min-height:44px;display:inline-flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:0 12px;text-decoration:none}.topnav-icon{width:22px;height:22px;flex:none;fill:none;stroke:var(--text-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.topnav a.active .topnav-icon{stroke:var(--primary-pressed)}.topnav a:hover{color:var(--text-primary)}.topnav a.active{color:var(--primary-pressed)}@media(max-width:1023px){.topbar{display:flex;min-height:68px;gap:12px;padding:12px 16px}.app-brand,.profile-button{flex:none}.topnav-shell{position:relative;display:block;width:auto;min-width:0;flex:1;margin:0;padding:0 16px;pointer-events:auto}.topnav-shell:before,.topnav-shell:after{position:absolute;z-index:1;top:0;bottom:0;width:32px;content:"";pointer-events:none}.topnav-shell:before{left:0;background:linear-gradient(90deg,var(--background) 45%,rgb(255 255 255 / 0%))}.topnav-shell:after{right:0;background:linear-gradient(270deg,var(--background) 45%,rgb(255 255 255 / 0%))}.topnav{width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-behavior:smooth}.topnav a{flex:none}.profile-button{grid-column:auto}}.profile-button{display:inline-grid;grid-column:3;width:44px;height:44px;place-items:center;justify-self:end;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-primary)}.profile-button:hover,.profile-button.active{border-color:var(--primary);background:var(--primary-subtle);color:var(--primary-pressed)}.profile-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.icon-button{display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.icon-button span{width:18px;height:2px;border-radius:999px;background:var(--text-primary)}.icon-button:not(:disabled):hover,.back-button:not(:disabled):hover,.text-button:not(:disabled):hover,.entry-action:not(:disabled):hover,.compact-icon:not(:disabled):hover,.close-button:not(:disabled):hover{border-color:var(--primary);background:var(--primary-subtle);color:var(--primary-pressed)}.menu-backdrop{position:fixed;z-index:30;inset:0;pointer-events:none;background:#0e1c1800;transition:background .18s ease}.menu-backdrop.is-open{pointer-events:auto;background:#17171747}.side-menu{position:fixed;z-index:40;top:0;right:0;width:min(320px,86vw);height:100vh;border-left:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-menu);padding:16px;transform:translate(105%);transition:transform .2s ease}.side-menu.is-open{transform:translate(0)}.menu-heading{display:flex;min-height:44px;align-items:center;justify-content:space-between}.close-button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);font-size:1.5rem;line-height:1}.side-menu nav{display:grid;gap:8px;margin-top:24px}.side-menu a,.side-menu button{display:flex;min-height:48px;align-items:center;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);font-weight:500;padding:0 14px;text-decoration:none}.side-menu a.active{border-color:var(--primary);background:var(--primary-subtle)}.side-menu a:not(.active):hover{border-color:var(--border);background:var(--surface-secondary);color:var(--text-primary)}.side-menu button:last-child{margin-top:16px;border-color:transparent;color:var(--error)}.side-menu button:last-child:not(:disabled):hover{border-color:var(--error);background:var(--error-subtle);color:var(--error)}.content-shell{width:min(960px,100%);margin:0 auto;padding:24px clamp(16px,4vw,40px) 48px}.page-header{display:grid;width:100%;margin-bottom:32px}.page-header h1{letter-spacing:-.02em}.date-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.date-input-wrap{position:relative;min-width:0}.date-input-wrap input{appearance:none;-webkit-appearance:none;box-shadow:none;outline:0}.date-input-wrap input:focus-visible{box-shadow:none;outline:0}.date-input-wrap input::-webkit-calendar-picker-indicator{opacity:0;pointer-events:none}.date-controls .today-button{position:absolute;top:6px;right:36px;min-height:32px;border:0;border-radius:8px;background:transparent;color:var(--primary);font-size:.75rem;font-weight:500;padding:0 8px}.date-controls .today-button:not(:disabled):hover{background:var(--primary-subtle);color:var(--primary-pressed)}.date-controls .date-picker-button{position:absolute;top:6px;right:6px;display:grid;width:32px;min-height:32px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);padding:0}.date-controls .date-picker-button:not(:disabled):hover{background:var(--surface-secondary);color:var(--text-primary)}.date-picker-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.diary-actions{display:flex;width:100%;align-items:flex-start;justify-content:space-between;margin-top:8px}.diary-actions>.date-controls{flex:0 1 320px;width:320px}.diary-right-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:16px;margin-left:16px}.icon-control,.search-barcode-button,.date-controls button.icon-control,.form-panel button.icon-control,.dish-list-page button.icon-control,.dish-create-page button.icon-control,.form-panel button.search-barcode-button{width:44px;min-width:44px;min-height:44px;padding:0}.date-controls button,.back-navigation-button{font-size:1.25rem;line-height:1}.form-panel button.back-navigation-button,.dish-list-page button.back-navigation-button,.dish-create-page button.back-navigation-button{position:fixed;z-index:20;top:68px;bottom:0;left:0;display:grid;height:auto;place-items:center;isolation:isolate;width:72px;min-width:72px;overflow:hidden;border:0;border-radius:0;background:transparent;color:var(--text-secondary);transition:color .3s ease}.back-navigation-button:before{position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,var(--primary-subtle) 0%,transparent 100%);content:"";opacity:0;pointer-events:none;transition:opacity .3s ease}.back-navigation-button span{position:relative;z-index:1}.form-panel button.back-navigation-button:not(:disabled):hover,.dish-list-page button.back-navigation-button:not(:disabled):hover,.dish-create-page button.back-navigation-button:not(:disabled):hover{background:transparent;color:var(--text-primary)}.back-navigation-button:not(:disabled):hover:before{opacity:1}.add-button{justify-self:start;border:0;border-radius:var(--radius);background:var(--primary);color:var(--on-primary);font-size:1.5rem;font-weight:400;line-height:1;padding:0}.add-button:not(:disabled):hover{background:var(--primary-pressed);color:var(--on-primary)}.macro-section,.goal-section,.meal-group,.filters-panel,.form-panel,.chart-panel,.empty-state{border:1px solid var(--border);border-radius:12px;background:var(--surface)}.macro-section,.goal-section,.meal-group,.filters-panel,.form-panel,.chart-panel{box-shadow:0 1px 2px #17171708}.macro-section{padding:16px}.macro-section h2,.goal-section h2,.form-panel h2,.meal-group h2{margin:0;font-size:1.25rem;font-weight:600;line-height:1.3}.barcode-panel{display:grid;gap:14px}.barcode-video{width:100%;max-height:54vh;border-radius:12px;background:var(--text-primary);object-fit:cover}.barcode-search-panel{display:flex;min-height:52px;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:8px 12px}.barcode-inline-panel{display:grid;gap:12px}.barcode-camera-wrap{position:relative}.barcode-camera-wrap .barcode-not-found{position:absolute;right:12px;bottom:12px;left:12px;display:grid;gap:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 8px 24px #00000029;padding:12px}.barcode-not-found div{display:flex;gap:8px}.barcode-inline-panel .barcode-search-panel,.barcode-found{border-color:var(--primary);background:var(--primary-subtle)}.barcode-not-found{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.barcode-not-found span{flex:1}.barcode-not-found button{min-width:42px}.barcode-search-panel span:not(.loading-dot){color:var(--text-secondary);flex:1}.barcode-cancel{min-width:36px;min-height:36px;border:0;background:transparent;color:var(--text-secondary);font-size:1.5rem}.barcode-context{border-radius:12px;background:var(--primary-subtle);color:var(--primary-pressed);padding:10px 12px}.verified-dish{display:inline-block;margin-left:6px;border-radius:999px;background:var(--primary-subtle);color:var(--primary-pressed);font-size:.75rem;font-style:normal;font-weight:500;line-height:1;padding:4px 6px;vertical-align:middle}.ai-photo-actions{display:flex;min-width:0;flex-wrap:wrap;gap:8px}.ai-create-toolbar{display:flex;min-width:0;align-items:stretch;justify-content:space-between;gap:12px}.dish-create-page .ai-photo-actions .secondary-button{display:inline-flex;min-width:0;align-items:center;gap:8px}.ai-photo-actions svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.camera-close-label__mobile{display:none}.ai-photo-preview{position:relative;width:44px;min-width:44px;height:44px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.ai-photo-preview img{display:block;width:100%;height:100%;object-fit:cover}.dish-create-page .ai-photo-preview button{position:absolute;top:2px;right:2px;display:grid;width:18px;min-height:18px;place-items:center;border:0;border-radius:50%;background:#171717b8;color:var(--on-primary);font-size:1rem;font-weight:400;line-height:1;padding:0}.ai-budget-summary{position:relative;display:grid;min-width:106px;flex:none;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-secondary);font-size:.7rem;line-height:1.1;padding:7px 10px}.ai-budget-summary strong{color:var(--text-primary);font-size:.95rem;font-weight:600}.ai-budget-summary strong small,.ai-budget-summary>small{font-size:inherit;font-weight:400}.ai-budget-summary strong small{margin-inline:3px}.ai-budget-summary i{position:absolute;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,var(--primary) var(--ai-budget-progress),var(--border) var(--ai-budget-progress))}.ai-camera{display:grid;gap:10px}.ai-camera video{width:100%;max-height:54vh;border-radius:12px;background:var(--text-primary);object-fit:cover}.goal-section{padding:16px}.goal-section--compact{position:relative;padding:0}.goal-summary-toggle{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:inherit;background:transparent;color:var(--text-primary);padding:4px 8px;text-align:left}.goal-summary-toggle:not(:disabled):hover{background:var(--surface-secondary);color:var(--text-primary)}.calorie-goal{display:flex;align-items:baseline;gap:6px}.goal-summary-content{display:flex;min-width:0;align-items:center;gap:8px}.calorie-goal__value{display:flex;align-items:baseline;gap:6px}.calorie-goal__value strong{font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.calorie-goal__value span,.calorie-goal__target{white-space:nowrap;color:var(--text-secondary);font-size:.7rem}.macro-donut{position:relative;flex:none;width:36px;height:36px;border-radius:50%}.macro-donut:after{position:absolute;inset:9px;border-radius:inherit;background:var(--surface);content:""}.macro-donut.is-empty{background:var(--border)}.disclosure-chevron{display:grid;width:16px;height:16px;flex:none;place-items:center;color:var(--text-secondary);font-size:1.1rem;line-height:1;transition:transform .16s ease}.macro-goal-bars{position:absolute;z-index:10;top:calc(100% + 8px);right:0;display:grid;width:300px;gap:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-menu);padding:12px}.macro-goal-bar{display:grid;gap:4px}.macro-goal-bar>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.macro-goal-bar>div:first-child>span{font-size:.75rem;font-weight:500}.macro-goal-bar small{color:var(--text-secondary);font-size:.75rem;font-variant-numeric:tabular-nums}.macro-goal-bar .goal-track{height:8px}.macro-goal-bar.is-without-goal .goal-track{width:65%}.macro-goal-bar--protein .goal-track{--macro-tone: var(--protein)}.macro-goal-bar--fat .goal-track{--macro-tone: var(--fat)}.macro-goal-bar--carbs .goal-track{--macro-tone: var(--carbs)}.macro-goal-bar .goal-track-fill{background:var(--macro-tone)}.macro-goal-bar .goal-track-fill:not(:last-child){border-radius:999px 0 0 999px}.macro-goal-bar .goal-track-overflow{border-radius:0;background:repeating-linear-gradient(135deg,var(--macro-tone) 0 3px,transparent 3px 6px)}.macro-goal-bar .goal-track-overflow:last-child{border-radius:0 999px 999px 0}.goal-list{display:grid;gap:14px;margin-top:14px}.goal-section--untitled .goal-list{margin-top:0}.goal-row{display:grid;gap:8px}.goal-row>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.goal-row span,.goal-row small{color:var(--text-secondary)}.goal-row-meta{display:flex;justify-content:space-between;gap:8px}.goal-track{display:flex;height:12px;overflow:hidden;border-radius:999px;background:var(--border)}.goal-track span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.goal-row--protein .goal-track-fill{background:var(--protein)}.goal-row--fat .goal-track-fill{background:var(--fat)}.goal-row--carbs .goal-track-fill{background:var(--carbs)}.goal-row--calories .goal-track{--macro-tone: var(--primary)}.goal-row--protein .goal-track{--macro-tone: var(--protein)}.goal-row--fat .goal-track{--macro-tone: var(--fat)}.goal-row--carbs .goal-track{--macro-tone: var(--carbs)}.goal-row .goal-track-fill{background:var(--macro-tone)}.goal-row .goal-track-fill:not(:last-child){border-radius:999px 0 0 999px}.goal-row .goal-track-overflow{border-radius:0;background:repeating-linear-gradient(135deg,var(--macro-tone) 0 3px,transparent 3px 6px)}.goal-row .goal-track-overflow:last-child{border-radius:0 999px 999px 0}@media(min-width:1024px){.goal-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px}.goal-row--calories{grid-column:1 / -1}}.macro-summary{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:0}.macro-summary h3{margin:0;font-size:1rem;font-weight:600}.macro-summary__content{display:grid;gap:3px}.macro-summary__rows{display:flex;flex-wrap:wrap;gap:2px 12px;color:var(--text-secondary);font-size:.92rem}.macro-summary-donut{position:relative;width:44px;height:44px;flex:none;border-radius:50%}.macro-summary-donut:after{position:absolute;inset:11px;border-radius:inherit;background:var(--surface-secondary);content:""}.macro-summary-donut.is-empty{background:var(--border)}.macro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.macro-grid.compact{grid-template-columns:repeat(2,minmax(0,180px))}.metric-card{min-height:92px;border-radius:12px;background:var(--surface-secondary);padding:16px}.metric-card span,.metric-card small,.muted{color:var(--text-secondary)}.metric-card strong{display:block;margin-top:8px;font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums}.progress-summary{display:grid;gap:10px;margin-top:14px}.progress-summary.is-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-summary.is-with-records{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-summary.is-current-only{grid-template-columns:minmax(0,1fr)}.progress-meal-goals{display:grid;gap:14px;margin-top:14px}.progress-kbju{display:grid;gap:24px}.progress-kbju .goal-section{border:0;background:transparent;box-shadow:none;padding:0}.progress-kbju .goal-section h2{color:var(--text-primary);font-size:1rem;font-weight:600}.progress-kbju .goal-row>div:first-child strong{color:var(--text-secondary);font-size:.75rem;font-weight:500;line-height:1.2}.progress-kbju .goal-row--protein>div:first-child strong{color:var(--protein)}.progress-kbju .goal-row--fat>div:first-child strong{color:var(--fat)}.progress-kbju .goal-row--carbs>div:first-child strong{color:var(--carbs)}.progress-meal-goals .goal-section{min-width:0}.progress-summary .metric-card{min-height:68px;padding:10px 12px}.progress-summary .metric-card>span{display:block;color:var(--text-secondary);font-size:.75rem;font-weight:500;line-height:1.2}.progress-summary .metric-card strong{display:inline-block;margin-top:4px;font-size:1.15rem}.progress-summary .metric-card small{margin-left:4px}.progress-values{margin-top:14px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.progress-values table{width:100%;border-collapse:collapse;font-size:.875rem}.progress-values th,.progress-values td{padding:10px 12px;text-align:left}.progress-values th{color:var(--text-secondary);font-size:.75rem;font-weight:500}.progress-values tr+tr{border-top:1px solid var(--border)}.progress-values th:last-child,.progress-values td:last-child{text-align:right}.meal-list{display:grid;gap:12px;margin-top:14px}.meal-group{overflow:hidden}.meal-group header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--surface-secondary);padding:12px}.meal-group header>div{display:flex;align-items:center;gap:8px}.meal-group h2{font-size:1rem;line-height:1.25}.meal-toggle{display:inline-flex;min-height:36px;align-items:center;gap:8px;border:0;background:transparent;color:var(--text-primary);padding:0;text-align:left}.meal-toggle:not(:disabled):hover{background:transparent;color:var(--text-secondary)}.meal-toggle[aria-expanded=true] .disclosure-chevron,.goal-summary-toggle[aria-expanded=true] .disclosure-chevron{transform:rotate(90deg)}.meal-group header>div>span{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums}.meal-macro-donut{position:relative;width:28px;height:28px;flex:none;border-radius:50%}.meal-macro-donut:after{position:absolute;inset:7px;border-radius:inherit;background:var(--surface);content:""}.meal-macro-donut.is-empty{background:var(--border)}.text-button,.entry-action{min-height:36px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);font-size:.86rem;font-weight:500;padding:0 10px}.compact-icon{display:inline-grid;width:36px;min-width:36px;height:36px;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);font-size:1.2rem;font-weight:600;padding:0}.meal-group .muted{margin:0;padding:16px}.entry-list{display:grid}.entry-card{display:grid;gap:10px;border-bottom:1px solid var(--border);padding:16px}.entry-card-content{display:contents}.entry-swipe-delete{display:none}.entry-action{justify-self:start}.entry-action.icon-action{display:grid;width:36px;min-height:36px;place-items:center;padding:0}.icon-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.entry-actions{display:flex;flex-wrap:wrap;gap:8px}.entry-action.danger{border-color:var(--error);color:var(--error)}.entry-card:last-child{border-bottom:0}.entry-card-content>div{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.entry-card span{color:var(--text-secondary);font-size:.92rem}.entry-card .entry-calories{font-size:.8rem;font-weight:400}.filters-panel{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:14px;padding:16px}.filters-panel.progress-filters{grid-template-columns:repeat(2,minmax(0,1fr));border:0;background:transparent;box-shadow:none;padding:0}.progress-date-field{grid-column:1 / -1;max-width:420px}.filters-panel label>span,.form-panel label>span{font-weight:500}.form-panel label>small{color:var(--text-secondary);font-size:.75rem;line-height:1}.goal-macro-percentages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}.goal-macro-percentages>label,.profile-basics>label{align-self:start}.form-panel .profile-basics>label>span{font-size:.75rem;font-weight:500;line-height:1.2}.form-panel .profile-name-field>span{font-size:.75rem;font-weight:500;line-height:1.2}.profile-basics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}.profile-grid.profile-layout{grid-template-columns:minmax(0,1fr)}.profile-layout>.form-panel{border:0;background:transparent;box-shadow:none;padding:0}.profile-layout .form-panel{gap:14px}.profile-layout .form-panel>label,.profile-layout .profile-basics>label{gap:5px}.profile-layout .form-panel>label>span,.profile-layout .profile-basics>label>span{color:var(--text-secondary);font-size:.75rem;font-weight:500;line-height:1.2}.profile-actions{justify-self:start}.checkbox-field{min-height:44px;grid-template-columns:auto 1fr;align-items:center;align-self:end;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:0 12px}.checkbox-field input{width:18px;height:18px;accent-color:var(--primary)}.chart-panel{margin-top:14px;padding:12px}.chart-panel canvas{display:block;width:100%;height:280px;touch-action:manipulation}.empty-state{color:var(--text-secondary);margin-top:14px;padding:22px;text-align:center}.diary-skeleton{display:grid;min-height:430px;gap:14px;margin-top:14px}.diary-skeleton__entry{display:flex;align-items:center;justify-content:space-between;gap:16px}.diary-skeleton__entries{display:grid;gap:1px}.diary-skeleton__entry{min-height:78px;padding:16px}.diary-skeleton__empty{display:flex;min-height:56px;align-items:center;padding:16px}@media(min-width:720px)and (max-width:1199px){.diary-skeleton__entry{min-height:72px}}@media(min-width:1200px){.diary-skeleton__entry{min-height:68px}}.skeleton-block{display:block;border-radius:6px;background:linear-gradient(90deg,var(--surface-secondary) 20%,var(--surface) 50%,var(--surface-secondary) 80%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-block--name{width:min(42%,240px);height:14px}.skeleton-block--short{width:min(28%,156px)}.skeleton-block--total{width:68px;height:14px}.skeleton-block--amount{width:82px;height:14px}.skeleton-block--empty{width:116px;height:14px}@keyframes skeleton-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton-block{animation:none}}.search-empty-state{display:grid;gap:12px;margin-top:14px;border:1px dashed var(--border);border-radius:12px;color:var(--text-secondary);padding:18px;text-align:center}.search-empty-state p{margin:0}.search-empty-state button{justify-self:center}.profile-grid,.food-page{display:grid;gap:14px}.diary-entry-dish-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.diary-entry-dish-heading h2{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:600;letter-spacing:-.01em;line-height:1.25}.diary-entry-meta-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.diary-entry-meta-fields>*{min-width:0}.diary-entry-amount-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.diary-entry-amount-field .select-menu{width:max-content;min-width:116px}.diary-entry-unit-label{color:var(--text-secondary);font-size:.875rem;white-space:nowrap}.form-panel{display:grid;gap:14px;padding:16px}.form-panel.form-panel--plain{border:0;background:transparent;box-shadow:none;padding:0}.dish-create-page{display:grid;gap:14px}.dish-create-identity,.dish-create-section{display:grid;gap:12px}.dish-create-section{padding-top:10px}.dish-create-section h2{margin:0;color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.375}.dish-portion-row{display:grid;gap:5px}.dish-portion-row .amount-unit-row{grid-template-columns:minmax(0,1fr) auto}.dish-portion-swipe.has-remove .dish-portion-row .amount-unit-row{grid-template-columns:minmax(0,1fr) auto 36px}.dish-portion-row small{margin-left:8px;color:var(--text-secondary);font-size:.75rem}.portion-swipe-remove{display:none}.dish-create-page .portion-remove-button{display:grid;width:36px;min-height:36px;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-secondary);padding:0}.dish-create-page .portion-remove-button:disabled{cursor:not-allowed;opacity:.4}.portion-remove-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.dish-create-page .portion-remove-button:not(:disabled):hover{border-color:var(--error);background:var(--surface);color:var(--error)}.secondary-button,.form-panel .secondary-button,.dish-create-page .secondary-button{justify-self:start;min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);font-weight:500;padding:0 12px}.secondary-button:not(:disabled):hover,.form-panel .secondary-button:not(:disabled):hover,.dish-create-page .secondary-button:not(:disabled):hover{border-color:var(--primary);background:var(--primary-subtle);color:var(--primary-pressed)}.secondary-button.icon-control{display:inline-grid;place-items:center}.secondary-button.icon-control svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.dish-create-page input,.dish-create-page select,.dish-create-page textarea{box-sizing:border-box;min-height:44px;width:100%;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);padding:0 12px}.dish-create-page input.visually-hidden{width:1px;min-height:1px;border:0;padding:0}.dish-create-page textarea{min-height:112px;padding:12px;resize:vertical}.dish-create-page button{min-height:44px;border:0;border-radius:12px;background:var(--primary);color:var(--on-primary);font-weight:500;padding:0 16px}.dish-create-page button:not(:disabled):hover{background:var(--primary-pressed);color:var(--on-primary)}.dish-list-page{display:grid;gap:14px}.form-panel>button[type=submit],.food-page>button[type=submit]{justify-self:start}.back-button{justify-self:start;min-height:38px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);font-weight:500;padding:0 12px}.form-panel .back-button,.form-panel .compact-icon,.form-panel .barcode-cancel{background:var(--surface);color:var(--text-primary)}.form-panel .back-button:not(:disabled):hover,.form-panel .compact-icon:not(:disabled):hover,.form-panel .barcode-cancel:not(:disabled):hover{background:var(--primary-subtle);color:var(--primary-pressed)}.icon-back{width:38px;padding:0;font-size:1.2rem}.history-controls{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.history-period-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:14px 0 2px;color:var(--text-primary);font-size:.875rem;font-weight:600}.history-period-heading small{margin-left:auto;color:var(--text-secondary);font-size:.75rem;font-weight:400}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.search-input-wrap{position:relative;min-width:0;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.search-input-wrap input{width:100%;border:0;background:transparent;padding-right:52px}.search-input-wrap input:focus-visible{outline:0}.search-barcode-button{position:absolute;top:0;right:0;display:grid;place-items:center;border:0;border-radius:0 11px 11px 0;background:var(--primary);color:var(--on-primary)}.form-panel .search-barcode-button,.dish-list-page .search-barcode-button{background:transparent;color:var(--text-primary)}.form-panel .search-barcode-button:not(:disabled):hover,.dish-list-page .search-barcode-button:not(:disabled):hover{background:transparent;color:var(--text-primary)}.search-barcode-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.history-controls select{min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);padding:0 12px}.select-menu{position:relative;min-width:0}.select-menu__trigger{display:none}@media(max-width:719px){.diary-page-header,.diary-page-header>div,.diary-page-header .diary-actions{display:contents}.diary-page-header .date-controls{margin-bottom:12px}.diary-page-header .diary-right-actions{position:sticky;z-index:10;top:68px;margin-bottom:16px;background:var(--background);padding:8px 0;transition:top .24s ease}.topnav{justify-content:flex-start}.topnav a{justify-content:center;width:44px;min-width:44px;padding:0}.topnav a span{display:none}.ai-create-toolbar{gap:8px}.ai-photo-actions{display:flex;min-width:0;flex:1;flex-wrap:nowrap;overflow:hidden;gap:8px}.dish-create-page .ai-photo-actions .secondary-button{flex:none;justify-content:flex-start;padding:0 8px}.camera-close-label__desktop{display:none}.camera-close-label__mobile{display:inline}.form-panel button.back-navigation-button,.dish-list-page button.back-navigation-button,.dish-create-page button.back-navigation-button{inset:auto auto 16px 16px;width:44px;min-width:44px;min-height:44px;height:44px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 8px 24px #1717171f}.back-navigation-button:before{display:none}.history-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.select-menu__native{width:100%;min-height:44px;appearance:none;-webkit-appearance:none;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);padding:0 44px 0 12px}.select-menu:after{position:absolute;top:50%;right:14px;width:8px;height:8px;border-right:1.8px solid var(--text-secondary);border-bottom:1.8px solid var(--text-secondary);content:"";pointer-events:none;transform:translateY(-70%) rotate(45deg)}.dish-create-page .amount-unit-row .select-menu{width:max-content}.dish-create-page .amount-unit-row .select-menu__native{width:auto;max-width:min(60vw,220px);field-sizing:content;padding-right:36px}.dish-portion-swipe{position:relative;overflow:hidden;background:var(--surface)}.dish-portion-swipe .dish-portion-row{position:relative;z-index:1;background:var(--surface);transform:translate(calc(-1 * var(--portion-swipe-offset, 0px)));transition:transform .18s ease}.dish-portion-swipe.is-swiping .dish-portion-row,.dish-portion-swipe.is-swiping .portion-swipe-remove{transition:none}.dish-portion-row .amount-unit-row,.dish-portion-swipe.has-remove .dish-portion-row .amount-unit-row{grid-template-columns:minmax(0,1fr) auto}.dish-portion-swipe.is-new,.nutrient-swipe.is-new{animation:portion-slide-in .32s ease-out}.dish-create-page .portion-remove-button{display:none}.dish-create-page .portion-swipe-remove{position:absolute;z-index:0;top:0;right:0;height:44px;display:flex;width:var(--portion-swipe-reveal-width, 72px);align-items:center;justify-content:center;border:0;border-radius:0;background:var(--surface);color:var(--text-secondary);font-size:.75rem;font-weight:400;line-height:1;padding:0;transition:width .18s ease}.nutrient-swipe .nutrient-row{transform:translate(calc(-1 * var(--nutrient-swipe-offset, 0px)));transition:transform .18s ease}.nutrient-swipe.is-swiping .nutrient-row,.nutrient-swipe.is-swiping .nutrient-swipe-remove{transition:none}.dish-create-page .nutrient-swipe .nutrient-remove-button{display:none}.dish-create-page .nutrient-swipe-remove{position:absolute;z-index:0;top:0;right:0;height:44px;display:flex;width:var(--nutrient-swipe-reveal-width, 72px);align-items:center;justify-content:center;border:0;border-radius:0;background:var(--surface);color:var(--error);padding:0;transition:width .18s ease}.nutrient-swipe-remove svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.dish-create-page .nutrient-swipe .nutrient-row{grid-template-columns:minmax(0,1fr) auto}}@media(min-width:720px)and (max-width:1023px){.diary-page-header,.diary-page-header>div,.diary-page-header .diary-actions{display:contents}.diary-page-header .date-controls{margin-bottom:12px}.diary-page-header .diary-right-actions{position:sticky;z-index:10;top:68px;margin-bottom:16px;background:var(--background);padding:8px 0;transition:top .24s ease}}@media(max-width:359px){.app-brand{display:none}.date-controls{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}.date-controls button.icon-control{width:40px;min-width:40px;min-height:40px}.date-controls .today-button{display:none}.diary-right-actions .goal-section--compact{flex:0 1 auto}.diary-right-actions .goal-summary-toggle{width:auto;min-height:40px}.diary-right-actions .macro-donut,.diary-right-actions .calorie-goal__target,.diary-right-actions .disclosure-chevron{display:none}.diary-right-actions .calorie-goal__value>span{display:none}.diary-right-actions .calorie-goal__value:after{color:var(--text-secondary);content:attr(data-compact-value);font-size:.7rem;white-space:nowrap}.dish-create-page .ai-photo-actions .secondary-button{width:44px;min-width:44px;place-content:center;padding:0}.dish-create-page .ai-photo-actions .secondary-button span{display:none}}@media(min-width:450px)and (max-width:719px){.topnav a{width:auto;min-width:0;padding:0 10px}.topnav a span{display:inline}}@keyframes portion-slide-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@media(min-width:720px){.select-menu__native{display:none}.select-menu__trigger{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);padding:0 12px;text-align:left}.select-menu__trigger>span:first-child{color:var(--text-primary);font-size:1rem;font-weight:500}.form-panel .select-menu__trigger,.filters-panel .select-menu__trigger,.dish-list-page .select-menu__trigger,.dish-create-page .select-menu__trigger,.form-panel .select-menu__trigger:not(:disabled):hover,.filters-panel .select-menu__trigger:not(:disabled):hover,.dish-list-page .select-menu__trigger:not(:disabled):hover,.dish-create-page .select-menu__trigger:not(:disabled):hover{border:1px solid var(--border);background:var(--surface);color:var(--text-primary)}.select-menu__trigger .disclosure-chevron{transform:rotate(90deg)}.select-menu__trigger[aria-expanded=true] .disclosure-chevron{transform:rotate(-90deg)}.select-menu__options{position:absolute;z-index:25;top:calc(100% + 6px);right:0;left:0;display:grid;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-menu);padding:6px}.select-menu__options button{min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--text-primary);padding:0 10px;text-align:left}.select-menu__options button:hover,.select-menu__options button.is-selected{background:var(--primary-subtle);color:var(--primary-pressed)}.filters-panel .select-menu__options button{border:0;background:transparent;color:var(--text-primary)}.filters-panel .select-menu__options button:hover,.filters-panel .select-menu__options button.is-selected{background:var(--primary-subtle);color:var(--primary-pressed)}.dish-create-page .amount-unit-row .select-menu__options{right:auto;width:max-content;min-width:100%;max-width:200px;overflow-x:auto}.dish-create-page .amount-unit-row .select-menu__options button{white-space:nowrap}}.history-sentinel{display:grid;min-height:34px;place-items:center}.loading-dot{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:history-spin .75s linear infinite}.creation-placeholder{min-height:100px;display:grid;place-items:center;border:1px dashed var(--border);border-radius:12px;color:var(--text-secondary);text-align:center}.creation-mode-tabs{display:flex;overflow:hidden;border:1px solid var(--border);border-radius:12px}.form-panel .creation-mode-tabs button,.dish-create-page .creation-mode-tabs button{flex:1;min-width:0;border:0;border-radius:0;background:var(--surface);color:var(--text-secondary);line-height:1.25;padding:12px}.form-panel .creation-mode-tabs button.is-active,.form-panel .creation-mode-tabs button.is-active:not(:disabled):hover,.dish-create-page .creation-mode-tabs button.is-active,.dish-create-page .creation-mode-tabs button.is-active:not(:disabled):hover{background:var(--primary);color:var(--on-primary)}@keyframes history-spin{to{transform:rotate(360deg)}}.form-grid{display:grid;gap:12px}.macro-calorie-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.macro-calorie-field>span:not(.number-input){color:var(--text-secondary);font-size:.875rem;white-space:nowrap}.macro-input-field{display:grid;gap:5px}.macro-input-field>span:first-child{font-size:.75rem;font-weight:500;line-height:1.2}.macro-input-field--protein>span:first-child{color:var(--protein)}.macro-input-field--fat>span:first-child{color:var(--fat)}.macro-input-field--carbs>span:first-child{color:var(--carbs)}.form-panel .macro-input-field{gap:5px}.form-panel .macro-input-field>span:first-child{color:var(--text-secondary);font-size:.75rem;font-weight:500;line-height:1.2}.form-panel .macro-input-field--protein>span:first-child{color:var(--protein)}.form-panel .macro-input-field--fat>span:first-child{color:var(--fat)}.form-panel .macro-input-field--carbs>span:first-child{color:var(--carbs)}.nutrition-basics-row,.amount-unit-row{display:grid;gap:12px}.nutrition-basics-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.nutrition-basics-separator{color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.amount-unit-row{grid-template-columns:minmax(0,1fr) auto}.amount-unit-row .select-menu{width:max-content;min-width:0}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-budget-panel{display:grid;gap:6px;border:1px solid var(--border);border-radius:12px;background:var(--surface-secondary);color:var(--text-secondary);padding:12px}.ai-budget-panel strong{color:var(--text-primary)}.ai-actions{display:grid;gap:10px}.dish-list{display:grid;max-height:420px;overflow:auto;gap:8px}.dish-option{display:grid;gap:4px;border:1px solid rgb(22 163 74 / 22%);border-radius:12px;background:#f0fdf494;color:var(--text-primary);cursor:pointer;padding:12px}.dish-option-content{display:grid;gap:4px;min-width:0}.dish-option--add{grid-template-columns:minmax(0,1fr) auto;align-items:center}.dish-list-page .dish-add-button{display:grid;place-items:center;border:0;background:var(--primary);color:var(--on-primary);font-size:1.5rem;font-weight:400;line-height:1;padding:0}.dish-list-page .dish-add-button:disabled{opacity:.5}.dish-detail-link{justify-self:start;min-height:36px;border:0;background:transparent;color:var(--primary-pressed);font-size:.875rem;font-weight:500;padding:0}.dish-detail-link:not(:disabled):hover{background:transparent;color:var(--primary)}.nutrient-details{display:grid;gap:10px}.nutrient-details summary{display:flex;align-items:center;gap:8px;color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;line-height:1.375;list-style:none}.nutrient-details summary::-webkit-details-marker{display:none}.nutrient-details summary:after{color:var(--text-secondary);content:"›";font-size:1.1rem;line-height:1;transition:transform .16s ease}.nutrient-details[open] summary:after{transform:rotate(90deg)}.nutrient-list{display:grid;gap:6px;color:var(--text-secondary);font-size:.875rem}.dish-system-details{display:grid;gap:8px;color:var(--text-secondary);font-size:.875rem}.dish-system-details h2,.dish-system-details p{margin:0}.dish-system-details h2{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.375}.nutrient-editor{display:grid;gap:12px}.nutrient-swipe{position:relative;overflow:hidden;background:var(--surface)}.nutrient-row{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto 36px;align-items:center;gap:12px;background:var(--surface)}.nutrient-row>span:not(.number-input){color:var(--text-secondary);font-size:.875rem;white-space:nowrap}.dish-create-page .nutrient-remove-button{display:grid;width:36px;min-height:36px;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-secondary);padding:0}.nutrient-remove-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.dish-create-page .nutrient-remove-button:not(:disabled):hover{border-color:var(--error);background:var(--surface);color:var(--error)}.nutrient-swipe-remove{display:none}.nutrient-choice-groups{display:grid;gap:14px;margin-top:12px}.nutrient-choice-group{display:grid;gap:6px}.nutrient-choice-group h3{margin:0;color:var(--text-secondary);font-size:.75rem;font-weight:500}.nutrient-choice-group>div{display:flex;flex-wrap:wrap;gap:8px}.dish-create-page .nutrient-choice,.form-panel .nutrient-choice{width:fit-content;min-height:34px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-primary);font-size:.8rem;font-weight:500;padding:0 10px}.dish-create-page .nutrient-choice small,.form-panel .nutrient-choice small{color:var(--text-secondary);font-size:.72rem;font-weight:400}.dish-create-page .nutrient-choice:not(:disabled):hover,.form-panel .nutrient-choice:not(:disabled):hover{border-color:var(--primary);background:var(--primary-subtle);color:var(--primary-pressed)}.entity-history{margin-top:8px}.entity-history__list{display:grid;gap:12px;margin-top:12px}.history-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;padding:12px}.history-card div{display:grid;gap:4px}.history-card span,.history-card small{color:var(--text-secondary)}.form-panel .permission-button{width:fit-content;min-height:36px;justify-self:end;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-secondary);font-size:.75rem;font-weight:500;text-align:right;padding:0 10px}.form-panel .permission-button:not(:disabled):hover{border-color:var(--text-secondary);background:var(--surface);color:var(--text-primary)}.dish-option:last-child{border-bottom:1px solid rgb(22 163 74 / 22%)}.dish-option.is-selected{background:var(--primary-subtle);box-shadow:inset 4px 0 0 var(--primary)}.dish-option>button{display:grid;gap:4px;min-height:56px;border:0;background:transparent;color:inherit;padding:0;text-align:left}.form-panel .dish-option>button,.form-panel .dish-option>button:not(:disabled):hover{border:0;background:transparent;color:var(--text-primary)}.dish-option>button span,.dish-option>button small{color:var(--text-secondary)}.dish-nutrition-line{align-items:baseline;flex-wrap:wrap;gap:0;color:var(--text-secondary)}.dish-nutrition-line>span+span:before{color:var(--text-secondary);content:", "}.dish-nutrition-line .dish-calories+.dish-base-amount:before{content:" "}.dish-nutrition-line .dish-calories{color:var(--text-primary)}.dish-nutrition-line .dish-base-amount{color:var(--text-secondary);font-size:.8rem}.dish-macro-track{width:180px;max-width:100%;height:4px;overflow:hidden;border-radius:999px;background:var(--border)}.dish-macro-track.is-empty{background:var(--border)}.dish-nutrition-line .dish-macro--protein{color:var(--protein)}.dish-nutrition-line .dish-macro--fat{color:var(--fat)}.dish-nutrition-line .dish-macro--carbs{color:var(--carbs)}.modal-backdrop{position:fixed;z-index:60;inset:0;display:grid;align-items:end;background:#17171757;padding:12px}.modal-panel{display:grid;width:min(100%,520px);gap:14px;justify-self:center;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 24px 80px #17171733;padding:18px}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.modal-header h2{margin:6px 0 0;font-size:1.25rem;font-weight:600}.macro-summary__protein{color:var(--protein)}.macro-summary__fat{color:#b45309}.macro-summary__carbs{color:var(--carbs)}.macro-summary__calories{display:flex;align-items:baseline;gap:6px;color:var(--text-primary)}.macro-summary__calories strong{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.macro-summary__calories small{color:var(--text-secondary);font-size:.7rem;font-weight:700}@media(min-width:720px){.page-header{grid-template-columns:1fr auto;align-items:end}.macro-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.filters-panel{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.filters-panel.progress-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-card{grid-template-columns:1.2fr 1fr auto;align-items:center}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.food-page{grid-template-columns:minmax(0,1fr);align-items:start}.food-page>button[type=submit]{grid-column:1 / -1;justify-self:start;min-width:220px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-backdrop{align-items:center}}@media(min-width:720px)and (max-width:1199px){.topbar{display:flex;gap:16px;padding:12px 24px}.app-brand,.profile-button{flex:none}.topnav-shell{position:relative;display:block;width:auto;min-width:0;flex:1;margin:0;padding:0 20px;pointer-events:auto}.topnav{width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-behavior:smooth}.topnav a{flex:none}.profile-button{grid-column:auto}.entry-card{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px}.entry-card-content>div:first-child,.entry-card-content>div:nth-child(2){grid-column:1;justify-content:flex-start;text-align:left}.entry-card-content>div:first-child{grid-row:1}.entry-card-content>div:nth-child(2){grid-row:2}.entry-card-content>.entry-actions{grid-column:2;grid-row:1 / span 2;align-self:center;justify-content:flex-end}}@media(max-width:1023px){.topbar{transition:transform .24s ease}.app-layout.is-topbar-hidden .topbar{transform:translateY(-100%)}.app-layout.is-topbar-hidden .diary-page-header .diary-right-actions{top:0}.content-shell{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.form-panel button.back-navigation-button,.dish-list-page button.back-navigation-button,.dish-create-page button.back-navigation-button{inset:auto auto 16px 16px;width:44px;min-width:44px;min-height:44px;height:44px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 8px 24px #1717171f}.back-navigation-button:before{display:none}.diary-actions{flex-direction:column;gap:12px}.diary-actions>.date-controls{flex:0;width:100%}.diary-right-actions{width:100%;margin-left:0}.diary-right-actions .goal-section--compact{min-width:0;flex:1;border:0;background:transparent;box-shadow:none}.diary-right-actions .goal-summary-toggle{border:1px solid var(--border);background:var(--surface)}.diary-right-actions .macro-goal-bars{position:static;width:100%;margin-top:8px;box-shadow:none}.login-panel button:not(:disabled):hover,.date-controls button:not(:disabled):hover,.filters-panel button:not(:disabled):hover,.form-panel button:not(:disabled):hover,.food-page>button[type=submit]:not(:disabled):hover,.modal-panel button[type=submit]:not(:disabled):hover,.add-button:not(:disabled):hover{background:var(--primary);color:var(--on-primary)}.topnav a:hover{color:var(--text-secondary)}.topnav a.active:hover{color:var(--primary-pressed)}.profile-button:hover{border-color:var(--border);background:var(--surface);color:var(--text-primary)}.icon-button:not(:disabled):hover,.back-button:not(:disabled):hover,.text-button:not(:disabled):hover,.entry-action:not(:disabled):hover,.compact-icon:not(:disabled):hover,.secondary-button:not(:disabled):hover,.dish-create-page .secondary-button:not(:disabled):hover,.dish-create-page .portion-remove-button:not(:disabled):hover,.close-button:not(:disabled):hover{border-color:var(--border);background:var(--surface);color:var(--text-primary)}.date-controls .today-button:not(:disabled):hover{background:transparent;color:var(--primary)}.date-controls .date-picker-button:not(:disabled):hover,.goal-summary-toggle:not(:disabled):hover,.meal-toggle:not(:disabled):hover{background:transparent;color:var(--text-primary)}.form-panel .back-button:not(:disabled):hover,.form-panel .compact-icon:not(:disabled):hover,.form-panel .barcode-cancel:not(:disabled):hover{background:var(--surface);color:var(--text-primary)}.dish-detail-link:not(:disabled):hover{background:transparent;color:var(--primary-pressed)}}@media(max-width:719px){.entry-card{position:relative;display:block;overflow:hidden;background:var(--error);padding:0}.entry-card-content{position:relative;z-index:1;display:grid;gap:10px;background:var(--surface);padding:16px;transition:transform .18s ease}.entry-card.is-swiping .entry-card-content,.entry-card.is-swiping .entry-swipe-delete{transition:none}.entry-card.is-delete-revealed{--entry-swipe-offset: 68px}.entry-card-content{transform:translate(calc(-1 * var(--entry-swipe-offset, 0px)))}.entry-swipe-delete{position:absolute;z-index:0;inset:0 0 0 auto;display:block;width:var(--entry-swipe-reveal-width, 68px);place-items:center;border:0;background:var(--error);color:var(--on-primary);padding:0;transition:width .18s ease}.entry-swipe-delete svg{position:absolute;top:50%;right:24px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transform:translateY(-50%)}.entry-card-content>div:first-child{justify-content:flex-start;text-align:left}.entry-card-content>div:nth-child(2){justify-content:flex-start;text-align:left}.entry-card-content>.entry-actions{display:none}.diary-right-actions .macro-goal-bars{width:calc(100% + 60px)}}
