.legal-agreement{box-sizing:border-box;overflow-wrap:anywhere;max-width:760px;margin:16px auto}.legal-agreement form{gap:16px;margin-top:16px;display:grid}.legal-agreement label{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;display:flex}.legal-agreement input{flex:0 0 22px;width:22px;height:22px;margin:2px 0 0}.legal-agreement label small{color:var(--muted);display:block}.legal-agreement p{margin-block:12px}.legal-agreement a{text-decoration:underline}.legal-agreement button{white-space:normal;max-width:100%}.legal-archive{overflow-wrap:anywhere;margin-block:16px}
.dialog.dialog-shell{max-height:calc(var(--dialog-viewport-height,100dvh) - 40px);border-color:var(--border);overflow:hidden}.dialog.dialog-shell .dialog-inner{max-height:inherit;flex-direction:column;min-height:0;padding:0;display:flex}.dialog.dialog-shell .dialog-header{border-bottom:1px solid var(--border);background:var(--paper);flex:none;gap:12px;margin:0;padding:16px 27px}.dialog.dialog-shell .dialog-header h2{overflow-wrap:anywhere;min-width:0;line-height:1.3}.dialog.dialog-shell .dialog-header h2.dialog-title-with-icon{align-items:center;gap:10px;display:flex}.dialog-title-icon{color:var(--green);flex:none;display:inline-flex}.dialog.dialog-shell .dialog-header h2:focus-visible{outline:3px solid var(--focus-ring,#70a884);outline-offset:4px;border-radius:2px}.dialog.dialog-shell .dialog-header .icon-button{flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;position:static}.dialog-content{overscroll-behavior:contain;min-height:0;padding:20px 27px 27px;scroll-padding-block:16px;overflow-y:auto}.dialog-content>*{min-width:0}.dialog-drag-handle{display:none}.dialog.dialog-shell.pantry-dialog .dialog-content{flex:1;display:flex;overflow:hidden;container:pantry-dialog/size}@container pantry-dialog (max-height:460px){.dialog.pantry-dialog .pantry-editor-refined{overscroll-behavior:contain;margin:-4px;padding:4px;scroll-padding-block:8px;overflow:hidden auto}.dialog.pantry-dialog .pantry-editor-refined .pantry-editor-list{flex:none;min-height:96px;max-height:240px;margin-right:0;scroll-padding-block:8px}.dialog.pantry-dialog .pantry-editor-footer .pantry-save-note{display:none}.dialog.pantry-dialog .pantry-editor-footer{padding-top:6px}}.dialog.dialog-shell.pantry-dialog .dialog-inner{height:100%}.dialog.dialog-shell.account-dialog:has(.auth-confirmation) .dialog-header h2{display:block}.dialog.dialog-shell .replacement-portion,.dialog.dialog-shell .portion-switch{flex-wrap:wrap}.dialog.dialog-shell.replacement-dialog{height:min(900px, calc(var(--dialog-viewport-height,100dvh) - 40px))}.dialog.dialog-shell.replacement-dialog .dialog-inner{height:100%}.dialog.dialog-shell.replacement-dialog .dialog-content{flex:1;display:flex;overflow:hidden}.replacement-picker{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.replacement-picker>*{flex:none}.dialog.dialog-shell.replacement-dialog .replacement-picker>p{margin:0;line-height:1.5}.replacement-picker>:is(.feature-notice,.replacement-current){padding:8px 12px}.replacement-picker>.search-field{min-height:46px;margin:0;padding-block:0}.replacement-picker>.search-field input{min-height:44px}.replacement-picker .replacement-options{overscroll-behavior:contain;flex:1;min-height:0;max-height:none;margin-top:0;padding:3px;scroll-padding-block:4px;overflow-y:auto}.replacement-picker .replacement-options>*{flex-shrink:0}.dialog.dialog-shell.replacement-dialog .replacement-confirm{margin-top:0;position:static}@media (max-width:700px){.dialog.dialog-shell{inset:auto 0 var(--dialog-viewport-bottom,0px);width:100%;max-width:100%;max-height:calc(var(--dialog-viewport-height,100dvh) - 12px);transform:translateY(var(--sheet-drag-offset,0px));border-radius:18px 18px 0 0;margin:0 auto;transition:transform .18s cubic-bezier(.2,.8,.2,1);animation:.18s cubic-bezier(.2,.8,.2,1) dialog-sheet-in;position:fixed}.dialog.dialog-shell[data-sheet-interacted]{animation:none}.dialog.dialog-shell[data-dragging]{transition:none}.dialog.dialog-shell[data-sheet-closing]{pointer-events:none;animation:.18s ease-in forwards dialog-sheet-out}.dialog.dialog-shell .dialog-header:has(.dialog-drag-handle){touch-action:none;-webkit-user-select:none;user-select:none;padding-top:28px;position:relative}.dialog.dialog-shell .dialog-drag-handle{border-radius:inherit;width:100%;height:28px;min-height:0;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;inset:0 0 auto}.dialog.dialog-shell .dialog-drag-handle:active{cursor:grabbing}.dialog-drag-handle span{opacity:.5;background:currentColor;border-radius:4px;width:40px;height:4px}.dialog.dialog-shell .dialog-drag-handle:focus-visible{outline:3px solid var(--focus-ring,#70a884);outline-offset:-4px}.dialog.dialog-shell .dialog-header{padding:12px max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left))}.dialog.dialog-shell.replacement-dialog{height:calc(var(--dialog-viewport-height,100dvh) - 12px)}.dialog.dialog-shell .dialog-header h2{font-size:1.25rem}.dialog.dialog-shell .dialog-content{padding:16px max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.dialog.dialog-shell :is(input,textarea,select){font-size:16px}.dialog.dialog-shell :is(input:not([type=checkbox]):not([type=radio]),.dropdown-control,.portion-switch button){min-height:44px}.dialog.dialog-shell .dialog-actions{grid-template-columns:minmax(0,1fr);display:grid}.dialog.dialog-shell .dialog-actions .button{white-space:normal;width:100%;margin:0}.dialog.dialog-shell .button{white-space:normal;overflow-wrap:anywhere}.dialog.dialog-shell.account-dialog .button{margin:0}.dialog.dialog-shell.account-dialog .dialog-content>.button,.dialog.dialog-shell.account-dialog .account-panel>.button{width:100%;margin-top:12px;display:flex}.dialog.dialog-shell.account-dialog .account-panel>.text-button{min-height:44px;margin:8px 0 0;display:block}.dialog.dialog-shell .conflict-choices section{flex-direction:column;gap:12px;display:flex}.dialog.dialog-shell .auth-links .text-button{min-height:44px}.dialog.dialog-shell .auth-links{gap:12px}.dialog.dialog-shell .replacement-confirm{padding:12px 16px max(20px, env(safe-area-inset-bottom));margin:16px -16px -20px;bottom:-20px}.dialog.dialog-shell .replacement-confirm .button{width:100%}.dialog.dialog-shell .manual-recipes{overscroll-behavior:contain;max-height:min(320px,35dvh)}.dialog.dialog-shell .history-list{overscroll-behavior:contain}.dialog.dialog-shell .plan-creation-actions{z-index:2;padding:12px 16px max(20px, env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--border);margin:0 -16px -20px;position:sticky;bottom:-20px}}@keyframes dialog-sheet-in{0%{transform:translateY(100dvh)}to{transform:translateY(0)}}@keyframes dialog-sheet-out{0%{transform:translateY(var(--sheet-drag-offset,0px))}to{transform:translateY(var(--sheet-exit-distance,100dvh))}}@media (prefers-reduced-motion:reduce){.dialog.dialog-shell{transition:none;animation:none}}@media (max-width:700px) and (max-height:700px){.dialog.dialog-shell.replacement-dialog .dialog-header{padding-block:8px}.dialog.dialog-shell.replacement-dialog .dialog-content{padding-top:8px}.replacement-picker{gap:6px}.dialog.dialog-shell.replacement-dialog .replacement-picker>p{font-size:.75rem;line-height:1.4}.replacement-picker>.feature-notice{padding-block:6px}.dialog.dialog-shell.replacement-dialog .replacement-confirm{padding-top:8px;padding-bottom:max(12px, env(safe-area-inset-bottom))}.replacement-picker :is(.replacement-portion,.replacement-preview){margin-bottom:8px}}@media (max-width:499px){.dialog.dialog-shell.pantry-dialog{top:var(--dialog-viewport-top,0px);height:var(--dialog-viewport-height,100dvh);max-height:var(--dialog-viewport-height,100dvh);border:0;border-radius:0;bottom:auto}.dialog.dialog-shell.pantry-dialog .dialog-header{padding-top:max(8px, env(safe-area-inset-top));padding-bottom:8px}.dialog.dialog-shell.pantry-dialog .dialog-content{padding-top:8px;padding-bottom:max(8px, env(safe-area-inset-bottom))}}
.service-terms-links{color:var(--muted);font-size:var(--text-small);overflow-wrap:anywhere;margin:12px 0;line-height:1.6}.service-terms-links a{color:var(--green);text-underline-offset:3px;text-decoration:underline}.service-terms-links a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.plan-signup-complete{background:var(--sage);color:var(--green);font-size:var(--text-small);border-radius:12px;align-items:center;gap:10px;margin:0 0 10px;padding:10px 14px;font-weight:600;display:flex}.plan-signup-summary{border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:6px 14px 10px}.plan-signup-summary-heading{color:var(--muted);font-size:var(--text-small);justify-content:space-between;align-items:center;gap:10px;display:flex}.plan-signup-summary-heading .text-button{min-height:44px;font-size:var(--text-small);text-underline-offset:3px;flex-shrink:0;text-decoration:underline}.plan-signup-summary p{font-size:var(--text-small);overflow-wrap:anywhere;margin:0;font-weight:600}.auth-form.plan-signup>.muted{margin:0 0 12px}.plan-signup .auth-provider{margin-top:0}.plan-signup .auth-provider .muted{margin:14px 0}.plan-signup form{gap:12px}.plan-signup label{gap:6px}.plan-signup-free{color:var(--muted);font-size:var(--text-small);text-align:center;margin:6px 0 0}.plan-signup .auth-signup-actions{margin-top:8px}.plan-signup .auth-signup-actions p{margin:0}.plan-signup .service-terms-compact{text-align:center;margin:12px 0 0}.plan-signup-dialog .dialog-content{padding-top:16px}
