/* Calorie Bomb V10B: shared premium pages. Exact dashboard palette: black #080b0f,
   orange #ff6339, simple separators, transparent content, and illustrated icon system.
   Scoped to wrapped non-Today routes plus sign-in and app dialogs. */

html:has(#app .cb-v10-page),body:has(#app .cb-v10-page),
html:has(#app .login-wrap),body:has(#app .login-wrap){
 background:#080b0f!important;color:#f1f3f5!important;color-scheme:dark!important;
}
body:has(#app .cb-v10-page),body:has(#app .login-wrap){
 --page:#080b0f;--surface:#11161c;--surface-2:#192029;--surface-3:#242c36;
 --text:#f1f3f5;--text-soft:#c4cdd6;--muted:#9ea8b3;--border:#29313b;
 --input:#111821;--input-border:#36414d;
 --primary:#ff6339;--primary-text:#fff;
 --secondary:#202833;--secondary-text:#f1f3f5;
 --accent:#ff6339;--track:#2a323d;--fill:#ff6339;
 --nav:rgba(8,11,15,.98);--nav-text:#a4adb8;
 --success:#9adfb8;--success-bg:#15231d;--success-border:#335746;
 --v64-green:#ff6339;--v64-green-2:#ff9b5b;
 --v64-blue:#ff6339;
 --shadow:none;
 background:#080b0f!important;color:#f1f3f5!important;
}
body:has(#app .cb-v10-page) #app{width:100%!important;max-width:620px!important;padding:calc(6px + env(safe-area-inset-top)) 17px calc(94px + env(safe-area-inset-bottom))!important;margin:0 auto!important;overflow-x:clip!important}
#app .cb-v10-page{min-width:0;width:100%;color:#f1f3f5;font-size:14px;line-height:1.47}
#app .cb-v10-page :is(h1,h2,h3,p){color:inherit}
#app .cb-v10-page .muted{color:#9ea8b3!important;-webkit-text-fill-color:#9ea8b3!important}
#app .cb-v10-page .kicker{font-size:10px!important;letter-spacing:.16em!important;font-weight:850!important;color:#ff6339!important;-webkit-text-fill-color:#ff6339!important;text-transform:uppercase}
#app .cb-v10-page h1{font-size:clamp(30px,7.5vw,42px)!important;line-height:1.08!important;letter-spacing:-.055em!important;font-weight:900!important;margin:5px 0 17px!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important}
#app .cb-v10-page h2{font-size:17px!important;font-weight:850!important;letter-spacing:-.025em!important;line-height:1.3!important;margin:0!important}
#app .cb-v10-page h3{font-size:15px!important;font-weight:850!important;letter-spacing:-.02em!important}
#app .cb-v10-page .section-title{color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;font-size:16px!important;font-weight:850!important;margin:0 0 10px!important}
#app .cb-v10-page .section-heading-row{margin:6px 0 10px!important;align-items:center!important}
#app .cb-v10-page .section-heading-row h2{font-size:17px!important}
#app .cb-v10-page .page-title{margin:15px 0 20px!important;padding:0 0 14px!important;border-bottom:1px solid #2a323b!important}
#app .cb-v10-page .page-title h1{margin:4px 0 9px!important}
#app .cb-v10-page .page-title .muted{max-width:48ch;font-size:13px;line-height:1.55}
#app .cb-v10-page .page-head{margin:12px 0 18px!important;gap:12px!important;align-items:center}
#app .cb-v10-page .page-head h1{margin:0!important}
#app .cb-v10-page .back-link{display:inline-flex!important;align-items:center;justify-content:flex-start;min-height:44px!important;padding:4px 0!important;margin:0 0 11px!important;background:transparent!important;border:0!important;color:#ff895d!important;-webkit-text-fill-color:#ff895d!important;box-shadow:none!important;font-size:12px!important;font-weight:800!important}
#app .cb-v10-page .back-button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:50%!important;border:1px solid #333b46!important;background:#151b22!important;color:#ff895d!important;-webkit-text-fill-color:#ff895d!important;box-shadow:none!important;font-size:28px!important}
#app .cb-v10-page :is(.card,.pantry-hero,.pantry-inventory,.pantry-builder,.fasting-panel,.planner-summary,.progress-forecast,.game-progress){
 background:#11161c!important;border:1px solid #29313b!important;box-shadow:none!important;border-radius:16px!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important
}
#app .cb-v10-page :is(.card,.fasting-panel,.planner-summary){padding:17px!important}
#app .cb-v10-page .dashboard-section{margin:16px 0 22px!important}
#app .cb-v10-page .dashboard-section .card{padding:2px 15px!important}
#app .cb-v10-page .mini-pill,
#app .cb-v10-page .pill,
#app .cb-v10-page .forecast-badge{
 background:#2a211e!important;color:#ffa076!important;-webkit-text-fill-color:#ffa076!important;
 border:1px solid #5d382b!important;border-radius:999px!important;font-weight:800!important;
}
#app .cb-v10-page .card + .card{margin-top:12px}
#app .cb-v10-page .row{gap:11px;min-width:0}
#app .cb-v10-page .row > *{min-width:0}
#app .cb-v10-page .bar,
#app .cb-v10-page .macro-track{background:#2a323d!important;border-radius:999px!important}
#app .cb-v10-page .bar i,
#app .cb-v10-page .macro-track i{background:#ff6339!important}
#app .cb-v10-page .macro-row{margin:9px 0!important}
#app .cb-v10-page .macro-copy{font-size:12px!important}
#app .cb-v10-page .macro-copy span{color:#9ea8b3!important;-webkit-text-fill-color:#9ea8b3!important}
#app .cb-v10-page .target-summary,
#app .cb-v10-page .planning-macros{gap:9px!important}
#app .cb-v10-page button:focus-visible,
#app .cb-v10-page summary:focus-visible{outline:2px solid #ff6339!important;outline-offset:3px!important}
#app .cb-v10-page button{
 -webkit-tap-highlight-color:transparent;
}
#app .cb-v10-page button:not(.menu-button):not(.theme-switch):not(.icon-button):not(.back-button):not(.back-link):not(.text-button):not(.pantry-primary):not(.pantry-secondary):not(.plan-action-card):not(.pantry-route):not(.swipe-delete button):not(.meal-row-v64):not(.pantry-edit-hit):not(.pantry-item):not(.weight-history-row){
 box-shadow:none!important;
}
#app .cb-v10-page :is(form button, .card > button:not(.text-button), .pantry-bulk-bar button, .planned-row button){
 border-radius:12px!important;
}
#app .cb-v10-page :is(form button:not(.secondary):not(.icon-button),.pantry-builder > button,#suggestMealsBtn){
 background:#ff6339!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
 border:1px solid #ff6339!important;font-weight:820!important;
}
#app .cb-v10-page button.secondary{background:#1d242d!important;border:1px solid #34404c!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;box-shadow:none!important}
#app .cb-v10-page :is(.text-button,.section-heading-row button,.pantry-edit-toggle){
 background:transparent!important;color:#ff8255!important;-webkit-text-fill-color:#ff8255!important;
 border:0!important;box-shadow:none!important;font-weight:800!important;
}
#app .cb-v10-page button:disabled{opacity:.45!important;cursor:not-allowed}
#app .cb-v10-page :is(input,textarea,select){
 color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;
 background:#101720!important;border:1px solid #3a4551!important;border-radius:10px!important;
 min-height:43px;box-shadow:none!important;max-width:100%;
}
#app .cb-v10-page :is(input,textarea,select):focus{border-color:#ff6339!important;outline:2px solid rgba(255,99,57,.15)!important}
#app .cb-v10-page :is(input,textarea,select)::placeholder{color:#748393!important;-webkit-text-fill-color:#748393!important}
#app .cb-v10-page :is(input:read-only,input:disabled,select:disabled){opacity:.65!important}
#app .cb-v10-page label{color:#cbd3da!important;-webkit-text-fill-color:#cbd3da!important;font-size:12px!important;font-weight:730!important}
#app .cb-v10-page :is(.goal-note,.pantry-footnote,.forecast-explain){color:#9ea8b3!important;-webkit-text-fill-color:#9ea8b3!important;line-height:1.55}
#app .cb-v10-page .theme-switch{border-radius:999px}
#app .cb-v10-page .theme-slider{background:#3a434d!important}
#app .cb-v10-page .theme-switch input:checked+.theme-slider{background:#ff6339!important}
@media (min-width:620px){
 #app .cb-v10-page{padding-bottom:20px}
}


