:root{--bg:oklch(97.4% .012 76);--surface:oklch(100% 0 0);--surface-warm:oklch(94.8% .022 70);--fg:oklch(25% .018 57);--fg-2:oklch(38% .022 57);--muted:oklch(54% .022 57);--meta:oklch(42% .02 57);--border:oklch(89% .018 72);--border-soft:oklch(93.5% .014 72);--accent:oklch(67% .17 53);--accent-on:oklch(99% .004 75);--accent-soft:oklch(94% .045 59);--accent-hover:color-mix(in oklab, var(--accent), black 8%);--accent-active:color-mix(in oklab, var(--accent), black 14%);--success:oklch(51% .105 150);--success-soft:oklch(95% .035 150);--warn:oklch(59% .115 78);--warn-soft:oklch(95% .047 80);--danger:oklch(53% .18 29);--danger-soft:oklch(96% .03 25);--info:oklch(53% .11 244);--info-soft:oklch(96% .026 240);--font-display:Manrope, Inter, system-ui, sans-serif;--font-body:Inter, system-ui, sans-serif;--font-mono:"SF Mono", ui-monospace, Menlo, monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:24px;--text-2xl:36px;--text-3xl:54px;--text-4xl:76px;--leading-body:1.52;--leading-tight:1.06;--tracking-display:-.025em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--section-y-desktop:96px;--section-y-tablet:68px;--section-y-phone:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:9999px;--elev-flat:none;--elev-ring:0 0 0 1px var(--border);--elev-raised:0 16px 40px color-mix(in oklab, var(--fg), transparent 90%);--focus-ring:0 0 0 3px color-mix(in oklab, var(--accent), transparent 78%);--motion-fast:.15s;--motion-base:.24s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--container-max:1600px;--container-gutter-desktop:28px;--container-gutter-tablet:20px;--container-gutter-phone:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-body);margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button,a,select,input,textarea{outline:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring)}button{cursor:pointer}select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;cursor:pointer;box-shadow:0 1px 0 color-mix(in oklab, var(--fg), transparent 94%);transition:border-color var(--motion-fast), background-color var(--motion-fast), box-shadow var(--motion-fast)}select:hover:not(:disabled){border-color:color-mix(in oklab, var(--fg), transparent 68%);background-color:color-mix(in oklab, var(--surface), var(--surface-warm) 34%)}select:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring)}select:disabled{cursor:not-allowed;opacity:.56}.ui-select{min-width:0;color:var(--fg-2);align-items:center;display:inline-grid}.ui-select>select{text-overflow:ellipsis;background-clip:padding-box;width:100%;overflow:hidden}@supports (appearance:base-select){@media (hover:hover) and (pointer:fine){.ui-select>select{appearance:base-select}.ui-select>select::picker(select){appearance:base-select}.ui-select>select{align-items:center;gap:var(--space-2);display:inline-flex;position:relative}.ui-select>select::picker-icon{color:var(--muted);pointer-events:none;transition:rotate var(--motion-base) var(--ease-standard), color var(--motion-fast);margin:0;position:absolute;inset-block-start:50%;inset-inline-end:var(--space-3);translate:0 -50%}.ui-select>select:open::picker-icon{color:var(--fg);rotate:180deg}.ui-select>select::picker(select){padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--elev-raised);margin-block-start:var(--space-2)}.ui-select>select option{min-block-size:36px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--fg);align-items:center;display:flex}.ui-select>select option:hover:not(:disabled){background:var(--surface-warm)}.ui-select>select option:checked{background:color-mix(in oklab, var(--surface-warm), var(--accent) 8%);font-weight:600}.ui-select>select option::checkmark{color:var(--accent);order:2;margin-inline-start:auto}}}@media (forced-colors:active){.ui-select>select{border-color:buttonborder}}.ui-select>select.recipes-status-select{-webkit-appearance:menulist;appearance:auto}code,.mono{font-family:var(--font-mono);font-size:.92em}code{background:var(--surface-warm);border-radius:var(--radius-sm);padding:2px 5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.018em}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:30;width:252px;padding:var(--space-4) var(--space-3);background:var(--fg);color:var(--accent-on);border-right:1px solid color-mix(in oklab, var(--accent-on), transparent 90%);transition:width var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-standard);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand-row{align-items:center;gap:var(--space-2);min-height:54px;padding:0 var(--space-1) var(--space-3);border-bottom:1px solid color-mix(in oklab, var(--accent-on), transparent 88%);display:flex}.brand{align-items:center;gap:var(--space-3);min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;padding:0;display:flex}.brand-mark{background:var(--accent);width:36px;height:36px;color:var(--accent-on);font-family:var(--font-display);font-size:var(--text-lg);box-shadow:inset 0 -2px 0 color-mix(in oklab, var(--fg), transparent 84%);border-radius:10px 10px 10px 4px;flex:none;place-items:center;font-weight:700;display:grid}.brand-copy{flex-direction:column;min-width:0;display:flex}.brand-copy b{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em}.brand-copy small{color:color-mix(in oklab, var(--accent-on), transparent 42%);letter-spacing:.01em;white-space:nowrap;font-size:11px}.collapse{border-radius:var(--radius-md);background:color-mix(in oklab, var(--accent-on), transparent 92%);width:28px;height:32px;color:var(--accent-on);border:0;font-size:22px}.nav{padding:var(--space-4) 0;flex:1;overflow-y:auto}.nav-group{margin-bottom:var(--space-5)}.nav-label{padding:0 10px var(--space-2);color:color-mix(in oklab, var(--accent-on), transparent 52%);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1}.nav-item{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);width:100%;min-height:40px;color:color-mix(in oklab, var(--accent-on), transparent 20%);text-align:left;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:0;margin:2px 0;padding:7px 9px;font-weight:500;display:flex}.nav-item:hover{background:color-mix(in oklab, var(--accent-on), transparent 92%);color:var(--accent-on)}.nav-item.active{background:var(--accent-soft);color:var(--fg);font-weight:650}.nav-glyph{border:1px solid color-mix(in oklab, currentColor, transparent 70%);width:27px;height:27px;font-family:var(--font-mono);letter-spacing:.03em;border-radius:7px;flex:0 0 27px;place-items:center;font-size:9px;display:grid}.nav-item.disabled{cursor:not-allowed;opacity:.42}.nav-future{padding-top:var(--space-4);border-top:1px solid color-mix(in oklab, var(--accent-on), transparent 90%)}.sidebar-foot{padding:var(--space-3) var(--space-2);color:color-mix(in oklab, var(--accent-on), transparent 48%);border-top:1px solid color-mix(in oklab, var(--accent-on), transparent 90%);letter-spacing:.02em;align-items:center;gap:8px;font-size:11px;display:flex}.env-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in oklab, var(--success), transparent 78%);border-radius:50%}.main{grid-column:2;min-width:0}.topbar{z-index:20;min-height:72px;padding:10px var(--container-gutter-desktop);justify-content:space-between;align-items:center;gap:var(--space-4);background:color-mix(in oklab, var(--surface), transparent 4%);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:var(--space-3);display:flex}.breadcrumbs{color:var(--muted);letter-spacing:.01em;margin-bottom:1px;font-size:11px}.breadcrumbs span{color:var(--border);padding:0 3px}.topbar h1{font-size:var(--text-xl);margin:0;font-weight:650;line-height:1.2}.topbar-actions{align-items:center;gap:var(--space-3);display:flex;position:relative}.backend-status{align-items:center;gap:var(--space-2);color:var(--fg-2);font-size:var(--text-xs);display:flex}.backend-status>span{background:var(--success);border-radius:50%;width:7px;height:7px}.profile{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:9px;padding:4px 7px 4px 4px;display:flex}.avatar{border-radius:var(--radius-md);background:var(--surface-warm);width:32px;height:32px;font-family:var(--font-mono);place-items:center;font-size:10px;font-weight:700;display:grid}.profile-copy{flex-direction:column;align-items:flex-start;display:flex}.profile-copy b{font-size:var(--text-xs)}.profile-copy small{color:var(--muted);font-size:10px}.profile-menu{z-index:40;width:244px;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elev-raised);flex-direction:column;gap:4px;display:flex;position:absolute;top:calc(100% + 9px);right:0}.profile-menu span{color:var(--muted);font-size:var(--text-xs)}.profile-menu hr{border:0;border-top:1px solid var(--border-soft);width:100%}.profile-menu button{margin-top:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:var(--surface-warm);text-align:left;border:0}.page{width:100%;max-width:var(--container-max);padding:var(--space-6) var(--container-gutter-desktop) 110px;margin:0 auto}.page-intro{min-height:54px;margin-bottom:var(--space-5);justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.page-intro-actions{justify-content:flex-end}.page-intro p{color:var(--fg-2);font-size:var(--text-sm);margin:0 0 3px}.updated{color:var(--muted);font-size:var(--text-xs)}.header-actions,.button-row{align-items:center;gap:var(--space-2);display:flex}.page-intro select,.toolbar select{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);min-height:38px;color:var(--fg);letter-spacing:.01em;padding:0 32px 0 11px;font-weight:550}.btn{min-height:38px;padding:0 var(--space-4);border-radius:var(--radius-md);font-weight:620;font-size:var(--text-xs);letter-spacing:.02em;transition:transform var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{background:var(--accent);color:var(--accent-on);box-shadow:0 2px 0 var(--accent-active), 0 6px 16px color-mix(in oklab, var(--accent), transparent 80%)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-warm)}.btn-danger{background:var(--danger);color:var(--accent-on)}.btn-ghost{color:var(--danger);background:0 0}.badge{border-radius:var(--radius-pill);letter-spacing:.015em;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;width:fit-content;min-height:22px;padding:2px 7px;font-size:10px;font-weight:650;line-height:1.2;display:inline-flex}.badge-neutral{background:var(--surface-warm);color:var(--fg-2);border-color:var(--border-soft)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-accent{background:var(--accent-soft);color:var(--accent-active)}.service-bar{min-height:48px;margin-bottom:var(--space-6);align-items:center;gap:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px 12px;display:flex}.service-bar>div{align-items:center;gap:7px;display:flex}.service-bar b{font-size:var(--text-xs)}.service-bar small{color:var(--muted);font-size:10px}.service-bar button,.panel-head button,.text-link,.back,.login-row button{color:var(--info);font-size:var(--text-xs);background:0 0;border:0;margin-left:auto;padding:0;font-weight:600}.status-dot{background:var(--muted);border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.ok{background:var(--success)}.status-dot.muted{background:var(--border)}.section-title{margin:var(--space-6) 0 var(--space-3);justify-content:space-between;align-items:end;gap:var(--space-3);display:flex}.section-title h2,.panel-head h2,.form-section h2,.stats-group h2{font-size:var(--text-base);margin:0 0 2px;font-weight:650}.section-title p,.panel-head p,.form-section-head p{color:var(--muted);font-size:var(--text-xs);margin:0}.metrics-grid{gap:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.metric-card{min-height:108px;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.referral-link-row{align-items:center;gap:var(--space-3);padding:var(--space-4);flex-wrap:wrap;display:flex}.referral-link-row a{overflow-wrap:anywhere;min-width:0}.referral-notice{padding:0 var(--space-4) var(--space-3);margin:0}.referral-metrics .metric-value{overflow-wrap:anywhere;display:block}.referrals-table-scroll{background:var(--surface);max-width:100%;overflow-x:auto}.referrals-table-scroll .data-table{min-width:850px}.metric-label{min-height:35px;color:var(--muted);font-size:var(--text-xs);line-height:1.35}.metric-value{margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xl);letter-spacing:-.04em;font-weight:650}.metric-note{color:var(--muted);margin-top:2px;font-size:10px}.skeleton i{border-radius:var(--radius-sm);background:var(--surface-warm);height:10px;margin-bottom:11px;animation:1.1s infinite alternate pulse;display:block}.skeleton i:nth-child(2){width:54%;height:25px}.skeleton i:nth-child(3){width:72%}@keyframes pulse{to{opacity:.42}}.dashboard-grid{margin-top:var(--space-5);gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.panel{padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.panel.span-2{grid-column:span 2}.panel-head{margin-bottom:var(--space-4);justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.feed-list>div{gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border-soft);grid-template-columns:58px 1fr auto;display:grid}.feed-list p{font-size:var(--text-xs);margin:0}.feed-list small{color:var(--muted);font-size:10px}.rating{color:var(--success);font-family:var(--font-mono);white-space:nowrap;align-items:baseline;gap:2px;display:inline-flex}.rating span{color:var(--muted);font-size:10px}.rating-low{color:var(--danger)}.health-row{border-top:1px solid var(--border-soft);justify-content:space-between;padding:12px 0;display:flex}.health-row b{font-family:var(--font-mono)}.health-row.warn{color:var(--warn)}.events-brief>div{gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border-soft);grid-template-columns:minmax(92px,max-content) minmax(0,1fr) auto;align-items:center;display:grid}.events-brief p{overflow-wrap:anywhere;min-width:0;font-size:var(--text-xs);margin:0}.events-brief time{color:var(--muted);font-family:var(--font-mono);font-size:10px}.quick-actions{align-items:stretch;gap:var(--space-2);flex-direction:column;display:flex}.toolbar{margin-bottom:var(--space-3);align-items:center;gap:var(--space-2);display:flex}.toolbar.wrap{flex-wrap:wrap}.search{align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex:1;min-width:260px;max-width:560px;height:40px;padding:0 10px;display:flex}.search-icon{width:14px;height:14px;color:var(--muted);border:1.6px solid;border-radius:50%;flex:0 0 14px;display:inline-block;position:relative}.search-icon:after{content:"";border-radius:var(--radius-pill);transform-origin:0;background:currentColor;width:6px;height:1.6px;position:absolute;bottom:-3px;right:-5px;transform:rotate(45deg)}.search-icon-compact{border-width:1.4px;flex-basis:12px;width:12px;height:12px;transform:translateY(-1px)}.search-icon-compact:after{width:5px;height:1.4px;bottom:-2px;right:-4px}.search input{background:0 0;border:0;flex:1;min-width:0}.search button{color:var(--muted);background:0 0;border:0;font-size:19px}.filter-panel{margin-bottom:var(--space-3);padding:var(--space-4);gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elev-raised);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.filter-actions{justify-content:flex-end;align-items:end;gap:var(--space-2);display:flex}.filter-actions>button:not(.btn){min-height:38px;padding:0 var(--space-3);color:var(--muted);background:0 0;border:0}.field{color:var(--fg-2);font-size:var(--text-xs);flex-direction:column;gap:6px;font-weight:560;display:flex}.field>span{align-items:center;gap:6px;display:flex}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:40px;color:var(--fg);padding:8px 10px;font-weight:400}.field select{padding-right:32px}.field>.ui-select{width:100%}.field textarea{resize:vertical;min-height:84px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field.inline{min-width:150px}.field.invalid input{border-color:var(--danger);background:var(--danger-soft)}.field.invalid small{color:var(--danger)}.table-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table th{background:var(--surface-warm);border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;text-align:left;white-space:nowrap;padding:9px 10px;font-size:10px;font-weight:650;position:static}.data-table td{border-bottom:1px solid var(--border-soft);color:var(--fg-2);font-size:var(--text-xs);vertical-align:middle;padding:10px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:color-mix(in oklab, var(--surface-warm), transparent 40%)}.recipe-cell{text-align:left;min-width:188px}.recipe-cell b{max-width:210px;font-weight:620;line-height:1.35}.recipe-cell b,.recipe-cell>span{display:block}.recipe-cell>span{max-width:320px;color:var(--muted);overflow-wrap:anywhere;margin-top:4px;line-height:1.4}.recipe-thumb{border-radius:var(--radius-md);background:var(--success-soft);width:34px;height:34px;color:var(--success);font-family:var(--font-mono);letter-spacing:.04em;flex:none;place-items:center;font-size:9px;font-weight:700;display:grid}.thumb-1{background:var(--warn-soft);color:var(--warn)}.thumb-2{background:var(--info-soft);color:var(--info)}.recipe-thumb.large{width:76px;height:76px;font-size:var(--text-sm)}.ingredients{max-width:160px;line-height:1.35;color:var(--muted)!important}.tag-row{flex-wrap:wrap;gap:4px;display:flex}.row-menu{border-radius:var(--radius-md);width:32px;height:32px;color:var(--muted);background:0 0;border:0}.row-menu:hover{background:var(--surface-warm)}.warning-row td,.attention-row td{background:var(--warn-soft)}.attention-row td:first-child,.warning-row td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.feedback-table td{vertical-align:top}.feedback-table td:nth-child(2)>b,.feedback-table td:nth-child(2)>span{display:block}.feedback-table .comment-cell{min-width:260px;max-width:420px}.muted{color:var(--muted)}.pagination{min-height:56px;padding:9px var(--space-3);justify-content:flex-end;align-items:center;gap:var(--space-6);border-top:1px solid var(--border);color:var(--muted);font-size:var(--text-xs);display:flex}.pagination label,.pagination>div{align-items:center;gap:var(--space-2);display:flex}.pagination select{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);min-height:32px;color:var(--fg);padding:0 28px 0 10px;font-weight:550}.pagination .btn{min-width:32px;min-height:32px;padding:0 8px}.pagination b{border-radius:var(--radius-md);background:var(--surface-warm);width:28px;height:28px;color:var(--fg);place-items:center;display:grid}.empty-state{min-height:360px;padding:var(--space-8);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-mark{width:60px;height:60px;margin-bottom:var(--space-4);border:1px dashed var(--border);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xl);border-radius:50%;place-items:center;display:grid}.empty-state h2{margin-bottom:var(--space-2);font-size:var(--text-lg)}.recipe-intro{align-items:center}.title-with-status{align-items:center;gap:var(--space-2);margin-bottom:5px;display:flex}.unsaved{align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-xs);display:flex}.unsaved>span,.save-dot{background:var(--success);border-radius:50%;width:7px;height:7px}.unsaved.show{color:var(--warn)}.unsaved.show>span,.save-dot.dirty{background:var(--warn)}.form-layout{gap:var(--space-4);grid-template-columns:188px minmax(0,1fr);align-items:start;display:grid}.form-nav{padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:3px;display:flex;position:sticky;top:92px}.form-nav button{min-height:36px;color:var(--fg-2);border-radius:var(--radius-md);text-align:left;font-size:var(--text-xs);background:0 0;border:0;justify-content:space-between;align-items:center;padding:7px 9px;display:flex}.form-nav button:hover{background:var(--surface-warm)}.form-content{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.form-section:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.form-sections{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.form-section{padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);scroll-margin-top:92px}.form-section-head{margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-soft)}.form-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.span-2{grid-column:span 2}.input-suffix{display:flex}.input-suffix input{border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-suffix span{background:var(--surface-warm);border:1px solid var(--border);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--muted);border-left:0;place-items:center;padding:0 10px;font-size:10px;display:grid}.check-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.check{align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);min-height:40px;font-size:var(--text-xs);cursor:pointer;padding:8px 10px;display:flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.ingredient-search{max-width:540px;margin-bottom:var(--space-3);gap:var(--space-2);display:flex}.ingredient-search input,.recipe-picker input{border:1px solid var(--border);border-radius:var(--radius-md);flex:1;min-width:0;min-height:40px;padding:8px 10px}.editable-table{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.editable-head,.editable-row{grid-template-columns:32px 1.5fr .75fr .7fr 1fr 1fr 50px 50px 32px;align-items:center;gap:5px;padding:7px;display:grid}.editable-head{background:var(--surface-warm);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px}.editable-row{border-top:1px solid var(--border-soft)}.editable-row input:not([type=checkbox]),.editable-row select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;min-height:34px;padding:5px 6px;font-size:11px}.editable-row select{padding-right:24px}.editable-row>.ui-select{width:100%}.editable-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);justify-self:center}.drag,.remove,.step button,.dish-order button{color:var(--muted);background:0 0;border:0}.drag{cursor:grab;font-size:18px}.remove{font-size:20px}.remove:hover{color:var(--danger)}.steps{gap:var(--space-2);flex-direction:column;display:flex}.step{gap:var(--space-2);grid-template-columns:30px 1fr 30px;align-items:start;display:grid}.step>span{background:var(--surface-warm);width:30px;height:30px;font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:11px;display:grid}.step textarea{border:1px solid var(--border);border-radius:var(--radius-md);resize:vertical;min-height:62px;padding:8px 10px}.upload{padding:var(--space-4);align-items:center;gap:var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--surface-warm);display:flex}.recipe-preview{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--success-soft);width:148px;color:var(--success);font-family:var(--font-mono);font-size:var(--text-lg);place-items:center;font-weight:700;display:grid}.upload>div:last-child{flex-direction:column;gap:5px;min-width:0;max-width:100%;display:flex}.upload input[type=file]{max-width:100%}.upload span{color:var(--muted);font-size:var(--text-xs)}.nutrition{grid-template-columns:repeat(5,minmax(0,1fr))}.sticky-save{z-index:18;width:calc(100% - 252px);min-height:68px;padding:10px var(--container-gutter-desktop);justify-content:space-between;align-items:center;gap:var(--space-4);background:color-mix(in oklab, var(--surface), transparent 3%);border-top:1px solid var(--border);box-shadow:0 -12px 28px color-mix(in oklab, var(--fg), transparent 94%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;position:fixed;bottom:0;right:0}.sticky-save>div{align-items:center;gap:var(--space-2);display:flex}.sticky-save b{font-size:var(--text-xs)}.notice,.api-error{margin-bottom:var(--space-4);padding:12px var(--space-4);align-items:center;gap:var(--space-3);background:var(--info-soft);border:1px solid color-mix(in oklab, var(--info), transparent 72%);border-radius:var(--radius-md);display:flex}.notice.warning{background:var(--warn-soft);border-color:color-mix(in oklab, var(--warn), transparent 70%)}.notice p,.api-error p{color:var(--fg-2);font-size:var(--text-xs);margin:0}.collection-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.collection-card{min-height:205px;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;transition:transform var(--motion-fast), border var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;align-items:flex-start;display:flex;position:relative}.collection-card:hover{border-color:color-mix(in oklab, var(--accent), transparent 48%);box-shadow:var(--elev-raised);transform:translateY(-2px)}.collection-number{margin-bottom:var(--space-5);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs)}.collection-card h2{font-size:var(--text-base);margin:0 0 4px;line-height:1.25}.collection-card p{color:var(--muted);font-size:var(--text-xs)}.collection-meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);flex-wrap:wrap;margin-top:auto;display:flex}.card-arrow{right:var(--space-4);top:var(--space-4);color:var(--muted);font-size:var(--text-lg);position:absolute}.back{margin-bottom:var(--space-2)!important}.collection-settings{margin-bottom:var(--space-4)}.recipe-picker{gap:var(--space-2);max-width:540px;display:flex}.dish-list{gap:var(--space-3);flex-direction:column;display:flex}.dish-card{padding:var(--space-4);gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:32px 76px minmax(0,1fr) 30px;display:grid}.dish-order{flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.dish-order span{font-family:var(--font-mono);font-size:var(--text-xs)}.dish-title{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.dish-title h3{font-size:var(--text-sm);margin:0}.dish-title span{color:var(--muted)}.dish-title button{color:var(--info);font-size:var(--text-xs);background:0 0;border:0}.dish-facts{align-items:center;gap:var(--space-3);color:var(--muted);font-size:var(--text-xs);margin:7px 0 11px;display:flex}.substitutions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.substitutions>b{font-size:var(--text-xs);margin-right:4px}.substitutions>span{background:var(--surface-warm);border-radius:var(--radius-sm);gap:7px;padding:4px 7px;font-size:11px;display:inline-flex}.substitutions>span button,.add-sub{color:var(--muted);background:0 0;border:0;padding:0}.add-sub{color:var(--info);font-size:var(--text-xs)}.dish-remove{align-self:start}.switch{align-items:center;gap:var(--space-2);min-height:40px;color:var(--fg-2);font-size:var(--text-xs);cursor:pointer;display:flex}.switch input{opacity:0;position:absolute}.switch>span{border-radius:var(--radius-pill);background:var(--border);width:34px;height:20px;transition:background var(--motion-fast);padding:2px}.switch>span:after{content:"";background:var(--surface);width:16px;height:16px;transition:transform var(--motion-fast);border-radius:50%;display:block}.switch input:checked+span{background:var(--success)}.switch input:checked+span:after{transform:translate(14px)}.stats-group{margin-bottom:var(--space-6)}.stats-group .metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.future-chart{min-height:210px;padding:var(--space-6);align-items:center;gap:var(--space-8);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg);grid-template-columns:1fr 1.6fr;display:grid}.future-chart h2{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-lg)}.future-chart p{max-width:50ch;color:var(--muted);margin:0}.future-lines{align-items:end;gap:var(--space-3);border-bottom:1px solid var(--border);height:120px;display:flex}.future-lines i{background:var(--surface-warm);border-radius:var(--radius-sm) var(--radius-sm) 0 0;flex:1;height:35%}.future-lines i:nth-child(2){height:55%}.future-lines i:nth-child(3){height:42%}.future-lines i:nth-child(4){height:68%}.future-lines i:nth-child(5){height:78%}.api-error{background:var(--danger-soft);border-color:color-mix(in oklab, var(--danger), transparent 70%);justify-content:space-between}.api-error b{color:var(--danger)}.api-error p{margin-top:2px}.events-filters{box-shadow:none;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr .7fr auto}.survey-funnel{margin-bottom:var(--space-5)}.survey-questions{gap:var(--space-3);display:grid}.survey-link{color:var(--info);overflow-wrap:anywhere;font-weight:600;text-decoration:none}.survey-link:hover{text-decoration:underline}.survey-slug{margin-top:var(--space-2);overflow-wrap:anywhere}.field-heading{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--fg-2);display:flex}.info-button{border:1px solid var(--border);background:var(--surface);width:26px;height:26px;color:var(--info);border-radius:50%;font-weight:700}.info-button:hover{background:var(--info-soft)}.event-help{width:min(760px,100% - 32px);max-height:calc(100dvh - 48px);padding:var(--space-5);color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elev-raised);overflow-y:auto}.event-help::backdrop{background:color-mix(in oklab, var(--fg), transparent 55%)}.event-help>p{line-height:1.6}.event-definitions{margin:var(--space-4) 0 0}.event-definitions>div{padding:var(--space-4) 0;border-top:1px solid var(--border-soft)}.event-definitions dt{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.event-definitions code{overflow-wrap:anywhere}.event-definitions dd{margin:var(--space-2) 0 0;color:var(--fg-2);line-height:1.6}.survey-question{padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.survey-question-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.survey-question-head h3{font-size:var(--text-base);margin:4px 0 0}.survey-question-number{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:650}.survey-note{margin:var(--space-2) 0 0;font-size:var(--text-xs)}.survey-options{margin-top:var(--space-4);gap:var(--space-3);display:grid}.survey-option-copy{justify-content:space-between;gap:var(--space-3);color:var(--fg-2);font-size:var(--text-xs);margin-bottom:6px;display:flex}.survey-option-copy b{font-family:var(--font-mono);flex:none}.survey-option-track{border-radius:var(--radius-pill);background:var(--surface-warm);height:8px;overflow:hidden}.survey-option-track>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.payload-button{justify-content:space-between;align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:160px;padding:6px 8px;display:flex}.payload-button span{color:var(--info);font-size:10px}.modal-backdrop,.drawer-scrim{z-index:60;background:color-mix(in oklab, var(--fg), transparent 55%);border:0;position:fixed;inset:0}.modal-backdrop{padding:var(--space-4);place-items:center;display:grid}.modal{width:min(480px,100%);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elev-raised)}.modal-head,.drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.modal-head h2,.drawer-head h2{font-size:var(--text-lg);margin:0}.modal-head>button,.drawer-head>button{border-radius:var(--radius-md);background:var(--surface-warm);width:34px;height:34px;color:var(--muted);border:0;font-size:20px}.modal p{color:var(--fg-2)}.modal-actions{margin-top:var(--space-5);justify-content:flex-end;gap:var(--space-2);display:flex}.drawer-scrim{z-index:49}.drawer{z-index:50;width:min(520px,92vw);padding:var(--space-6);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--elev-raised);animation:slide-in var(--motion-base) var(--ease-standard);position:fixed;inset:0 0 0 auto;overflow-y:auto}@keyframes slide-in{0%{opacity:0;transform:translate(30px)}}.drawer-head{padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.drawer-head h2{margin-top:4px}.drawer dl{margin:var(--space-5) 0}.drawer dl>div{border-bottom:1px solid var(--border-soft);grid-template-columns:110px 1fr;padding:9px 0;display:grid}.drawer dt{color:var(--muted)}.drawer dd{margin:0}.json-head{margin-bottom:var(--space-2);justify-content:space-between;display:flex}.json-head button{color:var(--info);background:0 0;border:0}.drawer pre{min-height:260px;padding:var(--space-4);background:var(--fg);color:var(--accent-on);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-xs);margin:0;overflow:auto}.drawer-note{margin-top:var(--space-3);padding:var(--space-3);background:var(--info-soft);color:var(--fg-2);border-radius:var(--radius-md);font-size:var(--text-xs)}.toast{right:var(--space-5);bottom:var(--space-5);z-index:80;background:var(--fg);min-width:280px;max-width:440px;min-height:52px;color:var(--accent-on);border-radius:var(--radius-md);box-shadow:var(--elev-raised);animation:toast-in var(--motion-base) var(--ease-standard);align-items:center;gap:10px;padding:12px 14px;display:flex;position:fixed}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.toast>span{background:var(--success);border-radius:50%;place-items:center;width:24px;height:24px;font-weight:700;display:grid}.toast-danger>span{background:var(--danger)}.toast-info>span{background:var(--info)}.login-page{background:var(--bg);grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-brand{background:var(--fg);color:var(--accent-on);flex-direction:column;justify-content:center;padding:clamp(48px,8vw,120px);display:flex}.large-logo{width:52px;height:52px;margin-bottom:var(--space-12);font-size:var(--text-xl)}.login-brand>p{color:color-mix(in oklab, var(--accent-on), transparent 42%);font-size:var(--text-sm)}.login-brand h1{max-width:720px;margin:0 0 var(--space-12);letter-spacing:-.03em;font-size:clamp(42px,5vw,68px);font-weight:570;line-height:1.03}.login-status{align-items:center;gap:var(--space-2);color:color-mix(in oklab, var(--accent-on), transparent 25%);font-size:var(--text-xs);display:flex}.login-panel{padding:var(--space-8);place-items:center;display:grid}.login-card{width:min(420px,100%);padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elev-raised)}.login-card h2{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-xl)}.login-card>p{margin-bottom:var(--space-5);color:var(--muted)}.login-card .field{margin-bottom:var(--space-4)}.login-row{margin:var(--space-2) 0 var(--space-5);justify-content:space-between;align-items:center;display:flex}.login-row .check{border:0;min-height:0;padding:0}.login-card>.btn{width:100%;min-height:44px}.login-card>small{margin-top:var(--space-4);color:var(--muted);text-align:center;display:block}.auth-state{min-height:100vh;padding:var(--space-8);align-content:center;place-items:center;gap:var(--space-3);background:var(--bg);text-align:center;display:grid}.auth-state h1,.auth-state p{margin:0}.auth-state p{max-width:60ch;color:var(--muted)}.form-error{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid color-mix(in oklab, var(--danger), transparent 65%);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);font-size:var(--text-xs)}.settings-placeholder{padding:var(--space-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.settings-placeholder h2{margin:var(--space-4) 0 var(--space-2)}.settings-placeholder p{max-width:75ch;color:var(--fg-2);margin:0;line-height:1.55}.settings-grid{gap:var(--space-4);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;display:grid}.settings-list{gap:var(--space-2);display:grid}.settings-list article{padding:var(--space-3);justify-content:space-between;align-items:flex-start;gap:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-warm);display:flex}.settings-list article>div{flex-direction:column;gap:3px;display:flex}.settings-list article>div:last-child{align-items:flex-end}.settings-list article span,.settings-list article small{color:var(--muted);font-size:10px}.settings-list .tag-list{align-items:flex-end}.settings-form{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border)}.settings-form h3{margin:0 0 var(--space-4);font-size:var(--text-base)}.settings-form>.field,.settings-form>.permission-list{margin-bottom:var(--space-3)}.permission-list{gap:var(--space-2);display:grid}.mobile-login-brand{display:none}.mobile-menu{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:40px;height:40px;padding:10px;display:none}.mobile-menu i{background:var(--fg);height:2px;margin:3px 0;display:block}.scrim{display:none}.is-collapsed{grid-template-columns:76px minmax(0,1fr)}.is-collapsed .sidebar{width:76px}.is-collapsed .brand-copy,.is-collapsed .nav-label,.is-collapsed .nav-item>span:last-child,.is-collapsed .sidebar-foot>span:last-child{display:none}.is-collapsed .nav-item,.is-collapsed .brand-row{justify-content:center}.is-collapsed .brand{flex:0}.is-collapsed .collapse{border:1px solid var(--border);background:var(--surface);color:var(--fg);position:absolute;top:28px;right:-13px}.is-collapsed .sticky-save{width:calc(100% - 76px)}@media (width<=1250px){.metrics-grid,.stats-group .metrics-grid,.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.editable-head,.editable-row{grid-template-columns:28px 1.4fr .7fr .6fr .9fr .9fr 42px 42px 28px;font-size:10px}.events-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=980px){.app-shell,.is-collapsed{display:block}.sidebar,.is-collapsed .sidebar{width:252px;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.is-collapsed .brand-copy,.is-collapsed .nav-label,.is-collapsed .nav-item>span:last-child,.is-collapsed .sidebar-foot>span:last-child{display:flex}.is-collapsed .nav-item{justify-content:flex-start}.collapse{display:none}.main{min-width:0}.mobile-menu{display:block}.scrim{z-index:25;background:color-mix(in oklab, var(--fg), transparent 55%);border:0;display:block;position:fixed;inset:0}.sticky-save,.is-collapsed .sticky-save{width:100%}.form-layout{grid-template-columns:1fr}.form-nav{flex-direction:row;position:static;overflow-x:auto}.form-nav button{flex:none}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editable-table{overflow-x:auto}.editable-head,.editable-row{min-width:840px}.login-page,.settings-grid{grid-template-columns:1fr}.login-brand{display:none}.mobile-login-brand{margin-bottom:var(--space-6);align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);display:flex}}@media (width<=720px){.topbar{min-height:64px;padding:8px var(--container-gutter-phone)}.topbar h1{font-size:var(--text-lg)}.breadcrumbs,.backend-status,.profile-copy,.profile>span:last-child{display:none}.profile{border:0;padding:3px}.page{padding:var(--space-4) var(--container-gutter-phone) 118px}.page-intro{flex-direction:column;min-height:0}.page-intro>.btn,.page-intro>.header-actions{width:100%}.page-intro .header-actions>*{flex:1}.service-bar{gap:var(--space-4);overflow-x:auto}.service-bar>div{flex:none}.service-bar button{display:none}.metrics-grid,.stats-group .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:104px}.dashboard-grid{grid-template-columns:1fr}.panel.span-2{grid-column:auto}.feed-list>div,.events-brief>div{grid-template-columns:58px 1fr}.feed-list small,.events-brief time{grid-column:2}.toolbar{flex-wrap:wrap;align-items:stretch}.toolbar .search{min-width:100%}.toolbar .btn,.toolbar>.ui-select{flex:1}.filter-panel,.events-filters{grid-template-columns:1fr}.filter-actions{justify-content:stretch}.filter-actions>*{flex:1}.table-panel{background:0 0;border:0;overflow:visible}.responsive-table,.responsive-table tbody{display:block}.responsive-table thead{display:none}.responsive-table tr{margin-bottom:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.responsive-table td{border:0;flex-direction:column;gap:2px;min-width:0;padding:0;display:flex}.responsive-table td:before{content:attr(data-label);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:650}.responsive-table td:empty{display:none}.responsive-table .recipe-cell,.responsive-table .comment-cell{min-width:0;max-width:none}.responsive-table td:last-child{justify-content:end;align-items:flex-end}.warning-row td,.attention-row td{background:0 0}.attention-row,.warning-row{border-color:color-mix(in oklab, var(--warn), transparent 35%)!important}.attention-row td:first-child,.warning-row td:first-child{box-shadow:none}.pagination{padding:var(--space-3);flex-wrap:wrap;justify-content:space-between}.pagination label{display:none}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section{padding:var(--space-4)}.editable-table{border:0;overflow:visible}.editable-head{display:none}.editable-row{min-width:0;margin-bottom:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:28px 1fr 1fr 28px;display:grid}.editable-row>:nth-child(2),.editable-row>:nth-child(5),.editable-row>:nth-child(6){grid-column:span 2}.upload{align-items:flex-start}.recipe-preview{width:88px}.nutrition{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-save{min-height:104px;padding:8px var(--container-gutter-phone);flex-direction:column;align-items:stretch}.sticky-save>div:first-child{justify-content:center}.sticky-save>div:last-child{grid-template-columns:1fr 1fr;display:grid}.sticky-save .btn:first-child{display:none}.collection-grid{grid-template-columns:1fr}.collection-card{min-height:174px}.notice,.api-error{flex-direction:column;align-items:flex-start}.dish-card{grid-template-columns:28px 56px minmax(0,1fr)}.dish-card .recipe-thumb{width:56px;height:56px}.dish-remove{grid-column:3;justify-self:end}.dish-title{flex-direction:column}.dish-facts{flex-wrap:wrap}.recipe-picker{flex-direction:column;width:100%}.future-chart{grid-template-columns:1fr}.survey-question-head{flex-direction:column}.login-panel{padding:var(--space-4)}.login-card{padding:var(--space-5);box-shadow:none}.settings-list article{flex-direction:column}.settings-list article>div:last-child,.settings-list .tag-list{align-items:flex-start}.toast{right:var(--container-gutter-phone);bottom:var(--container-gutter-phone);left:var(--container-gutter-phone);min-width:0}}@media (width<=420px){.metrics-grid,.stats-group .metrics-grid{gap:var(--space-2);grid-template-columns:1fr 1fr}.metric-card{padding:var(--space-3)}.metric-value{font-size:20px}.check-grid,.responsive-table tr{grid-template-columns:1fr}.responsive-table td:last-child{align-items:stretch}.header-actions{flex-wrap:wrap}.header-actions .btn{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.api-error.compact{margin:var(--space-3) 0 0}.empty-state{min-height:220px;padding:var(--space-8);align-content:center;place-items:center;gap:var(--space-2);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg);text-align:center;display:grid}.empty-state h2,.empty-state p{margin:0}.empty-state p{max-width:56ch;color:var(--muted)}.empty-mark{background:var(--surface-warm);width:48px;height:48px;color:var(--muted);font-family:var(--font-mono);border-radius:50%;place-items:center;display:grid}.skeleton-rows{padding:var(--space-4);gap:var(--space-3);display:grid}.skeleton-rows i{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-warm), var(--border-soft), var(--surface-warm));background-size:200% 100%;height:48px;animation:1.4s linear infinite skeleton-wave;display:block}@keyframes skeleton-wave{to{background-position:-200% 0}}.tag-list{flex-wrap:wrap;gap:5px;display:flex}.read-list{gap:var(--space-2);display:grid}.read-list>div,.definition-rows>div{padding:var(--space-3) 0;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--border-soft);display:flex}.read-list span,.definition-rows dt{color:var(--muted)}.definition-rows,.definition-rows dt,.definition-rows dd{margin:0}.safe-json{max-height:520px;padding:var(--space-4);border-radius:var(--radius-md);background:var(--fg);color:var(--accent-on);font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;overflow:auto}.ingredient-edit-row{margin-bottom:var(--space-2);gap:var(--space-2);grid-template-columns:1.5fr .7fr .7fr 1fr 34px;display:grid}.ingredient-edit-row input{min-width:0}.recipe-preview{overflow:hidden}.recipe-preview img{object-fit:cover;width:100%;height:100%}@media (width<=720px){.definition-rows>div,.read-list>div{flex-direction:column;align-items:flex-start;gap:3px}.ingredient-edit-row{grid-template-columns:1fr 1fr 34px}.ingredient-edit-row input:first-child,.ingredient-edit-row input:nth-child(4){grid-column:span 2}}.collection-filter{grid-template-columns:minmax(260px,1fr) auto;align-items:end}.field-error{color:var(--danger);font-size:var(--text-sm);grid-column:1/-1;margin:0}.dish-card .substitutions{margin-top:var(--space-3);align-items:stretch;gap:var(--space-2);display:grid}.substitution-edit{align-items:center;gap:var(--space-2);grid-template-columns:112px minmax(0,1fr) 30px;display:grid}.substitution-edit input,.substitution-add input{min-width:0}.substitution-edit span{color:var(--muted);font-size:var(--text-xs)}.substitution-edit button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:30px;height:30px;color:var(--muted)}.substitution-add{gap:var(--space-2);grid-template-columns:minmax(120px,180px) auto;display:grid}@media (width<=720px){.collection-filter,.substitution-add{grid-template-columns:1fr}.substitution-edit{grid-template-columns:92px minmax(0,1fr) 30px}}.broadcast-page,.broadcast-history{gap:var(--space-5);display:grid}.broadcast-compose{max-width:960px}.broadcast-fields{gap:var(--space-4);border:0;min-width:0;margin:0;padding:0;display:grid}.broadcast-target{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.broadcast-actions,.broadcast-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.broadcast-actions{margin-top:var(--space-4)}.broadcast-row>.badge{margin-left:auto}.broadcast-message{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-warm)}.broadcast-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.broadcast-progress{margin:var(--space-4) 0}.broadcast-progress progress{width:100%;height:10px;accent-color:var(--accent);margin:var(--space-2) 0}.broadcast-counts{gap:var(--space-2) var(--space-4);color:var(--muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.broadcast-history-item.is-selected{border-color:var(--accent)}.broadcast-detail{margin-top:var(--space-4);border-top:1px solid var(--border);padding-top:var(--space-4)}.broadcast-filter{max-width:340px;margin-bottom:var(--space-4)}.broadcast-table-scroll{overflow-x:auto}.broadcast-notice{color:var(--success)}.broadcast-page .field-error{margin-top:var(--space-4)}.broadcast-message-list,.broadcast-message-card,.broadcast-sequence{gap:var(--space-4);display:grid}.broadcast-message-card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0}.broadcast-message-tools{gap:var(--space-2);margin-left:auto;display:flex}.broadcast-photo{object-fit:contain;border-radius:var(--radius-md);width:auto;max-width:100%;max-height:320px;margin:var(--space-3) 0;display:block}.broadcast-photo-list{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.broadcast-photo-item{align-content:start;justify-items:start;gap:var(--space-2);min-width:0;display:grid}.broadcast-photo-list .broadcast-photo{width:100%;height:180px;margin:0}.broadcast-sequence{margin:var(--space-4) 0;padding:0;list-style:none}.broadcast-sequence>li{min-width:0}.broadcast-message-card input[type=file]{max-width:100%}.broadcast-button-toggle{align-items:center;gap:var(--space-2);font-weight:600;display:flex}.broadcast-button-toggle input{width:auto;accent-color:var(--accent)}.broadcast-link-preview{justify-items:start;gap:var(--space-2);margin-top:var(--space-3);overflow-wrap:anywhere;display:grid}@media (width<=700px){.broadcast-target{grid-template-columns:1fr}.broadcast-page .panel{min-width:0}}.brand,.nav-item{text-decoration:none}.generation-workspace{gap:24px;min-width:0;display:grid}.generation-entry{margin-bottom:16px}.generation-setup fieldset{border:0;margin:16px 0;padding:0}.generation-setup legend{margin-bottom:12px;font-weight:600}.generation-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.generation-categories label,.generation-select{align-items:center;gap:8px;font-size:14px;display:flex}.generation-categories input,.generation-select input{flex:none;width:17px;height:17px}.generation-launch{align-items:end;gap:24px;margin:20px 0;display:flex}.generation-launch .field{max-width:280px}.generation-filters{grid-template-columns:2fr 2fr 1fr 1fr;gap:12px;display:grid}.generation-filters select{border:1px solid var(--border,#ddd);background:var(--panel,#fff);width:100%;font:inherit;border-radius:8px;min-width:0;padding:10px}.generation-summary,.generation-metrics{flex-wrap:wrap;gap:12px 24px;margin:18px 0;font-size:14px;display:flex}.generation-publish-bar{border-top:1px solid var(--border,#ddd);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;display:flex}.generation-publish-bar .btn-primary{margin-left:auto}.generation-draft-list{gap:20px;display:grid}.generation-draft{border:1px solid var(--border,#ddd);border-radius:12px;min-width:0;padding:20px}.generation-draft header,.generation-draft footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.generation-draft h3{margin:0;font-size:17px}.generation-draft footer{justify-content:flex-start;margin-top:18px}.generation-draft details{margin-top:16px}.generation-draft summary,.generation-deficits summary{cursor:pointer;font-weight:600}.generation-recipes{padding-left:24px}.generation-recipes>li{margin-top:18px}.generation-recipe{overflow-wrap:anywhere;gap:6px;padding:10px 0;display:grid}.generation-recipe p{margin:0;font-size:13px;line-height:1.6}.generation-recipe a{text-underline-offset:3px;font-weight:600;text-decoration:underline}.generation-alternatives{border-left:3px solid #e1e6df;margin-top:8px;padding-left:16px}.generation-shared{font-size:14px;line-height:1.6}.generation-notice{color:#28543b;background:#edf5ee;border-radius:10px;padding:16px}.generation-stale,.generation-deficits{color:#6f520b;background:#fff5db;border-radius:8px;padding:12px}.generation-empty{text-align:center;padding:32px 0}.generation-pagination{justify-content:center;align-items:center;gap:16px;margin-top:24px;display:flex}@media (width<=760px){.generation-categories,.generation-filters{grid-template-columns:1fr}.generation-launch{flex-direction:column;align-items:stretch}.generation-launch .field{max-width:none}.generation-draft{padding:14px}.generation-publish-bar .btn-primary{margin-left:0}}
