.fy-app{--fy-bg:#f6f7f2;--fy-card:#fff;--fy-ink:#20291f;--fy-muted:#65705e;--fy-line:#e2e7db;--fy-accent:#d9f38b;--fy-dark:#304620;--fy-soft:#eef3e6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:15px;line-height:1.55;color:var(--fy-ink);background:var(--fy-bg);border:1px solid var(--fy-line);border-radius:22px;margin:22px auto;max-width:1380px;box-sizing:border-box;text-align:left;isolation:isolate;overflow:clip}
.fy-app *,.fy-app *::before,.fy-app *::after{box-sizing:border-box}.fy-app h1,.fy-app h2,.fy-app h3,.fy-app p{font-family:inherit;line-height:1.3;letter-spacing:normal;color:inherit}.fy-app h1{font-size:clamp(24px,3vw,34px);margin:3px 0 0;font-weight:650}.fy-app h2{font-size:21px;margin:0 0 18px;font-weight:650}.fy-app h3{font-size:17px;margin:0;font-weight:650}.fy-app p{line-height:1.6;margin:12px 0}.fy-app a{color:var(--fy-dark);text-underline-offset:3px}.fy-app button,.fy-app .fy-button{font:inherit;font-size:14px;font-weight:600;line-height:1.4;background:var(--fy-soft);color:var(--fy-ink);border:1px solid transparent;border-radius:10px;padding:10px 15px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:40px;white-space:normal;box-shadow:none;letter-spacing:normal;text-transform:none;gap:7px}.fy-app button:hover,.fy-app .fy-button:hover{filter:brightness(.96);border-color:#c2cdb2}.fy-app button:focus-visible,.fy-app a:focus-visible,.fy-app summary:focus-visible{outline:3px solid #718c31;outline-offset:3px}.fy-app button:disabled{opacity:.5;cursor:wait}.fy-app .fy-primary{background:var(--fy-dark);color:#fff}.fy-app .fy-danger{color:#9e312e;background:#fff1f0}.fy-app input:not([type=checkbox]),.fy-app select,.fy-app textarea{font:inherit;font-size:15px;line-height:1.5;width:100%;max-width:none;padding:10px 12px;background:var(--fy-card);color:var(--fy-ink);border:1px solid #cbd2c3;border-radius:9px;min-height:44px;box-shadow:none}.fy-app input:focus,.fy-app select:focus,.fy-app textarea:focus{outline:2px solid #a5bf69;outline-offset:1px}.fy-app input[type=checkbox]{width:17px;height:17px;flex:0 0 17px;accent-color:#4b672c;margin:4px 0 0}.fy-app label{display:block;font-size:13px;font-weight:600;margin:10px 0 14px;line-height:1.5}.fy-app label input,.fy-app label textarea,.fy-app label select{margin-top:5px}.fy-app label span,.fy-app small{color:var(--fy-muted);font-weight:400}.fy-app .fy-check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.fy-app .fy-check input{margin-top:2px}.fy-app details{margin:15px 0;padding:12px 0;border-top:1px solid var(--fy-line)}.fy-app summary{cursor:pointer;font-weight:600;padding:4px 0}.fy-app dialog{color:var(--fy-ink);background:var(--fy-card);font:inherit;border:1px solid var(--fy-line);border-radius:18px;width:min(840px,94vw);max-height:90vh;padding:0;box-shadow:0 18px 80px #0003;overscroll-behavior:contain}.fy-app dialog::backdrop{background:#17261480;backdrop-filter:blur(2px)}.fy-app .fy-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;padding:20px 26px;background:var(--fy-card);border-bottom:1px solid var(--fy-line);z-index:2}.fy-app .fy-dialog-head h2{margin:0;font-size:21px}.fy-app .fy-dialog-body{padding:22px 26px}.fy-app .fy-dialog .fy-icon{font-size:25px;width:42px;height:42px;padding:0}.fy-app .fy-dialog .fy-food-row{grid-template-columns:34px minmax(0,1fr) auto 20px}.fy-app .fy-layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:720px}.fy-app .fy-sidebar{padding:30px 16px 24px;border-right:1px solid var(--fy-line);display:flex;flex-direction:column;background:var(--fy-card)}.fy-app .fy-brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin:0 4px 35px;color:var(--fy-ink)}.fy-app .fy-brand strong{display:block;font-size:23px;font-weight:700;letter-spacing:-.8px}.fy-app .fy-brand span:not(.fy-symbol){display:block;font-size:11px;color:var(--fy-muted)}.fy-app .fy-symbol{display:flex;width:42px;height:42px;flex:0 0 42px;align-items:center;justify-content:center;background:var(--fy-accent);color:#334521;border-radius:15px 15px 15px 3px;font-size:27px;font-weight:800}.fy-app nav{display:flex;flex-direction:column;gap:8px}.fy-app nav button{justify-content:flex-start;text-align:left;background:transparent;font-size:14px;font-weight:500;padding:12px 14px}.fy-app nav button[aria-current=page]{background:var(--fy-accent);color:#253b15;font-weight:650}.fy-app .fy-nav-dot{width:20px;font-size:19px}.fy-app .fy-sidebar-bottom{margin-top:auto;padding:45px 12px 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px}.fy-app .fy-sidebar-bottom strong{overflow-wrap:anywhere;max-width:130px}.fy-app .fy-sidebar-bottom a{width:100%;color:var(--fy-muted);font-size:12px;padding:3px 0}.fy-app .fy-avatar{display:flex;width:29px;height:29px;background:var(--fy-soft);border-radius:50%;align-items:center;justify-content:center}.fy-app .fy-main{padding:32px;min-width:0}.fy-app .fy-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}.fy-app .fy-eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--fy-muted);margin:0 0 8px}.fy-app .fy-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.fy-app .fy-date-picker{display:flex;align-items:center;gap:4px}.fy-app .fy-date-picker input{max-width:160px;font-size:13px;min-height:40px;padding:8px}.fy-app .fy-date-picker button{padding:8px 11px}.fy-app .fy-card{background:var(--fy-card);padding:25px;border:1px solid var(--fy-line);border-radius:15px;margin-bottom:20px}.fy-app .fy-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.fy-app .fy-metric{padding:19px 20px;border-radius:14px;border:1px solid var(--fy-line);background:var(--fy-card);display:flex;flex-direction:column;gap:5px;min-width:0}.fy-app .fy-metric-0{background:var(--fy-accent);color:#263c17}.fy-app .fy-metric>span{font-size:12px;font-weight:500}.fy-app .fy-metric strong{font-size:30px;font-weight:650;letter-spacing:-1px;line-height:1.3}.fy-app .fy-metric small{font-size:11px}.fy-app .fy-progress{height:4px;border-radius:5px;background:#afbd9d40;overflow:hidden;margin:8px 0 0}.fy-app .fy-progress span{height:100%;display:block;background:#697e42;border-radius:5px}.fy-app .fy-metric-1 .fy-progress span{background:#97a6df}.fy-app .fy-metric-2 .fy-progress span{background:#dfa569}.fy-app .fy-metric-3 .fy-progress span{background:#d09eae}.fy-app .fy-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;flex-wrap:wrap}.fy-app .fy-section-head h2{margin:0}.fy-app .fy-meal{padding:20px 0;border-top:1px solid var(--fy-line)}.fy-app .fy-meal:last-child{padding-bottom:0}.fy-app .fy-meal h3 small{font-size:11px;margin-left:8px;white-space:nowrap}.fy-app .fy-meal .fy-section-head button{background:transparent;color:var(--fy-dark);border:1px solid var(--fy-line);font-size:12px;padding:6px 11px;min-height:34px}.fy-app .fy-muted{font-size:12px;color:var(--fy-muted);line-height:1.6}.fy-app .fy-no-entry{margin:8px 0 0;padding:9px 0;color:#89927f}.fy-app .fy-entry{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--fy-line)}.fy-app .fy-entry:last-child{border:0}.fy-app .fy-entry-name{flex:1;min-width:0}.fy-app .fy-entry-name strong{display:block;font-size:14px;font-weight:550;overflow-wrap:anywhere}.fy-app .fy-entry-name span{display:block;font-size:12px;color:var(--fy-muted);margin-top:3px}.fy-app .fy-entry-energy{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.fy-app .fy-entry button{font-size:11px;min-height:32px;padding:6px 8px}.fy-app .fy-table-wrap{overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch}.fy-app .fy-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.45;margin:0;border:0;table-layout:auto;background:transparent}.fy-app .fy-table th,.fy-app .fy-table td{padding:11px 12px;border:0;border-bottom:1px solid var(--fy-line);color:inherit;vertical-align:middle;background:transparent}.fy-app .fy-table th{font-weight:500;text-align:left}.fy-app .fy-table td{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.fy-app .fy-table thead th{font-size:11px;color:var(--fy-muted);font-weight:600;background:var(--fy-bg);text-align:right}.fy-app .fy-table thead th:first-child{text-align:left}.fy-app .fy-table tr:last-child td,.fy-app .fy-table tr:last-child th{border-bottom:0}.fy-app .fy-partial{color:#a06a2b;padding-left:3px}.fy-app .fy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.fy-app .fy-fields label{margin-bottom:12px}.fy-app .fy-search{display:flex;align-items:center;gap:10px;margin:0 0 18px}.fy-app .fy-search input{flex:1;min-width:100px}.fy-app .fy-search select{flex:0 1 220px}.fy-app .fy-food-list{display:flex;flex-direction:column}.fy-app .fy-food-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto 18px;gap:14px;align-items:center;background:transparent;border:0;border-bottom:1px solid var(--fy-line);border-radius:0;width:100%;text-align:left;padding:16px 2px;font-weight:400}.fy-app .fy-food-row>span:nth-child(3){text-align:right;font-size:15px;white-space:nowrap}.fy-app .fy-food-row strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.fy-app .fy-food-row small{display:block;font-size:11px;margin-top:3px}.fy-app .fy-food-row:hover{background:var(--fy-soft);filter:none;border:0;border-bottom:1px solid var(--fy-line)}.fy-app .fy-food-icon{background:var(--fy-soft);border-radius:10px;width:34px;height:38px;display:flex;align-items:center;justify-content:center;color:#697e42;font-size:20px}.fy-app .fy-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px;font-size:12px;color:var(--fy-muted)}.fy-app .fy-empty{text-align:center;border:1px dashed var(--fy-line);border-radius:12px;padding:34px 20px;margin:12px 0;color:var(--fy-muted)}.fy-app .fy-empty>span{font-size:28px}.fy-app .fy-empty p{font-size:14px}.fy-app .fy-sticky-actions{position:sticky;bottom:-22px;display:flex;gap:10px;padding:15px 0;background:var(--fy-card);border-top:1px solid var(--fy-line);margin-top:18px}.fy-app .fy-ingredient{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:14px;align-items:center;padding:8px 0;border-bottom:1px solid var(--fy-line)}.fy-app .fy-ingredient strong{font-weight:550;font-size:14px;overflow-wrap:anywhere}.fy-app .fy-ingredient label{margin:0}.fy-app .fy-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.fy-app .fy-meal-editor{display:grid;grid-template-columns:minmax(120px,1fr) 100px 100px 35px 80px;gap:10px;align-items:center}.fy-app .fy-meal-editor button{padding:6px;font-size:11px}.fy-app .fy-filter-form{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.fy-app .fy-filter-form label{margin:0;max-width:220px}.fy-app .fy-chart{display:flex;gap:10px;align-items:flex-end;min-height:190px;overflow-x:auto;padding:10px 0 0;border-bottom:1px solid var(--fy-line)}.fy-app .fy-bar-column{min-width:38px;flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.fy-app .fy-bar{display:block;background:#bddb72;width:100%;max-width:48px;border-radius:5px 5px 0 0;min-height:2px}.fy-app .fy-bar-value{font-size:10px;color:var(--fy-muted)}.fy-app .fy-bar-column small{font-size:9px;writing-mode:vertical-rl;height:36px}.fy-app .fy-block{display:block}.fy-app .fy-toast{position:fixed;z-index:1000000;bottom:30px;left:50%;transform:translateX(-50%);background:#304620;color:#fff;padding:15px 22px;border-radius:12px;box-shadow:0 5px 30px #0003;width:max-content;max-width:90vw;font-size:14px;pointer-events:none}.fy-app .fy-toast.fy-error{background:#8f3028}.fy-app .fy-notice{padding:15px;background:var(--fy-soft);border-radius:10px;border-left:3px solid #829b4e}.fy-app.fy-auth{padding:35px;max-width:1050px}.fy-app .fy-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.fy-app .fy-auth-grid .fy-card{padding:32px}.fy-app .fy-auth-grid h2{font-size:28px;letter-spacing:-.6px;line-height:1.2}.fy-app .fy-auth-grid button.fy-primary{width:100%;margin-top:8px}.fy-app.fy-auth .fy-brand{margin-bottom:25px}.fy-app .fy-loading{padding:40px;text-align:center}.fy-app code{color:inherit;background:var(--fy-soft)}
/* Contain the app within both block and classic WordPress themes. */
.entry-content>.fy-app,.wp-block-post-content>.fy-app{width:100%;max-width:1380px!important}.entry-content:has(>#food-you-root),.wp-block-post-content:has(>#food-you-root){max-width:1380px!important}.wrap>.fy-app{max-width:1500px;margin-right:18px}.wrap.fy-app{padding:25px}
.fy-app[data-theme=dark]{--fy-bg:#1d231b;--fy-card:#272f24;--fy-ink:#e9efdf;--fy-muted:#acb7a0;--fy-line:#414c38;--fy-soft:#36432e;--fy-dark:#45602e}.fy-app[data-theme=dark] a{color:#c6df8f}.fy-app[data-theme=dark] input,.fy-app[data-theme=dark] textarea,.fy-app[data-theme=dark] select{color-scheme:dark;border-color:#5a684b}
@media(prefers-color-scheme:dark){.fy-app[data-theme=system]{--fy-bg:#1d231b;--fy-card:#272f24;--fy-ink:#e9efdf;--fy-muted:#acb7a0;--fy-line:#414c38;--fy-soft:#36432e;--fy-dark:#45602e}.fy-app[data-theme=system] a{color:#c6df8f}.fy-app[data-theme=system] input,.fy-app[data-theme=system] select,.fy-app[data-theme=system] textarea{color-scheme:dark;border-color:#5a684b}}
@media(max-width:1100px){.fy-app .fy-layout{grid-template-columns:175px minmax(0,1fr)}.fy-app .fy-main{padding:25px 20px}.fy-app .fy-sidebar{padding:26px 10px}.fy-app .fy-metric{padding:16px 13px}.fy-app .fy-metric strong{font-size:26px}.fy-app .fy-card{padding:20px}.fy-app .fy-meal-editor{grid-template-columns:minmax(80px,1fr) 90px 90px 30px 65px;gap:6px}}
@media(max-width:780px){.fy-app{border-radius:14px;margin:10px auto;font-size:14px}.fy-app .fy-layout{display:block;min-height:0}.fy-app .fy-sidebar{border:0;border-bottom:1px solid var(--fy-line);padding:16px}.fy-app .fy-brand{margin:0 0 15px}.fy-app nav{flex-direction:row;overflow-x:auto;gap:5px;padding-bottom:4px}.fy-app nav button{flex:0 0 auto;padding:9px 11px;font-size:12px;min-height:38px}.fy-app .fy-nav-dot{display:none}.fy-app .fy-sidebar-bottom{display:none}.fy-app .fy-sidebar .fy-brand::after{content:"";margin-left:auto}.fy-app .fy-main{padding:20px 15px}.fy-app .fy-heading{margin-bottom:22px;gap:15px}.fy-app .fy-heading h1{font-size:26px}.fy-app .fy-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fy-app .fy-card{padding:18px}.fy-app .fy-search{flex-wrap:wrap}.fy-app .fy-search input{flex-basis:100%}.fy-app .fy-search select{flex:1}.fy-app .fy-entry{gap:7px;flex-wrap:wrap}.fy-app .fy-entry-name{min-width:60%}.fy-app .fy-entry button{margin-top:2px}.fy-app .fy-entry-energy{margin-left:auto}.fy-app .fy-table{font-size:12px}.fy-app .fy-table td,.fy-app .fy-table th{padding:9px 8px}.fy-app .fy-meal-editor{grid-template-columns:1fr 1fr 1fr}.fy-app .fy-meal-editor label:first-child{grid-column:1 / -1}.fy-app .fy-meal-editor{border-bottom:1px solid var(--fy-line);padding-bottom:12px}.fy-app.fy-auth{padding:20px}.fy-app .fy-auth-grid{grid-template-columns:1fr;gap:0}.fy-app .fy-auth-grid .fy-card{padding:25px}.fy-app .fy-food-row{gap:8px;grid-template-columns:28px minmax(0,1fr) auto 14px}.fy-app .fy-food-icon{width:26px;height:32px;font-size:16px}.fy-app .fy-food-row strong{font-size:13px}.fy-app .fy-food-row>span:nth-child(3){font-size:13px}.fy-app .fy-dialog-body{padding:18px}.fy-app .fy-dialog-head{padding:16px 18px}.fy-app .fy-dialog .fy-food-row{grid-template-columns:25px minmax(0,1fr) auto 14px}.fy-app .fy-ingredient{grid-template-columns:minmax(0,1fr) 95px}.fy-app .fy-ingredient button{grid-column:1 / -1;justify-self:start;min-height:30px;padding:5px 10px}.fy-app .fy-checkbox-grid{grid-template-columns:1fr}.fy-app .fy-fields{gap:0 12px}.fy-app .fy-fields label{font-size:12px}.fy-app .fy-filter-form label{max-width:100%}.fy-app .fy-filter-form .fy-check{width:100%}}
@media(max-width:430px){.fy-app .fy-main{padding:16px 10px}.fy-app .fy-card{padding:15px}.fy-app .fy-fields{grid-template-columns:1fr}.fy-app .fy-date-picker input{max-width:145px}.fy-app .fy-date-picker button{padding:7px 10px}.fy-app .fy-metric{padding:13px}.fy-app .fy-auth-grid h2{font-size:25px}.fy-app .fy-dialog-body{padding:15px}}
@media(max-width:780px){.fy-app .fy-sidebar-bottom{display:flex;padding:10px 0 0;gap:8px;font-size:11px}.fy-app .fy-sidebar-bottom a{width:auto;margin-left:auto;padding:2px}.fy-app .fy-sidebar-bottom a+a{margin-left:8px}.fy-app .fy-sidebar-bottom .fy-avatar{width:23px;height:23px}.fy-app .fy-sidebar-bottom strong{max-width:45%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}

/* NutriVid additions */
.fy-app .fy-brand strong{display:block;line-height:1.2}.fy-app .fy-brand strong small{display:block;font-size:11px;font-weight:400;letter-spacing:.05em;margin-top:4px}.fy-app .fy-attribution{font-size:11px;color:var(--fy-muted);line-height:1.6;margin-top:26px;padding:15px 0;border-top:1px solid var(--fy-line)}.fy-app .fy-attribution small{font-size:11px}.fy-app .fy-attribution details{margin-top:12px}.fy-app fieldset{border:1px solid var(--fy-line);border-radius:12px;padding:16px;margin:18px 0}.fy-app [hidden]{display:none!important}.fy-app.fy-auth{max-width:700px}.fy-app.fy-auth .fy-card{margin-top:25px}.fy-app .fy-brand strong{font-size:25px}
.fy-search-filters{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.fy-search-filters label{flex:1 1 220px;min-width:0}.fy-search-filters select{width:100%;max-width:100%}.fy-picker-results{max-height:48vh;overflow-y:auto;border:1px solid var(--fy-border,#d5dfd7);border-radius:10px;background:var(--fy-card,#fff)}.fy-picker-results [role=option]:focus,.fy-picker-results [aria-selected=true]{outline:2px solid #287a55;outline-offset:-2px;background:#eef8f1}.fy-picker-results .fy-food-row{width:100%}
/* Display choice: every application load starts with desktop. */
.fy-app .fy-view-chooser{display:flex;gap:6px;padding:6px;background:var(--fy-soft);border-radius:12px;margin:0 0 20px;flex-wrap:wrap}
.fy-app .fy-view-chooser button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px;font-size:13px;border:1px solid transparent;background:transparent;color:var(--fy-ink)}
.fy-app .fy-view-chooser button[aria-pressed=true]{background:var(--fy-card);border-color:var(--fy-dark);font-weight:700;box-shadow:0 1px 4px #0001}
.fy-app .fy-view-chooser button span{font-size:23px;line-height:1}
.fy-app .fy-auth{max-width:620px;margin:30px auto;padding:32px}
.fy-app .fy-diary-part{min-width:0}
.fy-app .fy-database-picker{position:relative;min-width:200px}
.fy-app .fy-database-picker summary{cursor:pointer;padding:10px;border:1px solid var(--fy-line);border-radius:8px}
@media(min-width:1100px){
.fy-app[data-view=desktop]{width:min(1920px,calc(100vw - 48px));max-width:none!important;margin-left:calc(50% - min(960px,calc(50vw - 24px)));margin-right:0}
.wrap>.fy-app[data-view=desktop]{width:100%;margin:0;max-width:none!important}
.fy-app[data-view=desktop] .fy-layout{grid-template-columns:235px minmax(0,1fr);min-height:calc(100vh - 70px)}
.fy-app[data-view=desktop] .fy-sidebar{position:sticky;top:20px;align-self:start;min-height:calc(100vh - 80px);padding:28px 18px}
.fy-app[data-view=desktop] .fy-main{padding:32px 36px}
.fy-app[data-view=desktop] .fy-diary-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
.fy-app[data-view=desktop] .fy-diary-goals{grid-column:1/-1}
.fy-app[data-view=desktop] .fy-diary-grid .fy-card{margin:0}
.fy-app[data-view=desktop] .fy-diary-grid+.fy-card{margin-top:24px}
.fy-app[data-view=desktop] .fy-diary-nutrients .fy-table-wrap{max-height:75vh;overflow:auto}
.fy-app[data-view=desktop] .fy-table thead th{position:sticky;top:0;background:var(--fy-card);z-index:1}
.fy-app[data-view=desktop] .fy-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px}
.fy-app[data-view=desktop] .fy-nutrient-group .fy-fields{grid-template-columns:repeat(4,minmax(0,1fr))}
.fy-app[data-view=desktop] .fy-heading{align-items:center;flex-wrap:wrap;gap:16px}
.fy-app[data-view=desktop] .fy-dialog{width:min(1100px,calc(100vw - 80px));max-width:1100px}
.fy-app[data-view=desktop] .fy-picker-results{max-height:58vh}
.fy-app[data-view=desktop] .fy-card{padding:26px}
.fy-app[data-view=desktop] .fy-meal{padding:22px 0}
}
/* Explicit phone mode also works on a desktop monitor. */
.fy-app[data-view=phone]{width:100%;max-width:560px!important;margin:12px auto;font-size:14px}
.fy-app[data-view=phone] .fy-layout{display:block;min-height:0}
.fy-app[data-view=phone] .fy-sidebar{border:0;border-bottom:1px solid var(--fy-line);padding:16px}
.fy-app[data-view=phone] .fy-brand{margin:0 0 15px}
.fy-app[data-view=phone] nav{flex-direction:row;overflow-x:auto;gap:5px;padding-bottom:4px}
.fy-app[data-view=phone] nav button{flex:0 0 auto;padding:9px 11px;font-size:12px;min-height:38px}
.fy-app[data-view=phone] .fy-nav-dot{display:none}
.fy-app[data-view=phone] .fy-main{padding:20px 15px}
.fy-app[data-view=phone] .fy-heading{flex-wrap:wrap;gap:12px}
.fy-app[data-view=phone] .fy-heading h1{font-size:26px}
.fy-app[data-view=phone] .fy-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fy-app[data-view=phone] .fy-card{padding:18px}
.fy-app[data-view=phone] .fy-search{flex-wrap:wrap}
.fy-app[data-view=phone] .fy-search input{flex-basis:100%}
.fy-app[data-view=phone] .fy-entry{gap:7px;flex-wrap:wrap}
.fy-app[data-view=phone] .fy-entry-name{min-width:60%}
.fy-app[data-view=phone] .fy-entry-energy{margin-left:auto}
.fy-app[data-view=phone] .fy-table{font-size:12px}
.fy-app[data-view=phone] .fy-table td,.fy-app[data-view=phone] .fy-table th{padding:9px 8px}
.fy-app[data-view=phone] .fy-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.fy-app[data-view=phone] .fy-dialog{width:calc(100vw - 24px);max-width:540px}
.fy-app[data-view=phone] .fy-dialog-body{padding:18px}
.fy-app[data-view=phone] .fy-food-row{gap:8px;grid-template-columns:28px minmax(0,1fr) auto 14px}
.fy-app[data-view=phone] .fy-food-row strong{font-size:13px}
.fy-app[data-view=phone] .fy-checkbox-grid{grid-template-columns:1fr}
@media(max-width:430px){.fy-app[data-view=phone] .fy-fields{grid-template-columns:1fr}}

/* Desktop diary: entire menu first, nutritional values below. */
@media(min-width:1100px){
.fy-app[data-view=desktop] .fy-diary-grid{grid-template-columns:minmax(0,1fr);gap:20px}
.fy-app[data-view=desktop] .fy-diary-goals{order:0;grid-column:1}
.fy-app[data-view=desktop] .fy-diary-meals{order:1;grid-column:1}
.fy-app[data-view=desktop] .fy-diary-nutrients{order:2;grid-column:1}
.fy-app[data-view=desktop] .fy-diary-nutrients .fy-table-wrap{max-height:none;overflow:auto}
.fy-app[data-view=desktop] .fy-meals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;align-items:start}
.fy-app[data-view=desktop] .fy-meals-grid .fy-meal{min-width:0;padding:14px 0}
.fy-app[data-view=desktop] .fy-meals-grid .fy-section-head{gap:8px;margin-bottom:10px}
.fy-app[data-view=desktop] .fy-meals-grid .fy-section-head h3{font-size:18px}
.fy-app[data-view=desktop] .fy-meals-grid .fy-entry{display:grid;grid-template-columns:minmax(0,1fr) auto 28px 28px;gap:6px;align-items:center;padding:9px 0}
.fy-app[data-view=desktop] .fy-meals-grid .fy-entry-name{min-width:0;font-size:13px;line-height:1.4}
.fy-app[data-view=desktop] .fy-meals-grid .fy-entry-name strong{overflow-wrap:anywhere}
.fy-app[data-view=desktop] .fy-meals-grid .fy-entry-name span{font-size:12px}
.fy-app[data-view=desktop] .fy-meals-grid .fy-entry-energy{font-size:13px;white-space:nowrap}
.fy-app[data-view=desktop] .fy-meals-grid .fy-entry button{font-size:0;padding:3px;min-height:28px;width:28px}
.fy-app[data-view=desktop] .fy-meals-grid .fy-entry button[data-action=entry-detail]::after{content:'ⓘ';font-size:17px}
.fy-app[data-view=desktop] .fy-meals-grid .fy-entry button[data-action=entry-edit]::after{content:'✎';font-size:17px}
}
@media(min-width:1550px){.fy-app[data-view=desktop] .fy-meals-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px}}

.fy-app .fy-search-databases{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0 0 18px;padding:12px 16px;border:1px solid var(--fy-line);border-radius:10px}.fy-app .fy-search-databases legend{font-weight:700;padding:0 6px}.fy-app .fy-search-databases .fy-check{margin:0;flex:0 1 auto}.fy-app .fy-search-controls{margin-top:12px}