/* Approved masthead on every functional page — no duplicate logo art. */
#app .cb-v10-page .cb-v10-brand{display:flex!important;align-items:center!important;gap:10px!important;padding:10px 0 14px!important;margin:0 0 15px!important;border-bottom:1px solid #29313b!important;background:transparent!important;min-height:60px!important}
#app .cb-v10-page .cb-v10-brand .brandmark{display:flex!important;align-items:center!important;gap:0!important;min-width:0!important}
#app .cb-v10-page .cb-v10-brand .brand-bomb-icon{display:none!important}
#app .cb-v10-page .cb-v10-wordmark{display:inline-block!important;font-style:italic!important;font-size:clamp(19px,5.1vw,26px)!important;font-weight:950!important;letter-spacing:-.075em!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;line-height:1!important;white-space:nowrap!important}
#app .cb-v10-page .cb-v10-wordmark span{margin-left:4px;color:#ff6339!important;-webkit-text-fill-color:#ff6339!important}
#app .cb-v10-page .cb-v10-brand .tag{display:none!important}
#app .cb-v10-page .cb-v10-brand .brand-actions{display:flex!important;align-items:center!important;gap:7px!important;margin-left:auto!important;flex-shrink:0!important}
#app .cb-v10-page .cb-v10-brand .header-score{gap:5px!important}
#app .cb-v10-page .cb-v10-brand .header-score span{background:transparent!important;border:0!important;padding:0 3px!important;color:#a9b3bd!important;-webkit-text-fill-color:#a9b3bd!important;font-size:10px!important}
#app .cb-v10-page .cb-v10-brand .header-score span:nth-child(2){display:none!important}
#app .cb-v10-page .cb-v10-brand .menu-button{display:flex!important;border:1px solid #39434d!important;background:#121920!important;width:43px!important;height:43px!important;min-height:43px!important;padding:9px!important;border-radius:13px!important;box-shadow:none!important}
#app .cb-v10-page .cb-v10-brand .menu-button span{background:#ff6339!important}

