@font-face{font-family:Satoshi;font-style:normal;font-weight:300 900;font-display:swap;src:url("./media/satoshi-variable-3E4WPFNK.woff2") format("woff2")}@font-face{font-family:Recia;font-style:normal;font-weight:300 700;font-display:swap;src:url("./media/recia-variable-5QGEPRDY.woff2") format("woff2")}@font-face{font-family:Phosphor;font-style:normal;font-weight:400;font-display:block;src:url("./media/phosphor-regular-MOBL2HVY.woff2") format("woff2")}@font-face{font-family:Phosphor-Fill;font-style:normal;font-weight:400;font-display:block;src:url("./media/phosphor-fill-FNVTWG44.woff2") format("woff2")}.ph{font-family:Phosphor;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;letter-spacing:normal;font-size:var(--icon-size, var(--icon-base));display:flex;align-items:center;justify-content:center;white-space:nowrap;direction:ltr;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ph-fill{font-family:Phosphor-Fill}.ph-arrow-clockwise:before{content:"\e036"}.ph-arrow-down:before{content:"\e03e"}.ph-arrow-elbow-up-right:before{content:"\e056"}.ph-arrow-right:before{content:"\e06c"}.ph-arrow-up:before{content:"\e08e"}.ph-basket:before{content:"\e964"}.ph-bell:before{content:"\e0ce"}.ph-book-open:before{content:"\e0e6"}.ph-bookmark-simple:before{content:"\e0ea"}.ph-bowl-food:before{content:"\eaa4"}.ph-broom:before{content:"\ec54"}.ph-calendar-blank:before{content:"\e10a"}.ph-camera-plus:before{content:"\ec58"}.ph-caret-down:before{content:"\e136"}.ph-caret-left:before{content:"\e138"}.ph-carrot:before{content:"\ed38"}.ph-chart-line:before{content:"\e154"}.ph-chart-line-up:before{content:"\e156"}.ph-chat-circle-text:before{content:"\e16e"}.ph-check:before{content:"\e182"}.ph-check-circle:before{content:"\e184"}.ph-check-square:before{content:"\e186"}.ph-chef-hat:before{content:"\ed8e"}.ph-circle-dashed:before{content:"\e602"}.ph-clock:before{content:"\e19a"}.ph-cooking-pot:before{content:"\e764"}.ph-copy:before{content:"\e1ca"}.ph-device-mobile:before{content:"\e1e0"}.ph-dots-three-vertical:before{content:"\e208"}.ph-envelope-simple-open:before{content:"\e21a"}.ph-eye:before{content:"\e220"}.ph-eye-slash:before{content:"\e224"}.ph-file-csv:before{content:"\eb1c"}.ph-fingerprint:before{content:"\e23e"}.ph-fire:before{content:"\e242"}.ph-floppy-disk:before{content:"\e248"}.ph-floppy-disk-back:before{content:"\eaf4"}.ph-fork-knife:before{content:"\e262"}.ph-funnel:before{content:"\e266"}.ph-funnel-x:before{content:"\e26c"}.ph-git-fork:before{content:"\e27e"}.ph-heart:before{content:"\e2a8"}.ph-image-square:before{content:"\e2cc"}.ph-info:before{content:"\e2ce"}.ph-key:before{content:"\e2d6"}.ph-link-simple:before{content:"\e2e6"}.ph-list:before{content:"\e2f0"}.ph-list-bullets:before{content:"\e2f2"}.ph-list-checks:before{content:"\eadc"}.ph-list-plus:before{content:"\e2f8"}.ph-lock-simple:before{content:"\e308"}.ph-magnifying-glass:before{content:"\e30c"}.ph-magnifying-glass-minus:before{content:"\e30e"}.ph-minus:before{content:"\e32a"}.ph-minus-circle:before{content:"\e32c"}.ph-note-pencil:before{content:"\e34c"}.ph-package:before{content:"\e390"}.ph-pencil-simple:before{content:"\e3b4"}.ph-plus:before{content:"\e3d4"}.ph-question:before{content:"\e3e8"}.ph-scan:before{content:"\ebb6"}.ph-shield-check:before{content:"\e40c"}.ph-shopping-cart-simple:before{content:"\e420"}.ph-sign-in:before{content:"\e428"}.ph-sign-out:before{content:"\e42a"}.ph-sort-ascending:before{content:"\e444"}.ph-spinner:before{content:"\e66a"}.ph-squares-four:before{content:"\e464"}.ph-star:before{content:"\e46a"}.ph-swap:before{content:"\e83c"}.ph-tag:before{content:"\e478"}.ph-text-aa:before{content:"\e6ee"}.ph-timer:before{content:"\e492"}.ph-trash:before{content:"\e4a6"}.ph-trend-up:before{content:"\e4ae"}.ph-user:before{content:"\e4c2"}.ph-user-minus:before{content:"\e4ce"}.ph-user-plus:before{content:"\e4d0"}.ph-users:before{content:"\e4d6"}.ph-warning:before{content:"\e4e0"}.ph-warning-circle:before{content:"\e4e2"}.ph-x:before{content:"\e4f6"}:root{--slate-0: #ffffff;--slate-50: #f7f8fa;--slate-100: #f1f4f7;--slate-200: #e2e9f0;--slate-500: #6a727b;--slate-600: #556475;--slate-900: #202c39;--slate-950: #0f1a26;--teal-100: #cef9f3;--teal-200: #a4efe5;--teal-300: #72dacd;--teal-400: #2ec4b6;--teal-500: #27a397;--teal-600: #1a8b80;--teal-700: #0d736a;--pink-100: #ffe8ea;--pink-500: #ef476f;--pink-600: #cd335b;--red-100: #fee9e6;--red-200: #fed2cd;--red-700: #b71920;--red-800: #94161a;--green-100: #daf8df;--green-200: #b6efc1;--green-700: #137738;--green-800: #10602d;--amber-100: #ffebd7;--amber-200: #ffd6ad;--amber-400: #ee9418;--amber-700: #895618;--blue-100: #dff2ff;--blue-200: #bde4ff;--blue-400: #3cb7fb;--blue-700: #1b6a95;--radius-1: 4px;--radius-2: 8px;--radius-3: 12px;--shadow-1: 0 4px 6px -1px color-mix(in srgb, var(--slate-900) 10%, transparent), 0 2px 4px -1px color-mix(in srgb, var(--slate-900) 6%, transparent);--shadow-2: 0 10px 15px -3px color-mix(in srgb, var(--slate-900) 10%, transparent), 0 4px 6px -2px color-mix(in srgb, var(--slate-900) 5%, transparent);--shadow-3: 0 25px 50px -12px color-mix(in srgb, var(--slate-900) 25%, transparent);--duration-60: 60ms;--duration-150: .15s;--duration-200: .2s;--duration-250: .25s;--duration-300: .3s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-snappy: cubic-bezier(.16, 1, .3, 1);--ease-overshoot: cubic-bezier(.175, .885, .32, 1.275)}:root{--color-action: var(--teal-400);--color-action-hover: var(--teal-500);--color-action-text: var(--teal-700);--color-action-secondary: var(--teal-600);--color-action-subtle: var(--teal-100);--color-brand: var(--pink-500);--color-brand-hover: var(--pink-600);--color-brand-subtle: var(--pink-100);--color-bg: var(--slate-50);--color-surface: var(--slate-0);--color-surface-hover: var(--teal-200);--color-text-inverse: var(--slate-0);--color-text: var(--slate-900);--color-heading: color-mix(in oklch, var(--teal-700) 55%, var(--slate-950));--color-text-secondary: var(--slate-600);--color-text-muted: var(--slate-500);--color-header: var(--slate-900);--color-header-hover: var(--slate-950);--color-border: var(--slate-200);--color-border-action: var(--teal-600);--color-surface-sunken: var(--slate-100);--color-success: var(--green-700);--color-success-hover: var(--green-800);--color-danger: var(--red-700);--color-danger-hover: var(--red-800);--color-danger-bg: var(--red-100);--color-danger-border: var(--red-200);--color-warning: var(--amber-700);--color-warning-bg: var(--amber-100);--color-warning-accent: var(--amber-400);--color-info: var(--blue-700);--color-info-bg: var(--blue-100);--color-info-accent: var(--blue-400);--color-focus-default: var(--teal-500);--color-focus: var(--color-focus-default);--color-focus-inverse: var(--slate-0);--shadow-raised: var(--shadow-1);--shadow-popover: var(--shadow-2);--shadow-overlay: var(--shadow-3);--z-behind: -1;--z-base: 0;--z-raised: 1;--z-sticky: 50;--z-dropdown: 100;--z-header: 200;--z-backdrop: 900;--z-modal: 1000;--z-toast: 1100;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--layout-5: 1.25rem;--layout-6: 1.5rem;--layout-7: 1.75rem;--layout-8: 2rem;--layout-page-block: 2.5rem;--layout-page-inline: 1.5rem;--content-width: 1780px;--grid-gap-h: var(--space-7);--radius-item: var(--radius-1);--radius-card: var(--radius-2);--radius-panel: var(--radius-3);--radius-pill: 9999px;--font-sans: "Satoshi", system-ui, sans-serif;--font-display: "Recia", Georgia, serif;--text-xs: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.3125rem;--text-2xl: 1.5rem;--text-3xl: 1.75rem;--text-4xl: 2.25rem;--text-5xl: 2.75rem;--duration-press: var(--duration-60);--duration-state: var(--duration-150);--duration-reveal: var(--duration-200);--duration-shift: var(--duration-250);--duration-move: var(--duration-300);--height-base: 46px;--height-sm: 36px;--color-success-border: var(--green-200);--color-warning-border: var(--amber-200);--color-info-border: var(--blue-200);--color-success-bg: var(--green-100);--color-overlay: rgba(0, 0, 0, .4);--color-backdrop: color-mix(in srgb, var(--slate-900) 72%, transparent);--backdrop-blur: 4px;--icon-xs: 14px;--icon-sm: 18px;--icon-md: 20px;--icon-base: 24px;--icon-lg: 32px;--icon-xl: 48px;--height-xs: 32px;--size-count-badge: 22px;--fs-count-badge: 12px;--size-touch-target: 44px;--size-app-header: calc( var(--size-touch-target) + 2 * var(--space-2) + 1px + env(safe-area-inset-top) );--opacity-muted: .5}@media(min-width:48rem){:root{--size-app-header: calc(var(--icon-xl) + 2 * var(--space-4) + 1px + env(safe-area-inset-top));--layout-5: clamp(1.5rem, -1rem + 3.125vw, 2rem);--layout-6: clamp(2rem, -.5rem + 3.125vw, 2.5rem);--layout-7: clamp(2.5rem, -3.75rem + 7.8125vw, 3.75rem);--layout-8: clamp(3.75rem, -2.5rem + 7.8125vw, 5rem);--layout-page-block: clamp(4.5rem, -4.25rem + 10.9375vw, 6.25rem);--layout-page-inline: clamp(2.75rem, -.625rem + 7.03125vw, 5rem);--text-lg: clamp(1.125rem, -.75rem + 2.34375vw, 1.5rem);--text-xl: clamp(1.375rem, -1.75rem + 3.90625vw, 2rem);--text-2xl: clamp(1.75rem, -2rem + 4.6875vw, 2.5rem);--text-3xl: clamp(2.25rem, -2.75rem + 6.25vw, 3.25rem);--text-4xl: clamp(3rem, -7rem + 12.5vw, 5rem);--text-5xl: clamp(4.25rem, -9.5rem + 17.1875vw, 7rem)}}:root{color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}[hidden]:where(:not([hidden=until-found])){display:none!important}a,button,input,select,textarea{touch-action:manipulation}button,input,select,textarea{font-family:inherit}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100%;scrollbar-gutter:stable}@media(pointer:coarse){html:has(.app-header,.admin-shell__header){background-color:var(--color-header)}}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;min-height:100vh;overflow-x:hidden;max-width:100%}p,h1,h2,h3,h4,h5,h6,li,dt,dd,th,td,figcaption,label,legend{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.08;letter-spacing:0;color:var(--color-text)}h1{font-size:var(--text-xl);margin-block-end:var(--layout-6);color:var(--color-heading)}h2{font-size:var(--text-lg);margin-block-end:var(--space-4)}h3{font-size:var(--text-base);margin-block-end:var(--space-4);color:var(--color-text)}@media(min-width:30rem){h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}}p{margin-block-end:var(--space-4);color:var(--color-text-secondary);line-height:1.7}:where(a){color:var(--color-action-text);text-decoration:none}@media(hover:hover){:where(a:hover){text-decoration:underline}}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes heart-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes popIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes tabs-edge-fade{0%{--tabs-fade-start: 0;--tabs-fade-end: var(--space-10)}10%{--tabs-fade-start: var(--space-10)}90%{--tabs-fade-end: var(--space-10)}to{--tabs-fade-start: var(--space-10);--tabs-fade-end: 0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--btn-padding, 0 var(--space-5));height:var(--btn-height, var(--height-base));font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;text-align:center;text-decoration:none;border:1px solid var(--btn-border-color, transparent);border-radius:var(--btn-radius, var(--radius-pill));cursor:pointer;transition:background-color var(--duration-state) var(--ease-standard),border-color var(--duration-state) var(--ease-standard),color var(--duration-state) var(--ease-standard),transform var(--duration-state) var(--ease-standard),opacity var(--duration-state) var(--ease-standard);white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:normal}.btn:active:not(:disabled){transform:scale(.97);transition-duration:var(--duration-press)}.btn>*{display:flex;align-items:center;line-height:1}.btn:where(:not(.btn-icon,.btn-icon--square)){--icon-size: var(--btn-glyph, var(--icon-md))}.btn:is(:disabled,[aria-disabled=true]){opacity:.6;cursor:not-allowed;transform:none;filter:grayscale(.5)}.btn-primary{background-color:var(--color-action);color:var(--color-text)}@media(hover:hover){.btn-primary:hover:not(:disabled,[aria-disabled=true]){background-color:var(--color-action-hover)}}.btn-accent{background-color:var(--color-brand);color:var(--color-text-inverse)}@media(hover:hover){.btn-accent:hover:not(:disabled,[aria-disabled=true]){background-color:var(--color-brand-hover)}}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);--btn-border-color: var(--color-border)}@media(hover:hover){.btn-secondary:hover:not(:disabled,[aria-disabled=true]){background-color:var(--color-surface-hover);border-color:var(--color-action)}}.btn-secondary-danger{background-color:var(--color-surface);color:var(--color-danger);--btn-border-color: var(--color-border)}@media(hover:hover){.btn-secondary-danger:hover:not(:disabled,[aria-disabled=true]){background-color:var(--color-danger-bg);border-color:var(--color-danger)}}.btn-danger{background-color:var(--color-danger);color:var(--color-text-inverse)}@media(hover:hover){.btn-danger:hover:not(:disabled,[aria-disabled=true]){background-color:var(--color-danger-hover)}}.btn-ghost{background-color:transparent;color:var(--color-text-secondary)}@media(hover:hover){.btn-ghost:hover:not(:disabled,[aria-disabled=true]){background-color:var(--color-surface-hover)}}.btn-ghost-danger{background-color:transparent;color:var(--color-danger)}@media(hover:hover){.btn-ghost-danger:hover:not(:disabled,[aria-disabled=true]){background-color:var(--color-danger-bg)}}.btn-ghost-primary{background-color:transparent;color:var(--color-action-text)}@media(hover:hover){.btn-ghost-primary:hover:not(:disabled,[aria-disabled=true]){background-color:var(--color-surface-hover)}}.btn-danger-soft{background-color:var(--color-danger-bg);color:var(--color-danger);--btn-border-color: transparent}@media(hover:hover){.btn-danger-soft:hover:not(:disabled,[aria-disabled=true]){background-color:var(--color-danger-border)}}.btn-sm{--btn-height: var(--height-sm);--btn-padding: 0 var(--space-4);--btn-glyph: var(--icon-md)}.btn-xs{--btn-height: var(--height-xs);--btn-padding: 0 var(--space-2);--btn-glyph: var(--icon-sm)}.btn-icon{width:var(--btn-height, var(--height-base));--btn-padding: 0;--icon-size: var(--btn-glyph, var(--icon-base));flex-shrink:0}.btn-pill{min-width:var(--btn-height, var(--height-base));--btn-padding: 0 var(--space-2);background-color:var(--color-surface);color:var(--color-text);--btn-border-color: var(--color-border)}@media(hover:hover){.btn-pill:hover:not(:disabled,[aria-disabled=true]){border-color:var(--color-action);background-color:var(--color-surface-hover)}}.btn-pill:active:not(:disabled){background-color:var(--color-surface-hover);transition-duration:var(--duration-press)}.btn-pill[aria-expanded=true]{border-color:var(--color-action);background-color:var(--color-bg);color:var(--color-action-text)}.btn-pill__icon{font-size:var(--icon-sm);color:var(--color-action-text)}.btn-pill__label{display:none;white-space:nowrap}@container pill-slot (min-width: 10rem){.btn-pill{--btn-padding: 0 var(--space-5)}.btn-pill__label{display:inline}}@container pill-toolbar (min-width: 32rem){.btn-pill{--btn-padding: 0 var(--space-5)}.btn-pill__label{display:inline}}.link-button{padding:0;border:none;background:none;font:inherit;text-align:start;color:var(--color-action-text);cursor:pointer}@media(hover:hover){.link-button:hover{text-decoration:underline}}.form-group{display:flex;flex-direction:column}.form-label,label{display:block;margin-block-end:var(--space-1);font-weight:600;color:var(--color-text-secondary);font-size:var(--text-base);transition:color var(--duration-state) var(--ease-standard)}.form-input,input[type=text],input[type=password],input[type=email],input[type=number],select{width:100%;padding:0 var(--space-4);height:var(--height-base);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);transition:border-color var(--duration-state) var(--ease-standard),background-color var(--duration-state) var(--ease-standard),box-shadow var(--duration-state) var(--ease-standard);box-shadow:none;line-height:normal}select:not([multiple]){appearance:none;padding-inline-end:calc(var(--space-3) + var(--icon-sm) + var(--space-2));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%236a727b' d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:var(--icon-sm)}.form-input.form-input--icon{padding-inline-start:var(--space-10)}.form-input.form-input--action{padding-inline-end:calc(var(--height-sm) + var(--space-3))}.form-textarea,textarea{width:100%;padding:var(--space-3) var(--space-4);min-height:120px;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);transition:border-color var(--duration-state) var(--ease-standard),background-color var(--duration-state) var(--ease-standard),box-shadow var(--duration-state) var(--ease-standard);box-shadow:none;line-height:1.6;resize:vertical}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}@media(hover:hover){.form-input:hover:not(:disabled,:focus-visible),input[type=text]:hover:not(:disabled,:focus-visible),input[type=password]:hover:not(:disabled,:focus-visible),textarea:hover:not(:disabled,:focus-visible){border-color:var(--color-text-muted)}}.form-input:disabled,.form-textarea:disabled,input:disabled,select:disabled,textarea:disabled{background-color:var(--color-bg);border-color:var(--color-border);color:var(--color-text-muted);opacity:.7;cursor:not-allowed}.form-group:has(:disabled)>.form-label,.form-group:has(:disabled)>label{color:var(--color-text-muted)}.form-input:focus-visible,.form-textarea:focus-visible,input[type=text]:focus-visible,input[type=password]:focus-visible,input[type=email]:focus-visible,input[type=number]:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 1px var(--color-focus);outline-color:transparent;background-color:var(--color-surface)}.form-panel{display:flex;flex-direction:column;gap:var(--space-5);min-inline-size:0;margin:0;padding:var(--space-4);border:0;background-color:var(--color-surface-sunken);border-radius:var(--radius-card)}@media(min-width:48rem){.form-panel{padding:var(--space-5)}}.form-panel>legend{float:inline-start;padding:0;font-size:var(--text-lg);font-weight:600;color:var(--color-text)}.input-suffix{position:relative}.input-suffix>.form-input{padding-inline-start:var(--space-3);padding-inline-end:var(--space-10);text-align:end;font-variant-numeric:tabular-nums}.input-suffix__unit{position:absolute;inset-block:0;inset-inline-end:var(--space-3);display:flex;align-items:center;color:var(--color-text-muted);pointer-events:none}.form-fieldset{display:flex;flex-direction:column;gap:var(--space-2);min-inline-size:0;margin:0;padding:0;border:0}.form-fieldset>legend{padding:0;margin:0 0 var(--space-1)}.form-fieldset>.dialog-hint{margin:0;font-size:var(--text-xs)}.form-input[type=file]{padding-inline-start:var(--space-2);cursor:pointer}.form-input[type=file]::file-selector-button{margin-inline-end:var(--space-3);padding:var(--space-1) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);background-color:var(--color-surface);color:var(--color-text);font:inherit;font-weight:600;cursor:pointer}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;inset-inline-start:var(--space-3);color:var(--color-text-muted);font-size:var(--icon-md);pointer-events:none;transition:color var(--duration-state) var(--ease-standard)}.form-actions-bar{position:fixed;inset-inline:0;inset-block-end:0;z-index:var(--z-sticky);margin-block-end:0;background-color:var(--color-surface);border-block-start:1px solid var(--color-border);padding-block:var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));padding-inline:max(var(--layout-page-inline),env(safe-area-inset-left)) max(var(--layout-page-inline),env(safe-area-inset-right))}@media(min-width:48rem){.form-actions-bar{position:static;margin-block-end:var(--layout-6);background-color:transparent;border-block-start:none;padding:0}}:root:has(.form-actions-bar){--form-actions-bar-block-size: calc( var(--height-base) + 2 * var(--space-4) + 1px + env(safe-area-inset-bottom) );scroll-padding-block-end:calc(var(--form-actions-bar-block-size) + var(--space-6));--toast-offset-block-end: calc(var(--form-actions-bar-block-size) + var(--space-3))}@media(min-width:48rem){:root:has(.form-actions-bar){scroll-padding-block-end:0;--toast-offset-block-end: initial}}router-outlet+:has(.form-actions-bar),.edit-form.fade-in:has(.form-actions-bar){animation-name:fade}@media(min-width:48rem){router-outlet+:has(.form-actions-bar),.edit-form.fade-in:has(.form-actions-bar){animation-name:fadeIn}}body:has(.form-actions-bar){padding-block-end:var(--form-actions-bar-block-size)}@media(min-width:48rem){body:has(.form-actions-bar){padding-block-end:0}}body:has(.form-actions-bar) .app-footer{padding-block-end:var(--layout-6)}@media(min-width:48rem){body:has(.form-actions-bar) .app-footer{padding-block-end:calc(var(--layout-6) + env(safe-area-inset-bottom))}}.edit-actions-top{display:flex;gap:var(--space-4);margin-inline-start:0;justify-content:space-between;width:100%}.edit-actions-top .btn{flex:1;min-width:0}.edit-actions-top .btn-label{display:none}@media(min-width:48rem){.edit-actions-top{margin-inline-start:auto;justify-content:normal;width:auto}.edit-actions-top .btn{flex:0 1 auto;min-width:auto}.edit-actions-top .btn-label{display:flex}}.nutrient-table{margin:0;display:flex;flex-direction:column}.nutrient-table__row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;column-gap:var(--space-4);padding:var(--space-1) 0;border-block-start:1px solid var(--color-border);line-height:1.3}.nutrient-table__row:first-child{border-block-start:none}.nutrient-table__label{margin:0;color:var(--color-text-secondary);font-size:var(--text-xs)}.nutrient-table__value{margin:0;margin-inline-start:auto;font-weight:600;color:var(--color-text);white-space:nowrap;font-size:var(--text-xs);font-variant-numeric:tabular-nums}.nutrient-table__value .unit{margin-inline-start:2px;font-weight:400;color:var(--color-text-muted)}.login-wrapper{background:radial-gradient(circle at top right,var(--color-action-subtle) 0%,var(--color-bg) 60%)}.container-center{justify-content:center}.login-container{background-color:var(--color-surface);border-radius:var(--radius-panel);box-shadow:var(--shadow-overlay);padding:var(--space-7) var(--space-6);border:1px solid var(--color-border);position:relative;overflow:hidden;margin-block-start:var(--space-10)}.login-container:before{content:"";position:absolute;inset-block-start:0;inset-inline-start:0;inset-inline-end:0;height:6px;background:linear-gradient(90deg,var(--color-action) 0%,var(--color-brand) 100%)}.login-header{text-align:center;margin-block-end:var(--space-6)}.login-logo{width:62px;height:62px;display:block;margin:0 auto var(--space-4)}.login-header h1{margin-block-end:var(--space-1)}.login-header p{font-size:var(--text-base);margin-block-end:0}.login-form{text-align:start;display:flex;flex-direction:column;gap:var(--space-4)}.error-banner,.info-banner{display:flex;align-items:center;gap:var(--space-2)}.login-btn{display:flex;width:100%}.passkey-btn{background-color:transparent;color:var(--color-action-text);--btn-border-color: var(--color-border)}@media(hover:hover){.passkey-btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-action)}}.spinning{animation:spin 1s linear infinite}.info-group label{display:block;font-size:var(--text-base);color:var(--color-text-secondary);margin-block-end:var(--space-1)}.info-value{font-weight:500;color:var(--color-text);overflow-wrap:anywhere}.readonly-field{padding:var(--space-4);background-color:var(--color-surface-sunken);border-radius:var(--radius-item)}.account-danger{margin-block-start:var(--layout-5);padding-block-start:var(--space-5);border-block-start:1px solid var(--color-border)}.password-criteria{margin-block-start:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.criteria-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);transition:color var(--duration-state) var(--ease-standard),font-weight var(--duration-state) var(--ease-standard)}.criteria-item .ph{font-size:var(--icon-sm)}.criteria-item.met{color:var(--color-action-text);font-weight:500}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);overflow:hidden}.card__header{padding:var(--space-5);border-block-end:1px solid var(--color-border)}.card__body{padding:var(--space-5)}.card__image{width:100%;height:200px;object-fit:cover}.card__link{color:inherit;text-decoration:none}.card__link:after{content:"";position:absolute;inset:0;z-index:var(--z-base)}.card__link:focus-visible{border-radius:var(--radius-item)}.card__image--generated{display:flex;align-items:center;justify-content:center;color:var(--color-text-inverse);background:linear-gradient(135deg,hsl(var(--placeholder-hue, 170) 55% 52%),hsl(calc(var(--placeholder-hue, 170) + 40) 60% 42%))}.card__image-glyph{font-size:3rem;opacity:.9}.card--interactive{cursor:pointer;transition:transform var(--duration-move) var(--ease-standard),box-shadow var(--duration-move) var(--ease-standard),border-color var(--duration-move) var(--ease-standard)}@media(hover:hover){.card--interactive:hover{box-shadow:var(--shadow-popover);transform:translateY(calc(-1 * var(--space-1)));border-color:var(--color-action)}}.card--interactive:active{box-shadow:var(--shadow-raised);transform:translateY(0);transition-duration:var(--duration-press)}@media(prefers-reduced-motion:reduce){@media(hover:hover){.card--interactive:hover{transform:none}}.card--interactive:active{transform:none}}a.card--interactive{text-decoration:none;color:inherit;min-height:var(--size-touch-target)}.card--section{background-color:var(--color-surface);border-radius:var(--radius-panel);box-shadow:var(--shadow-raised)}.card--section .card__body{padding:var(--space-6)}.card--panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:none;padding:var(--layout-5);overflow:visible}.card--metric{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5)}.card--metric .card__value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.card--metric .card__label{color:var(--color-text-secondary);font-size:var(--text-base)}.card--metric .card__icon{color:var(--color-text-secondary);font-size:var(--text-xl);align-self:flex-start}.card--warning{border:1px solid var(--color-warning-border);background-color:var(--color-warning-bg)}.card--warning .card__value{color:var(--color-warning)}.card--danger{border:1px solid var(--color-danger-border);background-color:var(--color-danger-bg)}.card--danger .card__value{color:var(--color-danger)}.container{width:100%;max-width:var(--content-width);margin:0 auto;padding-block:0;padding-inline:max(var(--layout-page-inline),env(safe-area-inset-left)) max(var(--layout-page-inline),env(safe-area-inset-right));box-sizing:border-box}.columns{display:flex;flex-wrap:wrap;gap:var(--grid-gap-h);width:100%}.column{display:block;flex-shrink:0;width:100%;box-sizing:border-box}.columns--equal-cards .card{height:100%}.col-1{width:calc(100% / 4 * 1 - (var(--grid-gap-h) * 3 / 4))}.col-2{width:calc(100% / 4 * 2 - (var(--grid-gap-h) * 2 / 4))}.col-3{width:calc(100% / 4 * 3 - (var(--grid-gap-h) * 1 / 4))}.col-4,.col-12{width:100%}@media(min-width:48rem){.col-md-1{width:calc(100% / 6 * 1 - (var(--grid-gap-h) * 5 / 6))}.col-md-2{width:calc(100% / 6 * 2 - (var(--grid-gap-h) * 4 / 6))}.col-md-3{width:calc(100% / 6 * 3 - (var(--grid-gap-h) * 3 / 6))}.col-md-4{width:calc(100% / 6 * 4 - (var(--grid-gap-h) * 2 / 6))}.col-md-5{width:calc(100% / 6 * 5 - (var(--grid-gap-h) * 1 / 6))}.col-md-6{width:100%}}@media(min-width:62rem){.col-lg-1{width:calc(100% / 12 * 1 - (var(--grid-gap-h) * 11 / 12))}.col-lg-2{width:calc(100% / 12 * 2 - (var(--grid-gap-h) * 10 / 12))}.col-lg-3{width:calc(100% / 12 * 3 - (var(--grid-gap-h) * 9 / 12))}.col-lg-4{width:calc(100% / 12 * 4 - (var(--grid-gap-h) * 8 / 12))}.col-lg-5{width:calc(100% / 12 * 5 - (var(--grid-gap-h) * 7 / 12))}.col-lg-6{width:calc(100% / 12 * 6 - (var(--grid-gap-h) * 6 / 12))}.col-lg-7{width:calc(100% / 12 * 7 - (var(--grid-gap-h) * 5 / 12))}.col-lg-8{width:calc(100% / 12 * 8 - (var(--grid-gap-h) * 4 / 12))}.col-lg-9{width:calc(100% / 12 * 9 - (var(--grid-gap-h) * 3 / 12))}.col-lg-10{width:calc(100% / 12 * 10 - (var(--grid-gap-h) * 2 / 12))}.col-lg-11{width:calc(100% / 12 * 11 - (var(--grid-gap-h) * 1 / 12))}.col-lg-12{width:100%}}@media(min-width:80rem){.col-xl-1{width:calc(100% / 12 * 1 - (var(--grid-gap-h) * 11 / 12))}.col-xl-2{width:calc(100% / 12 * 2 - (var(--grid-gap-h) * 10 / 12))}.col-xl-3{width:calc(100% / 12 * 3 - (var(--grid-gap-h) * 9 / 12))}.col-xl-4{width:calc(100% / 12 * 4 - (var(--grid-gap-h) * 8 / 12))}.col-xl-5{width:calc(100% / 12 * 5 - (var(--grid-gap-h) * 7 / 12))}.col-xl-6{width:calc(100% / 12 * 6 - (var(--grid-gap-h) * 6 / 12))}.col-xl-7{width:calc(100% / 12 * 7 - (var(--grid-gap-h) * 5 / 12))}.col-xl-8{width:calc(100% / 12 * 8 - (var(--grid-gap-h) * 4 / 12))}.col-xl-9{width:calc(100% / 12 * 9 - (var(--grid-gap-h) * 3 / 12))}.col-xl-10{width:calc(100% / 12 * 10 - (var(--grid-gap-h) * 2 / 12))}.col-xl-11{width:calc(100% / 12 * 11 - (var(--grid-gap-h) * 1 / 12))}.col-xl-12{width:100%}}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.fade-in{animation:fadeIn var(--duration-shift) var(--ease-standard)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border-width:0}.icon-collapsible{transition:transform var(--duration-state) var(--ease-standard)}.icon-collapsible.expanded{transform:rotate(180deg)}.skip-link{position:absolute;inset-block-start:calc(var(--space-3) + env(safe-area-inset-top));inset-inline-start:max(var(--space-3),env(safe-area-inset-left));z-index:var(--z-toast);padding:var(--space-2) var(--space-4);border-radius:var(--radius-item);background-color:var(--color-bg);color:var(--color-action-text);font-weight:600;text-decoration:none;box-shadow:var(--shadow-popover)}.skip-link:not(:focus-visible){clip-path:inset(50%)}.ingredient-hint{font-size:var(--text-base);color:var(--color-text-muted)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);padding:var(--space-5);border-block-end:1px solid var(--color-border)}.modal-header h3{font-size:var(--text-lg);line-height:1.25;margin:0;min-width:0;align-self:center}.modal-close-btn{color:var(--color-text-muted);--btn-height: auto;--btn-padding: var(--space-2);--btn-radius: var(--radius-item);--btn-glyph: var(--icon-base);flex-shrink:0}.modal-footer>[modal-footer]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);width:100%}.dropdown-header{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);background-color:var(--color-surface);margin-block-end:var(--space-1);text-align:start}.dropdown-item{display:flex;align-items:center;gap:var(--space-2);padding:14px var(--space-4);--icon-size: var(--icon-md);width:100%;text-align:start;border:none;background:none;color:var(--color-text);font-size:var(--text-base);font-family:var(--font-sans);cursor:pointer;transition:background-color var(--duration-state) var(--ease-standard),color var(--duration-state) var(--ease-standard);text-decoration:none;box-sizing:border-box;white-space:nowrap;min-height:52px}@media(hover:hover){.dropdown-item:hover:where(:not(:disabled,[aria-disabled=true])){background-color:var(--color-surface-hover)}}.dropdown-item:active:where(:not(:disabled)){background-color:var(--color-surface-hover);transition-duration:var(--duration-press)}.dropdown-item:is(:disabled,[aria-disabled=true]){opacity:var(--opacity-muted);cursor:not-allowed}.sort-dropdown .dropdown-item{min-height:var(--height-base);--icon-size: var(--icon-sm)}.dropdown-item.is-selected{background-color:var(--color-action-subtle);color:var(--color-action-text);font-weight:600}.dropdown-item .ph{color:var(--color-text-secondary);transition:color var(--duration-state) var(--ease-standard)}.dropdown-item.is-selected .ph{color:var(--color-action-text)}.dropdown-item.danger,.dropdown-item.item-danger{color:var(--color-danger)}@media(hover:hover){:is(.dropdown-item.danger,.dropdown-item.item-danger):hover:where(:not(:disabled,[aria-disabled=true])){background-color:var(--color-danger-bg);color:var(--color-danger)}}.dropdown-divider{height:1px;background-color:var(--color-surface-sunken);margin:var(--space-1) 0}@media(min-width:48rem){.dropdown-item{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);min-height:var(--size-touch-target)}.sort-dropdown .dropdown-item{min-height:var(--size-touch-target)}}.combobox-panel{inline-size:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-popover);padding:var(--space-1) 0;max-height:280px;overflow-y:auto}.combobox-panel--inline{position:absolute;inset-block-start:calc(100% + var(--space-1));inset-inline-start:0;inset-inline-end:0;z-index:var(--z-dropdown)}.combobox-list{list-style:none;margin:0;padding:0}.combobox-group{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.combobox-option{display:flex;align-items:center;gap:var(--space-2);min-height:var(--size-touch-target);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);cursor:pointer}@media(hover:hover){.combobox-option:hover{background-color:var(--color-surface-hover)}}.combobox-option:active{background-color:var(--color-surface-hover);transition-duration:var(--duration-press)}.combobox-option--active{background-color:var(--color-surface-sunken);color:var(--color-action-text)}.combobox-option__icon{color:var(--color-action);--icon-size: var(--text-lg);flex-shrink:0}.combobox-option__text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.combobox-option__secondary{color:var(--color-text-muted)}.combobox-option--action{font-style:italic;color:var(--color-text-secondary);padding-inline-start:calc(var(--space-5) + var(--space-2))}.combobox-state{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-style:italic;font-size:var(--text-xs)}.combobox-state--loading{display:flex;flex-direction:column;gap:var(--space-2)}.combobox-state--error{color:var(--color-danger);font-style:normal}.touch-target{position:relative}.touch-target:before{content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;width:var(--size-touch-target);height:var(--size-touch-target);transform:translate(-50%,-50%)}.focus-anchor:focus-visible{outline:none}.focus-host:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 1px var(--color-focus);outline:2px solid transparent}.focus-host :is(input,textarea,select):focus-visible{outline:none;box-shadow:none}.btn-remove-label{display:inline-flex;background:none;--btn-height: auto;--btn-padding: 0;--btn-radius: 0;margin-inline-start:var(--space-1);color:var(--color-text-muted)}@media(hover:hover){.btn-remove-label:hover{color:var(--color-action-text)}}.btn-remove-label .ph{font-size:var(--icon-xs)}.chip__remove-btn{color:var(--color-text-muted)}@media(hover:hover){.chip__remove-btn:hover{color:var(--color-danger)}}.chip{background:var(--color-surface-sunken);display:inline-flex;align-items:center;max-width:100%;min-width:0;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;min-height:var(--height-xs);padding:0 var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-weight:500;transition:background-color var(--duration-reveal) var(--ease-standard),border-color var(--duration-reveal) var(--ease-standard),color var(--duration-reveal) var(--ease-standard),transform var(--duration-reveal) var(--ease-standard),opacity var(--duration-reveal) var(--ease-standard);cursor:pointer}@starting-style{.chip{opacity:0;transform:scale(.9)}}@media(hover:hover){.chip:hover{background-color:var(--color-border)}}.chip:active{background-color:var(--color-border);transform:scale(.97);transition-duration:var(--duration-press)}.chip:has(.btn-remove-label){padding-inline-end:var(--space-2)}.chip-sm{min-height:0;padding:var(--space-2) var(--space-3)}.chip-static{cursor:default}@media(hover:hover){.chip-static:hover{background-color:var(--color-surface-sunken)}}.chip-static:active{background-color:var(--color-surface-sunken);transform:none}.chip--more{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border);cursor:default}@media(hover:hover){.chip--more:hover{background:transparent;border-color:var(--color-border)}}.chip.is-selected,.chip[aria-pressed=true]{background-color:var(--color-action-subtle);color:var(--color-action-text);border-color:var(--color-action);cursor:pointer;transition:background-color var(--duration-reveal) var(--ease-standard),border-color var(--duration-reveal) var(--ease-standard),color var(--duration-reveal) var(--ease-standard)}@media(hover:hover){:is(.chip.is-selected,.chip[aria-pressed=true]):hover{background-color:var(--color-action-subtle);border-color:var(--color-action-text)}}:is(.chip.is-selected,.chip[aria-pressed=true]):active{background-color:var(--color-action-subtle);border-color:var(--color-action-text)}.chip.is-selected .btn-remove-label,.chip[aria-pressed=true] .btn-remove-label{pointer-events:none;align-items:center;background:transparent;border:none;padding:0}.chip:disabled,.chip[disabled]{opacity:.35;pointer-events:none;background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-muted)}.chip>.ph{font-size:var(--icon-sm);margin-inline-start:var(--space-1);line-height:1;height:1em}.chip-list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.tabs{display:flex;gap:var(--space-1);width:100%}.tab-btn{background:none;border:none;padding:10px var(--space-2);min-height:var(--size-touch-target);--icon-size: var(--icon-base);font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-text-muted);cursor:pointer;position:relative;transition:color var(--duration-state) var(--ease-standard);display:flex;align-items:center;gap:var(--space-2);flex:1;justify-content:center;white-space:nowrap}@media(hover:hover){.tab-btn:hover{color:var(--color-text)}}.tab-btn:active{color:var(--color-text);transition-duration:var(--duration-press)}.tab-btn:after{content:"";position:absolute;inset-block-end:-2px;inset-inline-start:0;width:100%;height:2px;background-color:var(--color-action-text);transform:scaleX(0);transition:transform var(--duration-state) var(--ease-standard)}.tab-btn.is-selected{color:var(--color-action-text)}.tab-btn.is-selected:after{transform:scaleX(1)}@media(min-width:30rem){.tab-btn{padding:10px var(--space-4);font-size:var(--text-base);flex:0 1 auto;justify-content:normal}.tabs{width:auto;gap:var(--space-4)}}@media(min-width:48rem){.tab-btn{padding:10px var(--space-3)}.tabs{gap:var(--space-2)}}.tabs--stacked-mobile{overflow-x:auto;scrollbar-width:none;padding:var(--space-1)}.tabs--stacked-mobile .tab-btn{flex:1 0 auto;flex-direction:column;gap:var(--space-1);padding:var(--space-1) var(--space-2)}@media(min-width:30rem){.tabs--stacked-mobile .tab-btn{flex:0 0 auto}}.tabs--stacked-mobile .tab-text{font-size:var(--text-xs)}.tabs--stacked-mobile .tab-btn:after{inset-block-end:0}@property --tabs-fade-start{syntax: "<length>"; inherits: false; initial-value: 0;}@property --tabs-fade-end{syntax: "<length>"; inherits: false; initial-value: 0;}@supports (animation-timeline: scroll()){.tabs--stacked-mobile{-webkit-mask-image:linear-gradient(to right,transparent,black var(--tabs-fade-start),black calc(100% - var(--tabs-fade-end)),transparent);mask-image:linear-gradient(to right,transparent,black var(--tabs-fade-start),black calc(100% - var(--tabs-fade-end)),transparent);animation:tabs-edge-fade linear both;animation-timeline:scroll(self inline);scroll-padding-inline:var(--space-10)}}@media(min-width:48rem){.tabs--stacked-mobile{overflow-x:visible;padding:0;-webkit-mask-image:none;mask-image:none;animation:none}.tabs--stacked-mobile .tab-btn{flex:0 1 auto;flex-direction:row;gap:var(--space-2);padding:10px var(--space-3)}.tabs--stacked-mobile .tab-text{font-size:inherit}.tabs--stacked-mobile .tab-btn:after{inset-block-end:-2px}}.entry-list{container:entry-list / inline-size;margin:0;padding:0;list-style:none}.entry-list__item{position:relative;display:flex;align-items:center;gap:var(--space-2);min-height:var(--size-touch-target);padding-inline-end:var(--space-2);border-block-end:1px solid var(--color-border)}@media(hover:hover){.entry-list__item:not(.entry-list__empty,[aria-hidden=true]):hover{--color-text-muted: var(--color-text-secondary)}.entry-list__item:not(.entry-list__empty,[aria-hidden=true]):not(.is-selected):hover{background:var(--color-surface-sunken)}}.entry-list__item.is-selected{--color-text-muted: var(--color-text-secondary);background:var(--color-action-subtle);border-block-end-color:color-mix(in srgb,var(--color-action-text) 30%,transparent)}.entry-list__content{display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0;min-height:var(--size-touch-target);padding:var(--space-2) var(--space-3)}.entry-list__content:has(>.entry-open){padding:0}.entry-list__actions{display:flex;flex-shrink:0;align-items:center;gap:var(--space-1)}.entry-list__head{position:sticky;inset-block-start:var(--entry-sticky-offset, 0);z-index:var(--z-raised);display:flex;align-items:center;gap:var(--space-2);min-height:var(--size-touch-target);padding-inline-end:var(--space-2);border-block-start:var(--entry-sticky-gap, 0) solid var(--entry-sticky-gap-color, var(--color-surface));border-block-end:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.entry-list__empty{justify-content:center}.entry-title{font-size:var(--text-base);font-weight:600;color:var(--color-text);overflow-wrap:break-word}.entry-meta,.entry-hint{font-size:var(--text-xs);font-weight:400;color:var(--color-text-muted)}.entry-line{display:flex;flex-direction:column;gap:var(--space-1) var(--space-3)}.entry-line>*{min-width:0}@container entry-list (min-width: 24rem){.entry-line{flex-direction:row;align-items:baseline;justify-content:space-between}.entry-line>.entry-meta{flex-shrink:0;white-space:nowrap}}.entry-hint{display:block;line-height:1.3}.entry-open{display:flex;flex:1;flex-direction:column;justify-content:center;inline-size:100%;min-width:0;min-height:var(--size-touch-target);padding:var(--space-2) var(--space-3);border:0;background:none;font:inherit;color:inherit;text-align:start;cursor:pointer}.entry-check{display:grid;flex-shrink:0;place-items:center;inline-size:var(--size-touch-target);min-block-size:var(--size-touch-target);cursor:pointer}.entry-check input,.check-input{inline-size:var(--icon-sm);block-size:var(--icon-sm);margin:0;accent-color:var(--color-action-text);cursor:pointer}.entry-marker{position:absolute;inset-block:0;inset-inline-start:0;inline-size:var(--space-2)}.entry-marker:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;inline-size:var(--space-1)}.entry-marker--info:before{background:var(--color-info-accent)}.entry-marker--warning:before{background:var(--color-warning-accent)}.entry-scroll{--entry-scroll-cap: 360px;position:relative;max-block-size:var(--entry-scroll-cap);overflow-y:auto;scrollbar-gutter:stable}.entry-scroll--reserved{block-size:var(--entry-scroll-cap)}.list-toolbar{display:flex;flex-direction:column;gap:var(--space-3);margin-block-end:var(--space-5)}.list-toolbar__create{align-self:flex-start}.list-toolbar__find{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.list-toolbar__search{flex:1 1 200px}.entry-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-base)}.entry-table th,.entry-table td{padding:var(--space-2) var(--space-3);text-align:start;vertical-align:middle;border-block-end:1px solid var(--color-border);max-width:24ch;overflow-wrap:break-word}.entry-table th{position:sticky;inset-block-start:var(--entry-sticky-offset, 0);z-index:var(--z-raised);border-block-start:var(--entry-sticky-gap, 0) solid var(--entry-sticky-gap-color, var(--color-surface));background:var(--color-surface);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);overflow-wrap:normal}.entry-table th.entry-cell--sortable{padding-block:0}@media(hover:hover){.entry-table__row:hover>td{--color-text-muted: var(--color-text-secondary)}.entry-table__row:not(.is-selected):hover>td{background:var(--color-surface-sunken)}}.entry-table__row.is-selected>td{--color-text-muted: var(--color-text-secondary);background:var(--color-action-subtle);border-block-end-color:color-mix(in srgb,var(--color-action-text) 30%,transparent)}.entry-cell--title{font-weight:600;color:var(--color-text)}.entry-cell--end{text-align:end}.entry-cell--num{font-variant-numeric:tabular-nums}.entry-cell--narrow{width:8rem}.entry-cell--nowrap{white-space:nowrap}.entry-table :is(th,td).entry-cell--fill{width:100%;max-width:none}td:has(>.entry-open){padding:0}.entry-table th.entry-cell--sorted{background:var(--color-bg)}.table-sort{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--size-touch-target);padding:0;border:none;background:none;font:inherit;text-transform:inherit;color:inherit;cursor:pointer}@media(hover:hover){.table-sort:hover:not(:disabled,[aria-disabled=true]){color:var(--color-text)}}.table-sort:disabled,.table-sort[aria-disabled=true]{cursor:default}.table-sort__icon{font-size:var(--icon-sm)}.table-sort__icon--off{visibility:hidden}.badge{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:600;white-space:nowrap;border-radius:var(--radius-pill);background-color:var(--color-surface);color:var(--color-text-secondary);padding:var(--space-1) var(--space-2)}.badge--xs{font-size:var(--text-xs);padding:1px var(--space-2);border-radius:var(--radius-item)}.badge--primary{background-color:var(--color-action-subtle);color:var(--color-action-text)}.badge--neutral{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.filter-count-badge{display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-action-subtle);color:var(--color-action-text);border-radius:var(--radius-pill);min-width:18px;height:18px;padding:0 calc(var(--space-1) - .375px) 0 calc(var(--space-1) + .375px);font-size:var(--text-xs);font-weight:700;line-height:18px}.btn-primary .filter-count-badge{background-color:var(--color-surface);color:var(--color-action-text)}@media(hover:hover){.btn-pill:hover:not(:disabled,[aria-disabled=true]) .filter-count-badge{background-color:var(--color-action);color:var(--color-text)}}.btn-pill:active:not(:disabled) .filter-count-badge{background-color:var(--color-action);color:var(--color-text)}.count-badge{display:grid;grid-auto-flow:column;place-content:center;place-items:center;box-sizing:border-box;flex:0 0 auto;width:var(--size-count-badge);height:var(--size-count-badge);padding:0;border-radius:var(--radius-pill);background-color:var(--color-brand);color:var(--color-text-inverse);font-size:11px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}.count-badge:not(.count-badge--overlay.count-badge--compact){padding-inline-start:.5px}.count-badge--compact{font-size:10px}.count-badge--overlay{position:absolute;inset-block-start:0;inset-inline-end:0;width:18px;height:18px;font-size:11px;pointer-events:none}.count-badge--overlay.count-badge--compact{font-size:8px;letter-spacing:-.04em}.status-dot{display:inline-block;flex-shrink:0;width:8px;height:8px;border-radius:var(--radius-pill);background-color:var(--color-text-muted)}.status-dot--active{background-color:var(--color-success)}.state-block{padding:var(--space-5);border-radius:var(--radius-item);background-color:var(--color-bg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.empty-state{text-align:center;padding:var(--space-10);background-color:var(--color-surface);border-radius:var(--radius-card);margin-block-start:var(--layout-6);border:1px solid transparent}.empty-state__icon{margin-block-end:var(--space-5);opacity:var(--opacity-muted)}.empty-state--pending{border:1px dashed var(--color-border);background-color:var(--color-bg)}.empty-message{padding:var(--space-5) var(--space-4);text-align:center;color:var(--color-text-muted)}.empty-state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}.status-box{padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);border:1px solid transparent}.status-message{font-size:var(--text-base);margin:0}.tone-danger{color:var(--color-danger)}.status-box.tone-danger,.empty-state.tone-danger,.badge.tone-danger{background-color:var(--color-danger-bg);border-color:var(--color-danger-border)}.tone-warning{color:var(--color-warning)}.status-box.tone-warning,.empty-state.tone-warning,.badge.tone-warning{background-color:var(--color-warning-bg);border-color:var(--color-warning-border)}.tone-success{color:var(--color-success)}.status-box.tone-success,.empty-state.tone-success,.badge.tone-success{background-color:var(--color-success-bg);border-color:var(--color-success-border)}.tone-info{color:var(--color-info)}.status-box.tone-info,.empty-state.tone-info,.badge.tone-info{background-color:var(--color-info-bg);border-color:var(--color-info-border)}.section-head{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4)}@media(min-width:48rem){.section-head{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}}.section-head--compact{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.btn-icon-header{background-color:color-mix(in srgb,var(--color-surface) 10%,transparent);color:var(--color-text-inverse)}.btn-icon-header:focus-visible{background-color:var(--color-action-text);color:var(--color-text-inverse)}@media(hover:hover){.btn-icon-header:hover{background-color:var(--color-action-text);color:var(--color-text-inverse)}}.btn-icon-header:active{background-color:var(--color-action-hover)}.header-control,.header-control-small{--btn-height: var(--size-touch-target);--btn-glyph: var(--icon-md);min-width:var(--btn-height);padding:var(--space-1);background-clip:content-box}@media(min-width:48rem){.header-control{--btn-height: initial;--btn-glyph: initial;min-width:auto;padding:0;background-clip:border-box}}.link-tiles{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.link-tiles a{display:block;padding:var(--space-4);border-radius:var(--radius-item);background-color:var(--color-bg);color:var(--color-action-text);text-decoration:none}@media(hover:hover){.link-tiles a:hover{background-color:var(--color-surface-hover)}}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media(min-width:48rem){.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;column-gap:var(--space-4);row-gap:var(--space-2);margin-block-end:var(--layout-6)}.page-head h1{display:flex;align-items:center;min-height:var(--size-touch-target);margin:0}.filter-bar{display:flex;flex-direction:column;gap:var(--space-3);margin-block-end:var(--layout-5)}@media(min-width:48rem){.filter-bar{flex-direction:row;align-items:center;flex-wrap:wrap}}.filter-bar>.input-with-icon{width:100%}.filter-bar__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.range-picker{display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap}.range-picker__field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-base);color:var(--color-text-secondary)}.range-picker__field input{min-height:var(--size-touch-target)}.rank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.rank-list__item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.rank-list__label{min-width:0;overflow-wrap:anywhere}.rank-list__count{font-variant-numeric:tabular-nums;font-weight:600;flex-shrink:0}.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.feed__entry{border-block-end:1px solid var(--color-border)}.feed__entry:last-child{border-block-end:none}.feed__row{width:100%;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-2);background:none;border:none;cursor:pointer;text-align:start;font-size:var(--text-base);min-height:var(--size-touch-target)}.feed__row:focus-visible{background-color:var(--color-bg)}@media(hover:hover){.feed__row:hover{background-color:var(--color-bg)}}.feed__row:active{background-color:var(--color-surface-hover);transition-duration:var(--duration-press)}.feed__row--static{cursor:default;min-height:0}.feed__row--static:focus-visible{background-color:transparent}@media(hover:hover){.feed__row--static:hover{background-color:transparent}}.feed__chevron{transition:transform var(--duration-state) var(--ease-standard);display:inline-block}.feed__chevron--open{transform:rotate(90deg)}.feed__event{font-weight:600;min-width:0}.feed__meta{color:var(--color-text-secondary);min-width:0;overflow-wrap:anywhere}.feed__error{color:var(--color-danger)}.feed__time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.feed__detail{margin:0 0 var(--space-3);padding:var(--space-4);background-color:var(--color-action-text);color:var(--color-text-inverse);border-radius:var(--radius-item);overflow-x:auto;font-family:monospace;font-size:var(--text-xs);white-space:pre-wrap}.feed__row{flex-wrap:wrap}.feed__time{margin-inline-start:0}@media(min-width:48rem){.feed__row{flex-wrap:nowrap}.feed__time{margin-inline-start:auto}}.load-more{width:100%;margin-block-start:var(--layout-5)}@media(min-width:48rem){.load-more{width:auto}}.dialog-form{display:flex;flex-direction:column;gap:var(--space-5)}.dialog-hint{margin:var(--space-5) 0 0;font-size:var(--text-base);color:var(--color-text-secondary)}.form-group .dialog-hint{margin-block-start:var(--space-1);font-size:var(--text-xs)}.dialog-split{container-type:inline-size}.dialog-split__body{display:flex;flex-direction:column;gap:var(--space-8)}@container (min-width: 40rem){.dialog-split__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:var(--layout-7)}}.dialog-split__column{display:flex;flex-direction:column;gap:var(--space-5)}.promote-stats{display:flex;flex-direction:column;margin-block-start:var(--space-5);border-block:1px solid var(--color-border)}.promote-stat{display:grid;grid-template-columns:auto 1fr auto var(--icon-sm);align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.promote-stat__icon{--icon-size: var(--icon-md);color:var(--color-text-muted)}.promote-stat+.promote-stat{border-block-start:1px solid var(--color-border)}.promote-stats__value{order:1;justify-self:end;font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums}.promote-stats__label{font-size:var(--text-xs);color:var(--color-text-secondary)}.recipe-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.image-preview{width:100%;object-fit:cover;display:block}.btn-like{--btn-height: auto;--btn-padding: var(--space-1);background-color:transparent;color:var(--color-text-secondary);flex-shrink:0}@media(hover:hover){.btn-like:hover{background-color:var(--color-brand-subtle);color:var(--color-brand)}}.btn-like.is-liked{color:var(--color-brand)}.btn-like .ph{transition:color var(--duration-state) var(--ease-standard),transform var(--duration-state) var(--ease-standard)}.btn-like.is-liked .ph,.count-badge--bump{animation:heart-pop var(--duration-move) var(--ease-overshoot)}router-outlet+*{display:block}router-outlet+:not(.page-entry-per-block){animation:fadeIn var(--duration-shift) var(--ease-standard)}.corner-badge{position:absolute;inset-block-start:18px;inset-inline-start:calc(-1 * var(--space-8));z-index:var(--z-raised);width:130px;transform:rotate(-45deg);text-align:center;padding:var(--space-1) 0;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);box-shadow:var(--shadow-raised);pointer-events:none}.corner-badge.copy-badge{background-color:var(--color-info-accent)}.corner-badge.variation-badge{background-color:var(--color-warning-accent)}body:has(app-shopping-list-add-bar){--add-bar-block-size: calc( 3 * var(--space-3) + 2 * var(--height-base) + 1px + env(safe-area-inset-bottom) );--toast-offset-block-end: calc(var(--add-bar-block-size) + var(--space-3));padding-block-end:var(--add-bar-block-size)}@media(min-width:48rem){body:has(app-shopping-list-add-bar){--toast-offset-block-end: initial;padding-block-end:0}}body:has(app-shopping-list-add-bar) .app-footer{padding-block-end:var(--layout-6)}@media(min-width:48rem){body:has(app-shopping-list-add-bar) .app-footer{padding-block-end:calc(var(--layout-6) + env(safe-area-inset-bottom))}}html{scroll-padding-block-start:var(--size-app-header)}.overview-table{--entry-sticky-gap-color: var(--color-bg);padding-block-end:var(--space-4);border-radius:0 0 var(--radius-card) var(--radius-card);background-color:var(--color-surface)}@media(min-width:48rem){.overview-table{--entry-sticky-gap-color: var(--color-surface);padding:var(--layout-5);border:1px solid var(--color-border);border-radius:var(--radius-card)}}.overview-table__table{--entry-sticky-offset: var(--size-app-header);--entry-sticky-gap: var(--space-3);margin-block-start:calc(-1 * var(--space-3))}.overview-table__text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.overview-table__name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.overview-table__name--narrow{-webkit-line-clamp:3;line-clamp:3}.overview-table__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:400;color:var(--color-text-secondary)}.overview-table__meta-item{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.overview-table__meta-item .ph{font-size:var(--icon-xs);color:var(--color-text-muted)}.btn-icon-edit{color:var(--color-text-muted)}.btn-icon-edit:focus-visible{background-color:var(--color-bg);color:var(--color-action-text)}.btn-icon-edit:active{background-color:var(--color-surface-hover)}.title-name-input{font:inherit;padding:0;border:none;border-block-end:2px solid var(--color-action);background:transparent;color:inherit;width:fit-content;min-width:min(300px,100%);max-width:100%}
