.rolling-total-value{display:inline-flex;vertical-align:bottom;letter-spacing:0;font-variant-numeric:tabular-nums}
.rolling-total-value[data-rolling]{display:inline-flex;vertical-align:bottom;letter-spacing:0}
.total-digit,.rolling-digit{display:inline-block;width:1ch;height:1.1em;line-height:1.1;overflow:hidden;vertical-align:bottom;flex:none}
.rolling-track,.rolling-row{display:block}.rolling-track{will-change:transform}.rolling-row{height:1.1em;line-height:1.1}
.feedback-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.rolling-track{transform:none!important;will-change:auto}}

/* Keep the real save button accessible; only touch/pointer taps use the label. */
.ios-save-haptic{position:relative;display:grid;isolation:isolate}
.ios-save-haptic>:is(button,a){width:100%}
:is(.confirm-actions,.setup-actions)>.ios-save-haptic{flex:1;min-width:0}
.meal-idea>.ios-save-haptic>.plain-link{padding-left:0}
@media(max-width:480px){:is(.confirm-actions,.setup-actions)>.ios-save-haptic{flex:none;width:100%}}
.ios-save-haptic-label{position:absolute;inset:0;z-index:1;display:block;margin:0;padding:0;border-radius:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ios-save-haptic-label[hidden]{display:none}
.ios-save-haptic-label>input{position:absolute;width:1px;height:1px;margin:0;visibility:hidden;appearance:auto;-webkit-appearance:auto}
@media(prefers-reduced-motion:reduce){.ios-save-haptic-label{display:none}}

.sidebar .nav>.ios-save-haptic{min-width:0}

.loading-date-tabs>.ios-save-haptic{min-width:0}
@media(max-width:700px){.loading-date-tabs>.ios-save-haptic:last-child:nth-child(3){grid-column:1/-1!important}}

.diary-meal-tabs>.ios-save-haptic{min-width:0}