/* History — thin editorial dividers rather than stacks of blue cards. */
#app .cb-route-history>h1{border-bottom:1px solid #29313b!important;padding-bottom:17px!important;margin:13px 0 19px!important}
#app .cb-route-history .dashboard-section{margin:0 0 26px!important}
#app .cb-route-history .dashboard-section>.card{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:6px 0 0!important}
#app .cb-route-history :is(.v9-daily-row,.v9-history-workout,.meal){
 display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important;
 padding:13px 2px!important;border:0!important;border-bottom:1px solid #252d36!important;margin:0!important;
 min-width:0!important;background:transparent!important;
}
#app .cb-route-history :is(.v9-daily-row,.v9-history-workout,.meal):last-child{border-bottom:0!important}
#app .cb-route-history :is(.v9-daily-row,.v9-history-workout) > div{min-width:0!important;flex:1 1 auto!important}
#app .cb-route-history :is(.v9-daily-row,.v9-history-workout) b{color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;font-size:14px!important;line-height:1.35!important;overflow-wrap:anywhere}
#app .cb-route-history :is(.v9-daily-row,.v9-history-workout) small{display:block!important;margin-top:3px!important;color:#9ea8b3!important;-webkit-text-fill-color:#9ea8b3!important;font-size:11px!important}
#app .cb-route-history :is(.v9-daily-row,.v9-history-workout) > strong{color:#ff925d!important;-webkit-text-fill-color:#ff925d!important;font-size:16px!important;white-space:nowrap!important;font-variant-numeric:tabular-nums}
#app .cb-route-history .workout-actions{display:flex!important;gap:8px!important;margin:9px 0 0!important}
#app .cb-route-history .workout-actions button{background:#1b222b!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;border:1px solid #39434d!important;border-radius:9px!important;font-size:11px!important;min-height:36px!important;padding:6px 12px!important}
#app .cb-route-history .workout-actions .workout-delete{color:#ffa49f!important;-webkit-text-fill-color:#ffa49f!important;border-color:#573737!important}
#app .cb-route-history .meal>.row{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important}
#app .cb-route-history .meal .row span{font-size:11px!important;color:#9ea8b3!important;-webkit-text-fill-color:#9ea8b3!important}
#app .cb-route-history .meal>div:last-child{font-size:12px!important;color:#ff9d73!important;-webkit-text-fill-color:#ff9d73!important;white-space:nowrap!important}
#app .cb-route-history .dashboard-section:last-of-type{margin-bottom:40px!important}

