/* Vayloza exact approved UI v7 — structural match to approved coded tests */
body.native-mobile[data-surface="native-app-v2"],
body.mobile-web[data-surface="mobile-web-v2"]{background:#faf6f1!important;color:#201a2b!important}
.exact-pagehead{margin:0 0 16px!important}.exact-pagehead.split{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:flex-start!important}.exact-pagehead h1{font-size:34px!important;line-height:1.03!important;letter-spacing:-.04em!important;margin:5px 0 6px!important}.exact-pagehead p{font-size:14px!important;line-height:1.45!important;color:#756e79!important;margin:0!important}.exact-round{width:42px!important;height:42px!important;border:0!important;border-radius:14px!important;background:#fff!important;color:#5f49df!important;font-size:20px!important;box-shadow:0 5px 18px rgba(43,32,52,.06)!important}
.exact-metrics{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin:12px 0 16px!important}.exact-metric{background:#fff!important;border:0!important;border-radius:18px!important;padding:14px!important;box-shadow:0 5px 18px rgba(43,32,52,.06)!important}.exact-metric>span{font-size:12px!important;color:#766f79!important}.exact-metric>b{display:block!important;font-size:27px!important;margin:4px 0!important;letter-spacing:-.025em!important}.exact-metric small{font-size:11px!important;color:#766f79!important}.exact-metric .bar{height:6px!important;margin:7px 0 5px!important;background:#ede6e2!important;border-radius:999px!important}
.exact-sectionrow{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:12px!important;margin:20px 0 9px!important}.exact-sectionrow h2{font-size:24px!important;line-height:1.08!important;margin:3px 0 0!important}.exact-sectionrow button,.exact-sectionrow .textbtn{border:0!important;background:transparent!important;color:#5f49df!important;font-weight:900!important;font-size:13px!important}
.exact-next-meal{border-radius:22px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 9px 28px rgba(43,32,52,.09)!important}.exact-next-meal .approved-next-meal{margin:0!important;border-radius:0!important;box-shadow:none!important}
.exact-meal-list{background:#fff!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 6px 20px rgba(43,32,52,.055)!important}.exact-meal-list .mock-later-item{margin:0!important;border-radius:0!important;box-shadow:none!important}
.exact-health{background:#edf7ef!important;border-radius:20px!important;padding:16px!important;margin:18px 0!important}.exact-health-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important}.exact-health-head h3{font-size:21px!important;margin:4px 0 0!important}.exact-health-head>b{font-size:15px!important}.exact-health-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;margin-top:12px!important;border-top:1px solid #d6e5da!important}.exact-health-grid>div{padding:11px 9px 0!important}.exact-health-grid>div+div{border-left:1px solid #d6e5da!important}.exact-health-grid span{display:block!important;font-size:11px!important;color:#667069!important}.exact-health-grid b{display:block!important;font-size:13px!important;margin-top:2px!important}.exact-health-grid i{display:none!important}.exact-health>p{font-size:12px!important;color:#637067!important;margin:10px 0 0!important}
.exact-home-actions{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:9px!important;margin-top:12px!important}.exact-home-actions button{min-height:78px!important;border:0!important;border-radius:17px!important;background:#fff!important;box-shadow:0 5px 18px rgba(43,32,52,.05)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;color:#201a2b!important}.exact-home-actions span{font-size:20px!important;color:#5f49df!important}.exact-home-actions b{font-size:14px!important}.exact-home-actions small{font-size:10px!important;color:#77707a!important}
.exact-days{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:5px!important;margin:10px 0!important}.exact-days button{min-height:54px!important;border:0!important;border-radius:12px!important;background:#fff!important;box-shadow:0 4px 14px rgba(43,32,52,.04)!important;font-size:10px!important}.exact-days button.active{background:#5f49df!important;color:#fff!important}.exact-tabs{display:flex!important;gap:6px!important;overflow-x:auto!important;margin:10px 0 14px!important;scrollbar-width:none!important}.exact-tabs::-webkit-scrollbar{display:none!important}.exact-tabs button{flex:0 0 auto!important;border:0!important;border-radius:999px!important;background:#fff!important;color:#77707a!important;padding:9px 13px!important;font-size:11px!important;font-weight:850!important}.exact-tabs button.active{background:#5f49df!important;color:#fff!important}.exact-panel{margin-top:0!important}.exact-search{height:46px!important;display:flex!important;align-items:center!important;background:#fff!important;border:1px solid #e8e0dc!important;border-radius:14px!important;overflow:hidden!important;margin:10px 0!important}.exact-search input{flex:1!important;height:100%!important;border:0!important;background:transparent!important;padding:0 13px!important;font-size:14px!important;outline:0!important}.exact-search button{width:48px!important;height:100%!important;border:0!important;background:transparent!important;color:#5f49df!important;font-size:20px!important}.exact-filter-row{display:flex!important;gap:6px!important;overflow:auto!important;margin:8px 0 12px!important}.exact-filter-row button{flex:0 0 auto!important;border:0!important;border-radius:999px!important;padding:8px 10px!important;background:#fff!important;color:#6e6772!important;font-size:10px!important}.exact-filter-row button:first-child{background:#5f49df!important;color:#fff!important}.exact-recipe-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.exact-recipe-grid .discover-recipe-card{border:0!important;border-radius:17px!important;overflow:hidden!important;box-shadow:0 5px 17px rgba(43,32,52,.06)!important;background:#fff!important}
.exact-pantry-kpis{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:7px!important;margin:8px 0!important}.exact-pantry-kpis>div{background:#fff!important;border:0!important;border-radius:14px!important;box-shadow:0 4px 14px rgba(43,32,52,.04)!important;padding:10px!important}.exact-pantry-kpis b{font-size:17px!important}.exact-pantry-kpis span{font-size:9px!important}.exact-scan-card{border:0!important;border-radius:20px!important;background:linear-gradient(135deg,#30233c,#5f49df)!important;color:#fff!important;padding:16px!important;margin:12px 0!important;box-shadow:0 12px 28px rgba(43,32,52,.16)!important}.exact-scan-card h2{font-size:21px!important;margin:4px 0!important}.exact-scan-card p{font-size:12px!important;opacity:.8!important}.exact-scan-card .scan-launch-actions{display:flex!important;gap:8px!important;margin-top:10px!important}.exact-scan-card .btn{min-height:40px!important}.exact-note{padding:11px 13px!important;background:#f0edff!important;color:#5f49df!important;border-radius:13px!important;font-size:12px!important;margin:9px 0!important}.exact-pantry-list{display:grid!important;gap:10px!important}.exact-manual{background:#fff!important;border:0!important;border-radius:16px!important;margin-top:12px!important;box-shadow:0 5px 17px rgba(43,32,52,.04)!important}.exact-manual summary{padding:14px!important;font-weight:850!important}
.exact-shop-card{background:#fff!important;border:0!important;border-radius:18px!important;box-shadow:0 6px 20px rgba(43,32,52,.055)!important;padding:12px!important}
.exact-progress-hero{display:grid!important;gap:10px!important}.exact-chart-card{background:#fff!important;border-radius:19px!important;padding:15px!important;box-shadow:0 6px 20px rgba(43,32,52,.055)!important}.exact-chart-card h2{font-size:21px!important;margin:5px 0 8px!important}.exact-progress-side{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}.exact-progress-side article{background:#fff!important;border-radius:15px!important;padding:11px!important;box-shadow:0 5px 16px rgba(43,32,52,.04)!important}.exact-progress-side span,.exact-progress-side small{font-size:9px!important;color:#777!important}.exact-progress-side b{display:block!important;font-size:16px!important;margin:3px 0!important}.exact-consistency,.exact-scale-card,.exact-routine{background:#fff!important;border:0!important;border-radius:18px!important;box-shadow:0 6px 20px rgba(43,32,52,.05)!important;margin-top:11px!important;padding:14px!important}.exact-routine{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}.exact-routine h3{font-size:16px!important;margin:4px 0 0!important}
.exact-profile-card{display:grid!important;grid-template-columns:48px 1fr 20px!important;gap:11px!important;align-items:center!important;background:#fff!important;border-radius:18px!important;padding:13px!important;box-shadow:0 6px 20px rgba(43,32,52,.05)!important;margin-bottom:12px!important}.exact-avatar{width:48px!important;height:48px!important;border-radius:15px!important;background:linear-gradient(135deg,#654cff,#f07d94)!important;color:#fff!important;display:grid!important;place-items:center!important;font-weight:950!important;font-size:22px!important}.exact-profile-card b,.exact-profile-card small{display:block!important}.exact-profile-card b{font-size:15px!important}.exact-profile-card small{font-size:11px!important;color:#777!important;margin-top:2px!important}.exact-profile-card em{font-style:normal!important;font-size:22px!important;color:#999!important}.exact-settings-list{border:0!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 6px 20px rgba(43,32,52,.05)!important;background:#fff!important}.exact-settings-list>button{min-height:68px!important;background:#fff!important;border:0!important;border-bottom:1px solid #eee5df!important}.exact-settings-list>button:last-child{border-bottom:0!important}.exact-settings-list em{font-style:normal!important;color:#999!important;font-size:20px!important}
body.mobile-web[data-surface="mobile-web-v2"] .mobilebar{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:2px!important;background:#fff!important;border-top:1px solid #e6dfdb!important;padding:5px!important;z-index:80!important}
body.mobile-web[data-surface="mobile-web-v2"] .mobilebar button{min-height:58px!important;border:0!important;border-radius:13px!important;background:transparent!important;color:#77707a!important}
body.mobile-web[data-surface="mobile-web-v2"] .mobilebar button.active{background:#f0edff!important;color:#5f49df!important}
body.mobile-web[data-surface="mobile-web-v2"] .mobilebar button svg{display:block!important;margin:auto!important}
body.mobile-web[data-surface="mobile-web-v2"] .mobilemain{padding-bottom:88px!important}
body.native-mobile[data-surface="native-app-v2"] .mobilemain{padding-bottom:calc(105px + var(--native-inset-bottom,0px))!important}
@media(max-width:380px){.exact-pagehead h1{font-size:31px!important}.exact-recipe-grid{grid-template-columns:1fr!important}.exact-progress-side{grid-template-columns:1fr 1fr!important}}
/* ---------- DESKTOP exact approved structure ---------- */
#app.desktop-workspace .desktop-workbar{display:none!important}
#app.desktop-workspace .member-v4-header{height:58px!important;background:#fff!important;border-bottom:1px solid #ece4df!important;box-shadow:none!important}
#app.desktop-workspace .member-v4-header-inner{width:100%!important;max-width:none!important;padding:0 22px!important}
#app.desktop-workspace .member-v4-brand{color:#201a2b!important;font-size:18px!important}
#app.desktop-workspace .member-v4-nav{position:fixed!important;top:58px!important;left:0!important;bottom:0!important;width:170px!important;padding:20px 10px!important;background:#fff!important;border-right:1px solid #ece4df!important;display:flex!important;flex-direction:column!important;gap:4px!important}
#app.desktop-workspace .member-v4-nav .navbtn{min-height:42px!important;border:0!important;border-radius:10px!important;text-align:left!important;padding:0 12px!important;color:#6f6876!important;font-size:13px!important}
#app.desktop-workspace .member-v4-nav .navbtn.active{background:#f0edff!important;color:#5f49df!important}
#app.desktop-workspace .member-v4-account{margin-left:auto!important;color:#201a2b!important;background:#fff!important;border:1px solid #e7dfda!important;border-radius:999px!important}
#app.desktop-workspace .member-v4-shell{margin-left:170px!important}
#app.desktop-workspace .member-v4-main.main{width:min(1280px,calc(100% - 46px))!important;margin:0 auto!important;padding:32px 0 80px!important}
.exact-desk-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;margin-bottom:18px!important}.exact-desk-head h1{font-size:38px!important;line-height:1.05!important;letter-spacing:-.04em!important;margin:5px 0 5px!important}.exact-desk-head p{margin:0!important;color:#756e79!important;font-size:13px!important}
.exact-desk-grid{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)!important;gap:16px!important}.exact-desk-maincol{min-width:0!important}.exact-desk-sidecol,.exact-desk-sidecards{display:grid!important;gap:10px!important;align-content:start!important}.exact-desk-sectionhead{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:12px!important;margin:14px 0 8px!important}.exact-desk-sectionhead.small{margin:0 0 7px!important}.exact-desk-sectionhead h2{font-size:21px!important;margin:3px 0 0!important}.exact-desk-sectionhead h3{font-size:17px!important;margin:3px 0 0!important}.exact-desk-sectionhead .textbtn{border:0!important;background:transparent!important;color:#5f49df!important;font-weight:900!important}
.exact-desk-hero{background:#fff!important;border-radius:19px!important;overflow:hidden!important;box-shadow:0 7px 24px rgba(43,32,52,.07)!important}.exact-desk-hero .web-next-meal{display:grid!important;grid-template-columns:.9fr 1.1fr!important;grid-template-areas:"copy photo" "actions photo"!important;border:0!important;border-radius:0!important;min-height:255px!important}.exact-desk-hero .web-next-photo{grid-area:photo!important;height:255px!important;min-height:255px!important}.exact-desk-hero .web-next-copy{grid-area:copy!important;padding:22px!important}.exact-desk-hero .web-next-copy h3{font-size:27px!important}.exact-desk-hero .web-next-actions{grid-area:actions!important;padding:0 22px 20px!important;display:grid!important;grid-template-columns:1.2fr .8fr!important;gap:8px!important}.exact-desk-meals{background:#fff!important;border-radius:17px!important;box-shadow:0 6px 20px rgba(43,32,52,.05)!important;overflow:hidden!important}.exact-desk-meals .mock-later-item{grid-template-columns:66px 1fr 26px!important;border-radius:0!important;border:0!important;border-bottom:1px solid #eee!important;padding:9px 12px!important}.exact-desk-meals .mock-later-item:last-child{border-bottom:0!important}.exact-desk-meals .mock-later-thumb{width:60px!important;height:52px!important}
.exact-desk-kpis{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}.exact-desk-kpis article,.exact-desk-compact,.exact-desk-health{background:#fff!important;border-radius:16px!important;padding:13px!important;box-shadow:0 5px 16px rgba(43,32,52,.045)!important}.exact-desk-kpis span,.exact-desk-kpis small{font-size:10px!important;color:#777!important}.exact-desk-kpis b{display:block!important;font-size:22px!important;margin:4px 0!important}.exact-desk-health{background:#edf7ef!important}.exact-big-number{display:block!important;font-size:28px!important;margin:7px 0!important}.exact-desk-compact p{font-size:11px!important;color:#777!important}
.exact-desktop-days{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:7px!important;margin:10px 0 14px!important}.exact-desktop-days .web-day-card{min-height:74px!important;border:0!important;border-radius:13px!important;background:#fff!important;box-shadow:0 4px 14px rgba(43,32,52,.04)!important}.exact-desktop-days .web-day-card.active{background:#5f49df!important;color:#fff!important}.exact-desktop-planlist{background:#fff!important;border-radius:16px!important;box-shadow:0 6px 20px rgba(43,32,52,.05)!important;overflow:hidden!important}.exact-desktop-planlist .mealcard{border:0!important;border-bottom:1px solid #eee!important;border-radius:0!important;box-shadow:none!important;margin:0!important}
.exact-desktop-search{display:flex!important;gap:8px!important;margin:10px 0!important}.exact-desktop-search input{flex:1!important;min-height:44px!important;border:1px solid #e7dfda!important;border-radius:12px!important;background:#fff!important;padding:0 13px!important}.exact-desktop-filters,.exact-desktop-tabs{display:flex!important;gap:7px!important;margin:8px 0 14px!important}.exact-desktop-filters button,.exact-desktop-tabs button{border:0!important;border-radius:999px!important;background:#fff!important;padding:8px 12px!important;color:#6f6876!important;font-size:11px!important}.exact-desktop-filters button.active,.exact-desktop-tabs button.active{background:#5f49df!important;color:#fff!important}.exact-desktop-recipegrid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important}.exact-desktop-recipegrid .discover-recipe-card{border:0!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 5px 17px rgba(43,32,52,.055)!important;background:#fff!important}.exact-desktop-recipegrid .discover-recipe-photo{height:150px!important}.saved-head{margin-top:24px!important}
.exact-desktop-pantrygrid{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(260px,.6fr)!important;gap:14px!important}.exact-desktop-progressgrid{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr)!important;gap:14px!important}.exact-desktop-chart{background:#fff!important;border-radius:17px!important;padding:15px!important;box-shadow:0 6px 20px rgba(43,32,52,.05)!important}.exact-desktop-chart #progressTrendBars{height:250px!important}.exact-desktop-progresslower{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:12px!important}
.exact-desktop-settingsgrid{display:grid!important;grid-template-columns:180px 1fr!important;gap:14px!important}.exact-settings-menu{background:#fff!important;border-radius:16px!important;padding:8px!important;box-shadow:0 5px 16px rgba(43,32,52,.045)!important}.exact-settings-menu button{width:100%!important;min-height:42px!important;border:0!important;border-radius:9px!important;background:transparent!important;text-align:left!important;padding:0 11px!important;color:#6f6876!important}.exact-settings-menu button.active{background:#f0edff!important;color:#5f49df!important;font-weight:900!important}.exact-settings-overview{min-width:0!important}.exact-settings-directory{background:#fff!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 5px 16px rgba(43,32,52,.045)!important}.exact-settings-directory button{width:100%!important;min-height:68px!important;border:0!important;border-bottom:1px solid #eee!important;background:#fff!important;padding:11px 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;text-align:left!important}.exact-settings-directory button:last-child{border-bottom:0!important}.exact-settings-directory b,.exact-settings-directory small{display:block!important}.exact-settings-directory b{font-size:14px!important}.exact-settings-directory small{font-size:11px!important;color:#777!important;margin-top:2px!important}.exact-settings-directory em{font-style:normal!important;font-size:20px!important;color:#999!important}
@media(max-width:1050px){#app.desktop-workspace .member-v4-nav{width:145px!important}#app.desktop-workspace .member-v4-shell{margin-left:145px!important}.exact-desk-grid,.exact-desktop-pantrygrid,.exact-desktop-progressgrid{grid-template-columns:1fr!important}}


/* NAVIGATION AUTHORITY — inactive pages must always be hidden.
   Earlier visual layers forced #today to display:flex!important, which made
   navigation look stuck even though show() was changing the active class. */
body.native-mobile[data-surface="native-app-v2"] #app .screen:not(.active),
body.mobile-web[data-surface="mobile-web-v2"] #app .screen:not(.active),
#app.desktop-workspace .screen:not(.active){
  display:none!important;
}
body.native-mobile[data-surface="native-app-v2"] #app .screen.active,
body.mobile-web[data-surface="mobile-web-v2"] #app .screen.active,
#app.desktop-workspace .screen.active{
  display:block!important;
}
