@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plus-jakarta-sans-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plus-jakarta-sans-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f7f3ec;--bg-elevated:#fffcf7;--sidebar-bg:#2a2826;--sidebar-fg:#f0ebe3;--text:#2a2826;--text-muted:#7a736a;--border:#e8e0d4;--accent:#2f6f98;--accent-2:#3f8f6f;--accent-soft:#2f6f9814;--accent-contrast:#fff;--link:#0f9b8e;--positive:#34785d;--positive-soft:#34785d1f;--negative:#c45c4a;--negative-soft:#c45c4a1f;--shadow-color:42, 40, 38;--shadow-xs:0 1px 2px rgba(var(--shadow-color), .05);--shadow-sm:0 1px 2px rgba(var(--shadow-color), .05), 0 3px 8px rgba(var(--shadow-color), .045);--card-shadow:0 1px 2px rgba(var(--shadow-color), .05), 0 4px 10px rgba(var(--shadow-color), .035), 0 16px 32px -12px rgba(var(--shadow-color), .09);--card-shadow-hover:0 2px 4px rgba(var(--shadow-color), .06), 0 8px 18px rgba(var(--shadow-color), .06), 0 24px 48px -16px rgba(var(--shadow-color), .14);--inset-highlight:inset 0 1px 0 #ffffff80;--radius:12px;--radius-sm:8px;--ease-out:cubic-bezier(.16, 1, .3, 1);--font:"Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--content-max:1180px;--space-page:clamp(16px, 3vw, 32px)}:root[data-theme=dark]{--bg:#1a1917;--bg-elevated:#242220;--sidebar-bg:#121110;--sidebar-fg:#ece8e2;--text:#f0ebe3;--text-muted:#a39d94;--border:#3a3632;--accent:#65a9d1;--accent-2:#5fbf97;--accent-soft:#65a9d11a;--accent-contrast:#0f1a16;--link:#4fd8c4;--positive:#5fbf97;--positive-soft:#5fbf971f;--negative:#e07a6a;--negative-soft:#e07a6a1f;--shadow-color:0, 0, 0;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #00000059, 0 4px 10px #00000040;--card-shadow:0 1px 2px #0000004d, 0 6px 16px #00000047, 0 24px 48px -16px #00000073;--card-shadow-hover:0 2px 4px #00000059, 0 10px 24px #00000059, 0 32px 64px -16px #0000008c;--inset-highlight:inset 0 1px 0 #ffffff0a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--bg:#1a1917;--bg-elevated:#242220;--sidebar-bg:#121110;--sidebar-fg:#ece8e2;--text:#f0ebe3;--text-muted:#a39d94;--border:#3a3632;--accent:#65a9d1;--accent-2:#5fbf97;--accent-soft:#65a9d11a;--accent-contrast:#0f1a16;--link:#4fd8c4;--positive:#5fbf97;--positive-soft:#5fbf971f;--negative:#e07a6a;--negative-soft:#e07a6a1f;--shadow-color:0, 0, 0;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #00000059, 0 4px 10px #00000040;--card-shadow:0 1px 2px #0000004d, 0 6px 16px #00000047, 0 24px 48px -16px #00000073;--card-shadow-hover:0 2px 4px #00000059, 0 10px 24px #00000059, 0 32px 64px -16px #0000008c;--inset-highlight:inset 0 1px 0 #ffffff0a}}*{box-sizing:border-box}html,body{height:100%;margin:0}body.nav-open{overflow:hidden}body{font-family:var(--font);background:radial-gradient(1100px 520px at 8% -8%, var(--accent-soft), transparent 60%), radial-gradient(900px 480px at 100% 0%, #3f8f6f0f, transparent 55%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;line-height:1.5;transition:background-color .25s,color .25s}a{color:var(--link);transition:opacity .15s var(--ease-out)}a:hover{opacity:.8}.app{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:clamp(220px,24vw,250px);color:var(--sidebar-fg);flex-direction:column;flex-shrink:0;height:100dvh;padding:22px 16px;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-scroll{-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.brand{align-items:center;gap:10px;padding:4px 8px 22px;display:flex}.brand-mark{font-size:26px;line-height:1}.brand-text{letter-spacing:-.01em;font-size:17px;font-weight:700}.brand-text span{opacity:.65;font-size:11px;font-weight:500;display:block}.nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-item{border-radius:var(--radius-sm);color:inherit;opacity:.8;touch-action:pan-y;cursor:pointer;text-align:left;width:100%;transition:transform .15s var(--ease-out), background .18s var(--ease-out), opacity .18s var(--ease-out);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{opacity:1;background:#ffffff0f;transform:translate(2px)}.nav-item.is-active{background:var(--accent);color:var(--accent-contrast);opacity:1;box-shadow:0 4px 14px -2px #2f6f9880}.nav-item.is-active:hover{transform:none}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.nav-icon svg{width:16px;height:16px}.sidebar-footer{border-top:1px solid #ffffff1a;padding-top:12px}.theme-switch{border-radius:var(--radius-sm);background:#ffffff0f;gap:4px;padding:3px;display:flex}.theme-switch-option{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:6px 0;font-size:13px}.theme-switch-option.is-active{opacity:1;background:#ffffff26}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{padding:18px var(--space-page);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar h1{margin:0;font-size:19px}.topbar p{color:var(--text-muted);margin:2px 0 0;font-size:13px}.mobile-menu-btn{border:1px solid var(--border);background:var(--bg-elevated);border-radius:var(--radius-sm);cursor:pointer;width:38px;height:38px;box-shadow:var(--shadow-xs);transition:transform .15s var(--ease-out), box-shadow .2s var(--ease-out);justify-content:center;align-items:center;font-size:18px;display:none}.mobile-menu-btn:active{transform:scale(.94)}.sidebar-overlay{z-index:20;opacity:0;visibility:hidden;background:#0006;transition:opacity .2s ease-out,visibility 0s linear .2s;position:fixed;inset:0}.sidebar-overlay.is-visible{opacity:1;visibility:visible;transition:opacity .2s ease-out}body.nav-dragging{-webkit-user-select:none;user-select:none}body.nav-dragging .sidebar,body.nav-dragging .sidebar-overlay{transition:none}@media (width<=900px){.sidebar{z-index:30;transition:transform .2s ease-out;position:fixed;top:0;left:0;transform:translate(-100%)}body.nav-open .sidebar{transform:translate(0)}.mobile-menu-btn{display:flex}.nav{gap:0}.nav-item{padding:7px 12px}.sidebar-footer{padding-top:8px}}.content{padding:var(--space-page);max-width:var(--content-max);flex:1;width:100%;margin:0 auto}.admin-shell{--content-max:1320px}.admin-shell .sidebar{width:clamp(235px,21vw,270px)}.admin-brand-mark{color:#8bc9ee;background:#65a9d129;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.admin-brand-mark svg{width:20px}.admin-topbar{gap:18px}.admin-topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.admin-nav-section+.admin-nav-section{margin-top:22px}.admin-nav-label{color:inherit;letter-spacing:.09em;opacity:.45;text-transform:uppercase;padding:0 12px 7px;font-size:10px;font-weight:700;display:block}.admin-breadcrumb{color:var(--text-muted);letter-spacing:.01em;margin-bottom:3px;font-size:11px;font-weight:600}.admin-breadcrumb span{opacity:.65;margin:0 5px}.admin-topbar-status{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);box-shadow:var(--shadow-xs);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:600;display:inline-flex}.admin-search{border:1px solid var(--border);background:var(--bg-elevated);min-width:min(420px,100%);box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:flex;position:relative}.admin-search>svg{color:var(--text-muted);flex-shrink:0}.admin-search input{box-shadow:none;background:0 0;border:0;min-width:220px}.admin-search input:focus{outline:none}.admin-search-results{border:1px solid var(--border);background:var(--bg-elevated);width:min(520px,94vw);max-height:min(70vh,680px);box-shadow:var(--shadow-lg);z-index:25;border-radius:18px;padding:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.admin-search-group+.admin-search-group{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.admin-search-group-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800}.admin-search-row{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.admin-search-row:hover{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 20%, var(--border))}.admin-search-row strong{font-size:13px}.admin-search-row small{color:var(--text-muted);font-size:11px}.admin-back-link{justify-content:center;margin:9px 0 0;font-size:10.5px;display:flex}.admin-back-link a{color:inherit;align-items:center;gap:4px;display:inline-flex}.admin-dashboard{flex-direction:column;gap:28px;display:flex}.admin-welcome-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(115deg, var(--bg-elevated), var(--accent-soft));box-shadow:var(--card-shadow), var(--inset-highlight);justify-content:space-between;align-items:center;gap:22px;padding:clamp(22px,4vw,34px);display:flex}.admin-eyebrow{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;font-size:10.5px;font-weight:800;display:inline-block}.admin-welcome-card h2,.admin-section-heading h2{letter-spacing:-.03em;margin:0;font-size:21px}.admin-welcome-card p{max-width:620px;color:var(--text-muted);margin:8px 0 0;font-size:13px}.admin-attention{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);min-width:285px;color:var(--positive);align-items:center;gap:10px;padding:12px;display:flex}.admin-attention.is-warning{color:var(--negative);background:var(--negative-soft);border-color:color-mix(in srgb, var(--negative) 25%, var(--border))}.admin-attention div{flex-direction:column;flex:1;display:flex}.admin-attention strong{color:var(--text);font-size:12px}.admin-attention span{color:var(--text-muted);font-size:11px}.admin-section-heading{justify-content:space-between;align-items:end;margin-bottom:12px;display:flex}.admin-section-heading .admin-eyebrow{margin-bottom:1px}.admin-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.admin-metric-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);min-height:132px;color:var(--text);box-shadow:var(--shadow-xs), var(--inset-highlight);text-align:left;flex-direction:column;align-items:flex-start;padding:17px;display:flex;position:relative}button.admin-metric-card{cursor:pointer;transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), transform .18s var(--ease-out)}button.admin-metric-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.admin-metric-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:8px;place-items:center;display:grid}.admin-metric-icon.is-positive{background:var(--positive-soft);color:var(--positive)}.admin-metric-icon.is-warning{background:var(--negative-soft);color:var(--negative)}.admin-metric-value{letter-spacing:-.04em;margin-top:14px;font-size:26px;font-weight:750;line-height:1}.admin-metric-label{color:var(--text-muted);margin-top:6px;font-size:12px;font-weight:600}.admin-metric-arrow{color:var(--text-muted);position:absolute;bottom:16px;right:15px}.admin-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.admin-quick-actions .admin-section-heading{grid-column:1/-1;margin-bottom:0}.admin-health-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-health-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);min-height:110px;box-shadow:var(--shadow-xs), var(--inset-highlight);color:var(--text);text-align:left;flex-direction:column;justify-content:space-between;padding:18px;display:flex}.admin-health-card span{color:var(--text-muted);font-size:12px;font-weight:600}.admin-health-card strong{letter-spacing:-.04em;font-size:24px}.admin-health-action{cursor:pointer;transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out)}.admin-health-action:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.admin-action-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);cursor:pointer;text-align:left;box-shadow:var(--shadow-xs), var(--inset-highlight);transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);align-items:center;gap:11px;padding:15px;display:flex}.admin-action-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.admin-action-card>svg:first-child{color:var(--accent);flex-shrink:0}.admin-action-card>span{flex-direction:column;flex:1;min-width:0;display:flex}.admin-action-card strong{font-size:13px}.admin-action-card small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.admin-action-card>svg:last-child{color:var(--text-muted)}.admin-list-page{padding:0;overflow:hidden}.admin-list-page .card-header-row{border-bottom:1px solid var(--border);margin:0;padding:18px}.admin-list-page .card-header-row h3{font-size:17px}.admin-count-badge{background:var(--accent-soft);min-width:22px;height:22px;color:var(--accent);vertical-align:2px;border-radius:999px;place-items:center;margin-left:5px;padding:0 6px;font-size:11px;display:inline-grid}.admin-list-meta{border-bottom:1px solid var(--border);color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:9px 18px;font-size:10px;font-weight:800;display:grid}.admin-list-page .item-list{margin:0}.admin-data-list .item-row{border-radius:0;padding:14px 18px}.admin-data-list .item-row:hover{background:var(--accent-soft)}.admin-filter-row{flex-wrap:wrap;gap:8px;padding:12px 18px 0;display:flex}.admin-filter-row-status{padding-bottom:12px}.admin-row-highlighted{border-color:color-mix(in srgb, var(--accent) 35%, var(--border))!important;background:linear-gradient(135deg, var(--accent-soft), transparent)!important}.admin-canon-page{gap:18px;display:grid}.canon-run-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.canon-progress-bar{background:var(--accent-soft);border-radius:999px;height:8px;margin-bottom:10px;overflow:hidden}.canon-progress-bar span{background:var(--accent);height:100%;transition:width .4s var(--ease-out);border-radius:999px;display:block}.canon-progress-text{margin:0 0 4px;font-size:13.5px;font-weight:600}.canon-run-active .hint{margin-bottom:12px}.canon-source-chip.is-seed{background:var(--positive-soft);color:var(--positive)}.canon-source-chip.is-reviewed{background:var(--accent-soft);color:var(--accent)}.canon-source-chip.is-generated{background:var(--negative-soft);color:var(--negative)}.admin-data-list .canon-dish-row{display:block}.canon-dish-head{align-items:flex-start;gap:14px;display:flex}.canon-notes{color:var(--negative);margin:6px 0 0;padding-left:16px;font-size:12px}.canon-complaint-flag{color:var(--negative);font-weight:700}.suggestion-why{color:var(--text-muted);margin:6px 0 0;font-size:12.5px}.suggestion-advanced-toggle{border-style:dashed;margin:10px 0}.answer-card{padding:22px 24px}.answer-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.answer-eyebrow{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.answer-question{color:var(--text-muted);margin:4px 0 0;font-size:19px;font-weight:600}.answer-streak{background:var(--negative-soft);color:var(--negative);white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.answer-body{margin-top:16px}.answer-dish{letter-spacing:-.02em;margin:0;font-size:clamp(24px,4vw,34px);font-weight:800;line-height:1.15}.answer-description{color:var(--text-muted);margin:8px 0 0;font-size:14.5px}.answer-why{color:var(--text-muted);margin:8px 0 0;font-size:13.5px}.answer-badges{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.answer-why-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.answer-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.answer-secondary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.answer-version{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0;display:flex}.nav-section{flex-direction:column;gap:2px;margin-bottom:14px;display:flex}.nav-section-label{color:var(--sidebar-fg);opacity:.45;letter-spacing:.08em;text-transform:uppercase;padding:0 12px 5px;font-size:10px;font-weight:800}.suggestion-relaxed-note{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);margin:12px 0 0;padding:9px 12px;font-size:12.5px;font-weight:600}.recipe-note{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text-muted);margin:10px 0 0;padding:8px 11px;font-size:12.5px;line-height:1.45}.canon-auto-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding-top:16px;display:flex}.canon-add-block{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.canon-add-block textarea{resize:vertical;width:100%;min-height:76px}.canon-edit-form{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 12px;margin-top:14px;padding-top:14px;display:grid}.canon-edit-form .canon-field-wide{grid-column:1/-1}.canon-edit-actions{grid-column:1/-1;margin-top:4px}@media (width<=620px){.canon-dish-head{flex-direction:column}}.admin-inline-fields{grid-template-columns:minmax(0,2fr) minmax(120px,1fr) 120px auto;align-items:end;gap:10px;margin-bottom:14px;display:grid}.admin-insights,.admin-feedback-page{flex-direction:column;gap:14px;display:flex}.admin-insight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.admin-insight-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-elevated) 88%, white), var(--bg-elevated));min-height:106px;box-shadow:var(--shadow-xs), var(--inset-highlight);flex-direction:column;justify-content:space-between;padding:16px;display:flex}.admin-insight-card strong{letter-spacing:-.04em;font-size:24px}.admin-insight-card span{color:var(--text-muted);font-size:12px;font-weight:600}.admin-summary-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent-soft);white-space:pre-wrap;margin-top:14px;padding:14px 16px}.admin-feedback-row{align-items:flex-start;gap:14px;display:flex}.admin-feedback-meta{color:var(--text-muted);flex-wrap:wrap;gap:8px;margin-bottom:8px;font-size:11px;font-weight:600;display:flex}.admin-feedback-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-status-chip{border:1px solid var(--border);background:var(--bg)}.admin-status-chip.is-neu{background:color-mix(in srgb, var(--accent-soft) 70%, white)}.admin-status-chip.is-gelesen{background:#edeaff}.admin-status-chip.is-erledigt{background:color-mix(in srgb, var(--positive-soft) 80%, white)}.admin-records-card .card-header-row{margin-bottom:6px}.admin-records-card h3{margin-bottom:0}.admin-records-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.admin-record-group{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.admin-record-group summary{cursor:pointer;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.admin-record-group summary span{background:var(--accent-soft);min-width:20px;height:20px;color:var(--accent);border-radius:999px;place-items:center;font-size:10px;display:inline-grid}.admin-record-group>.hint{padding:0 12px}.admin-record-group .item-list{border-top:1px solid var(--border);margin:0}.admin-record-group .item-row{padding:8px 10px;font-size:12px}.admin-record-group .item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=900px){.admin-shell .sidebar{width:min(270px,86vw)}.admin-topbar-status{display:none}.admin-topbar{flex-wrap:wrap}.admin-topbar-actions{justify-content:stretch;width:100%;min-width:0}.admin-search{width:100%;min-width:0}.admin-welcome-card{flex-direction:column;align-items:stretch}.admin-attention{min-width:0}.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-quick-actions{grid-template-columns:1fr}.admin-health-grid,.admin-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-inline-fields{grid-template-columns:1fr 1fr}}@media (width<=520px){.admin-metric-grid{grid-template-columns:1fr 1fr}.admin-metric-card{min-height:118px}.admin-list-meta{display:none}.admin-list-page .card-header-row{align-items:stretch}.admin-list-page .card-header-row input{width:100%;max-width:none!important}.admin-health-grid,.admin-insight-grid,.admin-inline-fields{grid-template-columns:1fr}.admin-feedback-row{flex-direction:column}}.view{display:none}.view.is-active{display:block}.section-title{margin:28px 0 12px;font-size:15px;font-weight:700}.section-title:first-child{margin-top:0}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-shadow), var(--inset-highlight);transition:box-shadow .25s var(--ease-out), transform .25s var(--ease-out), border-color .25s var(--ease-out);padding:18px}.card h3{margin:0 0 10px;font-size:15px}.card-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.card-header-row h3{margin:0}.hint{color:var(--text-muted);margin:0 0 10px;font-size:13px}.empty-hint{color:var(--text-muted);text-align:center;padding:16px 0;font-size:13px}.empty-state{text-align:center;padding:30px 16px}.empty-state-icon{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.empty-state-title{margin:0 0 4px;font-size:14.5px;font-weight:700}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .15s var(--ease-out), box-shadow .2s var(--ease-out), border-color .2s var(--ease-out), filter .2s var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13.5px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:active{box-shadow:var(--shadow-xs);transform:scale(.96)translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn.is-on{background:var(--negative);border-color:var(--negative);color:#fff;animation:1.2s ease-in-out infinite pulse-record}@keyframes pulse-record{0%,to{opacity:1}50%{opacity:.6}}.btn-primary{background:linear-gradient(155deg, var(--accent), color-mix(in srgb, var(--accent) 78%, black));border-color:var(--accent);color:var(--accent-contrast);box-shadow:0 2px 6px -1px #2f6f9866, var(--shadow-xs)}.btn-primary:hover{filter:brightness(1.08);box-shadow:0 4px 14px -2px #2f6f9880, var(--shadow-sm)}.btn-ghost{color:var(--text-muted);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--negative);border-color:var(--negative);box-shadow:none;transform:none}.btn-sm{padding:5px 10px;font-size:12.5px}.btn-block{width:100%}.btn-danger{border-color:var(--negative);color:var(--negative);background:var(--bg-elevated)}.btn-danger:hover{background:var(--negative-soft)}.btn-danger:disabled{opacity:.5}.danger-zone{border-color:color-mix(in srgb, var(--negative) 30%, var(--border))}.danger-zone h3{color:var(--negative);margin:0 0 4px;font-size:14px}.form-row{margin-bottom:12px}.form-row label{color:var(--text-muted);margin-bottom:5px;font-size:12.5px;font-weight:600;display:block}.form-row input,.form-row select,.form-row textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);padding:9px 11px;font-family:inherit;font-size:14px}.form-row textarea{resize:vertical;min-height:70px}.inline-form{flex-wrap:wrap;gap:8px;display:flex}.inline-form input{flex:1;min-width:100px}.segmented-control{border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;max-width:100%;display:inline-flex;overflow:hidden}.segmented-option{border:none;border-right:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;padding:7px 14px;font-size:13px;font-weight:600}.segmented-option:last-child{border-right:none}.segmented-option{transition:background .18s var(--ease-out), color .18s var(--ease-out)}.segmented-option.is-active{background:var(--accent);color:var(--accent-contrast)}.switch{background:var(--border);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:38px;height:22px;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s ease-out;position:absolute;top:2px;left:2px}.switch.is-on{background:var(--accent)}.switch.is-on:after{transform:translate(16px)}.switch-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.switch-row .switch-label{font-size:13.5px}.tag-input-wrap{position:relative}.tag-list{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tag-chip{border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.tag-chip.is-liked{background:var(--positive-soft);color:var(--positive)}.tag-chip.is-disliked{background:var(--negative-soft);color:var(--negative)}.tag-chip{transition:transform .15s var(--ease-out)}.tag-chip button{color:inherit;cursor:pointer;opacity:.7;transition:opacity .15s var(--ease-out);background:0 0;border:none;padding:0;font-size:13px;line-height:1}.tag-chip button:hover{opacity:1}.checkbox-pill-list{flex-wrap:wrap;gap:6px;display:flex}.wizard-answer-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.wizard-answer-grid .btn{width:100%}.wizard-answer-wide{grid-column:1/-1}.wizard-mode-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);width:100%;color:var(--text);text-align:left;cursor:pointer;flex-direction:column;gap:3px;margin-top:10px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.wizard-mode-card:hover{border-color:var(--accent);background:var(--accent-soft)}.wizard-mode-title{font-size:15px;font-weight:700}.wizard-mode-time{color:var(--accent);font-size:12px;font-weight:700}.wizard-mode-text{color:var(--text-muted);margin-top:3px;font-size:12.5px;line-height:1.45}.wizard-progress-bar{background:var(--border);border-radius:6px;height:6px;margin-bottom:10px;overflow:hidden}.wizard-progress-bar>div{background:var(--accent);height:100%;transition:width .2s}.wizard-dish-image{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:160px;margin-top:10px}.checkbox-pill{border:1px solid var(--border);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .18s var(--ease-out), background .18s var(--ease-out), color .18s var(--ease-out), transform .15s var(--ease-out);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.checkbox-pill:hover{transform:translateY(-1px)}.checkbox-pill:has(input:checked){background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.checkbox-pill input{accent-color:var(--accent)}.item-list{flex-direction:column;gap:6px;display:flex}.item-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .2s var(--ease-out);align-items:center;gap:10px;padding:9px 12px;display:flex}.item-row:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));box-shadow:var(--shadow-xs)}.item-row .item-name{flex:1;font-size:14px;font-weight:600}.item-row .item-qty{color:var(--text-muted);font-size:13px}.item-row.is-checked .item-name{color:var(--text-muted);text-decoration:line-through}.item-row .remove-btn{color:var(--text-muted);cursor:pointer;transition:color .15s var(--ease-out), transform .15s var(--ease-out);background:0 0;border:none;padding:2px 4px;font-size:15px}.item-row .remove-btn:hover{color:var(--negative);transform:scale(1.15)}.category-group{margin-bottom:16px}.category-title{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin:0 0 8px;font-size:12.5px;font-weight:700}.suggestion-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);transition:border-color .2s var(--ease-out), box-shadow .25s var(--ease-out), transform .25s var(--ease-out);flex-direction:column;gap:8px;padding:14px;display:flex}.suggestion-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}.suggestion-card h4{margin:0;font-size:14.5px}.suggestion-card p{color:var(--text-muted);margin:0;font-size:13px}.fridge-badge{color:var(--positive);background:var(--positive-soft);border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.day-card{flex-direction:column;gap:10px;display:flex}.day-card .day-label{font-size:13.5px;font-weight:700}.meal-slot{border:1px dashed var(--border);border-radius:var(--radius-sm);transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .15s var(--ease-out);padding:10px}.meal-slot .meal-slot-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.03em;font-size:11.5px;font-weight:700}.meal-slot .meal-dish{margin:2px 0;font-size:14px;font-weight:600}.meal-slot.is-filled{cursor:grab;box-shadow:var(--shadow-xs);border-style:solid}.meal-slot.is-filled:hover{box-shadow:var(--shadow-sm);border-color:color-mix(in srgb, var(--accent) 35%, var(--border));transform:translateY(-1px)}.meal-slot.is-filled:active{cursor:grabbing}.meal-slot.is-drag-over{outline:2px dashed var(--accent);outline-offset:2px;transform:scale(1.015)}.cook-mode-shell{padding:8px 0 4px}.cook-progress{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:10px;font-size:12.5px;font-weight:700}.cook-step-text{min-height:100px;font-size:20px;font-weight:600;line-height:1.5}.recipe-box{border-top:1px solid var(--border);margin-top:10px;padding-top:10px;font-size:13.5px}.recipe-box ol,.recipe-box ul{margin:6px 0;padding-left:20px}.recipe-box li{margin-bottom:3px}.calorie-badge{color:var(--accent);background:var(--accent-soft);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.meta-row{flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 6px;display:flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:10px;display:grid}.photo-thumb{border-radius:var(--radius-sm);aspect-ratio:1;border:1px solid var(--border);position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb .photo-uploader{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#0000008c;padding:2px 5px;font-size:10.5px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.photo-thumb .photo-remove-btn{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;width:20px;height:20px;font-size:12px;line-height:1;position:absolute;top:3px;right:3px}.photo-upload-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.photo-upload-row input[type=text]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);min-width:140px;color:var(--text);flex:1;padding:8px 10px;font-family:inherit;font-size:13.5px}.toast{background:var(--sidebar-bg);color:var(--sidebar-fg);border-radius:var(--radius-sm);opacity:0;pointer-events:none;box-shadow:var(--card-shadow-hover);transition:opacity .3s var(--ease-out), transform .35s var(--ease-out);z-index:150;max-width:90vw;padding:10px 18px;font-size:13.5px;position:fixed;bottom:20px;left:50%;transform:translate(-50%,16px)scale(.94)}.toast.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)scale(1)}.toast.is-error{background:var(--negative);color:#fff}.modal-overlay{-webkit-backdrop-filter:blur(3px);background:#14121073;position:fixed;inset:0}:root[data-theme=dark] .modal-overlay{background:#0009}.spinner{border:2px solid #ffffff59;border-top-color:currentColor;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.login-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{width:100%;max-width:380px}.login-card .brand{justify-content:center;margin-bottom:20px}.login-card .form-row{margin-bottom:14px}.login-card .btn{width:100%;margin-top:4px}.form-message{min-height:18px;margin-top:10px;font-size:13px;display:block}.form-message.is-error{color:var(--negative)}.form-message.is-ok{color:var(--positive)}.legal-shell{justify-content:center;min-height:100vh;padding:40px 20px;display:flex}.legal-card{width:100%;max-width:640px;height:fit-content}.legal-card h1{margin:0 0 16px;font-size:20px}.legal-card h2{margin:20px 0 8px;font-size:14.5px}.legal-card p,.legal-card li{color:var(--text-muted);font-size:13.5px;line-height:1.6}.legal-card ul{margin:6px 0;padding-left:20px}.legal-placeholder-banner{background:var(--negative-soft);color:var(--negative);border-radius:var(--radius-sm);margin-bottom:18px;padding:10px 14px;font-size:12.5px;font-weight:600}.user-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);align-items:center;gap:10px;padding:9px 12px;display:flex}.user-row .user-email{flex:1;font-size:13.5px;font-weight:600}.user-row .user-name{color:var(--text-muted);font-size:12.5px}.current-user-row{opacity:.85;align-items:center;gap:8px;padding:8px 4px;font-size:12.5px;display:flex}.current-user-row .user-avatar{background:var(--accent);width:26px;height:26px;color:var(--accent-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.btn,.nav-item,.switch{transition:transform .15s ease-out}.btn:active,.nav-item:active,.switch:active{transform:scale(.97)}.btn:focus-visible,.form-row input:focus-visible,.form-row select:focus-visible,.form-row textarea:focus-visible{box-shadow:0 0 0 2px var(--bg-elevated), 0 0 0 4px var(--accent);outline:none}.form-row input,.form-row select,.form-row textarea{transition:box-shadow .15s}.taste-profile-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px;display:grid}.taste-profile-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);padding:11px 13px}.taste-profile-item span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:800;display:block}.taste-profile-item strong{margin-top:4px;font-size:14px;display:block}.taste-profile-wide{grid-column:1/-1}.taste-profile-gaps{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.taste-profile-gaps-title{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:800}.taste-profile-gaps ul{color:var(--text-muted);margin:6px 0 0;padding-left:18px;font-size:13px}.taste-profile-gaps li{margin-bottom:4px}