/* Progress: clean numerical stats, orange-defused accents and compact check-ins. */
#app .cb-route-progress .page-title{border-bottom:1px solid #29313b}
#app .cb-route-progress .progress-forecast{
 background:radial-gradient(ellipse at 100% 0%,rgba(255,99,57,.095),transparent 65%),#11161c!important;
 border-color:#3e3432!important;margin:0 0 15px!important;
}
#app .cb-route-progress .forecast-label{color:#ff9b70!important;-webkit-text-fill-color:#ff9b70!important;letter-spacing:.025em!important}
#app .cb-route-progress .forecast-date{font-size:clamp(28px,8vw,42px)!important;line-height:1.07!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;letter-spacing:-.06em!important}
#app .cb-route-progress .forecast-explain{font-size:12px!important}
#app .cb-route-progress .progress-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:11px 0!important}
#app .cb-route-progress .progress-grid .card{padding:16px!important;min-width:0!important;border-radius:16px!important;background:#11161c!important}
#app .cb-route-progress .progress-stat-title{display:flex;align-items:center;gap:5px;min-height:30px}
#app .cb-route-progress .stat-label{font-size:11px!important;color:#a4acb7!important;-webkit-text-fill-color:#a4acb7!important}
#app .cb-route-progress .stat-big{font-size:clamp(29px,7vw,42px)!important;font-weight:900!important;letter-spacing:-.06em!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;overflow-wrap:anywhere}
#app .cb-route-progress .stat-big small{font-size:13px!important;font-weight:650!important;color:#9ea8b3!important;-webkit-text-fill-color:#9ea8b3!important}
#app .cb-route-progress .progress-grid .muted{font-size:11px!important;line-height:1.48!important}
#app .cb-route-progress .game-progress{background:#11161c!important;margin:14px 0!important}
#app .cb-route-progress .game-progress .week-score b{color:#ff6339!important;-webkit-text-fill-color:#ff6339!important;font-size:27px!important}
#app .cb-route-progress .round-dot{background:#2a323d!important;border:1px solid #3a4754!important}
#app .cb-route-progress .round-dot.defused{background:#ff6339!important;border-color:#ff6339!important}
#app .cb-route-progress .round-dot.bombed{background:#7d3d36!important;border-color:#a95347!important}
#app .cb-route-progress .weight-history-list{margin:0!important}
#app .cb-route-progress .weight-history-row{padding:12px 0!important;border-bottom:1px solid #29313b!important}
#app .cb-route-progress .weight-history-row:last-child{border-bottom:0!important}
#app .cb-route-progress .weight-history-copy{color:#f1f3f5!important}
#app .cb-route-progress .weight-history-copy span{color:#a6b2be!important;-webkit-text-fill-color:#a6b2be!important;font-size:11px!important}
#app .cb-route-progress .weight-history-copy b{font-size:18px!important;font-weight:800!important}
#app .cb-route-progress .weight-history-empty{background:#202833!important;border:1px solid #36414c!important;color:#ff8052!important}

/* Progress check-in shortcut: compact enough for the two-column stat card. */
#app .cb-route-progress .progress-weight-edit{
 margin-left:auto!important;min-height:29px!important;padding:5px 8px!important;
 border-radius:9px!important;border:1px solid #46515c!important;
 background:#242b34!important;color:#ff986d!important;-webkit-text-fill-color:#ff986d!important;
 font-size:11px!important;font-weight:800!important;white-space:nowrap!important;
}

/* Goals: functional auto-target calculations, form sections and preview remain intact. */
#app .cb-route-settings>h1{padding-bottom:16px!important;margin:13px 0 19px!important;border-bottom:1px solid #29313b!important}
#app .cb-route-settings #goalForm{background:transparent!important;padding:0!important;border:0!important;border-radius:0!important}
#app .cb-route-settings #goalForm .form-section{padding:18px 0 15px!important;margin:0!important;border:0!important;border-top:1px solid #29313b!important;background:transparent!important}
#app .cb-route-settings #goalForm .form-section h3{color:#ffac81!important;-webkit-text-fill-color:#ffac81!important;margin:0 0 13px!important}
#app .cb-route-settings #goalForm .settings-row.auto-target-row{padding:13px 0 18px!important;margin:0!important;border:0!important}
#app .cb-route-settings #goalForm .grid{gap:10px!important}
#app .cb-route-settings #goalForm .grid>div{min-width:0!important}
#app .cb-route-settings #goalForm label{display:block!important;margin-bottom:5px!important}
#app .cb-route-settings #goalForm :is(input,select){width:100%!important;max-width:100%!important;box-sizing:border-box!important}
#app .cb-route-settings #goalForm #goalEnginePreview{margin:11px 0 20px}
#app .cb-route-settings .goal-preview{background:#171e24!important;border:1px solid #36404c!important;border-radius:14px!important;color:#f1f3f5!important;padding:15px!important}
#app .cb-route-settings .goal-preview.caution{border-color:#80583d!important}
#app .cb-route-settings .goal-preview.incomplete{border-color:#484048!important}
#app .cb-route-settings .target-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
#app .cb-route-settings .target-summary>div{background:#202731!important;border:1px solid #333e49!important;border-radius:12px!important;min-width:0!important;padding:11px!important}
#app .cb-route-settings .target-summary span{color:#9ea8b3!important;-webkit-text-fill-color:#9ea8b3!important;font-size:11px!important}
#app .cb-route-settings .target-summary b{color:#ff9f6c!important;-webkit-text-fill-color:#ff9f6c!important;font-size:20px!important;font-weight:850!important}
#app .cb-route-settings #goalForm>button:last-child{margin-top:17px!important;min-height:52px!important;width:100%!important}

