/* Reversible release layer: only loaded while extended features are off. */
[hidden]{display:none!important}
button,input,select,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent,#7495ff);outline-offset:3px}
dialog{max-width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
dialog h2{padding-right:8px}dialog input:not([type=checkbox]):not([type=radio]),dialog select{min-height:44px;max-width:100%;min-width:0}
button,summary{min-height:44px}input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px}
#site-header .brand{font-size:25px;width:auto}#site-header .brand span{display:none}
#site-header .site-header-inner{gap:16px}#site-header .site-nav{order:0;width:auto}
#site-header .site-actions{width:auto;order:0;margin-left:auto}
#site-header .nav-link{min-height:44px;display:flex;align-items:center;font-size:14px}
.release-intro{margin:12px 0 20px;padding:16px;border:1px solid var(--line);border-radius:12px}
.release-intro p{margin:6px 0;max-width:70ch}.release-intro a{display:inline-flex;align-items:center;min-height:44px}
.release-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.release-choices button{text-align:left;padding:14px;white-space:normal}.release-choices small{display:block;color:var(--muted);margin-top:5px}
.release-list{display:grid;gap:8px;margin:12px 0}.release-list button{text-align:left;white-space:normal;padding:12px}
.release-list small{display:block;margin-top:5px}.release-dialog-back{margin:0 0 12px}
.release-inline-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.release-inline-fields label{min-width:0}.release-inline-fields input{width:100%}
.release-inline-product{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:8px}
.release-inline-product input{width:100%}
.release-feedback textarea{width:100%;min-height:130px}.release-feedback-actions{display:flex;gap:12px;flex-wrap:wrap}
#open-shopping,#add-custom-meal,.composition-fit,#product-fit-open,.meal-eaten-toggle,.goal-history-remove,#open-barcode,#add-category,.product-library-help{display:none!important}
.diary-day-toolbar{align-items:start}.day-state-panel{font-size:13px}.day-state-panel:not(.release-closed){display:none!important}
.mobile-nutrition-details{display:none!important}.daily-totals{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.diary-page #daily-totals>div{grid-column:auto;display:block}
.diary-page #daily-totals>div:not(:first-child) .goal-remaining{display:block;font-size:12px}
body:has(#site-header[data-track-salt=false]) .daily-totals>.salt-total{display:none!important}.daily-totals strong{overflow-wrap:anywhere}
.meal-empty{display:block}.release-day-help{margin:12px 0;color:var(--muted)}
.composition-budget{display:none}.composition-budget-inline{margin-top:12px}
#nutrition-mode{min-height:44px}.ingredient-check{min-width:44px;min-height:44px}
.diary-goal-settings,.ingredient-drag,#new-barcode-label,#manual-product-retention,#move-family-field{display:none!important}
#library-tags{display:none!important}
.eyebrow{display:none!important}.release-recipe-details{margin:14px 0}
.recipe-page .recipe-jumps a{min-height:44px;display:inline-flex;align-items:center}
.prepared-action-group{min-width:0}.batch-card{min-width:0}.batch-actions{flex-wrap:wrap}
@media(max-width:600px){
 #site-header{padding:0 12px}#site-header .site-header-inner{display:grid;grid-template-columns:1fr auto;gap:4px;padding:8px 0}
 #site-header .site-actions{grid-column:2;grid-row:1;margin:0;gap:4px}
 #site-header .brand{grid-column:1;grid-row:1;font-size:23px}
 #site-header .site-nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:100%}
 #site-header .site-nav .nav-link{justify-content:center;padding:8px 4px;font-size:14px}
 #site-header .account-menu>summary{max-width:130px;overflow-wrap:anywhere}
 .release-choices{grid-template-columns:1fr}.daily-totals{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .diary-page #daily-totals>div:first-child{grid-column:1/-1;display:grid}
 .day-heading{flex-wrap:wrap}#add-meal{width:100%;order:4}
 .release-inline-fields{grid-template-columns:1fr}.release-intro{padding:12px}
 .meal-entry{min-width:0}.entry-disclosure{min-width:0}.entry-title{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.release-weight-note{padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}
#cook-dialog.core-cook .cook-choice,#cook-dialog.core-cook .cook-extra,#cook-dialog.core-cook .cook-instructions{display:block}
#cook-dialog.core-cook .cook-choice{display:grid;gap:8px}

body:has(#site-header[data-track-salt=true]) .daily-totals{grid-template-columns:repeat(5,minmax(0,1fr))!important}
body:has(#site-header[data-track-salt=false]) .product-salt,body:has(#site-header[data-track-salt=false]) .salt-value,body:has(#site-header[data-track-salt=false]) label:has(#new-salt),body:has(#site-header[data-track-salt=false]) #new-salt-help,body:has(#site-header[data-track-salt=false]) label:has(#inline-salt),body:has(#site-header[data-track-salt=false]) label:has(#meal-salt),body:has(#site-header[data-track-salt=false]) #meal-salt-hint{display:none!important}
@media(max-width:600px){body:has(#site-header[data-track-salt=true]) .daily-totals{grid-template-columns:repeat(3,minmax(0,1fr))!important}body:has(#site-header[data-track-salt=true]) #daily-totals>.salt-total{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}}

body:has(#site-header[data-track-salt=false]) #new-product-form .product-calorie-field{grid-column:auto}

body:has(#site-header[data-track-fiber=false]) .product-fiber,body:has(#site-header[data-track-fiber=false]) .fiber-value,body:has(#site-header[data-track-fiber=false]) label:has(#new-fiber),body:has(#site-header[data-track-fiber=false]) #new-fiber-help,body:has(#site-header[data-track-fiber=false]) label:has(#inline-fiber),body:has(#site-header[data-track-fiber=false]) label:has(#meal-fiber),body:has(#site-header[data-track-fiber=false]) #meal-fiber-hint{display:none!important}
body:has(#site-header[data-track-fiber=true]) .daily-totals{grid-template-columns:repeat(5,minmax(0,1fr))!important}
body:has(#site-header[data-track-fiber=true][data-track-salt=true]) .daily-totals{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:600px){body:has(#site-header[data-track-fiber=true]) .daily-totals{grid-template-columns:repeat(3,minmax(0,1fr))!important}.diary-page #daily-totals>.fiber-total{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}}

body:has(#site-header[data-track-fiber=false]) label:has([data-key="fiber"]){display:none!important}

body:has(#site-header[data-track-fiber=true][data-track-salt=true]) #new-product-form .product-calorie-field{grid-column:auto}

/* Keep optional nutrients separate from the primary calorie/macronutrient panel. */
#main-content #daily-totals{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.daily-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.daily-extras>div{min-width:0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink)}
.daily-extras>div>span{display:block;font-size:14px;color:var(--muted)}
.daily-extras strong{display:block;font-size:24px;line-height:1.3;margin:10px 0;font-variant-numeric:tabular-nums}
.daily-extras strong small{font-size:14px;font-weight:400}
.daily-extras>div>small,.daily-extras .goal-remaining{display:block;font-size:13px;color:var(--muted);line-height:1.5}
.daily-extras .goal-progress{margin:12px 0 8px}
.daily-extras>div:only-child{grid-column:1/-1}
@media(max-width:600px){#main-content #daily-totals{grid-template-columns:repeat(3,minmax(0,1fr))!important}.daily-extras>div{padding:14px}.daily-extras strong{font-size:22px}}
@media(max-width:360px){.daily-extras{grid-template-columns:1fr}}

.release-quick-access{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.release-quick-access button{min-height:44px}.diary-page .composition-source-tabs{display:none!important}.release-list{max-height:240px;overflow:auto}#editor .editor-save-product:not([hidden]){display:flex!important}#editor .editor-mode-switch [hidden]{display:none!important}

.release-entry-name{margin:12px 0}.release-entry-name summary{min-height:44px;display:flex;align-items:center;cursor:pointer}

.editor-nutrient-source{overflow-wrap:anywhere}.release-inline-product summary{min-height:44px;cursor:pointer}

.release-meal-context{margin:8px 0 16px}.release-meal-context summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--muted)}

.diary-page input[type=hidden]{display:none!important}

.diary-page #meal-slot:empty{display:none!important}

/* Shared form rhythm: readable controls, compact help, reachable actions. */
dialog input[type=hidden]{display:none!important}
dialog form{min-width:0}
dialog .dialog-head{align-items:center;gap:12px;margin-bottom:16px}
dialog .dialog-head h2{margin:0;min-width:0;text-wrap:balance}
dialog .dialog-head button{flex:none;min-width:44px;min-height:44px}
dialog .dialog-actions{position:sticky;bottom:-1px;z-index:3;background:var(--surface);border-top:1px solid var(--line);padding:12px 0 4px;margin-top:16px;display:flex;gap:12px;flex-wrap:wrap}
dialog .dialog-actions .primary{flex:1;min-height:44px}
dialog [role=alert]:empty,dialog p:empty{display:none}
dialog :is(input,select,textarea,button,a,summary){scroll-margin-block:80px}
body:has(dialog[open]){overflow:hidden}
.profile-field.release-toggle-field{display:block}
.profile-field.release-toggle-field>label{display:flex;align-items:center;gap:12px;min-height:44px;margin:0;cursor:pointer}
.profile-field.release-toggle-field input[type=checkbox]{width:24px;height:24px;flex:0 0 24px;margin:0;padding:0;order:0;accent-color:var(--accent)}
.profile-field.release-toggle-field>p{margin:4px 0 0 36px}
.release-meal-context{margin:0 0 12px}
.release-meal-context summary::after,.release-entry-name summary::after{content:'⌄';margin-left:auto;padding-left:8px}
.release-meal-context[open] summary::after,.release-entry-name[open] summary::after{content:'⌃'}
#meal-dialog .composition-picker{padding:0;background:transparent;border:0;border-radius:0;margin:0}
#meal-dialog #composition-search-help{margin:4px 0 10px}
.release-search-help{margin:8px 0;color:var(--muted);font-size:13px}
.release-search-help summary{display:flex;align-items:center;cursor:pointer;min-height:44px}
.release-search-help summary::before{content:'▸';margin-right:8px}
.release-search-help[open] summary::before{content:'▾'}
.release-quick-access{gap:6px;margin:10px 0}
#meal-dialog .release-quick-access button{border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:8px 10px;white-space:normal;font-size:13px}
#meal-dialog .release-list{max-height:180px;margin:8px 0;gap:4px}
#meal-dialog .release-list button{border:1px solid var(--line);border-radius:8px;padding:10px 12px}
#meal-dialog .release-inline-product{padding:0 12px;margin:12px 0}
#meal-dialog .release-inline-product[open]{padding-bottom:12px}
#meal-dialog .composition-heading{margin-top:16px}
#meal-dialog .composition-result-list button{white-space:normal;text-align:left;max-width:100%}
#editor #recipe-draft-status{font-size:13px;gap:8px;margin:0 0 8px}
#editor #recipe-draft-status button{font-size:13px;padding:8px}
#editor .ingredient-row{padding:14px}
#editor .editor-food-summary{margin:8px 0}
#editor .editor-product-details-toggle{padding:8px 0;text-align:left}
@media(max-width:600px){
 dialog{box-sizing:border-box;width:calc(100vw - 16px);max-width:calc(100vw - 16px);padding:16px;max-height:calc(100dvh - 16px)}
 dialog :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}
 #meal-dialog .release-quick-access{display:grid;grid-template-columns:1fr 1fr}
 #meal-dialog .release-quick-access button:last-child{grid-column:1/-1}
 #main-content #daily-totals{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #editor #recipe-draft-status{display:flex;flex-wrap:wrap;align-items:center}
 #editor #recipe-draft-status p{margin:0}
}

/* One keyboard focus indicator, without legacy inset shadows. */
dialog :is(input,select,textarea):focus-visible{box-shadow:none;outline:2px solid var(--accent);outline-offset:2px}
