@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";@import"https://cdn-uicons.flaticon.com/3.0.0/uicons-solid-rounded/css/uicons-solid-rounded.css";@import"https://cdn-uicons.flaticon.com/3.0.0/uicons-bold-rounded/css/uicons-bold-rounded.css";@import"https://cdn-uicons.flaticon.com/3.0.0/uicons-regular-rounded/css/uicons-regular-rounded.css";.fm-recipe-favorite-toggle,.fm-recipe-favorite-indicator{color:var(--fm-brand)!important}.fm-recipe-favorite-toggle:not(.is-favorite){color:var(--fm-ink-soft)!important}.fm-recipe-favorite-toggle.is-favorite{color:var(--fm-brand)!important;border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 48%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 88%)}.fm-recipe-favorite-toggle.is-bare{min-width:auto!important;min-height:auto!important;width:auto!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.fm-recipe-favorite-toggle:disabled{opacity:.6;cursor:pointer!important}.fm-recipe-favorite-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;line-height:1}.fm-recipe-visibility-sheet{display:grid;gap:10px}.fm-share-target-list{display:grid;gap:8px;max-height:min(42vh,360px);overflow:auto}.fm-share-target-item{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%);padding:8px 10px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.fm-share-target-item input[type=checkbox]{width:18px;height:18px;margin:0;transform:translateY(1px);accent-color:var(--fm-brand)}.fm-share-target-item span{min-width:0;display:grid;gap:2px}.fm-share-target-item small,.fm-recipe-meta-hint{color:var(--fm-ink-soft)}.fm-recipe-sheet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-recipe-field{min-width:0;display:grid;gap:6px}.fm-recipe-field .sheet-textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.fm-welcome-modal-backdrop{position:fixed;inset:0;z-index:1100;background:#0f131e8c;display:flex;align-items:center;justify-content:center;padding:20px}.fm-welcome-modal-card{background:var(--fm-surface);border:1px solid var(--fm-line);border-radius:20px;box-shadow:var(--fm-shadow-pop);width:100%;max-width:420px;padding:32px 28px 24px;display:grid;gap:0;overflow:hidden}.fm-welcome-modal-slide-wrap{min-height:200px;display:grid;align-content:center}.fm-welcome-modal-slide{display:grid;gap:10px;text-align:center}.fm-welcome-modal-icon{font-size:2.8rem;line-height:1;margin-bottom:4px}.fm-welcome-modal-title{margin:0;font-family:var(--fm-font-head);font-size:1.3rem;font-weight:700;letter-spacing:-.03em;color:var(--fm-ink)}.fm-welcome-modal-desc{margin:0 auto;font-size:.88rem;color:var(--fm-ink-soft);line-height:1.6;max-width:340px}.fm-welcome-modal-dots{display:flex;gap:6px;justify-content:center;margin:20px 0 16px}.fm-welcome-modal-dot{width:8px;height:8px;border-radius:50%;background:var(--fm-line);transition:width .2s ease,background-color .2s ease,border-radius .2s ease}.fm-welcome-modal-dot.is-active{background:var(--fm-brand);width:20px;border-radius:4px}.fm-welcome-modal-actions{display:flex;flex-direction:column;gap:8px}.fm-welcome-modal-btn-main{appearance:none;border:none;border-radius:12px;background:var(--fm-brand);color:#fff;min-height:46px;font-family:var(--fm-font-body);font-size:.9rem;font-weight:700;cursor:pointer;width:100%;box-shadow:0 4px 14px #fa5a2c47;transition:opacity .12s ease,transform 80ms ease}.fm-welcome-modal-btn-main:hover{opacity:.92}.fm-welcome-modal-btn-main:active{transform:translateY(1px)}.fm-welcome-modal-btn-skip{appearance:none;border:none;background:transparent;color:var(--fm-ink-soft);font-family:var(--fm-font-body);font-size:.82rem;font-weight:600;cursor:pointer;padding:6px;transition:color .12s ease}.fm-welcome-modal-btn-skip:hover{color:var(--fm-ink)}.fm-welcome-backdrop-enter-active,.fm-welcome-backdrop-leave-active{transition:opacity .22s ease}.fm-welcome-backdrop-enter-from,.fm-welcome-backdrop-leave-to{opacity:0}.fm-tutorial-backdrop{position:fixed;inset:0;z-index:1000;pointer-events:all}.fm-tutorial-spotlight{position:fixed;border-radius:10px;box-shadow:0 0 0 4000px #0f131eb8;pointer-events:none;transition:top .3s cubic-bezier(.22,1,.36,1),left .3s cubic-bezier(.22,1,.36,1),width .3s cubic-bezier(.22,1,.36,1),height .3s cubic-bezier(.22,1,.36,1)}.fm-tutorial-sheet{position:fixed;bottom:0;left:0;right:0;z-index:1001;padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--fm-surface);border-top:1px solid var(--fm-line);box-shadow:0 -8px 28px #0f131e24;pointer-events:all}.fm-tutorial-sheet-handle{width:36px;height:4px;border-radius:999px;background:var(--fm-line);margin:0 auto 14px}.fm-tutorial-sheet-kicker{font-family:var(--fm-font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fm-brand);margin:0 0 4px}.fm-tutorial-sheet-title{font-family:var(--fm-font-head);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--fm-ink);margin:0 0 6px}.fm-tutorial-sheet-desc{font-size:.86rem;color:var(--fm-ink-soft);line-height:1.55;margin:0 0 16px}.fm-tutorial-sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-tutorial-sheet-nav{display:flex;gap:8px}.fm-tutorial-sheet-btn{appearance:none;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 14%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 12%);color:var(--fm-ink);min-height:38px;padding:0 14px;font-family:var(--fm-font-body);font-size:.82rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:border-color .12s ease,background-color .12s ease,transform 80ms ease}.fm-tutorial-sheet-btn:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 58%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 92%)}.fm-tutorial-sheet-btn:active{transform:translateY(1px)}.fm-tutorial-sheet-btn.is-primary{background:var(--fm-brand);color:#fff;border-color:transparent}.fm-tutorial-sheet-btn.is-primary:hover{opacity:.9;color:#fff;background:var(--fm-brand)}.fm-tutorial-sheet-btn.is-ghost{border-color:transparent;background:transparent;color:var(--fm-ink-soft)}.fm-tutorial-sheet-btn.is-ghost:hover{background:color-mix(in srgb,var(--fm-surface-2),transparent 40%);border-color:transparent;color:var(--fm-ink)}@media(min-width:851px){.fm-tutorial-sheet{left:var(--fm-desktop-sidebar-width, 185px);border-radius:16px 16px 0 0;padding:16px 24px 20px}}@media(min-width:851px){:root{--fm-font-body: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--fm-font-head: "Space Grotesk", "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--fm-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg: var(--fm-bg);--surface: var(--fm-surface);--surface-2: var(--fm-surface-2);--card: color-mix(in srgb, var(--fm-surface), transparent 4%);--card-2: color-mix(in srgb, var(--fm-surface-2), transparent 4%);--border: var(--fm-line);--border-2: color-mix(in srgb, var(--fm-line), var(--fm-ink) 20%);--text: var(--fm-ink);--muted: var(--fm-ink-soft);--muted-2: color-mix(in srgb, var(--fm-ink-soft), transparent 22%);--accent: var(--fm-brand);--accent-2: color-mix(in srgb, var(--fm-brand), white 30%);--danger: var(--fm-danger);--danger-bg: rgba(217, 74, 67, .14);--success: var(--fm-mint);--success-bg: rgba(57, 199, 138, .16);--fm-desktop-sidebar-width: 185px}}@media(min-width:851px){html,body{height:100%;margin:0;overflow:auto}#app{height:100%}body{font-family:var(--fm-font-body);background:radial-gradient(1200px 560px at 2% -12%,rgba(250,90,44,.14),transparent 62%),radial-gradient(1000px 540px at 100% -4%,rgba(57,199,138,.12),transparent 60%),linear-gradient(150deg,var(--fm-bg),var(--fm-bg-2));color:var(--fm-ink)}}@media(min-width:851px){.fm-desktop-shell{box-sizing:border-box;height:100vh;display:grid;grid-template-columns:var(--fm-desktop-sidebar-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;gap:10px;padding:14px;overflow:visible}.fm-desktop-sidebar{align-self:stretch;height:calc(100% - 35px);border:1px solid var(--fm-line);border-radius:16px;padding:16px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);box-shadow:0 8px 20px #10152214;display:grid;grid-template-rows:auto 1fr;gap:18px}.fm-desktop-brand{display:grid;cursor:default!important}.fm-desktop-brand p{margin:0;display:inline-flex;align-items:center;gap:8px;font-family:var(--fm-font-head);font-size:1.38rem;font-weight:700;letter-spacing:-.02em;color:#050505;text-shadow:-2px 0 #60a8ff,2px 0 #ffaf85}.fm-desktop-brand-icon{width:28px;height:28px;display:block;border-radius:4px;object-fit:cover}.fm-desktop-brand small{display:inline-block;margin:6px 0 0;color:var(--fm-ink-soft);font-family:var(--fm-font-mono);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase}.fm-desktop-nav{display:flex;flex-direction:column;gap:8px;min-height:0;height:100%}.fm-desktop-nav-main{display:grid;align-content:start;gap:8px}.fm-desktop-nav-item{min-height:42px;padding:0 12px;border-radius:12px;border:1px solid transparent;text-decoration:none;color:var(--fm-ink-soft);font-weight:700;display:inline-flex;align-items:center;gap:10px;transition:all .18s ease}.fm-desktop-nav-item:hover{border-color:var(--fm-line);background:color-mix(in srgb,var(--fm-surface-2),transparent 8%);color:var(--fm-ink)}.fm-desktop-nav-item.active{border-color:color-mix(in srgb,var(--fm-brand),transparent 56%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 84%);color:var(--fm-ink)}.fm-desktop-nav-dot{width:9px;height:9px;border-radius:999px;background:color-mix(in srgb,var(--fm-ink-soft),transparent 45%)}.fm-desktop-nav-item.active .fm-desktop-nav-dot{background:var(--fm-brand)}.fm-desktop-nav-item.is-admin-entry{margin-top:auto;min-height:38px;padding:10px 12px;position:relative;align-items:flex-start;justify-content:center;flex-direction:column;gap:2px;border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 52%);background:linear-gradient(135deg,color-mix(in srgb,var(--fm-brand),var(--fm-surface) 88%),var(--fm-surface)),color-mix(in srgb,var(--fm-surface-2),transparent 8%)}.fm-desktop-nav-item.is-admin-entry:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 34%);background:linear-gradient(135deg,color-mix(in srgb,var(--fm-brand),var(--fm-surface) 80%),var(--fm-surface)),color-mix(in srgb,var(--fm-surface-2),transparent 8%)}.fm-desktop-nav-item.is-admin-entry.active{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 18%);background:linear-gradient(135deg,color-mix(in srgb,var(--fm-brand),var(--fm-surface) 72%),var(--fm-surface)),color-mix(in srgb,var(--fm-brand),var(--fm-surface) 84%)}.fm-desktop-nav-admin-kicker{font-family:var(--fm-font-mono);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:var(--fm-ink-soft)}.fm-desktop-nav-admin-label{font-family:var(--fm-font-head);font-size:.92rem;line-height:1.15;color:var(--fm-ink)}.fm-desktop-nav-notification{position:absolute;aspect-ratio:1 / 1;top:-9px;right:-9px;min-width:22px;width:22px;max-width:22px;min-height:22px;height:22px;max-height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--fm-brand);color:#fff;font-family:var(--fm-font-mono);font-size:.65rem;line-height:1;letter-spacing:0;box-shadow:0 4px 10px #db3a3447}.fm-desktop-stage{min-width:0;display:grid;grid-template-rows:minmax(0,1fr);gap:0}.fm-desktop-main{height:100%;min-width:0;overflow:visible;padding:0}.fm-desktop-main>*{height:100%;min-width:0;min-height:0}}@media(min-width:851px){.fm-desktop-card{border:1px solid var(--fm-line);border-radius:18px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);box-shadow:0 6px 16px #10152212}.fm-desktop-shell .panel-section,.fm-desktop-shell .card,.fm-desktop-shell .shopping-group{border:1px solid var(--fm-line);border-radius:16px;background:color-mix(in srgb,var(--fm-surface),transparent 4%)}.fm-desktop-shell button,.fm-desktop-shell .btn,.fm-desktop-shell button.danger{appearance:none;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 14%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 12%);color:var(--fm-ink);cursor:pointer;min-height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--fm-font-body);font-size:.82rem;font-weight:700;text-decoration:none;transition:border-color .12s ease,background-color .12s ease,transform 80ms ease}.fm-desktop-shell button:hover,.fm-desktop-shell .btn:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 58%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 92%)}.fm-desktop-shell button:active,.fm-desktop-shell .btn:active{transform:translateY(1px)}.fm-desktop-shell button:disabled,.fm-desktop-shell .btn:disabled,.fm-desktop-shell button[disabled]{opacity:.55;cursor:not-allowed;transform:none}.fm-desktop-shell button.danger,.fm-desktop-shell .danger{border-color:color-mix(in srgb,var(--fm-danger),var(--fm-line) 34%);background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 88%);color:color-mix(in srgb,var(--fm-danger),var(--fm-ink) 20%)}.fm-desktop-shell .btn.icon-button,.fm-desktop-shell button.icon-button,.fm-desktop-shell button.mobile-icon-button,.fm-desktop-shell .recipes-head-back-btn,.fm-desktop-shell .fm-actions-trigger,.fm-desktop-shell .fm-icon-only,.fm-desktop-shell button.close{aspect-ratio:1 / 1;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:0!important;flex:0 0 38px!important;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:1.1rem}.fm-desktop-shell .btn.icon-button.small-btn,.fm-desktop-shell button.icon-button.small-btn,.fm-desktop-shell button.mobile-icon-button.small-btn,.fm-desktop-shell .recipes-head-back-btn.small-btn,.fm-desktop-shell .fm-actions-trigger.small-btn{width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important;flex-basis:32px!important;padding:0!important}.fm-desktop-shell .btn.icon-button>i,.fm-desktop-shell button.icon-button>i,.fm-desktop-shell button.mobile-icon-button>i,.fm-desktop-shell .recipes-head-back-btn>i,.fm-desktop-shell .fm-actions-trigger>i,.fm-desktop-shell .fm-icon-only>i{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1;vertical-align:middle}.fm-desktop-shell .btn.icon-button>i:before,.fm-desktop-shell button.icon-button>i:before,.fm-desktop-shell button.mobile-icon-button>i:before,.fm-desktop-shell .recipes-head-back-btn>i:before,.fm-desktop-shell .fm-actions-trigger>i:before,.fm-desktop-shell .fm-icon-only>i:before{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1;margin:0}.fm-desktop-shell .input,.fm-desktop-shell select,.fm-desktop-shell input[type=text],.fm-desktop-shell input[type=number],.fm-desktop-shell input[type=search]{border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 14%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 8%);color:var(--fm-ink);min-height:38px;padding:0 10px;font-family:var(--fm-font-body);font-size:.82rem}.fm-toast-host{position:fixed;top:calc(8px + env(safe-area-inset-top));right:8px;z-index:1700;display:grid;gap:8px}.fm-toast{width:min(300px,calc(100vw - 20px));border-radius:12px;border:1px solid var(--fm-line);background:var(--fm-surface);box-shadow:var(--fm-shadow-pop);padding:10px 12px;cursor:pointer}.fm-toast strong{display:block;font-size:.9rem;font-family:var(--fm-font-head)}.fm-toast p{margin:2px 0 0;color:var(--fm-ink);font-size:.82rem}.fm-toast-slide-enter-active,.fm-toast-slide-leave-active{transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .2s ease}.fm-toast-slide-move{transition:transform .22s ease}.fm-toast-slide-enter-from,.fm-toast-slide-leave-to{transform:translate(28px);opacity:0}.fm-toast-slide-enter-to,.fm-toast-slide-leave-from{transform:translate(0);opacity:1}.fm-toast.is-success{border-color:#39c78a61;background:color-mix(in srgb,rgb(57,199,138,.6),var(--fm-surface) 50%)}.fm-toast.is-error{border-color:#d94a4366;background:color-mix(in srgb,rgba(204,60,52,.35),var(--fm-surface) 50%);-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important}.fm-skeleton-wrap{display:grid;gap:8px}.fm-skeleton-row{display:flex;align-items:start;gap:8px}.fm-skeleton{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--fm-line),transparent 20%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%)}.fm-skeleton:after{content:"";position:absolute;inset:-1px;transform:translate(-110%);background:linear-gradient(105deg,transparent 0%,color-mix(in srgb,#fff,transparent 70%) 45%,transparent 80%);animation:fm-skeleton-shimmer 1.15s ease-in-out infinite;pointer-events:none}.fm-skeleton.line{height:12px!important;border-radius:999px}.fm-skeleton.block{height:42px!important;border-radius:12px}.fm-skeleton.card{height:78px!important;border-radius:14px}.fm-skeleton.is-short{width:34%!important}.fm-skeleton.is-medium{width:56%!important}.fm-skeleton.is-long{width:82%!important}.fm-skeleton.is-full{width:100%!important}@keyframes fm-skeleton-shimmer{to{transform:translate(120%)}}@media(prefers-reduced-motion:reduce){.fm-skeleton:after{animation:none;transform:translate(0);opacity:.35}}.fm-desktop-shell .fm-sheet-backdrop{position:fixed;inset:0;z-index:1680}.fm-desktop-shell .fm-food-request-modal{width:min(920px,calc(100vw - 48px));max-height:calc(100vh - 48px);border-radius:28px;padding:20px;position:relative;display:grid;gap:16px;overflow:auto}.fm-desktop-shell .fm-food-request-page{display:grid;gap:16px;min-height:0}.fm-desktop-shell .fm-food-request-head{position:relative;align-items:flex-start;justify-content:flex-start;margin:0;padding-right:52px}.fm-desktop-shell .fm-food-request-head .label{display:block;margin-bottom:4px}.fm-desktop-shell .fm-food-request-head>button{position:absolute;top:0;right:0}.fm-desktop-shell .fm-food-request-form{display:grid;gap:10px;min-height:0}.fm-desktop-shell .fm-food-request-page .panel-section{margin:0;padding:10px;border-radius:14px;display:grid;gap:8px;align-content:start}.fm-desktop-shell .fm-food-request-page .label{margin:0;color:var(--fm-ink-soft);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-shell .fm-food-request-page .input,.fm-desktop-shell .fm-food-request-page select.input,.fm-desktop-shell .fm-food-request-page input.input,.fm-desktop-shell .fm-food-request-page .fullwidth{width:100%!important;max-width:100%!important;box-sizing:border-box}.fm-desktop-shell .fm-food-request-page .food-inline-fields{display:grid;gap:8px}.fm-desktop-shell .fm-food-request-page .food-inline-fields>div,.fm-desktop-shell .fm-food-request-page .food-unit-place-row>div,.fm-desktop-shell .fm-food-request-page .food-macros-grid>div,.fm-desktop-shell .fm-food-request-page .food-options-grid>div{min-width:0;display:grid;gap:5px}.fm-desktop-shell .fm-food-request-page .food-unit-place-row{display:grid;grid-template-columns:minmax(92px,24%) minmax(0,1fr);gap:8px;align-items:end}.fm-desktop-shell .fm-food-request-page .food-inline-row{display:grid;grid-template-columns:minmax(0,min(50%,500px)) minmax(0,min(50%,500px));gap:10px;align-items:start}.fm-desktop-shell .fm-food-request-page .food-inline-row>.food-panel{min-width:0;display:grid;gap:8px}.fm-desktop-shell .fm-food-request-page .food-macros-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-desktop-shell .fm-food-request-page .food-grid-span-2{grid-column:1 / -1}.fm-desktop-shell .fm-food-request-page .food-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end}.fm-desktop-shell .fm-food-request-page .food-options-grid>.actions{grid-column:1 / -1;border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px}.fm-desktop-shell .fm-food-request-page .food-options-grid>.actions .label{margin:0;color:var(--fm-ink);font-size:.9rem;letter-spacing:0;text-transform:none;font-family:var(--fm-font-body)}.fm-desktop-shell .fm-food-request-page .food-options-grid>.actions input[type=checkbox],input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface);background-position:center;background-repeat:no-repeat;background-size:12px 12px}.fm-desktop-shell .fm-food-request-page .food-options-grid>.actions input[type=checkbox]:checked,input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}.fm-desktop-shell .fm-food-request-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.fm-desktop-shell .fm-sheet-backdrop.is-confirm{z-index:2147483600}.fm-desktop-shell .fm-sheet-backdrop.is-desktop-menu{background:transparent}.fm-desktop-shell .fm-sheet-backdrop:not(.is-desktop-menu){display:grid;place-items:center;padding:20px;background:#090a1280;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu{position:fixed;width:auto;max-height:95vh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--fm-line);border-radius:14px;background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 4%);box-shadow:var(--fm-shadow-pop);padding:8px 7px;display:grid;align-content:start;gap:0}.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu.has-anchor:after{content:"";position:absolute;width:10px;height:10px;left:var(--fm-sheet-arrow-x, 24px);background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 4%);border:1px solid var(--fm-line);transform:translate(-50%) rotate(45deg);pointer-events:none}.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu.is-placement-bottom:after{top:-6px;border-right:0;border-bottom:0}.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu.is-placement-top:after{bottom:-6px;border-left:0;border-top:0}.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu .fm-bottom-sheet-head,.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu .fm-bottom-sheet-handle{display:none}.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu .fm-bottom-sheet-head h3{margin:0;font-size:.9rem;line-height:1.2;color:var(--fm-ink-soft)}.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu .fm-bottom-sheet-body{margin:0;display:grid;gap:8px}.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu .sheet-actions{display:grid;gap:6px}.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu .sheet-actions .btn,.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu .sheet-actions .danger,.fm-desktop-shell .fm-bottom-sheet.is-desktop-menu .sheet-actions button{width:100%;min-height:34px;justify-content:flex-start;text-align:left}.fm-desktop-shell .fm-confirm-sheet{width:min(460px,calc(100vw - 36px));border:1px solid var(--fm-line);border-radius:18px;background:color-mix(in srgb,var(--fm-surface),transparent 2%);box-shadow:var(--fm-shadow-pop);padding:14px;display:grid;gap:10px;z-index:2000!important}.fm-desktop-shell .fm-confirm-sheet h3{margin:0;font-size:1.02rem;line-height:1.2}.fm-desktop-shell .fm-confirm-sheet p{margin:0;color:var(--fm-ink-soft);font-size:.88rem;line-height:1.35;white-space:pre-line}.fm-desktop-shell .fm-confirm-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.fm-desktop-shell .fm-confirm-actions .fm-btn,.fm-desktop-shell .fm-confirm-actions button{min-width:124px}.fm-sheet-fade-enter-active,.fm-sheet-fade-leave-active{transition:opacity .17s ease}.fm-sheet-fade-enter-active .fm-bottom-sheet.is-desktop-menu,.fm-sheet-fade-leave-active .fm-bottom-sheet.is-desktop-menu,.fm-sheet-fade-enter-active .fm-confirm-sheet,.fm-sheet-fade-leave-active .fm-confirm-sheet{transition:transform .2s cubic-bezier(.22,1,.36,1)}.fm-sheet-fade-enter-from,.fm-sheet-fade-leave-to{opacity:0}.fm-sheet-fade-enter-from .fm-bottom-sheet.is-desktop-menu,.fm-sheet-fade-leave-to .fm-bottom-sheet.is-desktop-menu{transform:translateY(-4px) scale(.985)}.fm-sheet-fade-enter-to .fm-bottom-sheet.is-desktop-menu,.fm-sheet-fade-leave-from .fm-bottom-sheet.is-desktop-menu{transform:translateY(0) scale(1)}.fm-sheet-fade-enter-from .fm-confirm-sheet,.fm-sheet-fade-leave-to .fm-confirm-sheet{transform:translateY(8px) scale(.985)}.fm-sheet-fade-enter-to .fm-confirm-sheet,.fm-sheet-fade-leave-from .fm-confirm-sheet{transform:translateY(0) scale(1)}button.btn.confirm,button.confirm.btn,button.confirm,button.confirm.icon-button,button.confirm.mobile-icon-button{background:var(--fm-brand);color:#fff;border-color:#fa5a2c6b}button.btn.confirm:hover,button.confirm.btn:hover,button.confirm:hover,button.confirm.icon-button:hover,button.confirm.mobile-icon-button:hover{color:var(--fm-ink);background-color:color-mix(in srgb,var(--fm-brand),var(--fm-bg) 50%)}.fm-desktop-shell .hint{font-size:.75rem!important;letter-spacing:.02em;font-family:var(--fm-font-body);color:var(--fm-ink-soft);opacity:.9}.fm-diet-icons{display:inline-flex;align-items:center;align-self:center;gap:4px;min-width:0;flex:0 0 auto;line-height:1;vertical-align:middle;margin:0 5px}.fm-diet-icon-image{display:block;width:auto;height:25px}.fm-diet-icons.is-xs .fm-diet-icon-image{height:13px}.fm-diet-icons.is-sm .fm-diet-icon-image{height:18px}.fm-diet-icons.is-md .fm-diet-icon-image{height:22px}.fm-diet-icons-overflow{min-height:16px;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink-soft);padding:0 6px;display:inline-flex;align-items:center;font-size:.62rem;font-family:var(--fm-font-mono);letter-spacing:.04em;line-height:1}textarea{resize:none}}@media(min-width:851px){:is(.fm-desktop-page-courses,.fm-desktop-page-food-edit,.fm-desktop-page-foods,.fm-desktop-page-recipe-consult,.fm-desktop-page-settings,.fm-desktop-shell .fm-recipe-edit-v2) .fm-skeleton-wrap{margin:0;padding:12px;display:grid;gap:8px}:is(.fm-desktop-page-courses,.fm-desktop-page-food-edit,.fm-desktop-page-recipe-consult,.fm-desktop-page-settings,.fm-desktop-shell .fm-recipe-edit-v2) .error{margin:0;border:1px solid color-mix(in srgb,var(--fm-danger),var(--fm-line) 34%);border-radius:12px;background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 88%);padding:9px 10px;color:color-mix(in srgb,var(--fm-danger),var(--fm-ink) 22%);font-size:.9rem;line-height:1.35}:is(.fm-desktop-page-food-edit,.fm-desktop-page-recipe-consult,.fm-desktop-shell .fm-recipe-edit-v2) .header-row.fm-nav-header{margin:0;border:1px solid var(--fm-line);border-radius:14px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);padding:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}}.ob-page,.ob-page *{box-sizing:border-box}.ob-page{height:100dvh;min-height:100vh;max-width:1000px;margin:0 auto;padding:10px 10px 30px;display:grid;grid-template-rows:1fr;align-items:center;gap:10px;overflow:hidden}.ob-head{display:none}.ob-main{display:grid;grid-template-columns:340px minmax(0,1fr);gap:10px;align-items:stretch;min-height:500px;height:80vh;max-height:80vh}.ob-main.is-no-aside{grid-template-columns:minmax(0,1fr)}.ob-main>.ob-visual{border:none}.ob-visual,.ob-card{border:1px solid var(--fm-line);border-radius:16px}.ob-visual{overflow:hidden;display:grid;grid-template-rows:250px 1fr;background:linear-gradient(155deg,#fa5a2cf5,#da4318fa);color:#fff;box-shadow:var(--fm-shadow-card)}.ob-visual-image{position:relative;width:100%;height:100%;overflow:hidden;padding:30px 0 30px 24px;background:#f0f0f0}.ob-visual-image-copy{position:relative;z-index:2;max-width:50%;display:grid;gap:20px;align-content:center;height:100%}.ob-visual-brand{margin:0;font-family:var(--fm-font-head);font-size:clamp(2.1rem,3vw,2.6rem);line-height:.98;letter-spacing:-.05em;color:#050505;text-shadow:-2px 0 #60a8ff,2px 0 #ffaf85}.ob-visual-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ob-visual-list li{font-size:clamp(1rem,1vw,2rem);line-height:1.04;font-weight:300;letter-spacing:-.04em;color:#969696;font-family:var(--fm-font-mono)}.ob-visual-copy{padding:12px;display:grid;gap:8px;align-content:start}.ob-visual-copy h2{margin:0;font-family:var(--fm-font-head);font-size:1.15rem}.ob-visual-copy p{margin:0;color:#ffffffeb;line-height:1.34;font-size:.84rem}.ob-visual-copy p:first-child{font-family:var(--fm-font-mono);text-transform:uppercase;letter-spacing:.09em;font-size:.67rem}.ob-visual-copy .hint{margin-top:100%}.ob-visual-copy small{font-size:.67rem;color:var(--fm-surface-2)}.ob-visual-plate-wrap{position:absolute;top:50%;transform:translateY(-50%);right:-40%;width:100%;height:85%;pointer-events:none}.ob-visual-plate-glow{position:absolute;inset:24px;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.08),transparent 62%);filter:blur(16px)}.ob-visual-plate{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 34px rgba(0,0,0,.12))}.ob-card{background:color-mix(in srgb,var(--fm-surface),transparent 3%);padding:14px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-height:0}.ob-step-scroll{min-height:0;overflow:auto;padding-right:2px}.ob-step{display:grid;gap:10px}.ob-step h1{margin:0;font-size:1.2rem}.hint,.small{color:var(--fm-ink-soft);font-size:.88rem}.ob-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ob-grid>*{min-width:0}.ob-field{display:grid;gap:4px;min-width:0}.ob-field.span-2{grid-column:1 / -1}.label{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);color:var(--fm-ink-soft)}.ob-input{width:100%;min-height:38px;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 16%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 7%);color:var(--fm-ink);padding:0 10px;font-size:.83rem;font-family:var(--fm-font-body)}.ob-input:focus{outline:none;border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 26%);box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-brand),transparent 80%)}.ob-choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ob-choice-btn,.ob-goal{border:1px solid var(--fm-line);border-radius:13px;min-height:40px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 12%);color:var(--fm-ink);padding:8px 10px;display:grid;align-content:center;justify-items:start;gap:2px;font-family:var(--fm-font-body);font-weight:700;cursor:pointer}.ob-choice-btn.active,.ob-goal.active{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 48%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%)}.ob-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ob-goal strong{font-size:.88rem;font-family:var(--fm-font-head)}.ob-goal small{color:var(--fm-ink-soft);font-size:.73rem;text-align:left}.ob-diet-goals{grid-template-columns:repeat(3,minmax(0,1fr))}.ob-diet-goal{min-height:82px;justify-items:center;text-align:center}.ob-diet-goal strong{text-align:center}.ob-diet-icon{width:auto;height:24px;object-fit:contain}.ob-macro-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:10px;align-items:stretch}.ob-macro-chart{position:relative;overflow:hidden;border:none;padding:0;display:grid;grid-template-columns:1.5fr 1fr;gap:0px;align-items:center;background:var(--fm-surface)!important}.ob-macro-chart-visual{position:relative;width:170px;height:170px;margin:0 auto}.ob-macro-chart-svg{width:100%;height:100%;display:block;overflow:visible}.ob-macro-chart-track,.ob-macro-chart-arc{fill:none;stroke-width:24}.ob-macro-chart-track{stroke:none}.ob-macro-chart-arc{stroke-linecap:round}.ob-macro-chart-center{position:absolute;inset:38px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--fm-surface);box-shadow:none!important}.ob-macro-chart-center small{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-family:var(--fm-font-mono);color:color-mix(in srgb,var(--fm-ink),var(--fm-ink-soft) 38%)}.ob-macro-chart-legend{display:grid;gap:10px;justify-items:start;align-content:center}.ob-macro-chart-legend-item{--ob-chart-color: var(--fm-brand);display:inline-flex;align-items:center;gap:10px}.ob-macro-chart-dot{width:11px;height:11px;border-radius:999px;display:inline-block;background:linear-gradient(135deg,color-mix(in srgb,var(--ob-chart-color),white 18%),var(--ob-chart-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--ob-chart-color),transparent 84%),0 8px 18px color-mix(in srgb,var(--ob-chart-color),transparent 72%)}.ob-macro-chart-legend-label{font-size:.82rem;line-height:1.2;color:var(--fm-ink)}.ob-macro-total{border:1px solid color-mix(in srgb,var(--fm-brand),var(--fm-line) 56%);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);display:grid;align-content:center;gap:4px}.ob-macro-total small{font-size:.69rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fm-ink-soft)}.ob-macro-total strong{font-size:1.32rem;font-family:var(--fm-font-head)}.ob-macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ob-macro-badge{min-height:62px;border:1px solid var(--fm-line);border-radius:12px;padding:8px 10px;display:grid;align-content:center;gap:2px;color:var(--fm-ink)}.ob-macro-badge small{display:block;margin:0;font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;font-family:var(--fm-font-mono);opacity:.86}.ob-macro-badge b{display:block;margin:0;font-size:.96rem;font-family:var(--fm-font-head);font-weight:700;letter-spacing:-.01em}.ob-macro-badge.is-proteins{border-color:color-mix(in srgb,var(--fm-macro-proteins),transparent 62%);background:color-mix(in srgb,var(--fm-macro-proteins),var(--fm-surface) 88%)}.ob-macro-badge.is-carbs{border-color:color-mix(in srgb,var(--fm-macro-carbs),transparent 62%);background:color-mix(in srgb,var(--fm-macro-carbs),var(--fm-surface) 88%)}.ob-macro-badge.is-fats{border-color:color-mix(in srgb,var(--fm-macro-fats),transparent 60%);background:color-mix(in srgb,var(--fm-macro-fats),var(--fm-surface) 87%)}.ob-macro-badge.is-sugars{border-color:color-mix(in srgb,var(--fm-macro-sugars),transparent 62%);background:color-mix(in srgb,var(--fm-macro-sugars),var(--fm-surface) 90%)}.ob-macro-badge.is-fibers{border-color:color-mix(in srgb,var(--fm-macro-fibers),transparent 62%);background:color-mix(in srgb,var(--fm-macro-fibers),var(--fm-surface) 89%)}.ob-macro-badge.is-salt{border-color:color-mix(in srgb,var(--fm-macro-salt),transparent 62%);background:color-mix(in srgb,var(--fm-macro-salt),var(--fm-surface) 89%)}.ob-chips,.ob-days{display:flex;flex-wrap:wrap;gap:8px}.ob-chip,.ob-day{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),transparent 2%);padding:5px 12px 5px 5px;display:inline-flex;align-items:center;gap:7px;font-size:.79rem}.ob-checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface-2);background-position:center;background-repeat:no-repeat;background-size:12px 12px;cursor:pointer}.ob-checkbox input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}.ob-slider{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.ob-range{width:100%;appearance:none;-webkit-appearance:none;background:transparent}.ob-range::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--fm-line),var(--fm-bg) 20%);border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 8%)}.ob-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--fm-brand);border:2px solid #fff;margin-top:-6px;box-shadow:0 0 0 1px color-mix(in srgb,var(--fm-brand),transparent 35%)}.ob-range::-moz-range-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--fm-line),var(--fm-bg) 20%);border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 8%)}.ob-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--fm-brand);border:2px solid #fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--fm-brand),transparent 35%)}.ob-slots-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ob-slots-head>small{width:50px;text-align:right}.ob-slots{display:grid;gap:8px}.ob-slot{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),transparent 4%);padding:8px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.ob-slot-enable{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;color:var(--fm-ink-soft)}.ob-slot-actions{display:inline-flex;gap:6px}.ob-slot-actions .btn{appearance:none;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 14%);border-radius:10px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 12%);color:var(--fm-ink);cursor:pointer;min-width:34px!important;max-width:34px!important;width:34px!important;min-height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--fm-font-body);font-size:.8rem;font-weight:700;transition:border-color .12s ease,background-color .12s ease,transform 80ms ease}.ob-slot-actions .btn:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 58%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 92%)}.ob-slot-actions .btn:active{transform:translateY(1px)}.ob-slot-actions .btn:disabled,.ob-slot-actions .btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.ob-slot-actions .btn.danger{border-color:color-mix(in srgb,var(--fm-danger),var(--fm-line) 34%);background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 88%);color:color-mix(in srgb,var(--fm-danger),var(--fm-ink) 20%)}.ob-slot-actions .btn.danger:hover{border-color:color-mix(in srgb,var(--fm-danger),var(--fm-line) 20%);background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 82%)}.ob-slot-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.ob-slot-add .btn{appearance:none;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 14%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 12%);color:var(--fm-ink);cursor:pointer;min-height:38px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--fm-font-body);font-size:.82rem;font-weight:700;white-space:nowrap;transition:border-color .12s ease,background-color .12s ease,transform 80ms ease}.ob-slot-add .btn:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 58%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 92%)}.ob-slot-add .btn:active{transform:translateY(1px)}.ob-slot-add .btn:disabled,.ob-slot-add .btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.ob-loading{display:grid;gap:8px}.ob-actions{margin-top:2px;display:flex;align-items:center;justify-content:space-between;gap:10px}.ob-actions .btn{appearance:none;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 14%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 12%);color:var(--fm-ink);cursor:pointer;min-height:38px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--fm-font-body);font-size:.82rem;font-weight:700;transition:border-color .12s ease,background-color .12s ease,transform 80ms ease}.ob-actions .btn:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 58%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 92%)}.ob-actions .btn:active{transform:translateY(1px)}.ob-actions .btn:disabled,.ob-actions .btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.ob-actions .btn.confirm{background:var(--fm-brand);color:#fff;border-color:#fa5a2c6b}.ob-actions .btn.confirm:hover{color:var(--fm-ink);background-color:color-mix(in srgb,var(--fm-brand),var(--fm-bg) 50%)}.ob-error{margin:0}.ob-progress-wrap{position:fixed;left:0;right:0;bottom:0;z-index:40;padding-bottom:env(safe-area-inset-bottom)}.ob-progress-track{height:8px;width:100%;background:color-mix(in srgb,var(--fm-line),var(--fm-bg) 22%)}.ob-progress-fill{height:100%;background:linear-gradient(90deg,var(--fm-brand),color-mix(in srgb,var(--fm-brand),#ffd7c8 32%));transition:width .22s ease}.ob-slide-next-enter-active,.ob-slide-next-leave-active,.ob-slide-prev-enter-active,.ob-slide-prev-leave-active{transition:transform .23s cubic-bezier(.22,1,.36,1),opacity .19s ease}.ob-slide-next-enter-from{transform:translate(60px);opacity:0}.ob-slide-next-leave-to,.ob-slide-prev-enter-from{transform:translate(-60px);opacity:0}.ob-slide-prev-leave-to{transform:translate(60px);opacity:0}@media(min-width:851px){.fm-desktop-page-menus .fm-menu-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;height:100%;min-height:0;--fm-menu-day-min-width: clamp(108px, 8vw, 150px);--fm-menu-grid-gap: 6px;--fm-menu-slot-row-height: 64px;--fm-menu-font-xs: .74rem;--fm-menu-font-sm: .86rem;--fm-menu-font-md: .96rem;--fm-menu-font-lg: 1.08rem}.fm-desktop-page-menus .fm-menu-toolbar{padding:10px;display:grid;gap:8px}.fm-desktop-page-menus .fm-menu-toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.fm-desktop-page-menus .fm-menu-week-switch{display:inline-grid;grid-template-columns:34px minmax(168px,220px) 34px;align-items:center;gap:8px}.fm-desktop-page-menus .fm-menu-week-switch .btn{min-width:34px;width:34px;min-height:34px;padding:0;border-radius:10px}.fm-desktop-page-menus .fm-menu-week-switch .btn:disabled{opacity:.45;cursor:default}.fm-desktop-page-menus .fm-menu-week-switch .input{min-height:36px;text-align:center;font-family:var(--fm-font-head);font-weight:700}.fm-desktop-page-menus .fm-menu-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.fm-desktop-page-menus .fm-menu-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(290px,24vw,360px);grid-template-rows:minmax(0,1fr);gap:10px;align-items:stretch;height:100%;min-height:0;overflow:visible}.fm-desktop-page-menus .planning-main{position:relative;display:flex;flex-direction:column;box-sizing:border-box;padding:8px;height:100%;max-height:100%;min-height:0;overflow:visible;overscroll-behavior:contain}.fm-desktop-page-menus .planning-loading-overlay{position:absolute;inset:0;z-index:30;display:grid;place-items:center;background:#0000004d;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:all;border-radius:inherit}.fm-desktop-page-menus .planning-loading-spinner{width:min(20vh,20vw);aspect-ratio:1/1;display:inline-grid;place-items:center;border-radius:999px;color:#fff;background:none;box-shadow:none}.fm-desktop-page-menus .planning-loading-spinner i{display:inline-block;font-size:min(8vh,8vw);line-height:1;animation:fm-planning-loading-spin .9s linear infinite;transform-origin:47% 42%}@keyframes fm-planning-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fm-desktop-page-menus .planning-main .error{margin-bottom:8px}.fm-desktop-page-menus .planning-grid{width:100%;height:100%;max-height:100%;flex:1 1 auto;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--fm-menu-grid-gap);overflow:visible;position:relative}.fm-desktop-page-menus .planning-grid:before,.fm-desktop-page-menus .planning-grid:after{content:"";position:absolute;left:0;right:0;height:32px;pointer-events:none;opacity:0;z-index:6;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);transition:opacity .18s ease}.fm-desktop-page-menus .planning-grid:before{top:calc(var(--fm-planning-grid-head-height, 0px) + var(--fm-menu-grid-gap, 6px));background:linear-gradient(to bottom,color-mix(in srgb,var(--fm-surface),transparent 2%),color-mix(in srgb,var(--fm-surface),transparent 20%) 28%,color-mix(in srgb,var(--fm-surface),transparent 52%) 62%,color-mix(in srgb,var(--fm-surface),transparent 100%));mask-image:linear-gradient(to bottom,rgba(0,0,0,.96),rgba(0,0,0,.64),rgba(0,0,0,.3),transparent);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.96),rgba(0,0,0,.64),rgba(0,0,0,.3),transparent)}.fm-desktop-page-menus .planning-grid:after{bottom:0;background:linear-gradient(to top,color-mix(in srgb,var(--fm-surface),transparent 2%),color-mix(in srgb,var(--fm-surface),transparent 20%) 28%,color-mix(in srgb,var(--fm-surface),transparent 52%) 62%,color-mix(in srgb,var(--fm-surface),transparent 100%));mask-image:linear-gradient(to top,rgba(0,0,0,.96),rgba(0,0,0,.64),rgba(0,0,0,.3),transparent);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.96),rgba(0,0,0,.64),rgba(0,0,0,.3),transparent)}.fm-desktop-page-menus .planning-main.can-scroll-up .planning-grid:before{opacity:1}.fm-desktop-page-menus .planning-main.can-scroll-down .planning-grid:after{opacity:1}.fm-desktop-page-menus .planning-grid-head{position:sticky;top:0;z-index:3;padding-bottom:3px;background:color-mix(in srgb,var(--fm-surface),transparent 10%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fm-desktop-page-menus .planning-week-strip{display:block}.fm-desktop-page-menus .planning-week-days{display:grid;grid-template-columns:repeat(var(--planning-enabled-day-count, 1),minmax(0,1fr));gap:var(--fm-menu-grid-gap)}.fm-desktop-page-menus .planning-grid.has-slot-labels .planning-week-days{grid-template-columns:var(--planning-slot-label-width, 18px) repeat(var(--planning-enabled-day-count, 1),minmax(0,1fr))}.fm-desktop-page-menus .planning-grid-slot-label-spacer{display:block;width:100%;min-width:0}.fm-desktop-page-menus .planning-week-day{border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 10%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 7%);color:var(--fm-ink-soft);min-height:44px;display:grid;align-content:center;justify-items:center;gap:2px;padding:4px 6px}.fm-desktop-page-menus .planning-week-day small{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);color:var(--fm-ink-soft)}.fm-desktop-page-menus .planning-week-day span{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:1rem;font-family:var(--fm-font-head);color:var(--fm-ink)}.fm-desktop-page-menus .planning-week-day.is-active{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 42%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 88%)}.fm-desktop-page-menus .planning-week-day.is-visible-window{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 18%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fm-brand),transparent 72%)}.fm-desktop-page-menus .planning-grid-body{display:grid;gap:var(--fm-menu-grid-gap);min-height:0;height:100%!important;max-height:100%!important;padding:0;box-sizing:border-box;grid-auto-rows:var(--fm-menu-slot-row-height);scroll-behavior:smooth;overscroll-behavior:contain;scroll-padding-bottom:0px;scrollbar-gutter:stable;-ms-overflow-style:none;scrollbar-width:none}.fm-desktop-page-menus .planning-grid-body::-webkit-scrollbar{width:0;height:0;display:none}.fm-desktop-page-menus .planning-grid-row{display:grid;grid-template-columns:repeat(var(--planning-day-count, 1),minmax(0,1fr));gap:var(--fm-menu-grid-gap);min-height:0;align-items:stretch}.fm-desktop-page-menus .planning-grid.has-slot-labels .planning-grid-row{grid-template-columns:var(--planning-slot-label-width, 18px) repeat(var(--planning-day-count, 1),minmax(0,1fr))}.fm-desktop-page-menus .planning-grid-row-slot-label{display:grid;place-items:center;min-height:0;color:color-mix(in srgb,var(--fm-brand),var(--fm-ink) 30%)}.fm-desktop-page-menus .planning-grid-row-slot-label span{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.6rem;letter-spacing:.07em;text-transform:uppercase;font-family:var(--fm-font-mono);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:100%;text-align:center}.fm-desktop-page-menus .planning-grid .cell{min-height:0;height:100%;max-height:100%;border-radius:12px;position:relative;cursor:pointer;overflow:visible;display:flex;box-shadow:var(--fm-shadow-card)}.fm-desktop-page-menus .planning-grid .cell.cell--draggable{cursor:grab}.fm-desktop-page-menus .planning-grid .cell.cell--drag-source{opacity:.55}.fm-desktop-page-menus .planning-grid .cell.cell--drag-target .planning-cell-body{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 34%);box-shadow:0 0 0 2px color-mix(in srgb,var(--fm-brand),transparent 80%)}.fm-desktop-page-menus .planning-grid .cell.cell--drag-invalid .planning-cell-body{border-color:color-mix(in srgb,var(--fm-danger),var(--fm-line) 28%);box-shadow:0 0 0 2px color-mix(in srgb,var(--fm-danger),transparent 80%)}.fm-desktop-page-menus .planning-grid .cell.cell--generated .planning-cell-body{box-shadow:0 0 0 2px color-mix(in srgb,var(--fm-macro-fibers),transparent 78%)}.fm-desktop-page-menus .planning-grid .cell.cell--preserved .planning-cell-body{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--fm-brand),transparent 78%)}.fm-desktop-page-menus .planning-cell-body{position:relative;min-height:0;height:100%;max-height:100%;width:100%;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 10%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);box-shadow:none;padding:6px 8px;box-sizing:border-box;display:flex;align-items:stretch;overflow:hidden}.fm-desktop-page-menus .planning-cell-content{width:100%;min-width:0;display:flex;flex-direction:column;gap:4px}.fm-desktop-page-menus .planning-cell-content.planning-cell-content--empty{justify-content:center}.fm-desktop-page-menus .planning-cell-slot{color:color-mix(in srgb,var(--fm-brand),var(--fm-ink) 30%);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-desktop-page-menus .planning-cell-name{min-width:0;display:flex;align-items:flex-start;gap:8px}.fm-desktop-page-menus .planning-cell-recipe-pill{width:7px;height:28px;margin-top:4px;border-radius:999px;background:var(--recipe-category-bg, color-mix(in srgb, var(--fm-brand), var(--fm-surface) 30%));flex:0 0 auto}.fm-desktop-page-menus .planning-cell-recipe-text{min-width:0;color:var(--fm-ink);font-size:.85rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.fm-desktop-page-menus .planning-cell-recipe-main{min-width:0;width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:6px}.fm-desktop-page-menus .planning-cell-recipe-main .fm-diet-icons{margin-top:0;flex:0 0 auto}.fm-desktop-page-menus .planning-cell-name--empty{width:100%;min-height:28px;display:grid;place-items:center;margin:0}.fm-desktop-page-menus .planning-cell-add{width:24px;height:24px;border-radius:999px;border:1px dashed color-mix(in srgb,var(--fm-line),var(--fm-ink) 22%);color:var(--fm-ink-soft);font-family:var(--fm-font-head);font-size:.9rem;display:inline-grid;place-items:center}.fm-desktop-page-menus .planning-cell-people{margin-top:auto;min-width:0;font-size:.62rem;color:var(--fm-ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.fm-desktop-page-menus .planning-cell-icons{position:absolute;right:4px;bottom:4px;display:inline-flex;gap:0px}.fm-desktop-page-menus .planning-cell-icon{width:16px;height:16px;border-radius:999px;display:inline-grid;place-items:center;font-size:.7rem;background:color-mix(in srgb,var(--fm-surface),transparent 2%)}.fm-desktop-page-menus .planning-cell-icon.plus-ico{color:var(--fm-mint)}.fm-desktop-page-menus .planning-cell-icon.warning-ico{color:var(--fm-warning)}.fm-desktop-page-menus .diet-warning-ico{color:color-mix(in srgb,var(--fm-danger),var(--fm-warning) 0%)}.fm-desktop-page-menus .season-warning-ico{color:var(--fm-warning)}.fm-desktop-page-menus .planning-summary{padding:10px;display:grid;gap:10px;min-height:0;overflow:visible;align-self:start;align-content:start}.fm-desktop-page-menus .planning-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.fm-desktop-page-menus .planning-summary-heading{display:grid;gap:4px}.fm-desktop-page-menus .planning-summary-kicker{margin:0;font-size:var(--fm-menu-font-xs);font-family:var(--fm-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fm-ink-soft)}.fm-desktop-page-menus .planning-summary-head strong{display:block;font-family:var(--fm-font-head);font-size:var(--fm-menu-font-lg)}.fm-desktop-page-menus .planning-summary-main-title{font-size:calc(var(--fm-menu-font-lg) + .06rem);line-height:1.2}.fm-desktop-page-menus .planning-summary-progress{display:grid;gap:8px;margin:8px 0;align-content:start}.fm-desktop-page-menus .planning-summary-progress-row{display:grid;gap:5px}.fm-desktop-page-menus .planning-summary-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--fm-ink-soft);font-size:var(--fm-menu-font-sm)}.fm-desktop-page-menus .planning-summary-progress-head b{color:var(--fm-ink);font-size:var(--fm-menu-font-md)}.fm-desktop-page-menus .planning-summary-macro-name{font-size:var(--fm-menu-font-sm);color:var(--fm-ink-soft)}.fm-desktop-page-menus .planning-summary-macro-values{font-size:var(--fm-menu-font-md);font-weight:800;line-height:1.2}.fm-desktop-page-menus .planning-summary-macro-current{font-size:calc(var(--fm-menu-font-md) + .06rem)}.fm-desktop-page-menus .planning-summary-macro-target{font-size:var(--fm-menu-font-sm);color:var(--fm-ink-soft);font-weight:700}.fm-desktop-page-menus .is-off-target{color:var(--fm-danger);font-weight:800}.fm-desktop-page-menus .planning-summary-progress-track{position:relative;height:8px;border-radius:999px;border:1px solid var(--fm-line);background:var(--fm-surface-2);overflow:visible}.fm-desktop-page-menus .planning-summary-progress-track i{display:block;width:var(--fm-progress-fill, 0%);height:100%;min-width:4px;border-radius:inherit;background:var(--fm-macro-calories);transition:width .26s cubic-bezier(.22,.61,.36,1)}.fm-desktop-page-menus .planning-summary-progress-marker{position:absolute;top:-1px;bottom:-1px;width:2px;border-radius:999px;transform:translate(-50%);pointer-events:none;z-index:2}.fm-desktop-page-menus .planning-summary-progress-marker.is-lower{left:var(--fm-progress-lower, 0%);width:2px;top:-2px;bottom:-2px;border-radius:999px;background:color-mix(in srgb,var(--fm-ink-soft),var(--fm-surface) 18%);opacity:.82}.fm-desktop-page-menus .planning-summary-progress-marker.is-target{left:var(--fm-progress-target, 50%);width:3px;top:-4px;bottom:-4px;border-radius:999px;background:color-mix(in srgb,var(--fm-ink),white 6%);opacity:.92}.fm-desktop-page-menus .planning-summary-progress-marker.is-upper{left:var(--fm-progress-upper, 100%);width:2px;top:-2px;bottom:-2px;border-radius:999px;background:color-mix(in srgb,var(--fm-ink-soft),var(--fm-surface) 18%);opacity:.82}.fm-desktop-page-menus .planning-summary-progress-row.is-calories .planning-summary-progress-track i{background:linear-gradient(90deg,color-mix(in srgb,var(--fm-macro-calories),white 14%),var(--fm-macro-calories))}.fm-desktop-page-menus .planning-summary-progress-row.is-proteins .planning-summary-progress-track i{background:linear-gradient(90deg,color-mix(in srgb,var(--fm-macro-proteins),white 14%),var(--fm-macro-proteins))}.fm-desktop-page-menus .planning-summary-progress-row.is-carbs .planning-summary-progress-track i{background:linear-gradient(90deg,color-mix(in srgb,var(--fm-macro-carbs),white 14%),var(--fm-macro-carbs))}.fm-desktop-page-menus .planning-summary-progress-row.is-fats .planning-summary-progress-track i{background:linear-gradient(90deg,color-mix(in srgb,var(--fm-macro-fats),white 14%),var(--fm-macro-fats))}.fm-desktop-page-menus .fm-menu-summary-badges{display:grid;margin-top:2px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}.fm-desktop-page-menus .fm-macro-badge{--fm-badge-fill-color: var(--fm-brand);border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),transparent 5%);padding:8px 10px;min-height:35px;position:relative;overflow:hidden;isolation:isolate;display:grid;gap:4px}.fm-desktop-page-menus .fm-macro-badge:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--fm-badge-fill, 0%);background:color-mix(in srgb,var(--fm-badge-fill-color, var(--fm-brand)),white 60%);opacity:.58;pointer-events:none;z-index:0;transition:width .22s ease}.fm-desktop-page-menus .fm-macro-badge>*{position:relative;z-index:1}.fm-desktop-page-menus .fm-macro-badge.is-sugars{--fm-badge-fill-color: var(--fm-macro-sugars);border-color:color-mix(in srgb,var(--fm-macro-sugars),transparent 62%);background:color-mix(in srgb,var(--fm-macro-sugars),var(--fm-surface) 90%)}.fm-desktop-page-menus .fm-macro-badge.is-fats{--fm-badge-fill-color: var(--fm-macro-fats);border-color:color-mix(in srgb,var(--fm-macro-fats),transparent 60%);background:color-mix(in srgb,var(--fm-macro-fats),var(--fm-surface) 87%)}.fm-desktop-page-menus .fm-macro-badge.is-fibers{--fm-badge-fill-color: var(--fm-macro-fibers);border-color:color-mix(in srgb,var(--fm-macro-fibers),transparent 62%);background:color-mix(in srgb,var(--fm-macro-fibers),var(--fm-surface) 89%)}.fm-desktop-page-menus .fm-macro-badge.is-salt{--fm-badge-fill-color: var(--fm-macro-salt);border-color:color-mix(in srgb,var(--fm-macro-salt),transparent 62%);background:color-mix(in srgb,var(--fm-macro-salt),var(--fm-surface) 89%)}.fm-desktop-page-menus .fm-macro-badge.is-calories{border-color:color-mix(in srgb,var(--fm-macro-calories),transparent 62%);background:color-mix(in srgb,var(--fm-macro-calories),var(--fm-surface) 88%)}.fm-desktop-page-menus .fm-macro-badge.is-proteins{border-color:color-mix(in srgb,var(--fm-macro-proteins),transparent 62%);background:color-mix(in srgb,var(--fm-macro-proteins),var(--fm-surface) 88%)}.fm-desktop-page-menus .fm-macro-badge.is-carbs{border-color:color-mix(in srgb,var(--fm-macro-carbs),transparent 62%);background:color-mix(in srgb,var(--fm-macro-carbs),var(--fm-surface) 88%)}.fm-desktop-page-menus .fm-macro-badge.is-cost{grid-column:1 / -1;--fm-badge-fill: 0%}.fm-desktop-page-menus .fm-macro-badge small{font-size:var(--fm-menu-font-xs);letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);color:var(--fm-ink-soft)}.fm-desktop-page-menus .fm-macro-badge b{font-size:var(--fm-menu-font-md);line-height:1.25;color:var(--fm-ink)}.fm-desktop-page-menus .planning-summary-badge-label{font-size:var(--fm-menu-font-xs);letter-spacing:.06em}.fm-desktop-page-menus .planning-summary-badge-value{font-size:var(--fm-menu-font-md);line-height:1.18;font-weight:800}.fm-desktop-page-menus .planning-summary-badge-current{font-size:calc(var(--fm-menu-font-md) + .04rem)}.fm-desktop-page-menus .planning-summary-badge-target{font-size:var(--fm-menu-font-sm);color:var(--fm-ink-soft);font-weight:700}.fm-desktop-page-menus .planning-context-menu{position:fixed;z-index:1750;min-width:220px;border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface);box-shadow:var(--fm-shadow-pop);padding:8px;display:grid;gap:8px}.fm-desktop-page-menus .planning-context-menu-item{width:100%;justify-content:flex-start}.fm-desktop-page-menus .planning-context-menu-item.is-danger{border-color:color-mix(in srgb,var(--fm-danger),var(--fm-line) 34%);background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 88%);color:color-mix(in srgb,var(--fm-danger),var(--fm-ink) 20%)}.fm-desktop-page-menus .cell.planning-cell--excluded{opacity:.4;pointer-events:auto;background-color:var(--fm-ink-soft)}.fm-desktop-page-menus .planning-week-day.planning-week-day--excluded{opacity:.4}.fm-desktop-page-menus .planning-summary-exclusion-reset{padding-top:8px;border-top:1px solid var(--fm-line);margin-top:8px}.fm-desktop-page-menus .planning-hover-tooltip{position:fixed;z-index:1720;width:250px;border:1px solid var(--fm-line);border-radius:14px;background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 5%);box-shadow:var(--fm-shadow-pop);padding:10px;pointer-events:none}.fm-desktop-page-menus .planning-hover-tooltip:after{content:"";position:absolute;width:10px;height:10px;left:var(--fm-tooltip-arrow-x, 24px);background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 5%);border:1px solid var(--fm-line);transform:translate(-50%) rotate(45deg)}.fm-desktop-page-menus .planning-hover-tooltip.is-placement-bottom:after{top:-6px;border-right:0;border-bottom:0}.fm-desktop-page-menus .planning-hover-tooltip.is-placement-top:after{bottom:-6px;border-left:0;border-top:0}.fm-desktop-page-menus .planning-hover-tooltip h2{margin:0 0 8px;font-size:.88rem;font-family:var(--fm-font-head)}.fm-desktop-page-menus .planning-hover-title{display:inline-flex;align-items:center;gap:6px;min-width:0}.fm-desktop-page-menus .planning-hover-title span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-menus .planning-hover-grid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.fm-desktop-page-menus .planning-hover-grid span{border:1px solid var(--fm-line);border-radius:10px;background:var(--fm-surface-2);padding:6px 8px;font-size:.7rem;color:var(--fm-ink-soft);line-height:1.25}.fm-desktop-page-menus .planning-hover-grid .planning-hover-badge.is-calories{border-color:color-mix(in srgb,var(--fm-macro-calories),transparent 62%);background:color-mix(in srgb,var(--fm-macro-calories),var(--fm-surface) 88%)}.fm-desktop-page-menus .planning-hover-grid .planning-hover-badge.is-proteins{border-color:color-mix(in srgb,var(--fm-macro-proteins),transparent 62%);background:color-mix(in srgb,var(--fm-macro-proteins),var(--fm-surface) 88%)}.fm-desktop-page-menus .planning-hover-grid .planning-hover-badge.is-carbs{border-color:color-mix(in srgb,var(--fm-macro-carbs),transparent 62%);background:color-mix(in srgb,var(--fm-macro-carbs),var(--fm-surface) 88%)}.fm-desktop-page-menus .planning-hover-grid .planning-hover-badge.is-fats{border-color:color-mix(in srgb,var(--fm-macro-fats),transparent 60%);background:color-mix(in srgb,var(--fm-macro-fats),var(--fm-surface) 87%)}.fm-desktop-page-menus .planning-hover-grid .planning-hover-badge.is-sugars{border-color:color-mix(in srgb,var(--fm-macro-sugars),transparent 62%);background:color-mix(in srgb,var(--fm-macro-sugars),var(--fm-surface) 90%)}.fm-desktop-page-menus .planning-hover-grid .planning-hover-badge.is-fibers{border-color:color-mix(in srgb,var(--fm-macro-fibers),transparent 62%);background:color-mix(in srgb,var(--fm-macro-fibers),var(--fm-surface) 89%)}.fm-desktop-page-menus .planning-hover-grid .planning-hover-badge.is-salt{border-color:color-mix(in srgb,var(--fm-macro-salt),transparent 62%);background:color-mix(in srgb,var(--fm-macro-salt),var(--fm-surface) 89%)}.fm-desktop-page-menus .planning-hover-grid strong{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;font-family:var(--fm-font-mono);color:var(--fm-ink)}.fm-desktop-page-menus .time-slot-panel-mobile-shell{position:fixed;inset:0;z-index:1690;display:grid;align-items:stretch}.time-slot-panel-slide-enter-from .time-slot-panel-backdrop,.time-slot-panel-slide-leave-to .time-slot-panel-backdrop{opacity:0}.time-slot-panel-slide-enter-to .time-slot-panel-backdrop,.time-slot-panel-slide-leave-from .time-slot-panel-backdrop{opacity:1}.time-slot-panel-slide-enter-from .panel.time-slot-panel,.time-slot-panel-slide-leave-to .panel.time-slot-panel{transform:translate(calc(100% + 28px));opacity:0}.time-slot-panel-slide-enter-to .panel.time-slot-panel,.time-slot-panel-slide-leave-from .panel.time-slot-panel{transform:translate(0);opacity:1}.fm-desktop-page-menus .time-slot-panel-backdrop{position:absolute;inset:0;background:#090a1285;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:1;transition:opacity .22s ease}.fm-desktop-page-menus .time-slot-panel-mobile-shell .panel.time-slot-panel{position:fixed;inset:16px 16px 16px auto;width:min(560px,calc(100vw - 32px));max-width:560px;max-height:none;overflow:auto;overscroll-behavior:contain;padding:12px;border-radius:18px;border:1px solid var(--fm-line);background:color-mix(in srgb,var(--fm-surface),transparent 4%);box-shadow:var(--fm-shadow-pop);display:grid;gap:10px;grid-auto-rows:max-content;align-content:start;transition:transform .26s cubic-bezier(.22,1,.36,1),opacity .26s ease;will-change:transform,opacity}.fm-desktop-page-menus .time-slot-panel-mobile-shell .panel.time-slot-panel.time-slot-panel--picker{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.fm-desktop-page-menus .time-slot-panel-head{position:sticky;top:0;z-index:1500;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:-2px -2px 0;padding:0 2px 10px;border-bottom:1px solid var(--fm-line);background:color-mix(in srgb,var(--fm-surface),transparent 10%);-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important}.fm-desktop-page-menus .time-slot-panel-head-copy{min-width:0;display:grid;gap:2px}.fm-desktop-page-menus .time-slot-panel-eyebrow{margin:0;color:var(--fm-ink-soft);font-size:.72rem;font-family:var(--fm-font-mono);letter-spacing:.1em;text-transform:uppercase}.fm-desktop-page-menus .time-slot-panel-head .panel-title{margin:2px 0 0;font-size:1.12rem;line-height:1.2;color:var(--fm-ink)}.fm-desktop-page-menus .time-slot-panel-meta{margin:4px 0 0;color:var(--fm-ink-soft);font-size:.86rem;line-height:1.3}.fm-desktop-page-menus .time-slot-panel-head .fm-nav-actions{justify-self:end}.fm-desktop-page-menus .time-slot-panel-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.fm-desktop-page-menus .time-slot-panel-head .fm-nav-spacer{width:34px;min-width:34px;height:34px}.fm-desktop-page-menus .time-slot-panel .panel-section{margin:0;border:1px solid var(--fm-line);border-radius:14px;background:color-mix(in srgb,var(--fm-surface-2),transparent 2%);box-shadow:none;padding:12px;display:grid;gap:10px}.fm-desktop-page-menus .time-slot-panel .btn,.fm-desktop-page-menus .time-slot-panel button,.fm-desktop-page-menus .time-slot-panel button.danger{min-height:30px;padding:0 9px;border-radius:10px;font-size:.88rem}.fm-desktop-page-menus .time-slot-panel .small-btn{min-height:28px;padding:0 8px;font-size:.84rem}.fm-desktop-page-menus .time-slot-panel .input,.fm-desktop-page-menus .time-slot-panel select,.fm-desktop-page-menus .time-slot-panel input{font-size:.88rem}.fm-desktop-page-menus .time-slot-panel-head .recipes-head-back-btn,.fm-desktop-page-menus .time-slot-panel-head .fm-actions-trigger{width:30px;min-width:30px;height:30px;min-height:30px;padding:0}.fm-desktop-page-menus .time-slot-panel .hint{margin:0;color:var(--fm-ink-soft);font-size:.84rem}.fm-desktop-page-menus .time-slot-picker-section{min-height:0;display:flex;flex-direction:column;overflow:hidden}.fm-desktop-page-menus .time-slot-picker-section .recipe-picker-root{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(124px,38%);grid-template-rows:auto auto auto minmax(0,1fr);grid-template-areas:"picker-label picker-label" "picker-category picker-sort" "picker-search picker-search" "picker-list picker-list";gap:8px;align-items:stretch}.fm-desktop-page-menus .time-slot-picker-section .recipe-picker-root>.label{grid-area:picker-label;margin:0}.fm-desktop-page-menus .time-slot-picker-section .recipe-picker-root>.recipe-picker-category-row{grid-area:picker-category;display:flex;align-items:center;gap:8px;min-width:0}.fm-desktop-page-menus .time-slot-picker-section .recipe-picker-root .recipe-picker-category-row>.recipe-category-select{flex:1;min-width:0}.fm-desktop-page-menus .time-slot-picker-section .recipe-picker-seasonal-toggle{display:flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer;font-size:.85em;-webkit-user-select:none;user-select:none}.fm-desktop-page-menus .time-slot-picker-section .recipe-picker-filters{display:contents}.fm-desktop-page-menus .time-slot-picker-section .recipe-picker-filters>.recipe-picker-search,.fm-desktop-page-menus .time-slot-picker-section .recipe-picker-filters>.recipe-picker-sort{width:100%!important;min-width:0;margin:0}.fm-desktop-page-menus .time-slot-picker-section .recipe-picker-filters>.recipe-picker-sort{grid-area:picker-sort;min-height:38px;height:38px}.fm-desktop-page-menus .time-slot-picker-section .recipe-picker-filters>.recipe-picker-search{grid-area:picker-search;width:100%!important;max-width:100%;min-width:0;justify-self:stretch;box-sizing:border-box}.fm-desktop-page-menus .time-slot-picker-section .recipe-list{grid-area:picker-list;height:100%;flex:1 1 auto;min-height:0;max-height:none!important;overflow:auto;display:grid;grid-auto-rows:max-content;align-content:start;gap:6px;padding-right:2px}.fm-desktop-page-menus .time-slot-picker-section .recipe-item{min-height:35px!important;max-height:35px!important;border-radius:10px;border:1px solid var(--fm-line);background:color-mix(in srgb,var(--fm-surface),transparent 2%);color:var(--fm-ink);font-size:.9rem;font-weight:700;display:flex!important;align-items:center;justify-content:space-between;text-align:left;padding:2px 8px;gap:8px}.fm-desktop-page-menus .time-slot-picker-section .recipe-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-menus .time-slot-picker-section .recipe-item-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;min-width:0}.fm-desktop-page-menus .time-slot-picker-section .recipe-item:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 45%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 92%)}.fm-desktop-page-menus .time-slot-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-desktop-page-menus .time-slot-section-head h3{margin:0;font-size:1rem}.fm-desktop-page-menus .time-slot-saving{border:1px solid var(--fm-line);border-radius:999px;min-height:18px;display:inline-flex;align-items:center;padding:0 6px;font-size:.7rem;color:var(--fm-ink-soft);font-family:var(--fm-font-mono);letter-spacing:.07em;text-transform:uppercase;background:var(--fm-surface-2)}.fm-desktop-page-menus .time-slot-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-desktop-page-menus .time-slot-member-chip{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface-2);min-height:30px;max-height:30px;display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:9px;padding:4px 10px;cursor:pointer}.fm-desktop-page-menus .time-slot-member-chip.active{border-color:#fa5a2c61;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%)}.fm-desktop-page-menus .time-slot-member-chip input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--fm-brand)}.fm-desktop-page-menus .time-slot-member-name{color:var(--fm-ink);font-size:.9rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-menus .time-slot-member-badge{border:1px solid var(--fm-line);border-radius:999px;min-height:18px;display:inline-flex;align-items:center;padding:0 6px;background:var(--fm-surface);color:var(--fm-ink-soft);font-size:.72rem;font-family:var(--fm-font-mono);letter-spacing:.06em;text-transform:uppercase}.fm-desktop-page-menus .time-slot-macros .recipe-macros-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-desktop-page-menus .time-slot-macros .recipe-macros-head strong{font-size:var(--fm-menu-font-md)}.fm-desktop-page-menus .time-slot-macros .btn.btn-ghost{min-height:24px;width:24px;min-width:24px;padding:0}.fm-desktop-page-menus .time-slot-macros .fm-macro-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-desktop-page-menus .time-slot-macros .fm-macro-badge{min-height:42px;padding:6px 8px;gap:2px}.fm-desktop-page-menus .time-slot-macros .fm-macro-badge small{font-size:var(--fm-menu-font-xs)}.fm-desktop-page-menus .time-slot-macros .fm-macro-badge b{font-size:var(--fm-menu-font-md);line-height:1.15}.fm-desktop-page-menus .time-slot-ingredients .fm-txt-import-section-head.fm-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-desktop-page-menus .time-slot-ingredients .fm-txt-import-section-head small{color:var(--fm-ink-soft);font-size:.7rem;font-family:var(--fm-font-mono);letter-spacing:.06em;text-transform:uppercase}.fm-desktop-page-menus .object-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.fm-desktop-page-menus .recipe-ingredient-line{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:5px 6px 5px 9px;display:flex;align-items:center;justify-content:space-between;gap:10px}.fm-desktop-page-menus .recipe-ingredient-name{color:var(--fm-ink);font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-menus .recipe-ingredient-qty-badge{flex:0 0 auto;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface);color:var(--fm-ink-soft);min-height:18px;padding:2px 8px;display:inline-flex;align-items:center;font-size:.85rem;font-family:var(--fm-font-mono);line-height:1}.time-slot-diet-warning-indicator{scale:150%;margin-right:5px;transform:translateY(5px)}.fm-desktop-page-menus .time-slot-sheet-actions,.fm-desktop-page-menus .planning-sheet-actions{display:grid;gap:8px}.fm-desktop-page-menus .planning-transfer-overlay{position:fixed;inset:0;z-index:1700;display:grid;place-items:center;padding:10px;background:#090a128a}.fm-desktop-page-menus .planning-transfer-modal{width:min(560px,100%);max-height:calc(100vh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;padding:10px;border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface);box-shadow:var(--fm-shadow-pop);display:grid;align-content:start;gap:10px;font-family:var(--fm-font-body)}.fm-desktop-page-menus .planning-transfer-modal .btn,.fm-desktop-page-menus .planning-transfer-modal button,.fm-desktop-page-menus .planning-transfer-modal button.danger{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);color:var(--fm-ink);min-height:38px;font-size:.82rem;font-family:var(--fm-font-body);font-weight:700}.fm-desktop-page-menus .planning-transfer-modal .btn.confirm,.fm-desktop-page-menus .planning-transfer-modal .btn.primary{background:var(--fm-brand);color:#fff;border-color:#fa5a2c6b}.fm-desktop-page-menus .planning-transfer-modal .btn:hover,.fm-desktop-page-menus .planning-transfer-modal button:hover{background:var(--fm-surface-2);border-color:var(--fm-line);color:var(--fm-ink)}.fm-desktop-page-menus .planning-transfer-modal .btn.confirm:hover,.fm-desktop-page-menus .planning-transfer-modal .btn.primary:hover{background:var(--fm-brand);border-color:#fa5a2c6b;color:#fff}.fm-desktop-page-menus .planning-transfer-modal .input,.fm-desktop-page-menus .planning-transfer-modal select.input,.fm-desktop-page-menus .planning-transfer-modal textarea.input{min-height:38px;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);color:var(--fm-ink);font-size:.84rem;padding:5px 8px;font-family:var(--fm-font-body)}.fm-desktop-page-menus .planning-transfer-modal .sheet-header{position:sticky;top:0;z-index:8;margin-bottom:8px;padding-bottom:8px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.fm-desktop-page-menus .planning-transfer-modal .sheet-header h1{margin:0;font-size:1rem;line-height:1.2}.fm-desktop-page-menus .planning-transfer-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fm-desktop-page-menus .planning-transfer-tabs .btn.is-active{background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 84%);border-color:#fa5a2c5c;color:var(--fm-ink)}.fm-desktop-page-menus .planning-transfer-content{display:grid;gap:10px}.fm-desktop-page-menus .planning-transfer-modal .panel-section{margin:0;border:1px solid var(--fm-line);border-radius:16px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);box-shadow:var(--fm-shadow-card);padding:10px;display:grid;gap:8px}.fm-desktop-page-menus .planning-transfer-modal .actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fm-desktop-page-menus .planning-transfer-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.fm-desktop-page-menus .planning-transfer-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-desktop-page-menus .planning-transfer-check-grid .settings-day-checkbox{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);min-height:24px;padding:6px 8px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;color:var(--fm-ink-soft);font-size:.78rem}.fm-desktop-page-menus .planning-transfer-check-grid .settings-day-checkbox input[type=checkbox]{margin:0;width:16px;height:16px;accent-color:var(--fm-brand)}.fm-desktop-page-menus .planning-transfer-check-grid .settings-day-checkbox span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-menus .planning-transfer-modal .hint{margin:0;color:var(--fm-ink-soft);font-size:.8rem;line-height:1.35}.fm-desktop-page-menus .planning-transfer-modal .planning-transfer-error{margin:0}.fm-desktop-page-menus .planning-day-nav{margin-top:6px;display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;border:1px solid var(--fm-line);background:color-mix(in srgb,var(--fm-surface-2),transparent 4%);box-shadow:none;width:fit-content}.fm-desktop-page-menus .planning-day-nav strong{font-size:.74rem;color:var(--fm-ink-soft);min-width:140px;text-align:center}.fm-desktop-page-menus .fm-menu-day-nav-desktop{margin-top:0;min-height:34px;padding:4px 6px;margin-left:auto}.fm-desktop-page-menus .fm-menu-day-nav-desktop strong{min-width:132px;font-size:.7rem}.fm-desktop-page-menus .fm-menu-summary-member{padding:8px;border-radius:12px;border:1px solid var(--fm-line);background:color-mix(in srgb,var(--fm-surface-2),transparent 3%);box-shadow:none;display:grid;gap:6px}.fm-desktop-page-menus .fm-menu-summary-member .label{margin:0;font-size:var(--fm-menu-font-xs);letter-spacing:.07em;text-transform:uppercase;font-family:var(--fm-font-mono);color:var(--fm-ink-soft)}.fm-desktop-page-menus .planning-summary-member-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.fm-desktop-page-menus .fm-menu-summary-member-tile{min-height:46px;padding:6px 8px;border-radius:10px;display:grid;align-content:center;justify-items:center;gap:2px}.fm-desktop-page-menus .fm-menu-summary-member-tile.active{border-color:#fa5a2c66;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 85%)}.fm-desktop-page-menus .fm-menu-summary-member-tile small{font-size:.6rem;text-transform:uppercase;letter-spacing:.07em;color:var(--fm-ink-soft)}.fm-desktop-page-menus .fm-menu-summary-member-tile span{font-size:var(--fm-menu-font-sm);color:var(--fm-ink);font-weight:700;line-height:1.2}.fm-desktop-page-menus .menu-generation-sheet{display:grid;gap:16px;padding:2px 5px 5px}.fm-desktop-page-menus .menu-generation-sheet-head p,.fm-desktop-page-menus .menu-generation-hint,.fm-desktop-page-menus .menu-generation-warnings p{margin:4px 0 0;color:var(--fm-ink-soft);line-height:1.1;font-size:1rem}.fm-desktop-page-menus .menu-generation-sheet-section{display:grid;gap:10px}.fm-desktop-page-menus .menu-generation-profile-list{display:grid;gap:8px}.fm-desktop-page-menus .menu-generation-profile-btn{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface);padding:6px 10px;display:grid;gap:2px;text-align:left;justify-content:start}.fm-desktop-page-menus .menu-generation-profile-btn strong{color:var(--fm-ink)}.fm-desktop-page-menus .menu-generation-profile-btn small{color:var(--fm-ink-soft);line-height:1.4}.fm-desktop-page-menus .menu-generation-profile-btn.active{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 35%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 92%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fm-brand),transparent 65%)}.fm-desktop-page-menus .menu-generation-progress{display:grid;gap:10px;padding:12px;border:1px solid var(--fm-line);border-radius:14px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 15%)}.fm-desktop-page-menus .menu-generation-progress-head{display:grid;gap:4px}.fm-desktop-page-menus .menu-generation-progress-head span{color:var(--fm-ink-soft)}.fm-desktop-page-menus .menu-generation-progress-track{position:relative;height:10px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 20%);border:1px solid var(--fm-line)}.fm-desktop-page-menus .menu-generation-progress-track i{position:absolute;inset:1px auto 1px -35%;width:35%;border-radius:inherit;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--fm-brand),white 10%) 45%,transparent 100%);animation:fm-menu-generation-progress 1.15s linear infinite}.fm-desktop-page-menus .menu-generation-result{display:grid;gap:12px;padding:12px;border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface)}.fm-desktop-page-menus .menu-generation-result-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.fm-desktop-page-menus .menu-generation-result-head small{color:var(--fm-ink-soft)}.fm-desktop-page-menus .menu-generation-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-desktop-page-menus .menu-generation-metric-card{display:grid;gap:4px;padding:10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--fm-line),transparent 10%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 10%)}.fm-desktop-page-menus .menu-generation-metric-card span{color:var(--fm-ink-soft);font-size:.8rem}.fm-desktop-page-menus .menu-generation-metric-card strong{color:var(--fm-ink);font-size:.92rem}.fm-desktop-page-menus .menu-generation-metric-card.is-off-target{border-color:color-mix(in srgb,var(--fm-danger),var(--fm-line) 45%);background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 95%)}.fm-desktop-page-menus .menu-generation-warnings{display:grid;gap:6px}.fm-desktop-page-menus .menu-generation-sheet-notes,.fm-desktop-page-menus .menu-generation-diagnostics{display:grid;gap:8px}.fm-desktop-page-menus .menu-generation-summary-chips,.fm-desktop-page-menus .menu-generation-daily-list{display:flex;flex-wrap:wrap;gap:8px}.fm-desktop-page-menus .menu-generation-chip,.fm-desktop-page-menus .menu-generation-day-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fm-line),transparent 10%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 10%);font-size:.82rem;color:var(--fm-ink)}.fm-desktop-page-menus .menu-generation-chip.is-alert,.fm-desktop-page-menus .menu-generation-day-pill.is-off{border-color:color-mix(in srgb,var(--fm-danger),var(--fm-line) 35%);background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 95%)}.fm-desktop-page-menus .menu-generation-day-pill.is-target{border-color:color-mix(in srgb,var(--fm-success),var(--fm-line) 40%);background:color-mix(in srgb,var(--fm-success),var(--fm-surface) 94%)}.fm-desktop-page-menus .menu-generation-day-pill.is-tolerated{border-color:color-mix(in srgb,var(--fm-warning),var(--fm-line) 40%);background:color-mix(in srgb,var(--fm-warning),var(--fm-surface) 94%)}.fm-desktop-page-menus .menu-generation-diagnostic-item{display:grid;gap:4px;padding:10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--fm-line),transparent 8%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%)}.fm-desktop-page-menus .menu-generation-diagnostic-item p,.fm-desktop-page-menus .menu-generation-diagnostic-item small{margin:0;font-size:.9rem}.fm-desktop-page-menus .menu-generation-diagnostic-item small{color:var(--fm-ink-soft);line-height:1.4;font-size:.8rem}.fm-desktop-page-menus .menu-generation-actions{display:flex;justify-content:space-between;gap:8px}@keyframes fm-menu-generation-progress{0%{left:-35%}to{left:100%}}}@media(min-width:851px){.fm-desktop-page-recipes .fm-recipes-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;height:100%;min-height:0;--fm-recipes-list-width: clamp(310px, 28vw, 390px)}.fm-desktop-page-recipes .recipes-mobile-head{margin:0;padding:10px;display:grid;gap:8px}.fm-desktop-page-recipes .recipes-mobile-head .header-row{margin:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:0}.fm-desktop-page-recipes .recipes-mobile-head .header-row>h1{display:none}.fm-desktop-page-recipes .recipes-mobile-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:8px;width:100%}.fm-desktop-page-recipes .recipes-head-filter-btn{min-height:40px;white-space:nowrap}.fm-desktop-page-recipes .recipes-mobile-toolbar .is-search-field{margin:0;min-height:38px;height:38px}.fm-desktop-page-recipes .recipes-head-actions-btn{width:34px;min-width:34px;height:34px;min-height:34px;padding:0}.fm-desktop-page-recipes .recipes-filters-sheet{display:grid;gap:14px;min-width:min(420px,100%)}.fm-desktop-page-recipes .recipes-filters-sheet .fm-choice-chip{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);min-height:24px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:12px;padding:8px 10px;color:var(--fm-ink-soft);font-size:.78rem;line-height:1.2;cursor:pointer}.fm-desktop-page-recipes .recipes-filters-sheet .fm-choice-chip.active{border-color:#fa5a2c61;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-ink)}.fm-desktop-page-recipes .recipes-filters-sheet-toggle{align-items:start}.fm-desktop-page-recipes .recipes-filters-sheet-toggle span{display:grid;gap:4px}.fm-desktop-page-recipes .recipes-filters-sheet-toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:1px 0 0;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface);background-position:center;background-repeat:no-repeat;background-size:12px 12px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.fm-desktop-page-recipes .recipes-filters-sheet-toggle input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}.fm-desktop-page-recipes .recipes-filters-sheet-toggle input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-brand),transparent 78%)}.fm-desktop-page-recipes .recipes-filters-sheet-toggle strong{font-size:.95rem;line-height:1.25}.fm-desktop-page-recipes .recipes-filters-sheet-toggle small{color:var(--fm-ink-soft);line-height:1.4}.fm-desktop-page-recipes .recipes-filters-sheet-actions{display:flex;justify-content:flex-end;gap:8px}.fm-desktop-page-recipes .recipes-mobile-categories{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-ms-overflow-style:none}.fm-desktop-page-recipes .recipes-mobile-categories::-webkit-scrollbar{width:0;height:0;display:none}.fm-desktop-page-recipes .recipes-mobile-category-toggle{flex:0 0 auto;min-height:32px;min-width:65px;border-radius:999px;white-space:nowrap;font-size:.74rem;border-color:color-mix(in srgb,var(--recipe-category-bg, var(--fm-line)),var(--fm-line) 45%);background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 25%)}.fm-desktop-page-recipes .recipes-mobile-category-toggle.active{color:var(--fm-ink);border-color:color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-line) 35%);background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 10%)}.fm-desktop-page-recipes .recipes-layout{box-sizing:border-box;display:grid;grid-template-columns:var(--fm-recipes-list-width) minmax(0,1fr);gap:10px;min-height:0;height:100%;overflow:visible}.fm-desktop-page-recipes .recipes-list{box-sizing:border-box;min-width:0;min-height:0;border:1px solid var(--fm-line);border-radius:16px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);box-shadow:none;padding:9px;display:grid;gap:8px;align-content:start;overflow:auto;overflow-x:clip}.fm-desktop-page-recipes .recipes-list .panel-section{margin:0;border-radius:12px;box-shadow:none;padding:8px 10px}.fm-desktop-page-recipes .recipe-row-shell{min-width:0}.fm-desktop-page-recipes .recipe-row{box-sizing:border-box;position:relative;width:100%;max-width:100%;min-width:0;text-align:left;min-height:52px;border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface),transparent 2%);color:var(--fm-ink);padding:7px 9px 7px 24px;display:grid;grid-template-columns:minmax(0,1fr);gap:2px;justify-items:start;overflow:hidden}.fm-desktop-page-recipes .recipe-row-shell .recipe-row-main{height:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;cursor:pointer}.fm-desktop-page-recipes .recipe-row-shell .recipe-row-main:focus-visible{outline:2px solid color-mix(in srgb,var(--fm-brand),white 20%);outline-offset:2px}.fm-desktop-page-recipes .recipe-row>.fm-skeleton{box-sizing:border-box;display:block;max-width:100%!important;min-width:0}.fm-desktop-page-recipes .recipe-row:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:6px;border-radius:999px;background:var(--recipe-category-bg, color-mix(in srgb, var(--fm-brand), var(--fm-surface) 30%))}.fm-desktop-page-recipes .recipe-row.recipe-category-row:before{width:8px}.fm-desktop-page-recipes .recipe-row:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 52%);background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-surface) 90%)}.fm-desktop-page-recipes .recipe-row>span,.fm-desktop-page-recipes .recipe-row .recipe-row-title>span{color:var(--fm-ink);font-size:.92rem;font-weight:700;line-height:1.28}.fm-desktop-page-recipes .recipe-row .recipe-row-title{min-width:0;width:100%;display:inline-flex;align-items:flex-start;justify-content:space-between;gap:6px;line-height:1}.fm-desktop-page-recipes .recipe-row .recipe-row-copy{min-width:0;width:100%;display:grid;gap:2px}.fm-desktop-page-recipes .recipe-row .recipe-row-favorite-inline{align-self:center;justify-self:end;font-size:1rem}.fm-desktop-page-recipes .recipe-row .recipe-row-title>span{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-recipes .recipe-row .fm-diet-icons{margin:0;transform:translateY(1px)}.fm-desktop-page-recipes .recipe-row small{color:var(--fm-ink-soft);font-size:.84rem;line-height:1.35}.fm-desktop-page-recipes .recipe-row .recipe-row-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.fm-desktop-page-recipes .recipe-row .recipe-row-meta small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.fm-desktop-page-recipes .recipe-category-panel{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 48%);box-shadow:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px}.fm-desktop-page-recipes .recipe-sheet{min-width:0;min-height:0;border:1px solid var(--fm-line);border-radius:16px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);box-shadow:none;padding:10px;display:grid;gap:9px;align-content:start;overflow:auto}.fm-desktop-page-recipes .recipe-sheet .sheet-header{position:sticky;top:-1px;z-index:7;margin:0;padding:8px;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface);box-shadow:0 4px 10px #1015220f;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.fm-desktop-page-recipes .recipe-sheet .sheet-header h2{margin:0;min-width:0;font-size:1.22rem;line-height:1.3}.fm-desktop-page-recipes .recipe-sheet-title{display:inline-flex;align-items:center;gap:8px}.fm-desktop-page-recipes .recipe-sheet-title>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-recipes .recipe-sheet-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.fm-desktop-page-recipes .recipe-sheet-head-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.fm-desktop-page-recipes .recipe-sheet .panel-section{margin:0;border-radius:14px;box-shadow:none;padding:10px;display:grid;gap:8px;overflow:visible}.fm-desktop-page-recipes .recipe-category-badge{border:1px solid var(--fm-line);border-radius:999px;background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 40%);color:var(--fm-ink);padding:4px 9px;display:inline-flex;align-items:center;font-size:.86rem;font-weight:700}@media(max-width:1200px){.fm-desktop-page-recipes .recipe-category-badge{display:none}}.fm-desktop-page-recipes .recipe-permission-badge{margin-left:6px;background:var(--fm-surface-2);color:var(--fm-ink-soft);text-transform:uppercase;font-size:.74rem;font-family:var(--fm-font-mono);letter-spacing:.08em}.fm-desktop-page-recipes .recipe-macros-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-desktop-page-recipes .fm-macro-badges{display:flex;flex-wrap:wrap;gap:8px}.fm-desktop-page-recipes .fm-macro-badges.is-collapsed{max-height:60px;overflow:hidden}.fm-desktop-page-recipes .fm-macro-badge{flex:1 1 clamp(160px,26%,230px);min-width:clamp(160px,24%,190px);max-width:230px;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),transparent 5%);padding:8px 9px;min-height:42px;display:grid;gap:3px}.fm-desktop-page-recipes .fm-macro-badge small{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);color:var(--fm-ink-soft)}.fm-desktop-page-recipes .fm-macro-badge b{font-size:1rem;line-height:1.2;color:var(--fm-ink)}.fm-desktop-page-recipes .fm-macro-badge.is-calories{border-color:color-mix(in srgb,var(--fm-macro-calories),transparent 62%);background:color-mix(in srgb,var(--fm-macro-calories),var(--fm-surface) 88%)}.fm-desktop-page-recipes .fm-macro-badge.is-proteins{border-color:color-mix(in srgb,var(--fm-macro-proteins),transparent 62%);background:color-mix(in srgb,var(--fm-macro-proteins),var(--fm-surface) 88%)}.fm-desktop-page-recipes .fm-macro-badge.is-carbs{border-color:color-mix(in srgb,var(--fm-macro-carbs),transparent 62%);background:color-mix(in srgb,var(--fm-macro-carbs),var(--fm-surface) 88%)}.fm-desktop-page-recipes .fm-macro-badge.is-fats{border-color:color-mix(in srgb,var(--fm-macro-fats),transparent 60%);background:color-mix(in srgb,var(--fm-macro-fats),var(--fm-surface) 87%)}.fm-desktop-page-recipes .fm-macro-badge.is-fibers{border-color:color-mix(in srgb,var(--fm-macro-fibers),transparent 62%);background:color-mix(in srgb,var(--fm-macro-fibers),var(--fm-surface) 89%)}.fm-desktop-page-recipes .fm-macro-badge.is-salt{border-color:color-mix(in srgb,var(--fm-macro-salt),transparent 62%);background:color-mix(in srgb,var(--fm-macro-salt),var(--fm-surface) 89%)}.fm-desktop-page-recipes .recipe-servings-control{display:grid;gap:6px}.fm-desktop-page-recipes .recipe-servings-member-list{display:grid;gap:8px;margin:4px 0 6px}.fm-desktop-page-recipes .recipe-servings-member-row{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:6px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.fm-desktop-page-recipes .recipe-servings-member-name{color:var(--fm-ink);font-size:.96rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-desktop-page-recipes .recipe-servings-stepper{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:6px;align-items:center}.fm-desktop-page-recipes .recipe-servings-stepper .btn{min-width:34px;width:34px;min-height:34px;height:34px;padding:0}.fm-desktop-page-recipes .recipe-servings-value{min-width:38px;min-height:34px;border:1px solid var(--fm-line);border-radius:10px;background:var(--fm-surface);display:grid;place-items:center;font-family:var(--fm-font-head);font-size:.96rem;padding:0 8px}.fm-desktop-page-recipes .object-list{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:7px}.fm-desktop-page-recipes .recipe-ingredient-line{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:5px 6px 5px 9px;color:var(--fm-ink);display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-desktop-page-recipes .recipe-ingredient-name{min-width:0;color:var(--fm-ink);font-size:.96rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-recipes .recipe-ingredient-qty-badge{flex:0 0 auto;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface);color:var(--fm-ink-soft);min-height:24px;padding:0 8px;display:inline-flex;align-items:center;font-size:.9rem;font-family:var(--fm-font-mono);line-height:1}.fm-desktop-page-recipes .recipe-sheet-condiments{margin-top:4px}.fm-desktop-page-recipes .recipe-sheet-condiments-list{display:flex;flex-wrap:wrap;gap:6px}.fm-desktop-page-recipes .recipe-sheet-condiment-pill{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink-soft);font-size:.82rem;padding:4px 8px}.fm-desktop-page-recipes .recipe-step-item{margin:10px 0 0 5px;padding-left:18px;display:grid;gap:8px}.fm-desktop-page-recipes .recipe-step-item>li{list-style:decimal-leading-zero;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:9px 10px;font-size:.96rem;line-height:1.45;color:var(--fm-ink)}.fm-desktop-page-recipes .recipe-sheet-bottom-spacer{display:block;height:2px;max-height:2px;margin:0}.fm-desktop-page-recipes .recipes-sheet-actions{display:grid;gap:8px}.fm-desktop-page-recipes .food-request-sheet{gap:12px}.fm-desktop-page-recipes .food-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fm-desktop-page-recipes .food-request-grid label{display:grid;gap:6px}.fm-desktop-page-recipes .recipes-food-request-modal{width:min(980px,calc(100vw - 40px));max-height:calc(100vh - 40px);padding:0;overflow:hidden;border:1px solid var(--fm-line);border-radius:22px;background:var(--fm-surface);box-shadow:var(--fm-shadow-pop)}.fm-desktop-page-recipes .recipes-food-request-page{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;max-height:calc(100vh - 40px)}.fm-desktop-page-recipes .recipes-food-request-head{padding:12px;border-bottom:1px solid var(--fm-line);background:color-mix(in srgb,var(--fm-surface),transparent 4%)}.fm-desktop-page-recipes .recipes-food-request-head>h1{margin:0}.fm-desktop-page-recipes .recipes-food-request-form{padding:12px;overflow:auto;display:grid;gap:12px;min-height:0}.fm-desktop-page-recipes .recipes-food-request-page .panel-section{margin:0;padding:12px;border-radius:14px;display:grid;gap:10px;align-content:start}.fm-desktop-page-recipes .recipes-food-request-page .label{margin:0;color:var(--fm-ink-soft);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-page-recipes .recipes-food-request-page .input,.fm-desktop-page-recipes .recipes-food-request-page select.input,.fm-desktop-page-recipes .recipes-food-request-page input.input,.fm-desktop-page-recipes .recipes-food-request-page .fullwidth{width:100%!important;max-width:100%!important;box-sizing:border-box}.fm-desktop-page-recipes .recipes-food-request-page .food-inline-fields,.fm-desktop-page-recipes .recipes-food-request-page .food-unit-place-row,.fm-desktop-page-recipes .recipes-food-request-page .food-inline-row,.fm-desktop-page-recipes .recipes-food-request-page .food-options-grid,.fm-desktop-page-recipes .recipes-food-request-page .food-macros-grid{display:grid;gap:10px}.fm-desktop-page-recipes .recipes-food-request-page .food-inline-fields{grid-template-columns:minmax(0,1fr)}.fm-desktop-page-recipes .recipes-food-request-page .food-inline-fields>div,.fm-desktop-page-recipes .recipes-food-request-page .food-unit-place-row>div,.fm-desktop-page-recipes .recipes-food-request-page .food-macros-grid>div,.fm-desktop-page-recipes .recipes-food-request-page .food-options-grid>div{min-width:0;display:grid;gap:6px}.fm-desktop-page-recipes .recipes-food-request-page .food-inline-row{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.fm-desktop-page-recipes .recipes-food-request-page .food-unit-place-row{grid-template-columns:minmax(140px,180px) minmax(0,1fr)}.fm-desktop-page-recipes .recipes-food-request-page .food-macros-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-desktop-page-recipes .recipes-food-request-page .food-grid-span-2{grid-column:span 2}.fm-desktop-page-recipes .recipes-food-request-page .food-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-desktop-page-recipes .recipes-food-request-page .food-options-grid>.actions{grid-column:1 / -1;border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px}.fm-desktop-page-recipes .recipes-food-request-page .food-options-grid>.actions .label{margin:0;color:var(--fm-ink);font-size:.9rem;letter-spacing:0;text-transform:none;font-family:var(--fm-font-body)}.fm-desktop-page-recipes .recipes-food-request-page .food-options-grid>.actions input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--fm-brand)}.fm-desktop-page-recipes .recipes-food-request-actions{justify-content:flex-end}.fm-desktop-page-recipes .recipe-import-overlay.fm-txt-import-overlay{position:fixed;inset:0;z-index:1700;display:grid;place-items:center;padding:14px;background:#090a128a}.fm-desktop-page-recipes .recipe-import-modal.fm-txt-import-sheet{width:min(980px,100%);max-height:calc(100vh - 28px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0;border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface);box-shadow:var(--fm-shadow-pop)}.fm-desktop-page-recipes .fm-txt-import-head{position:sticky;top:0;z-index:3;border-bottom:1px solid var(--fm-line);background:color-mix(in srgb,var(--fm-surface),transparent 4%);padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:0}.fm-desktop-page-recipes .fm-txt-import-head-copy{min-width:0;display:grid;gap:2px}.fm-desktop-page-recipes .fm-txt-import-head-copy p{margin:0;font-size:.62rem;font-family:var(--fm-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fm-ink-soft)}.fm-desktop-page-recipes .fm-txt-import-head-copy h2{margin:0;font-size:1rem;line-height:1.2}.fm-desktop-page-recipes .fm-txt-import-progress{min-height:26px;border:1px solid var(--fm-line);border-radius:999px;padding:0 10px;display:inline-flex;align-items:center;font-family:var(--fm-font-mono);font-size:.72rem;color:var(--fm-ink-soft);background:var(--fm-surface-2)}.fm-desktop-page-recipes .fm-txt-import-body{min-height:0;overflow:auto;padding:10px;display:grid;grid-template-columns:minmax(0,37%) minmax(0,63%);grid-template-areas:"main main" "ingredients steps";gap:10px;align-content:start;align-items:start}.fm-desktop-page-recipes .fm-txt-import-body .label{margin:0;color:var(--fm-ink-soft);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-page-recipes .fm-txt-import-main{grid-area:main}.fm-desktop-page-recipes .fm-txt-import-ingredients{grid-area:ingredients;display:grid;gap:8px;min-height:fit-content;align-content:start}.fm-desktop-page-recipes .fm-txt-import-steps{grid-area:steps;display:grid;gap:8px;min-height:fit-content;align-content:start}.fm-desktop-page-recipes .fm-txt-import-body .panel-section{margin:0;border-radius:14px;box-shadow:none;padding:10px;display:grid;gap:8px;align-content:start}.fm-desktop-page-recipes .fm-txt-import-meta-grid{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end}.fm-desktop-page-recipes .fm-txt-import-meta-name,.fm-desktop-page-recipes .fm-txt-import-meta-category,.fm-desktop-page-recipes .fm-txt-import-servings-field{min-width:0;display:grid;gap:6px}.fm-desktop-page-recipes .fm-txt-import-meta-side{display:grid;grid-template-columns:auto auto;gap:8px;align-items:end;justify-self:start}.fm-desktop-page-recipes .txt-import-input-fullwidth{width:auto!important;display:block;min-width:0;max-width:none!important;box-sizing:border-box}.fm-desktop-page-recipes .fm-txt-import-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-desktop-page-recipes .fm-txt-import-section-head small{color:var(--fm-ink-soft);font-size:.7rem;font-family:var(--fm-font-mono);letter-spacing:.06em;text-transform:uppercase}.fm-desktop-page-recipes .fm-txt-import-row-list,.fm-desktop-page-recipes .fm-txt-import-step-list{display:grid;gap:8px}.fm-desktop-page-recipes .fm-txt-import-row,.fm-desktop-page-recipes .fm-txt-import-step-card{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:8px;display:grid;gap:7px}.fm-desktop-page-recipes .fm-txt-import-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-desktop-page-recipes .fm-txt-import-include{display:inline-flex;align-items:center;gap:6px;font-size:.78rem}.fm-desktop-page-recipes .fm-txt-import-include input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:var(--fm-brand)}.fm-desktop-page-recipes .fm-txt-import-status{font-size:.7rem;font-family:var(--fm-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fm-ink-soft)}.fm-desktop-page-recipes .fm-txt-import-detected{margin:0;color:var(--fm-ink-soft);font-size:.8rem;line-height:1.3}.fm-desktop-page-recipes .fm-txt-import-qty-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px}.fm-desktop-page-recipes .fm-txt-import-step-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-desktop-page-recipes .fm-txt-import-step-title{font-size:.8rem;font-family:var(--fm-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fm-ink-soft)}.fm-desktop-page-recipes .fm-txt-import-step-actions{display:inline-flex;align-items:center;gap:6px}.fm-desktop-page-recipes .recipe-step-input,.fm-desktop-page-recipes .recipe-step-preview{min-height:60px}.fm-desktop-page-recipes .recipe-step-preview{border:1px solid var(--fm-line);border-radius:10px;background:var(--fm-surface);padding:8px;font-size:.84rem;line-height:1.35;color:var(--fm-ink);white-space:pre-wrap}.fm-desktop-page-recipes .fm-txt-import-row.excluded{opacity:.62}.fm-desktop-page-recipes .fm-txt-import-row.unmapped,.fm-desktop-page-recipes .fm-txt-import-row.invalid{border-color:color-mix(in srgb,var(--fm-warning),var(--fm-line) 32%);background:color-mix(in srgb,var(--fm-warning),var(--fm-surface) 90%)}.fm-desktop-page-recipes .fm-txt-import-row.ready{border-color:color-mix(in srgb,var(--fm-mint),var(--fm-line) 38%);background:color-mix(in srgb,var(--fm-mint),var(--fm-surface) 91%)}.fm-desktop-page-recipes .fm-txt-import-warning{margin:0}.fm-desktop-page-recipes .fm-txt-import-foot{border-top:1px solid var(--fm-line);padding:10px;display:flex;justify-content:flex-end;align-items:center;gap:8px;background:color-mix(in srgb,var(--fm-surface),transparent 4%)}.fm-desktop-page-recipes .error{margin-top:8px}}@media(min-width:851px){.fm-desktop-page-recipes .education-page .recipes-mobile-category-toggle{max-width:min(240px,100%);overflow:hidden;text-overflow:ellipsis}.fm-desktop-page-recipes .education-page .recipe-row{overflow:hidden}.fm-desktop-page-recipes .education-page .recipe-row .recipe-row-title{display:block}.fm-desktop-page-recipes .education-page .recipes-list .recipe-row .education-row-title-text{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-recipes .education-page .recipe-row .recipe-row-meta{align-items:flex-start;flex-wrap:wrap}.fm-desktop-page-recipes .education-page .recipe-row .recipe-row-meta small{overflow:visible;text-overflow:initial;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.fm-desktop-page-recipes .education-page .recipes-list .recipe-row .education-row-summary{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-recipes .education-page .education-mobile-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%}.fm-desktop-page-recipes .education-page .recipe-category-panel{align-items:center}.fm-desktop-page-recipes .education-page .recipe-category-panel strong,.fm-desktop-page-recipes .education-page .recipe-category-panel small,.fm-desktop-page-recipes .education-page .recipe-sheet h2,.fm-desktop-page-recipes .education-page .recipe-sheet p,.fm-desktop-page-recipes .education-page .recipe-sheet small,.fm-desktop-page-recipes .education-page .recipe-sheet strong,.fm-desktop-page-recipes .education-page .recipe-step-item>li{overflow-wrap:anywhere;word-break:break-word}.fm-desktop-page-recipes .education-page .recipe-sheet-title{min-width:0;display:block}.fm-desktop-page-recipes .education-page .recipe-sheet-title>span{display:block;overflow:visible;text-overflow:initial;white-space:normal}.fm-desktop-page-recipes .education-page .recipe-sheet-head-actions{min-width:0;flex-wrap:wrap}.fm-desktop-page-recipes .education-page .recipe-category-badge,.fm-desktop-page-recipes .education-page .recipe-sheet-condiment-pill{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:left}.fm-desktop-page-recipes .education-page .recipe-ingredient-line{align-items:flex-start}.fm-desktop-page-recipes .education-page .recipe-ingredient-name{white-space:normal;overflow:visible;text-overflow:initial;overflow-wrap:anywhere;word-break:break-word}}@media(min-width:851px){.fm-desktop-page-recipe-consult .fm-recipe-consult-page{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;height:100%;min-height:0;min-width:0;overflow:visible}.fm-desktop-page-recipe-consult .fm-recipe-consult-page>*{min-width:0}.fm-desktop-page-recipe-consult .header-row.fm-nav-header h1{margin:0;min-width:0;color:var(--fm-ink);font-size:1.04rem;font-family:var(--fm-font-head);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-desktop-page-recipe-consult .recipe-consult-title{display:inline-flex;align-items:center;gap:8px}.fm-desktop-page-recipe-consult .recipe-consult-title>span,.fm-desktop-page-recipe-consult .recipe-consult-title>strong{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-recipe-consult .recipe-consult-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.fm-desktop-page-recipe-consult .recipe-consult-layout{min-height:0;overflow:auto;display:grid;grid-template-columns:minmax(320px,min(30%,480px)) minmax(320px,auto);grid-template-areas:"macros steps" "ingredients steps";align-items:start;gap:10px;align-content:start;padding-right:2px;scrollbar-width:none;-ms-overflow-style:none}.fm-desktop-page-recipe-consult .recipe-consult-layout::-webkit-scrollbar{width:0;height:0;display:none}.fm-desktop-page-recipe-consult .recipe-consult-layout>.panel-section{margin:0;padding:10px;border-radius:14px;box-shadow:none;display:grid;gap:8px;align-content:start}.fm-desktop-page-recipe-consult .recipe-consult-layout>.fm-recipe-macros-block{grid-area:macros}.fm-desktop-page-recipe-consult .recipe-consult-layout>.recipe-consult-ingredients{grid-area:ingredients}.fm-desktop-page-recipe-consult .recipe-consult-layout>.recipe-consult-steps{grid-area:steps}.fm-desktop-page-recipe-consult .recipe-macros-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-desktop-page-recipe-consult .recipe-macros-head>div{min-width:0}.fm-desktop-page-recipe-consult .recipe-macros-head strong{display:block;color:var(--fm-ink);font-size:1rem;line-height:1.2}.fm-desktop-page-recipe-consult .hint{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-family:var(--fm-font-mono);color:var(--fm-ink-soft);opacity:.9}.fm-desktop-page-recipe-consult .fm-macro-badges{display:flex;flex-wrap:wrap;gap:8px}.fm-desktop-page-recipe-consult .fm-macro-badge{flex:1 1 clamp(100px,42%,290px);min-width:clamp(100px,40%,220px);border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),transparent 5%);padding:8px 9px;min-height:42px;display:grid;gap:3px}.fm-desktop-page-recipe-consult .fm-macro-badge small{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);color:var(--fm-ink-soft)}.fm-desktop-page-recipe-consult .fm-macro-badge b{font-size:.98rem;line-height:1.2;color:var(--fm-ink)}.fm-desktop-page-recipe-consult .fm-macro-badge.is-calories{border-color:color-mix(in srgb,var(--fm-macro-calories),transparent 62%);background:color-mix(in srgb,var(--fm-macro-calories),var(--fm-surface) 88%)}.fm-desktop-page-recipe-consult .fm-macro-badge.is-proteins{border-color:color-mix(in srgb,var(--fm-macro-proteins),transparent 62%);background:color-mix(in srgb,var(--fm-macro-proteins),var(--fm-surface) 88%)}.fm-desktop-page-recipe-consult .fm-macro-badge.is-carbs{border-color:color-mix(in srgb,var(--fm-macro-carbs),transparent 62%);background:color-mix(in srgb,var(--fm-macro-carbs),var(--fm-surface) 88%)}.fm-desktop-page-recipe-consult .fm-macro-badge.is-fats{border-color:color-mix(in srgb,var(--fm-macro-fats),transparent 60%);background:color-mix(in srgb,var(--fm-macro-fats),var(--fm-surface) 87%)}.fm-desktop-page-recipe-consult .fm-macro-badge.is-fibers{border-color:color-mix(in srgb,var(--fm-macro-fibers),transparent 62%);background:color-mix(in srgb,var(--fm-macro-fibers),var(--fm-surface) 89%)}.fm-desktop-page-recipe-consult .fm-macro-badge.is-salt{border-color:color-mix(in srgb,var(--fm-macro-salt),transparent 62%);background:color-mix(in srgb,var(--fm-macro-salt),var(--fm-surface) 89%)}.fm-desktop-page-recipe-consult .recipe-consult-servings{display:grid;gap:8px}.fm-desktop-page-recipe-consult .recipe-consult-servings>strong{margin:0;color:var(--fm-ink);font-size:1rem;line-height:1.2}.fm-desktop-page-recipe-consult .recipe-consult-member-list{display:grid;gap:6px}.fm-desktop-page-recipe-consult .recipe-consult-member-row{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:6px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.fm-desktop-page-recipe-consult .recipe-consult-member-meta{min-width:0;display:flex;align-items:center;gap:8px}.fm-desktop-page-recipe-consult .recipe-consult-member-name{color:var(--fm-ink);font-size:.9rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-desktop-page-recipe-consult .recipe-consult-servings-stepper{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:5px;align-items:center}.fm-desktop-page-recipe-consult .recipe-consult-servings-stepper .btn{width:34px;min-width:34px;height:34px;min-height:34px;padding:0!important}.fm-desktop-page-recipe-consult .recipe-consult-servings-value{min-width:38px;min-height:34px;border:1px solid var(--fm-line);border-radius:10px;background:var(--fm-surface);display:grid;place-items:center;font-family:var(--fm-font-head);font-size:.9rem;line-height:1;padding:0 8px}.fm-desktop-page-recipe-consult .fm-card-head.fm-txt-import-section-head{margin-top:2px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.fm-desktop-page-recipe-consult .fm-card-head.fm-txt-import-section-head strong{margin:0;color:var(--fm-ink);font-size:1rem;line-height:1.2}.fm-desktop-page-recipe-consult .fm-card-head.fm-txt-import-section-head small{color:var(--fm-ink-soft);font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;font-family:var(--fm-font-mono);white-space:nowrap}.fm-desktop-page-recipe-consult .object-list{margin:0;padding:0;list-style:none;display:grid;gap:7px}.fm-desktop-page-recipe-consult .recipe-ingredient-line{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:5px 6px 5px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-desktop-page-recipe-consult .recipe-ingredient-name{min-width:0;color:var(--fm-ink);font-size:.88rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-page-recipe-consult .recipe-ingredient-qty-badge{flex:0 0 auto;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface);color:var(--fm-ink-soft);min-height:24px;padding:0 8px;display:inline-flex;align-items:center;font-size:.8rem;font-family:var(--fm-font-mono);line-height:1}.fm-desktop-page-recipe-consult .recipe-consult-condiments-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.fm-desktop-page-recipe-consult .recipe-consult-condiment-pill{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink-soft);font-size:.78rem;line-height:1.2;padding:4px 9px}.fm-desktop-page-recipe-consult .recipe-consult-steps h3{margin:0;color:var(--fm-ink);font-size:1rem;line-height:1.2}.fm-desktop-page-recipe-consult .recipe-step-item{margin:0 0 0 6px;padding-left:18px;display:grid;gap:8px}.fm-desktop-page-recipe-consult .recipe-step-item>li{list-style:decimal-leading-zero;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:9px 10px;color:var(--fm-ink);font-size:.88rem;line-height:1.42}.fm-desktop-page-recipe-consult .recipe-consult-sheet-actions{display:grid;gap:8px}.fm-desktop-page-recipe-consult .recipe-consult-sheet-actions .btn{width:100%;min-height:34px;justify-content:flex-start;text-align:left}}@media(min-width:851px){.fm-desktop-shell .fm-recipe-edit-v2{--fm-edit-gap: 10px;--fm-edit-card-gap: 8px;--fm-edit-panel-pad: 10px;--fm-edit-scroll-max: clamp(300px, 46vh, 560px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--fm-edit-gap);height:100%;min-height:0;overflow:visible;min-width:0}.fm-desktop-shell .fm-recipe-edit-v2>*{min-width:0}.fm-desktop-shell .fm-recipe-edit-v2,.fm-desktop-shell .fm-recipe-edit-v2 *{scrollbar-width:none;-ms-overflow-style:none}.fm-desktop-shell .fm-recipe-edit-v2::-webkit-scrollbar,.fm-desktop-shell .fm-recipe-edit-v2 *::-webkit-scrollbar{width:0;height:0;display:none}.fm-desktop-shell .fm-recipe-edit-v2 .header-row.fm-nav-header>h1{display:none}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-header-actions .btn{min-width:160px;min-height:34px;height:34px;font-size:.92rem}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-edit-layout{min-height:0;min-width:0;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);grid-template-areas:"overview meta" "columns columns" "steps steps";gap:12px;align-content:start;align-items:start;scrollbar-width:none}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-edit-layout>.panel-section{align-self:start}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-edit-columns{grid-area:columns;min-width:0;display:grid;grid-template-columns:minmax(265px,20%) auto minmax(280px,25%);gap:var(--fm-edit-gap);align-items:start}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-edit-column{min-width:0;display:grid;gap:var(--fm-edit-gap);align-content:start;align-items:start}.fm-desktop-shell .fm-recipe-edit-v2 .panel-section{margin:0;padding:var(--fm-edit-panel-pad);border-radius:14px;display:grid;gap:var(--fm-edit-card-gap);align-content:start;min-width:0;min-height:0;overflow:visible}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-overview{grid-area:overview;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;min-height:60px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-overview-head{display:grid;gap:6px;min-width:0}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-overview-head .input{min-height:40px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-kpis{display:flex;align-items:stretch;justify-content:flex-end;gap:8px;flex-wrap:wrap;height:100%}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-stat-nutri{flex:0 0 auto;align-self:center}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-stat-chip{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%);min-width:90px;min-height:36px;padding:8px 10px;display:grid;gap:2px;align-content:center}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-stat-chip small{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fm-ink-soft);font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-stat-chip b{margin:0;color:var(--fm-ink);font-family:var(--fm-font-head);font-size:1.06rem;line-height:1.2}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-meta-block{grid-area:meta;min-height:0;align-self:start;padding-top:12px;padding-bottom:12px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;align-items:start}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-field{min-width:0;display:grid;gap:6px;align-content:start}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-meta-block .input,.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-meta-block select.input,.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-meta-block input.input{width:100%!important;max-width:100%!important;min-width:0;box-sizing:border-box}.fm-desktop-shell .fm-recipe-edit-v2 .label{margin:0;color:var(--fm-ink-soft);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-meta-hint{margin:0;color:var(--fm-ink-soft);font-size:.86rem;line-height:1.35}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-section-head strong{color:var(--fm-ink);font-size:1.05rem;line-height:1.2}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-section-head small{display:block;margin-top:2px;color:var(--fm-ink-soft);font-size:.78rem;font-family:var(--fm-font-mono);letter-spacing:.05em}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-food-bank{min-width:0}.fm-desktop-shell .fm-recipe-edit-v2 .is-search-field{width:100%;max-width:100%;box-sizing:border-box}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-food-list{min-height:220px;max-height:var(--fm-edit-scroll-max);overflow:auto;display:grid;gap:7px;padding-right:2px;align-content:start}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-food-item{width:100%!important;min-height:32px;justify-content:space-between!important;text-align:left;padding:0 3px 0 10px!important;gap:10px;border-radius:11px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-food-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fm-ink);font-size:.82rem;font-weight:700}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-food-unit-badge{flex:0 0 auto;border:1px solid var(--fm-line);border-radius:999px;background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 8%);color:var(--fm-ink-soft);min-height:22px;padding:0 8px;display:inline-flex;align-items:center;font-size:.72rem;font-family:var(--fm-font-mono);letter-spacing:.05em;line-height:1;white-space:nowrap}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredients-block{overflow:visible;height:auto;max-height:none;align-self:start}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-empty-state{border:1px dashed color-mix(in srgb,var(--fm-line),var(--fm-ink) 14%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%);padding:12px 10px;color:var(--fm-ink-soft);font-size:.9rem}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-empty-state>p{margin:0 0 8px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-empty-state>.btn{width:100%}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredients-list{display:grid;gap:7px;align-content:start;min-height:0;max-height:none;height:auto;overflow:visible;padding-right:0}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredient-card{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 10%);padding:8px;display:grid;grid-template-columns:minmax(80px,12%) minmax(80px,12%) minmax(0,1fr) auto;align-items:center;gap:8px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredient-head,.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredient-bottom{display:contents}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredient-bottom>.fm-recipe-field{display:grid;gap:0;min-width:0}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredient-bottom>.fm-recipe-field>.label{display:none}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredient-bottom>.fm-recipe-field:nth-child(1){grid-column:1;grid-row:1}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredient-bottom>.fm-recipe-field:nth-child(2){grid-column:2;grid-row:1}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredient-head>.recipe-edit-food-select{grid-column:3;grid-row:1;min-width:0}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredient-head>.btn{grid-column:4;grid-row:1}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredient-bottom>.fm-recipe-field .input,.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-ingredient-bottom>.fm-recipe-field select.input{width:100%;max-width:100%;box-sizing:border-box}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-condiments-block{min-width:0}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-condiment-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-height:132px;overflow:auto;padding-right:2px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-condiment-chip{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink);min-height:30px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font-size:.86rem;font-weight:700}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-condiment-chip i{color:var(--fm-ink-soft);font-size:.9rem}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-macros-block{min-width:0}.fm-desktop-shell .fm-recipe-edit-v2 .fm-macro-badges{display:flex;flex-wrap:wrap;gap:8px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-macro-badge{flex:1 1 clamp(100px,26%,230px);min-width:clamp(100px,24%,190px);max-width:230px;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),transparent 5%);padding:8px 9px;min-height:46px;display:grid;gap:3px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-macro-badge small{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);color:var(--fm-ink-soft)}.fm-desktop-shell .fm-recipe-edit-v2 .fm-macro-badge b{font-size:.9rem;line-height:1.2;color:var(--fm-ink)}.fm-desktop-shell .fm-recipe-edit-v2 .fm-macro-badge.is-calories{border-color:color-mix(in srgb,var(--fm-macro-calories),transparent 62%);background:color-mix(in srgb,var(--fm-macro-calories),var(--fm-surface) 88%)}.fm-desktop-shell .fm-recipe-edit-v2 .fm-macro-badge.is-proteins{border-color:color-mix(in srgb,var(--fm-macro-proteins),transparent 62%);background:color-mix(in srgb,var(--fm-macro-proteins),var(--fm-surface) 88%)}.fm-desktop-shell .fm-recipe-edit-v2 .fm-macro-badge.is-carbs{border-color:color-mix(in srgb,var(--fm-macro-carbs),transparent 62%);background:color-mix(in srgb,var(--fm-macro-carbs),var(--fm-surface) 88%)}.fm-desktop-shell .fm-recipe-edit-v2 .fm-macro-badge.is-fats{border-color:color-mix(in srgb,var(--fm-macro-fats),transparent 60%);background:color-mix(in srgb,var(--fm-macro-fats),var(--fm-surface) 87%)}.fm-desktop-shell .fm-recipe-edit-v2 .fm-macro-badge.is-fibers{border-color:color-mix(in srgb,var(--fm-macro-fibers),transparent 62%);background:color-mix(in srgb,var(--fm-macro-fibers),var(--fm-surface) 89%)}.fm-desktop-shell .fm-recipe-edit-v2 .fm-macro-badge.is-salt{border-color:color-mix(in srgb,var(--fm-macro-salt),transparent 62%);background:color-mix(in srgb,var(--fm-macro-salt),var(--fm-surface) 89%)}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-steps-block{grid-area:steps;min-width:0;overflow:visible;height:auto;max-height:none}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-steps-list{display:grid;gap:8px;max-height:none;height:auto;overflow:visible;padding-right:0}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-step-card{border:1px solid var(--fm-line);border-radius:13px;background:var(--fm-surface-2);padding:9px;display:grid;gap:8px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-step-head{display:grid;gap:8px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-step-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:2px;border-bottom:1px dashed color-mix(in srgb,var(--fm-line),transparent 24%)}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-step-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-step-input{width:100%;min-height:86px;resize:vertical;box-sizing:border-box;padding:9px 10px;font-size:.96rem;line-height:1.4}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-step-preview{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface);padding:9px 10px;color:var(--fm-ink);font-size:.96rem;line-height:1.42;white-space:pre-wrap;cursor:pointer}.fm-desktop-shell .fm-recipe-edit-v2 .recipe-edit-add-step-btn{width:100%;min-height:36px;height:36px;font-size:.94rem}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-edit-footer{display:none}.fm-desktop-shell .fm-recipe-edit-v2 em,.fm-desktop-shell .fm-recipe-edit-v2 .hint{color:var(--fm-ink-soft);font-size:.88rem;line-height:1.35}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-macros-block{max-height:none;overflow:visible}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-visibility-sheet{display:grid;gap:12px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-share-target-list{display:grid;gap:8px;max-height:280px;overflow:auto}.fm-desktop-shell .fm-recipe-edit-v2 .fm-share-target-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface-2)}.fm-desktop-shell .fm-recipe-edit-v2 .fm-share-target-item span{display:grid;gap:2px}.fm-desktop-shell .fm-recipe-edit-v2 .fm-share-target-item small{color:var(--fm-ink-soft)}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-sheet-actions{display:flex;justify-content:flex-end;gap:10px}}@media(min-width:851px)and (max-width:1250px){.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-stat-chip{display:none}.fm-desktop-shell .fm-recipe-edit-v2 .fm-recipe-edit-columns{grid-template-columns:minmax(180px,20%) auto minmax(100px,25%)}}@media(min-width:851px){.fm-desktop-page-foods .fm-foods-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;max-height:100%;height:auto!important;min-height:0;min-width:0;overflow:visible}.fm-desktop-page-foods .fm-foods-page>*{min-width:0}.fm-desktop-page-foods .foods-mobile-toolbar{margin:0;padding:10px;display:grid;gap:8px}.fm-desktop-page-foods .foods-mobile-toolbar-row{display:grid;grid-template-columns:auto minmax(0,100%) auto auto;align-items:center;gap:8px}.fm-desktop-page-foods .error{margin:0;border:1px solid color-mix(in srgb,var(--fm-danger),var(--fm-line) 34%);border-radius:12px;background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 88%);padding:9px 10px;color:color-mix(in srgb,var(--fm-danger),var(--fm-ink) 22%);font-size:.92rem;line-height:1.35}.fm-desktop-page-foods .foods-mobile-list{min-height:0;overflow:auto;border:1px solid var(--fm-line);border-radius:16px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);padding:9px;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:8px;align-content:start;scrollbar-width:none;-ms-overflow-style:none}.fm-desktop-page-foods .foods-mobile-list::-webkit-scrollbar{width:0;height:0;display:none}.fm-desktop-page-foods .foods-mobile-card{margin:0;padding:8px;border-radius:12px;display:grid;gap:8px;align-content:start;cursor:pointer;transition:border-color .13s ease,background-color .13s ease;box-shadow:var(--fm-shadow-card)!important}.fm-desktop-page-foods .foods-mobile-card:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 52%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 94%)}.fm-desktop-page-foods .foods-mobile-card:focus-visible{outline:2px solid color-mix(in srgb,var(--fm-brand),transparent 42%);outline-offset:1px}.fm-desktop-page-foods .foods-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.fm-desktop-page-foods .foods-mobile-card-head strong{min-width:0;font-family:var(--fm-font-head);color:var(--fm-ink);font-size:1.08rem;line-height:1.18}.fm-desktop-page-foods .foods-mobile-card-head span{flex:0 0 auto;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink-soft);font-size:.8rem;font-family:var(--fm-font-mono);letter-spacing:.06em;padding:3px 10px;line-height:1.2}.fm-desktop-page-foods .foods-mobile-card-meta{margin:0;color:var(--fm-ink-soft);font-size:.88rem}.fm-desktop-page-foods .foods-mobile-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.fm-desktop-page-foods .foods-mobile-macros span{border:1px solid var(--fm-line);border-radius:10px;background:var(--fm-surface-2);display:grid;gap:2px;padding:4px 6px;align-content:center}.fm-desktop-page-foods .foods-mobile-macros small{color:var(--fm-ink-soft);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-page-foods .foods-mobile-macros b{color:var(--fm-ink);font-size:.68rem;font-weight:700;white-space:nowrap;line-height:1.2}.fm-desktop-page-foods .foods-mobile-list>.hint{margin:0;grid-column:1 / -1;padding:12px;color:var(--fm-ink-soft);text-align:center}.fm-desktop-page-foods .foods-sheet-actions{display:grid;gap:6px}.fm-desktop-page-foods .foods-sheet-actions .btn,.fm-desktop-page-foods .foods-sheet-actions button{width:100%;min-height:34px;height:34px;text-align:left}.fm-desktop-page-foods .foods-filters-sheet{display:grid;gap:8px;min-width:0;width:100%;max-width:100%}.fm-desktop-page-foods .foods-filters-sheet-grid{display:grid;grid-template-columns:1fr;gap:7px}.fm-desktop-page-foods .foods-filters-sheet-grid>div{min-width:0;display:grid;gap:5px}.fm-desktop-page-foods .foods-filters-sheet-grid .input,.fm-desktop-page-foods .foods-filters-sheet-grid select.input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.fm-desktop-page-foods .foods-filters-sheet-grid .label{margin:0;color:var(--fm-ink-soft);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-page-foods .foods-filters-sheet-actions{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px}.fm-desktop-page-foods .foods-filters-sheet-actions .btn{min-width:0;width:100%}.fm-desktop-page-foods .fm-food-editor-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#0e12186b;padding:16px}.fm-desktop-page-foods .fm-admin-editor-modal{width:min(920px,calc(100vw - 48px));max-height:calc(100vh - 48px);border-radius:28px;padding:20px;overflow:auto}.fm-desktop-page-foods .fm-admin-editor-head{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.fm-desktop-page-foods .fm-admin-editor-head h3{margin:0;color:var(--fm-ink);font-family:var(--fm-font-head);line-height:1.2}.fm-desktop-page-foods .fm-admin-editor-sheet,.fm-desktop-page-foods .fm-admin-editor-section{display:grid;gap:6px}.fm-desktop-page-foods .fm-admin-editor-section{border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface-2);padding:12px}.fm-desktop-page-foods .fm-settings-v2-form-grid,.fm-desktop-page-foods .fm-admin-editor-grid{display:grid;gap:8px;align-items:end}.fm-desktop-page-foods .fm-settings-v2-form-grid,.fm-desktop-page-foods .fm-admin-editor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fm-desktop-page-foods .fm-admin-editor-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.fm-desktop-page-foods .fm-settings-v2-form-grid>div,.fm-desktop-page-foods .fm-admin-editor-grid>div{min-width:0;display:grid;gap:5px}.fm-desktop-page-foods .fm-admin-editor-head .hint{color:var(--fm-ink-soft);font-size:.76rem;line-height:1.35;margin:0}.fm-desktop-page-foods .fm-admin-editor-modal .label{margin:0;color:var(--fm-ink-soft);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-page-foods .fm-choice-chip{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);min-height:24px;max-height:24px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:6px 10px;color:var(--fm-ink-soft);font-size:.78rem;line-height:1.2;cursor:pointer}.fm-desktop-page-foods .fm-choice-chip.active{border-color:#fa5a2c61;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-ink)}.fm-desktop-page-foods .fm-choice-chip.disabled{opacity:1;cursor:default;border-color:color-mix(in srgb,var(--fm-line),var(--fm-ink) 10%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 24%);color:color-mix(in srgb,var(--fm-ink),transparent 28%)}.fm-desktop-page-foods .fm-choice-chip input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface);background-position:center;background-repeat:no-repeat;background-size:12px 12px}.fm-desktop-page-foods .fm-choice-chip input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}.fm-desktop-page-foods .fm-choice-chip.disabled input[type=checkbox]{border-color:color-mix(in srgb,var(--fm-line),var(--fm-ink) 10%);background-color:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 24%);cursor:not-allowed}.fm-desktop-page-foods .fm-choice-chip.disabled input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--fm-line),var(--fm-brand) 16%);background-color:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 30%)}.fm-desktop-page-foods .fm-admin-editor-modal .input:disabled,.fm-desktop-page-foods .fm-admin-editor-modal select.input:disabled,.fm-desktop-page-foods .fm-admin-editor-modal textarea.input:disabled{border-color:color-mix(in srgb,var(--fm-line),var(--fm-ink) 10%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 24%);color:color-mix(in srgb,var(--fm-ink),transparent 28%);-webkit-text-fill-color:color-mix(in srgb,var(--fm-ink),transparent 28%);cursor:not-allowed;box-shadow:none}.fm-desktop-page-foods .fm-admin-editor-actions-main{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto}.fm-desktop-page-foods .fm-admin-editor-place-field{display:grid;gap:6px}.fm-desktop-page-foods .fm-season-select{position:relative;display:grid;gap:6px}.fm-desktop-page-foods .fm-season-select-trigger{width:100%;min-height:36px;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface);color:var(--fm-ink);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.fm-desktop-page-foods .fm-season-select-trigger.active{border-color:#fa5a2c4d}.fm-desktop-page-foods .fm-season-select-trigger.open{border-color:#fa5a2c6b;box-shadow:0 0 0 3px #fa5a2c1f}.fm-desktop-page-foods .fm-season-select-value{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-desktop-page-foods .fm-season-select-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:4;display:grid;gap:2px;max-height:280px;overflow:auto;padding:4px;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 8%);border-radius:14px;background:color-mix(in srgb,var(--fm-surface),white 6%);box-shadow:0 18px 40px #0a121c29}.fm-desktop-page-foods .fm-season-month-option{border:1px solid transparent;border-radius:10px;background:transparent;color:var(--fm-ink);display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:3px 6px;text-align:left;cursor:pointer}.fm-desktop-page-foods .fm-season-month-option:hover{background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 92%)}.fm-desktop-page-foods .fm-season-month-option.disabled{cursor:default;opacity:1}.fm-desktop-page-foods .fm-season-month-option.disabled:hover{background:transparent}.fm-desktop-page-foods .fm-season-month-option.active{border-color:#fa5a2c4d;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 88%)}.fm-desktop-page-foods .fm-season-month-check{width:18px;height:18px;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface);background-position:center;background-repeat:no-repeat;background-size:12px 12px}.fm-desktop-page-foods .fm-season-month-option.active .fm-season-month-check{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}}@media(min-width:851px)and (max-width:1320px){.fm-desktop-page-foods .foods-mobile-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.fm-desktop-page-foods .foods-filters-sheet-grid{grid-template-columns:1fr}}@media(min-width:851px){.fm-desktop-page-food-edit .fm-food-edit-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;height:100%;min-height:0;min-width:0;overflow:visible}.fm-desktop-page-food-edit .fm-food-edit-page>*{min-width:0}.fm-desktop-page-food-edit .header-row.fm-nav-header>h1{display:none}.fm-desktop-page-food-edit .header-row.fm-nav-header .actions.fm-nav-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.fm-desktop-page-food-edit .header-row.fm-nav-header .actions.fm-nav-actions .btn.confirm{min-width:160px;min-height:34px;height:34px;font-size:.92rem}.fm-desktop-page-food-edit .form{min-height:0;overflow:auto;display:grid;grid-template-columns:minmax(0,min(50%,500px)) minmax(0,min(50%,500px));grid-template-areas:"name identity" "content content";gap:10px;align-content:start;align-items:start;padding-right:2px;scrollbar-width:none;-ms-overflow-style:none}.fm-desktop-page-food-edit .form::-webkit-scrollbar{width:0;height:0;display:none}.fm-desktop-page-food-edit .form>.panel-section:first-child{grid-area:name}.fm-desktop-page-food-edit .form>.food-panel{grid-area:identity}.fm-desktop-page-food-edit .form>.food-inline-row{grid-area:content}.fm-desktop-page-food-edit .panel-section{margin:0;padding:10px;border-radius:14px;display:grid;gap:8px;align-content:start}.fm-desktop-page-food-edit .food-panel h3{margin:0;color:var(--fm-ink);font-size:1.16rem;line-height:1.2;font-family:var(--fm-font-head)}.fm-desktop-page-food-edit .label{margin:0;color:var(--fm-ink-soft);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-page-food-edit .input,.fm-desktop-page-food-edit select.input,.fm-desktop-page-food-edit input.input,.fm-desktop-page-food-edit .fullwidth{width:100%!important;max-width:100%!important;box-sizing:border-box}.fm-desktop-page-food-edit .form>.panel-section:first-child .input{min-height:40px}.fm-desktop-page-food-edit .food-inline-fields{display:grid;gap:8px}.fm-desktop-page-food-edit .food-inline-fields>div{min-width:0;display:grid;gap:5px}.fm-desktop-page-food-edit .food-unit-place-row{display:grid;grid-template-columns:minmax(92px,24%) minmax(0,1fr);gap:8px;align-items:end}.fm-desktop-page-food-edit .food-unit-place-row>div{min-width:0;display:grid;gap:5px}.fm-desktop-page-food-edit .food-inline-row{display:grid;grid-template-columns:minmax(0,min(50%,500px)) minmax(0,min(50%,500px));gap:10px;align-items:start}.fm-desktop-page-food-edit .food-inline-row>.food-panel{min-width:0;display:grid;gap:8px}.fm-desktop-page-food-edit .food-macros-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-desktop-page-food-edit .food-macros-grid>div,.fm-desktop-page-food-edit .food-options-grid>div{min-width:0;display:grid;gap:5px}.fm-desktop-page-food-edit .food-grid-span-2{grid-column:1 / -1}.fm-desktop-page-food-edit .food-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end}.fm-desktop-page-food-edit .food-options-grid>.actions{grid-column:1 / -1;border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px}.fm-desktop-page-food-edit .food-options-grid>.actions .label{margin:0;color:var(--fm-ink);font-size:.9rem;letter-spacing:0;text-transform:none;font-family:var(--fm-font-body)}.fm-desktop-page-food-edit .food-options-grid>.actions input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--fm-brand)}.fm-desktop-page-food-edit .food-edit-sheet-actions{display:grid;gap:6px}.fm-desktop-page-food-edit .food-edit-sheet-actions .btn,.fm-desktop-page-food-edit .food-edit-sheet-actions button,.fm-desktop-page-food-edit .food-edit-sheet-actions .danger{width:100%;justify-content:flex-start;text-align:left;min-height:34px;height:34px}}@media(min-width:851px){.fm-desktop-page-courses .fm-shopping-page{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;height:100%;min-height:0;min-width:0;overflow:visible}.fm-desktop-page-courses .fm-shopping-page>*{min-width:0}.fm-desktop-page-courses .shopping-mobile-head{margin:0;padding:10px;display:grid;gap:8px}.fm-desktop-page-courses .shopping-range-grid{display:grid;grid-template-columns:minmax(0,300px) minmax(0,300px) auto;gap:8px}.fm-desktop-page-courses .shopping-range-row{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 10%);padding:7px;display:grid;grid-template-columns:30px minmax(78px,auto) minmax(0,1fr) auto;align-items:center;gap:6px}.fm-desktop-page-courses .shopping-range-row>span{font-size:.72rem;font-family:var(--fm-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fm-ink-soft)}.fm-desktop-page-courses .shopping-range-row .input{min-height:34px;height:34px;padding:0 8px;font-size:.86rem}.fm-desktop-page-courses .shopping-range-row .fm-actions-trigger,.fm-desktop-page-courses .shopping-range-row .btn.confirm.small-btn{width:34px;min-width:34px;max-width:34px;height:34px;min-height:34px;max-height:34px;padding:0!important;display:inline-flex;align-items:center;justify-content:center}.fm-desktop-page-courses .shopping-mobile-head-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.fm-desktop-page-courses .shopping-meta-pill{border:1px solid color-mix(in srgb,var(--fm-line),white 12%);border-radius:999px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);color:var(--fm-ink-soft);font-size:.8rem;font-weight:700;line-height:1;padding:7px 11px}.fm-desktop-page-courses .shopping-meta-pill strong{color:var(--fm-ink)}.fm-desktop-page-courses .shopping-meta-pill.is-total{color:var(--fm-brand-strong);border-color:color-mix(in srgb,var(--fm-brand),transparent 56%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%)}.fm-desktop-page-courses .shopping-groups{min-height:0;overflow:auto;position:relative;display:block;scrollbar-width:none;-ms-overflow-style:none}.fm-desktop-page-courses .shopping-groups:after{content:"";display:block;width:1px;height:var(--shopping-groups-content-height, 0px);pointer-events:none;visibility:hidden}.fm-desktop-page-courses .shopping-groups::-webkit-scrollbar{width:0;height:0;display:none}.fm-desktop-page-courses .shopping-group{margin:0;padding:10px;border-radius:14px;display:grid;box-sizing:border-box;gap:8px;align-self:start;align-content:start;min-height:0}.fm-desktop-page-courses .shopping-group--condiments{order:91}.fm-desktop-page-courses .shopping-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.fm-desktop-page-courses .shopping-group h3{margin:0;font-size:1.02rem;color:var(--fm-ink);line-height:1.2;font-family:var(--fm-font-head)}.fm-desktop-page-courses .shopping-group-head strong{color:var(--fm-brand-strong);font-size:.88rem;font-weight:800;line-height:1;white-space:nowrap}.fm-desktop-page-courses .shopping-items{margin:0;padding:0;list-style:none;display:grid;gap:7px}.fm-desktop-page-courses .shopping-group-sections{display:grid;gap:8px}.fm-desktop-page-courses .shopping-group-section{display:grid;gap:6px}.fm-desktop-page-courses .shopping-group-section+.shopping-group-section{margin-top:2px;padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--fm-line),transparent 28%)}.fm-desktop-page-courses .shopping-group-section-title{margin:0;color:var(--fm-ink-soft);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.fm-desktop-page-courses .shopping-item{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);padding:7px 8px;display:grid;gap:5px;transition:border-color .13s ease,background-color .13s ease}.fm-desktop-page-courses .shopping-item:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 56%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 95%)}.fm-desktop-page-courses .shopping-check{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.fm-desktop-page-courses .shopping-check input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface);background-position:center;background-repeat:no-repeat;background-size:12px 12px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.fm-desktop-page-courses .shopping-check input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}.fm-desktop-page-courses .shopping-check input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-brand),transparent 78%)}.fm-desktop-page-courses .shopping-name{color:var(--fm-ink);font-size:.92rem;font-weight:700;line-height:1.2;min-width:0;overflow-wrap:anywhere}.fm-desktop-page-courses .shopping-item.checked .shopping-name{color:var(--fm-ink-soft);text-decoration:line-through}.fm-desktop-page-courses .shopping-item-metrics-inline{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.fm-desktop-page-courses .shopping-item-status{display:inline-flex;align-items:center;gap:6px;justify-self:end;white-space:nowrap}.fm-desktop-page-courses .shopping-item-season-icon{color:var(--fm-warning);font-size:.92rem;line-height:1}.fm-desktop-page-courses .shopping-chip{border:1px solid color-mix(in srgb,var(--fm-brand),transparent 56%);border-radius:999px;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-brand-strong);font-size:.77rem;font-weight:700;line-height:1;padding:4px 8px}.fm-desktop-page-courses .shopping-chip.price{color:var(--fm-ink-soft);background:var(--fm-surface-2);border-color:color-mix(in srgb,var(--fm-ink-soft),transparent 56%)}.fm-desktop-page-courses .shopping-item.checked .shopping-chip{opacity:.54}.fm-desktop-page-courses .shopping-item-usage{margin-top:1px;padding-left:26px}.fm-desktop-page-courses .shopping-item-usage summary{cursor:pointer;color:var(--fm-ink-soft);font-size:.74rem;line-height:1.2}.fm-desktop-page-courses .shopping-item-usage ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:5px}.fm-desktop-page-courses .shopping-item-usage li{border:1px solid var(--fm-line);border-radius:10px;background:var(--fm-surface-2);padding:5px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.74rem;color:var(--fm-ink-soft)}.fm-desktop-page-courses .shopping-usage-recipe-name{min-width:0;overflow-wrap:anywhere}.fm-desktop-page-courses .shopping-usage-qty-badge{margin-left:auto;border:1px solid color-mix(in srgb,var(--fm-brand),transparent 56%);border-radius:999px;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-brand-strong);font-size:.68rem;font-weight:800;line-height:1;white-space:nowrap;padding:4px 8px}.fm-desktop-page-courses .planning-hover-tooltip{position:fixed;z-index:1720;width:250px;border:1px solid var(--fm-line);border-radius:14px;background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 5%);box-shadow:var(--fm-shadow-pop);padding:10px;pointer-events:none}.fm-desktop-page-courses .planning-hover-tooltip:after{content:"";position:absolute;width:10px;height:10px;left:var(--fm-tooltip-arrow-x, 24px);background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 5%);border:1px solid var(--fm-line);transform:translate(-50%) rotate(45deg)}.fm-desktop-page-courses .planning-hover-tooltip.is-placement-bottom:after{top:-6px;border-right:0;border-bottom:0}.fm-desktop-page-courses .planning-hover-tooltip.is-placement-top:after{bottom:-6px;border-left:0;border-top:0}.fm-desktop-page-courses .planning-hover-tooltip h2{margin:0 0 8px;font-size:.88rem;font-family:var(--fm-font-head)}.fm-desktop-page-courses .shopping-hover-list{margin:0;padding:0;list-style:none;display:grid;gap:5px;color:var(--fm-ink-soft);font-size:.76rem;line-height:1.3}.fm-desktop-page-courses .shopping-hover-list li{display:flex;align-items:center;gap:8px}.fm-desktop-page-courses .shopping-sheet-actions{display:grid;gap:6px}.fm-desktop-page-courses .shopping-sheet-actions .btn,.fm-desktop-page-courses .shopping-sheet-actions .danger,.fm-desktop-page-courses .shopping-sheet-actions button{width:100%;min-height:34px;height:34px;justify-content:center;text-align:left}}@media(min-width:851px){.fm-desktop-page-settings .fm-settings-page.fm-settings-v2{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;height:100%;width:min(800px,100%);margin:0;min-height:0;min-width:0;overflow:visible}.fm-desktop-page-settings .fm-settings-page.fm-settings-v2>*{min-width:0}.fm-desktop-page-settings .fm-settings-v2-head{margin:0;padding:10px;display:grid;gap:8px;align-content:center}.fm-desktop-page-settings .fm-settings-v2-head-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-desktop-page-settings .fm-settings-v2-head-meta{min-width:0;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.fm-desktop-page-settings .fm-settings-v2-head-meta strong{color:var(--fm-ink);font-size:1.02rem;font-family:var(--fm-font-head);line-height:1.2;padding-left:8px}.fm-desktop-page-settings .fm-settings-v2-layout{min-height:0;min-width:0;display:grid;grid-template-columns:250px minmax(450px,540px);grid-template-rows:minmax(0,1fr);gap:10px;align-items:stretch}.fm-desktop-page-settings .fm-settings-v2-tabs{grid-column:1;align-self:start;margin:0;padding:10px;display:grid;gap:8px;position:sticky;top:0;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.fm-desktop-page-settings .fm-settings-v2-tabs::-webkit-scrollbar{width:0;height:0;display:none}.fm-desktop-page-settings .fm-settings-v2-classic-menu{display:grid;gap:6px}.fm-desktop-page-settings .fm-settings-v2-menu-item{width:100%;min-height:36px;justify-content:flex-start;text-align:left;font-size:.8rem;line-height:1.2}.fm-desktop-page-settings .fm-settings-v2-menu-item.active{border-color:color-mix(in srgb,var(--fm-brand),transparent 56%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 84%);color:var(--fm-ink)}.fm-desktop-page-settings .fm-settings-v2-section-select,.fm-desktop-page-settings .mobile-fullwidth,.fm-desktop-page-settings .fullwidth,.fm-desktop-page-settings .input.mobile-fullwidth,.fm-desktop-page-settings .input.fullwidth,.fm-desktop-page-settings select.mobile-fullwidth,.fm-desktop-page-settings select.fullwidth{width:100%!important;max-width:100%!important;box-sizing:border-box}.fm-desktop-page-settings .success{margin:0;border:1px solid rgba(57,199,138,.4);border-radius:12px;background:#39c78a24;padding:10px;color:var(--fm-mint);font-size:.82rem;line-height:1.35}.fm-desktop-page-settings .warning{margin:0;border:1px solid rgba(240,165,49,.38);border-radius:12px;background:#f0a53124;padding:10px;color:#935f11;font-size:.82rem;line-height:1.35}.fm-desktop-page-settings .fm-settings-v2-loading{margin:0;padding:12px;display:grid;gap:8px}.fm-desktop-page-settings .error,.fm-desktop-page-settings .fm-settings-v2-loading,.fm-desktop-page-settings .fm-settings-v2-content{grid-column:2}.fm-desktop-page-settings .fm-settings-v2-content{min-height:0;overflow:auto;display:grid;gap:10px;align-content:start;width:100%;justify-self:start;scrollbar-width:none;-ms-overflow-style:none}.fm-desktop-page-settings .fm-settings-v2-content::-webkit-scrollbar{width:0;height:0;display:none}.fm-desktop-page-settings .fm-settings-v2-content h2,.fm-desktop-page-settings .fm-settings-v2-content h3{margin:0;color:var(--fm-ink);line-height:1.2;font-family:var(--fm-font-head)}.fm-desktop-page-settings .fm-settings-v2-content h2{font-size:1rem}.fm-desktop-page-settings .fm-settings-v2-content h3{font-size:.94rem}.fm-desktop-page-settings .fm-settings-v2-content .hint{color:var(--fm-ink-soft);font-size:.76rem;line-height:1.35}.fm-desktop-page-settings .label{margin:0;color:var(--fm-ink-soft);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-page-settings .fm-settings-v2-toolbar{margin:0;padding:9px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.fm-desktop-page-settings .fm-settings-v2-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.fm-desktop-page-settings .fm-settings-v2-card,.fm-desktop-page-settings .fm-member-card,.fm-desktop-page-settings .fm-entity-card,.fm-desktop-page-settings .fm-slot-card,.fm-desktop-page-settings .fm-place-card{margin:0;padding:10px;display:grid;gap:8px;align-content:start}.fm-desktop-page-settings .fm-settings-v2-list{display:grid;gap:10px;min-width:0}.fm-desktop-page-settings .fm-settings-v2-list-head{padding:10px}.fm-desktop-page-settings .fm-settings-v2-section-head,.fm-desktop-page-settings .fm-member-card-head,.fm-desktop-page-settings .fm-entity-card-head,.fm-desktop-page-settings .fm-slot-card-head,.fm-desktop-page-settings .fm-place-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.fm-desktop-page-settings .fm-settings-v2-actions-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.fm-desktop-page-settings .fm-settings-v3-actions-row{display:grid;gap:8px;align-items:end}.fm-desktop-page-settings .fm-settings-v2-form-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.fm-desktop-page-settings .fm-settings-v2-form-grid>div{min-width:0;display:grid;gap:5px}.fm-desktop-page-settings .fm-settings-v2-form-grid>div:only-child{grid-column:1 / -1}.fm-desktop-page-settings .fm-account-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.fm-desktop-page-settings .fm-account-grid>div{min-width:0;display:grid;gap:5px}.fm-desktop-page-settings .fm-account-email-field{grid-column:1 / -1}.fm-desktop-page-settings .fm-member-summary-grid{display:grid;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;z-index:0;overflow:visible}.fm-desktop-page-settings .fm-member-diets{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fm-desktop-page-settings .fm-member-diet-pill{border:1px solid var(--fm-line);border-radius:999px;background:color-mix(in srgb,var(--fm-mint),var(--fm-surface) 90%);color:var(--fm-ink);min-height:22px;display:inline-flex;align-items:center;padding:0 8px;font-size:.66rem;letter-spacing:.04em;font-family:var(--fm-font-mono);white-space:nowrap}.fm-desktop-page-settings .fm-member-intolerence-pill{border:1px solid var(--fm-line);border-radius:999px;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-ink);min-height:22px;display:inline-flex;align-items:center;padding:0 8px;font-size:.66rem;letter-spacing:.04em;font-family:var(--fm-font-mono);white-space:nowrap}.fm-desktop-page-settings .fm-member-summary-chip{border:1px solid var(--fm-line);border-radius:10px;background:var(--fm-surface-2);padding:6px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;overflow:visible;z-index:1}.fm-desktop-page-settings .fm-member-summary-chip:hover,.fm-desktop-page-settings .fm-member-summary-chip:focus-within{z-index:80}.fm-desktop-page-settings .fm-member-summary-label{display:inline-flex;align-items:center;gap:5px;min-width:0}.fm-desktop-page-settings .fm-member-summary-chip small{color:var(--fm-ink-soft);font-size:.66rem;font-family:var(--fm-font-mono);letter-spacing:.06em;line-height:1}.fm-desktop-page-settings .fm-member-summary-chip b{color:var(--fm-ink);font-size:.76rem}.fm-desktop-page-settings .fm-member-summary-info{width:12px;height:12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 20%);background:none;color:var(--fm-ink);font-family:var(--fm-font-mono);font-size:.54rem;line-height:1;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:help;-webkit-user-select:none;user-select:none;position:relative;z-index:90;flex:0 0 auto}.fm-desktop-page-settings .fm-member-summary-info:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-brand),transparent 72%)}.fm-member-macro-tooltip{position:fixed;z-index:2147483000;max-width:min(320px,calc(100vw - 16px));border-radius:10px;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 18%);background:color-mix(in srgb,var(--fm-ink),var(--fm-surface) 8%);color:color-mix(in srgb,#fff,var(--fm-surface) 10%);padding:8px 10px;font-size:.67rem;line-height:1.35;letter-spacing:.01em;box-shadow:0 14px 26px #10111457;pointer-events:none;white-space:normal}.fm-member-macro-tooltip:before{content:"";position:absolute;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent}.fm-member-macro-tooltip.is-bottom:before{top:-6px;border-bottom:6px solid color-mix(in srgb,var(--fm-ink),var(--fm-surface) 8%)}.fm-member-macro-tooltip.is-top:before{bottom:-6px;border-top:6px solid color-mix(in srgb,var(--fm-ink),var(--fm-surface) 8%)}.fm-desktop-page-settings .fm-settings-v2-weeks-stepper{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.fm-desktop-page-settings .fm-settings-v2-weeks-value{min-height:34px;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--fm-ink)}.fm-desktop-page-settings .fm-settings-v2-day-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fm-desktop-page-settings .fm-choice-chip{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);min-height:24px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:4px 8px;color:var(--fm-ink-soft);font-size:.78rem;line-height:1.2;cursor:pointer}.fm-desktop-page-settings .fm-choice-chip.active{border-color:#fa5a2c61;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-ink)}.fm-desktop-page-settings .fm-choice-chip input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface);background-position:center;background-repeat:no-repeat;background-size:12px 12px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.fm-desktop-page-settings .fm-choice-chip input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}.fm-desktop-page-settings .fm-choice-chip input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-brand),transparent 78%)}.fm-desktop-page-settings .fm-entity-count{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface);color:var(--fm-ink-soft);padding:2px 8px;font-size:.68rem;font-family:var(--fm-font-mono);line-height:1.25;white-space:nowrap}.fm-desktop-page-settings .fm-entity-actions,.fm-desktop-page-settings .fm-card-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px;margin-left:auto;min-width:0}.fm-desktop-page-settings .fm-recipe-category-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.fm-desktop-page-settings .fm-recipe-category-name-row{position:relative;min-width:0}.fm-desktop-page-settings .fm-recipe-category-name-row:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:6px;border-radius:999px;background:var(--recipe-category-bg, color-mix(in srgb, var(--fm-brand), var(--fm-surface) 30%));pointer-events:none}.fm-desktop-page-settings .fm-recipe-category-name-input{width:100%;min-width:0;padding-left:24px!important}.fm-desktop-page-settings .fm-recipe-category-color-picker{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;min-width:220px;width:min(260px,100%)}.fm-desktop-page-settings .fm-recipe-category-color-picker>button.fm-recipe-category-color-btn{display:block;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1 / 1;border-radius:999px!important;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 20%);background:var(--recipe-category-bg, var(--fm-surface-2));padding:0!important;line-height:0!important}.fm-desktop-page-settings .fm-recipe-category-color-btn.active{border-color:color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-ink) 30%);box-shadow:0 0 0 4px color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-surface) 38%)}.fm-desktop-page-settings .fm-recipe-category-color-btn:disabled{opacity:.45}.fm-desktop-page-settings .fm-slot-card .fm-settings-v2-form-grid,.fm-desktop-page-settings .fm-place-card .fm-settings-v2-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-desktop-page-settings .fm-slot-card-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:8px}.fm-desktop-page-settings .fm-settings-v2-transfer-row,.fm-desktop-page-settings .fm-offer-activation{display:grid;gap:8px}.fm-desktop-page-settings .fm-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fm-desktop-page-settings .fm-offer-cell{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:8px;display:grid;gap:4px;align-content:start}.fm-desktop-page-settings .offer-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border:1px solid var(--fm-line);border-radius:999px;padding:0 10px;font-size:.7rem;font-family:var(--fm-font-mono);text-transform:uppercase;letter-spacing:.08em;line-height:1;white-space:nowrap}.fm-desktop-page-settings .offer-badge.is-pro{color:var(--fm-mint);background:color-mix(in srgb,var(--fm-mint),var(--fm-surface) 86%);border-color:#39c78a66}.fm-desktop-page-settings .offer-badge.is-trial{color:var(--fm-brand-strong);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 88%);border-color:#fa5a2c5c}.fm-desktop-page-settings .offer-badge.is-locked{color:var(--fm-warning);background:color-mix(in srgb,var(--fm-warning),var(--fm-surface) 86%);border-color:#f0a5315c}.fm-desktop-page-settings .fm-settings-v2-sheet-actions{display:grid;gap:8px}.fm-desktop-page-settings .fm-settings-v2-sheet-actions .btn{width:100%;min-height:34px;justify-content:center;text-align:left}.fm-desktop-page-settings .fm-member-editor-sheet{display:grid;gap:10px}.fm-desktop-page-settings .fm-member-editor-backdrop{align-items:center;justify-content:center}.fm-desktop-page-settings .fm-member-editor-modal{width:min(920px,calc(100vw - 48px));max-height:calc(100vh - 48px);border-radius:28px;padding:20px;position:relative;display:grid;gap:16px;overflow:auto}.fm-desktop-page-settings .fm-member-editor-head{position:relative;align-items:flex-start;justify-content:flex-start;padding-right:52px}.fm-desktop-page-settings .fm-member-editor-head .label{display:block;margin-bottom:4px}.fm-desktop-page-settings .fm-member-editor-head>button{position:absolute;top:0;right:0}.fm-desktop-page-settings .fm-member-editor-section{display:grid;gap:10px;border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface-2);padding:10px 12px 14px}.fm-desktop-page-settings .fm-member-editor-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fm-desktop-page-settings .fm-member-editor-section-head>div:first-child{display:grid;gap:2px}.fm-desktop-page-settings .fm-member-editor-section-head .label,.fm-desktop-page-settings .fm-member-editor-section-head .hint{display:block;margin:0}.fm-desktop-page-settings .fm-member-editor-profile-actions{display:flex;justify-content:flex-end}.fm-desktop-page-settings .fm-member-editor-profile-actions.is-mobile{display:none}.fm-desktop-page-settings .fm-member-editor-sheet>div:first-child{display:grid;gap:5px}.fm-desktop-page-settings .fm-member-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fm-desktop-page-settings .fm-member-editor-grid>div{display:grid;gap:5px;min-width:0}.fm-desktop-page-settings .fm-member-gender-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:38px}.fm-desktop-page-settings .fm-member-gender-grid .fm-choice-chip,.fm-desktop-page-settings .fm-member-goal-grid .fm-choice-chip{grid-template-columns:1fr;justify-items:flex-start;align-content:center}.fm-desktop-page-settings .fm-member-goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fm-desktop-page-settings .fm-member-goal-card{display:grid;gap:3px;justify-items:flex-start;align-content:flex-start;min-height:54px;text-align:left}.fm-desktop-page-settings .fm-member-goal-card small{color:var(--fm-ink-soft);line-height:1.3}.fm-desktop-page-settings .fm-member-editor-diets{display:grid;gap:6px}.fm-desktop-page-settings .fm-member-diet-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.fm-desktop-page-settings .fm-member-avoid-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.fm-desktop-page-settings .fm-member-editor-actions{display:flex;justify-content:flex-end}}@media(min-width:851px){.fm-desktop-page-admin .fm-admin-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;height:100%;width:min(1040px,100%);min-height:0;min-width:0}.fm-desktop-page-admin .fm-settings-v2-head{margin:0;padding:10px;display:grid;gap:8px;align-content:center}.fm-desktop-page-admin .fm-settings-v2-head-row,.fm-desktop-page-admin .fm-settings-v2-head-meta,.fm-desktop-page-admin .fm-settings-v2-section-head,.fm-desktop-page-admin .fm-entity-card-head,.fm-desktop-page-admin .fm-admin-title-row,.fm-desktop-page-admin .fm-admin-editor-head{display:flex;gap:8px}.fm-desktop-page-admin .fm-settings-v2-head-row,.fm-desktop-page-admin .fm-settings-v2-section-head,.fm-desktop-page-admin .fm-entity-card-head,.fm-desktop-page-admin .fm-admin-editor-head{align-items:flex-start;justify-content:space-between}.fm-desktop-page-admin .fm-settings-v2-head-meta,.fm-desktop-page-admin .fm-admin-item-stack{min-width:0;display:grid;gap:6px}.fm-desktop-page-admin .fm-settings-v2-head-meta strong,.fm-desktop-page-admin .fm-settings-v2-content h2,.fm-desktop-page-admin .fm-settings-v2-content h3,.fm-desktop-page-admin .fm-admin-editor-head h3{margin:0;color:var(--fm-ink);font-family:var(--fm-font-head);line-height:1.2}.fm-desktop-page-admin .fm-settings-v2-head-meta strong{font-size:1.02rem;padding-left:8px}.fm-desktop-page-admin .fm-admin-layout{min-height:0;min-width:0;display:grid;grid-template-columns:250px minmax(650px,780px);gap:10px;align-items:stretch}.fm-desktop-page-admin .fm-settings-v2-tabs{align-self:start;margin:0;padding:10px;display:grid;gap:8px;position:sticky;top:0;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.fm-desktop-page-admin .fm-settings-v2-tabs::-webkit-scrollbar,.fm-desktop-page-admin .fm-settings-v2-content::-webkit-scrollbar{width:0;height:0;display:none}.fm-desktop-page-admin .fm-settings-v2-classic-menu,.fm-desktop-page-admin .fm-settings-v2-loading,.fm-desktop-page-admin .fm-settings-v2-content,.fm-desktop-page-admin .fm-settings-v2-list,.fm-desktop-page-admin .fm-admin-editor-sheet,.fm-desktop-page-admin .fm-admin-editor-section{display:grid}.fm-desktop-page-admin .fm-settings-v2-classic-menu,.fm-desktop-page-admin .fm-settings-v2-list,.fm-desktop-page-admin .fm-admin-editor-sheet,.fm-desktop-page-admin .fm-admin-editor-section{gap:6px}.fm-desktop-page-admin .fm-admin-editor-section input:disabled,.fm-desktop-page-admin .fm-admin-editor-section select:disabled,.fm-desktop-page-admin .fm-admin-editor-section textarea:disabled,.fm-desktop-page-admin .fm-admin-editor-section .input:disabled,.fm-desktop-page-admin .fm-admin-editor-section select.input:disabled,.fm-desktop-page-admin .fm-admin-editor-section textarea.input:disabled{border-color:color-mix(in srgb,var(--fm-line),var(--fm-ink) 10%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 24%);color:color-mix(in srgb,var(--fm-ink),transparent 28%);-webkit-text-fill-color:color-mix(in srgb,var(--fm-ink),transparent 28%);cursor:not-allowed;box-shadow:none}.fm-desktop-page-admin .fm-settings-v2-menu-item{width:100%;min-height:36px;justify-content:flex-start;text-align:left;font-size:.8rem;line-height:1.2}.fm-desktop-page-admin .fm-settings-v2-menu-item.active{border-color:color-mix(in srgb,var(--fm-brand),transparent 56%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 84%);color:var(--fm-ink)}.fm-desktop-page-admin .fm-settings-v2-loading,.fm-desktop-page-admin .error,.fm-desktop-page-admin .fm-settings-v2-content{grid-column:2}.fm-desktop-page-admin .fm-settings-v2-loading{margin:0;padding:10px}.fm-desktop-page-admin .fm-settings-v2-card,.fm-desktop-page-admin .fm-entity-card{margin:0;padding:10px;display:grid;gap:8px;align-content:start}.fm-desktop-page-admin .fm-settings-v2-content{min-height:0;overflow:auto;gap:10px;align-content:start;width:100%;justify-self:start;scrollbar-width:none;-ms-overflow-style:none}.fm-desktop-page-admin .foods-mobile-list.fm-admin-foods-catalog-list{min-height:0;overflow:auto;border:1px solid var(--fm-line);border-radius:16px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);padding:9px;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:8px;align-content:start;scrollbar-width:none;-ms-overflow-style:none}.fm-desktop-page-admin .foods-mobile-list.fm-admin-foods-catalog-list::-webkit-scrollbar{width:0;height:0;display:none}.fm-desktop-page-admin .foods-mobile-card{margin:0;padding:8px;border-radius:12px;display:grid;gap:8px;align-content:start;cursor:pointer;transition:border-color .13s ease,background-color .13s ease,opacity .13s ease;box-shadow:var(--fm-shadow-card)!important}.fm-desktop-page-admin .foods-mobile-card:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 52%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 94%)}.fm-desktop-page-admin .foods-mobile-card:focus-visible{outline:2px solid color-mix(in srgb,var(--fm-brand),transparent 42%);outline-offset:1px}.fm-desktop-page-admin .foods-mobile-card[aria-disabled=true]{cursor:progress}.fm-desktop-page-admin .foods-mobile-card.is-inactive{opacity:.74}.fm-desktop-page-admin .foods-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.fm-desktop-page-admin .foods-mobile-card-head strong{min-width:0;font-family:var(--fm-font-head);color:var(--fm-ink);font-size:1.08rem;line-height:1.18}.fm-desktop-page-admin .foods-mobile-card-head span{flex:0 0 auto;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink-soft);font-size:.8rem;font-family:var(--fm-font-mono);letter-spacing:.06em;padding:3px 10px;line-height:1.2}.fm-desktop-page-admin .foods-mobile-card-meta{margin:0;color:var(--fm-ink-soft);font-size:.88rem}.fm-desktop-page-admin .foods-mobile-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.fm-desktop-page-admin .foods-mobile-macros span{border:1px solid var(--fm-line);border-radius:10px;background:var(--fm-surface-2);display:grid;gap:2px;padding:4px 6px;align-content:center}.fm-desktop-page-admin .foods-mobile-macros small{color:var(--fm-ink-soft);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-page-admin .foods-mobile-macros b{color:var(--fm-ink);font-size:.68rem;font-weight:700;white-space:nowrap;line-height:1.2}.fm-desktop-page-admin .foods-mobile-list.fm-admin-foods-catalog-list>.hint{margin:0;grid-column:1 / -1;padding:12px;color:var(--fm-ink-soft);text-align:center}.fm-desktop-page-admin .fm-settings-v2-content .hint,.fm-desktop-page-admin .fm-admin-editor-head .hint{color:var(--fm-ink-soft);font-size:.76rem;line-height:1.35;margin:0}@media(min-width:851px)and (max-width:1320px){.fm-desktop-page-admin .foods-mobile-list.fm-admin-foods-catalog-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}.fm-desktop-page-admin .label{margin:0;color:var(--fm-ink-soft);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-desktop-page-admin .fm-settings-v2-toolbar{margin:0;padding:9px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.fm-desktop-page-admin .fm-settings-v2-toolbar-actions,.fm-desktop-page-admin .fm-entity-actions,.fm-desktop-page-admin .fm-card-actions,.fm-desktop-page-admin .fm-admin-actions-stack,.fm-desktop-page-admin .fm-admin-editor-actions,.fm-desktop-page-admin .fm-admin-toggle-grid{display:flex;gap:8px;flex-wrap:wrap}.fm-desktop-page-admin .fm-admin-actions-stack,.fm-desktop-page-admin .fm-admin-editor-actions{justify-content:flex-end}.fm-desktop-page-admin .fm-settings-v2-form-grid,.fm-desktop-page-admin .fm-admin-editor-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.fm-desktop-page-admin .fm-settings-v2-form-grid>div,.fm-desktop-page-admin .fm-admin-editor-grid>div,.fm-desktop-page-admin .fm-admin-category-meta>div{min-width:0;display:grid;gap:5px}.fm-desktop-page-admin .success{margin:0;border:1px solid rgba(57,199,138,.4);border-radius:12px;background:#39c78a24;padding:10px;color:var(--fm-mint);font-size:.82rem;line-height:1.35}.fm-desktop-page-admin .fm-admin-inline-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.fm-desktop-page-admin .fm-admin-status,.fm-desktop-page-admin .fm-entity-count{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border-radius:999px;border:1px solid var(--fm-line);background:var(--fm-surface);color:var(--fm-ink-soft);font-size:.68rem;font-family:var(--fm-font-mono);letter-spacing:.06em;line-height:1;text-transform:uppercase;white-space:nowrap}.fm-desktop-page-admin .fm-admin-status.is-pending{color:#935f11;background:color-mix(in srgb,var(--fm-warning),var(--fm-surface) 86%);border-color:#f0a5315c}.fm-desktop-page-admin .fm-admin-status.is-approved{color:var(--fm-mint);background:color-mix(in srgb,var(--fm-mint),var(--fm-surface) 86%);border-color:#39c78a66}.fm-desktop-page-admin .fm-admin-status.is-rejected{color:color-mix(in srgb,var(--fm-danger),var(--fm-ink) 20%);background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 88%);border-color:color-mix(in srgb,var(--fm-danger),var(--fm-line) 34%)}.fm-desktop-page-admin .fm-admin-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fm-desktop-page-admin .fm-admin-stat-cell{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:8px;display:grid;gap:4px}.fm-desktop-page-admin .fm-admin-stat-cell small{color:var(--fm-ink-soft);font-size:.66rem;font-family:var(--fm-font-mono)}.fm-desktop-page-admin .fm-admin-stat-cell b{color:var(--fm-ink);font-size:.78rem}.fm-desktop-page-admin .fm-admin-inline-error{color:var(--fm-danger)}.fm-desktop-page-admin .fm-admin-recipe-category-group{padding:0;overflow:hidden}.fm-desktop-page-admin .fm-admin-recipe-category-trigger{width:100%;border:0;border-radius:0;background:linear-gradient(90deg,color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-surface) 45%),transparent 35%),var(--fm-surface);padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left}.fm-desktop-page-admin .fm-admin-recipe-category-trigger-copy{min-width:0;display:grid;gap:4px}.fm-desktop-page-admin .fm-admin-recipe-category-trigger-copy strong{margin:0;color:var(--fm-ink);font-family:var(--fm-font-head);line-height:1.2}.fm-desktop-page-admin .fm-admin-recipe-category-trigger-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-line) 35%);background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-surface) 62%);color:var(--fm-ink);font-size:1rem;line-height:1;flex:0 0 auto}.fm-desktop-page-admin .fm-admin-recipe-category-list{padding:0 10px 10px}.fm-desktop-page-admin .fm-recipe-category-controls{display:grid;grid-template-columns:1fr auto;align-items:center;align-content:center;gap:8px}.fm-desktop-page-admin .fm-recipe-category-name-row{position:relative;min-width:0}.fm-desktop-page-admin .fm-recipe-category-name-row:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:6px;border-radius:999px;background:var(--recipe-category-bg, var(--fm-brand));pointer-events:none}.fm-desktop-page-admin .fm-recipe-category-name-input{padding-left:24px!important;width:60%}.fm-desktop-page-admin .fm-admin-category-meta{display:grid;grid-template-columns:minmax(0,300px)}.fm-desktop-page-admin .fm-recipe-category-color-picker{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;min-width:220px;width:min(300px,100%)}.fm-desktop-page-admin .fm-recipe-category-color-picker>button.fm-recipe-category-color-btn{display:grid;place-items:center;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1 / 1;border-radius:999px!important;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 20%);background:var(--recipe-category-bg, var(--fm-surface-2));padding:0!important;line-height:0!important;color:color-mix(in srgb,var(--fm-ink),white 10%);font-size:.9rem;font-weight:700}.fm-desktop-page-admin .fm-recipe-category-color-btn.active{border-color:color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-ink) 30%);box-shadow:0 0 0 4px color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-surface) 38%)}.fm-desktop-page-admin .fm-recipe-category-color-btn:disabled{opacity:.45}.fm-desktop-page-admin .fm-recipe-category-color-check{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1;text-shadow:0 1px 2px rgba(16,21,34,.3)}.fm-desktop-page-admin .fm-choice-chip{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);min-height:24px;max-height:24px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:6px 10px;color:var(--fm-ink-soft);font-size:.78rem;line-height:1.2;cursor:pointer}.fm-desktop-page-admin .fm-choice-chip.active{border-color:#fa5a2c61;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-ink)}.fm-desktop-page-admin .fm-choice-chip input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface);background-position:center;background-repeat:no-repeat;background-size:12px 12px}.fm-desktop-page-admin .fm-choice-chip input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}.fm-desktop-page-admin .fm-admin-editor-modal{width:min(920px,calc(100vw - 48px));max-height:calc(100vh - 48px);border-radius:28px;padding:20px;overflow:auto}.fm-desktop-page-admin .fm-admin-editor-modal.is-recipe-editor{width:min(1180px,calc(100vw - 40px))}.fm-desktop-page-admin .fm-admin-editor-head{margin-bottom:12px}.fm-desktop-page-admin .fm-admin-editor-section{border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface-2);padding:12px}.fm-desktop-page-admin .fm-admin-textarea{min-height:140px;padding:10px;resize:vertical}.fm-desktop-page-admin .fm-admin-recipe-editor{min-height:0;gap:10px}.fm-desktop-page-admin .fm-admin-recipe-editor .panel-section{margin:0}.fm-desktop-page-admin .fm-admin-recipe-editor .fm-recipe-overview-head{display:grid}.fm-desktop-page-admin .fm-admin-recipe-editor .fm-recipe-overview-head .input{width:100%}.fm-desktop-page-admin .fm-admin-recipe-editor .fm-recipe-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fm-desktop-page-admin .fm-admin-recipe-editor .fm-recipe-edit-columns{align-items:start}.fm-desktop-page-admin .fm-admin-recipe-editor .fm-recipe-edit-footer{display:grid;grid-template-columns:auto auto;justify-content:end;align-items:end;gap:8px}.fm-desktop-page-admin .fm-admin-preview-list{margin:0;padding-left:18px;display:grid;gap:6px}.fm-desktop-page-admin .fm-admin-preview-steps{margin:0;white-space:pre-wrap;line-height:1.45;color:var(--fm-ink)}.fm-desktop-page-admin .fm-food-editor-backdrop{background:#0e12186b}.fm-desktop-page-admin .fm-choice-chip.disabled{opacity:1;cursor:default}.fm-desktop-page-admin .fm-admin-editor-actions-main{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto}.fm-desktop-page-admin .fm-admin-editor-place-field{display:grid;gap:6px}.fm-desktop-page-admin .fm-season-select{position:relative;display:grid;gap:6px}.fm-desktop-page-admin .fm-season-select-trigger{width:100%;min-height:36px;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface);color:var(--fm-ink);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.fm-desktop-page-admin .fm-season-select-trigger.active{border-color:#fa5a2c4d}.fm-desktop-page-admin .fm-season-select-trigger.open{border-color:#fa5a2c6b;box-shadow:0 0 0 3px #fa5a2c1f}.fm-desktop-page-admin .fm-season-select-value{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-desktop-page-admin .fm-season-select-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:4;display:grid;gap:2px;max-height:280px;overflow:auto;padding:4px;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 8%);border-radius:14px;background:color-mix(in srgb,var(--fm-surface),white 6%);box-shadow:0 18px 40px #0a121c29}.fm-desktop-page-admin .fm-season-month-option{border:1px solid transparent;border-radius:10px;background:transparent;color:var(--fm-ink);display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:3px 6px;text-align:left;cursor:pointer}.fm-desktop-page-admin .fm-season-month-option:hover{background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 92%)}.fm-desktop-page-admin .fm-season-month-option.disabled{cursor:default;opacity:1}.fm-desktop-page-admin .fm-season-month-option.disabled:hover{background:transparent}.fm-desktop-page-admin .fm-season-month-option.active{border-color:#fa5a2c4d;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 88%)}.fm-desktop-page-admin .fm-season-month-check{width:18px;height:18px;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface);background-position:center;background-repeat:no-repeat;background-size:12px 12px}.fm-desktop-page-admin .fm-season-month-option.active .fm-season-month-check{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}}@media(min-width:851px){.fm-auth-page{box-sizing:border-box;min-height:100vh;width:min(1020px,100%);margin:0 auto;padding:clamp(22px,4vw,44px);display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:clamp(12px,2vw,20px);align-content:center;align-items:stretch;overflow:auto}.fm-auth-page .fm-hero-card{border-radius:24px;background:linear-gradient(155deg,#fa5a2cf5,#da4318fa);color:#fff;padding:clamp(16px,2vw,24px);box-shadow:0 16px 38px #ad3b193d;display:grid;align-content:start;gap:6px}.fm-auth-page .fm-hero-card p{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-family:var(--fm-font-mono);opacity:.9}.fm-auth-page .fm-hero-card strong{display:block;margin-top:2px;font-family:var(--fm-font-head);font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.15}.fm-auth-page .fm-hero-card small{display:block;margin-top:2px;font-size:.84rem;line-height:1.35;opacity:.95}.fm-auth-page .auth-page{min-height:auto;padding:0;margin:0;display:block;background:transparent}.fm-auth-page .auth-card{border:1px solid var(--fm-line);border-radius:22px;background:color-mix(in srgb,var(--fm-surface),transparent 3%);box-shadow:0 12px 30px #1015221f;padding:16px;display:grid;gap:10px}.fm-auth-page .auth-card h1{margin:0;font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.2}.fm-auth-page .auth-form{display:grid;gap:8px}.fm-auth-page .fullwidth,.fm-auth-page .input.fullwidth,.fm-auth-page .btn.fullwidth{width:100%}.fm-auth-page .auth-form .label,.fm-confirm-sheet .label{margin-top:2px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-family:var(--fm-font-mono);color:var(--fm-ink-soft);opacity:.9}.fm-auth-page .auth-form .label:first-child{margin-top:0}.fm-auth-page .input,.fm-auth-page select,.fm-auth-page input[type=text],.fm-auth-page input[type=email],.fm-auth-page input[type=password]{border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 14%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 8%);color:var(--fm-ink);min-height:40px;padding:0 12px;font-family:var(--fm-font-body);font-size:.84rem}.fm-auth-page .btn,.fm-auth-page button{appearance:none;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 14%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 12%);color:var(--fm-ink);cursor:pointer;min-height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--fm-font-body);font-size:.84rem;font-weight:700;text-decoration:none;transition:border-color .12s ease,background-color .12s ease,transform 80ms ease}.fm-auth-page .btn:hover,.fm-auth-page button:hover{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 58%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 92%)}.fm-auth-page .btn:active,.fm-auth-page button:active{transform:translateY(1px)}.fm-auth-page .btn.confirm{border-color:#fa5a2c6b;background:var(--fm-brand);color:#fff}.fm-auth-page .btn.confirm:hover{color:var(--fm-ink);background-color:color-mix(in srgb,var(--fm-brand),var(--fm-bg) 50%)}.fm-auth-page .btn:disabled,.fm-auth-page button:disabled,.fm-auth-page button[disabled]{opacity:.55;cursor:not-allowed;transform:none}.fm-auth-page .hint{margin:0;font-size:.8rem;line-height:1.35;color:var(--fm-ink-soft)}.fm-auth-page .error{margin:0;border:1px solid color-mix(in srgb,var(--fm-danger),var(--fm-line) 34%);border-radius:12px;background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 88%);padding:9px 10px;color:color-mix(in srgb,var(--fm-danger),var(--fm-ink) 22%);font-size:.82rem;line-height:1.35}.fm-auth-page a{color:var(--fm-brand-strong);font-weight:700;text-decoration:none}.fm-auth-page a:focus-visible,.fm-auth-page a:hover{text-decoration:underline}}@media(min-width:851px)and (max-width:1160px){.fm-auth-page{width:min(640px,100%);grid-template-columns:minmax(0,1fr);align-content:start;padding-top:clamp(28px,6vh,52px);padding-bottom:clamp(22px,4vh,38px)}}:root{--fm-font-body: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--fm-font-head: "Space Grotesk", "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--fm-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fm-bg: #f3efe8;--fm-bg-2: #ece6dc;--fm-ink: #151a27;--fm-ink-soft: #5a6379;--fm-surface: #fcfaf6;--fm-surface-2: #f4f0e9;--fm-line: rgba(21, 26, 39, .14);--fm-brand: #fa5a2c;--fm-brand-strong: #da4318;--fm-mint: #39c78a;--fm-danger: #d94a43;--fm-warning: #f0a531;--fm-macro-calories: #fa5a2c;--fm-macro-proteins: #2bb673;--fm-macro-carbs: #3a87f8;--fm-macro-fats: #f0a531;--fm-macro-fibers: #26aa8b;--fm-macro-sugars: #d94a43;--fm-macro-salt: #7b8cae;--fm-shadow-card: 4px 4px 10px #e8e6e2, -4px -4px 10px #ffffff;--fm-shadow-pop: 0 24px 40px rgba(12, 15, 24, .24)}[data-theme=dark]{--fm-bg: #080d18;--fm-bg-2: #111826;--fm-ink: #f2f5fb;--fm-ink-soft: rgba(242, 245, 251, .68);--fm-surface: #141c2c;--fm-surface-2: #1a2336;--fm-line: rgba(242, 245, 251, .14);--fm-brand: #ff7a53;--fm-brand-strong: #ff997a;--fm-mint: #5ce0a8;--fm-danger: #ff7b75;--fm-warning: #f6c15b;--fm-macro-calories: #ff8e6b;--fm-macro-proteins: #57d89f;--fm-macro-carbs: #6da8ff;--fm-macro-fats: #f6c15b;--fm-macro-fibers: #58cbb0;--fm-macro-sugars: #ff8e87;--fm-macro-salt: #9fb1d6}@media(max-width:850px){*{box-sizing:border-box;-webkit-user-select:none;user-select:none}*:before,*:after{-webkit-user-select:none;user-select:none}html,body{-webkit-touch-callout:none}:root{--bg: var(--fm-bg);--surface: var(--fm-surface);--surface-2: var(--fm-surface-2);--card: color-mix(in srgb, var(--fm-surface), transparent 4%);--card-2: color-mix(in srgb, var(--fm-surface-2), transparent 4%);--border: var(--fm-line);--border-2: color-mix(in srgb, var(--fm-line), var(--fm-ink) 20%);--text: var(--fm-ink);--muted: var(--fm-ink-soft);--muted-2: color-mix(in srgb, var(--fm-ink-soft), transparent 22%);--accent: var(--fm-brand);--accent-2: color-mix(in srgb, var(--fm-brand), white 30%);--danger: var(--fm-danger);--danger-bg: rgba(217, 74, 67, .14);--success: var(--fm-mint);--success-bg: rgba(57, 199, 138, .16);color-scheme:light}html,body{margin:0;overflow-x:hidden}body{font-family:var(--fm-font-body);background:radial-gradient(1100px 500px at 12% -10%,rgba(250,90,44,.16),transparent 60%),radial-gradient(900px 500px at 92% 0%,rgba(57,199,138,.15),transparent 58%),linear-gradient(160deg,var(--fm-bg),var(--fm-bg-2));color:var(--fm-ink);-webkit-tap-highlight-color:transparent}a{color:var(--fm-brand-strong)}h1,h2,h3{font-family:var(--fm-font-head);letter-spacing:-.02em;color:var(--fm-ink)}h1{margin:0 0 10px;font-size:1.2rem}h2{margin:0 0 8px;font-size:1rem}h3{margin:0 0 6px;font-size:.9rem}.hint,.small{color:var(--fm-ink-soft);font-size:.78rem}}@media(max-width:850px){.fm-app-shell{min-height:100vh;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.fm-app-shell.has-bottom-nav:after{content:"";position:fixed;left:0;right:0;bottom:0;height:calc(80px + env(safe-area-inset-bottom));background:linear-gradient(to top,#ffffffeb,#ffffffb3 40%,#fff0);pointer-events:none;z-index:1250}.fm-main{padding:10px;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.fm-topbar{position:sticky;top:0;z-index:1200;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:color-mix(in srgb,var(--fm-surface),transparent 14%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--fm-line)}.fm-topbar-subtitle{margin:0;color:var(--fm-ink-soft);font-family:var(--fm-font-mono);font-size:.67rem;letter-spacing:.1em;text-transform:uppercase}.fm-topbar h1{margin:2px 0 0;font-size:1.05rem}.fm-bottom-nav{position:fixed;left:20px;right:20px;bottom:20px;height:62px;z-index:1300;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--fm-line);border-radius:999px;background:color-mix(in srgb,var(--fm-surface),transparent 15%);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);box-shadow:none;isolation:isolate}.fm-bottom-nav-indicator{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 74%);pointer-events:none;z-index:0;will-change:transform;transition:transform .26s cubic-bezier(.22,.61,.36,1),opacity .12s ease}.fm-bottom-nav-item{min-height:44px;display:grid;place-items:center;border-radius:12px;text-decoration:none;color:var(--fm-ink-soft);font-size:.72rem;font-weight:700;position:relative;z-index:1;transition:color .22s ease}.fm-bottom-nav-item.active{color:var(--fm-ink);background:transparent}.fm-mobile-page{display:grid;gap:10px}}@media(max-width:850px){.fm-hero-card{border-radius:20px;background:linear-gradient(155deg,#fa5a2cf5,#da4318fa);color:#fff;padding:12px 14px;box-shadow:var(--fm-shadow-card)}.fm-hero-card p{margin:0;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--fm-font-mono);opacity:.86}.fm-hero-card strong{display:block;margin-top:2px;font-family:var(--fm-font-head);font-size:1rem}.fm-hero-card small{display:block;margin-top:4px;font-size:.74rem;opacity:.92}.fm-hero-card.auth{margin-bottom:8px}.fm-app-shell button,.fm-btn,.btn,button.danger,button.icon-button,button.mobile-icon-button,button.close,button.planning-context-menu-item{appearance:none;-webkit-appearance:none;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);color:var(--fm-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 12px!important;font-family:var(--fm-font-body);font-size:.82rem;font-weight:700;letter-spacing:0;text-decoration:none;box-shadow:none;width:auto!important;min-width:42px!important;height:auto!important;background-image:none!important;background-repeat:no-repeat!important;text-indent:0!important;line-height:1!important;white-space:nowrap;overflow:visible;color:var(--fm-ink)!important;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform 90ms ease}.fm-app-shell button i{font-size:1rem;line-height:1;pointer-events:none}.fm-app-shell .btn.icon-button>i,.fm-app-shell button.icon-button>i,.fm-app-shell button.mobile-icon-button>i{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1;vertical-align:middle}.fm-app-shell .btn.icon-button>i:before,.fm-app-shell button.icon-button>i:before,.fm-app-shell button.mobile-icon-button>i:before{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1;margin:0}.fm-app-shell button:focus-visible{outline:2px solid color-mix(in srgb,var(--fm-brand),white 40%);outline-offset:1px}.fm-app-shell button:disabled,.fm-app-shell button[disabled]{opacity:.55;cursor:not-allowed;transform:none}.fm-app-shell button:not(:disabled):active{transform:translateY(1px)}.fm-app-shell button.close,.fm-app-shell button.fm-icon-only{width:42px!important;min-width:42px!important;padding:0!important;border-radius:999px}.fm-app-shell button.small-btn,.fm-app-shell button.close.small-btn,.icon-button.small-btn,.mobile-icon-button.small-btn{min-height:34px!important;min-width:34px!important;border-radius:10px!important;padding:0 8px!important}.recipes-head-back-btn{min-width:34px!important;min-height:34px!important;width:34px!important;height:34px!important;padding:0!important;border-radius:10px!important;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.fm-app-shell .planning-context-menu-item{width:100%!important;min-width:0!important;justify-content:flex-start;border-radius:10px}.fm-app-shell .planning-context-menu-item.is-danger{background:#d94a4324;border-color:#d94a435c;color:var(--fm-danger)!important}.fm-btn.primary,button.btn.primary,button.primary.icon-button,button.primary.mobile-icon-button,button.btn.confirm,button.confirm.btn,button.confirm,button.confirm.icon-button,button.confirm.mobile-icon-button{background:var(--fm-brand);color:#fff;border-color:#fa5a2c6b;color:#fff!important}.fm-btn.danger,button.btn.danger,button.danger,button.danger.icon-button,button.danger.mobile-icon-button{background:#d94a4324;color:var(--fm-danger);border-color:#d94a435c;color:var(--fm-danger)!important}.fm-btn.ghost{background:var(--fm-surface)}.btn.btn-ghost{background:var(--fm-surface);color:var(--fm-ink)}.fm-icon-only{width:42px!important;min-width:42px!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.fm-icon-only i{font-size:1rem;line-height:1}.fm-actions-trigger{width:34px;height:34px;min-width:34px;max-width:34px;min-height:34px;max-height:34px;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 88%)!important;border-color:#fa5a2c57!important;color:var(--fm-brand-strong)!important}.fm-food-request-modal{width:min(100%,760px);max-height:calc(100dvh - 16px);border-radius:24px 24px 0 0;padding:14px;display:grid;gap:10px;overflow:auto;margin-bottom:calc(env(safe-area-inset-bottom,0px) + 12px)}.fm-food-request-page{display:grid;gap:10px;min-height:0}.fm-food-request-head{align-items:flex-start;justify-content:space-between;margin:0}.fm-food-request-head .label{display:block;margin-bottom:0}.fm-food-request-form,.fm-food-request-page .panel-section,.fm-food-request-page .food-inline-fields,.fm-food-request-page .food-unit-place-row,.fm-food-request-page .food-inline-row,.fm-food-request-page .food-options-grid,.fm-food-request-page .food-macros-grid{display:grid;gap:10px}.fm-food-request-page .panel-section{margin:0;padding:10px}.fm-food-request-page .label{margin:0;color:var(--fm-ink-soft);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-food-request-page .input,.fm-food-request-page select.input,.fm-food-request-page input.input,.fm-food-request-page .fullwidth{width:100%!important;max-width:100%!important;box-sizing:border-box}.fm-food-request-page .food-inline-fields>div,.fm-food-request-page .food-unit-place-row>div,.fm-food-request-page .food-macros-grid>div,.fm-food-request-page .food-options-grid>div{min-width:0;display:grid;gap:6px}.fm-food-request-page .food-macros-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-food-request-page .food-grid-span-2{grid-column:1 / -1}.fm-food-request-page .food-options-grid>.actions{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%);padding:8px 10px;display:grid;gap:8px}.fm-food-request-page .food-options-grid>.actions .label{margin:0;color:var(--fm-ink);font-size:.9rem;letter-spacing:0;text-transform:none;font-family:var(--fm-font-body)}.fm-food-request-page .food-options-grid>.actions input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--fm-brand)}.fm-food-request-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.fm-app-shell button.close{background:var(--fm-surface);border-color:var(--fm-line);color:var(--fm-ink-soft)!important}.panel-section,.card,.recipe-sheet,.recipe-import-modal,.planning-transfer-modal,.shopping-group{border:1px solid var(--fm-line);border-radius:16px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);box-shadow:var(--fm-shadow-card)}.fm-mobile-page .panel-section.fm-main-head-panel{background:color-mix(in srgb,var(--fm-surface),transparent 4%);box-shadow:none!important}.fm-mobile-page .fm-card{padding:10px;display:grid;gap:8px}.fm-mobile-page .fm-card:not(.panel-section){border:1px solid var(--fm-line);border-radius:16px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);box-shadow:var(--fm-shadow-card)}.fm-mobile-page .fm-card h3{margin:0;font-size:.92rem;line-height:1.2}.fm-mobile-page .fm-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page .fm-card-actions{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}.fm-mobile-page .fm-card-actions .btn,.fm-mobile-page .fm-card-actions .danger{min-height:32px!important}.header-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:flex-start;margin-bottom:8px}.fm-nav-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:0!important}.fm-nav-header h1,.fm-nav-header .panel-title{margin:0;min-width:0;line-height:1.2}.fm-nav-header .fm-nav-back{justify-self:start}.fm-nav-header .fm-nav-actions{justify-self:end}.fm-nav-header .fm-nav-spacer{width:34px;min-width:34px;height:34px}.header-row .actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.input,select.input,textarea.input{min-height:38px;border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 8%);color:var(--fm-ink);font-size:.84rem;padding:5px 8px;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease,color .12s ease}select.input{min-height:38px;height:38px}.input:focus,.input:focus-visible,select.input:focus,select.input:focus-visible,textarea.input:focus,textarea.input:focus-visible{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 24%);background:var(--fm-surface);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-brand),transparent 80%)}.table-wrap{border:1px solid var(--fm-line);border-radius:16px;background:color-mix(in srgb,var(--fm-surface),transparent 4%)}.table th,.table td{border-color:var(--fm-line)}.error{border:1px solid rgba(217,74,67,.4);background:#d94a431f;color:var(--fm-danger);border-radius:12px;padding:10px;font-size:.8rem}.success{border:1px solid rgba(57,199,138,.4);background:#39c78a24;color:var(--fm-mint);border-radius:12px;padding:10px;font-size:.8rem}.fm-skeleton-wrap{display:grid;gap:8px}.fm-skeleton-row{display:flex;align-items:center;gap:8px}.fm-skeleton{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--fm-line),transparent 20%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%)}.fm-skeleton:after{content:"";position:absolute;inset:-1px;transform:translate(-110%);background:linear-gradient(105deg,transparent 0%,color-mix(in srgb,#fff,transparent 70%) 45%,transparent 80%);animation:fm-skeleton-shimmer 1.15s ease-in-out infinite;pointer-events:none}.fm-skeleton.line{height:12px!important;border-radius:999px}.fm-skeleton.block{height:42px!important;border-radius:12px}.fm-skeleton.card{height:78px!important;border-radius:14px}.fm-skeleton.is-short{width:34%}.fm-skeleton.is-medium{width:56%}.fm-skeleton.is-long{width:82%}.fm-skeleton.is-full{width:100%}@keyframes fm-skeleton-shimmer{to{transform:translate(120%)}}@media(prefers-reduced-motion:reduce){.fm-skeleton:after{animation:none;transform:translate(0);opacity:.35}}.fm-toast-host{position:fixed;top:calc(8px + env(safe-area-inset-top));right:8px;z-index:1700;display:grid;gap:8px}.fm-toast{width:min(300px,calc(100vw - 20px));border-radius:12px;border:1px solid var(--fm-line);background:var(--fm-surface);box-shadow:var(--fm-shadow-pop);padding:10px 12px;cursor:pointer;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.fm-toast strong{display:block;font-size:.8rem;font-family:var(--fm-font-head)}.fm-toast p{margin:2px 0 0;color:var(--fm-ink-soft);font-size:.74rem}.fm-toast-slide-enter-active,.fm-toast-slide-leave-active{transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .2s ease}.fm-toast-slide-move{transition:transform .22s ease}.fm-toast-slide-enter-from,.fm-toast-slide-leave-to{transform:translate(28px);opacity:0}.fm-toast-slide-enter-to,.fm-toast-slide-leave-from{transform:translate(0);opacity:1}.fm-toast.is-success{border-color:#39c78a61;background:color-mix(in srgb,rgb(57,199,138,.6),var(--fm-surface) 50%)}.fm-toast.is-error{border-color:#d94a4366;background:color-mix(in srgb,rgba(204,60,52,.35),var(--fm-surface) 50%)}.fm-sheet-backdrop{position:fixed;inset:0;background:#090a128a;z-index:1650;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;will-change:opacity}.fm-sheet-backdrop.is-confirm{z-index:2147483600}.fm-bottom-sheet,.fm-confirm-sheet{width:min(520px,100%);border-radius:22px 22px 0 0;border:1px solid var(--fm-line);border-bottom:0;background:var(--fm-surface);padding:10px 12px calc(14px + env(safe-area-inset-bottom));box-shadow:var(--fm-shadow-pop);transform:translateZ(0);-webkit-transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform;transition:transform .26s cubic-bezier(.22,1,.36,1);-webkit-transition:-webkit-transform .26s cubic-bezier(.22,1,.36,1)}.fm-bottom-sheet{max-height:95vh;overflow:auto;overscroll-behavior:contain}.fm-sheet-fade-enter-active,.fm-sheet-fade-leave-active{transition:opacity .18s ease;-webkit-transition:opacity .18s ease}.fm-sheet-fade-enter-active .fm-bottom-sheet,.fm-sheet-fade-leave-active .fm-bottom-sheet,.fm-sheet-fade-enter-active .fm-confirm-sheet,.fm-sheet-fade-leave-active .fm-confirm-sheet{transition:transform .26s cubic-bezier(.22,1,.36,1);-webkit-transition:-webkit-transform .26s cubic-bezier(.22,1,.36,1)}.fm-sheet-fade-enter-from,.fm-sheet-fade-leave-to{opacity:0}.fm-sheet-fade-enter-to,.fm-sheet-fade-leave-from{opacity:1}.fm-sheet-fade-enter-from .fm-bottom-sheet,.fm-sheet-fade-leave-to .fm-bottom-sheet,.fm-sheet-fade-enter-from .fm-confirm-sheet,.fm-sheet-fade-leave-to .fm-confirm-sheet{transform:translate3d(0,100%,0);-webkit-transform:translate3d(0,100%,0)}.fm-sheet-fade-enter-to .fm-bottom-sheet,.fm-sheet-fade-leave-from .fm-bottom-sheet,.fm-sheet-fade-enter-to .fm-confirm-sheet,.fm-sheet-fade-leave-from .fm-confirm-sheet{transform:translateZ(0);-webkit-transform:translate3d(0,0,0)}.fm-bottom-sheet-head{margin-bottom:6px}.fm-bottom-sheet-head h3,.fm-confirm-sheet h3{margin:0 0 8px;font-size:.96rem}.fm-bottom-sheet-handle{width:56px;height:6px;border-radius:999px;background:#151a273d;margin:0 auto 8px}.fm-confirm-sheet p{margin:0 0 10px;color:var(--fm-ink-soft);font-size:.82rem;white-space:pre-line}.fm-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fm-accordion{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface)}.fm-accordion-head{width:100%;border:0;background:transparent;min-height:44px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;color:var(--fm-ink)}.fm-accordion-body{border-top:1px solid var(--fm-line);padding:10px}.fm-segmented{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface-2);padding:5px}.fm-segmented-item{border:0;min-height:36px;border-radius:10px;background:transparent;color:var(--fm-ink-soft);font-weight:700;font-size:.74rem}.fm-segmented-item.active{background:var(--fm-surface);color:var(--fm-ink)}.auth-page{min-height:auto;padding:0;display:block;background:transparent}.auth-card{width:100%;max-width:none;border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface);box-shadow:var(--fm-shadow-card);padding:12px}.auth-card h1{margin-bottom:10px}}@media(max-width:850px){.panel-section{padding:10px;margin:0}.panel-title{margin:0;font-size:1rem;font-family:var(--fm-font-head);color:var(--fm-ink)}.label{display:block;margin:6px 0 0;font-size:.72rem;font-family:var(--fm-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fm-ink-soft)}.label:first-child{display:block;margin:0}.label-inline{margin:0}.margin{display:block;margin-bottom:8px}.row{display:grid;gap:8px}.inline{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.actions,.sheet-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sheet-actions.inline{justify-content:flex-start}.fm-bottom-sheet-body{margin:15px 0 20px}.fm-bottom-sheet-body .sheet-actions{display:grid;gap:8px}.fm-bottom-sheet-body .sheet-actions .btn,.fm-bottom-sheet-body .sheet-actions .danger{width:100%;min-height:40px!important;justify-content:center;text-align:center}.fullwidth,.mobile-fullwidth,.input.fullwidth,.input.mobile-fullwidth,.xlarge{width:100%!important;max-width:100%}.input::placeholder{color:color-mix(in srgb,var(--fm-ink-soft),transparent 10%)}.input.xlarge,.input.large{min-height:38px}.input.medium{min-width:104px}.input.small{min-width:78px;min-height:36px}.input.center{text-align:center}.household-code-input{text-transform:lowercase;letter-spacing:.02em}.fm-mobile-page .input[type=checkbox],.fm-mobile-page input[type=checkbox]{appearance:none;-webkit-appearance:none;margin:0;width:18px;height:18px;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface-2);background-position:center;background-repeat:no-repeat;background-size:12px 12px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease,transform 90ms ease}.fm-mobile-page .input[type=checkbox]:checked,.fm-mobile-page input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}.fm-mobile-page .input[type=checkbox]:focus-visible,.fm-mobile-page input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-brand),transparent 78%)}.fm-mobile-page .input[type=checkbox]:disabled,.fm-mobile-page input[type=checkbox]:disabled{opacity:.55;cursor:not-allowed}.btn.arrow-btn,button.arrow-btn{width:42px!important;min-width:42px!important;padding:0!important;border-radius:999px!important}.btn.confirm,.btn.primary{box-shadow:inset 0 -1px #00000014}.btn.btn-ghost,.fm-btn.ghost{background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 16%);border-color:color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%)}.close{width:42px!important;min-width:42px!important;min-height:42px!important;border-radius:999px}.sheet-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px}.sheet-header h1,.sheet-header h2,.sheet-header h3{margin:0;font-size:1rem;line-height:1.2}.sheet-header+.panel-section{margin-top:0}.is-search-field{padding-left:12px!important;border-color:color-mix(in srgb,var(--fm-line),var(--fm-brand) 16%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-brand) 4%)}.macros-table{width:100%;border-collapse:collapse}.macros-table td{border-bottom:1px solid var(--fm-line);padding:8px 0;font-size:.79rem}.macros-table .k{color:var(--fm-ink-soft)}.macros-table .v{text-align:right;color:var(--fm-ink);font-weight:800}.edit-table{width:100%}.is-off-target{color:var(--fm-danger);font-weight:800}.recipe-macros-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.recipe-macros-head strong{margin:0;min-width:0}.fm-macro-badges{margin:8px 0 4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-macro-badge{min-height:52px;border:1px solid var(--fm-line);border-radius:12px;padding:8px 10px;display:grid;align-content:center;gap:2px;color:var(--fm-ink)}.fm-macro-badge small{display:block;margin:0;font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;font-family:var(--fm-font-mono);opacity:.86}.fm-macro-badge b{display:block;margin:0;font-size:.83rem;font-family:var(--fm-font-head);font-weight:700;letter-spacing:-.01em}.fm-macro-badge.is-calories{border-color:color-mix(in srgb,var(--fm-macro-calories),transparent 62%);background:color-mix(in srgb,var(--fm-macro-calories),var(--fm-surface) 88%)}.fm-macro-badge.is-proteins{border-color:color-mix(in srgb,var(--fm-macro-proteins),transparent 62%);background:color-mix(in srgb,var(--fm-macro-proteins),var(--fm-surface) 88%)}.fm-macro-badge.is-carbs{border-color:color-mix(in srgb,var(--fm-macro-carbs),transparent 62%);background:color-mix(in srgb,var(--fm-macro-carbs),var(--fm-surface) 88%)}.fm-macro-badge.is-fats{border-color:color-mix(in srgb,var(--fm-macro-fats),transparent 60%);background:color-mix(in srgb,var(--fm-macro-fats),var(--fm-surface) 87%)}.fm-macro-badge.is-fibers{border-color:color-mix(in srgb,var(--fm-macro-fibers),transparent 62%);background:color-mix(in srgb,var(--fm-macro-fibers),var(--fm-surface) 89%)}.fm-macro-badge.is-sugars{border-color:color-mix(in srgb,var(--fm-macro-sugars),transparent 62%);background:color-mix(in srgb,var(--fm-macro-sugars),var(--fm-surface) 90%)}.fm-macro-badge.is-salt{border-color:color-mix(in srgb,var(--fm-macro-salt),transparent 62%);background:color-mix(in srgb,var(--fm-macro-salt),var(--fm-surface) 89%)}.fm-diet-icons{display:inline-flex;align-items:center;align-self:center;gap:3px;min-width:0;flex:0 0 auto;line-height:1;vertical-align:middle;margin:0 5px}.fm-diet-icon-image{display:block;width:auto;height:14px}.fm-diet-icons.is-xs .fm-diet-icon-image{height:12px}.fm-diet-icons.is-sm .fm-diet-icon-image{height:14px}.fm-diet-icons.is-md .fm-diet-icon-image{height:16px}.fm-diet-icons-overflow{min-height:14px;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink-soft);padding:0 5px;display:inline-flex;align-items:center;font-size:.56rem;font-family:var(--fm-font-mono);letter-spacing:.03em;line-height:1}textarea{resize:none}}@media(max-width:850px){.fm-mobile-page .header-row>h1{display:none}.fm-mobile-page .header-row .actions{margin-left:auto}.fm-mobile-page .mobile-icon-button{width:44px;min-width:44px;height:44px;min-height:44px;border-radius:999px}.fm-mobile-page .planning-summary{position:static;width:100%;margin-top:10px}.fm-mobile-page .recipes-layout,.fm-mobile-page .recipe-consult-layout,.fm-mobile-page .edit-layout,.fm-mobile-page .settings-layout{grid-template-columns:1fr;display:grid;gap:10px}.fm-mobile-page .recipes-list,.fm-mobile-page .recipe-sheet,.fm-mobile-page .edit-main,.fm-mobile-page .edit-side{width:100%;min-width:0}.fm-mobile-page .recipe-row{border-radius:12px;border:1px solid var(--fm-line);background:var(--fm-surface)}.fm-mobile-page .recipe-sheet:not(.empty){position:fixed;inset:0;z-index:1500;margin:0;border-radius:0;border:0;padding:calc(10px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--fm-surface),transparent 2%);overflow:auto}.fm-mobile-page .table{min-width:680px}}@media(max-width:850px){.fm-mobile-page{--fm-panel-section-gap: 10px}.fm-mobile-page>.header-row:first-child{margin-bottom:2px}.fm-mobile-page>.header-row:first-child h1{font-size:1.02rem;margin:0}.fm-mobile-page h2{font-size:.95rem}.fm-mobile-page h3{font-size:.86rem}.fm-mobile-page em{color:var(--fm-ink-soft);font-size:.8rem;font-style:normal}.fm-mobile-page .hint.panel-section{font-size:.78rem;line-height:1.35}.fm-mobile-page .header-row .actions{justify-content:flex-end}.fm-mobile-page .sheet-header,.fm-mobile-page .recipe-edit-header{position:sticky;top:0;z-index:8;background:color-mix(in srgb,var(--fm-surface),transparent 4%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding-bottom:8px}.fm-mobile-page .recipe-sheet,.fm-mobile-page .planning-transfer-modal,.fm-mobile-page .recipe-import-modal{border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface);box-shadow:var(--fm-shadow-pop)}.fm-mobile-page .planning-transfer-overlay,.fm-mobile-page .recipe-import-overlay{position:fixed;inset:0;z-index:1660;background:#090a128a;display:flex;align-items:flex-end;justify-content:center;padding:10px}.fm-mobile-page .planning-transfer-modal,.fm-mobile-page .recipe-import-modal{width:min(580px,100%);max-height:calc(100vh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;padding:10px}}@media(max-width:850px){.fm-mobile-page-menus .planning-page{margin-top:0;display:grid;gap:10px}.fm-mobile-page-menus .planning-mobile-toolbar{padding:10px;display:grid;gap:8px}.fm-mobile-page-menus .planning-week-actions{width:100%;justify-content:flex-end}.fm-mobile-page-menus .planning-mobile-toolbar .planning-week-actions .input{min-width:128px}.fm-mobile-page-menus .planning-mobile-actions{display:flex;gap:6px;flex-wrap:wrap}.fm-mobile-page-menus .fm-menu-week-switch .btn:disabled{opacity:.45;cursor:default}.fm-mobile-page-menus .planning-mobile-week-pill{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink-soft);min-height:30px;display:inline-flex;align-items:center;padding:0 10px;font-size:.7rem;font-family:var(--fm-font-mono);letter-spacing:.07em;text-transform:uppercase}.fm-mobile-page-menus .planning-grid-head{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--fm-surface),transparent 6%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding-bottom:2px}.fm-mobile-page-menus .planning-grid-body{display:grid;gap:6px}.fm-mobile-page-menus .planning-main{border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface);box-shadow:var(--fm-shadow-card);padding:8px;overflow:auto}.fm-mobile-page-menus .planning-grid{min-width:calc(98px + (var(--planning-day-count, 1) * 196px));display:grid;gap:6px}.fm-mobile-page-menus .planning-grid-head,.fm-mobile-page-menus .planning-grid-row{display:grid;grid-template-columns:95px repeat(var(--planning-day-count, 1),minmax(196px,1fr));gap:6px;align-items:stretch}.fm-mobile-page-menus .planning-grid-slot-spacer{border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center;justify-items:center;padding:0}.fm-mobile-page-menus .planning-grid-day-step{width:34px!important;min-width:34px!important;min-height:34px!important;border-radius:10px!important}.fm-mobile-page-menus .planning-day-header{background:var(--fm-surface-2);border-color:var(--fm-line);color:var(--fm-ink-soft);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--fm-line);border-radius:12px;min-height:40px}.fm-mobile-page-menus .slot-name{background:var(--fm-surface);color:var(--fm-ink);font-size:.77rem;border:1px solid var(--fm-line);border-radius:12px;padding:10px 8px;display:flex;align-items:center;justify-content:flex-start;text-align:left;font-family:var(--fm-font-head);text-transform:none;letter-spacing:0;line-height:1.2;word-break:break-word}.fm-mobile-page-menus .cell{height:54px;min-height:54px}.fm-mobile-page-menus .cell>div{background:color-mix(in srgb,var(--fm-surface),transparent 4%);border:1px solid var(--fm-line);border-radius:10px;height:54px;min-height:54px}.fm-mobile-page-menus .planning-cell-body--empty>.planning-cell-add{border:1px dashed color-mix(in srgb,var(--fm-line),var(--fm-ink) 22%);background:transparent;color:var(--fm-ink-soft)}.fm-mobile-page-menus .planning-cell-name{color:var(--fm-ink);font-size:.78rem}.fm-mobile-page-menus .planning-cell-people{color:var(--fm-ink-soft)}.fm-mobile-page-menus .planning-summary{border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface);box-shadow:var(--fm-shadow-card);padding:10px}.fm-mobile-page-menus .planning-summary-table td{border-color:var(--fm-line)}.fm-mobile-page-menus .planning-day-nav{border:1px solid var(--fm-line);background:var(--fm-surface)}.fm-mobile-page-menus .planning-summary-progress{display:grid;gap:8px;margin:8px 0}.fm-mobile-page-menus .planning-summary-progress-row{display:grid;gap:5px}.fm-mobile-page-menus .planning-summary-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--fm-ink-soft);font-size:.72rem}.fm-mobile-page-menus .planning-summary-progress-head b{color:var(--fm-ink);font-size:.74rem}.fm-mobile-page-menus .planning-summary-progress-track{position:relative;height:8px;border-radius:999px;border:1px solid var(--fm-line);background:var(--fm-surface-2);overflow:visible}.fm-mobile-page-menus .planning-summary-progress-track i{display:block;width:var(--fm-progress-fill, 0%);height:100%;min-width:4px;border-radius:inherit;background:var(--fm-macro-calories);transition:width .26s cubic-bezier(.22,.61,.36,1)}.fm-mobile-page-menus .planning-summary-progress-marker{position:absolute;top:-1px;bottom:-1px;width:2px;border-radius:999px;transform:translate(-50%);pointer-events:none;z-index:2}.fm-mobile-page-menus .planning-summary-progress-marker.is-lower{left:var(--fm-progress-lower, 0%);width:2px;top:-2px;bottom:-2px;border-radius:999px;background:color-mix(in srgb,var(--fm-ink-soft),var(--fm-surface) 18%);opacity:.82}.fm-mobile-page-menus .planning-summary-progress-marker.is-target{left:var(--fm-progress-target, 50%);width:3px;top:-4px;bottom:-4px;border-radius:999px;background:color-mix(in srgb,var(--fm-ink),white 6%);opacity:.92}.fm-mobile-page-menus .planning-summary-progress-marker.is-upper{left:var(--fm-progress-upper, 100%);width:2px;top:-2px;bottom:-2px;border-radius:999px;background:color-mix(in srgb,var(--fm-ink-soft),var(--fm-surface) 18%);opacity:.82}.fm-mobile-page-menus .planning-summary-progress-row.is-calories .planning-summary-progress-track i{background:linear-gradient(90deg,color-mix(in srgb,var(--fm-macro-calories),white 14%),var(--fm-macro-calories))}.fm-mobile-page-menus .planning-summary-progress-row.is-proteins .planning-summary-progress-track i{background:linear-gradient(90deg,color-mix(in srgb,var(--fm-macro-proteins),white 14%),var(--fm-macro-proteins))}.fm-mobile-page-menus .planning-summary-progress-row.is-carbs .planning-summary-progress-track i{background:linear-gradient(90deg,color-mix(in srgb,var(--fm-macro-carbs),white 14%),var(--fm-macro-carbs))}.fm-mobile-page-menus .planning-summary-progress-row.is-fats .planning-summary-progress-track i{background:linear-gradient(90deg,color-mix(in srgb,var(--fm-macro-fats),white 14%),var(--fm-macro-fats))}.fm-mobile-page-menus .planning-sheet-actions{display:grid;gap:8px}.fm-mobile-page-menus .time-slot-panel-mobile-shell{position:fixed;inset:0;z-index:1690;display:grid;align-items:stretch}.fm-mobile-page-menus .time-slot-panel-backdrop{position:absolute;inset:0;background:#090a128f;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.fm-mobile-page-menus .time-slot-panel-mobile-shell .panel.time-slot-panel{position:fixed;top:calc(10px + env(safe-area-inset-top));left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;max-height:none;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px;display:grid;gap:10px;grid-auto-rows:max-content;align-content:start;background:color-mix(in srgb,var(--fm-surface),transparent 4%);border:1px solid var(--fm-line);border-radius:18px;box-shadow:var(--fm-shadow-pop)}.fm-mobile-page-menus .time-slot-panel-mobile-shell .panel.time-slot-panel.time-slot-panel--picker{display:grid;grid-template-rows:auto 1fr;overflow:hidden}.fm-mobile-page-menus .time-slot-panel .close{position:static;margin:0}.fm-mobile-page-menus .time-slot-panel-head{position:sticky;top:0;z-index:5;display:grid;align-items:center;margin:-2px -2px 0;padding:0 2px 10px;border-bottom:1px solid var(--fm-line);border-radius:10px 10px 0 0;background:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fm-mobile-page-menus .time-slot-panel-head-copy{min-width:0;display:grid;gap:2px}.fm-mobile-page-menus .time-slot-panel-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.fm-mobile-page-menus .time-slot-panel-eyebrow{margin:0;color:var(--fm-ink-soft);font-size:.66rem;font-family:var(--fm-font-mono);letter-spacing:.1em;text-transform:uppercase}.fm-mobile-page-menus .time-slot-panel-head .panel-title{margin:2px 0 0;font-size:1rem;line-height:1.2;color:var(--fm-ink)}.fm-mobile-page-menus .time-slot-panel-meta{margin:4px 0 0;color:var(--fm-ink-soft);font-size:.75rem;line-height:1.3}.fm-mobile-page-menus .time-slot-sheet-actions{display:grid;gap:8px}.fm-mobile-page-menus .time-slot-picker-section{margin:0;padding:12px;min-height:0;display:flex;flex-direction:column;overflow:hidden}.fm-mobile-page-menus .time-slot-picker-section .recipe-picker-root{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,37%);grid-template-rows:auto auto auto minmax(0,1fr);grid-template-areas:"picker-label picker-label" "picker-category picker-sort" "picker-search picker-search" "picker-list picker-list";gap:8px;align-items:stretch}.fm-mobile-page-menus .time-slot-picker-section .recipe-picker-root>.label{grid-area:picker-label;margin-bottom:0}.fm-mobile-page-menus .time-slot-picker-section .recipe-picker-root>.recipe-picker-category-row{grid-area:picker-category;display:flex;align-items:center;gap:8px;min-width:0}.fm-mobile-page-menus .time-slot-picker-section .recipe-picker-root .recipe-picker-category-row>.recipe-category-select{flex:1;min-width:0}.fm-mobile-page-menus .time-slot-picker-section .recipe-picker-seasonal-toggle{display:flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer;font-size:.85em;-webkit-user-select:none;user-select:none}.fm-mobile-page-menus .time-slot-picker-section .recipe-picker-filters{display:contents}.fm-mobile-page-menus .time-slot-picker-section .recipe-picker-filters>.recipe-picker-search,.fm-mobile-page-menus .time-slot-picker-section .recipe-picker-filters>.recipe-picker-sort{width:100%!important;min-width:0;margin:0}.fm-mobile-page-menus .time-slot-picker-section .recipe-picker-filters>.recipe-picker-sort{grid-area:picker-sort;min-height:38px;height:38px}.fm-mobile-page-menus .time-slot-picker-section .recipe-picker-filters>.recipe-picker-search{grid-area:picker-search}.fm-mobile-page-menus .time-slot-picker-section .recipe-list{grid-area:picker-list;height:100%;flex:1 1 auto;min-height:0;max-height:none!important;align-self:flex-start;overflow:auto;display:grid;grid-auto-rows:max-content;align-content:start;gap:6px}.fm-mobile-page-menus .time-slot-picker-section .recipe-item{height:38px!important;min-height:38px!important;max-height:38px!important;display:flex!important;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-menus .time-slot-picker-section .recipe-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-mobile-page-menus .time-slot-picker-section .recipe-item-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;min-width:0}@media(max-width:420px){.fm-mobile-page-menus .time-slot-picker-section .recipe-picker-root{grid-template-columns:minmax(0,1fr) minmax(104px,40%)}}.fm-mobile-page-menus .time-slot-members,.fm-mobile-page-menus .time-slot-macros,.fm-mobile-page-menus .time-slot-ingredients{margin:0;padding:12px;display:grid;gap:10px}.fm-mobile-page-menus .time-slot-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-menus .time-slot-section-head h3{margin:0;font-size:.88rem}.fm-mobile-page-menus .time-slot-saving{border:1px solid var(--fm-line);border-radius:999px;min-height:24px;display:inline-flex;align-items:center;padding:0 8px;font-size:.66rem;color:var(--fm-ink-soft);font-family:var(--fm-font-mono);letter-spacing:.07em;text-transform:uppercase;background:var(--fm-surface-2)}.fm-mobile-page-menus .time-slot-member-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.fm-mobile-page-menus .time-slot-member-chip{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface-2);min-height:38px;max-height:38px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px}.fm-mobile-page-menus .time-slot-member-chip.active{border-color:#fa5a2c61;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%)}.fm-mobile-page-menus .time-slot-member-chip input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--fm-brand)}.fm-mobile-page-menus .time-slot-member-name{color:var(--fm-ink);font-size:.8rem;font-weight:700}.fm-mobile-page-menus .time-slot-member-badge{border:1px solid var(--fm-line);border-radius:999px;min-height:22px;display:inline-flex;align-items:center;padding:0 3px 0 5px;background:var(--fm-surface);color:var(--fm-ink-soft);font-size:.64rem;font-family:var(--fm-font-mono);letter-spacing:.06em;text-transform:uppercase}.fm-mobile-page-menus .object-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.fm-mobile-page-menus .recipe-ingredient-line{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:5px 5px 5px 9px;display:flex;align-items:center;justify-content:space-between;gap:10px}.fm-mobile-page-menus .recipe-ingredient-name{color:var(--fm-ink);font-size:.8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-mobile-page-menus .recipe-ingredient-qty-badge{flex:0 0 auto;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface);color:var(--fm-ink-soft);min-height:24px;padding:0 8px;display:inline-flex;align-items:center;font-size:.8rem;font-family:var(--fm-font-mono);line-height:1}.fm-mobile-page-menus .planning-transfer-overlay{background:#090a1280}}@media(max-width:850px){.fm-mobile-page-menus .planning-mobile-page,.fm-mobile-page-menus .planning-page{display:grid;gap:10px}.fm-mobile-page-menus .planning-main{position:relative}.fm-mobile-page-menus .planning-loading-overlay{position:absolute;inset:0;z-index:30;display:grid;place-items:center;background:#0006;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:all;border-radius:inherit}.fm-mobile-page-menus .planning-loading-spinner{width:min(20vh,20vw);aspect-ratio:1/1;display:inline-grid;place-items:center;border-radius:999px;color:#fff;background:none;box-shadow:none}.fm-mobile-page-menus .planning-loading-spinner i{display:inline-block;font-size:min(8vh,8vw);line-height:1;animation:fm-planning-loading-spin .9s linear infinite;transform-origin:47% 42%}@keyframes fm-planning-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fm-mobile-page-menus .planning-grid .cell{position:relative;border-radius:12px;height:54px;min-height:54px;cursor:pointer}.fm-mobile-page-menus .planning-grid .cell.cell--draggable{cursor:grab}.fm-mobile-page-menus .planning-grid .cell.cell--drag-source{opacity:.58}.fm-mobile-page-menus .planning-grid .cell.cell--drag-target .planning-cell-body{border-color:#fa5a2c75;box-shadow:0 0 0 2px color-mix(in srgb,var(--fm-brand),transparent 78%)}.fm-mobile-page-menus .planning-grid .cell.cell--drag-invalid .planning-cell-body{border-color:#d94a438a;box-shadow:0 0 0 2px #d94a4333}.fm-mobile-page-menus .planning-grid .cell.cell--generated .planning-cell-body{box-shadow:0 0 0 2px color-mix(in srgb,var(--fm-brand),transparent 78%)}.fm-mobile-page-menus .planning-grid .cell.cell--preserved .planning-cell-body{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fm-ink),transparent 82%)}.fm-mobile-page-menus .planning-cell-body{position:relative;height:54px;min-height:54px;padding:6px;display:flex;align-items:stretch;justify-content:flex-start;gap:6px}.fm-mobile-page-menus .planning-cell-body--empty{align-items:center;justify-content:center}.fm-mobile-page-menus .planning-cell-body--empty>.planning-cell-add{width:24px;height:24px;border-radius:999px;display:inline-grid;place-items:center;font-family:var(--fm-font-head);font-size:.9rem;border:1px dashed color-mix(in srgb,var(--fm-line),var(--fm-ink) 22%);background:transparent;color:var(--fm-ink-soft)}.fm-mobile-page-menus .planning-cell-content{width:100%;min-width:0;min-height:42px;display:flex;flex-direction:column;justify-content:flex-start;gap:3px}.fm-mobile-page-menus .planning-cell-name{align-self:flex-start;line-height:1;font-size:14px}.fm-mobile-page-menus .planning-cell-recipe-main{min-width:0;width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:6px}.fm-mobile-page-menus .planning-cell-recipe-main .fm-diet-icons{flex:0 0 auto}.fm-mobile-page-menus .planning-cell-people{margin-top:auto;align-self:flex-start;font-size:.69rem;line-height:1.2}.fm-mobile-page-menus .planning-cell-icons{position:absolute;right:1px;bottom:1px;display:inline-flex;flex-direction:column;flex-flow:column-reverse;gap:0px;align-items:center}.fm-mobile-page-menus .planning-cell-icon{width:20px;height:20px;border-radius:999px;display:inline-grid;place-items:center;font-size:.72rem;background:var(--fm-surface)}.fm-mobile-page-menus .planning-cell-icon.plus-ico{color:var(--fm-mint);border-color:#39c78a61}.fm-mobile-page-menus .planning-cell-icon.warning-ico{color:var(--fm-warning);border-color:#f0a5315c}.fm-mobile-page-menus .diet-warning-ico{color:color-mix(in srgb,var(--fm-danger),var(--fm-warning) 0%)}.fm-mobile-page-menus .season-warning-ico{color:var(--fm-warning)}.time-slot-diet-warning-indicator{scale:120%;margin-right:2px;transform:translateY(5px)}.fm-mobile-page-menus .planning-day-nav{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;padding:8px;text-align:center}.fm-mobile-page-menus .planning-day-nav strong{font-family:var(--fm-font-head);font-size:.9rem;color:var(--fm-ink)}.fm-mobile-page-menus .planning-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.fm-mobile-page-menus .planning-summary-head>div{min-width:0}.fm-mobile-page-menus .planning-summary-head strong{display:block;font-size:.92rem;font-family:var(--fm-font-head)}.fm-mobile-page-menus .planning-summary-meta{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.fm-mobile-page-menus .planning-summary-meta span{border:1px solid var(--fm-line);border-radius:10px;background:var(--fm-surface-2);padding:6px 8px;font-size:.68rem;color:var(--fm-ink-soft);text-align:center;line-height:1.25}.fm-mobile-page-menus .planning-summary-meta strong{color:var(--fm-ink)}.fm-mobile-page-menus .menu-generation-sheet{display:grid;gap:14px}.fm-mobile-page-menus .menu-generation-sheet-head p,.fm-mobile-page-menus .menu-generation-hint,.fm-mobile-page-menus .menu-generation-warnings p{margin:4px 0 0;color:var(--fm-ink-soft);line-height:1.45}.fm-mobile-page-menus .menu-generation-sheet-section{display:grid;gap:10px}.fm-mobile-page-menus .menu-generation-profile-list{display:grid;gap:8px}.fm-mobile-page-menus .menu-generation-profile-btn{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface);padding:8px 10px!important;display:grid;gap:4px;text-align:left;justify-content:start}.fm-mobile-page-menus .menu-generation-profile-btn strong{color:var(--fm-ink)}.fm-mobile-page-menus .menu-generation-profile-btn small{color:var(--fm-ink-soft);line-height:1.4}.fm-mobile-page-menus .menu-generation-profile-btn.active{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 35%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 92%)}.fm-mobile-page-menus .menu-generation-progress{display:grid;gap:10px;padding:12px;border:1px solid var(--fm-line);border-radius:14px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 15%)}.fm-mobile-page-menus .menu-generation-progress-head{display:grid;gap:4px}.fm-mobile-page-menus .menu-generation-progress-head span{color:var(--fm-ink-soft)}.fm-mobile-page-menus .menu-generation-progress-track{position:relative;height:10px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 20%);border:1px solid var(--fm-line)}.fm-mobile-page-menus .menu-generation-progress-track i{position:absolute;inset:1px auto 1px -40%;width:40%;border-radius:inherit;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--fm-brand),white 10%) 45%,transparent 100%);animation:fm-menu-generation-progress 1.15s linear infinite}.fm-mobile-page-menus .menu-generation-result{display:grid;gap:12px;padding:12px;border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface)}.fm-mobile-page-menus .menu-generation-result-head{display:grid;gap:4px}.fm-mobile-page-menus .menu-generation-result-head small{color:var(--fm-ink-soft)}.fm-mobile-page-menus .menu-generation-metric-grid{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.fm-mobile-page-menus .menu-generation-metric-card{display:grid;gap:4px;padding:10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--fm-line),transparent 10%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 10%)}.fm-mobile-page-menus .menu-generation-metric-card span{color:var(--fm-ink-soft);font-size:.8rem}.fm-mobile-page-menus .menu-generation-metric-card strong{color:var(--fm-ink)}.fm-mobile-page-menus .menu-generation-metric-card.is-off-target{border-color:color-mix(in srgb,var(--fm-danger),var(--fm-line) 45%);background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 95%)}.fm-mobile-page-menus .menu-generation-warnings{display:grid;gap:6px}.fm-mobile-page-menus .menu-generation-sheet-notes,.fm-mobile-page-menus .menu-generation-diagnostics{display:grid;gap:8px}.fm-mobile-page-menus .menu-generation-summary-chips,.fm-mobile-page-menus .menu-generation-daily-list{display:flex;flex-wrap:wrap;gap:8px}.fm-mobile-page-menus .menu-generation-chip,.fm-mobile-page-menus .menu-generation-day-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fm-line),transparent 10%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 10%);font-size:.82rem;color:var(--fm-ink)}.fm-mobile-page-menus .menu-generation-chip.is-alert,.fm-mobile-page-menus .menu-generation-day-pill.is-off{border-color:color-mix(in srgb,var(--fm-danger),var(--fm-line) 35%);background:color-mix(in srgb,var(--fm-danger),var(--fm-surface) 95%)}.fm-mobile-page-menus .menu-generation-day-pill.is-target{border-color:color-mix(in srgb,var(--fm-success),var(--fm-line) 40%);background:color-mix(in srgb,var(--fm-success),var(--fm-surface) 94%)}.fm-mobile-page-menus .menu-generation-day-pill.is-tolerated{border-color:color-mix(in srgb,var(--fm-warning),var(--fm-line) 40%);background:color-mix(in srgb,var(--fm-warning),var(--fm-surface) 94%)}.fm-mobile-page-menus .menu-generation-diagnostic-item{display:grid;gap:4px;padding:10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--fm-line),transparent 8%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%)}.fm-mobile-page-menus .menu-generation-diagnostic-item p,.fm-mobile-page-menus .menu-generation-diagnostic-item small{margin:0}.fm-mobile-page-menus .menu-generation-diagnostic-item small{color:var(--fm-ink-soft);line-height:1.4}.fm-mobile-page-menus .menu-generation-actions{display:grid;gap:8px}@keyframes fm-menu-generation-progress{0%{left:-40%}to{left:100%}}.fm-mobile-page-menus .planning-context-menu{position:fixed;z-index:1750;min-width:220px;max-width:calc(100vw - 24px);border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface);box-shadow:var(--fm-shadow-pop);padding:8px;display:grid;gap:8px}.fm-mobile-page-menus .cell.planning-cell--excluded{opacity:.4;pointer-events:auto}.fm-mobile-page-menus .planning-week-day.planning-week-day--excluded{opacity:.4}.fm-mobile-page-menus .planning-summary-exclusion-reset{padding-top:8px;border-top:1px solid var(--fm-line);margin-top:8px}.fm-mobile-page-menus .planning-hover-tooltip{position:fixed;z-index:1720;width:min(320px,calc(100vw - 24px));border:1px solid var(--fm-line);border-radius:14px;background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 5%);box-shadow:var(--fm-shadow-pop);padding:10px}.fm-mobile-page-menus .planning-hover-tooltip h2{margin:0 0 8px;font-size:.88rem}.fm-mobile-page-menus .planning-hover-title{display:inline-flex;align-items:center;gap:6px;min-width:0}.fm-mobile-page-menus .planning-hover-title span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-mobile-page-menus .planning-hover-grid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.fm-mobile-page-menus .planning-hover-grid span{border:1px solid var(--fm-line);border-radius:10px;background:var(--fm-surface-2);padding:6px 8px;font-size:.7rem;color:var(--fm-ink-soft);line-height:1.25}.fm-mobile-page-menus .planning-hover-grid strong{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;font-family:var(--fm-font-mono);color:var(--fm-ink)}.fm-mobile-page-menus .planning-transfer-modal{width:min(560px,100%);max-height:calc(100vh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;padding:10px}.fm-mobile-page-menus .planning-transfer-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.fm-mobile-page-menus .planning-transfer-tabs .btn.is-active{background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 84%);border-color:#fa5a2c5c;color:var(--fm-ink)}.fm-mobile-page-menus .planning-transfer-content{display:grid;gap:10px}.fm-mobile-page-menus .planning-transfer-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.fm-mobile-page-menus .planning-transfer-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-mobile-page-menus .planning-transfer-check-grid .settings-day-checkbox{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);min-height:34px;padding:6px 8px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;color:var(--fm-ink-soft);font-size:.78rem}.fm-mobile-page-menus .planning-transfer-check-grid .settings-day-checkbox input[type=checkbox]{margin:0}.fm-mobile-page-menus .planning-transfer-error{margin-top:8px}}@media(max-width:850px){.fm-mobile-page-menus .fm-menu-page{display:grid;gap:10px}.fm-mobile-page-menus .fm-menu-toolbar{display:grid;gap:10px;padding:12px}.fm-mobile-page-menus .fm-menu-toolbar-head{display:grid;align-items:center;grid-template-columns:minmax(0,1fr) 34px;gap:8px}.fm-mobile-page-menus .fm-menu-toolbar-title{min-width:0}.fm-mobile-page-menus .fm-menu-toolbar-title p{margin:0;font-size:.66rem;color:var(--fm-ink-soft);letter-spacing:.1em;text-transform:uppercase;font-family:var(--fm-font-mono)}.fm-mobile-page-menus .fm-menu-toolbar-title h1{margin:2px 0 0;font-size:1.08rem;line-height:1.1}.fm-mobile-page-menus .fm-menu-week-switch{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;align-items:center}.fm-mobile-page-menus .fm-menu-week-switch .input{min-width:0!important;width:100%!important;text-align:center;font-family:var(--fm-font-head);font-size:.84rem}.fm-mobile-page-menus .fm-menu-quick-pills{display:flex;flex-wrap:wrap;gap:6px}.fm-mobile-page-menus .fm-menu-day-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr);gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.fm-mobile-page-menus .fm-menu-day-chip{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);color:var(--fm-ink-soft);min-height:46px;padding:7px 10px;text-align:left;display:grid;gap:1px}.fm-mobile-page-menus .fm-menu-day-chip small{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;font-family:var(--fm-font-mono);color:var(--fm-ink-soft)}.fm-mobile-page-menus .fm-menu-day-chip span{font-size:.78rem;color:var(--fm-ink);font-weight:800}.fm-mobile-page-menus .fm-menu-day-chip.active{border-color:#fa5a2c66;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 85%);box-shadow:0 8px 18px #fa5a2c2e}.fm-mobile-page-menus .planning-grid{min-width:calc(var(--planning-day-count, 1) * 196px);gap:4px}.fm-mobile-page-menus .planning-grid-head{display:block;padding-bottom:2px}.fm-mobile-page-menus .planning-grid-body{gap:4px}.fm-mobile-page-menus .planning-week-strip{display:block}.fm-mobile-page-menus .planning-week-days{display:grid;grid-template-columns:repeat(var(--planning-enabled-day-count, 1),minmax(0,1fr));align-items:stretch;gap:6px;overflow:visible;padding:2px 0}.fm-mobile-page-menus .planning-week-day{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);color:var(--fm-ink-soft);min-height:50px;height:50px;max-height:50px;padding:5px 8px;display:grid;justify-items:center;align-content:center;gap:1px}.fm-mobile-page-menus .planning-week-day small{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;font-family:var(--fm-font-mono);color:var(--fm-ink-soft)}.fm-mobile-page-menus .planning-week-day span{font-family:var(--fm-font-head);font-size:1rem;line-height:1;color:var(--fm-ink)}.fm-mobile-page-menus .planning-week-day.is-active{background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 88%);border-color:#fa5a2c57}.fm-mobile-page-menus .planning-grid-row{display:grid;grid-template-columns:repeat(var(--planning-day-count, 1),minmax(196px,1fr));gap:4px;align-items:stretch}.fm-mobile-page-menus .planning-grid .cell{height:58px;min-height:58px}.fm-mobile-page-menus .planning-cell-body{min-height:68px;padding:7px 10px;display:flex;align-items:center;box-shadow:var(--fm-shadow-card)}.fm-mobile-page-menus .planning-cell-content{width:100%;min-width:0;min-height:0;display:grid;grid-template-columns:72px minmax(0,1fr) minmax(30px,.35fr);align-items:center;gap:4px;padding-right:16px}.fm-mobile-page-menus .planning-cell-content.planning-cell-content--empty{grid-template-columns:72px minmax(0,1fr);padding-right:0}.fm-mobile-page-menus .planning-cell-slot{width:72px;max-width:72px;display:block;color:color-mix(in srgb,var(--fm-brand),var(--fm-ink) 30%);font-family:var(--fm-font-head);font-size:.72rem;line-height:1.2;text-transform:uppercase;letter-spacing:.03em;white-space:normal;overflow-wrap:anywhere}.fm-mobile-page-menus .planning-cell-name{min-width:0;margin:0;line-height:1.3;font-size:.9rem;min-height:2.6em;max-height:2.6em;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px;overflow:hidden}.fm-mobile-page-menus .planning-cell-name.planning-cell-name--empty{display:grid;place-items:center;min-height:36px;justify-self:center;align-self:center}.fm-mobile-page-menus .planning-cell-recipe-pill{width:8px;min-width:8px;height:100%;max-height:2.6em;border-radius:999px;background:var(--recipe-category-bg, color-mix(in srgb, var(--fm-brand), var(--fm-surface) 30%))}.fm-mobile-page-menus .planning-cell-recipe-text{min-width:0;white-space:normal;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.fm-mobile-page-menus .planning-cell-people{margin:0;display:flex;flex-direction:column;align-items:flex-end;align-self:start;justify-self:end;width:100%;min-width:0;max-width:100%;line-height:1.2;text-align:right;white-space:normal;overflow:hidden;text-overflow:clip;font-size:.6rem}.fm-mobile-page-menus .planning-cell-people-line{display:flex;justify-content:flex-end;width:100%;min-width:0;overflow:hidden;white-space:nowrap}.fm-mobile-page-menus .planning-cell-people-name{display:inline-block;transform-origin:right center;transform:scaleX(var(--planning-member-name-scale, 1));font-stretch:condensed}.fm-mobile-page-menus .planning-cell-add{position:static;width:24px;height:24px;border-radius:999px;display:inline-grid;place-items:center;border:1px dashed color-mix(in srgb,var(--fm-line),var(--fm-ink) 22%);background:transparent;color:var(--fm-ink-soft);font-family:var(--fm-font-head);font-size:.9rem}.fm-mobile-page-menus .planning-cell-icons{right:3px;top:auto;bottom:3px}.fm-mobile-page-menus .fm-menu-layout{display:grid;gap:10px}.fm-mobile-page-menus .fm-menu-grid-wrap{padding:10px;min-height:67.5vh}.fm-mobile-page-menus .fm-menu-day-nav-compact{margin-top:12px;position:sticky;bottom:calc(4px + env(safe-area-inset-bottom));z-index:4}.fm-mobile-page-menus .fm-menu-summary{display:grid;gap:10px;padding:10px}.fm-mobile-page-menus .fm-menu-summary-member{margin:0}.fm-mobile-page-menus .fm-menu-summary-member-strip{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:repeat(var(--fm-summary-member-columns, 4),minmax(0,1fr));overflow:visible;padding-bottom:0}.fm-mobile-page-menus .fm-menu-summary-member-strip .fm-menu-summary-member-tile{min-width:0;padding-left:4px!important;padding-right:4px!important;text-align:center;justify-items:center;align-content:start}.fm-mobile-page-menus .fm-menu-summary-member-strip .fm-menu-summary-member-tile small{margin:5px 0 3px}.fm-mobile-page-menus .fm-menu-summary-member-strip .fm-menu-summary-member-tile span{display:block;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.2}.fm-mobile-page-menus .fm-menu-summary-badges{margin-top:2px;grid-template-columns:repeat(2,minmax(0,1fr))}.fm-mobile-page-menus .fm-menu-summary-badges .fm-macro-badge{min-height:60px;position:relative;overflow:hidden;isolation:isolate}.fm-mobile-page-menus .fm-menu-summary-badges .fm-macro-badge:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--fm-badge-fill, 0%);background:color-mix(in srgb,var(--fm-badge-fill-color, var(--fm-brand)),white 60%);opacity:.58;pointer-events:none;z-index:0;transition:width .22s ease}.fm-mobile-page-menus .fm-menu-summary-badges .fm-macro-badge>*{position:relative;z-index:1}.fm-mobile-page-menus .fm-menu-summary-badges .fm-macro-badge.is-sugars{--fm-badge-fill-color: var(--fm-macro-sugars)}.fm-mobile-page-menus .fm-menu-summary-badges .fm-macro-badge.is-fats{--fm-badge-fill-color: var(--fm-macro-fats)}.fm-mobile-page-menus .fm-menu-summary-badges .fm-macro-badge.is-fibers{--fm-badge-fill-color: var(--fm-macro-fibers)}.fm-mobile-page-menus .fm-menu-summary-badges .fm-macro-badge.is-salt{--fm-badge-fill-color: var(--fm-macro-salt)}.fm-mobile-page-menus .fm-menu-summary-badges .fm-macro-badge b{font-size:.74rem;line-height:1.25}}@media(max-width:850px){.fm-mobile-page-recettes .fm-recipes-page{display:grid;gap:10px}.fm-mobile-page-recettes .recipes-mobile-head{padding:8px;display:grid;gap:6px}.fm-mobile-page-recettes .recipes-mobile-head .header-row{margin:0;grid-template-columns:1fr;align-items:center;gap:0}.fm-mobile-page-recettes .recipes-mobile-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:6px;width:100%}.fm-mobile-page-recettes .recipes-mobile-toolbar .is-search-field{margin:0!important;min-height:36px;height:36px}.fm-mobile-page-recettes .recipes-head-filter-btn,.fm-mobile-page-recettes .recipes-head-actions-btn{min-height:34px!important;padding:0 10px!important;white-space:nowrap}.fm-mobile-page-recettes .recipes-head-filter-btn{justify-self:start}.fm-mobile-page-recettes .recipes-head-actions-btn{justify-self:end}.fm-mobile-page-recettes .recipes-head-actions-btn span{font-size:.72rem}.fm-mobile-page-recettes .recipes-filters-sheet{display:grid;gap:12px}.fm-mobile-page-recettes .recipes-filters-sheet .fm-choice-chip{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);min-height:32px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:8px;color:var(--fm-ink-soft);font-size:.78rem;cursor:pointer}.fm-mobile-page-recettes .recipes-filters-sheet .fm-choice-chip.active{border-color:#fa5a2c61;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-ink)}.fm-mobile-page-recettes .recipes-filters-sheet-toggle{align-items:start}.fm-mobile-page-recettes .recipes-filters-sheet-toggle span{display:grid;gap:3px}.fm-mobile-page-recettes .recipes-filters-sheet-toggle input[type=checkbox]{margin-top:1px}.fm-mobile-page-recettes .recipes-filters-sheet-toggle strong{font-size:.86rem;line-height:1.25}.fm-mobile-page-recettes .recipes-filters-sheet-toggle small{color:var(--fm-ink-soft);line-height:1.35}.fm-mobile-page-recettes .recipes-filters-sheet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-mobile-page-recettes .recipes-mobile-categories{display:flex;gap:5px;overflow-x:auto;padding-bottom:1px;scrollbar-width:none;-ms-overflow-style:none}.fm-mobile-page-recettes .recipes-mobile-categories::-webkit-scrollbar{width:0;height:0;display:none}.fm-mobile-page-recettes .recipes-mobile-category-toggle{flex:0 0 auto;white-space:nowrap;font-size:.68rem;min-height:32px;border-radius:999px;border-color:color-mix(in srgb,var(--recipe-category-bg, var(--fm-line)),var(--fm-line) 45%);background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 25%)}.fm-mobile-page-recettes .recipes-mobile-category-toggle.active{color:var(--fm-ink);border-color:color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-line) 35%);background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 10%)}.fm-mobile-page-recettes .recipes-layout{display:grid;gap:10px}.fm-mobile-page-recettes .recipes-list{border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface);box-shadow:var(--fm-shadow-card);padding:11px 10px}.fm-mobile-page-recettes .recipes-list .is-search-field{margin-bottom:8px}.fm-mobile-page-recettes .recipe-row-shell{min-width:0}.fm-mobile-page-recettes .recipe-row-shell:not(:first-child){margin-top:5px}.fm-mobile-page-recettes .recipe-row{position:relative;width:100%!important;text-align:left;min-height:52px;border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface);color:var(--fm-ink);padding:8px 8px 8px 24px!important;display:grid;grid-template-columns:minmax(0,1fr);gap:0px;justify-items:start!important}.fm-mobile-page-recettes .recipe-row-shell .recipe-row-main{height:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;cursor:pointer}.fm-mobile-page-recettes .recipe-row-shell .recipe-row-main:focus-visible{outline:2px solid color-mix(in srgb,var(--fm-brand),white 20%);outline-offset:2px}.fm-mobile-page-recettes .recipe-row>.fm-skeleton{box-sizing:border-box;display:block;max-width:100%;min-width:0}.fm-mobile-page-recettes .recipe-row:not(:first-child){margin-top:5px}.fm-mobile-page-recettes .recipe-row:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:6px;border-radius:999px;background:var(--recipe-category-bg, color-mix(in srgb, var(--fm-brand), var(--fm-surface) 30%))}.fm-mobile-page-recettes .recipe-row.recipe-category-row:before{width:8px}.fm-mobile-page-recettes .recipe-row span{color:var(--fm-ink);font-weight:700;font-size:.83rem;line-height:1.3}.fm-mobile-page-recettes .recipe-row .recipe-row-title{min-width:0;width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:6px}.fm-mobile-page-recettes .recipe-row .recipe-row-copy{min-width:0;width:100%;display:grid;gap:0}.fm-mobile-page-recettes .recipe-row .recipe-row-favorite-inline{align-self:center;justify-self:end;font-size:.98rem}.fm-mobile-page-recettes .recipe-row .recipe-row-title>span{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-mobile-page-recettes .recipe-row small{color:var(--fm-ink-soft);font-size:.72rem}.fm-mobile-page-recettes .recipe-row .recipe-row-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.fm-mobile-page-recettes .recipe-row .recipe-row-meta small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3;font-weight:700}.fm-mobile-page-recettes .recipe-category-panel{border:1px solid var(--fm-line);border-radius:14px;background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 50%);box-shadow:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-recettes .recipe-sheet:not(.empty){box-shadow:0 0 0 9999px #090a1285}.fm-mobile-page-recettes .recipe-sheet .sheet-header{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface);padding:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto}.fm-mobile-page-recettes .recipe-sheet .sheet-header .recipe-category-badge{display:none}.fm-mobile-page-recettes .recipe-sheet .panel-section{border-radius:14px}.fm-mobile-page-recettes .recipe-category-badge{border:1px solid var(--fm-line);border-radius:999px;background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 40%);padding:4px 9px;display:inline-flex;align-items:center;font-size:.74rem;font-weight:700}.fm-mobile-page-recettes .recipe-permission-badge{margin-left:6px;background:var(--fm-surface-2);color:var(--fm-ink-soft);text-transform:uppercase;font-size:.66rem;font-family:var(--fm-font-mono);letter-spacing:.08em}.fm-mobile-page-recettes .macros-table{margin-bottom:8px;width:100%;border-collapse:collapse}.fm-mobile-page-recettes .macros-table td{padding:7px 0;border-bottom:1px solid var(--fm-line)}.fm-mobile-page-recettes .recipe-servings-member-list{display:grid;gap:8px;margin:8px 0 10px}.fm-mobile-page-recettes .recipe-servings-member-row{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:5px 8px;display:grid;gap:8px}.fm-mobile-page-recettes .recipe-servings-member-meta{display:flex;justify-content:space-between;gap:8px}.fm-mobile-page-recettes .recipe-servings-member-name{font-weight:700;color:var(--fm-ink)}.fm-mobile-page-recettes .recipe-servings-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center}.fm-mobile-page-recettes .recipe-servings-value{min-height:40px;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface);display:grid;place-items:center;font-family:var(--fm-font-head)}.fm-mobile-page-recettes .object-list{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:7px}.fm-mobile-page-recettes .recipe-ingredient-line{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:5px 5px 5px 9px;color:var(--fm-ink);font-size:.82rem;display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-recettes .recipe-ingredient-name{min-width:0;color:var(--fm-ink);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-mobile-page-recettes .recipe-ingredient-qty-badge{flex:0 0 auto;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface);color:var(--fm-ink-soft);min-height:24px;padding:0 8px;display:inline-flex;align-items:center;font-size:.8rem;font-family:var(--fm-font-mono);line-height:1}.fm-mobile-page-recettes .recipe-sheet-condiment-pill{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink-soft);font-size:.72rem;padding:4px 8px}.fm-mobile-page-recettes .recipes-sheet-actions{display:grid;gap:8px}.fm-mobile-page-recettes .food-request-sheet{gap:12px}.fm-mobile-page-recettes .food-request-grid{display:grid;gap:10px}.fm-mobile-page-recettes .food-request-grid label{display:grid;gap:6px}.fm-mobile-page-recettes .recipes-food-request-modal{width:min(100%,720px);max-height:calc(100vh - 18px);padding:0;overflow:hidden;border-radius:22px;background:var(--fm-surface)}.fm-mobile-page-recettes .recipes-food-request-page{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.fm-mobile-page-recettes .recipes-food-request-head{padding:10px;border-bottom:1px solid var(--fm-line)}.fm-mobile-page-recettes .recipes-food-request-head>h1{margin:0;font-size:1.02rem}.fm-mobile-page-recettes .recipes-food-request-form{padding:10px;overflow:auto;display:grid;gap:10px}.fm-mobile-page-recettes .recipes-food-request-page .panel-section,.fm-mobile-page-recettes .recipes-food-request-page .food-inline-fields,.fm-mobile-page-recettes .recipes-food-request-page .food-unit-place-row,.fm-mobile-page-recettes .recipes-food-request-page .food-inline-row,.fm-mobile-page-recettes .recipes-food-request-page .food-options-grid,.fm-mobile-page-recettes .recipes-food-request-page .food-macros-grid{display:grid;gap:10px}.fm-mobile-page-recettes .recipes-food-request-page .panel-section{margin:0;padding:10px}.fm-mobile-page-recettes .recipes-food-request-page .label{margin:0;color:var(--fm-ink-soft);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-mobile-page-recettes .recipes-food-request-page .input,.fm-mobile-page-recettes .recipes-food-request-page select.input,.fm-mobile-page-recettes .recipes-food-request-page input.input,.fm-mobile-page-recettes .recipes-food-request-page .fullwidth{width:100%!important;max-width:100%!important;box-sizing:border-box}.fm-mobile-page-recettes .recipes-food-request-page .food-inline-fields>div,.fm-mobile-page-recettes .recipes-food-request-page .food-unit-place-row>div,.fm-mobile-page-recettes .recipes-food-request-page .food-macros-grid>div,.fm-mobile-page-recettes .recipes-food-request-page .food-options-grid>div{min-width:0;display:grid;gap:6px}.fm-mobile-page-recettes .recipes-food-request-page .food-macros-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-mobile-page-recettes .recipes-food-request-page .food-grid-span-2{grid-column:1 / -1}.fm-mobile-page-recettes .recipes-food-request-page .food-options-grid>.actions{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%);padding:8px 10px;display:grid;gap:8px}.fm-mobile-page-recettes .recipes-food-request-page .food-options-grid>.actions .label{margin:0;color:var(--fm-ink);font-size:.9rem;letter-spacing:0;text-transform:none;font-family:var(--fm-font-body)}.fm-mobile-page-recettes .recipes-food-request-page .food-options-grid>.actions input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--fm-brand)}.fm-mobile-page-recettes .recipes-food-request-actions{justify-content:stretch}.fm-mobile-page-recettes .recipe-import-modal,.fm-mobile-page-recette-edition .recipe-import-modal{border-radius:22px;background:var(--fm-surface)}.fm-mobile-page-recettes .recipe-sheet{padding:10px;display:grid}.fm-mobile-page-recettes .recipe-sheet-bottom-spacer{height:25px;min-height:25px;pointer-events:none}.fm-mobile-page-recettes .sheet-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.fm-mobile-page-recettes .sheet-header h2{margin:0;font-size:1rem;min-width:0}.fm-mobile-page-recettes .recipe-sheet-title{display:inline-flex;align-items:center;gap:6px}.fm-mobile-page-recettes .recipe-sheet-title>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-mobile-page-recettes .recipe-sheet-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap}.fm-mobile-page-recettes .recipe-sheet-head-actions .btn{min-width:34px!important;min-height:34px!important;width:34px!important;height:34px!important;padding:0!important}.fm-mobile-page-recettes .recipe-sheet-head-actions .recipe-head-secondary-action{display:none!important}.fm-mobile-page-recettes .recipe-sheet-head-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:nowrap}.fm-mobile-page-recettes .sheet-actions{display:flex;gap:8px;flex-wrap:wrap}.fm-mobile-page-recettes .sheet-actions .btn,.fm-mobile-page-recettes .sheet-actions .danger{flex:1 1 calc(50% - 8px)}.fm-mobile-page-recettes .recipe-category-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%!important}.fm-mobile-page-recettes .recipe-meta-card{display:grid;gap:8px}.fm-mobile-page-recettes .recipe-macros-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-recettes .recipe-macros-head strong{margin:0;min-width:0}.fm-mobile-page-recettes .recipe-servings-control{display:grid;gap:6px}.fm-mobile-page-recettes .recipe-sheet-condiments{margin-top:8px}.fm-mobile-page-recettes .recipe-sheet-condiments-list{display:flex;flex-wrap:wrap;gap:6px}.fm-mobile-page-recettes .recipe-picker-filters{display:grid;grid-template-columns:1fr;gap:8px}.fm-mobile-page-recettes .recipe-picker-search,.fm-mobile-page-recettes .recipe-picker-sort,.fm-mobile-page-recettes .recipe-category-select{width:100%}.fm-mobile-page-recettes .recipe-sheet .panel-section{margin:0;overflow:visible}.fm-mobile-page-recettes .recipe-sheet .panel-section+.panel-section{margin-top:var(--fm-panel-section-gap)}.fm-mobile-page-recettes .recipe-sheet .table-wrap{overflow-x:auto}.fm-mobile-page-recettes .recipe-servings-member-list{gap:6px;margin:6px 0 8px}.fm-mobile-page-recettes .recipe-servings-member-row{padding:4px 4px 4px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.fm-mobile-page-recettes .recipe-servings-member-meta{min-width:0;align-items:center}.fm-mobile-page-recettes .recipe-servings-member-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;line-height:1.1}.fm-mobile-page-recettes .recipe-servings-stepper{grid-template-columns:34px 34px 34px;gap:4px;justify-content:end}.fm-mobile-page-recettes .recipe-servings-stepper .btn{min-width:34px!important;min-height:34px!important;width:34px!important;height:34px!important;padding:0!important}.fm-mobile-page-recettes .recipe-servings-value{min-height:34px;border-radius:10px;font-size:.82rem;padding:0 6px}.fm-mobile-page-recettes .recipe-import-overlay.fm-txt-import-overlay,.fm-recipes-page .recipe-import-overlay.fm-txt-import-overlay{z-index:1660}.fm-mobile-page-recettes .recipe-import-modal.fm-txt-import-sheet,.fm-recipes-page .recipe-import-modal.fm-txt-import-sheet{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0}.fm-mobile-page-recettes .fm-txt-import-head,.fm-recipes-page .fm-txt-import-head{position:sticky;top:0;z-index:2;border-bottom:1px solid var(--fm-line);background:color-mix(in srgb,var(--fm-surface),transparent 4%);padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.fm-mobile-page-recettes .fm-txt-import-head-copy,.fm-recipes-page .fm-txt-import-head-copy{min-width:0;display:grid;gap:2px}.fm-mobile-page-recettes .fm-txt-import-head-copy p,.fm-recipes-page .fm-txt-import-head-copy p{margin:0;font-size:.62rem;font-family:var(--fm-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fm-ink-soft)}.fm-mobile-page-recettes .fm-txt-import-head-copy h2,.fm-recipes-page .fm-txt-import-head-copy h2{margin:0;font-size:.9rem;line-height:1.15;color:var(--fm-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-mobile-page-recettes .fm-txt-import-progress,.fm-recipes-page .fm-txt-import-progress{min-height:28px;padding:0 10px;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);display:inline-flex;align-items:center;justify-content:center;color:var(--fm-ink-soft);font-size:.68rem;font-family:var(--fm-font-mono);line-height:1}.fm-mobile-page-recettes .fm-txt-import-body,.fm-recipes-page .fm-txt-import-body{min-height:0;overflow:auto;padding:10px;display:grid;gap:10px}.fm-mobile-page-recettes .fm-txt-import-body .panel-section,.fm-recipes-page .fm-txt-import-body .panel-section{margin:0}.fm-mobile-page-recettes .fm-txt-import-main,.fm-mobile-page-recettes .fm-txt-import-ingredients,.fm-mobile-page-recettes .fm-txt-import-steps,.fm-recipes-page .fm-txt-import-main,.fm-recipes-page .fm-txt-import-ingredients,.fm-recipes-page .fm-txt-import-steps{display:grid;gap:10px}.fm-mobile-page-recettes .fm-txt-import-main,.fm-recipes-page .fm-txt-import-main{padding:10px}.fm-mobile-page-recettes .fm-txt-import-meta-grid,.fm-recipes-page .fm-txt-import-meta-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.fm-mobile-page-recettes .fm-txt-import-meta-name,.fm-recipes-page .fm-txt-import-meta-name{min-width:0;display:grid;gap:6px}.fm-mobile-page-recettes .fm-txt-import-meta-side,.fm-recipes-page .fm-txt-import-meta-side{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px;align-items:end}.fm-mobile-page-recettes .fm-txt-import-meta-category,.fm-mobile-page-recettes .fm-txt-import-servings-field,.fm-recipes-page .fm-txt-import-meta-category,.fm-recipes-page .fm-txt-import-servings-field{min-width:0;display:grid;gap:6px}.fm-mobile-page-recettes .fm-txt-import-meta-name .input,.fm-mobile-page-recettes .fm-txt-import-meta-category .input,.fm-mobile-page-recettes .fm-txt-import-servings-field .input,.fm-recipes-page .fm-txt-import-meta-name .input,.fm-recipes-page .fm-txt-import-meta-category .input,.fm-recipes-page .fm-txt-import-servings-field .input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.fm-mobile-page-recettes .fm-txt-import-section-head,.fm-recipes-page .fm-txt-import-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-recettes .fm-txt-import-section-head small,.fm-recipes-page .fm-txt-import-section-head small{color:var(--fm-ink-soft);font-size:.68rem;font-family:var(--fm-font-mono)}.fm-mobile-page-recettes .fm-txt-import-row-list,.fm-recipes-page .fm-txt-import-row-list{margin-top:8px;display:grid;gap:8px}.fm-mobile-page-recettes .fm-txt-import-row,.fm-recipes-page .fm-txt-import-row{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-surface) 50%);padding:8px;display:grid;gap:8px}.fm-mobile-page-recettes .fm-txt-import-row.excluded,.fm-recipes-page .fm-txt-import-row.excluded{opacity:.72}.fm-mobile-page-recettes .fm-txt-import-row.unmapped,.fm-recipes-page .fm-txt-import-row.unmapped{border-color:#f0a53166}.fm-mobile-page-recettes .fm-txt-import-row.invalid,.fm-recipes-page .fm-txt-import-row.invalid{border-color:#d94a4366}.fm-mobile-page-recettes .fm-txt-import-row.ready,.fm-recipes-page .fm-txt-import-row.ready{border-color:#39c78a57}.fm-mobile-page-recettes .fm-txt-import-row-head,.fm-recipes-page .fm-txt-import-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-recettes .fm-txt-import-include,.fm-recipes-page .fm-txt-import-include{display:inline-flex;align-items:center;gap:6px;color:var(--fm-ink-soft);font-size:.75rem}.fm-mobile-page-recettes .fm-txt-import-include input,.fm-recipes-page .fm-txt-import-include input{width:18px;height:18px;margin:0;accent-color:var(--fm-brand)}.fm-mobile-page-recettes .fm-txt-import-status,.fm-recipes-page .fm-txt-import-status{min-height:22px;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface);color:var(--fm-ink-soft);padding:0 8px;display:inline-flex;align-items:center;font-size:.64rem;font-family:var(--fm-font-mono);line-height:1}.fm-mobile-page-recettes .fm-txt-import-row.invalid .fm-txt-import-status,.fm-recipes-page .fm-txt-import-row.invalid .fm-txt-import-status,.fm-mobile-page-recettes .fm-txt-import-row.unmapped .fm-txt-import-status,.fm-recipes-page .fm-txt-import-row.unmapped .fm-txt-import-status{border-color:#f0a53166;color:#8f5f14;background:#f0a5311f}.fm-mobile-page-recettes .fm-txt-import-row.ready .fm-txt-import-status,.fm-recipes-page .fm-txt-import-row.ready .fm-txt-import-status{border-color:#39c78a66;color:var(--fm-mint-deep);background:#39c78a24}.fm-mobile-page-recettes .fm-txt-import-detected,.fm-recipes-page .fm-txt-import-detected{margin:0;color:var(--fm-ink);font-size:.78rem;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.fm-mobile-page-recettes .fm-txt-import-qty-row,.fm-recipes-page .fm-txt-import-qty-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px}.fm-mobile-page-recettes .fm-txt-import-step-list,.fm-recipes-page .fm-txt-import-step-list{margin-top:8px;display:grid;gap:8px}.fm-mobile-page-recettes .fm-txt-import-step-card,.fm-recipes-page .fm-txt-import-step-card{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:8px;display:grid;gap:8px}.fm-mobile-page-recettes .fm-txt-import-step-head,.fm-recipes-page .fm-txt-import-step-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-recettes .fm-txt-import-step-title,.fm-recipes-page .fm-txt-import-step-title{font-size:.74rem;color:var(--fm-ink-soft);font-family:var(--fm-font-mono);letter-spacing:.08em;text-transform:uppercase}.fm-mobile-page-recettes .fm-txt-import-step-actions,.fm-recipes-page .fm-txt-import-step-actions{margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.fm-mobile-page-recettes .fm-txt-import-step-actions .btn,.fm-recipes-page .fm-txt-import-step-actions .btn{min-width:34px!important;min-height:34px!important;width:34px!important;height:34px!important;padding:0!important}.fm-mobile-page-recettes .fm-txt-import-warning,.fm-recipes-page .fm-txt-import-warning{margin:0;border-radius:12px;font-size:.78rem}.fm-mobile-page-recettes .fm-txt-import-foot,.fm-recipes-page .fm-txt-import-foot{position:sticky;bottom:0;z-index:2;border-top:1px solid var(--fm-line);background:color-mix(in srgb,var(--fm-surface),transparent 4%);padding:10px 10px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:8px}.fm-mobile-page-recettes .fm-txt-import-foot .btn,.fm-recipes-page .fm-txt-import-foot .btn{width:100%}}@media(max-width:850px){.fm-mobile-page-education .fm-recipes-page{display:grid;gap:10px}.fm-mobile-page-education .recipes-mobile-head{padding:8px;display:grid;gap:6px}.fm-mobile-page-education .recipes-mobile-head .header-row{margin:0;grid-template-columns:1fr;align-items:center;gap:0}.fm-mobile-page-education .education-mobile-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;width:100%}.fm-mobile-page-education .education-mobile-toolbar .is-search-field{margin:0!important;min-height:36px;height:36px}.fm-mobile-page-education .recipes-head-actions-btn{min-height:34px!important;padding:0 10px!important;white-space:nowrap;justify-self:end}.fm-mobile-page-education .recipes-mobile-categories{display:flex;gap:5px;overflow-x:auto;padding-bottom:1px;scrollbar-width:none;-ms-overflow-style:none}.fm-mobile-page-education .recipes-mobile-categories::-webkit-scrollbar{width:0;height:0;display:none}.fm-mobile-page-education .recipes-mobile-category-toggle{flex:0 0 auto;white-space:nowrap;font-size:.68rem;min-height:32px;border-radius:999px;border-color:color-mix(in srgb,var(--recipe-category-bg, var(--fm-line)),var(--fm-line) 45%);background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 25%)}.fm-mobile-page-education .recipes-mobile-category-toggle.active{color:var(--fm-ink);border-color:color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-line) 35%);background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 10%)}.fm-mobile-page-education .recipes-layout{display:grid;gap:10px}.fm-mobile-page-education .recipes-list{border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface);box-shadow:var(--fm-shadow-card);padding:11px 10px}.fm-mobile-page-education .recipe-row{position:relative;width:100%!important;text-align:left;min-height:52px;border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface);color:var(--fm-ink);padding:8px 8px 8px 24px!important;display:grid;grid-template-columns:minmax(0,1fr);gap:0;justify-items:start!important}.fm-mobile-page-education .recipe-row:not(:first-child){margin-top:5px}.fm-mobile-page-education .recipe-row:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:6px;border-radius:999px;background:var(--recipe-category-bg, color-mix(in srgb, var(--fm-brand), var(--fm-surface) 30%))}.fm-mobile-page-education .recipe-row.recipe-category-row:before{width:8px}.fm-mobile-page-education .recipe-row span{color:var(--fm-ink);font-weight:700;font-size:.83rem;line-height:1.3}.fm-mobile-page-education .recipe-row .recipe-row-title{min-width:0;width:100%;display:inline-flex;align-items:baseline;gap:6px}.fm-mobile-page-education .education-row-title-text{font-family:var(--fm-font-head);font-size:.88rem;font-weight:700;line-height:1.3;color:var(--fm-ink);white-space:normal;overflow:visible;text-overflow:unset}.fm-mobile-page-education .education-row-summary{font-size:.78rem;color:var(--fm-ink-soft);line-height:1.45;white-space:normal;overflow:visible;text-overflow:unset}.fm-mobile-page-education .recipe-row small{color:var(--fm-ink-soft);font-size:.72rem}.fm-mobile-page-education .recipe-row .recipe-row-meta{display:flex;align-items:center;gap:8px;min-width:0}.fm-mobile-page-education .recipe-row .recipe-row-meta small{min-width:0;line-height:1.3;font-weight:700}.fm-mobile-page-education .recipe-category-panel{border:1px solid var(--fm-line);border-radius:14px;background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 50%);box-shadow:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-education .recipe-category-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%!important}.fm-mobile-page-education .recipe-sheet{padding:10px;display:grid}.fm-mobile-page-education .recipe-sheet-bottom-spacer{height:25px;min-height:25px;pointer-events:none}.fm-mobile-page-education .recipe-sheet .sheet-header{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface);padding:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto}.fm-mobile-page-education .recipe-sheet .sheet-header .recipe-category-badge{display:none}.fm-mobile-page-education .recipe-sheet .panel-section{border-radius:14px;margin:0;overflow:visible}.fm-mobile-page-education .recipe-sheet .panel-section+.panel-section{margin-top:var(--fm-panel-section-gap)}.fm-mobile-page-education .sheet-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.fm-mobile-page-education .sheet-header h2{margin:0;font-size:1rem;min-width:0}.fm-mobile-page-education .recipe-sheet-title{display:inline-flex;align-items:center;gap:6px;min-width:0}.fm-mobile-page-education .recipe-sheet-title>span{min-width:0;white-space:normal;overflow:visible;text-overflow:unset}.fm-mobile-page-education .recipe-sheet-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap}.fm-mobile-page-education .recipe-sheet-head-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:nowrap}.fm-mobile-page-education .recipe-category-badge{border:1px solid var(--fm-line);border-radius:999px;background:color-mix(in srgb,var(--recipe-category-bg, var(--fm-surface-2)),var(--fm-surface) 40%);padding:4px 9px;display:inline-flex;align-items:center;font-size:.74rem;font-weight:700}.fm-mobile-page-education .recipe-meta-card{display:grid;gap:8px}.fm-mobile-page-education .recipe-macros-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-education .recipe-macros-head strong{margin:0;min-width:0}.fm-mobile-page-education .recipe-sheet-condiments{margin-top:8px}.fm-mobile-page-education .object-list{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:7px}.fm-mobile-page-education .recipe-ingredient-line{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:5px 5px 5px 9px;color:var(--fm-ink);font-size:.82rem;display:flex;align-items:flex-start;gap:8px}.fm-mobile-page-education .recipe-ingredient-name{min-width:0;color:var(--fm-ink);font-size:.82rem;white-space:normal;overflow:visible;text-overflow:unset;overflow-wrap:anywhere;word-break:break-word;line-height:1.45}.fm-mobile-page-education .recipes-layout>.panel-section{box-shadow:none;border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface);padding:10px}}@media(max-width:850px){.fm-mobile-page-aliments .fm-foods-page{display:grid;gap:10px}.fm-mobile-page-aliments .foods-mobile-toolbar{padding:8px}.fm-mobile-page-aliments .foods-mobile-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.fm-mobile-page-aliments .foods-mobile-toolbar-row .btn{min-height:34px!important}.fm-mobile-page-aliments .foods-mobile-toolbar-search{margin-top:8px}.fm-mobile-page-aliments .foods-mobile-list{display:grid;gap:8px}.fm-mobile-page-aliments .foods-mobile-card{padding:10px;cursor:pointer}.fm-mobile-page-aliments .foods-mobile-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-aliments .foods-mobile-card-head strong{font-family:var(--fm-font-head);color:var(--fm-ink);font-size:.95rem;line-height:1.2}.fm-mobile-page-aliments .foods-mobile-card-head span{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink-soft);font-size:.75rem;font-family:var(--fm-font-mono);letter-spacing:.06em;padding:2px 8px}.fm-mobile-page-aliments .foods-mobile-card-meta{margin:5px 0 0;color:var(--fm-ink-soft);font-size:.76rem}.fm-mobile-page-aliments .foods-mobile-macros{margin-top:9px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.fm-mobile-page-aliments .foods-mobile-macros span{border:1px solid var(--fm-line);border-radius:8px;background:var(--fm-surface-2);display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 9px}.fm-mobile-page-aliments .foods-mobile-macros small{color:var(--fm-ink-soft);font-size:.63rem;text-transform:uppercase;letter-spacing:.06em;font-family:var(--fm-font-mono)}.fm-mobile-page-aliments .foods-mobile-macros b{color:var(--fm-ink);font-size:.76rem;font-weight:700;white-space:nowrap}.fm-mobile-page-aliments .foods-sheet-actions{display:grid;gap:8px}.fm-mobile-page-aliments .foods-filters-sheet{display:grid;gap:10px}.fm-mobile-page-aliments .foods-filters-sheet-grid{display:grid;gap:7px}.fm-mobile-page-aliments .foods-filters-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fm-mobile-page-aliments .fm-food-editor-backdrop{position:fixed;inset:0;display:grid;place-items:center;align-items:end;background:#0e12186b;padding:0}.fm-mobile-page-aliments .fm-admin-editor-modal{width:100%;max-height:92vh;border-radius:28px 28px 0 0;padding:20px;overflow:auto;margin-bottom:calc(12px + env(safe-area-inset-bottom))}.fm-mobile-page-aliments .fm-admin-editor-head{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.fm-mobile-page-aliments .fm-admin-editor-head h3{margin:0;color:var(--fm-ink);font-family:var(--fm-font-head);line-height:1.2}.fm-mobile-page-aliments .fm-admin-editor-sheet,.fm-mobile-page-aliments .fm-admin-editor-section{display:grid;gap:6px}.fm-mobile-page-aliments .fm-admin-editor-section{border:1px solid var(--fm-line);border-radius:18px;background:var(--fm-surface-2);padding:12px}.fm-mobile-page-aliments .fm-settings-v2-form-grid,.fm-mobile-page-aliments .fm-admin-editor-grid{display:grid;gap:8px;align-items:end;grid-template-columns:1fr}.fm-mobile-page-aliments .fm-admin-editor-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex-direction:column-reverse}.fm-mobile-page-aliments .fm-settings-v2-form-grid>div,.fm-mobile-page-aliments .fm-admin-editor-grid>div{min-width:0;display:grid;gap:5px}.fm-mobile-page-aliments .fm-admin-editor-head .hint{color:var(--fm-ink-soft);font-size:.76rem;line-height:1.35;margin:0}.fm-mobile-page-aliments .fm-admin-editor-modal .label{margin:0;color:var(--fm-ink-soft);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--fm-font-mono);line-height:1.2}.fm-mobile-page-aliments .fm-choice-chip{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);min-height:24px!important;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:6px 10px;color:var(--fm-ink-soft);font-size:.78rem;line-height:1.2;cursor:pointer}.fm-mobile-page-aliments .fm-choice-chip.active{border-color:#fa5a2c61;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-ink)}.fm-mobile-page-aliments .fm-choice-chip.disabled{opacity:1;cursor:default;border-color:color-mix(in srgb,var(--fm-line),var(--fm-ink) 10%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 24%);color:color-mix(in srgb,var(--fm-ink),transparent 28%)}.fm-mobile-page-aliments .fm-choice-chip input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface);background-position:center;background-repeat:no-repeat;background-size:12px 12px}.fm-mobile-page-aliments .fm-choice-chip input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}.fm-mobile-page-aliments .fm-choice-chip.disabled input[type=checkbox]{border-color:color-mix(in srgb,var(--fm-line),var(--fm-ink) 10%);background-color:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 24%);cursor:not-allowed}.fm-mobile-page-aliments .fm-choice-chip.disabled input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--fm-line),var(--fm-brand) 16%);background-color:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 30%)}.fm-mobile-page-aliments .fm-admin-editor-modal .input:disabled,.fm-mobile-page-aliments .fm-admin-editor-modal select.input:disabled,.fm-mobile-page-aliments .fm-admin-editor-modal textarea.input:disabled{border-color:color-mix(in srgb,var(--fm-line),var(--fm-ink) 10%);background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 24%);color:color-mix(in srgb,var(--fm-ink),transparent 28%);-webkit-text-fill-color:color-mix(in srgb,var(--fm-ink),transparent 28%);cursor:not-allowed;box-shadow:none}.fm-mobile-page-aliments .fm-admin-editor-actions-main{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;flex:1 1 auto;flex-wrap:wrap}.fm-mobile-page-aliments .fm-admin-editor-place-field{display:grid;gap:6px}.fm-mobile-page-aliments .fm-season-select{position:relative;display:grid;gap:6px}.fm-mobile-page-aliments .fm-season-select-trigger{width:100%;min-height:36px;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface);color:var(--fm-ink);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.fm-mobile-page-aliments .fm-season-select-trigger.active{border-color:#fa5a2c4d}.fm-mobile-page-aliments .fm-season-select-trigger.open{border-color:#fa5a2c6b;box-shadow:0 0 0 3px #fa5a2c1f}.fm-mobile-page-aliments .fm-season-select-value{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-mobile-page-aliments .fm-season-select-menu{position:static;z-index:4;display:grid;gap:2px;max-height:280px;overflow:auto;padding:4px;margin-bottom:2px;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 8%);border-radius:14px;background:color-mix(in srgb,var(--fm-surface),white 6%);box-shadow:0 18px 40px #0a121c29}.fm-mobile-page-aliments .fm-season-month-option{border:1px solid transparent;border-radius:10px;background:transparent;color:var(--fm-ink);display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:3px 6px;text-align:left;cursor:pointer}.fm-mobile-page-aliments .fm-season-month-option.disabled{cursor:default;opacity:1}.fm-mobile-page-aliments .fm-season-month-option.disabled:hover{background:transparent}.fm-mobile-page-aliments .fm-season-month-option.active{border-color:#fa5a2c4d;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 88%)}.fm-mobile-page-aliments .fm-season-month-check{width:18px;height:18px;border:1.5px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 12%);border-radius:6px;background:var(--fm-surface);background-position:center;background-repeat:no-repeat;background-size:12px 12px}.fm-mobile-page-aliments .fm-season-month-option.active .fm-season-month-check{border-color:color-mix(in srgb,var(--fm-brand),var(--fm-line) 28%);background-color:var(--fm-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.2 7.4 5.4 10.6 11.8 3.8'/%3E%3C/svg%3E")}}@media(max-width:850px){.fm-mobile-page-courses .fm-shopping-page{display:grid;gap:8px}.fm-mobile-page-courses .shopping-mobile-head,.fm-mobile-page-courses .shopping-group{padding:9px}.fm-mobile-page-courses .shopping-mobile-head{display:grid;gap:8px}.fm-mobile-page-courses .shopping-mobile-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.fm-mobile-page-courses .shopping-mobile-head-title{min-width:0}.fm-mobile-page-courses .shopping-mobile-head-title p{margin:0;font-size:.65rem;font-family:var(--fm-font-mono);text-transform:uppercase;letter-spacing:.11em;color:color-mix(in srgb,var(--fm-ink),transparent 26%)}.fm-mobile-page-courses .shopping-mobile-head-title h2{margin:2px 0 0;font-size:.98rem;line-height:1.15;color:var(--fm-ink)}.fm-mobile-page-courses .shopping-head-groups{border:1px solid color-mix(in srgb,var(--fm-line),white 10%);border-radius:999px;background:color-mix(in srgb,var(--fm-surface),transparent 10%);color:var(--fm-ink-soft);font-size:.7rem;font-weight:700;line-height:1;padding:6px 8px}.fm-mobile-page-courses .shopping-range-grid{display:grid;gap:6px}.fm-mobile-page-courses .shopping-range-row{display:grid;grid-template-columns:30px minmax(72px,auto) minmax(0,1fr) 34px;gap:6px;align-items:center}.fm-mobile-page-courses .shopping-range-row>span{font-size:.72rem;font-family:var(--fm-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fm-ink-soft)}.fm-mobile-page-courses .shopping-range-row .input{min-height:34px;padding:4px 8px;font-size:.8rem}.fm-mobile-page-courses .shopping-mobile-head-meta{display:flex;align-items:center;justify-content:end;gap:6px;flex-wrap:wrap}.fm-mobile-page-courses .shopping-meta-pill{border:1px solid color-mix(in srgb,var(--fm-line),white 12%);border-radius:999px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);color:var(--fm-ink-soft);font-size:.72rem;font-weight:700;line-height:1;padding:6px 9px}.fm-mobile-page-courses .shopping-meta-pill strong{color:var(--fm-ink)}.fm-mobile-page-courses .shopping-meta-pill.is-total{color:var(--fm-brand-strong);border-color:color-mix(in srgb,var(--fm-brand),transparent 56%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%)}.fm-mobile-page-courses .shopping-mobile-head-meta>.btn{margin-left:auto}.fm-mobile-page-courses .shopping-groups{display:grid;gap:8px}.fm-mobile-page-courses .shopping-group h3{margin:0;font-size:.86rem;color:var(--fm-ink);line-height:1.15}.fm-mobile-page-courses .shopping-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.fm-mobile-page-courses .shopping-group-head strong{color:var(--fm-brand-strong);font-family:var(--fm-font-body);font-size:.78rem;font-weight:800;line-height:1}.fm-mobile-page-courses .shopping-items{margin:0;padding:0;list-style:none;display:grid;gap:6px}.fm-mobile-page-courses .shopping-group-sections{display:grid;gap:8px}.fm-mobile-page-courses .shopping-group-section{display:grid;gap:6px}.fm-mobile-page-courses .shopping-group-section+.shopping-group-section{margin-top:2px;padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--fm-line),transparent 24%)}.fm-mobile-page-courses .shopping-group-section-title{margin:0;color:var(--fm-ink-soft);font-size:.69rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.fm-mobile-page-courses .shopping-item{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface),transparent 4%);padding:6px 7px}.fm-mobile-page-courses .shopping-item-main{display:block}.fm-mobile-page-courses .shopping-check{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center}.fm-mobile-page-courses .shopping-check input[type=checkbox]{width:18px;height:18px;margin:0 3px 0 0;accent-color:var(--fm-brand)}.fm-mobile-page-courses .shopping-name{color:var(--fm-ink);font-size:.82rem;font-weight:700;line-height:1.2;min-width:0;overflow-wrap:anywhere}.fm-mobile-page-courses .shopping-item.checked .shopping-name{color:var(--fm-ink-soft);text-decoration:line-through}.fm-mobile-page-courses .shopping-item-metrics-inline{display:flex;align-items:center;flex-wrap:nowrap;gap:4px;align-self:start;white-space:nowrap}.fm-mobile-page-courses .shopping-item-status{display:inline-flex;align-items:center;gap:5px;justify-self:end;align-self:start;white-space:nowrap}.fm-mobile-page-courses .shopping-item-season-icon{color:var(--fm-warning);font-size:.95rem;line-height:1}.fm-mobile-page-courses .shopping-chip{border:1px solid var(--fm-line);border-radius:999px;border-color:color-mix(in srgb,var(--fm-brand),transparent 56%);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);padding:3px 7px;color:var(--fm-brand-strong);font-size:.75rem;font-weight:700;line-height:1}.fm-mobile-page-courses .shopping-chip.price{color:var(--fm-ink-soft);background:var(--fm-surface-2);border-color:color-mix(in srgb,var(--fm-ink-soft),transparent 56%)}.fm-mobile-page-courses .shopping-item.checked .shopping-chip{opacity:.5}.fm-mobile-page-courses .shopping-item-usage{margin-top:4px;padding-left:25px}.fm-mobile-page-courses .shopping-item-usage summary{cursor:pointer;color:var(--fm-ink-soft);font-size:.7rem;line-height:1.2}.fm-mobile-page-courses .shopping-item-usage ul{margin:5px 0 0;padding:0;list-style:none;display:grid;gap:4px}.fm-mobile-page-courses .shopping-item-usage li{border:1px solid var(--fm-line);border-radius:9px;background:var(--fm-surface-2);padding:5px 7px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.68rem;color:var(--fm-ink-soft)}.fm-mobile-page-courses .shopping-usage-recipe-name{min-width:0;overflow-wrap:anywhere}.fm-mobile-page-courses .shopping-usage-qty-badge{margin-left:auto;border:1px solid color-mix(in srgb,var(--fm-brand),transparent 56%);border-radius:999px;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-brand-strong);font-size:.64rem;font-weight:800;line-height:1;white-space:nowrap;padding:3px 7px}.fm-mobile-page-courses .shopping-sheet-actions{display:grid;gap:7px}.fm-mobile-page-courses .shopping-sheet-actions .btn,.fm-mobile-page-courses .shopping-sheet-actions .danger{width:100%;text-align:center}.fm-mobile-page-courses .shopping-hover-tooltip{display:none}}@media(max-width:850px){.fm-mobile-page-parametres .fm-settings-page.fm-settings-v2{display:grid;gap:10px}.fm-mobile-page-parametres .fm-settings-v2-head{padding:10px;display:grid;gap:8px}.fm-mobile-page-parametres .fm-settings-v2-head-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-parametres .fm-settings-v2-head-copy p{margin:0;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;font-family:var(--fm-font-mono);color:var(--fm-ink-soft)}.fm-mobile-page-parametres .fm-settings-v2-head-copy h1{margin:2px 0 0;font-size:1.02rem;line-height:1.15}.fm-mobile-page-parametres .fm-settings-v2-head-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-parametres .fm-settings-v2-head-meta small{color:var(--fm-ink-soft);font-size:.74rem}.fm-mobile-page-parametres .fm-settings-v2-layout,.fm-mobile-page-parametres .fm-settings-v2-content,.fm-mobile-page-parametres .fm-settings-v2-list{display:grid;gap:10px}.fm-mobile-page-parametres .fm-settings-v2-tabs{padding:8px;display:grid;gap:6px}.fm-mobile-page-parametres .fm-settings-v2-section-select{width:100%;min-width:0}.fm-mobile-page-parametres .fm-settings-v2-toolbar{padding:9px;display:grid;gap:8px}.fm-mobile-page-parametres .fm-settings-v2-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:start}.fm-mobile-page-parametres .fm-settings-v2-toolbar h2{margin:0;font-size:.92rem;line-height:1.2}.fm-mobile-page-parametres .fm-settings-v2-toolbar-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fm-mobile-page-parametres .fm-settings-v2-actions-row{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end}.fm-mobile-page-parametres .fm-settings-v3-actions-row{display:grid;gap:6px;align-items:center}.fm-mobile-page-parametres .fm-settings-v2-card{padding:10px;display:grid;gap:8px}.fm-mobile-page-parametres .fm-settings-v2-list-head{padding:10px}.fm-mobile-page-parametres .fm-settings-v2-section-head,.fm-mobile-page-parametres .fm-member-card-head,.fm-mobile-page-parametres .fm-entity-card-head,.fm-mobile-page-parametres .fm-slot-card-head,.fm-mobile-page-parametres .fm-place-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-parametres .fm-member-card{display:grid;gap:8px}.fm-mobile-page-parametres .fm-settings-v2-loading{padding:10px}.fm-mobile-page-parametres .fm-settings-v2-form-grid{display:grid;gap:8px;grid-template-columns:repeat(1,minmax(0,1fr))}.fm-mobile-page-parametres .fm-settings-v2-form-grid>div:only-child{grid-column:1 / -1}.fm-mobile-page-parametres .fm-account-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.fm-mobile-page-parametres .fm-account-email-field{grid-column:1 / -1}.fm-mobile-page-parametres .fm-member-summary-grid{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.fm-mobile-page-parametres .fm-member-diets{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fm-mobile-page-parametres .fm-member-diet-pill{border:1px solid var(--fm-line);border-radius:999px;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-ink);min-height:22px;display:inline-flex;align-items:center;padding:0 8px;font-size:.64rem;letter-spacing:.04em;font-family:var(--fm-font-mono);white-space:nowrap}.fm-mobile-page-parametres .fm-member-summary-chip{border:1px solid var(--fm-line);border-radius:10px;background:var(--fm-surface-2);padding:5px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-parametres .fm-member-summary-chip small{color:var(--fm-ink-soft);font-size:.66rem;font-family:var(--fm-font-mono);letter-spacing:.06em}.fm-mobile-page-parametres .fm-member-summary-chip b{color:var(--fm-ink);font-size:.74rem}.fm-mobile-page-parametres .fm-member-editor-sheet{display:grid;gap:10px}.fm-mobile-page-parametres .fm-member-editor-backdrop{align-items:flex-end}.fm-mobile-page-parametres .fm-member-editor-modal{width:min(100%,760px);max-height:calc(100dvh - 16px);border-radius:24px 24px 0 0;padding:14px;display:grid;gap:0;overflow:auto;margin-bottom:calc(env(safe-area-inset-bottom,0px) + 12px)}.fm-mobile-page-parametres .fm-member-editor-head{align-items:flex-start;justify-content:space-between;margin:0}.fm-mobile-page-parametres .fm-member-editor-head .label{display:block;margin-bottom:0}.fm-mobile-page-parametres .fm-member-editor-section{display:grid;gap:8px;border:1px solid var(--fm-line);border-radius:16px;background:var(--fm-surface-2);padding:12px}.fm-mobile-page-parametres .fm-member-editor-section-head{display:grid;gap:8px}.fm-mobile-page-parametres .fm-member-editor-profile-actions{display:grid}.fm-mobile-page-parametres .fm-member-editor-profile-actions.is-desktop{display:none}.fm-mobile-page-parametres .fm-member-editor-grid,.fm-mobile-page-parametres .fm-member-gender-grid,.fm-mobile-page-parametres .fm-member-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-mobile-page-parametres .fm-member-gender-grid .fm-choice-chip,.fm-mobile-page-parametres .fm-member-goal-grid .fm-choice-chip{grid-template-columns:1fr;justify-items:flex-start;align-content:center}.fm-mobile-page-parametres .fm-member-goal-card{display:grid;gap:3px;justify-items:flex-start;align-content:flex-start;min-height:52px!important;text-align:left}.fm-mobile-page-parametres .fm-member-goal-card small{color:var(--fm-ink-soft);line-height:1.3}.fm-mobile-page-parametres .fm-member-editor-diets{display:grid;gap:6px}.fm-mobile-page-parametres .fm-member-diet-grid,.fm-mobile-page-parametres .fm-member-avoid-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-mobile-page-parametres .fm-member-editor-actions{display:flex;justify-content:flex-end}.fm-mobile-page-parametres .fm-member-editor-actions .btn,.fm-mobile-page-parametres .fm-member-editor-section-head .btn,.fm-mobile-page-parametres .fm-member-editor-profile-actions .btn{width:100%;justify-content:center}.fm-mobile-page-parametres .fm-settings-v2-weeks-stepper{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px}.fm-mobile-page-parametres .fm-settings-v2-weeks-value{min-height:34px;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--fm-ink)}.fm-mobile-page-parametres .fm-settings-v2-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-mobile-page-parametres .fm-choice-chip{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);min-height:32px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:4px 6px;color:var(--fm-ink-soft);font-size:.78rem}.fm-mobile-page-parametres .fm-choice-chip.active{border-color:#fa5a2c61;background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 90%);color:var(--fm-ink)}.fm-mobile-page-parametres .fm-choice-chip input[type=checkbox]{margin:0}.fm-mobile-page-parametres .fm-entity-card{border-radius:14px}.fm-mobile-page-parametres .fm-entity-count{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface);color:var(--fm-ink-soft);padding:2px 8px;font-size:.68rem;font-family:var(--fm-font-mono)}.fm-mobile-page-parametres .fm-recipe-category-controls{display:grid;gap:6px;min-width:0}.fm-mobile-page-parametres .fm-recipe-category-name-row{position:relative;min-width:0}.fm-mobile-page-parametres .fm-recipe-category-name-row:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:6px;border-radius:999px;background:var(--recipe-category-bg, color-mix(in srgb, var(--fm-brand), var(--fm-surface) 30%));pointer-events:none}.fm-mobile-page-parametres .fm-recipe-category-name-input{min-width:0;width:100%;padding-left:24px!important}.fm-mobile-page-parametres .fm-recipe-category-color-picker{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;min-width:0;width:100%;max-width:100%}.fm-mobile-page-parametres .fm-recipe-category-color-picker>button.fm-recipe-category-color-btn{display:block;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:1 / 1;border-radius:999px!important;border:1px solid color-mix(in srgb,var(--fm-line),var(--fm-ink) 20%);background:var(--recipe-category-bg, var(--fm-surface-2));padding:0!important;line-height:0!important}.fm-mobile-page-parametres .fm-recipe-category-color-btn.active{border-color:color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-ink) 30%);box-shadow:0 0 0 4px color-mix(in srgb,var(--recipe-category-bg, var(--fm-brand)),var(--fm-surface) 38%)}.fm-mobile-page-parametres .fm-recipe-category-color-btn:disabled{opacity:.45}.fm-mobile-page-parametres .fm-slot-card .fm-settings-v2-form-grid,.fm-mobile-page-parametres .fm-place-card .fm-settings-v2-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-mobile-page-parametres .fm-slot-card-toggles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fm-mobile-page-parametres .fm-settings-v2-transfer-row,.fm-mobile-page-parametres .fm-offer-activation{display:grid;gap:8px}.fm-mobile-page-parametres .fm-offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.fm-mobile-page-parametres .fm-offer-cell{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:8px;display:grid;gap:4px}.fm-mobile-page-parametres .offer-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border:1px solid var(--fm-line);border-radius:999px;padding:0 10px;font-size:.7rem;font-family:var(--fm-font-mono);text-transform:uppercase;letter-spacing:.08em}.fm-mobile-page-parametres .offer-badge.is-pro{color:var(--fm-mint);background:color-mix(in srgb,var(--fm-mint),var(--fm-surface) 86%);border-color:#39c78a66}.fm-mobile-page-parametres .offer-badge.is-trial{color:var(--fm-brand-strong);background:color-mix(in srgb,var(--fm-brand),var(--fm-surface) 88%);border-color:#fa5a2c5c}.fm-mobile-page-parametres .offer-badge.is-locked{color:var(--fm-warning);background:color-mix(in srgb,var(--fm-warning),var(--fm-surface) 86%);border-color:#f0a5315c}.fm-mobile-page-parametres .warning{border:1px solid rgba(240,165,49,.38);border-radius:12px;background:#f0a53124;color:#935f11;padding:10px;font-size:.8rem}.fm-mobile-page-parametres .fm-settings-v2-sheet-actions{display:grid;gap:8px}.fm-mobile-page-parametres .fm-settings-v2-sheet-actions .btn{width:100%}.fm-mobile-page-parametres .fm-entity-actions{margin-left:auto;justify-content:flex-end;flex-wrap:nowrap}}@media(max-width:850px){.fm-mobile-page-recette-edition .fm-recipe-edit-page,.fm-mobile-page-aliment-edition .fm-food-edit-page,.fm-mobile-page-recette-detail .fm-recipe-consult-page{display:grid;gap:10px}.fm-mobile-page-recette-edition .edit-layout,.fm-mobile-page-recette-detail .recipe-consult-layout{display:grid;gap:10px;grid-template-columns:1fr}.fm-mobile-page-recette-edition .edit-main,.fm-mobile-page-recette-edition .edit-side,.fm-mobile-page-aliment-edition .form,.fm-mobile-page-recette-detail .recipe-consult-layout>section{display:grid;gap:10px}.fm-mobile-page-recette-edition .panel-section,.fm-mobile-page-aliment-edition .panel-section,.fm-mobile-page-recette-detail .panel-section{padding:10px}.fm-mobile-page-recette-edition .recipe-edit-meta-field{min-width:0}.fm-mobile-page-recette-edition .recipe-edit-category-row,.fm-mobile-page-recette-edition .recipe-edit-food-inline,.fm-mobile-page-recette-edition .recipe-edit-qty-inline,.fm-mobile-page-recette-edition .recipe-edit-batch-portions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.fm-mobile-page-recette-edition .edit-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0}.fm-mobile-page-recette-edition .edit-table thead{display:none}.fm-mobile-page-recette-edition .edit-table tbody,.fm-mobile-page-recette-edition .edit-table tr,.fm-mobile-page-recette-edition .edit-table td{display:block;width:100%}.fm-mobile-page-recette-edition .edit-table tr{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface);padding:8px;margin-bottom:8px}.fm-mobile-page-recette-edition .edit-table td{border:0;padding:0;margin-top:8px}.fm-mobile-page-recette-edition .edit-table td:first-child{margin-top:0}.fm-mobile-page-recette-edition .recipe-edit-condiments{margin-top:10px;display:grid;gap:8px}.fm-mobile-page-recette-edition .recipe-edit-ingredient-list{display:grid;gap:8px;margin-top:8px}.fm-mobile-page-recette-edition .recipe-edit-ingredient-card{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface-2);padding:8px;display:grid;gap:8px}.fm-mobile-page-recette-edition .recipe-edit-ingredient-row{display:grid;gap:6px}.fm-mobile-page-recette-edition .recipe-edit-condiment-badges{display:flex;flex-wrap:wrap;gap:6px}.fm-mobile-page-recette-edition .recipe-edit-condiment-chip{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink-soft);min-height:30px;padding:0 10px;display:inline-flex;align-items:center;gap:6px}.fm-mobile-page-recette-edition .recipe-steps-list{display:grid;gap:8px}.fm-mobile-page-recette-edition .recipe-step-card{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface);padding:8px}.fm-mobile-page-recette-edition .recipe-step-actions{display:flex;flex-wrap:wrap;gap:6px}.fm-mobile-page-recette-edition .recipe-step-preview{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:10px;color:var(--fm-ink-soft);font-size:.8rem}.fm-mobile-page-recette-edition .picker{display:grid;gap:6px;max-height:240px;overflow:auto;margin-top:8px}.fm-mobile-page-recette-edition .recipe-item{min-height:40px;height:40px;max-height:40px!important;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);text-align:left;padding:0 10px;color:var(--fm-ink)}.fm-mobile-page-recette-edition .macros-table,.fm-mobile-page-recette-detail .macros-table{width:100%;border-collapse:collapse}.fm-mobile-page-recette-edition .macros-table td,.fm-mobile-page-recette-detail .macros-table td{border-bottom:1px solid var(--fm-line);padding:7px 0;font-size:.8rem}.fm-mobile-page-recette-edition .macros-table .k,.fm-mobile-page-recette-detail .macros-table .k{color:var(--fm-ink-soft)}.fm-mobile-page-recette-edition .macros-table .v,.fm-mobile-page-recette-detail .macros-table .v{text-align:right;font-weight:700;color:var(--fm-ink)}.fm-mobile-page-aliment-edition .food-inline-fields,.fm-mobile-page-aliment-edition .food-inline-row,.fm-mobile-page-aliment-edition .food-options-grid{display:grid;grid-template-columns:1fr;gap:8px}.fm-mobile-page-aliment-edition .food-macros-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-mobile-page-aliment-edition .food-macros-grid>div,.fm-mobile-page-aliment-edition .food-options-grid>div{min-width:0}.fm-mobile-page-aliment-edition .food-unit-place-row{display:flex;align-items:end;gap:8px;min-width:0}.fm-mobile-page-aliment-edition .food-unit-place-row .food-unit-field{flex:0 0 clamp(75px,28vw,96px);min-width:75px}.fm-mobile-page-aliment-edition .food-unit-place-row .food-shopping-place-field{flex:1 1 0;min-width:75px}.fm-mobile-page-aliment-edition .food-unit-place-row .food-unit-field,.fm-mobile-page-aliment-edition .food-unit-place-row .food-shopping-place-field{min-width:0}.fm-mobile-page-aliment-edition .food-inline-fields select.input,.fm-mobile-page-aliment-edition .food-unit-place-row .food-unit-select,.fm-mobile-page-aliment-edition .food-unit-place-row .food-shopping-select{display:block;inline-size:100%!important;max-inline-size:100%!important;min-inline-size:75px!important;min-width:75px!important}.fm-mobile-page-aliment-edition .food-grid-span-2{grid-column:1 / -1}.fm-mobile-page-aliment-edition .food-options-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.fm-mobile-page-aliment-edition .food-macros-grid .input,.fm-mobile-page-aliment-edition .food-options-grid .input{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box}.fm-mobile-page-aliment-edition .food-options-grid>.actions{grid-column:1 / -1}.fm-mobile-page-aliment-edition .food-edit-sheet-actions,.fm-mobile-page-recette-edition .recipe-edit-sheet-actions{display:grid;gap:8px}.fm-mobile-page-recette-detail .recipe-consult-tags{display:flex;flex-wrap:wrap;gap:6px}.fm-mobile-page-recette-detail .recipe-consult-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.fm-mobile-page-recette-detail .recipe-consult-title{display:inline-flex;align-items:center;gap:6px;min-width:0}.fm-mobile-page-recette-detail .recipe-consult-title>span,.fm-mobile-page-recette-detail .recipe-consult-title>strong{display:block;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-mobile-page-recette-detail .recipe-consult-pill{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);padding:4px 9px;font-size:.74rem;color:var(--fm-ink-soft);font-weight:700}.fm-mobile-page-recette-detail .recipe-consult-member-list{display:grid;gap:6px}.fm-mobile-page-recette-detail .recipe-consult-member-row{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:6px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.fm-mobile-page-recette-detail .recipe-consult-member-meta{display:flex;justify-content:flex-start;gap:8px;align-items:center;min-width:0}.fm-mobile-page-recette-detail .recipe-consult-member-name{font-weight:700;color:var(--fm-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;line-height:1.1}.fm-mobile-page-recette-detail .recipe-consult-servings-stepper{display:grid;grid-template-columns:34px 38px 34px;gap:4px;align-items:center}.fm-mobile-page-recette-detail .recipe-consult-servings-stepper .btn{min-width:34px!important;min-height:34px!important;padding:0!important}.fm-mobile-page-recette-detail .recipe-consult-servings-value{min-height:34px;border:1px solid var(--fm-line);border-radius:10px;display:grid;place-items:center;background:var(--fm-surface);font-family:var(--fm-font-head);font-size:.82rem;line-height:1;padding:0 6px}.fm-mobile-page-recette-detail .recipe-consult-macros-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-recette-detail .recipe-consult-macros-head>div{min-width:0}.fm-mobile-page-recette-detail .recipe-consult-macros-head strong{margin:0}.fm-mobile-page-recette-detail .object-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}.fm-mobile-page-recette-detail .recipe-ingredient-line{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:5px 5px 5px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-recette-detail .recipe-ingredient-name{color:var(--fm-ink);font-size:.82rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-mobile-page-recette-detail .recipe-ingredient-qty-badge{flex:0 0 auto;border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface);color:var(--fm-ink-soft);min-height:24px;padding:0 8px;display:inline-flex;align-items:center;font-size:.8rem;font-family:var(--fm-font-mono);line-height:1}.fm-mobile-page-recette-detail .recipe-consult-condiments-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fm-mobile-page-recette-detail .recipe-consult-condiment-pill{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink-soft);font-size:.72rem;padding:4px 9px}.recipe-step-item{margin:10px 0 0 5px;padding-left:18px;display:grid;gap:8px}.recipe-step-item li{list-style:decimal-leading-zero;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);padding:9px 10px;font-size:.82rem;color:var(--fm-ink)}.fm-mobile-page-recette-detail .recipe-consult-sheet-actions{display:grid;gap:8px}}@media(max-width:850px){.fm-mobile-page-recette-edition .recipe-edit-header{margin-bottom:0}.fm-mobile-page-recette-edition .recipe-edit-permission-field,.fm-mobile-page-recette-edition .recipe-edit-meta-field{min-width:0;width:100%}.fm-mobile-page-recette-edition .recipe-edit-batch-hint{margin-top:8px;font-size:.76rem}.fm-mobile-page-recette-edition .recipe-edit-food-select,.fm-mobile-page-recette-edition .recipe-edit-unit-select,.fm-mobile-page-recette-edition .recipe-category-select,.fm-mobile-page-recette-edition .recipe-category-field{width:100%}.fm-mobile-page-recette-edition .recipe-category-field{color:var(--fm-ink);font-weight:700}.fm-mobile-page-recette-edition .recipe-step-head{display:grid;gap:8px}.fm-mobile-page-recette-edition .recipe-step-title{min-width:0}.fm-mobile-page-recette-edition .recipe-step-input{min-height:86px;resize:vertical}.fm-mobile-page-recette-edition .recipe-edit-add-step-btn,.fm-mobile-page-recette-edition .recipe-import-add-step-btn{width:100%}.fm-mobile-page-recette-edition .recipe-import-overlay{position:fixed;inset:0;z-index:1680;background:#090a1294;display:flex;align-items:flex-end;justify-content:center;padding:10px}.fm-mobile-page-recette-edition .recipe-import-modal{width:min(620px,100%);max-height:calc(100vh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;padding:10px}.fm-mobile-page-recette-edition .recipe-import-qty-inline{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:8px}.fm-mobile-page-recette-edition .recipe-import-inline-unit{min-width:0}.fm-mobile-page-recette-edition .recipe-import-table{width:100%;min-width:700px;border-collapse:collapse}.fm-mobile-page-recette-edition .recipe-import-table th,.fm-mobile-page-recette-edition .recipe-import-table td{border-bottom:1px solid var(--fm-line);padding:8px 6px;font-size:.76rem;color:var(--fm-ink);vertical-align:middle}.fm-mobile-page-recette-edition .recipe-import-table thead th{color:var(--fm-ink-soft);font-size:.67rem;text-transform:uppercase;letter-spacing:.07em;font-family:var(--fm-font-mono);text-align:left;white-space:nowrap}.fm-mobile-page-recette-edition .recipe-import-steps-list{margin-top:8px}.fm-mobile-page-recette-edition .recipe-import-steps-meta{margin-top:8px;color:var(--fm-ink-soft);font-size:.72rem;text-align:right;font-family:var(--fm-font-mono)}.fm-mobile-page-aliment-edition .food-panel{display:grid;gap:8px}.fm-mobile-page-aliment-edition .food-options-grid .actions{justify-content:flex-start}.fm-mobile-page-recette-detail .recipe-consult-meta,.fm-mobile-page-recette-detail .recipe-consult-ingredients,.fm-mobile-page-recette-detail .recipe-consult-steps,.fm-mobile-page-recette-detail .recipe-consult-servings,.fm-mobile-page-recette-detail .recipe-consult-condiments{display:grid;gap:8px}.fm-mobile-page-recette-detail .recipe-consult-servings-total{font-size:.72rem}}@media(max-width:850px){.fm-mobile-page-recette-edition .fm-recipe-edit-v2{display:grid;gap:10px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-edit-layout{display:grid;gap:10px;grid-template-columns:1fr}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-edit-columns,.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-edit-column{display:contents}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-overview{order:1}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-meta-block{order:2}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-food-bank{order:3}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredients-block{order:4}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-condiments-block{order:5}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-steps-block{order:6}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-macros-block{order:7}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-edit-footer{order:8}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-header-actions{display:flex;justify-content:flex-end;width:100%}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-header-actions .btn{min-width:0!important;white-space:nowrap}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-overview{display:grid;gap:10px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-overview-head{display:grid;gap:6px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-stat-nutri{grid-column:1 / -1;justify-self:end}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-stat-chip{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface-2);min-height:56px;padding:8px 10px;display:grid;gap:2px;align-content:center}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-stat-chip small{margin:0;font-size:.64rem;text-transform:uppercase;letter-spacing:.07em;color:var(--fm-ink-soft);font-family:var(--fm-font-mono)}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-stat-chip b{margin:0;color:var(--fm-ink);font-size:.94rem;font-family:var(--fm-font-head);line-height:1.1}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-meta-block{display:grid;gap:10px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-meta-grid{display:grid;gap:8px;grid-template-columns:1fr}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-field{display:grid;gap:6px;min-width:0}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-meta-hint{margin:0;color:var(--fm-ink-soft);font-size:.75rem;line-height:1.4}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:8px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-section-head strong{display:block;color:var(--fm-ink);font-size:.88rem}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-section-head small{display:block;color:var(--fm-ink-soft);font-size:.72rem;margin-top:2px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-food-bank,.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredients-block,.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-condiments-block,.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-steps-block,.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-macros-block{display:grid;gap:8px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-food-list{display:grid;gap:6px;max-height:236px;overflow:auto;padding-right:2px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-food-item{width:100%!important;min-height:40px;justify-content:space-between!important;text-align:left;border-radius:12px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-food-item span{color:var(--fm-ink);font-weight:700;font-size:.8rem;line-height:1.5;overflow:hidden;text-overflow:ellipsis}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-food-item .fm-recipe-food-unit-badge{border:1px solid var(--fm-line);border-radius:999px;background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 8%);color:var(--fm-ink-soft);min-height:22px;padding:0 8px;display:inline-flex;align-items:center;font-size:.66rem;font-family:var(--fm-font-mono);letter-spacing:.05em;line-height:1;white-space:nowrap}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-empty-state{border:1px dashed color-mix(in srgb,var(--fm-line),var(--fm-ink) 14%);border-radius:12px;background:color-mix(in srgb,var(--fm-surface-2),var(--fm-bg) 8%);padding:12px 10px;color:var(--fm-ink-soft);font-size:.77rem}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-empty-state>p{margin:0 0 8px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-empty-state>.btn{width:100%}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredients-list{display:grid;gap:6px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredient-card{border:1px solid var(--fm-line);border-radius:12px;background:color-mix(in srgb,var(--fm-surface),var(--fm-bg) 10%);padding:8px;display:grid;gap:6px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredient-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredient-head .btn{min-width:34px!important;min-height:34px!important;padding:0!important}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredient-bottom{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,.9fr);gap:6px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredient-bottom .fm-recipe-field{gap:4px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredient-bottom .label{margin-bottom:2px;font-size:.62rem;letter-spacing:.05em}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredient-bottom .input{width:100%!important}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredient-card .input,.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-ingredient-card select.input{min-height:36px;font-size:.78rem;border-radius:10px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-condiment-badges{display:flex;flex-wrap:wrap;gap:6px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-condiment-chip{border:1px solid var(--fm-line);border-radius:999px;background:var(--fm-surface-2);color:var(--fm-ink);min-height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-condiment-chip i{color:var(--fm-ink-soft);font-size:.86rem}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-steps-list{display:grid;gap:8px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-step-card{border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface-2);padding:10px;display:grid;gap:8px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-step-head{display:grid;gap:8px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-step-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-step-meta .label{margin:0}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-step-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-step-input{min-height:92px;resize:vertical}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-step-preview{border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-surface);padding:10px;color:var(--fm-ink);font-size:.8rem;line-height:1.35}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-step-add{justify-self:start}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .recipe-edit-add-step-btn{width:100%}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-macros-block .fm-macro-badges{margin-top:0}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-edit-footer{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:7;background:color-mix(in srgb,var(--fm-surface),transparent 4%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-edit-footer .btn{width:100%!important}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-visibility-sheet{display:grid;gap:12px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-share-target-list{display:grid;gap:8px;max-height:40vh;overflow:auto}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-share-target-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--fm-line);border-radius:14px;background:var(--fm-surface-2)}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-share-target-item span{display:grid;gap:2px}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-share-target-item small{color:var(--fm-ink-soft)}.fm-mobile-page-recette-edition .fm-recipe-edit-v2 .fm-recipe-sheet-actions{display:grid;gap:8px}}@media(max-width:850px){.fm-auth-page{min-height:calc(100vh - 24px);display:grid;align-content:start;gap:10px;padding:max(10px,env(safe-area-inset-top))}.fm-auth-page .auth-card{padding:14px;display:grid;gap:10px}.fm-auth-page .auth-card h1{margin:0;font-size:1.05rem}.fm-auth-page .auth-form{display:grid;gap:8px}.fm-auth-page .auth-form .label{margin-top:2px}.fm-auth-page .auth-form .btn{margin-top:4px}.fm-auth-page .hint{margin:0;font-size:.78rem;color:var(--fm-ink-soft)}.fm-auth-page .auth-signup-hint{display:none}.fm-auth-page a{color:var(--fm-brand-strong);font-weight:700;text-decoration:none}.fm-auth-page a:focus-visible,.fm-auth-page a:hover{text-decoration:underline}}@media(max-width:850px){.fm-mobile-page-onboarding,.fm-onboarding-page{min-height:100dvh;min-height:100vh;display:flex;flex-direction:column;background:var(--fm-bg);padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}.onboarding-step{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px 20px;text-align:center}.onboarding-icon{font-size:3rem;margin-bottom:20px}.onboarding-title{font-family:var(--fm-font-head);font-size:1.4rem;font-weight:700;letter-spacing:-.03em;color:var(--fm-ink);margin-bottom:10px}.onboarding-desc{font-size:.9rem;color:var(--fm-ink-soft);line-height:1.6;max-width:320px}.onboarding-dots{display:flex;gap:6px;justify-content:center;margin:24px 0}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--fm-line);transition:width .2s ease,background-color .2s ease}.onboarding-dot.active{background:var(--fm-brand);width:20px;border-radius:4px}.onboarding-cta{padding:0 24px 20px;display:flex;flex-direction:column;gap:10px}.onboarding-cta .btn.confirm,.onboarding-cta button[type=submit]{width:100%;min-height:48px;font-size:.95rem;justify-content:center;background:var(--fm-brand);color:#fff;border-color:transparent;box-shadow:0 4px 14px #fa5a2c47}.onboarding-form{padding:0 20px;display:flex;flex-direction:column;gap:14px}}html,body,*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