/* Today's individual meals view retains swipe-to-delete and edit. */
#app .cb-route-todayMeals>.card{margin:12px 0!important}
#app .cb-route-todayMeals>.card:first-of-type{background:#211e1d!important;border:1px solid #50362f!important}
#app .cb-route-todayMeals>.card:first-of-type b{font-size:24px!important;color:#ff9d72!important;-webkit-text-fill-color:#ff9d72!important}
#app .cb-route-todayMeals .swipe-meal{border-color:#27313a!important}
#app .cb-route-todayMeals .swipe-delete{background:#ad453e!important}
#app .cb-route-todayMeals .meal-row-v64{color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important}
#app .cb-route-todayMeals .meal-row-v64 .muted{color:#9ea8b3!important}


/* Pantry — orange illustrated scan CTA, neutral editable inventory and meal cards. */
#app .cb-route-pantry .pantry-title{margin-top:12px!important}
#app .cb-route-pantry .pantry-hero{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)!important;gap:10px!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;margin:4px 0 18px!important}
#app .cb-route-pantry .pantry-primary{display:flex!important;gap:12px!important;align-items:center!important;min-height:92px!important;padding:14px!important;background:#261c1a!important;border:1px solid #6d3828!important;border-radius:15px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important}
#app .cb-route-pantry .pantry-primary .qa-icon{color:#ff9f7b!important;background:#382621!important}
#app .cb-route-pantry .pantry-primary b{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:15px!important}
#app .cb-route-pantry .pantry-primary small{color:#f7bda9!important;-webkit-text-fill-color:#f7bda9!important;font-size:10px!important}
#app .cb-route-pantry .pantry-secondary{display:flex!important;align-items:center!important;justify-content:center!important;min-height:92px!important;padding:12px!important;background:#111820!important;border:1px solid #36414d!important;border-radius:15px!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;font-size:12px!important;font-weight:820!important;box-shadow:none!important}
#app .cb-route-pantry :is(.pantry-inventory,.pantry-builder){margin:0 0 17px!important;padding:17px!important}
#app .cb-route-pantry .pantry-section-title{margin-bottom:12px!important}
#app .cb-route-pantry .pantry-list{display:grid!important;gap:8px!important}
#app .cb-route-pantry .pantry-row{background:#19212a!important;border:1px solid #323d48!important;border-radius:12px!important;min-width:0!important;padding:10px!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important}
#app .cb-route-pantry :is(.pantry-edit-hit,.pantry-select-hit){color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important}
#app .cb-route-pantry .pantry-row small{color:#9ea8b3!important;-webkit-text-fill-color:#9ea8b3!important}
#app .cb-route-pantry .pantry-food-icon{background:#272821!important;color:#ff9c69!important}
#app .cb-route-pantry .pantry-check{accent-color:#ff6339!important}
#app .cb-route-pantry .pantry-bulk-delete{background:#462523!important;border:1px solid #874c48!important;color:#ffb0a9!important;-webkit-text-fill-color:#ffb0a9!important}
#app .cb-route-pantry .pantry-builder .section-title{display:flex!important;align-items:center!important}
#app .cb-route-pantry #suggestMealsBtn{min-height:46px!important;width:100%!important;margin:12px 0!important}
#app .cb-route-pantry .suggestion-list{display:grid!important;gap:12px!important}
#app .cb-route-pantry :is(.meal-suggestion,.meal-suggestion.best){border:1px solid #35414d!important;border-radius:14px!important;background:#171f28!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;box-shadow:none!important}
#app .cb-route-pantry .meal-suggestion.best{border-color:#8c492f!important;background:#211c1b!important}
#app .cb-route-pantry .meal-suggestion .suggestion-head{color:#f1f3f5!important}
#app .cb-route-pantry :is(.fit-note,.suggestion-macros){color:#a4acb7!important;-webkit-text-fill-color:#a4acb7!important}
#app .cb-route-pantry .suggestion-open{background:#ff6339!important;border:0!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#app .cb-route-pantry .pantry-footnote{margin:9px 0 26px!important}

/* Meal Planning and Fasting — consistent details and functional form. */
#app .cb-route-planner .fasting-panel{margin:0 0 13px!important;padding:18px!important}
#app .cb-route-planner .fasting-hero{display:flex!important;align-items:center!important;gap:15px!important;padding:13px!important;margin:8px 0 17px!important;background:#191e26!important;border:1px solid #333c46!important;border-radius:15px!important}
#app .cb-route-planner .fasting-clock{background:#31231f!important;border:1px solid #824a36!important;color:#ff9d71!important;-webkit-text-fill-color:#ff9d71!important;box-shadow:none!important;flex-shrink:0!important}
#app .cb-route-planner .fast-dynamic{color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;font-size:14px!important}
#app .cb-route-planner .fasting-hero span{color:#a8b2bb!important;-webkit-text-fill-color:#a8b2bb!important;font-size:12px!important}
#app .cb-route-planner .fasting-panel form{display:grid!important;gap:8px!important;min-width:0!important}
#app .cb-route-planner .fasting-panel form .grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;width:100%!important}
#app .cb-route-planner .fasting-panel .grid>div{min-width:0!important;width:100%!important}
#app .cb-route-planner .fasting-panel :is(input[type=time],select){width:100%!important;min-width:0!important;max-width:100%!important}
#app .cb-route-planner .fasting-panel form>button{margin-top:10px!important;min-height:46px!important}
#app .cb-route-planner .planner-summary{padding:18px!important;margin-bottom:14px!important;background:#1d1c1d!important;border-color:#52392f!important}
#app .cb-route-planner .planner-summary .section-title>span:last-child{color:#ff9c71!important;-webkit-text-fill-color:#ff9c71!important;font-weight:900!important}
#app .cb-route-planner .pantry-route{display:flex!important;align-items:center!important;gap:13px!important;background:#1d222a!important;border:1px solid #38424c!important;border-radius:15px!important;box-shadow:none!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;padding:14px!important;margin:14px 0!important}
#app .cb-route-planner .pantry-route .qa-icon{color:#ff895d!important;background:#322725!important}
#app .cb-route-planner .pantry-route small{color:#a1abb5!important;-webkit-text-fill-color:#a1abb5!important}
#app .cb-route-planner .planned-list{display:grid!important;gap:8px!important}
#app .cb-route-planner .planned-row{background:#19212a!important;border:1px solid #34404a!important;border-radius:12px!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;padding:11px!important;margin:0!important;min-width:0!important}
#app .cb-route-planner .planned-actions{gap:7px!important}
#app .cb-route-planner .planned-actions button{min-height:36px!important;padding:6px 9px!important}
#app .cb-route-planner .planned-row small{color:#a9b3bd!important;-webkit-text-fill-color:#a9b3bd!important}
@media(max-width:420px){
 #app .cb-route-pantry .pantry-hero{grid-template-columns:1fr!important}
 #app .cb-route-pantry .pantry-primary,#app .cb-route-pantry .pantry-secondary{min-height:70px!important}
 #app .cb-route-planner .fasting-panel form .grid{grid-template-columns:1fr!important}
 #app .cb-route-planner .fasting-panel form .grid>div{width:100%!important}
}

/* Popup analyzers, meal details and dialogs — preserve existing controls/JS. */
#app .cb-v10-page dialog,
#app .v10a-dashboard dialog,
#app .cb-v10-page .meal-detail-dialog,
#app .v10a-dashboard .meal-detail-dialog{
 color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;
 background:#141b23!important;border:1px solid #3b4652!important;
 border-radius:18px!important;box-shadow:0 24px 75px rgba(0,0,0,.60)!important;
}
#app :is(.cb-v10-page,.v10a-dashboard) dialog::backdrop{background:rgba(2,5,9,.78)!important;backdrop-filter:blur(5px)!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog :is(h2,h3,b,strong){color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog h2{font-size:22px!important;font-weight:900!important;letter-spacing:-.05em!important;margin:0 0 11px!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog .muted{color:#a0adba!important;-webkit-text-fill-color:#a0adba!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog label{font-size:12px!important;font-weight:760!important;color:#ced6dd!important;-webkit-text-fill-color:#ced6dd!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog :is(input,select,textarea){background:#0e151d!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;border:1px solid #3f4a57!important;border-radius:11px!important;max-width:100%!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog :is(input,select,textarea):focus{border-color:#ff6339!important;outline:2px solid rgba(255,99,57,.15)!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog button:not(.secondary):not(.photo-source):not(.dialog-x):not(.icon-button){background:#ff6339!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #ff6339!important;border-radius:11px!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog button.secondary{background:#24303b!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;border:1px solid #465460!important;border-radius:11px!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog :is(.photo-source,.defuse-card,.meal-suggestion){border-radius:13px!important;background:#1c252e!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;border:1px solid #3c4853!important;box-shadow:none!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog .photo-source-icon{color:#ff966b!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog :is(.analysis-total,.total-card,.defuse-card.best){background:#2b211e!important;border-color:#664235!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog .estimate-warning{background:#30241d!important;color:#ffd2b6!important;-webkit-text-fill-color:#ffd2b6!important;border-color:#674c32!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog .meal-detail-macros{color:#f0e9e4!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog .dialog-x{background:#1d2731!important;color:#e8e8ed!important;-webkit-text-fill-color:#e8e8ed!important;border:1px solid #47525e!important}
#app :is(.cb-v10-page,.v10a-dashboard) dialog :is(.goal-note,.photo-choice-note,.photo-note){color:#a9b4bf!important;-webkit-text-fill-color:#a9b4bf!important}
#app :is(.cb-v10-page,.v10a-dashboard) #settingsMenuDlg .settings-head{border-bottom:1px solid #34414e!important;padding-bottom:13px!important;margin-bottom:13px!important}
#app :is(.cb-v10-page,.v10a-dashboard) #settingsMenuDlg .settings-section{border-color:#303c46!important}
#app :is(.cb-v10-page,.v10a-dashboard) #settingsMenuDlg .settings-actions>button:last-child{background:#342126!important;color:#ffaba6!important;-webkit-text-fill-color:#ffaba6!important;border-color:#6c3f40!important}


/* Exactly the approved dashboard's five-position bottom navigation on every page. */
body:has(#app .cb-v10-page) #mainNav{
 position:fixed!important;z-index:30!important;bottom:0!important;left:50%!important;right:auto!important;
 transform:translateX(-50%)!important;width:min(100%,620px)!important;max-width:620px!important;
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:center!important;
 height:calc(62px + env(safe-area-inset-bottom))!important;min-height:calc(62px + env(safe-area-inset-bottom))!important;max-height:none!important;
 padding:3px max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left))!important;
 background:rgba(8,11,15,.98)!important;border-top:1px solid #2a323b!important;
 box-shadow:none!important;-webkit-backdrop-filter:blur(17px)!important;backdrop-filter:blur(17px)!important;
}
body:has(#app .cb-v10-page) #mainNav[hidden]{display:none!important}
body:has(#app .cb-v10-page) #mainNav button{
 display:grid!important;justify-items:center!important;align-content:center!important;gap:3px!important;
 min-height:50px!important;height:50px!important;width:100%!important;min-width:0!important;
 margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;
 background:transparent!important;color:#a4adb8!important;-webkit-text-fill-color:#a4adb8!important;
 font-size:12px!important;line-height:1.1!important;font-weight:650!important;
}
body:has(#app .cb-v10-page) #mainNav button.active{color:#ff6339!important;-webkit-text-fill-color:#ff6339!important}
body:has(#app .cb-v10-page) #mainNav .nav-icon{
 display:grid!important;place-items:center!important;height:29px!important;width:33px!important;
 color:currentColor!important;line-height:1!important;
}
body:has(#app .cb-v10-page) #mainNav .nav-icon img{max-width:31px;max-height:29px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) brightness(1.35);opacity:.72}
body:has(#app .cb-v10-page) #mainNav button.active .nav-icon img{filter:none;opacity:1}
body:has(#app .cb-v10-page) #mainNav .nav-icon svg{width:29px!important;height:29px!important;color:#a4adb8!important}
body:has(#app .cb-v10-page) #mainNav button.active .nav-icon svg{color:#ff6339!important}
body:has(#app .cb-v10-page) #mainNav .nav-plus{transform:none!important;align-self:center!important;gap:3px!important}
body:has(#app .cb-v10-page) #mainNav .nav-plus .nav-plus-circle{
 display:grid!important;place-items:center!important;width:45px!important;height:45px!important;border-radius:50%!important;
 background:#ff6339!important;color:#080b0f!important;-webkit-text-fill-color:#080b0f!important;
 font-size:30px!important;line-height:1!important;box-shadow:none!important;
}
body:has(#app .cb-v10-page) #mainNav .nav-plus>span:last-child{font-size:12px!important;color:#a4adb8!important;-webkit-text-fill-color:#a4adb8!important}

/* Secure sign-in uses matching brand and color while retaining Cloudflare challenge. */
body:has(#app .login-wrap) #app{max-width:620px!important;width:100%!important;padding:calc(30px + env(safe-area-inset-top)) 16px 30px!important;margin:0 auto!important}
#app .login-wrap{color:#f1f3f5!important}
#app .login-wrap .login-brand{display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;margin:0 0 25px!important}
#app .login-wrap .brandmark{align-items:center!important;gap:12px!important}
#app .login-wrap .brandmark>b,.login-wrap .brandmark b{
 color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;
 font-style:italic!important;font-weight:950!important;letter-spacing:-.055em!important;font-size:clamp(23px,6vw,33px)!important;
}
#app .login-wrap .brandmark .bomb{background:#ff6339!important;color:#080b0f!important;-webkit-text-fill-color:#080b0f!important;border-radius:50%!important}
#app .login-wrap .tag{color:#aeb8c3!important;-webkit-text-fill-color:#aeb8c3!important;text-align:left!important}
#app .login-wrap .login-card{background:#11161c!important;border:1px solid #29313b!important;border-radius:19px!important;box-shadow:none!important;padding:22px!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important}
#app .login-wrap .login-card h2{color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;font-size:27px!important;letter-spacing:-.055em!important;font-weight:900!important}
#app .login-wrap .login-card .muted{color:#9ea8b3!important;-webkit-text-fill-color:#9ea8b3!important;font-size:12px!important}
#app .login-wrap .login-card label{color:#cbd3dc!important;-webkit-text-fill-color:#cbd3dc!important;font-size:12px!important;font-weight:750!important}
#app .login-wrap .login-card input{background:#0e151c!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;border:1px solid #3b4652!important;max-width:100%!important;border-radius:11px!important}
#app .login-wrap .login-card input:focus{border-color:#ff6339!important;outline:2px solid rgba(255,99,57,.2)!important}
#app .login-wrap .login-card button:not(.secondary){background:#ff6339!important;border:1px solid #ff6339!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-radius:11px!important;font-weight:850!important;min-height:47px!important}
#app .login-wrap .login-card button.secondary{background:#202833!important;border:1px solid #3d4955!important;color:#f1f3f5!important;-webkit-text-fill-color:#f1f3f5!important;border-radius:11px!important}
#app .login-wrap .captcha-note{color:#a6b0b9!important;-webkit-text-fill-color:#a6b0b9!important}
#app .login-wrap .captcha-error{color:#ffe3d6!important;-webkit-text-fill-color:#ffe3d6!important;background:#2f1d1b!important;border-color:#783c32!important}
#app .login-wrap .login-card .error{color:#ffa08a!important;-webkit-text-fill-color:#ffa08a!important}

/* iPhone: comfortable wrapping, no horizontal page overflow. */
@media(max-width:390px){
 body:has(#app .cb-v10-page) #app{padding-left:14px!important;padding-right:14px!important}
 #app .cb-v10-page .cb-v10-wordmark{font-size:19px!important}
 #app .cb-v10-page .cb-v10-brand .header-score>span{font-size:10px!important}
 #app .cb-v10-page .progress-grid{gap:8px!important}
 #app .cb-v10-page .target-summary{gap:8px!important}
 #app .cb-v10-page .v9-daily-row>strong,#app .cb-v10-page .v9-history-workout>strong{font-size:13px!important}
 #app .cb-v10-page :is(.page-title,.card,.progress-grid,.pantry-hero,.pantry-inventory,.planned-list,.planner-summary){max-width:100%!important;min-width:0!important}
}
@media(prefers-reduced-motion:reduce){
 #app .cb-v10-page *{scroll-behavior:auto!important}
}

/* Dashboard Meal Builder shortcut scrolls to original native Pantry action. */
#app .cb-route-pantry .pantry-builder{scroll-margin-top:24px!important}
